
/* Layout: "The Pemberton ledger". Type: Libre Caslon Text headings with Libre Franklin for text and labels (one heritage pairing). Cool stone pages, deep heritage green for the brand bands, brass for fine rules and calls to action. Caslon (an English heritage face) for headings, a clean grotesk for reading, a mono face for the real specifications hotels buy by: thread count, gsm, par level. Single committed light look. */
:root{
  --stone:#f4f3ee; --paper:#ffffff; --mist:#e9ede9;
  --green:#1d3a33; --green-2:#28493f; --green-ink:#e9efe9; --green-muted:#b6c6be;
  --brass:#9a7640; --brass-dark:#7d5e31; --brass-soft:#d8c6a2;
  --ink:#1c2220; --slate:#56605c; --line:#dfddd4; --line-2:#cfd6d1;
  --ok:#2f6b4f; --warn:#8a5a14; --warn-bg:#f6ecd9; --err:#9b2c2c;
  --display:"Libre Caslon Text",Baskerville,"Times New Roman",serif;
  --serif:"Libre Caslon Text",Baskerville,"Times New Roman",serif;
  --body:"Libre Franklin",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"Libre Franklin",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1180px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--stone);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:balance;color:var(--ink)}
h1{font-family:var(--display);font-size:clamp(2.3rem,5vw,3.9rem);line-height:1.08;letter-spacing:-.01em}
h2{font-family:var(--display);font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.1}
h3{font-family:var(--serif);font-size:1.35rem;line-height:1.25}
h4{font-family:var(--body);font-size:1rem;font-weight:600}
p{margin:0}
ul{margin:0;padding:0}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (max-width:600px){.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
.eyebrow{font:600 .74rem/1.4 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--brass-dark)}
.lede{font-size:1.14rem;color:var(--slate);max-width:62ch}
.muted{color:var(--slate)}
.small{font-size:.88rem}
.mono{font-family:var(--mono);font-size:.84rem;letter-spacing:.01em}
.sec{padding-block:clamp(56px,8vw,96px)}
.sec.tight{padding-block:clamp(40px,6vw,64px)}
.sec.mist{background:var(--mist)}
.sec.paper{background:var(--paper)}
.head{display:grid;gap:14px;max-width:760px;margin-bottom:clamp(28px,4vw,44px)}
.rule{display:block;width:44px;height:1px;background:var(--brass);border:0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.8em 1.45em;font:600 .92rem/1.1 var(--body);letter-spacing:.01em;text-decoration:none;border:1px solid var(--green);background:var(--green);color:var(--green-ink);cursor:pointer;border-radius:2px;transition:background .18s,color .18s,border-color .18s}
.btn:hover{background:var(--green-2);border-color:var(--green-2)}
.btn.brass{background:var(--brass);border-color:var(--brass);color:#fff}
.btn.brass:hover{background:var(--brass-dark);border-color:var(--brass-dark)}
.btn.ghost{background:transparent;color:var(--green)}
.btn.ghost:hover{background:var(--green);color:var(--green-ink)}
.btn.small{min-height:38px;padding:.5em 1em;font-size:.84rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.link{color:var(--green);font-weight:600;text-decoration:none;border-bottom:1px solid var(--brass-soft)}
.link:hover{border-color:var(--brass)}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:24px;min-height:74px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.crest{width:38px;height:38px;flex:0 0 38px}
.word{display:grid;line-height:1}
.word b{font:400 1.18rem/1 var(--display);letter-spacing:.24em;color:var(--green)}
.word span{font:500 .6rem/1 var(--mono);letter-spacing:.34em;color:var(--brass-dark);margin-top:6px}
.nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav a{font-size:.92rem;font-weight:500;text-decoration:none;color:var(--ink);padding:6px 0;border-bottom:1px solid transparent;white-space:nowrap}
.nav a:hover{border-color:var(--brass-soft)}
.nav a[aria-current="page"]{border-color:var(--brass);color:var(--green)}
.nav a.btn[aria-current="page"]{color:var(--green-ink);border-color:var(--green)}
.nav .btn{color:var(--green-ink);border-bottom:1px solid var(--green);padding:.6em 1.1em;min-height:42px}
.nav .btn:hover{border-color:var(--green-2)}
.basket{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--brass);color:#fff;font:600 .72rem/1 var(--body)}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line-2);border-radius:2px;min-height:42px;padding:0 14px;font:600 .9rem var(--body);color:var(--green);cursor:pointer}
@media (max-width:1200px){
  .menu-btn{display:inline-flex;align-items:center;gap:8px}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px max(16px,env(safe-area-inset-right,0px)) 18px max(16px,env(safe-area-inset-left,0px));margin:0}
  .nav.open{display:flex}
  .nav a{padding:13px 4px;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:12px;justify-content:center}
}

/* hero */
.hero{background:var(--paper);border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center;padding-block:clamp(40px,6vw,72px)}
.hero-copy{display:grid;gap:22px;min-width:0}
.hero-img{position:relative;aspect-ratio:4/5;max-height:640px;overflow:hidden;max-width:100%}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-tag{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.94);padding:12px 14px;display:grid;gap:2px;border-left:2px solid var(--brass)}
.hero-tag b{font:500 .7rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-dark)}
.hero-tag span{font-family:var(--serif);font-size:1rem;color:var(--ink)}
.specline{display:flex;flex-wrap:wrap;gap:8px 0;font:500 .78rem/1.5 var(--mono);color:var(--slate);border-top:1px solid var(--line);padding-top:16px}
.specline span{padding-right:14px;margin-right:14px;border-right:1px solid var(--line-2)}
.specline span:last-child{border:0}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero-img{aspect-ratio:4/3}}

