/* ===== index ===== */
/* ---- home only ---- */
.hero{display:grid;grid-template-columns:.88fr 1.12fr;min-height:min(86vh,860px)}
.hero__panel{background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,5.5vw,88px) clamp(26px,4.4vw,72px)}
.hero__panel h1{margin:22px 0 24px;color:#fff}
.hero__rule{width:52px;height:1px;background:rgba(255,255,255,.35);margin-bottom:30px}
.hero__media{position:relative;overflow:hidden;background:var(--mist)}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:0}.hero__media{aspect-ratio:4/3.4;order:-1}}

.statement{padding-block:clamp(70px,8.5vw,126px)}
.statement__line{max-width:20ch;margin-bottom:clamp(44px,5.2vw,72px)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.4vw,56px)}
@media(max-width:800px){.facts{grid-template-columns:1fr;gap:30px}}
.fact{border-top:1px solid var(--line);padding-top:22px}
.fact h4{font-family:var(--display);font-weight:400;font-size:23px;margin-bottom:8px;line-height:1.2}
.fact p{font-size:15.5px;color:var(--grey);max-width:38ch;line-height:1.7}

.collection{padding-bottom:clamp(74px,9vw,132px)}
.sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.sechead h2{margin-top:16px}
.sechead .note{max-width:36ch}
.pieces{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px)}
@media(max-width:860px){.pieces{grid-template-columns:1fr;gap:44px}}

.craft{background:var(--mist);padding-block:clamp(70px,8.5vw,126px)}
.craft .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,80px);align-items:center}
@media(max-width:900px){.craft .wrap{grid-template-columns:1fr;gap:38px}}
.craft h2{margin:20px 0 22px}
.detail{position:relative}

.editorial{position:relative;min-height:clamp(400px,50vw,600px);display:grid;align-items:end;overflow:hidden}
.editorial>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.editorial::after{
  content:"";position:absolute;inset:0;
  /* vertical wash for the copy at the foot, plus a left-hand gradient so
     the text column stays legible over the bright part of the photograph */
  background:
    linear-gradient(to right,rgba(18,27,38,.72) 0%,rgba(18,27,38,.5) 42%,rgba(18,27,38,.12) 72%,rgba(18,27,38,0) 100%),
    linear-gradient(to top,rgba(18,27,38,.86) 0%,rgba(18,27,38,.42) 42%,rgba(18,27,38,.10) 78%);
}
.editorial .wrap{position:relative;z-index:2;padding-block:clamp(44px,5.5vw,74px);color:#fff}
.editorial__copy{max-width:52ch;text-align:left}
.editorial .btn-row{justify-content:flex-start}
.editorial h2{color:#fff;margin:18px 0 20px;max-width:15ch;text-align:left}

.fabrics{padding-block:clamp(74px,9vw,130px)}
.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(10px,1.4vw,20px)}
@media(max-width:1000px){.swatches{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.swatches{grid-template-columns:repeat(3,1fr)}}
.sw img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--mist)}
.sw b{display:block;font-family:var(--display);font-weight:400;font-size:17px;margin-top:12px;line-height:1.15}
.sw small{display:block;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-lt);margin-top:5px}

.closing{background:var(--mist);color:var(--text);padding-block:clamp(74px,9vw,124px);border-top:1px solid var(--line)}
.closing .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;flex-wrap:wrap}
.closing h2{max-width:12ch;margin-top:18px}
.closing .lede{margin-bottom:28px}

/* ===== shop ===== */
/* ---- shop only ---- */
.shophead{padding-block:clamp(30px,4vw,54px) clamp(34px,4.4vw,58px);border-bottom:1px solid var(--line)}
.shophead .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.shophead h1{margin-top:16px;max-width:16ch}
.shophead .note{max-width:38ch}

.toolbar{border-bottom:1px solid var(--line)}
.toolbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:18px;flex-wrap:wrap}
.filters{display:flex;gap:10px;flex-wrap:wrap}
.chip{
  border:1px solid var(--line-mid);background:none;cursor:pointer;
  padding:10px 20px;font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);
  transition:background .3s ease,color .3s ease,border-color .3s ease;
}
.chip:hover{border-color:var(--navy);color:var(--navy)}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.count{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-lt)}

.grid{padding-block:clamp(40px,5vw,72px) clamp(70px,8.5vw,124px)}
.products{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,2.6vw,42px) clamp(18px,2.2vw,32px)}
@media(max-width:980px){.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.products{grid-template-columns:1fr;gap:44px}}
.card{display:block}
.card[hidden]{display:none}

/* placeholder tile for pieces without photography */
.ph{
  aspect-ratio:4/5;background:var(--mist);display:grid;place-items:center;text-align:center;
  color:var(--grey-lt);font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:24px;
}
.ph span{display:block;max-width:18ch;line-height:2}

.shopnote{background:var(--mist);padding-block:clamp(56px,6.5vw,92px)}
.shopnote .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,70px);align-items:center}
@media(max-width:820px){.shopnote .wrap{grid-template-columns:1fr;gap:26px}}
.shopnote h2{margin:16px 0 18px}

/* ===== fabrics ===== */
/* ---- fabrics page ---- */
.fhead{padding-block:clamp(28px,3.6vw,50px) clamp(32px,4vw,54px);border-bottom:1px solid var(--line)}
.fhead .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.fhead h1{margin-top:16px;max-width:14ch}
.fhead .note{max-width:40ch}

.libr{padding-block:clamp(32px,4vw,56px) clamp(70px,8.5vw,120px)}
.libr .wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(28px,4vw,72px);align-items:start}
@media(max-width:940px){.libr .wrap{grid-template-columns:1fr;gap:30px}}

