
/* Layout: Asandi brand system. Editorial, image-led, ivory grounds, forest-green sections, generous whitespace. Single light theme by brand choice. */
:root{
  --bg:#F4F0E8; --bg2:#EAE4D9; --panel:#FAF8F3; --fg:#171614; --muted:#5f5a53; --line:#D8D0C3;
  --forest:#173C32; --ivory:#F4F0E8; --obsidian:#171614; --stone:#D8D0C3; --sage:#899487; --mocha:#6B5B4D; --brass:#A88B5A; --brassOnDark:#C9B083;
  --walnut:#173C32; --charcoal:#173C32; --onDark:#F4F0E8; --ok:#4f6155;
  --display:"Cormorant Garamond", "Canela", Georgia, serif;
  --body:"Manrope", "Neue Haas Grotesk", "Inter", "Helvetica Neue", Arial, sans-serif;
  --italic:"Cormorant Garamond", Georgia, serif;
  --wrap:1280px; color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
@media (max-width:1200px){.nav{gap:1.1rem;font-size:.7rem}}
@media (max-width:640px){.announce .long{display:none}}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-weight:400;font-size:14.5px;line-height:1.65;margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.15;margin:0;text-wrap:balance;letter-spacing:.01em}
h1{font-size:clamp(2.5rem,5vw,4.4rem)} h2{font-size:clamp(1.9rem,3.3vw,2.8rem)} h3{font-size:1.5rem} h4{font-size:1.25rem}
p{margin:0}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,48px)}
.eyebrow{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mocha);font-weight:600}
.lede{font-size:1.08rem;color:var(--muted);max-width:62ch}
.it{font-family:var(--italic);font-style:italic;font-size:1.2em}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 1.7rem;border:1px solid var(--forest);background:var(--forest);color:var(--ivory);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:background .25s,color .25s}
.btn:hover{background:transparent;color:var(--forest)}
.btn.ghost{background:transparent;color:var(--forest)}
.btn.ghost:hover{background:var(--forest);color:var(--ivory)}
.btn.light{border-color:var(--onDark);background:var(--onDark);color:#171614}
.btn.light:hover{background:transparent;color:var(--onDark)}
.btn.lightghost{border-color:var(--onDark);background:transparent;color:var(--onDark)}
.link{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px;font-weight:500;background:none;border-top:0;border-left:0;border-right:0;padding-inline:0}
section{padding-block:clamp(56px,8vw,110px)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.4rem}
.sec-head > div{display:grid;gap:.7rem;max-width:640px}
.art{display:block;width:100%;height:auto;background:var(--bg2)}
.art svg{display:block;width:100%;height:auto}

img.ph{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--bg2)}
.art[style*="aspect-ratio"]>img.ph,.gmain img.ph{height:100%;aspect-ratio:auto}
.gmain img.ph{aspect-ratio:1/1}
img.ph.prod{object-fit:contain;background:#fff}
.gmain img.ph.prod{aspect-ratio:4/5}
.thumbs img.ph.prod{aspect-ratio:4/5}
.hero-art img.ph{height:100%;min-height:420px;aspect-ratio:auto}
.lifestyle img.ph{height:100%}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:3rem}
@media (max-width:760px){.gallery-grid{grid-template-columns:1fr 1fr}}
/* announcement + header */
.announce{background:var(--forest);color:var(--onDark);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:.55rem 16px}
.announce b{font-weight:500;color:#C9B083}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.hbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:84px}
.logo{display:block;justify-self:center;line-height:0}
.logo img{height:68px;width:auto;display:block}
.flogo img{height:92px;width:auto;display:block}
.logo small{display:block;font-family:var(--body);font-size:.52rem;letter-spacing:.38em;color:var(--muted);margin-top:-4px}
.nav{display:flex;gap:1.5rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.nav a,.nav button{background:none;border:0;padding:.4rem 0;position:relative;letter-spacing:inherit;text-transform:inherit;font-size:inherit;font-weight:inherit}
.nav a:hover,.nav button:hover,.nav .on{color:var(--brass)}
.icons{display:flex;justify-content:flex-end;align-items:center;gap:.35rem}
.nav-r{margin-right:1.1rem}
.hbar{column-gap:1.5rem}
@media (max-width:1200px){.nav{gap:.95rem;font-size:.68rem;letter-spacing:.13em}.nav-r{margin-right:.6rem}.icons{gap:.1rem}}
.ic{background:none;border:0;width:40px;height:40px;display:grid;place-items:center;position:relative;border-radius:50%}
.ic:hover{background:var(--bg2)}
.ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.4}
.badge{position:absolute;top:4px;right:3px;background:var(--forest);color:#fff;font-size:.62rem;min-width:16px;height:16px;border-radius:8px;display:grid;place-items:center;font-weight:600}
.burger{display:none}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 20px 40px -24px rgba(0,0,0,.25)}
.mega .wrap{display:grid;grid-template-columns:repeat(4,1fr) 1.4fr;gap:2rem;padding-block:2rem}
.mega h5{font-family:var(--body);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin:0 0 .8rem;font-weight:500}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.mega a:hover{color:var(--brass)}
.mega .feat{display:grid;gap:.6rem}
@media (max-width:980px){.nav{display:none}.burger{display:grid}.hbar{grid-template-columns:auto 1fr auto;height:70px}.logo img{height:50px}}

/* mobile drawer, cart, search */
.scrim{position:fixed;inset:0;background:rgba(20,16,12,.45);z-index:60}
.drawer{position:fixed;top:0;bottom:0;right:0;width:min(440px,100%);background:var(--panel);z-index:61;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:-20px 0 40px -20px rgba(0,0,0,.3)}
.drawer.left{left:0;right:auto}
.dhead{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.4rem;border-bottom:1px solid var(--line)}
.dbody{flex:1;overflow:auto;padding:1.2rem 1.4rem;display:grid;gap:1.1rem;align-content:start}
.dfoot{border-top:1px solid var(--line);padding:1.2rem 1.4rem;display:grid;gap:.8rem}
.mnav a{display:block;font-family:var(--display);font-size:1.5rem;padding:.35rem 0;border-bottom:1px solid var(--line)}
.citem{display:grid;grid-template-columns:84px 1fr auto;gap:1rem;align-items:start}
.citem .meta{min-width:0;display:grid;gap:.2rem}
.qty{display:inline-flex;border:1px solid var(--line);align-items:center;width:max-content}
.qty button{background:none;border:0;width:30px;height:30px}
.qty span{min-width:26px;text-align:center;font-variant-numeric:tabular-nums}
.search-panel{position:fixed;left:0;right:0;top:0;background:var(--panel);z-index:61;padding-top:env(safe-area-inset-top,0px);max-height:88vh;overflow:auto;box-shadow:0 20px 40px -20px rgba(0,0,0,.3)}
.search-panel input{width:100%;font-family:var(--display);font-size:clamp(1.4rem,3vw,2.2rem);border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--fg);padding:1.4rem 0;outline:none}