/* promise strip */
.promise{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.promise div{padding:24px 22px;display:grid;gap:6px;border-right:1px solid var(--line);min-width:0}
.promise div:last-child{border-right:0}
.promise b{font-family:var(--serif);font-size:1.12rem;font-weight:400;color:var(--green)}
.promise p{font-size:.92rem;color:var(--slate)}
@media (max-width:900px){.promise{grid-template-columns:1fr 1fr}.promise div:nth-child(2){border-right:0}.promise div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:520px){.promise{grid-template-columns:1fr}.promise div{border-right:0;border-bottom:1px solid var(--line)}.promise div:last-child{border-bottom:0}}

/* family grid */
.fam{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.fam a{display:grid;gap:12px;text-decoration:none;min-width:0}
.fam figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--mist);max-width:100%}
.fam img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.fam a:hover img{transform:scale(1.03)}
.fam h3{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.fam h3 small{font:500 .72rem var(--mono);color:var(--brass-dark);letter-spacing:.08em;white-space:nowrap}
.fam p{color:var(--slate);font-size:.95rem}
@media (max-width:900px){.fam{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fam{grid-template-columns:1fr}}

/* fibre band */
.fibre{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:center}
.fibre img{width:100%;aspect-ratio:16/10;object-fit:cover}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line-2);background:var(--paper);font-size:.88rem;border-radius:2px}
.chip i{font-style:normal;font:500 .7rem var(--mono);color:var(--brass-dark)}
.fgrid{display:grid;gap:22px;min-width:0}
.fgrid h4{font:500 .72rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:8px}
@media (max-width:860px){.fibre{grid-template-columns:1fr}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:s;border-top:1px solid var(--line-2)}
.steps li{list-style:none;padding:22px 20px 0 0;display:grid;gap:8px;align-content:start;min-width:0;position:relative}
.steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);font:500 .78rem var(--mono);color:var(--brass-dark)}
.steps li::after{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--brass);border-radius:50%}
.steps b{font-family:var(--serif);font-weight:400;font-size:1.15rem}
.steps p{font-size:.93rem;color:var(--slate)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;row-gap:24px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* DDP */
.ddp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,60px);align-items:start}
.ledger{background:var(--paper);border:1px solid var(--line);padding:26px;display:grid;gap:4px}
.ledger h3{margin-bottom:10px}
.lrow{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--line-2);font-size:.95rem}
.lrow span:last-child{font:500 .8rem var(--mono);color:var(--ok);white-space:nowrap}
.lrow.total{border-bottom:0;border-top:1px solid var(--ink);margin-top:6px;padding-top:14px;font-weight:600}
.lrow.total span:last-child{color:var(--ink)}
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--paper)}
table.cmp{width:100%;border-collapse:collapse;min-width:560px;font-size:.93rem}
.cmp th,.cmp td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.cmp thead th{font:500 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--slate);background:var(--stone)}
.cmp td:first-child{font-weight:600;width:24%}
.cmp td.us{color:var(--green);background:#f3f6f3}
.cmp tr:last-child td{border-bottom:0}
@media (max-width:860px){.ddp{grid-template-columns:1fr}}

/* green band */
.band{background:var(--green);color:var(--green-ink)}
.band h2,.band h3{color:var(--green-ink)}
.band .eyebrow{color:var(--brass-soft)}
.band .lede,.band .muted{color:var(--green-muted)}
.band .btn{background:var(--brass);border-color:var(--brass);color:#fff}
.band .btn:hover{background:var(--brass-dark);border-color:var(--brass-dark)}
.band .btn.ghost{background:transparent;border-color:var(--green-muted);color:var(--green-ink)}
.band .btn.ghost:hover{background:var(--green-2)}

/* tools teaser */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.duo > a{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;text-decoration:none;background:var(--paper);border:1px solid var(--line);padding:18px;min-width:0;transition:border-color .2s}
.duo > a:hover{border-color:var(--brass)}
.duo img{width:150px;height:150px;object-fit:cover}
.duo div{display:grid;gap:8px;min-width:0}
@media (max-width:860px){.duo{grid-template-columns:1fr}}
@media (max-width:480px){.duo > a{grid-template-columns:1fr}.duo img{width:100%;height:180px}}

/* regions */
.regions{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.regions a{background:var(--paper);padding:22px 18px;display:grid;gap:8px;text-decoration:none;align-content:start;min-width:0}
.regions a:hover{background:var(--stone)}
.regions .code{font:500 .74rem var(--mono);color:var(--brass-dark);letter-spacing:.1em}
.regions b{font-family:var(--serif);font-weight:400;font-size:1.12rem}
.regions p{font-size:.9rem;color:var(--slate)}
@media (max-width:980px){.regions{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.regions{grid-template-columns:1fr}}

/* commitments */
.commit{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 36px}
.commit div{display:grid;gap:8px;border-top:1px solid var(--line-2);padding-top:16px;min-width:0}
.commit b{font-family:var(--serif);font-weight:400;font-size:1.12rem}
.commit p{font-size:.94rem;color:var(--slate)}
@media (max-width:860px){.commit{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.commit{grid-template-columns:1fr}}

/* FAQ */
.faq{display:grid;gap:0;border-top:1px solid var(--line-2);max-width:860px}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;font-family:var(--serif);font-size:1.12rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font:400 1.5rem var(--body);color:var(--brass)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 20px;color:var(--slate);max-width:70ch}

/* page head */
.phead{background:var(--paper);border-bottom:1px solid var(--line)}
.phead .wrap{padding-block:clamp(40px,6vw,68px);display:grid;gap:16px}
.crumb{font:500 .74rem var(--mono);letter-spacing:.06em;color:var(--slate)}
.crumb a{text-decoration:none;color:var(--brass-dark)}

/* collection */
.subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 74px);z-index:30;background:var(--stone);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-block:10px;scrollbar-width:thin}
.subnav a{flex:0 0 auto;font-size:.86rem;font-weight:500;text-decoration:none;padding:7px 12px;border:1px solid transparent;border-radius:2px;white-space:nowrap}
.subnav a:hover{border-color:var(--line-2);background:var(--paper)}
.prod{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start;padding-block:clamp(40px,6vw,64px);border-bottom:1px solid var(--line);scroll-margin-top:140px}
.prod:nth-of-type(even) .gal{order:2}
.gal{display:grid;gap:10px;min-width:0;position:sticky;top:150px}
.gal-main{margin:0;background:var(--mist);max-width:100%}
.gal-main img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gal-main figcaption{font:500 .76rem/1.5 var(--mono);color:var(--slate);padding:10px 0 0;border-top:1px solid var(--line);background:var(--stone)}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}
.thumbs button{padding:0;border:1px solid var(--line-2);background:none;cursor:pointer;width:68px;height:52px;opacity:.7;transition:opacity .2s,border-color .2s}
.thumbs button:hover,.thumbs button[aria-current="true"]{opacity:1;border-color:var(--brass)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.ptabs{display:flex;gap:0;border-bottom:1px solid var(--line-2)}
.ptabs button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 14px 9px;font:600 .88rem var(--body);color:var(--slate);cursor:pointer}
.ptabs button[aria-selected="true"]{color:var(--green);border-color:var(--brass)}
table.qty.sz td,table.qty.sz td:last-child{font-family:var(--body);font-size:.9rem;text-align:left}
table.qty.sz th:last-child{text-align:left}
table.qty.sz td:first-child{font-weight:600;white-space:nowrap}
.prod-copy{display:grid;gap:16px;min-width:0}
.spec{display:grid;grid-template-columns:auto 1fr;border-top:1px solid var(--line-2)}
.spec dt,.spec dd{margin:0;padding:9px 0;border-bottom:1px solid var(--line)}
.spec dt{font:500 .74rem/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate);padding-right:18px;white-space:nowrap}
.spec dd{font-size:.94rem}
.add{display:inline-flex;align-items:center;gap:8px}
.add[aria-pressed="true"]{background:var(--brass);border-color:var(--brass);color:#fff}
@media (max-width:860px){.prod{grid-template-columns:1fr}.prod:nth-of-type(even) .gal{order:0}.gal{position:static}}
@media (max-width:480px){.spec{grid-template-columns:1fr}.spec dt{padding-bottom:0;border-bottom:0}}

/* estimator */
.est{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
.panel{background:var(--paper);border:1px solid var(--line);padding:clamp(18px,3vw,28px);display:grid;gap:18px;min-width:0}
.panel h3{font-size:1.2rem}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.fields.one{grid-template-columns:1fr}
label.f{display:grid;gap:6px;font-size:.88rem;font-weight:600;min-width:0}
label.f span.hint{font-weight:400;color:var(--slate);font-size:.8rem}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],select,textarea{width:100%;font:400 1rem var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:2px;padding:11px 12px;min-height:46px}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brass-soft);outline-offset:0;border-color:var(--brass)}
.note{font-size:.84rem;color:var(--slate)}
.est-sum{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px}
.est-sum b{font:500 .95rem var(--mono)}
.tbl-wrap{overflow-x:auto}
table.qty{width:100%;border-collapse:collapse;font-size:.94rem;font-variant-numeric:tabular-nums}
.qty th,.qty td{padding:9px 6px;border-bottom:1px solid var(--line);text-align:left}
.qty th{font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.qty td:last-child,.qty th:last-child{text-align:right;font-family:var(--mono)}
.qty tr.grp td{font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brass-dark);padding-top:16px}
.flag{padding:10px 12px;font-size:.88rem;background:#eef4ef;color:var(--ok);border-left:2px solid var(--ok)}
.flag.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}
@media (max-width:900px){.est{grid-template-columns:1fr}}
@media (max-width:480px){.fields{grid-template-columns:1fr}}