/* sticky preview */
.preview{position:sticky;top:138px}
@media(max-width:940px){.preview{position:static}}
.preview__stack{position:relative}
.preview__swatch{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--mist)}
.preview__drape{position:absolute;right:14px;bottom:14px;width:29%;max-width:130px}
.preview__drape img{width:100%;aspect-ratio:1/1;object-fit:cover;box-shadow:0 8px 24px -12px rgba(18,27,38,.55),inset 0 0 0 1px rgba(255,255,255,.45)}
.preview__drape figcaption{font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-align:center;margin-top:-20px;position:relative;z-index:2;text-shadow:0 1px 6px rgba(18,27,38,.7);padding-bottom:6px}
@media(max-width:560px){.preview__drape{width:34%}}
.preview__name{font-family:var(--display);font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.05;margin-top:26px}
.preview__mill{font-size:14.5px;color:var(--grey-lt);margin-top:8px;font-style:italic}
.preview__meta{list-style:none;border-top:1px solid var(--line);margin-top:24px}
.preview__meta li{display:flex;gap:16px;padding-block:13px;border-bottom:1px solid var(--line);font-size:15.5px}
.preview__meta .k{flex:0 0 40%;font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-lt);padding-top:3px}
.preview__meta .v{color:var(--grey)}
.preview__meta .v b{font-family:var(--display);font-weight:400;font-size:18px;color:var(--navy)}

/* collection tabs */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.tab{
  border:1px solid var(--line-mid);background:none;cursor:pointer;padding:11px 20px;
  font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);
  transition:background .3s ease,color .3s ease,border-color .3s ease;
}
.tab:hover{border-color:var(--navy);color:var(--navy)}
.tab[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}

/* swatch grid */
.swgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,22px)}
@media(max-width:1100px){.swgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.swgrid{grid-template-columns:repeat(2,1fr)}}
.swtile{background:none;border:none;padding:0;cursor:pointer;text-align:left;display:block}
.swtile[hidden]{display:none}
.swtile__img{position:relative;overflow:hidden;background:var(--mist)}
.swtile__img img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.swtile:hover .swtile__img img{transform:scale(1.05)}
.swtile__img::after{
  content:"";position:absolute;inset:0;border:1px solid var(--navy);
  opacity:0;transition:opacity .3s ease;
}
.swtile[aria-pressed="true"] .swtile__img::after{opacity:1}
.swtile b{display:block;font-family:var(--display);font-weight:400;font-size:18px;margin-top:14px;line-height:1.15}
.swtile small{display:block;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-lt);margin-top:6px}

.grouphead{
  grid-column:1/-1;display:flex;align-items:baseline;gap:18px;
  padding-top:clamp(18px,2.4vw,34px);
}
.grouphead:first-child{padding-top:0}
.grouphead[hidden]{display:none}
.grouphead h2{font-family:var(--display);font-weight:400;font-size:clamp(20px,2.1vw,26px);white-space:nowrap}
.grouphead .rule{flex:1;height:1px;background:var(--line)}
.grouphead span{font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-lt);white-space:nowrap}

/* price table */
.pricing{background:var(--mist);padding-block:clamp(64px,8vw,110px)}
.pricing .sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:26px;flex-wrap:wrap;margin-bottom:clamp(28px,3.4vw,46px)}
.pricing .sechead h2{margin-top:14px}
.pricing .sechead .note{max-width:36ch}
.ptable{width:100%;border-collapse:collapse;background:#fff}
.ptable th,.ptable td{padding:19px 22px;text-align:left;border-bottom:1px solid var(--line);font-size:15.5px}
.ptable thead th{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-lt);font-weight:500}
.ptable tbody th{font-weight:400;font-family:var(--display);font-size:19px;color:var(--text)}
.ptable td{font-family:var(--display);font-size:18px;color:var(--navy)}
.ptable tbody tr:last-child th,.ptable tbody tr:last-child td{border-bottom:none}
.ptable small{display:block;font-family:var(--sans);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-lt);margin-top:4px}
@media(max-width:700px){
  .ptable thead{display:none}
  .ptable tbody th,.ptable td{display:block;padding:12px 18px;border:none}
  .ptable tbody th{padding-top:20px}
  .ptable td::before{content:attr(data-l);display:block;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-lt);margin-bottom:3px}
  .ptable tbody tr{display:block;border-bottom:1px solid var(--line)}
  .ptable tbody tr:last-child{border-bottom:none}
}

/* care band */
.care{padding-block:clamp(64px,8vw,112px)}
.care .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4.5vw,76px);align-items:center}
@media(max-width:900px){.care .wrap{grid-template-columns:1fr;gap:32px}}
.care h2{margin:16px 0 20px}
.care img{width:100%;aspect-ratio:4/3;object-fit:cover}

.closing{background:var(--mist);color:var(--text);padding-block:clamp(70px,8.5vw,120px);border-top:1px solid var(--line)}
.closing .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;flex-wrap:wrap}
.closing h2{max-width:13ch;margin-top:18px}
.closing .lede{margin-bottom:28px}

/* ===== care ===== */
/* ---- care guide ---- */
.chead{padding-block:clamp(28px,3.6vw,50px) clamp(34px,4.2vw,58px);border-bottom:1px solid var(--line)}
.chead .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.chead h1{margin-top:16px;max-width:15ch}
.chead .note{max-width:40ch}
.chead .buy__tag{font-family:var(--display);font-size:20px;font-style:italic;color:var(--navy);margin-top:14px}

/* jump nav */
.jump{border-bottom:1px solid var(--line);position:sticky;top:114px;z-index:40;background:rgba(255,255,255,.95);backdrop-filter:saturate(160%) blur(12px)}
@media(max-width:980px){.jump{top:88px}}
.jump .wrap{display:flex;gap:10px;flex-wrap:wrap;padding-block:16px}
.jump a{
  border:1px solid var(--line-mid);padding:9px 18px;
  font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);
  transition:background .3s ease,color .3s ease,border-color .3s ease;
}
.jump a:hover{border-color:var(--navy);background:var(--navy);color:#fff}

/* video */
.filmwrap{padding-block:clamp(44px,5.5vw,80px)}
.film{position:relative;background:var(--ink);overflow:hidden}
.film video{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;background:var(--ink)}
.film__cap{
  display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;
  padding-top:14px;font-size:12.5px;color:var(--grey-lt);letter-spacing:.04em;
}
.film__cap a{color:var(--navy);border-bottom:1px solid var(--line-mid)}

/* the method: sticky kit + steps */
.method{padding-bottom:clamp(64px,8vw,110px)}
.method .wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(30px,4.5vw,76px);align-items:start}
@media(max-width:900px){.method .wrap{grid-template-columns:1fr;gap:34px}}