/* hero */
.hero{position:relative;padding:0;background:var(--bg2)}
.hero-grid{display:grid;grid-template-columns:1fr 1.25fr;min-height:560px}
.hero-copy{padding:clamp(40px,6vw,90px) clamp(16px,4vw,64px);display:flex;flex-direction:column;justify-content:center;gap:1.6rem}
.hero-copy h1 em{font-family:var(--italic);font-style:italic;color:var(--forest)}
.hero-art{position:relative;overflow:hidden}
.hero-art .art,.hero-art svg{height:100%;width:100%;object-fit:cover}
.hero-art svg{min-height:100%}
.hero-cap{position:absolute;left:1.2rem;bottom:1.2rem;background:rgba(251,248,243,.92);color:#171614;padding:.7rem 1rem;font-size:.78rem;display:grid;gap:.1rem;max-width:calc(100% - 2.4rem)}
.hero-cap b{font-family:var(--display);font-weight:500;font-size:1rem}
.hero-dots{display:flex;gap:.5rem}
.hero-dots button{width:34px;height:2px;border:0;background:var(--line);padding:0}
.hero-dots button.on{background:var(--fg)}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;min-height:0}.hero-art{order:-1}}

.trust{border-block:1px solid var(--line);padding-block:1.4rem}
.trust .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.trust div{display:flex;gap:.7rem;align-items:center;font-size:.8rem;color:var(--muted)}
.trust svg{flex:none;width:26px;height:26px;stroke:var(--brass);fill:none;stroke-width:1.2}
@media (max-width:860px){.trust .wrap{grid-template-columns:repeat(2,1fr)}}

