/* Applied Attention — one house system (v6, 2026-11-03).
   Every page runs on these tokens and components. Shop pages add
   /shop/shop.css for filters, product layout and cart only.
   Tokens: ink #111111, charcoal #292925, ivory #F5F3ED, gold #8C6A32, gold-soft #D8B780. */
:root{
  --ink:#111111; --char:#292925; --ivory:#F5F3ED; --white:#FFFFFF;
  --gold:#8C6A32; --gold-soft:#D8B780;
  --ink-2:#1A1A18; --line-dark:#3A3A34; --line-light:#DDD6C4; --field:#B9B09A;
  --mute-dark:#A8A092; --mute-light:#6E685C;
  --f-ui:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  /* one type scale */
  --t-xs:11px; --t-sm:13px; --t-base:15px; --t-md:18px; --t-lg:24px; --t-xl:clamp(28px,3.4vw,40px);
  /* one spacing rhythm */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px;
  --wrap:1320px; --gutter:clamp(16px,3vw,40px); --head-h:60px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{background:var(--ink);color:var(--ivory);font-family:var(--f-ui);font-size:var(--t-base);line-height:1.5;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--gold-soft);}
button,input,select{font:inherit;color:inherit;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* Surfaces: dark is the default; .light is the ivory surface. */
.light{background:var(--ivory);color:var(--char);}
.light a:hover{color:var(--gold);}
.sec{padding:var(--s7) 0;}
.sec--char{background:var(--char);}
.sec + .sec:not(.sec--char):not(.light):not(.partner-band){padding-top:0;}
.light + .sec.sec.sec.sec.sec,.sec--char + .sec.sec.sec.sec.sec,.partner-band + .sec.sec.sec.sec.sec{padding-top:var(--s7);}
@media (max-width:640px){.light + .sec.sec.sec.sec.sec,.sec--char + .sec.sec.sec.sec.sec,.partner-band + .sec.sec.sec.sec.sec{padding-top:var(--s6);}}

/* Type */
.eyebrow,.crumb,.card-meta{font-size:var(--t-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-stretch:112%;color:var(--mute-dark);}
.light .eyebrow,.light .crumb,.light .card-meta{color:var(--mute-light);}
.crumb a{color:var(--gold-soft);}
.light .crumb a{color:var(--gold);}
.h-display{font-family:var(--f-display);font-weight:400;font-size:var(--t-xl);line-height:1.08;letter-spacing:-.01em;text-wrap:balance;}
.h-sec{font-family:var(--f-display);font-weight:400;font-size:var(--t-lg);line-height:1.15;text-wrap:balance;}
.lede{font-size:var(--t-base);line-height:1.55;color:var(--mute-dark);max-width:62ch;text-wrap:pretty;}
.light .lede{color:var(--mute-light);}
.note{font-size:var(--t-sm);line-height:1.55;color:var(--mute-dark);text-wrap:pretty;}
.note a,.lede a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px;}
.light .note a,.light .lede a{color:var(--gold);}
.stack{display:grid;gap:var(--s3);align-content:start;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4) var(--s5);flex-wrap:wrap;margin-bottom:var(--s5);}
.sec-head > .stack{max-width:720px;}
.link-more{font-size:var(--t-xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-stretch:112%;padding-bottom:3px;border-bottom:1px solid currentColor;white-space:nowrap;}

/* Header — identical on every page, dark on light pages too */
.site-head{position:sticky;top:0;z-index:50;background:var(--ink);color:var(--ivory);border-bottom:1px solid var(--line-dark);}
.head-in{display:flex;align-items:center;gap:var(--s6);min-height:var(--head-h);}
.brand{display:flex;align-items:center;gap:var(--s3);flex-shrink:0;}
.brand img{height:18px;width:auto;}
.brand span{font-size:var(--t-xs);font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-stretch:125%;}
.head-nav{display:flex;gap:var(--s5);flex:1;}
.head-nav a,.head-act a{font-size:var(--t-sm);letter-spacing:.04em;white-space:nowrap;}
.head-act{display:flex;align-items:center;gap:var(--s5);}
.site-head a:hover{color:var(--gold-soft);}
.cart-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:4px;border-radius:10px;background:var(--gold-soft);color:var(--ink);font-size:11px;font-weight:700;letter-spacing:0;line-height:1;}
@media (max-width:860px){
  .head-in{flex-wrap:wrap;gap:0 var(--s5);padding-top:var(--s3);}
  .head-act{margin-left:auto;}
  .head-nav{order:3;flex-basis:100%;overflow-x:auto;padding:var(--s3) 0;gap:var(--s5);scrollbar-width:none;}
}