.kit{position:sticky;top:170px;background:var(--mist);padding:clamp(24px,2.6vw,34px)}
@media(max-width:900px){.kit{position:static}}
.kit h3{font-family:var(--display);font-weight:400;font-size:23px;margin:14px 0 6px}
.kit p{font-size:14.5px;color:var(--grey);line-height:1.65;margin-bottom:20px}
.kit ul{list-style:none;border-top:1px solid var(--line)}
.kit li{display:flex;gap:14px;align-items:flex-start;padding-block:14px;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--grey)}
.kit li i{
  flex:0 0 auto;width:22px;height:22px;border:1px solid var(--line-mid);border-radius:50%;
  display:grid;place-items:center;font-style:normal;font-size:10.5px;font-weight:500;color:var(--navy);
}
.kit li b{color:var(--text);font-weight:400}
.kit .opt-flag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-lt);display:block;margin-top:3px}

.care-steps{list-style:none;counter-reset:s}
.care-steps>li{
  counter-increment:s;position:relative;padding-left:74px;
  padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line);
}
.care-steps>li:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.care-steps>li::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-2px;
  font-family:var(--display);font-size:30px;font-weight:400;color:var(--navy);line-height:1;
}
.care-steps h4{font-family:var(--display);font-weight:400;font-size:23px;margin-bottom:8px;line-height:1.2}
.care-steps p{font-size:16px;color:var(--grey);line-height:1.72;max-width:52ch}
@media(max-width:520px){.steps>li{padding-left:54px}.steps>li::before{font-size:24px}}

.callout{background:var(--navy);color:#fff;padding:clamp(26px,3vw,40px);margin-top:clamp(34px,4vw,54px)}
.callout h4{font-family:var(--display);font-weight:400;font-size:clamp(21px,2.2vw,27px);margin-bottom:12px;color:#fff}
.callout p{color:rgba(255,255,255,.84);font-size:16px;line-height:1.72;max-width:54ch}
.callout p+p{margin-top:12px}

/* material sections */
.mat{padding-block:clamp(64px,8vw,110px);border-top:1px solid var(--line)}
.mat--alt{background:var(--mist);border-top:none}
.mat .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4.5vw,76px);align-items:center}
@media(max-width:900px){.mat .wrap{grid-template-columns:1fr;gap:32px}}
.mat h2{margin:16px 0 20px}
.mat img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rules{list-style:none;margin-top:22px;border-top:1px solid var(--line)}
.rules li{display:flex;gap:16px;padding-block:14px;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--grey);line-height:1.6}
.rules .k{flex:0 0 26%;font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-lt);padding-top:3px}
.mat--alt .rules li,.mat--alt .rules{border-color:rgba(30,47,69,.16)}

.closing{background:var(--mist);color:var(--text);padding-block:clamp(70px,8.5vw,120px);border-top:1px solid var(--line)}
.closing .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;flex-wrap:wrap}
.closing h2{max-width:15ch;margin-top:18px}
.closing .lede{margin-bottom:28px}

/* ===== faqs ===== */
/* ---- FAQs ---- */
.fhead{padding-block:clamp(28px,3.6vw,50px) clamp(34px,4.2vw,58px);border-bottom:1px solid var(--line)}
.fhead .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.fhead h1{margin-top:16px;max-width:14ch}
.fhead .note{max-width:38ch}

.faqs{padding-block:clamp(40px,5vw,72px) clamp(64px,8vw,110px)}
.faqs .wrap{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(30px,4.5vw,80px);align-items:start}
@media(max-width:940px){.faqs .wrap{grid-template-columns:1fr;gap:28px}}

/* sticky index */
.faqnav{position:sticky;top:138px}
@media(max-width:940px){.faqnav{position:static}}
.faqnav p.eyebrow{margin-bottom:16px}
.faqnav ol{list-style:none;counter-reset:n;border-top:1px solid var(--line)}
.faqnav li{counter-increment:n;border-bottom:1px solid var(--line)}
.faqnav a{display:flex;gap:14px;align-items:baseline;padding-block:13px;font-size:15px;color:var(--grey);transition:color .3s ease}
.faqnav a::before{
  content:counter(n,decimal-leading-zero);flex:0 0 auto;
  font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--grey-lt);
}
.faqnav a:hover,.faqnav a:hover::before{color:var(--navy)}

/* groups */
.faqgroup{margin-bottom:clamp(34px,4vw,56px);scroll-margin-top:150px}
.faqgroup:last-of-type{margin-bottom:0}
.faqgroup__head{display:flex;align-items:baseline;gap:16px;margin-bottom:10px}
.faqgroup__num{font-family:var(--display);font-size:clamp(18px,1.9vw,22px);font-weight:400;color:var(--navy);line-height:1;flex:0 0 auto}
.faqgroup h2{font-family:var(--display);font-weight:400;font-size:clamp(21px,2.3vw,28px);line-height:1.15;letter-spacing:-.012em}
.faqgroup__rule{flex:1;height:1px;background:var(--line)}

.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{
  list-style:none;cursor:pointer;padding-block:22px;
  display:flex;justify-content:space-between;align-items:flex-start;gap:24px;
  font-family:var(--display);font-size:clamp(17.5px,1.7vw,21px);font-weight:400;line-height:1.3;
}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{
  content:"+";flex:0 0 auto;font-family:var(--sans);font-size:20px;font-weight:200;
  color:var(--navy);line-height:1;padding-top:4px;transition:transform .35s ease;
}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc__body{padding-bottom:26px;max-width:60ch}
.acc__body p{font-size:16px;color:var(--grey);line-height:1.78;margin-bottom:12px}
.acc__body p:last-child{margin-bottom:0}
.acc__body strong{color:var(--text);font-weight:400}
.acc__body a{color:var(--navy);border-bottom:1px solid var(--line-mid)}

.closing{background:var(--mist);color:var(--text);padding-block:clamp(70px,8.5vw,120px);border-top:1px solid var(--line)}
.closing .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;flex-wrap:wrap}
.closing h2{max-width:14ch;margin-top:18px}
.closing .lede{margin-bottom:28px}

