
:root{
  --paper:#EFE9DC;--well:#E3DAC5;--wellPdp:#ECE8DD;
  --ink:#2A2721;--ink2:#33302A;--ink-hover:#494438;
  --grey:#645B47;--grey2:#645B47;--line:#DCD2BC;
  --seal:#9C4A2F;--pill-bd:#C4B593;--on-seal:#F6F1E4;--pill-txt:#6B5E45;
  --serif:"Spectral",Georgia,serif;--sans:"Archivo",system-ui,sans-serif;
  --pad:clamp(20px,5vw,56px);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
:focus-visible{outline:2px solid var(--seal);outline-offset:2px;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2{font-family:var(--serif);font-weight:400;margin:0;}
/* ── Header ── */
header.top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px var(--pad);border-bottom:1px solid var(--line);flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:14px;}
.brand img{width:40px;height:40px;object-fit:contain;}
.wordmark{display:block;font-weight:500;font-size:14px;letter-spacing:.22em;color:var(--ink2);}
.tagline{display:block;font-family:var(--serif);font-style:italic;font-weight:300;font-size:12px;color:var(--seal);margin-top:2px;}
.nav{display:flex;gap:30px;align-items:center;}
.nav a{font-size:13px;color:var(--grey2);}
.nav a.on,.nav a:hover{color:var(--ink2);}
.cart-chip{font-family:var(--sans);font-size:13px;color:var(--on-seal);background:var(--seal);border:none;padding:9px 18px;border-radius:99px;cursor:pointer;}
.cart-chip:hover{background:#874026;}
/* ── Shop ── */
main.shop,main.pdp,main.landing,main.checkout{max-width:1440px;margin:0 auto;}
.hero{padding:clamp(36px,6vw,64px) var(--pad) 20px;}
.hero h1{font-size:clamp(32px,5vw,44px);line-height:1.1;color:var(--ink);}
.hero .intro{margin:16px 0 0;font-weight:300;font-size:16px;line-height:1.6;color:var(--grey);max-width:540px;}
/* toolbar: range pills + tools, sticky + compact */
.toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px var(--pad);background:rgba(239,233,220,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
.pills{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.pill{cursor:pointer;font-family:var(--sans);font-size:13px;padding:8px 16px;border-radius:99px;background:transparent;color:var(--pill-txt);border:1px solid var(--pill-bd);transition:all .2s;white-space:nowrap;}
.pill:hover{border-color:var(--seal);}
.pill.on{background:var(--seal);color:var(--on-seal);border-color:var(--seal);}
.pill.sm{font-size:12px;padding:6px 13px;}
.pill.swatch{display:inline-flex;align-items:center;gap:7px;}
.pill.swatch i{width:11px;height:11px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.15);}
.tools{margin-left:auto;display:flex;gap:8px;align-items:center;}
.tool{cursor:pointer;font-family:var(--sans);font-size:13px;padding:8px 14px;border-radius:99px;background:transparent;color:var(--ink2);border:1px solid var(--pill-bd);display:inline-flex;align-items:center;gap:7px;transition:all .2s;}
.tool:hover{border-color:var(--seal);}
.tool[aria-pressed="true"],.tool[aria-expanded="true"]{border-color:var(--seal);color:var(--seal);}
.tool .badge{background:var(--seal);color:var(--on-seal);border-radius:99px;font-size:11px;min-width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;}
.tool .badge[hidden]{display:none;}
.tool .dico{font-size:14px;line-height:1;}
/* segmented density control (Comfortable | Compact | Show all) */
.seg{display:inline-flex;border:1px solid var(--pill-bd);border-radius:99px;overflow:hidden;}
.seg-btn{font-family:var(--sans);font-size:12px;padding:7px 12px;background:transparent;border:none;color:var(--pill-txt);cursor:pointer;white-space:nowrap;}
.seg-btn+.seg-btn{border-left:1px solid var(--pill-bd);}
.seg-btn.on{background:var(--seal);color:var(--on-seal);}
/* refine panel: unified small pills, minimal chrome */
.refine{padding:16px var(--pad) 6px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid var(--line);}
.refine[hidden]{display:none;}
.rgroup{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.rlabel{flex:0 0 64px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey2);}
.rgroup .pills{flex:1;}
.clearf{align-self:flex-start;background:none;border:none;color:var(--seal);cursor:pointer;font-family:var(--sans);font-size:12px;text-decoration:underline;padding:0 0 4px;}
/* ── Chapters + grid (single continuous grid; headers are full-width rows) ── */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 24px;padding:16px var(--pad) 44px;}
.grid > .chapter-head{grid-column:1/-1;display:flex;align-items:baseline;gap:18px;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-top:34px;flex-wrap:wrap;}
.grid > .chapter-head:first-child{margin-top:6px;}
.chapter-head h2{font-size:clamp(22px,3vw,27px);color:var(--ink);}
.buyswhen{font-size:11px;letter-spacing:.16em;color:var(--seal);}
.chapter-count{margin-left:auto;font-weight:300;font-size:12px;color:var(--grey2);}
.tile{display:block;color:var(--ink);}
.well{position:relative;display:block;aspect-ratio:4/5;background:var(--well);overflow:hidden;border-radius:2px;}
.well .reveal{position:absolute;inset:0;width:100%;height:100%;}
.well .reveal.cover{object-fit:cover;}
.well .reveal.flat{object-fit:contain;padding:11%;}
.well .life{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease;}
.tile:hover .well .life{opacity:0;}
.tile-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:13px;}
.tile-name{font-size:14px;line-height:1.4;color:var(--ink);}
.tile-price{font-size:13px;color:var(--seal);white-space:nowrap;}
.empty{padding:0 var(--pad) 40px;color:var(--grey);}
/* Density: Compact → more, smaller tiles */
main.shop.dense .grid{grid-template-columns:repeat(6,1fr);gap:26px 16px;}
main.shop.dense .tile-name{font-size:12.5px;}
main.shop.dense .tile-price{font-size:11.5px;}
/* Show all → one dense grid, no range divisions, images only */
main.shop.superdense .grid{grid-template-columns:repeat(auto-fill,minmax(clamp(84px,11vw,120px),1fr));gap:16px 12px;}
main.shop.superdense .chapter-head{display:none!important;}
main.shop.superdense .tile-row{display:none;}
/* ── PDP (editorial) ── */
main.pdp{padding:clamp(18px,2.5vw,34px) var(--pad) 0;}
.pdp-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;}
.pdp-top .back{font-size:13px;color:var(--grey);}
.pdp-top .back:hover{color:var(--ink);}
.pn{display:flex;gap:18px;}
.pn a{font-size:13px;color:var(--grey2);}
.pn a:hover{color:var(--seal);}
.pdp-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,4vw,72px);align-items:start;}
.pdp-well{aspect-ratio:1/1;background:var(--wellPdp);overflow:hidden;border-radius:2px;}
.pdp-well img{width:100%;height:100%;}
.pdp-well #hero{padding:0;}
.thumbs{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;}
.thumb{width:76px;height:76px;padding:0;background:var(--wellPdp);border:1px solid transparent;overflow:hidden;cursor:pointer;}
.thumb img{width:100%;height:100%;}
.thumb.on{border-color:var(--ink);}
.pdp-info{position:sticky;top:76px;}
.eyebrow{margin:0 0 12px;}
.eyebrow a{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--seal);}
.pdp-tags{font-size:12.5px;color:var(--grey2);margin:0 0 18px;}
.pdp-tags a{color:var(--grey2);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px;}
.pdp-tags a:hover{color:var(--ink);text-decoration-color:var(--ink);}
.pdp-info h1{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.2vw,46px);line-height:1.08;color:var(--ink);}
.pdp-price{margin:14px 0 22px;font-size:17px;color:var(--ink);}
.pdp-desc{font-family:var(--serif);font-weight:300;font-size:clamp(17px,1.7vw,20px);line-height:1.65;color:var(--ink);margin:0 0 30px;max-width:46ch;}
/* editorial pager */
.pdp-pager{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:60px 0 0;padding:28px 0 36px;border-top:1px solid var(--line);}
.pager-card{display:flex;align-items:center;gap:14px;color:var(--ink);}
.pager-card.next{flex-direction:row-reverse;text-align:right;}
.pager-mini{width:52px;flex:none;aspect-ratio:4/5;background:var(--well);overflow:hidden;border-radius:2px;}
.pager-mini img{width:100%;height:100%;object-fit:cover;}
.pager-text{display:flex;flex-direction:column;gap:3px;}
.pager-dir{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey2);}
.pager-name{font-family:var(--serif);font-size:16px;}
.pager-card:hover .pager-name{color:var(--seal);}
.buyrow{display:flex;gap:14px;align-items:stretch;margin-bottom:14px;flex-wrap:wrap;}
.stepper{display:flex;align-items:center;border:1px solid #C9C2AF;}
.stepper button{background:none;border:none;cursor:pointer;padding:0 16px;font-family:var(--sans);font-weight:300;font-size:18px;color:var(--grey);height:52px;}
.stepper span{font-size:15px;color:var(--ink);min-width:24px;text-align:center;}
.btn-ink{background:var(--ink);border:1px solid var(--ink);color:var(--paper);cursor:pointer;font-family:var(--sans);font-size:14px;letter-spacing:.08em;height:54px;padding:0 22px;transition:background .3s;}
.btn-ink:hover{background:var(--ink-hover);}
.btn-ink.add{flex:1;min-width:220px;}
.reassure{margin:0 0 36px;font-weight:300;font-size:12.5px;color:var(--grey2);}
.accordion{border-top:1px solid #E4E0D4;}
.accordion details{border-bottom:1px solid #E4E0D4;}
.accordion summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-size:14px;color:var(--ink);}
.accordion summary::-webkit-details-marker{display:none;}
.accordion summary::after{content:"+";color:var(--grey2);}
.accordion details[open] summary::after{content:"–";}
.accordion p{margin:0 0 18px;font-weight:300;font-size:14px;line-height:1.8;color:var(--grey);}
.accordion .spec{margin:0 0 14px;padding-left:18px;font-weight:300;font-size:14px;line-height:1.8;color:var(--grey);}
.accordion a{color:var(--seal);text-decoration:underline;}
.sku{font-size:12px;color:var(--grey2);letter-spacing:.03em;}
.about{font-weight:300;font-size:13.5px;line-height:1.65;color:var(--grey2);margin:24px 0 0;}
/* related + landing */
.related{border-top:1px solid var(--line);}
.related-inner{max-width:1440px;margin:0 auto;padding:40px var(--pad) 10px;}
.related h2{font-size:22px;margin-bottom:6px;}
main.landing{padding:clamp(28px,4vw,56px) var(--pad) 40px;}
.landing .crumb{font-size:12px;color:var(--grey2);margin:0 0 14px;}
.landing h1{font-size:clamp(28px,4vw,40px);color:var(--ink);margin-bottom:10px;}
.landing .lede{font-weight:300;font-size:16px;line-height:1.6;color:var(--grey);max-width:560px;}
.landing .grid{padding-top:28px;}
.more{margin:26px 0 0;}
.more a{color:var(--seal);text-decoration:underline;}
/* ── Checkout ── */
main.checkout{padding:clamp(28px,4vw,56px) var(--pad) 64px;}
.checkout .crumb{font-size:13px;color:var(--grey);margin:0 0 12px;}
.checkout .crumb a:hover{color:var(--ink);}
.checkout h1{font-size:clamp(28px,4vw,40px);color:var(--ink);margin-bottom:24px;}
.co-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,56px);align-items:start;}
.co-summary{display:flex;flex-direction:column;}
.corow{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);}
.co-pay{position:sticky;top:76px;border:1px solid var(--line);border-radius:10px;padding:24px;background:#F6F1E4;}
.co-line{display:flex;justify-content:space-between;font-size:15px;margin-bottom:8px;color:var(--ink);}
.co-line.muted{color:var(--grey2);font-weight:300;font-size:13px;}
.co-note{font-weight:300;font-size:12.5px;line-height:1.6;color:var(--grey2);margin:12px 0 18px;}
.co-pay .btn-ink{width:100%;}
.co-pay .btn-ink:disabled{opacity:.5;cursor:not-allowed;}
.co-err{margin:12px 0 0;font-size:13px;color:var(--seal);}
.co-cont{display:inline-block;margin-top:16px;font-size:13px;color:var(--seal);text-decoration:underline;}
.checkout.success{max-width:640px;text-align:center;padding-top:clamp(50px,8vw,100px);}
.co-thanks{font-weight:300;font-size:16px;line-height:1.7;color:var(--grey);margin:16px auto 28px;}
.checkout.success .btn-ink{display:inline-block;padding:0 28px;line-height:54px;}
/* footer */
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:1440px;margin:32px auto 0;padding:34px var(--pad);border-top:1px solid var(--line);font-weight:300;font-size:12px;color:var(--grey2);}
/* ── Cart drawer ── */
.scrim{position:fixed;inset:0;background:rgba(30,28,23,.32);opacity:0;pointer-events:none;transition:opacity .4s ease;z-index:40;}
.scrim.open{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,90vw);background:var(--paper);border-left:1px solid var(--line);display:flex;flex-direction:column;transform:translateX(104%);transition:transform .45s cubic-bezier(.32,.72,.28,1);box-shadow:-24px 0 60px rgba(30,28,23,.12);z-index:50;}
.drawer.open{transform:translateX(0);}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:26px 32px;border-bottom:1px solid #E4E0D4;}
.drawer-title{font-family:var(--serif);font-size:16px;color:var(--ink);}
.drawer-x{background:none;border:none;cursor:pointer;font-size:22px;line-height:1;color:var(--grey);padding:4px;}
.drawer-items{flex:1;overflow-y:auto;padding:8px 32px;}
.cempty{margin:40px 0;font-weight:300;font-size:14px;color:var(--grey2);text-align:center;}
.citem{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--wellPdp);}
.cthumb{width:72px;aspect-ratio:4/5;background:var(--wellPdp);overflow:hidden;flex:none;}
.cthumb img{width:100%;height:100%;object-fit:cover;}
.cbody{flex:1;display:flex;flex-direction:column;gap:6px;}
.cname{font-family:var(--serif);font-size:14.5px;color:var(--ink);}
.crange{font-weight:300;font-size:12px;color:var(--grey2);}
.cctrls{display:flex;align-items:center;gap:14px;margin-top:auto;}
.cstep{display:flex;align-items:center;border:1px solid #DDD7C6;}
.cstep button{background:none;border:none;cursor:pointer;padding:4px 10px;font-weight:300;font-size:14px;color:var(--grey);}
.cstep span{font-size:13px;color:var(--ink);min-width:16px;text-align:center;}
.crem{background:none;border:none;cursor:pointer;font-weight:300;font-size:12px;color:var(--grey2);text-decoration:underline;padding:0;}
.cline{font-size:14px;color:var(--ink);white-space:nowrap;}
.drawer-foot{padding:26px 32px 30px;border-top:1px solid #E4E0D4;}
.drawer-sub{display:flex;justify-content:space-between;margin-bottom:6px;font-size:14px;color:var(--ink);}
.drawer-note{margin:0 0 18px;font-weight:300;font-size:12px;color:var(--grey2);}
.drawer-foot .btn-ink{width:100%;}
/* ── Responsive ── */
@media (max-width:1100px){ .grid{grid-template-columns:repeat(3,1fr);} main.shop.dense .grid{grid-template-columns:repeat(4,1fr);} }
@media (max-width:820px){
  .pdp-grid,.co-grid{grid-template-columns:1fr;}
  .pdp-info,.co-pay{position:static;}
  .grid{grid-template-columns:repeat(2,1fr);gap:28px 18px;}
  main.shop.dense .grid{grid-template-columns:repeat(3,1fr);}
  .nav{gap:16px;}
  .toolbar{position:static;}
}
@media (max-width:460px){
  .grid,main.shop.dense .grid{grid-template-columns:1fr 1fr;gap:20px 14px;}
  .pdp-pager{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  .well .life,.drawer,.scrim{transition:none;}
  html{scroll-behavior:auto;}
}