/* Buttons — one button, three tones */
.btn,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:44px;padding:0 22px;border:1px solid var(--ink);background:var(--ink);color:var(--ivory);font-family:var(--f-ui);font-size:var(--t-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-stretch:112%;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;}
.btn:hover,.btn-primary:hover{background:var(--gold);border-color:var(--gold);color:var(--white);}
.btn--light{background:var(--ivory);border-color:var(--ivory);color:var(--ink);}
.btn--light:hover{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--ink);}
.btn--ghost{background:transparent;border-color:currentColor;color:inherit;}
.btn--ghost:hover{background:transparent;border-color:var(--gold-soft);color:var(--gold-soft);}
.light .btn--ghost:hover{border-color:var(--gold);color:var(--gold);}
.btn--sm{height:34px;padding:0 14px;}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s2);}
.tag{display:inline-block;align-self:flex-start;font-size:var(--t-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-stretch:112%;color:var(--gold-soft);border:1px solid var(--line-dark);padding:6px 10px;}

/* Image frames — one frame (4:5). Product art is contained on white;
   editorial photos fill the frame. */
.frame{position:relative;aspect-ratio:4/5;background:var(--white);overflow:hidden;}
.light .frame{outline:1px solid var(--line-light);outline-offset:-1px;}
.frame img{width:100%;height:100%;object-fit:contain;padding:6%;transition:transform .35s ease;}
.frame--photo{background:var(--ink-2);}
.frame--photo img{object-fit:cover;padding:0;}
.frame--ink{background:#0B0B0B;}
.frame--ink img{padding:4%;}
.frame--empty{display:grid;place-items:center;background:var(--ivory);}
.frame--empty img{width:40%;height:auto;padding:0;opacity:.5;}
.type-frame{aspect-ratio:4/5;display:grid;place-items:center;padding:14%;background:var(--ink);text-align:center;font-family:var(--f-display);font-size:clamp(22px,2.2vw,28px);line-height:1.15;color:var(--ivory);}
.type-frame em{display:block;margin-bottom:var(--s3);font-size:.7em;color:var(--gold-soft);}

/* The card — every product, line and tile on the site */
.card{display:flex;flex-direction:column;gap:var(--s3);min-width:0;}
.card:hover{color:inherit;}
.card:hover .frame img{transform:scale(1.035);}
.card-link{display:flex;flex-direction:column;gap:var(--s3);color:inherit;}
.card-link:hover{color:inherit;}
.card-body{display:grid;gap:var(--s1);}
.card-title{font-size:var(--t-base);font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card:hover .card-title{text-decoration:underline;text-underline-offset:3px;}
.card-price{font-size:var(--t-sm);font-weight:600;color:var(--gold-soft);}
.card-price s{color:var(--mute-dark);font-weight:400;}
.light .card-price{color:var(--gold);}
.card .btn-row{margin-top:var(--s2);}
.card .tag{margin-top:var(--s2);}

/* Quick add — the buy action that lives on the card (round 3) */
.qa{border-top:1px solid var(--line-dark);padding-top:var(--s2);display:grid;gap:var(--s2);}
.light .qa{border-top-color:var(--line-light);}
.qa-toggle{justify-self:start;background:none;border:0;padding:0;font-size:var(--t-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;color:inherit;}
.qa-toggle:hover{color:var(--gold-soft);}
.light .qa-toggle:hover{color:var(--gold);}
.qa-panel{display:grid;gap:var(--s2);}
.qa-panel[hidden]{display:none;}
.qa-label{display:grid;gap:6px;font-size:var(--t-xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mute-dark);}
.light .qa-label{color:var(--mute-light);}
.qa-label select{width:100%;height:38px;padding:0 10px;font-size:var(--t-sm);letter-spacing:0;text-transform:none;font-weight:400;border:1px solid var(--field);background:var(--white);color:var(--char);border-radius:0;}
.qa-label select:focus{outline:2px solid var(--gold);outline-offset:-1px;}
.qa-add{height:40px;border:1px solid var(--ink);background:var(--ink);color:var(--ivory);font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;}
.qa-add:hover{background:var(--gold);border-color:var(--gold);color:var(--white);}
.qa-note{font-size:var(--t-sm);color:var(--gold-soft);min-height:1.2em;}
.light .qa-note{color:var(--gold);}

/* Product grid — uniform, compact, 5–6 across on desktop */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--s6) var(--s4);}
.grid--3{grid-template-columns:repeat(auto-fill,minmax(220px,300px));}
.grid-head{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);padding-bottom:var(--s2);border-bottom:1px solid var(--line-light);}
.grid-head:not(:first-child){margin-top:var(--s4);}
.grid-head h2{font-family:var(--f-display);font-weight:400;font-size:var(--t-lg);line-height:1.1;}
.grid-sub{grid-column:1/-1;}
.grid-sub:not(:first-child){margin-top:var(--s2);}
.grid-empty{grid-column:1/-1;padding:var(--s7) 0;color:var(--mute-light);}
@media (max-width:560px){
  .grid,.grid--3{grid-template-columns:1fr 1fr;gap:var(--s5) var(--s3);}
}

/* Line tiles (home) */
.lines{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s4);}
@media (max-width:1000px){.lines{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:560px){.lines{grid-template-columns:1fr 1fr;}}

/* Feature cards (line pages) — capped width, never full-screen */
.features{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,360px));gap:var(--s5);}
.feature-card{display:flex;flex-direction:column;background:var(--char);}
.fc-body{display:grid;gap:var(--s3);align-content:start;padding:var(--s5);}
.fc-body h2,.fc-body h3{font-family:var(--f-display);font-weight:400;font-size:var(--t-lg);line-height:1.15;}
.fc-body p{color:var(--mute-dark);}
.fc-body .pull{font-family:var(--f-display);font-style:italic;font-size:var(--t-md);line-height:1.35;color:var(--ivory);}
@media (max-width:620px){.features{grid-template-columns:1fr;}}