/* ===== terms ===== */
/* ---- legal document ---- */
.lhead{padding-block:clamp(28px,3.6vw,50px) clamp(34px,4.2vw,58px);border-bottom:1px solid var(--line)}
.lhead .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.lhead h1{margin-top:16px;max-width:16ch}
.lhead .note{max-width:38ch}

.legal-doc{padding-block:clamp(40px,5vw,72px) clamp(64px,8vw,110px)}
.legal-doc .wrap{display:grid;grid-template-columns:.68fr 1.32fr;gap:clamp(30px,4.5vw,80px);align-items:start}
@media(max-width:940px){.legal-doc .wrap{grid-template-columns:1fr;gap:30px}}

/* contents */
.toc{position:sticky;top:138px}
@media(max-width:940px){.toc{position:static}}
.toc p.eyebrow{margin-bottom:16px}
.toc ol{list-style:none;counter-reset:t;border-top:1px solid var(--line)}
.toc li{counter-increment:t;border-bottom:1px solid var(--line)}
.toc a{
  display:flex;gap:14px;align-items:baseline;padding-block:13px;
  font-size:15px;color:var(--grey);transition:color .3s ease;
}
.toc a::before{
  content:counter(t,decimal-leading-zero);
  flex:0 0 auto;font-family:var(--sans);font-size:11px;font-weight:500;
  letter-spacing:.12em;color:var(--grey-lt);
}
.toc a:hover{color:var(--navy)}
.toc a:hover::before{color:var(--navy)}

/* sections */
.lsec{margin-bottom:clamp(38px,4.4vw,62px);scroll-margin-top:146px}
.lsec:last-of-type{margin-bottom:0}
.lsec__head{display:flex;align-items:baseline;gap:16px;margin-bottom:22px}
.lsec__num{
  font-family:var(--display);font-size:clamp(19px,2vw,24px);font-weight:400;
  color:var(--navy);line-height:1;flex:0 0 auto;
}
.lsec h2{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.4vw,30px);line-height:1.15;letter-spacing:-.008em}
.lsec__rule{flex:1;height:1px;background:var(--line)}

.clause{display:flex;gap:20px;padding-block:15px;border-bottom:1px solid var(--line)}
.clause:first-of-type{border-top:1px solid var(--line)}
.clause__n{
  flex:0 0 52px;font-family:var(--sans);font-size:12.5px;font-weight:500;
  letter-spacing:.06em;color:var(--grey-lt);padding-top:4px;
}
.clause__t{font-size:16px;color:var(--grey);line-height:1.72;max-width:60ch}
.clause__t ul{list-style:none;margin-top:10px}
.clause__t ul li{position:relative;padding-left:20px;margin-bottom:7px}
.clause__t ul li::before{
  content:"";position:absolute;left:0;top:11px;width:8px;height:1px;background:var(--line-mid);
}
.clause__t strong{color:var(--text);font-weight:400}
@media(max-width:560px){
  .clause{flex-direction:column;gap:4px}
  .clause__n{padding-top:0}
}

.lsec--plain .clause__n{flex-basis:0}
.lsec--plain .clause{gap:0}

.closing{background:var(--mist);color:var(--text);padding-block:clamp(70px,8.5vw,120px);border-top:1px solid var(--line)}
.closing .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;flex-wrap:wrap}
.closing h2{max-width:14ch;margin-top:18px}
.closing .lede{margin-bottom:28px}

/* ===== product-daybed ===== */
/* ---- product only ---- */
.pdp{padding-block:8px clamp(64px,7.5vw,104px)}
.pdp .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,4.5vw,76px);align-items:start}
@media(max-width:940px){.pdp .wrap{grid-template-columns:1fr;gap:34px}}

/* gallery */
.gal{position:sticky;top:130px}
@media(max-width:940px){.gal{position:static}}
.gal__main{background:var(--mist);overflow:hidden}
.gal__main img{width:100%;aspect-ratio:4/5;object-fit:cover}
.gal__thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;margin-top:8px}
.gal__thumbs button{background:var(--mist);border:1px solid transparent;padding:0;cursor:pointer;overflow:hidden;transition:border-color .3s ease}
.gal__thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover}
.gal__thumbs button[aria-current="true"]{border-color:var(--navy)}

/* buy column */
.buy h1{margin:14px 0 16px}
.price{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}
.price strong{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,34px);color:var(--navy)}
.price span{font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-lt)}
.buy .lede{max-width:46ch;margin-bottom:6px}
.buy__tag{font-size:16px;color:var(--grey);font-style:italic;margin-bottom:30px}




.qtyrow{display:flex;gap:10px;align-items:stretch;margin-top:26px}
.qty{display:flex;align-items:center;border:1px solid var(--line-mid)}
.qty button{width:44px;background:none;border:none;cursor:pointer;font-size:16px;color:var(--navy)}
.qty input{width:44px;text-align:center;border:none;background:none;font-size:15px;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.payflex{border:1px solid var(--line);padding:18px 20px;margin-top:18px;display:flex;gap:14px;align-items:flex-start}
.payflex__mark{font-family:var(--display);font-size:16.5px;color:var(--navy);white-space:nowrap;padding-top:1px}
.payflex p{font-size:14.5px;color:var(--grey);line-height:1.6}
.payflex b{color:var(--navy);font-weight:400}

.specs{list-style:none;border-top:1px solid var(--line);margin-top:26px}
.specs li{display:flex;gap:18px;padding-block:14px;border-bottom:1px solid var(--line);font-size:15.5px}
.specs dt,.specs .k{flex:0 0 34%;font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-lt);padding-top:3px}
.specs .v{color:var(--grey);line-height:1.6}

/* details strip */
.details{background:var(--mist);padding-block:clamp(64px,8vw,110px)}
.details .sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:26px;flex-wrap:wrap;margin-bottom:clamp(30px,3.6vw,50px)}
.details .sechead h2{margin-top:14px}
.details .sechead .note{max-width:34ch}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px)}
@media(max-width:820px){.dgrid{grid-template-columns:1fr;gap:34px}}
.dcard img{width:100%;aspect-ratio:1/1;object-fit:cover}
.dcard h4{font-family:var(--display);font-weight:400;font-size:21px;margin:20px 0 7px}
.dcard p{font-size:15.5px;color:var(--grey);max-width:32ch;line-height:1.65}