/* sample box */
.box{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.box-imgs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.box-imgs img{width:100%;aspect-ratio:1;object-fit:cover}
.box-imgs img:first-child{grid-column:1/-1;aspect-ratio:16/9}
.inside{display:grid;gap:0;border-top:1px solid var(--line-2)}
.inside li{list-style:none;display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.inside li span{font:500 .78rem var(--mono);color:var(--slate);white-space:nowrap}
@media (max-width:860px){.box{grid-template-columns:1fr}}

/* region accordion */
.rgn{display:grid;gap:14px}
.rgn details{background:var(--paper);border:1px solid var(--line);scroll-margin-top:100px}
.rgn summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;padding:20px 22px}
.rgn summary::-webkit-details-marker{display:none}
.rgn .code{font:500 .8rem var(--mono);color:var(--brass-dark);letter-spacing:.1em}
.rgn summary b{font-family:var(--serif);font-weight:400;font-size:1.3rem;display:block}
.rgn summary p{font-size:.92rem;color:var(--slate)}
.rgn summary .tog{font:500 .78rem var(--mono);color:var(--green);white-space:nowrap}
.rgn details[open] .tog .o{display:none}
.rgn details:not([open]) .tog .c{display:none}
.rgn-body{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:4px 22px 24px 102px}
.rgn-body h4{font:500 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:8px}
.rgn-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}
.ticks{display:grid;gap:6px}
.ticks li{list-style:none;padding-left:18px;position:relative;font-size:.93rem}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--brass)}
.countries{display:flex;flex-wrap:wrap;gap:6px}
.countries span{font-size:.8rem;padding:3px 9px;border:1px solid var(--line-2);border-radius:2px}
@media (max-width:860px){.rgn-body{grid-template-columns:1fr;padding:4px 22px 22px}.rgn summary{grid-template-columns:48px 1fr}.rgn summary .tog{grid-column:2}}