/* Text cards — collections, chapters, partners, notes */
.tcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s4);}
.tcards--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));}
.tcard{display:flex;flex-direction:column;gap:var(--s3);background:var(--char);padding:var(--s5);border:1px solid transparent;transition:border-color .15s;}
a.tcard:hover{border-color:var(--gold);color:inherit;}
.tcard h2,.tcard h3{font-family:var(--f-display);font-weight:400;font-size:var(--t-lg);line-height:1.15;}
.tcard p{color:var(--mute-dark);}
.tcard .quote{font-family:var(--f-display);font-style:italic;font-size:var(--t-md);line-height:1.4;color:var(--ivory);}
.tcard .tag{margin-top:auto;}
.tcard--wide{grid-column:1/-1;border-color:var(--line-dark);background:var(--ink-2);}
.tcard--wide h3{color:var(--gold-soft);}

/* Statement list (Grace After Dark, Plural Strength) */
.statements{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:var(--s6);border-top:1px solid var(--line-dark);}
.statements li{display:flex;gap:var(--s4);align-items:baseline;padding:var(--s3) 0;border-bottom:1px solid var(--line-dark);}
.statements .num{flex-shrink:0;font-size:var(--t-xs);font-weight:600;letter-spacing:.16em;color:var(--gold-soft);}
.statements .txt{font-family:var(--f-display);font-size:var(--t-md);line-height:1.3;}
.statements span.txt{color:var(--mute-dark);}
.statements--plain{grid-template-columns:1fr;}

/* Page head */
.page-head{padding:var(--s7) 0 var(--s6);}
.page-head .wrap{display:grid;gap:var(--s3);}
.page-head .lede{max-width:70ch;}

/* Home hero — the Etsy-matching banner, at a sane height */
.hero{background:var(--ink);}
.hero img{width:100%;height:clamp(180px,28vw,400px);object-fit:cover;object-position:center;}
.motto{padding:var(--s4) var(--gutter);text-align:center;border-bottom:1px solid var(--line-dark);}
.motto span{font-size:var(--t-xs);font-weight:600;letter-spacing:.42em;text-transform:uppercase;font-stretch:125%;}

/* Partner front door */
.partner-band{background:var(--char);}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s7);align-items:center;}
.split .btn-row{margin-top:var(--s2);}
.partner-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
.partner-list li{display:grid;gap:var(--s1);align-content:start;padding:var(--s4) var(--s5);background:var(--char);}
.pl-name{font-family:var(--f-display);font-size:var(--t-md);line-height:1.25;color:var(--ivory);}
.pl-status{font-size:var(--t-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-dark);}
.pl-status.live{color:var(--gold-soft);}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:var(--s5);}}
@media (max-width:420px){.partner-list{grid-template-columns:1fr;}}

/* Footer — identical on every page */
.site-foot{background:var(--char);color:var(--mute-dark);padding:var(--s7) 0 var(--s5);font-size:var(--t-sm);}
.foot-in{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:var(--s6);}
.foot-brand{display:grid;gap:var(--s4);align-content:start;}
.foot-lockup{height:52px;width:auto;}
.foot-col{display:grid;gap:var(--s2);align-content:start;}
.foot-col a{color:var(--ivory);}
.foot-col a:hover{color:var(--gold-soft);}
.foot-fine{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s2) var(--s4);margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--line-dark);font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;}
/* Powered-by signature: the bull sits bare on the page background, no chip or plaque */
.powered{display:flex;flex-direction:column;align-items:center;gap:var(--s3);margin-top:var(--s6);text-align:center;}
.powered-bull{height:44px;width:auto;}
.powered-text{font-size:var(--t-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-dark);}
.powered-text a{color:var(--ivory);}
.powered-text a:hover{color:var(--gold-soft);}
@media (max-width:860px){.foot-in{grid-template-columns:1fr 1fr;}.foot-brand{grid-column:1/-1;}}

@media (max-width:640px){
  .sec{padding:var(--s6) 0;}
  .page-head{padding:var(--s6) 0 var(--s5);}
}