/* accordion */
.info{padding-block:clamp(64px,8vw,110px)}
.info .wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(28px,4vw,70px);align-items:start}
@media(max-width:900px){.info .wrap{grid-template-columns:1fr;gap:26px}}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{
  list-style:none;cursor:pointer;padding-block:24px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  font-family:var(--display);font-size:clamp(19px,1.9vw,23px);font-weight:400;
}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-family:var(--sans);font-size:20px;font-weight:200;color:var(--navy);transition:transform .35s ease}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc__body{padding-bottom:30px;max-width:62ch}
.acc__body p{font-size:16px;color:var(--grey);line-height:1.78;margin-bottom:14px}
.acc__body p:last-child{margin-bottom:0}
.acc__body strong{color:var(--text);font-weight:400}
.steps{list-style:none;counter-reset:s;margin:8px 0 18px}
.steps li{counter-increment:s;position:relative;padding-left:46px;margin-bottom:18px;font-size:16px;color:var(--grey);line-height:1.72}
.steps li::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:0;top:2px;
  font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.12em;color:var(--navy);
  border-bottom:1px solid var(--line-mid);padding-bottom:2px;
}
.steps b{color:var(--text);font-weight:400}

/* lifestyle band */
.band{position:relative;min-height:clamp(360px,44vw,540px);display:grid;align-items:end;overflow:hidden}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.band::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to right,rgba(18,27,38,.72) 0%,rgba(18,27,38,.5) 42%,rgba(18,27,38,.12) 72%,rgba(18,27,38,0) 100%),
    linear-gradient(to top,rgba(18,27,38,.86) 0%,rgba(18,27,38,.42) 42%,rgba(18,27,38,.10) 78%);
}
.band .wrap{position:relative;z-index:2;padding-block:clamp(40px,5vw,68px);color:#fff}
.band .wrap>*{max-width:52ch;text-align:left}
.band h2{color:#fff;margin:16px 0 0;max-width:16ch;text-align:left}

/* related */
.related{padding-block:clamp(64px,8vw,110px)}
.related .sechead{margin-bottom:clamp(30px,3.6vw,48px)}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px)}
@media(max-width:820px){.rgrid{grid-template-columns:1fr;gap:40px}}
.ph{aspect-ratio:4/5;background:var(--mist);display:grid;place-items:center;text-align:center;color:var(--grey-lt);font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:24px}

/* ===== product-sitpretty ===== */
/* ---- product ---- */
.pdp{padding-block:8px clamp(64px,7.5vw,104px)}
.pdp .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,4.5vw,76px);align-items:start}
@media(max-width:940px){.pdp .wrap{grid-template-columns:1fr;gap:34px}}

.gal{position:sticky;top:130px}
@media(max-width:940px){.gal{position:static}}
.gal__main{background:var(--mist);overflow:hidden}
.gal__main img{width:100%;aspect-ratio:4/5;object-fit:cover}
.gal__thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;margin-top:8px}
.gal__thumbs button{background:var(--mist);border:1px solid transparent;padding:0;cursor:pointer;overflow:hidden;transition:border-color .3s ease}
.gal__thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover}
.gal__thumbs button[aria-current="true"]{border-color:var(--navy)}

.buy h1{margin:14px 0 16px}
.price{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}
.price strong{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,34px);color:var(--navy)}
.price span{font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-lt)}
.buy .lede{max-width:46ch;margin-bottom:6px}
.buy__tag{font-size:16px;color:var(--grey);font-style:italic;margin-bottom:30px}




.qtyrow{display:flex;gap:10px;align-items:stretch;margin-top:26px}
.qty{display:flex;align-items:center;border:1px solid var(--line-mid)}
.qty button{width:44px;background:none;border:none;cursor:pointer;font-size:17px;color:var(--navy)}
.qty input{width:44px;text-align:center;border:none;background:none;font-size:16px;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.payflex{border:1px solid var(--line);padding:18px 20px;margin-top:18px;display:flex;gap:14px;align-items:flex-start}
.payflex__mark{font-family:var(--display);font-size:16.5px;color:var(--navy);white-space:nowrap;padding-top:1px}
.payflex p{font-size:14.5px;color:var(--grey);line-height:1.65}
.payflex b{color:var(--navy);font-weight:400}

.specs{list-style:none;border-top:1px solid var(--line);margin-top:26px}
.specs li{display:flex;gap:18px;padding-block:14px;border-bottom:1px solid var(--line);font-size:15.5px}
.specs .k{flex:0 0 34%;font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-lt);padding-top:3px}
.specs .v{color:var(--grey);line-height:1.6}

.details{background:var(--mist);padding-block:clamp(64px,8vw,110px)}
.details .sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:26px;flex-wrap:wrap;margin-bottom:clamp(30px,3.6vw,50px)}
.details .sechead h2{margin-top:14px}
.details .sechead .note{max-width:34ch}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px)}
@media(max-width:820px){.dgrid{grid-template-columns:1fr;gap:34px}}
.dcard img{width:100%;aspect-ratio:1/1;object-fit:cover}
.dcard h4{font-family:var(--display);font-weight:400;font-size:21px;margin:20px 0 7px}
.dcard p{font-size:15.5px;color:var(--grey);max-width:32ch;line-height:1.65}

.info{padding-block:clamp(64px,8vw,110px)}
.info .wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(28px,4vw,70px);align-items:start}
@media(max-width:900px){.info .wrap{grid-template-columns:1fr;gap:26px}}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;padding-block:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--display);font-size:clamp(19px,1.9vw,23px);font-weight:400}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-family:var(--sans);font-size:20px;font-weight:200;color:var(--navy);transition:transform .35s ease}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc__body{padding-bottom:30px;max-width:62ch}
.acc__body p{font-size:16px;color:var(--grey);line-height:1.78;margin-bottom:14px}
.acc__body p:last-child{margin-bottom:0}
.acc__body strong{color:var(--text);font-weight:400}
.steps{list-style:none;counter-reset:s;margin:8px 0 18px}
.steps li{counter-increment:s;position:relative;padding-left:46px;margin-bottom:18px;font-size:16px;color:var(--grey);line-height:1.72}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.12em;color:var(--navy);border-bottom:1px solid var(--line-mid);padding-bottom:2px}
.steps b{color:var(--text);font-weight:400}