/* about */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.split img{width:100%;aspect-ratio:4/3;object-fit:cover}
.split > div{display:grid;gap:16px;min-width:0}
.quote-card{border-left:2px solid var(--brass);padding-left:22px;display:grid;gap:12px}
.quote-card p{font-family:var(--serif);font-style:italic;font-size:1.3rem;line-height:1.45;color:var(--ink)}
.facts{display:grid;grid-template-columns:auto 1fr;gap:0;border-top:1px solid var(--line-2)}
.facts dd{overflow-wrap:anywhere;min-width:0}
.facts dt,.facts dd{margin:0;padding:11px 0;border-bottom:1px solid var(--line)}
.facts dt{font:500 .74rem/1.7 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--slate);padding-right:22px}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* quote */
.qwrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:28px;align-items:start}
.stepper{display:flex;gap:0;margin-bottom:18px;border:1px solid var(--line);background:var(--paper);overflow-x:auto}
.stepper button{flex:1 0 auto;display:flex;align-items:center;gap:8px;padding:13px 16px;background:none;border:0;border-right:1px solid var(--line);font:500 .88rem var(--body);color:var(--slate);cursor:pointer;white-space:nowrap}
.stepper button:last-child{border-right:0}
.stepper button i{font-style:normal;display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid var(--line-2);border-radius:50%;font:500 .74rem var(--mono)}
.stepper button[aria-current="step"]{color:var(--green);background:#f3f6f3;font-weight:600}
.stepper button[aria-current="step"] i{background:var(--green);border-color:var(--green);color:var(--green-ink)}
.stepper button.done i{background:var(--brass-soft);border-color:var(--brass-soft);color:var(--ink)}
fieldset{border:0;margin:0;padding:0;display:grid;gap:18px;min-width:0}
legend{font-family:var(--serif);font-size:1.35rem;padding:0;margin-bottom:4px}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.opt{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line-2);border-radius:2px;background:var(--paper);cursor:pointer;font-size:.92rem;min-width:0}
.opt:hover{border-color:var(--brass-soft)}
.opt input{margin-top:3px;accent-color:var(--green);flex:0 0 auto}
.opt:has(input:checked){border-color:var(--green);background:#f3f6f3}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.drop{border:1.5px dashed var(--line-2);background:var(--stone);padding:28px 18px;text-align:center;display:grid;gap:10px;justify-items:center;cursor:pointer;border-radius:2px;transition:border-color .2s,background .2s}
.drop.over{border-color:var(--brass);background:#faf6ee}
.drop b{font-family:var(--serif);font-weight:400;font-size:1.15rem}
.files{display:grid;gap:8px}
.file{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);background:var(--paper);font-size:.9rem;min-width:0}
.file .ext{font:500 .7rem var(--mono);text-transform:uppercase;background:var(--mist);color:var(--green);padding:4px 7px;border-radius:2px}
.file .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.file .sz{font:400 .78rem var(--mono);color:var(--slate)}
.file button{background:none;border:0;color:var(--err);font:600 .82rem var(--body);cursor:pointer;padding:4px}
.file.bad{border-color:var(--err)}
.err{color:var(--err);font-size:.86rem}
.qnav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}
.aside{display:grid;gap:18px;position:sticky;top:96px}
.aside ol{margin:0;padding:0;counter-reset:a;display:grid;gap:14px}
.aside ol li{list-style:none;display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:.92rem}
.aside ol li::before{counter-increment:a;content:counter(a);display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--brass);border-radius:50%;font:500 .76rem var(--mono);color:var(--brass-dark)}
.contact-line{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.contact-line:last-child{border-bottom:0}
.contact-line code{font:500 .86rem var(--mono);user-select:all;overflow-wrap:anywhere}
.copy{background:none;border:1px solid var(--line-2);font:600 .76rem var(--body);padding:5px 9px;cursor:pointer;border-radius:2px;color:var(--green)}
.review{display:grid;gap:0;border-top:1px solid var(--line-2)}
.review div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.93rem}
.review dt{font:500 .72rem/1.7 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--slate)}
.review dd{margin:0;overflow-wrap:anywhere}
.done-card{display:grid;gap:14px;padding:28px;background:var(--paper);border:1px solid var(--ok)}
.check{display:flex;align-items:flex-start;gap:10px;font-size:.92rem}
.check input{margin-top:4px;accent-color:var(--green)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media (max-width:960px){.qwrap{grid-template-columns:1fr}.aside{position:static}}
@media (max-width:480px){.review div{grid-template-columns:1fr;gap:2px}.file{grid-template-columns:auto 1fr auto}.file .sz{display:none}}

/* footer */
.foot{background:var(--green);color:var(--green-muted);font-size:.92rem}
.foot .wrap{padding-block:56px 28px;display:grid;gap:36px}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.fcols h4{font:500 .7rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-soft);margin-bottom:12px}
.fcols ul{display:grid;gap:8px}
.fcols li{list-style:none}
.fcols a{text-decoration:none;color:var(--green-ink)}
.fcols a:hover{text-decoration:underline;text-decoration-color:var(--brass-soft)}
.foot .word b{color:var(--green-ink)}
.foot .word span{color:var(--brass-soft)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid rgba(233,239,233,.16);padding-top:20px;font-size:.82rem}
@media (max-width:860px){.fcols{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.fcols{grid-template-columns:1fr}}


/* design studio */
.dtabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.dtabs button{border:1px solid var(--line-2);background:var(--paper);padding:9px 16px;font:600 .9rem var(--body);color:var(--ink);cursor:pointer;border-radius:2px}
.dtabs button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--green-ink)}
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px}
.dcard{display:grid;gap:10px;align-content:start;min-width:0}
.dcard svg{width:100%;height:auto;display:block;border:1px solid var(--line)}
.dcard b{font-family:var(--serif);font-weight:400;font-size:1.05rem}
.dcard .tags{display:flex;flex-wrap:wrap;gap:6px}
.dcard .tags span{font:500 .68rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--slate);border:1px solid var(--line-2);padding:2px 7px;border-radius:2px}
.dcard .code{font:500 .7rem var(--mono);color:var(--brass-dark)}
.dcard button[aria-pressed="true"]{background:var(--brass);border-color:var(--brass);color:#fff}
.threads{display:flex;flex-wrap:wrap;gap:10px}
.thr{display:grid;justify-items:center;gap:6px;font-size:.78rem;color:var(--slate);width:70px;text-align:center}
.thr i{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);display:block}
.tech{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tech div{display:grid;gap:8px;align-content:start;min-width:0}
.tech h3{font-size:1.2rem}
.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.photo-strip figure{margin:0;display:grid;gap:8px}
.photo-strip img{width:100%;aspect-ratio:1;object-fit:cover}
.photo-strip figcaption{font:500 .74rem var(--mono);color:var(--slate)}
@media (max-width:860px){.tech{grid-template-columns:1fr}.photo-strip{grid-template-columns:1fr 1fr}}


/* hero: full photo */
.hero{position:relative;background:#18201d;border-bottom:0;overflow:hidden}
.hero .wrap{grid-template-columns:1fr;min-height:min(78vh,720px);align-items:end;padding-block:clamp(64px,10vw,120px) clamp(48px,7vw,80px)}
.hero-img{position:absolute;inset:0;aspect-ratio:auto;max-height:none}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,24,21,.82) 0%,rgba(16,24,21,.55) 45%,rgba(16,24,21,.05) 100%)}
.hero-img .h-full{display:block;object-position:70% 50%}
.hero-tag{display:none}
.hero-copy{position:relative;z-index:1;max-width:600px}
.hero h1{color:#fff}
.hero .lede{color:#dfe6e1}
.hero .eyebrow{color:#d8c6a2}
.hero .specline{color:#cfd8d2;border-color:rgba(255,255,255,.25)}
.hero .specline span{border-color:rgba(255,255,255,.25)}
.hero .btn{background:#9a7640;border-color:#9a7640;color:#fff}
.hero .btn.ghost{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
@media (max-width:760px){.hero-img::after{background:linear-gradient(180deg,rgba(16,24,21,.35) 0%,rgba(16,24,21,.78) 55%,rgba(16,24,21,.9) 100%)}.hero .wrap{min-height:min(88vh,760px)}}

/* certifications strip */
.certs{background:var(--green);color:var(--green-ink)}
.certs .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px;padding-block:18px}
.certs ul{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center}
.certs li{list-style:none;display:flex;align-items:center;gap:9px;font-size:.88rem;font-weight:500;letter-spacing:.02em;white-space:nowrap}
.certs li::before{content:"";width:16px;height:16px;flex:0 0 16px;border:1px solid var(--brass-soft);border-radius:50%;background:radial-gradient(circle,var(--brass-soft) 0 3px,transparent 3.5px)}
.certs p{font-size:.78rem;color:var(--green-muted);letter-spacing:.04em}

/* lookbook */
.lookbook{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:10px;padding-inline:10px}
.lookbook figure{margin:0;position:relative;overflow:hidden;aspect-ratio:3/4;max-width:100%}
.lookbook figure:nth-child(1),.lookbook figure:nth-child(4){aspect-ratio:auto}
.lookbook img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.lookbook figure:hover img{transform:scale(1.03)}
.lookbook figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 14px;background:linear-gradient(transparent,rgba(16,24,21,.72));color:#fff;font-size:.86rem;display:grid;gap:2px}
.lookbook figcaption b{font-family:var(--serif);font-weight:400;font-size:1.05rem}
.lb-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
@media (max-width:860px){.lookbook{grid-template-columns:repeat(4,72%);overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:16px;scrollbar-width:none}.lookbook figure{scroll-snap-align:start;aspect-ratio:3/4!important}}

/* sticky mobile quote bar */
.mbar{display:none}
@media (max-width:760px){
  .mbar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--paper);border-top:1px solid var(--line-2);box-shadow:0 -6px 20px rgba(20,30,26,.08);padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .mbar .btn{flex:1;min-height:46px}
  .mbar .btn.ghost{flex:0 0 auto}
  body.has-mbar{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  .toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}


/* manufacturing cards */
.mfg{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.mfg-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;align-items:start;border:1px solid var(--line);background:var(--stone);padding:18px;min-width:0}
.mfg-card img{width:100%;aspect-ratio:1;object-fit:cover}
.mfg-card > div{display:grid;gap:10px;min-width:0}
@media (max-width:960px){.mfg{grid-template-columns:1fr}}
@media (max-width:480px){.mfg-card{grid-template-columns:1fr}}

/* routing */

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 16px;font-size:.9rem;border-radius:2px;z-index:80;max-width:calc(100% - 32px)}

.skip{position:absolute;left:8px;top:8px;z-index:100;background:var(--paper);padding:8px 12px;clip-path:inset(50%);}
.skip:focus{clip-path:none}
.ccards{display:grid;gap:clamp(28px,4vw,44px)}
.ccard{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,48px);align-items:center;text-decoration:none;padding-bottom:clamp(28px,4vw,44px);border-bottom:1px solid var(--line)}
.ccard:nth-child(even) figure{order:2}
.ccard figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--mist);max-width:100%}
.ccard img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ccard:hover img{transform:scale(1.03)}
.ccard > div{display:grid;gap:14px;min-width:0}
.ccard h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.pn{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:28px 56px}
.prod{border-bottom:0}
@media (max-width:760px){.ccard{grid-template-columns:1fr}.ccard:nth-child(even) figure{order:0}}