.intro{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(24px,6vw,96px);align-items:start}
.intro .big{font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.35}
.intro .cols{display:grid;gap:1.2rem;color:var(--muted)}
.etym{border-left:1px solid var(--brass);padding-left:1rem;font-size:.9rem}
.etym b{font-family:var(--display);font-weight:500;font-size:1.3rem;color:var(--fg);display:block}
@media (max-width:860px){.intro{grid-template-columns:1fr}}

/* category tiles */
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.cat{display:grid;gap:.7rem;text-align:left;background:none;border:0;padding:0}
.cat .art{overflow:hidden}
.cat .art svg{transition:transform .6s}
.cat:hover .art svg{transform:scale(1.04)}
.cat span{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
@media (max-width:980px){.cats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.cats{grid-template-columns:repeat(2,1fr)}}

/* product cards */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.2rem 1.4rem}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1080px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.grid,.grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem 1rem}}
.card{display:grid;gap:.75rem;align-content:start;min-width:0}
.card .img{position:relative;overflow:hidden;cursor:pointer}
.card .img svg{transition:transform .7s}
.card:hover .img svg{transform:scale(1.035)}
.tag{position:absolute;top:.7rem;left:.7rem;background:var(--panel);color:var(--fg);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:.3rem .55rem;font-weight:500}
.heart{position:absolute;top:.5rem;right:.5rem;width:34px;height:34px;border-radius:50%;border:0;background:rgba(251,248,243,.9);display:grid;place-items:center;color:#171614}
.heart svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}
.heart.on svg{fill:#173C32;stroke:#173C32}
.quick{position:absolute;left:.7rem;right:.7rem;bottom:.7rem;opacity:0;transform:translateY(6px);transition:.3s;background:var(--forest);color:var(--ivory);border:0;padding:.7rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.card:hover .quick,.quick:focus-visible{opacity:1;transform:none}
@media (hover:none){.quick{display:none}}
.card h4{font-size:1.08rem;cursor:pointer}
.card .mat{font-size:.8rem;color:var(--muted)}
.price{display:flex;gap:.6rem;align-items:baseline;font-variant-numeric:tabular-nums;flex-wrap:wrap}
.price b{font-weight:500}
.price s{color:var(--muted);font-size:.85em}
.price .off{color:var(--ok);font-size:.78rem}
.swatches{display:flex;gap:.35rem}
.swatches i{width:12px;height:12px;border-radius:50%;border:1px solid var(--line);display:block}

/* collections band */
.colband{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.colcard{position:relative;display:grid;overflow:hidden;background:var(--forest);border:0;padding:0;text-align:left;color:var(--ivory)}
.colcard .shade{display:none}
.colcard .txt{padding:1.4rem 1.6rem 1.7rem;display:grid;gap:.45rem}
.colcard .txt .eyebrow{color:var(--brassOnDark)}
.colcard h3{font-size:clamp(1.6rem,2.6vw,2.3rem)}
.colcard p{font-size:.9rem;opacity:.85;max-width:52ch}
@media (max-width:760px){.colband{grid-template-columns:1fr}}
/* story + craft */
.story{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,6vw,90px);align-items:center}
.story .copy{display:grid;gap:1.3rem}
@media (max-width:860px){.story{grid-template-columns:1fr}}
.craft{background:var(--forest);color:var(--onDark)}
.craft .eyebrow{color:#C9B083}
.craft .lede{color:#c9cfc6}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1.4rem;margin-top:2.6rem}
.step{display:grid;gap:.8rem;align-content:start;border-top:1px solid rgba(244,238,228,.25);padding-top:1.2rem}
.step .n{font-family:var(--display);color:#C9B083;font-size:.95rem}
.step p{font-size:.88rem;color:#c9cfc6}
@media (max-width:980px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

.lifestyle{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:1rem}
.lifestyle .a{grid-row:span 2}
.lifestyle figure{margin:0;position:relative}
.lifestyle figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(251,248,243,.92);color:#171614;font-size:.76rem;padding:.4rem .7rem;letter-spacing:.06em}
@media (max-width:760px){.lifestyle{grid-template-columns:1fr}.lifestyle .a{grid-row:auto}}

.tabs{display:flex;gap:1.6rem;border-bottom:1px solid var(--line);margin-bottom:2rem;overflow-x:auto}
.tabs button{background:none;border:0;padding:.8rem 0;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}
.tabs button.on{color:var(--fg);border-color:var(--fg)}

.trade{display:grid;grid-template-columns:1fr 1fr;background:var(--bg2)}
.trade .copy{padding:clamp(32px,6vw,80px);display:grid;gap:1.2rem;align-content:center}
.trade ul{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}
.trade li{display:flex;gap:.7rem;font-size:.92rem}
.trade li:before{content:"";width:18px;height:1px;background:var(--brass);margin-top:.8em;flex:none}
@media (max-width:860px){.trade{grid-template-columns:1fr}}

.journal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.jcard{display:grid;gap:.8rem;cursor:pointer;background:none;border:0;padding:0;text-align:left;align-content:start}
.jcard h4{font-size:1.25rem}
.jcard p{font-size:.9rem;color:var(--muted)}
@media (max-width:860px){.journal{grid-template-columns:1fr}}

.insta{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}
@media (max-width:760px){.insta{grid-template-columns:repeat(3,1fr)}}

.news{background:var(--forest);color:var(--ivory);text-align:center}
.news form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.6rem;max-width:880px;margin:2rem auto 0}
.news input{background:transparent;border:1px solid currentColor;color:inherit;padding:.9rem 1rem;font:inherit}
.news input::placeholder{color:inherit;opacity:.7}
.news .btn{border-color:var(--ivory);background:var(--ivory);color:var(--forest)}
.news .btn:hover{background:transparent;color:var(--ivory)}
@media (max-width:760px){.news form{grid-template-columns:1fr}}

footer.site{background:var(--obsidian);color:#bdb6aa;padding-block:4rem 2rem;font-size:.9rem}
.fgrid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:2rem}
.fgrid h5{color:#F4F0E8;font-family:var(--body);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin:0 0 1rem;font-weight:500}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.fgrid a:hover,.fgrid button:hover{color:#F4F0E8}
a.cat,a.colcard,a.jcard,a.pcard{color:inherit}
a.colcard{color:var(--ivory)}
.fgrid button{background:none;border:0;padding:0;text-align:left;color:inherit}
.fbottom{border-top:1px solid rgba(244,238,228,.15);margin-top:3rem;padding-top:1.4rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}.fgrid > div:first-child{grid-column:1/-1}}

/* page header + crumbs */
.phead{padding-block:2.2rem 1rem}
.crumbs{font-size:.74rem;letter-spacing:.1em;color:var(--muted);display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.crumbs a{background:none;border:0;padding:0;color:inherit}
.crumbs a:hover{color:var(--fg)}
.crumbs button{background:none;border:0;padding:0;color:inherit;letter-spacing:inherit;font-size:inherit}
.crumbs button:hover{color:var(--fg)}
.banner{display:grid;grid-template-columns:1fr 1.3fr;gap:0;background:var(--bg2);margin-bottom:2.4rem}
.banner .copy{padding:clamp(24px,5vw,60px);display:grid;gap:1rem;align-content:center}
@media (max-width:760px){.banner{grid-template-columns:1fr}}

/* shop layout */
.shop{display:grid;grid-template-columns:240px minmax(0,1fr);gap:2.4rem;padding-bottom:5rem}
.filters{display:grid;gap:1.6rem;align-content:start;position:sticky;top:96px}
.fgroup h6{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;margin:0 0 .6rem;font-weight:600;font-family:var(--body)}
.fgroup label{display:flex;gap:.55rem;align-items:center;font-size:.88rem;padding:.14rem 0;cursor:pointer}
.fgroup input[type=checkbox]{accent-color:#173C32}
.fgroup input[type=range]{width:100%;accent-color:#173C32}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.6rem;flex-wrap:wrap;font-size:.86rem}
select,.field input,.field textarea,.field select{font:inherit;color:var(--fg);background:var(--panel);border:1px solid var(--line);padding:.7rem .8rem;width:100%}
.toolbar select{width:auto}
.ftoggle{display:none}
.chips{display:flex;gap:.4rem;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--panel);padding:.25rem .65rem;font-size:.76rem;border-radius:20px}
.seo{margin-top:4rem;border-top:1px solid var(--line);padding-top:2rem;display:grid;gap:.8rem;max-width:760px;color:var(--muted);font-size:.92rem}
.seo h3{color:var(--fg)}
@media (max-width:900px){.shop{grid-template-columns:1fr}.filters{display:none;position:static}.filters.open{display:grid}.ftoggle{display:inline-flex}}

/* product page */
.pdp{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,64px);padding-bottom:3rem}
.gallery{display:grid;grid-template-columns:72px 1fr;gap:.8rem;align-self:start;position:sticky;top:96px}
.thumbs{display:grid;gap:.6rem;align-content:start}
.thumbs button{border:1px solid transparent;padding:0;background:none}
.thumbs button.on{border-color:var(--fg)}
.gmain{position:relative}
.gmain .lbl{position:absolute;left:.8rem;bottom:.8rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;background:rgba(251,248,243,.9);color:#171614;padding:.3rem .6rem}
.pinfo{display:grid;gap:1.3rem;align-content:start;min-width:0}
.pinfo .price{font-size:1.3rem}
.opt{display:grid;gap:.6rem}
.opt h6{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;margin:0;font-weight:600;font-family:var(--body);display:flex;justify-content:space-between;gap:1rem}
.opt h6 span{font-weight:400;letter-spacing:.04em;text-transform:none;color:var(--muted);font-size:.82rem}
.opts{display:flex;flex-wrap:wrap;gap:.5rem}
.sw{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);padding:3px;background:var(--panel)}
.sw i{display:block;width:100%;height:100%;border-radius:50%}
.sw.on{border:2px solid var(--fg)}
.pill{border:1px solid var(--line);background:var(--panel);padding:.55rem .9rem;font-size:.84rem}
.pill.on{border-color:var(--forest);background:var(--forest);color:var(--ivory)}
.custom-dims{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.buy{display:grid;grid-template-columns:auto 1fr;gap:.6rem}
.buy .btn{width:100%}
.buy .full{grid-column:1/-1}
.note{background:var(--bg2);padding:1rem 1.1rem;font-size:.86rem;display:grid;gap:.5rem}
.note .row{display:flex;gap:.6rem;align-items:flex-start}
.note svg{width:18px;height:18px;flex:none;stroke:var(--brass);fill:none;stroke-width:1.4;margin-top:3px}
.pin{display:flex;gap:.5rem}
.pin input{flex:1;min-width:0}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;padding:1rem 0;display:flex;justify-content:space-between;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.acc summary::-webkit-details-marker{display:none}
.acc summary:after{content:"+";font-size:1.1rem;line-height:1}
.acc details[open] summary:after{content:"–"}
.acc .in{padding-bottom:1.2rem;font-size:.92rem;color:var(--muted);display:grid;gap:.6rem}
table.spec{width:100%;border-collapse:collapse;font-size:.88rem}
table.spec td{padding:.5rem 0;border-bottom:1px solid var(--line);vertical-align:top}
table.spec td:first-child{color:var(--muted);width:42%}
@media (max-width:900px){.pdp{grid-template-columns:1fr}.gallery{position:static;grid-template-columns:1fr}.thumbs{grid-auto-flow:column;grid-auto-columns:64px;overflow-x:auto;order:2}}
.pstory{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2rem}
.pstory > div{display:grid;gap:.6rem;align-content:start}
.pstory b{font-family:var(--display);font-weight:500;font-size:1.15rem}
.pstory p{font-size:.88rem;color:var(--muted)}
@media (max-width:900px){.pstory{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pstory{grid-template-columns:1fr}}
.fbt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(200px,.9fr);gap:1rem;align-items:center}
.fbt .item{display:grid;gap:.4rem;font-size:.86rem}
.fbt .item label{display:flex;gap:.4rem;align-items:center}
.fbt .sum{background:var(--bg2);padding:1.2rem;display:grid;gap:.8rem}
@media (max-width:860px){.fbt{grid-template-columns:1fr 1fr}.fbt .sum{grid-column:1/-1}}
.reviews{display:grid;grid-template-columns:260px 1fr;gap:3rem}
.rsum{display:grid;gap:.6rem;align-content:start}
.rsum .big{font-family:var(--display);font-size:3.4rem;line-height:1}
.stars{color:var(--brass);letter-spacing:.12em}
.bars{display:grid;gap:.3rem;font-size:.8rem}
.bars div{display:grid;grid-template-columns:28px 1fr 26px;gap:.5rem;align-items:center}
.bars span.b{height:4px;background:var(--line);position:relative}
.bars span.b i{position:absolute;inset:0 auto 0 0;background:var(--brass)}
.rlist{display:grid;gap:1.6rem}
.rev{display:grid;gap:.4rem;border-bottom:1px solid var(--line);padding-bottom:1.4rem}
.rev .who{font-size:.8rem;color:var(--muted)}
.verified{color:var(--ok);font-size:.74rem}
@media (max-width:760px){.reviews{grid-template-columns:1fr}}

/* generic content pages */
.prose{max-width:68ch;display:grid;gap:1.1rem;font-size:1rem}
.prose h2{margin-top:1rem}
.prose h3{margin-top:.6rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:start}
.two > *{min-width:0}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.pillars > div{border-top:1px solid var(--fg);padding-top:1rem;display:grid;gap:.5rem}
.pillars p{font-size:.9rem;color:var(--muted)}
@media (max-width:860px){.pillars{grid-template-columns:1fr 1fr}}
.materials{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.materials > div{display:grid;gap:.5rem}
.materials .chipbig{aspect-ratio:1;border:1px solid var(--line)}
.materials .chipbig.matimg{overflow:hidden;background:var(--bg2)}
.materials .chipbig.matimg img.ph{width:100%;height:100%;aspect-ratio:1;object-fit:cover;transition:transform .8s}
.materials > div:hover .chipbig.matimg img.ph{transform:scale(1.05)}
.materials p{font-size:.84rem;color:var(--muted)}
@media (max-width:860px){.materials{grid-template-columns:repeat(2,1fr)}}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form .full{grid-column:1/-1}
.field{display:grid;gap:.35rem;font-size:.8rem;letter-spacing:.06em}
.field span{color:var(--muted)}
.ok{background:var(--bg2);border-left:2px solid var(--ok);padding:1rem;font-size:.9rem}
@media (max-width:600px){.form{grid-template-columns:1fr}}
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;counter-reset:s}
.process > div{border-top:1px solid var(--line);padding-top:1rem;display:grid;gap:.5rem}
.process b{font-family:var(--display);font-weight:500;font-size:1.15rem}
.process .n{color:var(--brass);font-size:.8rem;letter-spacing:.14em}
.process p{font-size:.86rem;color:var(--muted)}
@media (max-width:900px){.process{grid-template-columns:1fr 1fr}}
.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem 1.6rem}
.pcard{display:grid;gap:.8rem;background:none;border:0;padding:0;text-align:left;cursor:pointer}
.pcard .m{font-size:.8rem;color:var(--muted);display:flex;gap:1rem;flex-wrap:wrap}
@media (max-width:760px){.projects{grid-template-columns:1fr}}
.catalogue{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.spread{background:var(--panel);border:1px solid var(--line);aspect-ratio:3/4;padding:1.1rem;display:flex;flex-direction:column;justify-content:space-between;gap:.6rem;font-size:.74rem;min-width:0;overflow:hidden}
.spread.dark{background:var(--charcoal);color:var(--onDark);border-color:var(--charcoal)}
.spread .t{font-family:var(--display);font-size:1.2rem}
@media (max-width:860px){.catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:1.1rem 0;font-family:var(--display);font-size:1.15rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--brass)}
.faq details[open] summary:after{content:"–"}
.faq .a{padding-bottom:1.2rem;color:var(--muted);max-width:70ch}
.side-tabs{display:grid;grid-template-columns:220px 1fr;gap:3rem}
.side-tabs nav{display:grid;gap:.2rem;align-content:start}
.side-tabs nav a{display:block;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.side-tabs nav a.on{color:var(--forest)}
.side-tabs nav button{text-align:left;background:none;border:0;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.side-tabs nav button.on{color:var(--brass)}
@media (max-width:760px){.side-tabs{grid-template-columns:1fr}.side-tabs nav{grid-auto-flow:column;overflow-x:auto;gap:1rem}.side-tabs nav button{white-space:nowrap}}
.wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:35;background:var(--forest);color:var(--bg);border:0;border-radius:40px;padding:.8rem 1.1rem;display:flex;gap:.55rem;align-items:center;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 10px 30px -10px rgba(0,0,0,.4)}
.wa svg{width:18px;height:18px;fill:currentColor}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--forest);color:var(--ivory);padding:.8rem 1.2rem;font-size:.86rem;z-index:80;max-width:calc(100% - 32px)}
.preview-flag{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#C9B083}
.empty{padding:3rem 0;text-align:center;display:grid;gap:1rem;justify-items:center;color:var(--muted)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