.band{position:relative;min-height:clamp(360px,44vw,540px);display:grid;align-items:end;overflow:hidden}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.band::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to right,rgba(18,27,38,.72) 0%,rgba(18,27,38,.5) 42%,rgba(18,27,38,.12) 72%,rgba(18,27,38,0) 100%),
    linear-gradient(to top,rgba(18,27,38,.86) 0%,rgba(18,27,38,.42) 42%,rgba(18,27,38,.10) 78%);
}
.band .wrap{position:relative;z-index:2;padding-block:clamp(40px,5vw,68px);color:#fff}
.band .wrap>*{max-width:52ch;text-align:left}
.band h2{color:#fff;margin:16px 0 0;max-width:16ch;text-align:left}

.related{padding-block:clamp(64px,8vw,110px)}
.related .sechead{margin-bottom:clamp(30px,3.6vw,48px)}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px)}
@media(max-width:820px){.rgrid{grid-template-columns:1fr;gap:40px}}
.ph{aspect-ratio:4/5;background:var(--mist);display:grid;place-items:center;text-align:center;color:var(--grey-lt);font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:24px}

/* ===== product-sidetable ===== */
.pdp{padding-block:8px clamp(64px,7.5vw,104px)}
.pdp .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,4.5vw,76px);align-items:start}
@media(max-width:940px){.pdp .wrap{grid-template-columns:1fr;gap:34px}}

.gal{position:sticky;top:130px}
@media(max-width:940px){.gal{position:static}}
.gal__main{background:var(--mist);overflow:hidden}
.gal__main img{width:100%;aspect-ratio:4/5;object-fit:cover}
.gal__thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;margin-top:8px}
.gal__thumbs button{background:var(--mist);border:1px solid transparent;padding:0;cursor:pointer;overflow:hidden;transition:border-color .3s ease}
.gal__thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover}
.gal__thumbs button[aria-current="true"]{border-color:var(--navy)}

.buy h1{margin:14px 0 16px}
.price{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}
.price strong{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,34px);color:var(--navy)}
.price span{font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-lt)}
.buy .lede{max-width:46ch;margin-bottom:6px}
.buy__tag{font-size:16px;color:var(--grey);font-style:italic;margin-bottom:30px}


/* scale drawing */
.scale{width:100%;height:auto}
.scale .ln{fill:none;stroke:var(--navy);stroke-width:1.1;vector-effect:non-scaling-stroke}
.scale .stone{fill:var(--mist);stroke:var(--navy);stroke-width:1.1;vector-effect:non-scaling-stroke}
.scale .pad{fill:var(--silver);stroke:var(--navy);stroke-width:1.1;vector-effect:non-scaling-stroke}
.scale .dim{fill:none;stroke:var(--grey-lt);stroke-width:.8;vector-effect:non-scaling-stroke}
.scale .tick{stroke:var(--grey-lt);stroke-width:.8;vector-effect:non-scaling-stroke}
.scale text{font-family:var(--sans);font-size:9.5px;font-weight:500;letter-spacing:.14em;fill:var(--grey);text-transform:uppercase}
.scale .human{fill:none;stroke:var(--grey-lt);stroke-width:.8;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}

.qtyrow{display:flex;gap:10px;align-items:stretch;margin-top:26px}
.qty{display:flex;align-items:center;border:1px solid var(--line-mid)}
.qty button{width:44px;background:none;border:none;cursor:pointer;font-size:17px;color:var(--navy)}
.qty input{width:44px;text-align:center;border:none;background:none;font-size:16px;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.payflex{border:1px solid var(--line);padding:18px 20px;margin-top:18px;display:flex;gap:14px;align-items:flex-start}
.payflex__mark{font-family:var(--display);font-size:16.5px;color:var(--navy);white-space:nowrap;padding-top:1px}
.payflex p{font-size:14.5px;color:var(--grey);line-height:1.65}
.payflex b{color:var(--navy);font-weight:400}

.specs{list-style:none;border-top:1px solid var(--line);margin-top:26px}
.specs li{display:flex;gap:18px;padding-block:14px;border-bottom:1px solid var(--line);font-size:15.5px}
.specs .k{flex:0 0 34%;font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-lt);padding-top:3px}
.specs .v{color:var(--grey);line-height:1.6}

.details{background:var(--mist);padding-block:clamp(64px,8vw,110px)}
.details .sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:26px;flex-wrap:wrap;margin-bottom:clamp(30px,3.6vw,50px)}
.details .sechead h2{margin-top:14px}
.details .sechead .note{max-width:34ch}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px)}
@media(max-width:820px){.dgrid{grid-template-columns:1fr;gap:34px}}
.dcard img{width:100%;aspect-ratio:1/1;object-fit:cover}
.dcard h4{font-family:var(--display);font-weight:400;font-size:21px;margin:20px 0 7px}
.dcard p{font-size:15.5px;color:var(--grey);max-width:32ch;line-height:1.65}

.info{padding-block:clamp(64px,8vw,110px)}
.info .wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(28px,4vw,70px);align-items:start}
@media(max-width:900px){.info .wrap{grid-template-columns:1fr;gap:26px}}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;padding-block:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--display);font-size:clamp(19px,1.9vw,23px);font-weight:400}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-family:var(--sans);font-size:20px;font-weight:200;color:var(--navy);transition:transform .35s ease}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc__body{padding-bottom:30px;max-width:62ch}
.acc__body p{font-size:16px;color:var(--grey);line-height:1.78;margin-bottom:14px}
.acc__body p:last-child{margin-bottom:0}
.acc__body strong{color:var(--text);font-weight:400}

.band{position:relative;min-height:clamp(360px,44vw,540px);display:grid;align-items:end;overflow:hidden}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.band::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to right,rgba(18,27,38,.72) 0%,rgba(18,27,38,.5) 42%,rgba(18,27,38,.12) 72%,rgba(18,27,38,0) 100%),
    linear-gradient(to top,rgba(18,27,38,.86) 0%,rgba(18,27,38,.42) 42%,rgba(18,27,38,.10) 78%);
}
.band .wrap{position:relative;z-index:2;padding-block:clamp(40px,5vw,68px);color:#fff}
.band .wrap>*{max-width:52ch;text-align:left}
.band h2{color:#fff;margin:16px 0 0;max-width:17ch;text-align:left}

.related{padding-block:clamp(64px,8vw,110px)}
.related .sechead{margin-bottom:clamp(30px,3.6vw,48px)}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px)}
@media(max-width:820px){.rgrid{grid-template-columns:1fr;gap:40px}}

/* ===== product-throw ===== */
.pdp{padding-block:8px clamp(64px,7.5vw,104px)}
.pdp .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,4.5vw,76px);align-items:start}
@media(max-width:940px){.pdp .wrap{grid-template-columns:1fr;gap:34px}}

.gal{position:sticky;top:130px}
@media(max-width:940px){.gal{position:static}}
.gal__main{background:var(--mist);overflow:hidden}
.gal__main img{width:100%;aspect-ratio:4/5;object-fit:cover}
.gal__cap{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding-top:12px;font-size:11.5px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--grey-lt);
}
.gal__thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;margin-top:8px}
.gal__thumbs button{background:var(--mist);border:1px solid transparent;padding:0;cursor:pointer;overflow:hidden;transition:border-color .3s ease}
.gal__thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover}
.gal__thumbs button[aria-current="true"]{border-color:var(--navy)}

.buy h1{margin:14px 0 16px}
.price{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}
.price strong{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,34px);color:var(--navy)}
.price span{font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-lt)}
.buy .lede{max-width:46ch;margin-bottom:6px}
.buy__tag{font-size:16px;color:var(--grey);font-style:italic;margin-bottom:30px}


/* colourway picker — photographic, drives the main image */
.bp-col:hover .col__img img{transform:scale(1.06)}
.bp-col[aria-pressed="true"] .col__img::after{opacity:1}
@media(max-width:420px){.colours{grid-template-columns:repeat(2,1fr)}}


.qtyrow{display:flex;gap:10px;align-items:stretch;margin-top:26px}
.qty{display:flex;align-items:center;border:1px solid var(--line-mid)}
.qty button{width:44px;background:none;border:none;cursor:pointer;font-size:17px;color:var(--navy)}
.qty input{width:44px;text-align:center;border:none;background:none;font-size:16px;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.payflex{border:1px solid var(--line);padding:18px 20px;margin-top:18px;display:flex;gap:14px;align-items:flex-start}
.payflex__mark{font-family:var(--display);font-size:16.5px;color:var(--navy);white-space:nowrap;padding-top:1px}
.payflex p{font-size:14.5px;color:var(--grey);line-height:1.65}
.payflex b{color:var(--navy);font-weight:400}

.specs{list-style:none;border-top:1px solid var(--line);margin-top:26px}
.specs li{display:flex;gap:18px;padding-block:14px;border-bottom:1px solid var(--line);font-size:15.5px}
.specs .k{flex:0 0 34%;font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-lt);padding-top:3px}
.specs .v{color:var(--grey);line-height:1.6}

.details{background:var(--mist);padding-block:clamp(64px,8vw,110px)}
.details .sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:26px;flex-wrap:wrap;margin-bottom:clamp(30px,3.6vw,50px)}
.details .sechead h2{margin-top:14px}
.details .sechead .note{max-width:34ch}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px)}
@media(max-width:820px){.dgrid{grid-template-columns:1fr;gap:34px}}
.dcard img{width:100%;aspect-ratio:1/1;object-fit:cover}
.dcard h4{font-family:var(--display);font-weight:400;font-size:21px;margin:20px 0 7px}
.dcard p{font-size:15.5px;color:var(--grey);max-width:32ch;line-height:1.65}

.info{padding-block:clamp(64px,8vw,110px)}
.info .wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(28px,4vw,70px);align-items:start}
@media(max-width:900px){.info .wrap{grid-template-columns:1fr;gap:26px}}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;padding-block:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--display);font-size:clamp(19px,1.9vw,23px);font-weight:400}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-family:var(--sans);font-size:20px;font-weight:200;color:var(--navy);transition:transform .35s ease}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc__body{padding-bottom:30px;max-width:62ch}
.acc__body p{font-size:16px;color:var(--grey);line-height:1.78;margin-bottom:14px}
.acc__body p:last-child{margin-bottom:0}
.acc__body strong{color:var(--text);font-weight:400}

.band{position:relative;min-height:clamp(360px,44vw,540px);display:grid;align-items:end;overflow:hidden}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.band::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to right,rgba(18,27,38,.72) 0%,rgba(18,27,38,.5) 42%,rgba(18,27,38,.12) 72%,rgba(18,27,38,0) 100%),
    linear-gradient(to top,rgba(18,27,38,.86) 0%,rgba(18,27,38,.42) 42%,rgba(18,27,38,.10) 78%);
}
.band .wrap{position:relative;z-index:2;padding-block:clamp(40px,5vw,68px);color:#fff}
.band .wrap>*{max-width:52ch;text-align:left}
.band h2{color:#fff;margin:16px 0 0;max-width:18ch;text-align:left}

.related{padding-block:clamp(64px,8vw,110px)}
.related .sechead{margin-bottom:clamp(30px,3.6vw,48px)}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px)}
@media(max-width:820px){.rgrid{grid-template-columns:1fr;gap:40px}}

/* ===== WordPress integration ===== */
.bp-main{display:block}
.bp-longform{max-width:none}
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.brand .custom-logo{height:78px;width:auto}
@media(max-width:980px){.brand .custom-logo{height:56px}}
.mainnav ul,.mainnav__list{list-style:none;display:flex;gap:32px;margin:0;padding:0;align-items:center}
.mainnav li{margin:0;list-style:none}
.mainnav li::marker{content:""}
.mainnav a,.masthead .brand{color:var(--text)}
.fcol ul,.fcol .menu{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0;padding:0}
.fcol li{margin:0;list-style:none}
.fcol li::marker{content:""}

/* Woo's own selects sit behind our pickers — present for validation,
   hidden from view. Remove this block to fall back to plain dropdowns. */
/* The variable-product form is built by the theme (see single-product.php),
   so WooCommerce's own variation table never renders. This hides it if a
   plugin injects one anyway. */
.bp-cart .variations{display:none}
.bp-cart--custom .qtyrow{margin-top:26px}
.bp-stock{
  margin-top:12px;font-size:13.5px;color:var(--grey-lt);letter-spacing:.02em;
}
button.single_add_to_cart_button.is-disabled,
button.single_add_to_cart_button:disabled{
  opacity:.4;cursor:not-allowed;background:var(--navy);
}
.bp-cart .woocommerce-variation-price{display:none}
.bp-cart .woocommerce-variation-description{display:none}
.bp-cart .single_variation_wrap{margin-top:0}
.bp-cart form.cart{display:block;margin:0}
.bp-cart .quantity{display:inline-flex;align-items:center;border:1px solid var(--line-mid);margin-right:10px}
.bp-cart .quantity input{
  width:76px;text-align:center;border:none;background:none;
  font-family:var(--sans);font-size:16px;padding:15px 0;-moz-appearance:textfield;
}
.bp-cart .quantity input::-webkit-outer-spin-button,
.bp-cart .quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bp-cart button.single_add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:16px 34px;border:1px solid transparent;cursor:pointer;
  background:var(--navy);color:#fff;border-radius:0;
  font-family:var(--sans);font-size:11.5px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  transition:background .35s ease;
}
.bp-cart button.single_add_to_cart_button:hover{background:var(--ink)}
.bp-cart .cart{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin-top:26px}
.bp-cart .cart>.quantity{margin-right:0}
.bp-cart button.single_add_to_cart_button{flex:1;min-width:200px}
.bp-cart .reset_variations{
  display:inline-block;margin-top:12px;font-size:12.5px;color:var(--grey-lt);
  border-bottom:1px solid var(--line-mid);
}
.bp-cart .stock{font-size:13.5px;color:var(--grey-lt);margin-top:10px}

/* price html from Woo */
.price .woocommerce-Price-amount{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,34px);color:var(--navy)}
.price del{opacity:.45;margin-right:8px}
.price ins{text-decoration:none}

/* archive pagination */
.woocommerce-pagination ul{list-style:none;display:flex;gap:8px;justify-content:center;margin-top:48px;padding:0}
.woocommerce-pagination a,.woocommerce-pagination span{
  display:grid;place-items:center;min-width:44px;height:44px;
  border:1px solid var(--line-mid);font-size:14px;color:var(--grey);
}
.woocommerce-pagination .current{background:var(--navy);border-color:var(--navy);color:#fff}

/* Woo notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border:1px solid var(--line-mid);border-left:2px solid var(--navy);
  padding:16px 20px;margin-bottom:24px;list-style:none;font-size:15.5px;color:var(--grey);
}


/* ===== dark footer, WordPress ===== */
.bp-footer{background:var(--navy);color:#fff;border-top:none}
.bp-footer .fcol h5{color:rgba(255,255,255,.55)}
.bp-footer .fcol a{color:rgba(255,255,255,.86)}
.bp-footer .fcol a:hover{color:#fff}
.bp-footer .fcol p{color:rgba(255,255,255,.72)}
.bp-footer .legal{border-top-color:rgba(255,255,255,.16);color:rgba(255,255,255,.6)}
.bp-footer .legal a{color:rgba(255,255,255,.78);border-bottom:1px solid rgba(255,255,255,.28)}
.bp-footer .legal a:hover{color:#fff;border-bottom-color:#fff}
.bp-footer .social a{border-color:rgba(255,255,255,.28);color:rgba(255,255,255,.86)}
.bp-footer .social a:hover{background:#fff;border-color:#fff;color:var(--navy)}

.bp-footer .fcol img,.bp-footer .fcol .custom-logo{height:84px;width:auto;margin-bottom:24px}

/* ===== product page, WordPress ===== */
.bp-cart .woocommerce-variation-add-to-cart-disabled button{opacity:.45;cursor:not-allowed}
.bp-cart button.single_add_to_cart_button.disabled{opacity:.45}
.bp-cart .single_variation_wrap{display:block}
/* Woo prints its own price inside the variation wrap; ours is above */
.bp-cart .woocommerce-variation-availability{font-size:13.5px;color:var(--grey-lt);margin-top:8px}

/* ===== focus rings ===== */
.bp-main :focus{outline-color:var(--navy)}
.bp-main button:focus,.bp-main a:focus{outline-color:var(--navy)}
.bp-cart :focus-visible{outline:1.5px solid var(--navy);outline-offset:3px}


/* ===== no click ring (item 1) ===== */
.bp-main a:focus:not(:focus-visible),
.bp-main button:focus:not(:focus-visible),
.bp-footer a:focus:not(:focus-visible),
.masthead a:focus:not(:focus-visible),
.woocommerce a:focus:not(:focus-visible),
.woocommerce button:focus:not(:focus-visible){outline:none;box-shadow:none}
.card:focus:not(:focus-visible),
.card:active{outline:none;box-shadow:none}

/* ===== product card price on one line (item 10) ===== */
.card__body>div:first-child{min-width:0}
.card__price{flex:0 0 auto;white-space:nowrap}
.card__price .woocommerce-Price-amount{white-space:nowrap}

/* ===== full-bleed bands, copy left (item 3) ===== */
.band .wrap>*{max-width:52ch;text-align:left}
.editorial .wrap>*{max-width:52ch;text-align:left}


/* ===== product card price, WordPress (item 2) ===== */
.card__price .card__label{display:block}
.card__price .woocommerce-Price-amount,
.card__price .woocommerce-Price-currencySymbol{display:inline;white-space:nowrap}
.card__price bdi{white-space:nowrap}
@media(max-width:600px){
  .card__body{flex-direction:column;gap:12px;align-items:flex-start}
  .card__price{text-align:left}
  .card__price .card__label{display:inline;margin:0 6px 0 0}
}
