/* ==========================================================
   SALT & SAGE STUDIOS · one design system
   Type: Archivo (display/labels) · Cormorant Garamond (kicker/lede) · Instrument Sans (body)
   Tones: cream #edece2 · bone #e4dccf · ink #141311 · wine #4e2026
   ========================================================== */
:root{
  --cream-text:#f2eee4;
  --ink:#141311; --cream:#edece2; --paper:#eee9dd; --wine:#4e2026; --wine-deep:#3a171c;
  --bone:#e4dccf; --bone2:#e3d5c8; --body:#3c3a35; --body-dk:#cfccc4;
  --dim:#6f6b62; --line-lt:#cfc8ba; --line:#3a3733; --sage:#77855f;--rose:#e2c9cc;
  --t-h1:clamp(1.9rem,3.5vw,2.8rem); --t-h2:clamp(1.65rem,2.7vw,2.25rem);
  --t-lede:clamp(1.1rem,1.6vw,1.3rem);
  --s-sec:clamp(4rem,9vh,6.5rem); --s-anchor:clamp(5rem,12vh,8rem); --gutter:6vw;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
.skip-link{position:absolute;left:-999px;top:0;background:var(--wine);color:var(--cream);padding:.7rem 1.2rem;z-index:99;font-family:"Archivo",sans-serif;font-weight:600;font-size:.8rem}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.workcard,.tier-row,.faq,.values{scroll-margin-top:2.5rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html,body{overflow-x:clip}
body{background:var(--cream);color:var(--body);font-family:"Instrument Sans",sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
img{max-width:100%;display:block}
::selection{background:var(--wine);color:var(--cream)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:3px}
p+p{margin-top:1rem}

.kicker{font-family:"Cormorant Garamond",serif;font-weight:500;text-transform:uppercase;letter-spacing:.22em;font-size:clamp(.95rem,1.5vw,1.2rem);line-height:1.2;display:block;color:var(--wine)}
.dark .kicker{color:var(--paper)} .wine .kicker{color:var(--bone2)}
.display{font-family:"Archivo",sans-serif;font-weight:800;text-transform:uppercase;line-height:.98;letter-spacing:-.005em;color:var(--wine)}
.dark .display{color:var(--paper)}
.wine .display{color:var(--cream-text)}
.wine .display .it{color:var(--rose)}
h1.display{font-size:var(--t-h1);font-weight:900;color:var(--ink)}
h2.display{font-size:var(--t-h2)}
.display .it{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;font-size:1.12em}
.lede{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:400;font-size:var(--t-lede);line-height:1.4;color:var(--wine)}
.dark .lede{color:var(--rose)} .wine .lede{color:var(--bone2)}
.label{font-family:"Archivo",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;color:var(--dim)}
.dark{background:var(--ink);color:var(--body-dk)} .tone{background:var(--bone)} .wine{background:var(--wine);color:var(--bone2)}

.btn{display:inline-block;background:var(--wine);color:var(--cream);border:none;border-radius:999px;cursor:pointer;
  font-family:"Archivo",sans-serif;font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  padding:1.25em 2.8em;text-decoration:none;transition:background .18s,color .18s}
.btn:hover{background:var(--wine-deep)}
.dark .btn{background:var(--paper);color:var(--ink)} .dark .btn:hover{background:#fff}
.wine .btn{background:var(--cream);color:var(--wine)} .wine .btn:hover{background:#fff}
.link{font-family:"Archivo",sans-serif;font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--wine);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.35em;display:inline-block}
.link:hover{color:var(--wine-deep)} .dark .link{color:var(--paper)}

/* nav */
.nav{background:var(--wine);padding:1.3rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;z-index:10}
.nav .wordmark{font-family:"Archivo";font-weight:700;font-size:.86rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);text-decoration:none;white-space:nowrap}
.nav ul{list-style:none;display:flex;gap:clamp(1.2rem,2.6vw,2.6rem);align-items:center}
.nav ul a{font-family:"Archivo";font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);text-decoration:none;opacity:.9}
.nav ul a:hover,.nav ul a[aria-current]{opacity:1;border-bottom:1px solid var(--cream)}
.nav .btn{background:var(--cream);color:var(--wine);padding:.95em 1.8em;font-size:.68rem;border-bottom:none}
.nav .btn:hover{background:#fff}
@media(min-width:961px) and (max-width:1120px){.nav ul{gap:1rem}.nav ul a{font-size:.66rem;letter-spacing:.12em}.nav .btn{padding:.85em 1.3em}}
.nav .burger{display:none;background:none;border:1px solid var(--cream);color:var(--cream);border-radius:999px;padding:.6em 1em;font-family:"Archivo";font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
@media(max-width:960px){
  .nav ul{display:none;position:absolute;left:0;right:0;top:100%;background:var(--wine);flex-direction:column;padding:1.2rem var(--gutter) 1.6rem;gap:1rem;border-top:1px solid rgba(238,233,221,.25)}
  .nav.open ul{display:flex}.nav .burger{display:inline-block}
}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:min(88vh,900px)}
.hero.short{min-height:min(62vh,640px)}
.hero.noimg{grid-template-columns:1fr;min-height:0}
.hero .copy{display:flex;flex-direction:column;justify-content:center;padding:var(--s-sec) clamp(2rem,5vw,5rem) var(--s-sec) var(--gutter)}
.hero.noimg .copy{max-width:52rem;padding-bottom:1rem}
.hero .kicker{margin-bottom:1.4rem}
.hero h1{max-width:14em}
.hero h1.long{font-size:var(--t-h2);max-width:16em}
.hero .lede{max-width:28rem;margin-top:1.6rem}
.row{display:flex;gap:1.5rem;row-gap:1rem;align-items:center;flex-wrap:wrap}
.hero .row{display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap;margin-top:2.4rem}
.hero .photo{position:relative;overflow:hidden;aspect-ratio:3/4;min-height:0}
.hero.short .photo{aspect-ratio:3/4}
.hero.short.sq .photo{aspect-ratio:7/8}
.hero .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
@media(max-width:860px){.hero,.hero.short{grid-template-columns:1fr;min-height:0}.hero .photo{aspect-ratio:4/5;min-height:0;order:-1}.hero .copy{padding-top:3rem}}

/* trusted */
.trusted{padding:clamp(2.8rem,5vh,3.8rem) var(--gutter);text-align:center}
.trusted .label{display:block;margin-bottom:1.8rem}
.trusted ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.6rem clamp(2rem,4.5vw,4.5rem);max-width:78rem;margin:0 auto}
.trusted li{color:var(--ink);opacity:.78;line-height:1;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:.3rem;transition:opacity .2s}
.trusted li:hover{opacity:1}
.trusted .sub{font-family:"Archivo";font-weight:500;font-size:.5rem;letter-spacing:.28em;text-transform:uppercase}
.wm-a{font-family:"Archivo";font-weight:800;font-size:.92rem;letter-spacing:.12em;text-transform:uppercase}
.wm-b{font-family:"Cormorant Garamond";font-weight:500;font-size:1.5rem;letter-spacing:.12em;text-transform:uppercase}
.wm-c{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-size:1.6rem}
.wm-d{font-family:"Archivo";font-weight:500;font-size:.95rem;letter-spacing:.32em;text-transform:uppercase}
.wm-e{font-family:"Cormorant Garamond";font-weight:400;font-size:1.55rem}
.wm-f{font-family:"Archivo";font-weight:700;font-size:.9rem;letter-spacing:.2em;text-transform:uppercase}
.wm-g{font-family:"Cormorant Garamond";font-weight:500;font-size:1.25rem;letter-spacing:.26em;text-transform:uppercase}
.wm-h{font-family:"Cormorant Garamond";font-weight:500;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.02;text-align:center}
.wm-i{font-family:"Archivo";font-weight:600;font-size:.8rem;letter-spacing:.42em;text-transform:uppercase}
.wm-j{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-size:1.45rem;letter-spacing:.03em}
@media(max-width:700px){.trusted ul{gap:1.3rem 2rem}.trusted li{transform:scale(.92)}}

/* familiar */
.familiar{padding:var(--s-sec) var(--gutter)}
.familiar .inner{max-width:42rem;margin:0 auto;text-align:center}
.familiar .kicker{margin-bottom:.8rem}
.familiar h2.display{font-size:clamp(1.9rem,3.4vw,2.7rem);color:var(--cream-text);margin-bottom:2rem}
.familiar .close-big{margin-top:2.6rem;font-family:"Archivo",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:1.05;font-size:clamp(1.3rem,2.3vw,1.8rem);color:var(--cream-text)}
.familiar .close-sub{margin-top:.8rem;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.15rem,1.9vw,1.4rem);color:var(--rose)}
.familiar ul{list-style:none;text-align:center;margin-top:.4rem}
.familiar li{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.35;color:var(--cream-text);padding:.85rem 0;border-bottom:1px solid rgba(227,213,200,.35)}
.familiar li:first-child{border-top:1px solid rgba(227,213,200,.35)}
.familiar.dark li{color:#e2ddd1;border-color:var(--line)}
.familiar .close{margin-top:2rem}
.familiar.dark .close{color:var(--rose)}

/* intro */
.intro{padding:clamp(4.5rem,10vh,7rem) var(--gutter)}
.intro .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center;max-width:68rem;margin:0 auto}
.intro h2{font-family:"Archivo";font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1;color:var(--cream-text)}
.intro .role{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.86rem;color:#e9e4d8;margin-top:.7rem;display:block}
.intro p{max-width:30rem;margin-top:1.6rem;color:#cfccc4;text-align:justify;font-size:.95rem;line-height:1.7}
.intro p+p{margin-top:.9rem}
.intro .ghost{display:inline-block;margin-top:2.4rem;border:1px solid #e9e4d8;color:var(--cream-text);background:transparent;
  font-family:"Archivo";font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:1.1em 3em;text-decoration:none;transition:background .18s,color .18s}
.intro .ghost:hover{background:var(--cream-text);color:var(--ink)}
.intro .ph{position:relative}


.intro .phwrap{justify-self:end;width:min(100%,34rem)}
.intro .phwrap .scriptnote{display:block;margin-top:.9rem;text-align:right;transform:rotate(-2deg);position:static}
.intro .ph{width:100%;aspect-ratio:1/1;overflow:hidden;background:#b9b6b1;position:relative}
.intro .ph img{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);object-fit:cover;object-position:50% 20%}
@media(max-width:860px){.intro .grid{grid-template-columns:1fr}.intro .ph{justify-self:start;width:min(100%,20rem);order:-1}.intro p{text-align:left}}

/* proof cards */
.proof{padding:var(--s-sec) var(--gutter)}
.proof .head{max-width:40rem;margin:0 auto clamp(2rem,4vh,3rem);text-align:center}
.proof .head h2{margin-top:.4rem}
.proof .grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:stretch;max-width:72rem;margin:0 auto}
.card{border:1px solid var(--wine);background:#f4f2ec;display:flex;flex-direction:column;padding:1.2rem}
.frame{aspect-ratio:16/10;background:#e6e2d6;display:flex;align-items:center;justify-content:center}
.frame span{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.62rem;color:#8d8a82;text-align:center;padding:1rem;line-height:1.8}
.card .meta{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.card .body{padding:1.2rem .4rem 0;display:flex;flex-direction:column;flex:1}
.card .body p{max-width:28rem}
.card .links{margin-top:auto;padding-top:1.6rem;display:flex;gap:1.6rem;flex-wrap:wrap}
.card.quote{justify-content:center;padding:clamp(2rem,4vw,3.2rem)}
.card.quote .qmark{font-family:"Cormorant Garamond";font-size:4rem;line-height:.6;color:#d8cfc0;display:block;margin-bottom:1rem}
.card.quote blockquote{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.42;color:var(--wine)}
.card.quote .who{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line-lt);display:flex;flex-direction:column;gap:.25rem}
.card.quote .who b{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--ink)}
@media(max-width:860px){.proof .grid{grid-template-columns:1fr}}

/* split rows (about, home book) */
.split,.book{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.split .ph{position:relative;overflow:hidden;aspect-ratio:4/5;min-height:0;align-self:center;width:100%}
.split .ph.wide{aspect-ratio:4/3}
@media(min-width:861px){.split .ph.wide img{inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);object-fit:cover;object-position:50% 100%}}
.book .ph{position:relative;overflow:hidden;min-height:28rem;align-self:stretch;background:#8a8a86}
.split .ph img,.book .ph img{position:absolute;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);object-fit:cover}
.book .ph img{object-position:50% 45%}
.split .copy,.book .copy{padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,5.5rem)}
.book .copy{padding-left:var(--gutter)}
.split .label{display:block;margin-bottom:1.2rem}
.split h2,.book h2{max-width:12em}
.split .copy p,.book p{max-width:30rem;margin-top:1.3rem}
.split .copy .link{margin-top:2rem}
.book .kicker{margin-bottom:1rem}
.book.wine h2{color:var(--cream-text)}
.book.wine p{color:var(--bone2)}
.book h2{font-size:clamp(1.9rem,3.6vw,2.8rem);max-width:9em}
.book .btn{margin-top:2.2rem}
@media(max-width:860px){.split,.book{grid-template-columns:1fr}.split .ph,.split .ph.wide{order:-1;aspect-ratio:4/5}.book .ph{order:-1;min-height:20rem}}

/* photo band */
.band{position:relative;overflow:hidden;text-align:center;padding:clamp(8rem,18vh,12rem) var(--gutter);color:var(--paper);background:#23221f}
.band.pageband{padding:clamp(6rem,14vh,9rem) var(--gutter)}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:grayscale(1)}
.band.pageband img{filter:none}
.band::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 90% at 50% 45%,rgba(13,13,12,.55) 0%,rgba(13,13,12,.85) 100%)}
.band picture{position:absolute;inset:0;z-index:0}
.band picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band>*:not(img):not(picture){position:relative;z-index:1}
.band .pre{font-family:"Archivo";font-weight:500;text-transform:uppercase;font-size:.78rem;letter-spacing:.16em;line-height:1.9;color:#e9e4d8}
.band h1,.band h2{font-family:"Cormorant Garamond",serif;font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(2.2rem,4.2vw,3.4rem);line-height:1.08;color:var(--cream-text);margin:1rem auto 0;max-width:60rem}
.band p{max-width:40rem;margin:2rem auto 0;color:#d9d7d0;line-height:1.9;font-size:.95rem}
.band .lede{color:#e2c9cc;font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.4}
.band .btn{margin-top:3rem;background:var(--wine);color:var(--paper)}
.band .btn:hover{background:var(--wine-deep)}

/* faq */
.faq{padding:var(--s-sec) var(--gutter)}
.faq .head{max-width:40rem;margin:0 auto 2rem;text-align:center}
.faq .head h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-top:.3rem}
.faq .list{max-width:44rem;margin:0 auto}
.faq details{border-bottom:1px solid var(--line-lt)}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 0;font-family:"Instrument Sans";font-weight:600;font-size:1rem;color:var(--ink);display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:"Cormorant Garamond";font-weight:500;color:var(--wine);font-size:1.5rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 1.3rem;max-width:40rem}
.faq .more{text-align:center;margin-top:2rem}
.faqpage .fgroup{max-width:44rem;margin:0 auto 3rem}
.faqpage .fgh{font-size:1.3rem;margin-bottom:.6rem}

/* faq page rework */
.faqhero{padding:clamp(4rem,9vh,6rem) var(--gutter) clamp(2.5rem,5vh,3.5rem);text-align:center}
.faqhero h1{margin-top:1rem;max-width:16em;margin-left:auto;margin-right:auto}
.faqhero .lede{max-width:28rem;margin:1.4rem auto 0}
.jumps{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:2.2rem}
.jumps a{font-family:"Archivo";font-weight:600;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--wine);border:1px solid var(--wine);border-radius:999px;padding:.75em 1.5em;text-decoration:none;transition:background .15s,color .15s}
.jumps a:hover{background:var(--wine);color:var(--cream)}
.fband{padding:clamp(3.5rem,7vh,5rem) var(--gutter)}
.fband .inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,6vw,5.5rem);max-width:72rem;margin:0 auto;align-items:start}
.fband .fhead{text-align:left;position:sticky;top:3rem}
.fband .fhead h2{margin-top:.5rem;font-size:clamp(1.5rem,2.4vw,1.9rem);max-width:10em}
.fband .list{max-width:none;margin:0}
@media(max-width:860px){.fband .inner{grid-template-columns:1fr;gap:1.4rem}.fband .fhead{position:static}}
.fband details{border-bottom:1px solid var(--line-lt)}
.fband details:first-of-type{border-top:1px solid var(--line-lt)}
.fband summary{cursor:pointer;list-style:none;padding:1.15rem 0;font-family:"Instrument Sans";font-weight:600;font-size:1rem;color:var(--ink);text-align:left;position:relative;padding-right:2rem}
.fband summary::-webkit-details-marker{display:none}
.fband summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:"Cormorant Garamond";font-weight:500;color:var(--wine);font-size:1.5rem}
.fband details[open] summary::after{content:"\2212"}
.fband details p{padding:0 0 1.4rem;max-width:34rem;margin:0;text-align:left}
.finter{padding:clamp(3.5rem,7vh,5rem) var(--gutter)}
.fend{padding:clamp(3.5rem,8vh,5.5rem) var(--gutter);text-align:center;background:var(--bone)}

/* services */
.tablewrap{padding:var(--s-sec) var(--gutter) clamp(2rem,4vh,3rem)}
.tablewrap .scroll{overflow-x:auto;max-width:72rem;margin:0 auto}
.compare{width:100%;border-collapse:collapse;min-width:52rem}
.compare th{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:.9rem;letter-spacing:.02em;color:var(--ink);text-align:left;padding:.9rem 1rem;border-bottom:1px solid var(--ink)}
.compare td{padding:1rem;border-bottom:1px solid var(--line-lt);vertical-align:top;font-size:.95rem}
.compare td.p{font-family:"Archivo";font-weight:700;color:var(--wine)}
.tier-row{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.tier-row .ph{position:relative;overflow:hidden;min-height:34rem;align-self:stretch;width:100%}
#review .ph img{object-position:50% 18%}
#audit .ph img{object-position:50% 30%}
#optimize .ph img{object-position:58% 45%}
#strategic .ph img{object-position:50% 40%}
.tier-row .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tier-row .ph .cap{position:absolute;left:1.2rem;bottom:1.2rem;z-index:1;max-width:16rem;background:var(--cream);color:var(--ink);font-family:"Cormorant Garamond",serif;font-style:italic;font-size:.98rem;line-height:1.35;padding:.55rem .8rem}
.tier-row .copy{padding:clamp(3rem,6vw,5.5rem) clamp(2rem,5vw,5.5rem)}
.tier-row.flip .ph{order:2}
.tier-row .label{display:block;margin-bottom:1rem}
.tier-row .tprice{font-family:"Archivo";font-weight:700;font-size:1.05rem;color:var(--wine);display:block;margin-top:.8rem}
.tier-row .gets{list-style:none;margin:1.6rem 0 .4rem;max-width:28rem}
.tier-row .gets li{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;color:var(--ink);padding:.7rem 0;border-bottom:1px solid var(--line-lt)}
.tier-row .copy p{max-width:30rem;margin-top:1.2rem}
.tier-row .credit{border:1px solid var(--wine);color:var(--wine);padding:.9rem 1.1rem;font-size:.9rem;max-width:30rem}
.tier-row .btn{margin-top:2rem}
.tier-row:nth-child(even of .tier-row){background:var(--bone)}
@media(max-width:860px){.tier-row{grid-template-columns:1fr}.tier-row .ph,.tier-row.flip .ph{order:-1;aspect-ratio:4/5}}

/* work */
.worklist{padding:var(--s-sec) var(--gutter);display:grid;gap:2rem;max-width:72rem;margin:0 auto}
.workcard{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;border:1px solid var(--wine);background:#f4f2ec;padding:1.2rem}
.workcard .ph16{aspect-ratio:16/10}
.workcard .wmeta h2{font-size:1.5rem}
.workcard .wmeta .label{display:block;margin:.5rem 0 0}
.workcard .wmeta p{margin-top:1rem;max-width:28rem}
.wq{font-family:"Cormorant Garamond";font-style:italic;font-size:1.15rem;color:var(--wine);margin-top:1.2rem;line-height:1.5}
.wq b{font-family:"Archivo";font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--ink)}
@media(max-width:860px){.workcard{grid-template-columns:1fr}}

/* industries */
.indlist{padding:var(--s-sec) var(--gutter);max-width:52rem;margin:0 auto}
.ind{padding:2.6rem 0;border-bottom:1px solid var(--line-lt)}
.ind:first-child{border-top:1px solid var(--line-lt)}
.ind h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-top:.8rem;max-width:26em}
.ind p{margin-top:1rem;max-width:40rem}
.ind p.label{margin-top:1.2rem}

/* industries redesign */
.indfeat{padding:var(--s-anchor) var(--gutter)}
.ifgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2.5rem,6vw,6rem);align-items:center;max-width:72rem;margin:0 auto}
.indfeat h2{margin-top:.8rem;max-width:14em}
.indfeat p{margin-top:1.2rem;max-width:32rem}
.indfeat .clients{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;margin-top:1.4rem}
.indfeat .label{font-size:.74rem;letter-spacing:.2em}
.indfeat.dark .label,.dark .label{color:#a8a49a}
.indfeat.wine .label{color:var(--rose)}
.indfeat.dark .clients{color:#a8a49a} .indfeat.wine .clients{color:var(--rose)}
.indfeat .rowlinks{display:flex;gap:1.8rem;flex-wrap:wrap;margin-top:1.8rem}
.ifquote{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.45;border-left:1px solid currentColor;padding-left:clamp(1.5rem,3vw,2.5rem)}
.indfeat.dark .ifquote{color:var(--rose)} .indfeat.wine .ifquote{color:var(--cream-text)}
.ifquote span a{color:inherit;text-decoration:underline;text-underline-offset:.25em}
.ifquote span{display:block;margin-top:1.2rem;font-family:"Archivo";font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.64rem;opacity:.8}
@media(max-width:900px){.ifgrid{grid-template-columns:1fr}.ifquote{border-left:none;border-top:1px solid currentColor;padding:1.5rem 0 0}}
.indgrid-wrap{padding:var(--s-sec) var(--gutter)}
.indgrid-wrap .head{max-width:40rem;margin:0 auto clamp(2rem,4vh,3rem);text-align:center}
.indgrid-wrap .head h2{margin-top:.4rem}
.indgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:72rem;margin:0 auto}
.icard{display:flex;flex-direction:column;border:1px solid var(--wine);background:#f4f2ec;padding:2rem 1.7rem;text-decoration:none;color:inherit;transition:background .2s,transform .2s}
.icard:hover{background:#efece2;transform:translateY(-2px)}
.icard h3{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:1.02rem;line-height:1.2;color:var(--wine);margin-top:1rem}
.icard p{font-size:.93rem;margin-top:.9rem;flex:1}
.icard .go{margin-top:1.6rem;font-family:"Archivo";font-weight:600;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--wine)}
@media(max-width:900px){.indgrid{grid-template-columns:1fr;max-width:32rem}}

/* story / legal / journal */
.story{padding:var(--s-sec) var(--gutter)}
.story .inner>section{padding-top:2.8rem;margin-top:2.8rem;border-top:1px solid var(--line-lt)}
.story .inner>section:first-of-type{padding-top:0;margin-top:0;border-top:0}
.story .sec-no{display:block;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.5rem;color:var(--wine);opacity:.55;margin-bottom:.35rem}
.story .inner>section>h2{font-family:"Archivo",sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(1.05rem,1.5vw,1.3rem);letter-spacing:.01em;color:var(--ink);margin-bottom:1.1rem}
.story .kicker-line{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.35;color:var(--wine);margin:2rem 0 0;padding-left:1.2rem;border-left:2px solid var(--rose)}
.story .inner{max-width:38rem;margin:0 auto}
.story .kicker{margin-bottom:1.6rem}
.story.legal .inner{max-width:44rem}
.story.legal h2{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:1.1rem;color:var(--ink);margin:2.2rem 0 .6rem}
.story.legal a{color:var(--wine)}
.jlist{list-style:none}
.jlist li{border-bottom:1px solid var(--line-lt)}
.jlist li a{display:flex;flex-direction:column;gap:.3rem;padding:1.4rem 0;text-decoration:none;color:inherit}
.jlist li a:hover b{color:var(--wine)}
.jlist b{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}

/* industry-page components */
.chapters .chead{text-align:center;margin-bottom:2.4rem}
.chapters .chead h2{margin-top:.4rem}
.chapbody h3{font-size:clamp(1.02rem,1.4vw,1.25rem);line-height:1.25;color:var(--ink);max-width:none}
.svc-tier{border-top:1px solid var(--line-lt);padding-top:2.3rem;margin-top:2.8rem}
@media(min-width:940px){
  .story .inner>section>.svc-tier{grid-column:2}
  .svc-head{align-items:baseline}
  .svc-head .price{font-size:1rem}
}
.svc-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}
.svc-head h3{margin:0;font-family:"Archivo",sans-serif;font-weight:800;text-transform:uppercase;font-size:1.02rem;letter-spacing:.02em;color:var(--ink)}
.svc-head .price{font-family:"Archivo",sans-serif;font-weight:700;font-size:.9rem;color:var(--wine);white-space:nowrap}
.story.tone .lede{margin-bottom:1rem}


/* ---- long-form editorial layout: sticky heading rail + breakout images ---- */
.story .inner>section>.sechead h2{margin:0}
.story .inner>section>.sechead .sec-no{margin-bottom:.2rem}
@media(min-width:940px){
  .story .inner{max-width:66rem}
  .story .inner>section{display:grid;grid-template-columns:14rem minmax(0,38rem);gap:clamp(2.5rem,5vw,5rem);align-items:start}
  .story .inner>section>.sechead{position:sticky;top:2.5rem;grid-column:1;text-align:right;border-right:1px solid var(--line-lt);padding-right:1.4rem}
  .story .inner>section>.sechead h2{font-size:clamp(.98rem,1.2vw,1.12rem);line-height:1.25}
  .story .inner>section>*{grid-column:2}
  .story .inner>section>.sechead{grid-column:1}
  .story .inner>section>.frame{grid-column:1/-1;max-width:none}
  .story .inner>section>.frame.ph45{grid-column:2;max-width:24rem}
  .story .inner>section>p:first-of-type{font-size:1.06rem}
  .story .inner>section>.kicker-line{grid-column:2}
  .svc-tier{grid-column:1/-1}
}
@media(min-width:1080px){
  .story .inner>section>.frame:not(.ph45){width:calc(100% + 6rem)}
}

/* about chapters: single spine */
.chapters{padding:clamp(3rem,6vh,4.5rem) var(--gutter)}
.chapindex{max-width:56rem;margin:0 auto}
.chaprow{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);padding:clamp(1.8rem,3.5vh,2.6rem) 0;border-top:1px solid var(--line-lt)}
.chaprow:first-child{border-top:0;padding-top:.4rem}
.chapno .num{display:block;font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(2.2rem,3.2vw,2.8rem);line-height:.9;color:var(--wine)}
.chapno .label{display:block;margin-top:.7rem}
.chapbody h2{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.2;max-width:none}
.chapbody p{font-size:.94rem;line-height:1.65;margin-top:.8rem;color:#3a3733;max-width:38rem}
@media(max-width:760px){.chaprow{grid-template-columns:1fr;gap:.9rem}.chapno{display:flex;align-items:baseline;gap:.8rem}.chapno .label{margin-top:0}}
.chap-break{max-width:76rem;margin:0 auto;padding:clamp(2.6rem,6vh,4rem) 0 clamp(1.2rem,3vh,2rem);border-top:1px solid var(--line-lt)}
.chap-break p{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.15;color:var(--wine);max-width:18em}
.chap-break p::before{content:"";display:block;width:3.5rem;height:3px;background:var(--wine);margin-bottom:1.4rem}
.chap-break em{font-style:italic;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.16em}

/* about values */
.values{padding:var(--s-anchor) var(--gutter)}
.values .head{max-width:44rem;margin:0 auto clamp(2.5rem,5vh,3.5rem);text-align:center}
.values .head h2{margin-top:.4rem}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2rem,4vw,3.5rem);max-width:72rem;margin:0 auto}
.vgrid .label{color:var(--wine)}
.vgrid h3{margin:.9rem 0 .8rem;color:var(--ink)}
.vgrid p{color:var(--body);font-size:.95rem}
.values.dark .vgrid .label{color:#a8a49a}
.values.dark .vgrid h3{color:var(--rose)}
.values.dark .vgrid p{color:var(--body-dk)}
@media(max-width:860px){.vgrid{grid-template-columns:1fr}}

/* contact */
.contactwrap{padding:var(--s-sec) var(--gutter)}
.cgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,6vw,6rem);max-width:72rem;margin:0 auto;align-items:start}
.ph.tall{aspect-ratio:3/4;overflow:hidden;position:relative}
.ph.tall img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.c-form{margin-top:2.2rem;display:grid;gap:1.2rem;max-width:34rem}
.c-form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.field{display:grid;gap:.4rem}
.field label{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;color:var(--dim)}
.field input,.field select,.field textarea{background:#f4f2ec;border:1px solid var(--line-lt);padding:.9em 1em;font-family:"Instrument Sans";font-size:.95rem;color:var(--ink);width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--wine)}
.c-form .btn{justify-self:start}
@media(max-width:860px){.cgrid{grid-template-columns:1fr}.ph.tall{order:-1;aspect-ratio:4/5}.c-form .row{grid-template-columns:1fr}}

/* contact band: warm bone closer */
.guideband{padding:clamp(4rem,9vh,6.5rem) var(--gutter);text-align:center}
.guideband .inner{max-width:44rem;margin:0 auto}
.guideband h2{margin-top:.6rem;margin-left:auto;margin-right:auto}
.guideband p{max-width:30rem;margin:1.2rem auto 0}
.guideband .btn{margin-top:2rem}
.split.wine .label{color:var(--bone2);opacity:.72}
.split.wine .link{color:var(--rose)} .split.wine .link:hover{color:var(--bone2)}
.fband.stack .inner{display:block;max-width:46rem}
.fband.stack .fhead{position:static;text-align:center;margin-bottom:2.2rem}
@media(min-width:940px){.fband.stack .inner{max-width:52rem}}
.fband.stack .fhead h2{max-width:none}
.fband.stack details p{max-width:none}
.cband.wine{background:var(--bone);border-top:1px solid var(--line-lt)}
.cband.wine .kicker{color:var(--wine);opacity:.8}
.cband.wine h2{color:var(--wine)}
.cband.wine p{color:var(--body);max-width:32rem;margin-left:auto;margin-right:auto}
.cband{padding:var(--s-sec) var(--gutter);text-align:center;background:var(--bone)}
.cband h2{margin-top:.5rem;max-width:20em;margin-left:auto;margin-right:auto}
.cband p{max-width:28rem;margin:1.2rem auto 0}
.cband .btn{margin-top:2rem}
.cband.tone{background:var(--cream)}
.cband.dark{background:var(--ink)}

/* footer (preserved) */
.footer{--fbone:#e3d5c8;background:var(--wine);color:var(--fbone);padding:5.5rem 4vw 0}
.foot-grid{display:grid;grid-template-columns:1fr minmax(auto,30rem) 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.foot-center{border-left:1px solid var(--fbone);border-right:1px solid var(--fbone);padding:1.5rem clamp(1.5rem,3vw,3rem);text-align:center}
.foot-serif{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1.2}
.foot-caps{font-family:"Archivo";font-weight:500;text-transform:uppercase;font-size:.72rem;letter-spacing:.3em;margin-top:.5rem}
.foot-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin:2rem 0}
.foot-photos .ftile{position:relative;aspect-ratio:1/1;overflow:hidden;background:#3a171c}
.foot-photos .ftile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.subscribe{display:flex;border:1px solid var(--fbone);margin-top:.5rem}
.subscribe input{flex:1;background:transparent;border:none;color:var(--fbone);padding:1em 1.2em;font-family:"Archivo";font-weight:500;letter-spacing:.24em;text-transform:uppercase;font-size:.7rem;min-width:0}
.subscribe input::placeholder{color:var(--fbone);opacity:.85}
.subscribe button{background:transparent;border:none;border-left:1px solid var(--fbone);color:var(--fbone);padding:0 1.6em;font-size:1.1rem;cursor:pointer;transition:background .15s,color .15s}
.subscribe button:hover{background:var(--fbone);color:var(--wine)}
.foot-nav{list-style:none;text-align:center}
.foot-nav a{display:block;color:var(--fbone);text-decoration:none;font-family:"Archivo";font-weight:500;text-transform:uppercase;font-size:.74rem;letter-spacing:.22em;padding:.55em 0}
.foot-nav a:hover{color:var(--paper)}
.foot-legal{text-align:center;margin-top:4rem;padding:1.6rem 0;font-family:"Archivo";font-weight:500;text-transform:uppercase;font-size:.62rem;letter-spacing:.26em;color:#cbb3a6}
.foot-legal a{color:#cbb3a6}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr}.foot-center{border-left:none;border-right:none;border-top:1px solid var(--fbone);border-bottom:1px solid var(--fbone);order:-1}}

/* reveal */
.reveal{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* journal posts */
.story.post .inner{max-width:40rem}
.story.post h2{font-size:clamp(1.3rem,2.2vw,1.7rem);margin:2.2rem 0 .8rem;color:var(--wine)}
.story.post .lede{margin-bottom:1.4rem;display:block}
.story.post a{color:var(--wine)}
.postnote{margin-top:2.4rem;padding:1.2rem 1.4rem;border:1px solid var(--line-lt);background:var(--bone);font-size:.95rem}
.postpage-nav{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap}

/* about: heart block */
.heart{padding:clamp(3.5rem,8vh,5.5rem) var(--gutter);background:var(--bone)}
.heart .inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5.5rem);max-width:72rem;margin:0 auto;align-items:center}
.heart .ph{position:relative;width:100%;aspect-ratio:1/1;overflow:visible}
.heart .ph picture{display:block;width:100%;height:100%;overflow:hidden}
.heart .ph img{width:100%;height:100%;display:block;object-fit:cover}
.heart .script{position:absolute;top:-1.6rem;left:-4%;font-family:"La Belle Aurore",cursive;font-size:clamp(1.25rem,2.2vw,1.6rem);color:var(--wine);transform:rotate(-7deg);line-height:1.25;text-align:left;z-index:1;white-space:nowrap}
.heart h2{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(2rem,3.6vw,2.8rem);line-height:1.1;color:var(--ink);text-transform:none;letter-spacing:0}
.heart h2 em{font-style:italic;color:var(--wine)}
.heart .copy p{margin-top:1.2rem;max-width:30rem;font-size:.95rem}
.heart .copy h2+p{margin-top:1.8rem}
@media(max-width:860px){.heart .inner{grid-template-columns:1fr;gap:2.2rem}.heart .ph{aspect-ratio:4/5}.heart .script{left:0}}
@media(max-width:640px){.heart .cols{column-count:1;text-align:left}.heart .script{left:-4%}}

/* home faq: editorial split */
.faq--split .fsgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,6vw,5.5rem);max-width:72rem;margin:0 auto;align-items:start}
.faq--split .fshead{position:sticky;top:3rem}
.faq--split .fshead h2{margin-top:.5rem;font-size:clamp(1.7rem,2.8vw,2.3rem)}
.faq--split .fshead p{max-width:22rem;margin-top:1.2rem}
.faq--split .fslinks{display:flex;flex-direction:column;gap:1rem;margin-top:1.8rem;align-items:flex-start}
.faq--split .fsnote{font-size:.9rem;color:var(--dim);margin-top:1.6rem}
.faq--split .list{max-width:none;margin:0}
.faq--split details:first-of-type{border-top:1px solid var(--line-lt)}
@media(max-width:860px){.faq--split .fsgrid{grid-template-columns:1fr}.faq--split .fshead{position:static}}

/* services comparison cards */
.tablewrap{padding:var(--s-sec) var(--gutter)}
.cchead{text-align:center;max-width:40rem;margin:0 auto clamp(2rem,4vh,3rem)}
.cchead h2{margin-top:.4rem}
.ccgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;max-width:72rem;margin:0 auto}
.cc{display:grid;grid-template-rows:subgrid;grid-row:span 5;align-content:start;background:#f4f2ec;border:1px solid var(--wine);padding:1.8rem 1.5rem;text-decoration:none;color:inherit;transition:transform .2s,background .2s}
.cc:hover{transform:translateY(-3px);background:#efece2}
.cc h3{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:1.02rem;line-height:1.1;color:var(--ink)}
.cc .ccbest{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.08rem;line-height:1.35;color:var(--wine);margin-top:.8rem}
.cc .ccprice{font-family:"Archivo";font-weight:700;font-size:1.15rem;color:var(--wine);margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line-lt);align-self:end}
.cc dl{margin-top:1rem}
.cc dt{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:.6rem;color:var(--dim);margin-top:.8rem}
.cc dt:first-child{margin-top:0}
.cc dd{font-size:.92rem;margin-top:.2rem}
.cc .go{margin-top:1.4rem;font-family:"Archivo";font-weight:600;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--wine);align-self:end}
@supports not (grid-template-rows:subgrid){.cc{display:flex;flex-direction:column}.cc h3{min-height:2.2em}.cc dl{flex:1}}
@media(max-width:1000px){.ccgrid{grid-template-columns:repeat(2,1fr);max-width:46rem}.cc{grid-row:span 5}}
@media(max-width:560px){.ccgrid{grid-template-columns:1fr;max-width:26rem}.cc{grid-template-rows:auto;grid-row:auto}}

/* about: single photo beat */


.nf .ph{aspect-ratio:auto;align-self:stretch;min-height:28rem}
.nf h1.display{font-size:var(--t-h2);max-width:12em}
@media(max-width:860px){.nf .ph{aspect-ratio:4/5;min-height:0}}

/* compact team bio */
.team{padding:clamp(3rem,7vh,5rem) var(--gutter)}
.team .inner{display:grid;grid-template-columns:minmax(0,26rem) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);max-width:64rem;margin:0 auto;align-items:center}
.team .tph{position:relative}
.team .tph picture{display:block;aspect-ratio:1/1;overflow:hidden}
.team .tph img{width:100%;height:100%;object-fit:cover;display:block}
.team .tph .cap{position:absolute;left:1rem;bottom:1rem;right:1rem;background:var(--cream);color:var(--ink);font-family:"Cormorant Garamond",serif;font-style:italic;font-size:.92rem;line-height:1.3;padding:.5rem .7rem}
.team .copy h2{margin-top:.5rem;font-size:clamp(1.5rem,2.5vw,2rem)}
.team .copy p{max-width:34rem;margin-top:1.2rem}
@media(max-width:860px){.team .inner{grid-template-columns:1fr}.team .tph{max-width:22rem}}

.frame.ph45{aspect-ratio:4/5}
.story .frame.ph45{max-width:26rem;margin-left:auto;margin-right:auto}
.frame.filled{background:#e6e2d6}
.frame.filled picture{display:block;width:100%;height:100%}
.frame.filled img{width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}

/* reading room */
.reading{padding:clamp(3.5rem,8vh,5.5rem) var(--gutter)}
.reading .rhead{max-width:72rem;margin:0 auto 2rem}
.reading .rhead h2{margin-top:.5rem;font-size:clamp(1.6rem,2.8vw,2.2rem)}
.reading .rhead .lede{margin-top:.8rem}
.rsplit{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4.5rem);max-width:66rem;margin:0 auto;align-items:center}
.rsplit .rhead{margin:0}
@media(max-width:860px){.rsplit{grid-template-columns:1fr;gap:1.8rem}}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,24rem));gap:1.4rem;max-width:72rem;margin:0 auto}
.rcard{display:block;background:var(--cream);border:1px solid var(--line-lt);padding:1.6rem 1.7rem;text-decoration:none;color:var(--ink);transition:border-color .2s}
.rcard:hover{border-color:var(--wine)}
.rcard h3{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.25rem;line-height:1.25;margin-top:.7rem;color:var(--ink)}
.rcard p{font-size:.88rem;line-height:1.6;color:#3a3733;margin-top:.6rem}
.rcard .go{display:inline-block;margin-top:1.1rem;font-family:"Archivo";font-weight:700;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--wine)}

/* ==========================================================
   EDITION 2 · recurring devices
   folio rules · margin notes · oversized statements
   ========================================================== */

/* device 1: folio rule (newspaper section header) */
.folio{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-top:1px solid var(--line-lt);padding-top:.7rem;margin-bottom:clamp(2rem,4.5vh,3.2rem)}
.folio span{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.22em;font-size:.62rem;color:var(--dim);white-space:nowrap}
.folio span+span{overflow:hidden;text-overflow:ellipsis}
.dark .folio{border-color:var(--line)} .dark .folio span{color:#a8a49a}
.wine .folio{border-color:rgba(227,213,200,.4)} .wine .folio span{color:var(--rose)}

/* device 2: handwritten margin note */
.scriptnote{font-family:"La Belle Aurore",cursive;font-size:clamp(1.15rem,2vw,1.5rem);color:var(--wine);line-height:1.25;transform:rotate(-5deg);display:inline-block}
.dark .scriptnote{color:var(--rose)} .wine .scriptnote{color:var(--rose)}
.ph .scriptnote,.photo .scriptnote{position:absolute;z-index:2}

/* device 3: oversized statement type */
.giant{font-family:"Archivo",sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.92;color:var(--wine)}
.giant .it{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;font-size:1.05em}
.dark .giant{color:var(--paper)} .wine .giant{color:var(--cream-text)}

/* home hero, edition 2: asymmetric, oversized, annotated */
.hero.ed2{position:relative;grid-template-columns:1.12fr .88fr;overflow:hidden}
.hero.ed2 .copy{padding-top:clamp(2.5rem,6vh,4rem);padding-bottom:clamp(3rem,7vh,5rem)}
.hero.ed2 .folio{width:100%;margin-bottom:clamp(2.5rem,6vh,4rem)}
.hero.ed2 h1{font-size:clamp(2.5rem,5.6vw,4.6rem);line-height:.95;max-width:none;letter-spacing:-.015em}
.hero.ed2 h1 .it{display:block;font-size:.82em;padding:.06em 0 .02em;color:var(--wine)}
.hero.ed2 .lede{max-width:30rem}
.hero.ed2 .photo{aspect-ratio:auto;min-height:0}
.hero.ed2 .photo .scriptnote{left:1.2rem;bottom:1rem;transform:rotate(-6deg);color:var(--cream);text-shadow:0 1px 8px rgba(13,13,12,.5)}
@media(min-width:861px){
  .hero.ed2 .copy{padding-right:clamp(2rem,4vw,4rem)}
}
@media(max-width:860px){.hero.ed2{grid-template-columns:1fr}.hero.ed2 .photo{aspect-ratio:4/5;order:-1}.hero.ed2 h1{font-size:clamp(2.2rem,9.5vw,2.9rem)}}

/* home: sound familiar as a numbered ledger */
.ledger{padding:var(--s-sec) var(--gutter)}
.ledger .inner{max-width:64rem;margin:0 auto}
.ledger h2.giant{font-size:clamp(2rem,4.2vw,3.4rem);max-width:9em}
.ledger .rows{list-style:none;margin-top:clamp(2.2rem,5vh,3.4rem)}
.ledger .rows li{display:grid;grid-template-columns:3.6rem minmax(0,1fr);gap:clamp(1rem,3vw,2.5rem);align-items:baseline;padding:1.3rem 0;border-top:1px solid rgba(227,213,200,.35)}
.ledger .rows li:last-child{border-bottom:1px solid rgba(227,213,200,.35)}
.ledger .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:1.25rem;color:var(--rose)}
.ledger .rows p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.35;color:var(--cream-text);max-width:34rem}
.ledger .close{margin-top:clamp(2.4rem,5vh,3.4rem);display:grid;grid-template-columns:3.6rem minmax(0,1fr);gap:clamp(1rem,3vw,2.5rem)}
.ledger .close>div{max-width:34rem}
.ledger .close-big{font-family:"Archivo";font-weight:800;text-transform:uppercase;line-height:1.02;font-size:clamp(1.5rem,2.8vw,2.2rem);color:var(--cream-text)}
.ledger .close-sub{margin-top:.8rem;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.15rem,1.9vw,1.4rem);color:var(--rose)}
@media(max-width:640px){.ledger .rows li,.ledger .close{grid-template-columns:2.2rem 1fr;gap:.9rem}}

/* ways in: editorial index of services (no cards) */
.waysin{padding:var(--s-sec) var(--gutter)}
.waysin .inner{max-width:64rem;margin:0 auto}
.waysin .whead{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(1.6rem,3.5vh,2.4rem)}
.waysin .whead h2{margin-top:.4rem}
.waysin .whead .scriptnote{transform:rotate(-4deg)}
.waysin ol{list-style:none}
.wayrow{display:grid;grid-template-columns:3.2rem minmax(0,1.2fr) minmax(0,1fr) auto;gap:clamp(1rem,2.5vw,2.5rem);align-items:baseline;padding:1.35rem 0;border-top:1px solid var(--line-lt);text-decoration:none;color:inherit;transition:background .15s}
.waysin ol li:last-child .wayrow{border-bottom:1px solid var(--line-lt)}
.wayrow:hover{background:rgba(78,32,38,.05)}
.wayrow .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.2rem;color:var(--wine)}
.wayrow h3{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:clamp(1rem,1.6vw,1.3rem);line-height:1.1;color:var(--ink)}
.wayrow:hover h3{color:var(--wine)}
.wayrow .for{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.05rem;line-height:1.35;color:var(--wine)}
.wayrow .price{font-family:"Archivo";font-weight:700;font-size:.95rem;color:var(--wine);white-space:nowrap;justify-self:end}
@media(max-width:760px){.wayrow{grid-template-columns:2.2rem 1fr auto;row-gap:.25rem}.wayrow .for{grid-column:2/4}}

/* featured work, bigger */
.feature{padding:var(--s-sec) var(--gutter)}
.feature .inner{max-width:76rem;margin:0 auto}
.feature .fgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.feature .shot{position:relative}
.feature .shot .frame{aspect-ratio:16/10;border:1px solid var(--wine)}
.feature .shot .scriptnote{position:absolute;right:-.4rem;top:-2rem;transform:rotate(3deg)}
.feature .fmeta .label{display:block}
.feature .fmeta h2{margin-top:.6rem;font-size:clamp(1.6rem,2.8vw,2.3rem)}
.feature .fmeta p{margin-top:1.1rem;max-width:26rem}
.feature .result{margin-top:1.6rem;border-top:1px solid var(--line-lt);padding-top:1.1rem}
.feature .result b{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:.95rem;letter-spacing:.02em;color:var(--wine);display:block}
.feature .result span{font-size:.88rem;color:var(--dim)}
.feature .links{margin-top:1.8rem;display:flex;gap:1.6rem;flex-wrap:wrap}
@media(max-width:860px){.feature .fgrid{grid-template-columns:1fr}.feature .shot .scriptnote{right:.4rem;top:-1.9rem}}

/* free-standing oversized pull quote */
.bigquote{padding:clamp(4rem,9vh,6.5rem) var(--gutter)}
.bigquote .inner{max-width:50rem;margin:0 auto;position:relative;text-align:center;padding:0 clamp(2.5rem,6vw,4.5rem)}
.bigquote .qmark{position:absolute;font-family:"Cormorant Garamond";font-size:clamp(3.4rem,6vw,5rem);line-height:.7;color:var(--wine);opacity:.4}
.bigquote .qmark.open{top:-.4rem;left:0}
.bigquote .qmark.close{bottom:2.6rem;right:0}
.bigquote blockquote{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-size:clamp(1.5rem,2.9vw,2.3rem);line-height:1.4;color:var(--wine)}
.bigquote .who{margin-top:1.8rem;display:flex;gap:.6rem;flex-wrap:wrap;align-items:baseline;justify-content:center}
.bigquote .who b{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--ink)}
@media(max-width:640px){.bigquote .inner{padding:0 1.6rem}.bigquote .qmark{font-size:2.6rem}.bigquote .qmark.close{bottom:3.4rem}}

/* work page: borderless editorial entries */
.workedit{padding:var(--s-sec) var(--gutter);display:grid;gap:clamp(3.5rem,8vh,5.5rem);max-width:76rem;margin:0 auto}
.workentry{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(1.8rem,4.5vw,4rem);align-items:end}
.workentry.flip{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.workentry.flip .shot{order:2}
.workentry .shot .frame{border:1px solid var(--wine)}
.workentry .eyebrow{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-top:1px solid var(--line-lt);padding-top:.6rem;margin-bottom:1rem}
.workentry .eyebrow .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.15rem;color:var(--wine)}
.workentry h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.workentry .wmeta .label{display:block;margin-top:.5rem}
.workentry .wmeta p{margin-top:1rem;max-width:30rem}
.workentry .wq{max-width:30rem}
@media(max-width:860px){.workentry,.workentry.flip{grid-template-columns:1fr}.workentry.flip .shot{order:0}}

/* industries index rows */
.indindex{padding:var(--s-sec) var(--gutter)}
.indindex .inner{max-width:64rem;margin:0 auto}
.indindex .head{margin-bottom:clamp(1.8rem,4vh,2.6rem)}
.indindex .head h2{margin-top:.4rem}
.indrow{display:grid;grid-template-columns:3.2rem minmax(0,.9fr) minmax(0,1.1fr) auto;gap:clamp(1rem,2.5vw,2.5rem);align-items:baseline;padding:1.5rem 0;border-top:1px solid var(--line-lt);text-decoration:none;color:inherit}
.indindex .inner>a:last-of-type{border-bottom:1px solid var(--line-lt)}
.indrow:hover{background:rgba(78,32,38,.05)}
.indrow .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.2rem;color:var(--wine)}
.indrow h3{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.15;color:var(--ink)}
.indrow:hover h3{color:var(--wine)}
.indrow p{font-size:.93rem;line-height:1.55;max-width:30rem}
.indrow .go{font-family:"Archivo";font-weight:600;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--wine);white-space:nowrap;justify-self:end}
@media(max-width:820px){.indrow{grid-template-columns:2.2rem 1fr;row-gap:.4rem}.indrow p{grid-column:2}.indrow .go{grid-column:2;justify-self:start;margin-top:.3rem}}

/* story chapters, edition 2: giant numerals + varied pacing */
.chap2{padding:clamp(3.5rem,8vh,5.5rem) var(--gutter)}
.chap2 .inner{max-width:66rem;margin:0 auto}
.chap2 .chgrid{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.chap2.flip .chgrid{grid-template-columns:minmax(0,.58fr) minmax(0,.42fr)}
.chap2 .chno{position:relative}
.chap2 .chno .bignum{font-family:"Cormorant Garamond",serif;font-weight:500;font-style:italic;font-size:clamp(4.5rem,8vw,6.5rem);line-height:.8;color:var(--wine);opacity:.22;display:block;margin-bottom:1.2rem}
.chap2 .chno .label{display:block;margin-top:.6rem}
.chap2 .chno h2{margin-top:.6rem;font-size:clamp(1.5rem,2.6vw,2.2rem);max-width:9em}
.chap2 .chbody p{max-width:34rem}
.chap2 .chbody p:first-child{font-size:1.05rem}
.chap2 .chbody .scriptnote{margin-top:1.2rem}
.chap2 .chph{position:relative;margin-top:clamp(1.8rem,4vh,2.8rem);max-width:100%}
.chap2 .chno .chph{margin-right:clamp(0rem,2vw,1.5rem)}
.chap2 .chph picture{display:block;aspect-ratio:4/5;overflow:hidden}
.chap2 .chph img{width:100%;height:100%;object-fit:cover;display:block}
.chap2 .chph .cap{position:absolute;left:.9rem;bottom:.9rem;right:auto;background:var(--cream);color:var(--ink);font-family:"Cormorant Garamond",serif;font-style:italic;font-size:.92rem;line-height:1.3;padding:.45rem .7rem;max-width:16rem}
@media(max-width:820px){.chap2 .chgrid,.chap2.flip .chgrid{grid-template-columns:1fr;gap:1.2rem}.chap2 .chno .bignum{font-size:4rem;line-height:.8;margin-bottom:1rem}}

/* story: oversized chapter-break statement */
.storybreak{padding:clamp(4rem,10vh,7rem) var(--gutter)}
.storybreak .inner{max-width:66rem;margin:0 auto}
.storybreak p.giant{font-size:clamp(1.8rem,3.8vw,3.1rem);max-width:15em;line-height:1.08}
.storybreak .scriptnote{margin-top:1.4rem}

.workentry.solo{grid-template-columns:1fr}
.workentry.solo .wmeta{max-width:44rem}
.workentry .eyebrow{grid-column:1/-1}

/* duration tag on service index rows */
.wayrow .titlewrap{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap}
.wayrow .dur{font-family:"Archivo",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.58rem;color:var(--wine);background:var(--rose);padding:.4em .75em;border-radius:999px;white-space:nowrap;line-height:1;display:inline-block}
.wine .wayrow .dur{background:var(--rose);color:var(--wine)}

/* ==========================================================
   EDITION 2.1 · blocks from Sabrina's reference notes
   ========================================================== */

/* how working together goes: horizontal numbered process rows */
.process{padding:var(--s-sec) var(--gutter)}
.process .inner{max-width:64rem;margin:0 auto}
.process .head{margin-bottom:clamp(1.8rem,4vh,2.6rem)}
.process .head h2{margin-top:.4rem}
.procrow{display:grid;grid-template-columns:3.2rem minmax(0,.55fr) minmax(0,1fr);gap:clamp(1rem,2.5vw,2.5rem);align-items:baseline;padding:1.5rem 0;border-top:1px solid var(--line-lt)}
.process .inner>.procrow:last-of-type{border-bottom:1px solid var(--line-lt)}
.procrow .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.2rem;color:var(--wine)}
.procrow h3{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.15;color:var(--ink)}
.procrow p{font-size:.95rem;line-height:1.6;max-width:34rem}
@media(max-width:760px){.procrow{grid-template-columns:2.2rem 1fr;row-gap:.35rem}.procrow p{grid-column:2}}

/* you might be a fit if: 4-up italic checklist */
.fitgrid-wrap{padding:var(--s-sec) var(--gutter)}
.fitgrid-wrap .inner{max-width:72rem;margin:0 auto}
.fitgrid-wrap .head{margin-bottom:clamp(1.8rem,4vh,2.6rem);text-align:center;max-width:40rem;margin-left:auto;margin-right:auto}
.fitgrid-wrap .head h2{margin-top:.4rem}
.fitgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.6rem,3.5vw,3rem)}
.fitgrid>div{border-top:1px solid var(--line-lt);padding-top:1.1rem}
.fitgrid .label{display:block}
.fitgrid p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.4;color:var(--wine);margin-top:.7rem}
@media(max-width:900px){.fitgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.fitgrid{grid-template-columns:1fr}}

/* oversized italic FAQ questions + circle-plus */
.faq-lg summary{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.3;color:var(--ink);padding:1.3rem 3rem 1.3rem 0}
.faq-lg summary::after{content:"+";font-family:"Cormorant Garamond";font-style:normal;font-weight:500;color:var(--wine);font-size:1.25rem;line-height:1;width:1.9rem;height:1.9rem;border:1px solid var(--wine);border-radius:999px;display:flex;align-items:center;justify-content:center;transform:translateY(-50%)}
.faq-lg details[open] summary::after{content:"\2212"}
.faq-lg details p{font-size:.97rem}

/* left-aligned jump pills (services hero) */
.jumps.left{justify-content:flex-start;margin-top:2rem}
.jumps.left a{font-size:.64rem;padding:.7em 1.3em}

/* studio index card (story) */
.idcard-wrap{padding:var(--s-sec) var(--gutter)}
.idcard{max-width:44rem;margin:0 auto;border:1px solid var(--wine);background:#f4f2ec;padding:clamp(1.6rem,4vw,2.8rem);position:relative}
.idcard .folio{margin-bottom:1.4rem}
.idcard h2{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.1;color:var(--ink)}
.idcard dl{margin-top:1.4rem}
.idcard .idrow{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:.8rem 0;border-top:1px solid var(--line-lt)}
.idcard dt{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;color:var(--dim);white-space:nowrap}
.idcard dd{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.08rem;line-height:1.35;color:var(--wine);text-align:right}
.idcard .scriptnote{position:absolute;right:1.4rem;top:-2.9rem;transform:rotate(3deg)}
.idcard-wrap{padding-top:calc(var(--s-sec) + 1.5rem)}
@media(max-width:540px){.idcard .idrow{flex-direction:column;gap:.15rem}.idcard dd{text-align:left}}

/* ==========================================================
   EDITION 2.2 · repositioning: audit → implementation
   ========================================================== */
.wayrow .role{font-family:"Archivo",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.58rem;color:var(--cream);background:var(--wine);padding:.4em .75em;border-radius:999px;white-space:nowrap;line-height:1;display:inline-block}
.storybreak .sub{margin-top:1.4rem;max-width:34rem;font-size:.98rem;line-height:1.7}
.dark .storybreak .sub,.storybreak.dark .sub{color:var(--body-dk)}
.fitnote{max-width:46rem;margin:2.2rem auto 0;text-align:center;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.1rem;line-height:1.5;color:var(--dim)}

/* ==========================================================
   EDITION 2.3 · before & after showcase (layered mockups)
   ========================================================== */
.ba{padding:var(--s-sec) var(--gutter);overflow:hidden}
.ba .inner{max-width:72rem;margin:0 auto}
.ba .head{max-width:38rem;margin-bottom:clamp(2.2rem,5vh,3.4rem)}
.ba .head h2{margin-top:.4rem}
.ba .head p{margin-top:.9rem}
.bapair{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,3vw,2.5rem);align-items:start;margin-top:clamp(2.5rem,6vh,4rem);background:linear-gradient(165deg,var(--bone2) 0%,var(--cream) 60%,var(--bone) 100%);padding:clamp(2rem,4.5vw,3.5rem)}
.bapair:first-of-type{margin-top:0}
.ba-shot{position:relative;margin:0;min-width:0}
.ba-shot .frame{overflow:visible;background:#fff;border:1px solid rgba(20,19,17,.12);box-shadow:0 14px 34px rgba(20,19,17,.14);line-height:0}
.ba-shot picture{display:block;width:100%}
.ba-shot img{width:100%;height:auto;max-height:none;object-fit:fill;display:block;transform:none}
.ba-shot.before .frame{filter:saturate(.55);opacity:.94}
.ba-shot.after .frame{box-shadow:0 18px 44px rgba(20,19,17,.2)}
.balabel{margin-top:.75rem;font-family:"Archivo";font-weight:600;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);display:flex;gap:.6rem;align-items:baseline;line-height:1.2}
.balabel b{color:var(--wine);font-weight:800}
.wine .balabel{color:var(--rose)} .wine .balabel b{color:var(--cream-text)}
.bameta{grid-column:1/-1;margin-top:clamp(1.6rem,3.5vw,2.4rem);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1rem,3vw,2.5rem);align-items:baseline;border-top:1px solid rgba(20,19,17,.16);padding-top:1rem}
.bapair .scriptnote{position:absolute;top:clamp(.7rem,2vw,1.4rem);right:clamp(1.4rem,3.5vw,2.6rem);z-index:3}
@media(max-width:860px){
  .bapair{grid-template-columns:1fr;gap:1.5rem;padding:1.4rem 1.1rem 1.8rem}
  .bameta{grid-template-columns:1fr;gap:.6rem}
  .bapair .scriptnote{position:static;display:block;margin-bottom:.5rem}
}
.bameta h3{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:1rem;color:inherit}
.bameta p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.1rem;max-width:30rem}
.wine .bameta h3{color:var(--cream-text)} .wine .bameta p{color:var(--rose)}
/* empty slot state until real screenshots land */
.ph-slot{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(-45deg,transparent,transparent 14px,rgba(78,32,38,.07) 14px,rgba(78,32,38,.07) 15px)}
.ph-slot span{font-family:"Archivo";font-weight:600;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);background:var(--cream);padding:.5em .9em;border:1px solid var(--line-lt)}

/* story hero: photo follows content height; chapter index fills the copy */
@media(min-width:861px){.hero.toc .photo{aspect-ratio:auto}.hero.toc{min-height:0}}
.chtoc{margin-top:2.2rem;max-width:26rem}
.chtoc a{display:grid;grid-template-columns:2.2rem 1fr auto;align-items:baseline;gap:.9rem;padding:.6rem 0;border-top:1px solid var(--line-lt);text-decoration:none;color:var(--ink)}
.chtoc a:last-child{border-bottom:1px solid var(--line-lt)}
.chtoc .n{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1rem;color:var(--wine)}
.chtoc .t{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}
.chtoc .go{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:.95rem;color:var(--wine);opacity:0;transition:opacity .15s}
.chtoc a:hover .go{opacity:1}
.chtoc a:hover .t{color:var(--wine)}

/* photo chapters: header row, then image beside text, centered */
.chap2.media .chhead{margin-bottom:clamp(1.8rem,4.5vh,3rem)}
.chap2.media .chhead h2{max-width:16em}
.chap2.media .chgrid{grid-template-columns:minmax(0,.5fr) minmax(0,.5fr);align-items:start}
.chap2.media.flip .chgrid{grid-template-columns:minmax(0,.5fr) minmax(0,.5fr);align-items:start}
.chap2.media .chph{margin:0;max-width:none}
.chap2 .chph .scriptnote{display:block;margin-top:.85rem;text-align:right;transform:rotate(-2deg)}
.chap2.media.flip .chph{justify-self:end}
@media(max-width:820px){.chap2.media .chph{max-width:100%}}

/* services closer: giant statement + note, asymmetric */
.diagnose{padding:var(--s-sec) var(--gutter)}
.diagnose .inner{max-width:72rem;margin:0 auto}
.diagnose .dgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:end;margin-top:clamp(2rem,4.5vh,3rem)}
.diagnose .giant{font-size:clamp(2rem,4.2vw,3.4rem);max-width:11em;position:relative;line-height:1.08}
.diagnose .scriptnote{display:block;margin-top:2.8rem;transform:rotate(-3deg)}
.diagnose .note p{color:var(--body-dk);max-width:26rem}
.diagnose .note p+p{margin-top:1rem}
.diagnose .note .btn{margin-top:1.8rem}
.diagnose .fine{margin-top:1.3rem;font-size:.88rem;opacity:.85}
.diagnose .fine a{color:var(--rose)}
@media(max-width:860px){.diagnose .dgrid{grid-template-columns:1fr;gap:1.8rem;align-items:start}}

/* hero CTAs, edition 2: square primary, italic secondary, quiet entry line */
.hero.ed2 .row{margin-top:2.6rem;gap:1rem 1.2rem;align-items:stretch}
.hero.ed2 .btn{border-radius:0;padding:1.15em 2.2em;letter-spacing:.18em;border:1px solid var(--wine)}
.hero.ed2 .row .link{border-radius:0;border:1px solid var(--wine);color:var(--wine);background:transparent;font-family:"Archivo",sans-serif;font-weight:600;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;padding:1.15em 2.2em;text-decoration:none;display:inline-flex;align-items:center;transition:background .18s,color .18s}
.hero.ed2 .row .link:hover{background:var(--wine);color:var(--cream)}
.hero.ed2 .entryline{margin-top:2rem;border-top:1px solid var(--line-lt);padding-top:1rem;max-width:26rem;font-size:.93rem;line-height:1.55;color:var(--dim)}
.hero.ed2 .entryline a{color:var(--wine);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em}

/* work page: case files */
.casework{padding:var(--s-sec) var(--gutter);display:grid;gap:clamp(4rem,9vh,6.5rem)}
.casefile{max-width:76rem;margin:0 auto;width:100%}
.cf-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;border-top:1px solid var(--line-lt);padding-top:.9rem;margin-bottom:clamp(1.4rem,3vh,2rem)}
.cf-head .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(2.8rem,5.5vw,4.2rem);line-height:.9;color:var(--wine);opacity:.25}
.cf-grid{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.casefile.flip .cf-grid{grid-template-columns:minmax(0,.58fr) minmax(0,.42fr)}
.casefile.flip .cf-meta{order:2}
.cf-meta h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.cf-meta .label{display:block;margin-top:.6rem}
.cf-meta .deck{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.15rem;line-height:1.4;color:var(--wine);margin-top:.9rem;max-width:20rem}
.clip{margin-top:1.7rem;max-width:19rem;transform:rotate(-2deg);border:1px solid var(--wine);background:#fff;box-shadow:10px 14px 32px rgba(13,13,12,.14)}
.casefile.flip .clip{transform:rotate(2deg)}
.clip img{display:block;width:100%;height:auto;filter:grayscale(1) contrast(1.04);transition:filter .35s}
.casefile:hover .clip img{filter:grayscale(0)}
.cf-body p{max-width:34rem}
.cf-body p+p{margin-top:1rem}
.casefile.solo .cf-grid{grid-template-columns:1fr}
.casefile.solo .cf-body{max-width:44rem}
@media(max-width:820px){.cf-grid,.casefile.flip .cf-grid{grid-template-columns:1fr}.casefile.flip .cf-meta{order:0}.clip{max-width:16rem}}

/* industries: light "field guide" features (replaces dark/wine slabs) */
.indfile{padding:var(--s-sec) var(--gutter)}
.indfile .inner{max-width:76rem;margin:0 auto}
.indfile .cf-head{margin-bottom:clamp(1.4rem,3vh,2rem)}
.indfile .ifgrid2{display:grid;grid-template-columns:minmax(0,.58fr) minmax(0,.42fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.indfile.flip .ifgrid2{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr)}
.indfile.flip .ifgrid2>div:first-child{order:2}
.indfile h2{font-size:clamp(1.6rem,2.8vw,2.3rem)}
.indfile .ifgrid2 p{max-width:32rem;margin-top:1.1rem}
.indfile .clients{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;color:var(--dim);margin-top:1.4rem}
.indfile .rowlinks{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:1.4rem}
.indfile .pull{border-left:1px solid var(--wine);padding-left:clamp(1.2rem,2.5vw,2rem)}
.indfile .pull blockquote{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.45;color:var(--wine)}
.indfile .pull .who{display:block;margin-top:1.1rem;font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.64rem;color:var(--dim)}
.indfile .pull .who a{color:var(--wine)}
@media(max-width:860px){.indfile .ifgrid2,.indfile.flip .ifgrid2{grid-template-columns:1fr;gap:1.6rem}.indfile.flip .ifgrid2>div:first-child{order:0}}

/* diagnose on light grounds */
.diagnose.tone .note p,.diagnose:not(.dark) .note p{color:var(--body)}
.diagnose.tone .fine a{color:var(--wine)}

/* ==========================================================
   case studies: editorial feature treatment (.cs scope)
   ========================================================== */
.cs .sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;border-top:1px solid var(--line-lt);padding-top:.9rem;margin-bottom:clamp(1.4rem,3vh,2rem)}
.cs .sechead .sec-no{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(2.6rem,5vw,3.8rem);line-height:.9;color:var(--wine);opacity:.25;order:2}
.cs .sechead h2{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:clamp(1.3rem,2.2vw,1.8rem);color:var(--ink)}
.cs section>p{max-width:38rem}
.cs section>p+p{margin-top:1rem}
.cs strong{color:var(--wine);font-weight:700}
.cs .lead{font-size:1.08rem}
.cs .lead::first-letter{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:3.4em;line-height:.78;color:var(--wine);float:left;padding:.06em .12em 0 0}
.cs .qserif{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.12em;color:var(--wine)}
/* deadpan break */
.cs .deadpan{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(1.8rem,3.6vw,2.8rem);color:var(--wine);margin:clamp(1.8rem,4vh,2.6rem) 0}
/* exhibit artifact: fake browser tab */
.exhibit{margin:clamp(1.8rem,4vh,2.6rem) 0;position:relative;max-width:26rem}
.exhibit .exlabel{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:.62rem;color:var(--dim);display:block;margin-bottom:.7rem}
.exhibit .tab{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--wine);padding:.85rem 1.1rem;transform:rotate(-1.5deg);box-shadow:8px 10px 26px rgba(13,13,12,.12)}
.exhibit .tab .dot{width:.85rem;height:.85rem;border-radius:999px;background:var(--rose);flex:none}
.exhibit .tab .tt{font-family:"Archivo";font-weight:600;font-size:.92rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exhibit .scriptnote{position:absolute;right:-.6rem;bottom:-1.9rem;transform:rotate(-4deg)}
/* findings ledger, light */
.findings{margin:clamp(1.8rem,4vh,2.6rem) 0;max-width:38rem}
.findings .fh{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:.62rem;color:var(--dim);display:block;margin-bottom:.4rem}
.findings ul{list-style:none}
.findings li{display:grid;grid-template-columns:2.4rem 1fr;gap:1rem;align-items:baseline;padding:.85rem 0;border-top:1px solid var(--line-lt)}
.findings li:last-child{border-bottom:1px solid var(--line-lt)}
.findings .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.05rem;color:var(--wine)}
.findings p{font-size:.95rem;line-height:1.55}
/* honest before/after stat rows */
.shift{margin:clamp(1.6rem,3.5vh,2.2rem) 0;max-width:38rem}
.shift .row2{display:grid;grid-template-columns:1fr;gap:0}
.shift .srow{display:flex;gap:.8rem;align-items:baseline;flex-wrap:wrap;padding:.8rem 0;border-top:1px solid var(--line-lt)}
.shift .srow:last-child{border-bottom:1px solid var(--line-lt)}
.shift .from{font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--dim);text-decoration:line-through;text-decoration-thickness:1px}
.shift .arr{color:var(--wine)}
.shift .to{font-family:"Archivo";font-weight:700;font-size:.9rem;color:var(--wine)}
/* clipping at top of case pages */
.cs-clip{max-width:24rem;margin:0 0 clamp(2rem,4.5vh,3rem);transform:rotate(-1.5deg);border:1px solid var(--wine);background:#fff;box-shadow:10px 14px 32px rgba(13,13,12,.14)}
.cs-clip img{display:block;width:100%;height:auto;filter:grayscale(1) contrast(1.04);transition:filter .35s}
.cs-clip:hover img{filter:grayscale(0)}

/* sound familiar: pinned note cards on wine */
.ledger2{padding:var(--s-sec) var(--gutter)}
.ledger2 .inner{max-width:72rem;margin:0 auto}
.ledger2 .lhead{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2.2rem,5vh,3.4rem)}
.ledger2 h2.giant{font-size:clamp(2rem,4.2vw,3.4rem)}
.ledger2 .lhead .scriptnote{transform:rotate(-4deg);margin-bottom:.4rem}
.notecards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,2.5rem);align-items:start}
.notecard{background:var(--cream);color:var(--ink);border:1px solid rgba(78,32,38,.35);padding:clamp(1.2rem,2.5vw,1.8rem);box-shadow:10px 14px 34px rgba(13,13,12,.28)}
.notecard .nlab{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:.6rem;color:var(--dim);display:block;margin-bottom:.9rem}
.notecard p{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.4;color:var(--wine)}
.notecard:nth-child(1){transform:rotate(-2deg)}
.notecard:nth-child(2){transform:rotate(1.4deg) translateY(1.6rem)}
.notecard:nth-child(3){transform:rotate(-1deg) translateY(.6rem)}
.ledger2 .close2{margin-top:clamp(3rem,6.5vh,4.5rem);max-width:34rem;margin-left:auto;text-align:right}
@media(max-width:820px){.ledger2 .close2{margin-left:0;text-align:left}}
.ledger2 .close-big{font-family:"Archivo";font-weight:800;text-transform:uppercase;line-height:1.05;font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--cream-text)}
.ledger2 .close-sub{margin-top:.8rem;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.1rem,1.7vw,1.35rem);color:var(--rose)}
@media(max-width:820px){.notecards{grid-template-columns:1fr;max-width:26rem}.notecard:nth-child(2){transform:rotate(1.4deg)}.notecard:nth-child(3){transform:rotate(-1deg)}}

/* trusted strip, edition 2: equal-cell advertisers index */
.trusted2{padding:clamp(3rem,7vh,4.5rem) var(--gutter)}
.trusted2 .label{display:block;text-align:center;margin-bottom:1.8rem}
.trusted2 ul{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);max-width:74rem;margin:0 auto;border-top:1px solid var(--line-lt);border-left:1px solid var(--line-lt)}
.trusted2 li{background:#fff;border-right:1px solid var(--line-lt);border-bottom:1px solid var(--line-lt);min-height:6rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1rem;text-align:center;opacity:.92;transition:opacity .2s}
.trusted2 li:hover{opacity:1;background:rgba(78,32,38,.04)}
.trusted2 .m{line-height:1.05;white-space:nowrap}
.trusted2 .m.sans{font-family:"Archivo";font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}
.trusted2 .m.sansw{font-family:"Archivo";font-weight:500;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase}
.trusted2 .m.serif{font-family:"Cormorant Garamond";font-weight:500;font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase}
.trusted2 .m.serifi{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-size:1.25rem}
.trusted2 .c-wine,.trusted2 .c-ink,.trusted2 .c-sage{color:var(--ink)}
.trusted2 .sub{font-family:"Archivo";font-weight:500;font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}
@media(max-width:820px){.trusted2 ul{grid-template-columns:repeat(2,1fr)}.trusted2 li{min-height:5rem}}

/* cs case studies: stacked flow overrides the sidebar grid at all widths */
.story.cs .inner{max-width:44rem}
.story.cs .inner>section{display:block}
.story.cs .inner>section>.sechead{position:static;text-align:left;border-right:0;padding-right:0}
.cs .sechead .sec-no{white-space:nowrap}
.cs .sechead h2{text-align:left}

/* story ch4: typographic progression chain */
.chain{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem 0}
.chain .step{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;color:var(--wine);line-height:1.15}
.chain .step:nth-child(1){font-size:1.2rem}
.chain .step:nth-child(3){font-size:1.45rem}
.chain .step:nth-child(5){font-size:1.75rem}
.chain .final{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:clamp(1.15rem,1.8vw,1.5rem);letter-spacing:.02em;color:var(--wine);margin-top:.35rem}
.chain .arr{font-family:"Cormorant Garamond",serif;color:var(--dim);font-size:1.1rem;line-height:1;padding-left:.15rem}
.chain+.scriptnote{display:inline-block;margin-top:1.2rem;transform:rotate(-3deg)}

/* tighter hero->chapters seam on story */
.hero.toc .copy{padding-bottom:clamp(2rem,4.5vh,3rem)}

/* ==========================================================
   FINAL REFINEMENT PASS (edition 39)
   ========================================================== */

/* 3) diagnose statement: right-side diagnostic index */
.storybreak .sbgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}
.storybreak .sidx{max-width:26rem;justify-self:end;width:100%}
.storybreak .sidx .row3{display:grid;grid-template-columns:2rem 1fr;gap:.9rem;align-items:baseline;padding:.7rem 0;border-top:1px solid var(--line-lt)}
.storybreak .sidx .row3:last-child{border-bottom:1px solid var(--line-lt)}
.storybreak .sidx .n{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.05rem;color:var(--wine)}
.storybreak .sidx b{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:var(--ink);display:block}
.storybreak .sidx span.d{font-size:.85rem;color:var(--dim)}
@media(max-width:820px){.storybreak .sbgrid{grid-template-columns:1fr;gap:1.6rem}.storybreak .sidx{justify-self:start}}

/* 4) trusted grid: quiet tonal cell variation */


/* 5) sound familiar: calmer notes */
.notecard{transform:none}
.notecard:nth-child(1){transform:rotate(-1deg)}
.notecard:nth-child(2){transform:rotate(.8deg) translateY(.6rem)}
.notecard:nth-child(3){transform:rotate(-.6deg) translateY(.3rem)}
.notecard .nlab{margin-bottom:.7rem}

/* 6) before/after: light, single-spread */
.ba.tone .bameta{border-color:var(--line-lt)}
.ba.tone .balabel{color:var(--dim)} .ba.tone .balabel b{color:var(--wine)}
.ba.tone .bameta h3{color:var(--ink)} .ba.tone .bameta p{color:var(--wine)}

/* 7) featured work image: refined B&W frame */
.feature .shot .frame img{filter:grayscale(1) contrast(1.05);transition:filter .35s}
.feature .shot:hover .frame img{filter:grayscale(0)}

/* intro on light ground */
.intro.lite{background:var(--bone)}
.intro.lite h2{color:var(--wine)}
.intro.lite .role{color:var(--ink)}
.intro.lite p{color:var(--body)}
.intro.lite .ghost{border-color:var(--wine);color:var(--wine)}
.intro.lite .ghost:hover{background:var(--wine);color:var(--cream)}
.intro.lite .folio{border-color:var(--line-lt)} .intro.lite .folio span{color:var(--dim)}
.intro.lite .scriptnote{color:var(--wine)}

/* guideband as light editorial insert */
.guideband.lite{background:var(--cream);border-top:1px solid var(--line-lt);border-bottom:1px solid var(--line-lt)}
.guideband.lite h2{color:var(--ink)}
.guideband.lite p{color:var(--body)}
.guideband.lite .kicker{color:var(--wine)}
.guideband.lite .btn{background:var(--wine);color:var(--cream)}

/* testimonial contrast */
.bigquote blockquote{color:var(--wine);opacity:1}
.bigquote .who b{color:var(--ink)}

/* values on light ground (services) */
.values.lite{background:var(--bone)}
.values.lite h2,.values.lite h3{color:var(--ink)}
.values.lite .kicker{color:var(--wine)}
.values.lite p{color:var(--body)}
.values.lite .vgrid>div{border-top:1px solid var(--line-lt);padding-top:1rem}
.values.lite .label{color:var(--wine)}

/* 9) story hero on ink */
.hero.dark{background:var(--ink)}
.hero.dark h1{color:var(--cream-text)}
.hero.dark .lede{color:var(--rose)}
.hero.dark .folio{border-color:rgba(242,238,228,.25)}
.hero.dark .folio span{color:#a8a49a}
.hero.dark .chtoc a{border-color:rgba(242,238,228,.22);color:var(--cream-text)}
.hero.dark .chtoc a:last-child{border-color:rgba(242,238,228,.22)}
.hero.dark .chtoc .t{color:var(--cream-text)}
.hero.dark .chtoc .n,.hero.dark .chtoc .go{color:var(--rose)}
.hero.dark .chtoc a:hover .t{color:var(--rose)}

/* 10) story rhythm */
.chap2{padding:clamp(3rem,5vw,5rem) var(--gutter)}
.chap2 .chbody p+p{margin-top:1.6rem}
.storybreak{padding:clamp(3.5rem,7vw,7rem) var(--gutter)}

/* no visible page scrollbar: scrolling unaffected (wheel, trackpad, keys) */
html{scrollbar-width:none}
::-webkit-scrollbar{width:0;height:0}

/* case study template v2: dossier spread + next-case chain */
.dossier{padding:clamp(3rem,6.5vh,4.5rem) var(--gutter)}
.dossier .inner{max-width:66rem;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.dossier .idcard{margin:0;max-width:none}
.dossier .cs-clip{margin:0;max-width:26rem;justify-self:end}
.dossier.solo .inner{grid-template-columns:minmax(0,1fr);max-width:44rem}
@media(max-width:860px){.dossier .inner{grid-template-columns:1fr}.dossier .cs-clip{justify-self:start}}
.nextcase{padding:clamp(3rem,6vh,4.5rem) var(--gutter);background:var(--bone);border-top:1px solid var(--line-lt)}
.nextcase .inner{max-width:44rem;margin:0 auto;border-top:1px solid var(--line-lt);padding-top:1.2rem;display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;flex-wrap:wrap}
.nextcase .label{white-space:nowrap}
.nextcase a{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(1.25rem,2.2vw,1.7rem);color:var(--wine);text-decoration:none}
.nextcase a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em}

/* work entries v3: typographic case files, no business screenshots */
.cf-dossier{margin-top:1.6rem;max-width:22rem}
.cf-dossier>div{padding:.75rem 0;border-top:1px solid var(--line-lt)}
.cf-dossier>div:last-child{border-bottom:1px solid var(--line-lt)}
.cf-dossier dt{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:.6rem;color:var(--dim)}
.cf-dossier dd{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.05rem;line-height:1.4;color:var(--wine);margin-top:.25rem}

/* homepage feature: the audit document as an editorial artifact */
.auditdoc{display:block;max-width:27rem;margin:0 auto;background:#fdfcf8;border:1px solid var(--wine);padding:clamp(1.6rem,3.5vw,2.4rem);transform:rotate(-1.5deg);box-shadow:14px 18px 40px rgba(13,13,12,.16);text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s}
.auditdoc:hover{transform:rotate(-.6deg) translateY(-3px);box-shadow:16px 22px 46px rgba(13,13,12,.2)}
.auditdoc .mast{text-align:center;border-bottom:2px solid var(--ink);padding-bottom:.7rem}
.auditdoc .mast .paper-name{font-family:"Cormorant Garamond",serif;font-weight:500;letter-spacing:.3em;text-transform:uppercase;font-size:.9rem;color:var(--ink)}
.auditdoc .mast .paper-sub{display:block;margin-top:.35rem;font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:.56rem;color:var(--dim)}
.auditdoc .doc-head{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.1;color:var(--wine);margin-top:1.2rem}
.auditdoc .toc{list-style:none;margin-top:1rem}
.auditdoc .toc li{display:flex;align-items:baseline;gap:.6rem;padding:.65rem 0;border-top:1px solid var(--line-lt);font-size:.85rem}
.auditdoc .toc .cat{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;color:var(--ink);white-space:nowrap}
.auditdoc .toc .lead-dots{flex:1;border-bottom:1px dotted var(--line-lt);transform:translateY(-.25em)}
.auditdoc .toc .st{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:.95rem;line-height:1.3;color:var(--wine);text-align:right;max-width:12.5rem}
.auditdoc .doc-foot{margin-top:1.1rem;border-top:1px solid var(--line-lt);padding-top:.8rem;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:.98rem;line-height:1.45;color:var(--dim)}

.auditdoc{position:relative;max-width:29rem}
.auditdoc .stamp{position:absolute;top:1.1rem;right:1.1rem;transform:rotate(7deg);border:2px solid var(--wine);color:var(--wine);font-family:"Archivo";font-weight:800;text-transform:uppercase;letter-spacing:.2em;font-size:.6rem;padding:.45em .8em;opacity:.85}

/* work entries v4: alternating grounds, higher contrast, wine audit finale */
.casefile2{padding:var(--s-sec) var(--gutter)}
.casefile2 .inner{max-width:76rem;margin:0 auto}
.casefile2 .cf-head .num{opacity:.35}
.casefile2 .cf-head .label{color:var(--ink)}
.casefile2 .cf-dossier dt{color:var(--wine)}
.casefile2 .cf-dossier dd{color:var(--ink)}
.clip,.casefile.flip .clip,.casefile2 .clip{transform:none}
.casefile2.wine .cf-head{border-color:rgba(242,238,228,.25)}
.casefile2.wine .cf-head .num{color:var(--rose);opacity:.5}
.casefile2.wine .cf-head .label,.casefile2.wine .cf-meta h2{color:var(--cream-text)}
.casefile2.wine .cf-meta .label{color:var(--rose)}
.casefile2.wine .cf-body p{color:#e9e4d8}
.casefile2.wine .cf-body .label a{color:var(--cream-text)}
.casefile2.wine .clip{border-color:rgba(242,238,228,.4);box-shadow:12px 16px 40px rgba(13,13,12,.35)}
.casefile2.wine .btn{background:var(--cream-text);color:var(--wine)}
.casefile2.wine .btn:hover{background:var(--rose)}
.casefile2.wine .link{color:var(--rose);border-color:var(--rose)}

/* ==========================================================
   case studies v3: wine cover + composed spreads
   ========================================================== */
.cshero{background:var(--wine);padding:clamp(5.5rem,15vh,9.5rem) var(--gutter)}
.cshero .inner{max-width:66rem;margin:0 auto}
.cshero .folio{border-color:rgba(227,213,200,.4)}
.cshero .folio span{color:var(--rose)}
.cshero .kicker{color:var(--rose);display:block;margin-bottom:1rem}
.cshero h1{font-family:"Archivo";font-weight:900;text-transform:uppercase;color:var(--cream-text);font-size:clamp(2.6rem,5.8vw,4.8rem);line-height:1.02;max-width:15em}
.cshero h1 .it{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;text-transform:none;font-size:1.05em;color:var(--rose)}
.cshero .lede{margin-top:1.6rem;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.25rem,2.1vw,1.6rem);color:var(--rose);max-width:34rem}
.cshero .lede a{color:inherit}
/* dossier spread: card + statement */
.dsspread{padding:var(--s-sec) var(--gutter)}
.dsspread .inner{max-width:66rem;margin:0 auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.dsspread .idcard{margin:0;max-width:none}
.dsspread .stmt .giant{font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.08;max-width:12em}
.dsspread .stmt .scriptnote{display:inline-block;margin-top:1.4rem;transform:rotate(-3deg)}
.dsspread .stmt blockquote{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.4;color:var(--wine)}
.dsspread .stmt .who{display:block;margin-top:1.1rem}
@media(max-width:860px){.dsspread .inner{grid-template-columns:1fr}}
/* composed sections */
.cssec{padding:clamp(3rem,6vh,4.5rem) var(--gutter)}
.cssec .inner{max-width:66rem;margin:0 auto}
.cssec .cf-head{margin-bottom:clamp(1.6rem,3.5vh,2.4rem)}
.csgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(2.5rem,5vw,4.5rem);align-items:start}
.csgrid .prose p{max-width:38rem}
.csgrid .prose p+p{margin-top:1rem}
.csgrid .aside>*+*{margin-top:clamp(1.4rem,3vh,2rem)}
.csgrid .aside .deadpan{margin:0}
.csgrid .aside .findings,.csgrid .aside .shift{margin:0;max-width:none}
.csgrid .aside .exhibit{margin:0 0 2.2rem;max-width:none}
.csgrid .aside .notecard{max-width:24rem;transform:rotate(-1.2deg)}
.cssec .ctarow{margin-top:clamp(2rem,4.5vh,3rem);display:flex;gap:1.6rem;flex-wrap:wrap;align-items:center}
@media(max-width:860px){.csgrid{grid-template-columns:1fr}}

/* trusted strip v4: the client register */
.register{padding:clamp(3rem,7vh,4.5rem) var(--gutter)}
.register .inner{max-width:74rem;margin:0 auto}
.register .folio{margin-bottom:1.6rem}
.register .table{border:2px solid var(--ink);background:transparent}
.register .thead{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem 1.2rem;border-bottom:1px solid var(--ink)}
.register .thead .tl{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.22em;font-size:.66rem;color:var(--ink)}
.register .thead .tr{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:.95rem;color:var(--dim)}
.register ul{list-style:none;display:grid;grid-template-columns:repeat(5,1fr)}
.register li{position:relative;background:transparent;border-right:1px solid var(--line-lt);border-bottom:1px solid var(--line-lt);min-height:6.2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.3rem 1rem 1rem;text-align:center;transition:background .2s}
.register li:nth-child(5n){border-right:0}
.register li:nth-child(n+6){border-bottom:0}
.register li:hover{background:rgba(78,32,38,.05)}
.register li:hover .m{color:var(--wine)}
.register .no{position:absolute;top:.5rem;left:.75rem;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.15rem;color:var(--dim);opacity:.9}
.register .m{line-height:1.05;white-space:nowrap;color:var(--ink);transition:color .2s}
.register .m.sans{font-family:"Archivo";font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}
.register .m.sansw{font-family:"Archivo";font-weight:500;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase}
.register .m.serif{font-family:"Cormorant Garamond";font-weight:500;font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase}
.register .m.serifi{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-size:1.25rem}
.register .sub{font-family:"Archivo";font-weight:500;font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}
.register .endnote{display:flex;justify-content:flex-end;margin-top:.9rem}
.register .scriptnote{transform:rotate(-3deg)}
@media(max-width:820px){
  .register ul{grid-template-columns:repeat(2,1fr)}
  .register li{min-height:5.4rem}
  .register li:nth-child(5n){border-right:1px solid var(--line-lt)}
  .register li:nth-child(2n){border-right:0}
  .register li:nth-child(n+6){border-bottom:1px solid var(--line-lt)}
  .register li:nth-child(n+9){border-bottom:0}
}

/* sound familiar v4: the inbox thread */
.inboxsec .inner{max-width:72rem;margin:0 auto}
.inboxsec .lhead{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4.5vh,3rem)}
.inboxsec h2.giant{font-size:clamp(2rem,4.2vw,3.4rem)}
.inboxsec .lhead .scriptnote{transform:rotate(-4deg);margin-bottom:.4rem}
.inbox{max-width:56rem;margin:0 auto;background:#fdfcf8;border:1px solid rgba(78,32,38,.5);box-shadow:14px 18px 44px rgba(13,13,12,.3)}
.inbox .ihead{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 1.4rem;border-bottom:2px solid var(--ink)}
.inbox .ihead .tl{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.22em;font-size:.64rem;color:var(--ink)}
.inbox .ihead .tr{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:.95rem;color:var(--dim)}
.inbox .msg{display:grid;grid-template-columns:2.6rem 1fr;gap:1rem;align-items:baseline;padding:1.25rem 1.4rem;border-bottom:1px solid var(--line-lt)}
.inbox .msg .no{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1rem;color:var(--dim)}
.inbox .msg p{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(1.15rem,1.9vw,1.45rem);line-height:1.45;color:var(--ink)}
.inbox .reply{background:rgba(78,32,38,.06);padding:1.5rem 1.4rem 1.6rem;display:grid;grid-template-columns:2.6rem 1fr;gap:1rem}
.inbox .reply .rl{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.58rem;color:var(--wine);padding-top:.3rem}
.inbox .reply .big{font-family:"Archivo";font-weight:800;text-transform:uppercase;line-height:1.08;font-size:clamp(1.2rem,2.1vw,1.65rem);color:var(--wine)}
.inbox .reply .sub{margin-top:.7rem;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.02rem,1.6vw,1.25rem);line-height:1.5;color:var(--body)}
.inbox .reply .go{display:inline-block;margin-top:1.1rem;font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--wine);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.35em}
.inbox .reply .go:hover{text-decoration-thickness:2px}
@media(max-width:820px){.inbox .msg,.inbox .reply{grid-template-columns:2rem 1fr;padding-left:1rem;padding-right:1rem}}

/* industry hero photos: taller presence, headroom preserved */
@media(min-width:861px){.hero.toc .photo img{min-height:clamp(30rem,72vh,44rem)}}

/* composed-section asides: square photos so image height tracks the prose */
.csgrid .aside .frame{aspect-ratio:auto;flex:1 1 0;height:0;min-height:14rem;background:transparent;display:flex;align-items:center;justify-content:center}
.csgrid .aside .frame picture{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.csgrid .aside .frame img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.csgrid .aside .frame.art{flex:0 0 auto;height:auto;min-height:0}
.csgrid .aside .frame.art img{height:auto;object-fit:contain}

/* composed sections: centered asides + alternating direction */
.csgrid .aside{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.csgrid .aside>*+*{margin-top:clamp(1.6rem,3.5vh,2.4rem)}
.cssec.flip .csgrid{grid-template-columns:minmax(0,.92fr) minmax(0,1fr)}
.cssec.flip .csgrid .prose{order:2}
@media(max-width:860px){.cssec.flip .csgrid{grid-template-columns:1fr}.cssec.flip .csgrid .prose{order:0}}

.csgrid .aside .frame img{object-position:50% 50%}
.csgrid .aside .frame~.deadpan{font-size:clamp(1.35rem,2.3vw,1.85rem);text-align:center}

/* industry brief: pattern ledger table */
.patterns{padding:clamp(3rem,6vh,4.5rem) var(--gutter)}
.patterns .inner{max-width:66rem;margin:0 auto}
.patterns .table{border:2px solid var(--ink);background:#fdfcf8}
.patterns .thead{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem 1.2rem;border-bottom:1px solid var(--ink);background:var(--bone)}
.patterns .thead h2.tl,.patterns .thead .tl{margin:0;line-height:1.2;font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.22em;font-size:.64rem;color:var(--ink)}
.patterns .thead .tr{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:.95rem;color:var(--dim)}
.patterns .prow{display:grid;grid-template-columns:2.6rem 13rem 1fr;gap:1.2rem;align-items:baseline;padding:1.05rem 1.2rem;border-top:1px solid var(--line-lt)}
.patterns .prow:first-of-type{border-top:0}
.patterns .prow .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1rem;color:var(--wine)}
.patterns .prow h3{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--ink)}
.patterns .prow p{font-size:.98rem;line-height:1.55;color:var(--body)}
@media(max-width:820px){.patterns .prow{grid-template-columns:2rem 1fr;gap:.4rem 1rem}.patterns .prow p{grid-column:2}}

/* work entries: sections bleed full width; .inner does the centering */
.casefile2{max-width:none;margin:0;width:auto}

/* seam-proofing: paint the section color over photo clip edges in dark sections.
   A fractional-pixel clip edge can render as a light blend line against dark
   backgrounds; a 2px inner stroke of the section color covers it on every DPI. */
.split .ph{background:var(--wine)}
.split .ph::after,.book .ph::after{content:'';position:absolute;inset:-2px;pointer-events:none;border:2px solid var(--wine);box-shadow:inset 0 0 0 3px var(--wine);z-index:1}
.band .ph::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 2px var(--ink);z-index:1}

.chap2.media .inner{max-width:72rem}

/* storybreak refinement: statement-and-note as one fitted block, note closing bottom-right */
.storybreak .sbstack{max-width:fit-content}
.storybreak .sbstack .scriptnote{display:block;text-align:right;margin-top:1.4rem;transform:rotate(-3deg)}
.storybreak .folio{margin-bottom:clamp(2rem,4.5vh,3rem)}

/* legal pages: clean document layout */
.legaldoc{padding:var(--s-sec) var(--gutter)}
.legaldoc .inner{max-width:42rem;margin:0 auto}
.lsec{border-top:1px solid var(--line-lt);padding-top:1.2rem;margin-top:2.4rem}
.lsec:first-child{border-top:0;margin-top:0;padding-top:0}
.lsec .lhead{display:flex;gap:.9rem;align-items:baseline;margin-bottom:.7rem}
.lsec .lnum{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.05rem;color:var(--wine)}
.lsec h2{font-family:"Archivo";font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;color:var(--ink)}
.lsec p{font-size:.98rem;line-height:1.65}
.lsec p+p{margin-top:.8rem}
.legaldoc a{color:var(--wine);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}

.feature .shot .auditdoc{margin:0 auto}
.feature .fmeta{max-width:32rem}

/* safari seam corridor: outline paints OUTSIDE the box and cannot be clipped by
   overflow:hidden. Straddled with the inner stroke, the boundary is wine from
   3px inside to 3px outside on every engine. */

/* client heads in proof sections: real sub-headlines, not fine print */
.csgrid .prose .wq{max-width:38rem;margin-top:1.6rem}
.csgrid .prose .clienthead{display:block;font-family:"Archivo";font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.2;color:var(--wine);margin-bottom:.45rem}

/* uncropped hero (bridal): photo displays whole at natural proportions,
   centered on the page ground, never cover-cropped */
.hero.toc.uncrop .photo{aspect-ratio:auto;overflow:visible;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,3.5vw,3rem)}
.hero.toc.uncrop .photo img{position:static;inset:auto;width:auto;height:auto;max-width:100%;max-height:min(72vh,42rem);min-height:0;object-fit:contain}
@media(max-width:860px){.hero.toc.uncrop .photo{aspect-ratio:auto;padding:1.25rem 1.25rem 0}.hero.toc.uncrop .photo img{max-height:60vh}}

/* patterns table, deep variant (pilates): sentence findings with full copy */
.patterns .pathead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:clamp(1.5rem,4vw,4rem);align-items:start;margin-bottom:2.2rem}
.patterns .pathead h2{margin-top:.5rem;max-width:13em}
.patterns .patintro p{font-size:.98rem;line-height:1.6;color:var(--body)}
.patterns .patintro p+p{margin-top:.8rem}
.patterns .prow.deep{grid-template-columns:2.6rem minmax(0,1fr);align-items:start;padding-top:1.4rem;padding-bottom:1.5rem}
.patterns .prow.deep h3{text-transform:none;letter-spacing:0;font-size:1.05rem;line-height:1.45}
.patterns .prow.deep .pb p{margin-top:.75rem;max-width:44rem;font-size:.98rem;line-height:1.55;color:var(--body)}
@media(max-width:820px){.patterns .pathead{grid-template-columns:1fr;align-items:start;gap:1.1rem}.patterns .prow.deep{grid-template-columns:2rem minmax(0,1fr)}.patterns .prow.deep .pb{grid-column:2}}

/* composed aside pull quote: ruled, centered on the prose, never a floating line */
.csgrid .aside .pullq{margin:auto 0;width:100%;border-top:1px solid var(--line-lt);border-bottom:1px solid var(--line-lt);padding:clamp(1.6rem,3.5vh,2.5rem) .2rem}
.csgrid .aside .pullq p{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(1.75rem,2.9vw,2.45rem);line-height:1.3;color:var(--wine);max-width:11em}
.nb{white-space:nowrap}
@media(max-width:860px){.csgrid .aside .pullq{margin:1.6rem 0 0}}


/* aside photo, width-filling variant: natural ratio at full column width */
.csgrid .aside .frame.grow{flex:1 1 0;height:0;min-height:14rem}
.csgrid .aside .frame.grow img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}

/* tall hero variant (salons): more vertical presence for the cover photo */
@media(min-width:861px){.hero.toc.tall .photo img{min-height:clamp(36rem,88vh,56rem)}}

/* aside quotes: centered under their full-width photo, like captions */
.csgrid .aside .wq{text-align:center;max-width:26rem;margin-left:auto;margin-right:auto}

/* aside art images: natural ratio at full column width; outranks the .filled cover rule that was cropping them */
.csgrid .aside .frame.art{flex:1 1 0;height:0;min-height:14rem}
.csgrid .aside .frame.art picture{height:100%}
.csgrid .aside .frame.art img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:50% 50%}

/* nav dropdowns: Services + Who I Work With */
.nav li.has-sub{position:relative;display:flex;align-items:center;gap:.15rem}
.nav .subtoggle{background:none;border:0;color:var(--cream);opacity:.85;cursor:pointer;font-size:.6rem;line-height:1;padding:.25rem .3rem}
.nav .subtoggle:hover{opacity:1}
.nav .sub{list-style:none;display:none}
.nav .sub a{opacity:.85}
.nav .sub a:hover{opacity:1;color:var(--rose)}
@media(min-width:961px){
  .nav li.has-sub{padding:1.3rem 0;margin:-1.3rem 0}
  .nav .sub{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--wine);border:1px solid rgba(238,233,221,.28);border-top:1px solid rgba(238,233,221,.14);min-width:17rem;padding:1rem 1.2rem;flex-direction:column;gap:.7rem;z-index:30;box-shadow:0 14px 30px rgba(20,19,17,.18)}
  .nav li.has-sub:hover>.sub,.nav li.has-sub:focus-within>.sub,.nav li.has-sub.subopen>.sub{display:flex}
  .nav .sub a{display:block;font-size:.64rem;letter-spacing:.13em;white-space:nowrap}
}
@media(max-width:960px){
  /* inside the hamburger the submenus are simply open: no toggle to miss, every page one tap away */
  .nav li.has-sub{display:block}
  .nav .subtoggle{display:none}
  .nav ul.sub,.nav.open ul.sub,.nav li.has-sub.subopen>ul.sub{display:flex;flex-direction:column;gap:.85rem;position:static;left:auto;right:auto;top:auto;transform:none;border:0;border-left:1px solid rgba(238,233,221,.25);background:transparent;min-width:0;box-shadow:none;margin:.85rem 0 .25rem;padding:0 0 0 1rem}
  .nav .sub a{font-size:.68rem;display:block}
}

/* grand hero (salons): full-height statement, photo whole and larger type */
@media(min-width:861px){
.hero.toc.grand{min-height:min(88vh,60rem);align-items:center}
.hero.toc.uncrop.grand .photo img{max-height:min(84vh,54rem)}
.hero.toc.grand .copy .display{font-size:clamp(2.5rem,4.7vw,4rem)}
.hero.toc.grand .copy .lede{font-size:clamp(1.15rem,1.7vw,1.45rem)}
}
@media(max-width:860px){.hero.toc.uncrop.grand .photo img{max-height:66vh}}

/* dark photo wells: wine ground + inner wine ring + straddling outline (verified guards) */
.split.wine .ph,.book.wine .ph{background:var(--wine)}

/* industries wine section: photo as a framed inset on the wine ground.
   The image no longer meets the background at any computed edge, so no
   seam can render, in any browser, at any width. Final word on this block. */
.split.wine .ph,.split.wine .ph.wide{position:relative;overflow:visible;aspect-ratio:auto;align-self:stretch;display:flex;align-items:center;justify-content:center;padding:clamp(2rem,4.5vw,4rem)}
.split.wine .ph img,.split.wine .ph.wide img{position:static;inset:auto;top:auto;right:auto;bottom:auto;left:auto;width:100%;height:auto;max-height:min(74vh,46rem);object-fit:contain;transform:none}
@media(max-width:860px){.split.wine .ph,.split.wine .ph.wide{aspect-ratio:auto;padding:1.5rem 1.5rem 0}.split.wine .ph img,.split.wine .ph.wide img{max-height:60vh}}

/* centered pull quotes with a handwritten aside */
.csgrid .aside .pullq{text-align:center}
.csgrid .aside .pullq p{margin-left:auto;margin-right:auto}
.csgrid .aside .pullq .scriptnote{margin-top:1.1rem;transform:rotate(-2.5deg)}
.process .head .scriptnote,.fitgrid-wrap .head .scriptnote{margin-top:.7rem;transform:rotate(-2deg)}

/* industries closing block: columns start level so the note sits with the headline */
@media(min-width:861px){.diagnose.tone .dgrid{align-items:start}}

/* flipped composed sections: the numeral mirrors the content, sitting on the prose side */
@media(min-width:861px){.cssec.flip .cf-head{flex-direction:row-reverse}}

/* aside art: a wider column so illustrations read at a comfortable size */
@media(min-width:861px){.csgrid .aside .frame.art{width:min(100%,32rem);margin-left:auto;margin-right:auto}}

/* client headers: allow long service names to wrap safely now the separator is bound */
.csgrid .prose .clienthead{overflow-wrap:anywhere}

/* story chapters: the chapter headline sits inside the prose column */
.cssec .csgrid .prose h2.display{font-size:clamp(1.6rem,2.8vw,2.4rem);margin-bottom:1.1rem;max-width:18em}

/* three moves: headline and the numbered list start on the same line, with breathing room between rows */
.storybreak .sbgrid>div:first-child{max-width:26rem}
.storybreak .giant{margin-top:0}
.storybreak .sbgrid .sub{margin-top:1.2rem}
.storybreak .sidx .row3{padding:1.05rem 0}

/* the audit block: even columns starting level, with a larger sample document */
@media(min-width:821px){
  .casefile2.wine .cf-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .casefile2.wine .clip{max-width:none;width:100%;margin-top:2rem}
  .casefile2.wine .cf-body{align-self:center}
  .casefile2.wine .cf-body p{max-width:32rem}
}

/* footer submenus: always visible, indented under their parent (no toggle) */
.footer .foot-nav .sub{list-style:none;display:block;margin:.1rem 0 .5rem}
.footer .foot-nav .sub a{font-size:.64rem;letter-spacing:.18em;opacity:.78;padding:.35em 0}
.footer .foot-nav .sub a:hover{opacity:1}

/* work page: a flipped case file mirrors its header too, so the alternation reads at a glance */
@media(min-width:821px){
  .casefile.flip .cf-head{flex-direction:row-reverse}
  .casefile.flip .cf-meta{text-align:right}
  .casefile.flip .cf-dossier{text-align:right}
  .casefile.flip .cf-body p{margin-left:0}
}

/* document artwork in a tier well: show the whole page, never crop it */
.tier-row .ph.doc{overflow:visible;min-height:0;align-self:center;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,4vw,3.5rem)}
.tier-row .ph.doc img{position:static;inset:auto;width:100%;height:auto;object-fit:contain;max-height:none}
@media(max-width:860px){.tier-row .ph.doc,.tier-row.flip .ph.doc{aspect-ratio:auto;padding:1.5rem 1.2rem 0}}

/* black and white hero treatment, matching the editorial photography elsewhere */
.hero .photo.bw img{filter:grayscale(1) contrast(1.06) brightness(1.02)}



/* sound familiar: compact editorial list */
.inboxsec{padding:clamp(3.2rem,7vh,4.5rem) var(--gutter)}
.inboxsec .lhead{margin-bottom:clamp(1.4rem,3vh,2rem)}
.inboxsec h2.giant{font-size:clamp(1.6rem,3vw,2.4rem)}
.inboxsec .saidlist{list-style:none;margin:0;padding:0;border-top:1px solid rgba(242,238,228,.26)}
.inboxsec .saidlist li{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:1.1rem;align-items:baseline;padding:.9rem 0;border-bottom:1px solid rgba(242,238,228,.26)}
.inboxsec .saidlist .sn{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:1rem;line-height:1;color:var(--rose);opacity:.7}
.inboxsec .saidlist blockquote{margin:0;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.4;color:var(--cream-text);max-width:36em}
.inboxsec .saidreply{margin-top:clamp(1.4rem,3vw,2.2rem);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.2rem,3vw,2.6rem);align-items:baseline}
.inboxsec .saidreply .big{font-family:"Archivo";font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(.95rem,1.6vw,1.25rem);line-height:1.2;color:var(--cream-text);max-width:11em}
.inboxsec .saidreply .sub{font-size:.95rem;line-height:1.6;color:var(--body-dk);max-width:34rem}
.inboxsec .saidreply .go{grid-column:2;justify-self:start;margin-top:.9rem;font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.6rem;color:var(--cream-text);text-decoration:none;border-bottom:1px solid rgba(242,238,228,.5);padding-bottom:.28rem;display:inline-block}
.inboxsec .saidreply .go:hover{color:var(--rose);border-color:var(--rose)}
@media(max-width:820px){
  .inboxsec .saidlist li{grid-template-columns:1.9rem minmax(0,1fr);gap:.8rem}
  .inboxsec .saidreply{grid-template-columns:1fr;gap:.7rem}
  .inboxsec .saidreply .go{grid-column:1}
}

/* short findings list inside a composed prose column */
.csgrid .prose .finds{list-style:none;margin:1.1rem 0 .2rem;max-width:30rem}
.csgrid .prose .finds li{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.13em;font-size:.66rem;line-height:1.4;color:var(--ink);padding:.62rem 0;border-bottom:1px solid var(--line-lt)}
.csgrid .prose .closer{margin-top:1.2rem;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.15rem;line-height:1.45;color:var(--wine)}

/* two-column variant of the fit grid */
.fitgrid.two{grid-template-columns:repeat(2,1fr);max-width:58rem;margin-left:auto;margin-right:auto}
.fitgrid.three{grid-template-columns:repeat(3,1fr);max-width:66rem;margin-left:auto;margin-right:auto}
@media(max-width:900px){.fitgrid.three{grid-template-columns:1fr}}
@media(max-width:820px){.fitgrid.two{grid-template-columns:1fr}}

/* folio strips stack on small screens instead of colliding */
@media(max-width:640px){
  .folio{flex-direction:column;align-items:flex-start;gap:.35rem;letter-spacing:.14em;font-size:.56rem}
  .folio span{display:block}
}

/* effective date under a legal page heading */
.effdate{margin-top:.9rem;font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:.6rem;color:var(--dim)}

/* the alphabet soup: term, then a handwritten translation */
.jargon{margin:1.8rem 0 2rem;display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:0 1.6rem;align-items:baseline;border-top:1px solid var(--line-lt)}
.jargon dt{font-family:"Archivo";font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--wine);padding:.95rem 0;border-bottom:1px solid var(--line-lt)}
.jargon dd{margin:0;padding:.85rem 0;border-bottom:1px solid var(--line-lt)}
.jargon dd .scriptnote{font-size:1.2rem;line-height:1.5;transform:rotate(-1.2deg);display:inline-block}
@media(max-width:640px){
  .jargon{grid-template-columns:1fr;gap:0;border-top:0}
  .jargon dt{padding:.9rem 0 .1rem;border-bottom:0}
  .jargon dd{padding:0 0 .95rem}
}

/* dark closing band */
.cband.deep{background:var(--wine);border-top:0}
.cband.deep .kicker{color:var(--rose);opacity:.9}
.cband.deep h2{color:var(--cream-text)}
.cband.deep p{color:var(--body-dk);max-width:32rem;margin-left:auto;margin-right:auto}
.cband.deep p a{color:var(--cream-text)}
.cband.deep .btn{background:var(--cream);color:var(--wine);border-color:var(--cream)}
.cband.deep .btn:hover{background:#fff;border-color:#fff}
.cband.deep .link{color:var(--cream-text);border-color:var(--rose)}

/* services block closing cluster: centered, one voice, a real button */
.waysin .wayclose{margin-top:clamp(2rem,4vw,2.8rem);padding-top:0;border-top:0;text-align:center}
.waysin .wayclose p{max-width:44rem;margin-left:auto;margin-right:auto;color:var(--body)}
.waysin .wayclose p+p{margin-top:1rem}
.waysin .wayclose .creditnote{margin-top:1rem;font-size:.92rem;color:var(--dim)}
.waysin .wayclose .btn{margin-top:1.8rem}

/* dark variant of the fit grid, for a statement block between service rows */
.fitgrid-wrap.deep{background:var(--wine)}
.fitgrid-wrap.deep .kicker{color:var(--rose);opacity:.9}
.fitgrid-wrap.deep h2{color:var(--cream-text)}
.fitgrid-wrap.deep .head p{color:var(--body-dk)}
.fitgrid-wrap.deep .fitgrid .label{color:var(--rose)}
.fitgrid-wrap.deep .fitgrid p{color:var(--body-dk)}
.fitgrid-wrap.deep .fitgrid>div{border-color:rgba(242,238,228,.22)}
.fitgrid-wrap.deep .fitnote{color:var(--body-dk)}
.fitgrid-wrap.deep a{color:var(--cream-text)}
/* v189: resources page + homepage section rhythm */
.guideband .c-form{margin-top:2rem}
.reading.tone .rgrid,.resources-answers .rgrid{margin-top:.4rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));max-width:64rem}

/* v189: service page overhaul */
.hero .copy .btn{align-self:flex-start}
.hero.toc .copy .wq{margin-top:clamp(1.6rem,3.5vh,2.4rem);padding-left:1.1rem;border-left:2px solid var(--wine);max-width:30rem;font-size:1.08rem}
.hero.toc .copy .wq b{display:block;margin-top:.6rem}
.hero.toc .copy .row{margin-top:clamp(1.8rem,4vh,2.6rem);gap:1.2rem 1.8rem}
.hero.toc .copy .row .link{color:var(--wine)}
.spec{background:#fdfcf8;border:1px solid var(--ink);padding:1.5rem 1.6rem 1.4rem;box-shadow:6px 6px 0 var(--bone2);width:100%;max-width:26rem;margin-left:auto}
.spec-mast{border-bottom:1px solid var(--ink);padding-bottom:.8rem}
.spec-name{display:block;font-family:"Cormorant Garamond",serif;font-weight:500;letter-spacing:.3em;text-transform:uppercase;font-size:.8rem;color:var(--ink)}
.spec-sub{display:block;margin-top:.3rem;font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:.56rem;color:var(--dim)}
.spec-q{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.25;color:var(--wine);margin:1.1rem 0 .9rem}
.spec-rows{margin:0}
.spec-rows>div{display:grid;grid-template-columns:6.2rem minmax(0,1fr);gap:.8rem;padding:.65rem 0;border-top:1px solid var(--line-lt);align-items:baseline}
.spec-rows dt{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;color:var(--ink)}
.spec-rows dd{margin:0;font-size:.88rem;line-height:1.5;color:var(--body)}
.spec .scriptnote{display:block;text-align:right;margin-top:1.1rem;transform:rotate(-2.5deg)}
@media(max-width:860px){.spec{margin:1.6rem 0 0;max-width:none;box-shadow:4px 4px 0 var(--bone2)}}
.process .head.centered{text-align:center;max-width:40rem;margin-left:auto;margin-right:auto}
.fband .fhead .fnote{margin-top:1.2rem;font-size:.92rem;line-height:1.55;color:var(--dim);max-width:19rem}
.fband .fhead .fnote a{color:var(--wine);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}
.cband.wine .btn{background:var(--wine);color:var(--cream)} .cband.wine .btn:hover{background:var(--wine-deep)}
/* v189: work page case files: columns sit flush to the outer edges, matching the header line */
@media(min-width:821px){
  .casefile .cf-grid{align-items:start}
  .casefile .cf-body{width:100%;max-width:34rem}
  .casefile .cf-body p{max-width:none}
  .casefile:not(.flip):not(.wine) .cf-body{justify-self:end}
  .casefile.flip .cf-meta{justify-self:end;width:100%;max-width:26rem}
  .casefile.flip .cf-dossier{margin-left:auto}
  .casefile2.wine .cf-body{max-width:32rem;justify-self:end}
}

/* ==========================================================
   v189 · mobile pass (≤640px unless noted)
   ========================================================== */
@media(max-width:640px){
  /* no element may push the page wider than the screen */
  .hero,.hero .copy,.hero .photo,.cf-grid,.csgrid,.fgrid,.grid,.inner{min-width:0}
  .folio span{white-space:normal;line-height:1.5}
  .folio span+span{overflow:visible;text-overflow:clip}
  .nb{white-space:normal}
  .hero .row{margin-top:1.8rem;gap:1rem 1.4rem}
  .hero .row .link,.hero.toc .copy .row .link{white-space:normal;line-height:1.6;max-width:100%}
  .hero.ed2 .row .link{width:100%;text-align:center}
  .hero.ed2 .btn{width:100%;text-align:center}

  /* homepage: the client register, two columns that fit */
  .register .thead{flex-direction:column;align-items:flex-start;gap:.2rem;padding:.7rem .9rem}
  .register li{min-width:0;min-height:5rem;padding:1.5rem .6rem .8rem;gap:.3rem}
  .register .m{white-space:normal;text-align:center;line-height:1.15}
  .register .m.sans{font-size:.72rem;letter-spacing:.1em}
  .register .m.sansw{font-size:.7rem;letter-spacing:.16em}
  .register .m.serif{font-size:1rem;letter-spacing:.06em}
  .register .m.serifi{font-size:1.1rem}
  .register .sub{font-size:.58rem;letter-spacing:.14em;text-align:center}
  .register .no{top:.35rem;left:.5rem;font-size:1rem}

  /* homepage: services list, price on the title row */
  .wayrow{grid-template-columns:2.2rem minmax(0,1fr) auto;column-gap:.9rem}
  .wayrow .titlewrap{grid-column:2;grid-row:1}
  .wayrow .price{grid-column:3;grid-row:1;justify-self:end;align-self:baseline}
  .wayrow .for{grid-column:2/4;grid-row:2}
  .wayrow .dur{font-size:.62rem}

  /* homepage: intro photo above the copy, buttons never wrap */
  .intro .phwrap{order:-1;width:100%}
  .intro .ph{width:100%}
  .intro .ghost{white-space:nowrap}
  .btn{white-space:normal;line-height:1.35;text-align:center}
  .intro .phwrap .scriptnote{text-align:left}

  /* the audit document: keep the stamp off the masthead */
  .auditdoc{transform:none}
  .auditdoc .stamp{position:static;display:inline-block;transform:rotate(-2deg);margin:0 0 .9rem}
  .auditdoc .toc .st{max-width:none}

  /* readable minimums for tracked-out labels and small type */
  .label{font-size:.7rem;letter-spacing:.14em}
  .folio{font-size:.64rem}
  .folio span{font-size:.64rem}
  .idcard dt,.cf-dossier dt{font-size:.68rem}
  .nav .burger{padding:.75em 1.1em;font-size:.7rem}
  .cf-dossier dt,.spec-rows dt,.jargon dt{font-size:.66rem}
  .spec-sub,.auditdoc .mast .paper-sub{font-size:.6rem}
  .spec-rows dd{font-size:.92rem}
  .csgrid .prose .finds li,.tier-row .gets li{font-size:.7rem;letter-spacing:.1em;line-height:1.45}
  .cf-head .num{font-size:2.6rem}
  .procrow p,.fitgrid p{font-size:1rem}
  .fband summary{font-size:1.02rem;padding:1.05rem 0;padding-right:2rem}
  .fband details p{font-size:.98rem}

  /* tap targets: 44px-ish rows in the footer and on links */
  .foot-nav a{padding:.65em 0;font-size:.74rem;min-height:44px;display:flex;align-items:center;justify-content:center}
  .footer .foot-nav .sub a{font-size:.7rem;padding:.55em 0;min-height:40px}
  .foot-legal{font-size:.7rem;letter-spacing:.14em;line-height:2;padding:1.4rem 1rem}
  .foot-legal a{display:inline-block;padding:.55em .35em}
  .icard .go,.cc .go,.rcard .go,.indrow .go,.inboxsec .saidreply .go{font-size:.74rem;padding-top:.4em;padding-bottom:.4em}
  .balabel,.effdate{font-size:.7rem}
  .icard .go,.cc .go,.rcard .go,.indrow .go{display:inline-block}
  .link{padding:.45em 0;line-height:1.5}
  .subscribe input{font-size:.78rem;letter-spacing:.14em;padding:1.1em 1em}
  .subscribe button{padding:0 1.4em;min-width:3rem}
  .field input,.field select,.field textarea{font-size:16px}
  .field label{font-size:.7rem}

  /* section rhythm: a little less air, more content per screen */
  :root{--s-sec:clamp(3.2rem,8vh,4.5rem);--gutter:6vw}
  .cband h2,.book h2{font-size:clamp(1.5rem,7vw,1.9rem)}
  .spec{max-width:none}
}
@media(max-width:400px){
  .register ul{grid-template-columns:1fr 1fr}
  .cf-head{flex-direction:column;align-items:flex-start;gap:.4rem}
  .contactwrap h1+.lede,.faqhero h1+.lede{margin-top:1rem}
}
@media(max-width:960px){
  /* open menu: left-aligned, generous rows, scrolls if the screen is short */
  .nav ul{align-items:flex-start;max-height:calc(100vh - 4.5rem);overflow-y:auto;gap:.2rem}
  .nav > ul > li{width:100%}
  .nav ul a{display:block;padding:.7em 0;font-size:.8rem;letter-spacing:.14em}
  .nav ul a[aria-current]{border-bottom:0;opacity:1;text-decoration:underline;text-underline-offset:.3em}
  .nav ul.sub,.nav.open ul.sub{margin:.1rem 0 .6rem 0;padding-left:1rem;gap:0;text-align:left}
  .nav .sub a{font-size:.72rem;padding:.55em 0;opacity:.85}
  .nav > ul > li:last-child{margin-top:.8rem;width:auto}
  .nav .btn{display:inline-block;padding:1em 1.8em;font-size:.72rem}
}

/* v190: "common problems" list on service pages */
.probs{padding-top:clamp(3rem,7vh,4.5rem);padding-bottom:clamp(3rem,7vh,4.5rem)}
.problist{list-style:none;max-width:44rem;margin:0 auto;border-top:1px solid var(--line-lt)}
.problist li{padding:.9rem 0 .9rem 2.4rem;border-bottom:1px solid var(--line-lt);font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.4;color:var(--wine);position:relative}
.problist li::before{content:"";position:absolute;left:.4rem;top:1.35rem;width:1.1rem;height:1px;background:var(--wine)}
.probs .fitnote{margin-top:1.6rem}
.fitgrid-wrap:not(.tone)+.fband.tone,.fitgrid-wrap.tone+.probs{border-top:1px solid var(--line-lt)}
.probs.deep .problist{border-color:rgba(242,238,228,.25)}
.probs.deep .problist li{color:var(--cream-text);border-color:rgba(242,238,228,.2)}
.probs.deep .problist li::before{background:var(--rose)}
.probs.deep .fitnote a{color:var(--cream-text)}

/* v191: short-answer pages */
.answer .faqhero{padding-bottom:clamp(2rem,4vh,3rem)}
.answer .faqhero h1{max-width:18em;font-size:clamp(1.7rem,3.4vw,2.6rem)}
.answer .byline{display:block;margin-top:1.2rem}
.answer-lead{padding:clamp(2.5rem,6vh,4rem) var(--gutter)}
.answer-lead .inner{max-width:44rem;margin:0 auto}
.answer-lead .label{display:block;margin-bottom:.8rem}
.answer-lead .lede{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.5;color:var(--ink)}
.answer-body{padding:clamp(3rem,6vh,4.5rem) var(--gutter)}
.answer-body .inner{max-width:44rem;margin:0 auto}
.answer-body .prose p{max-width:none}
.answer-body .prose p+p{margin-top:1rem}
.answer-body .prose .btn{margin-top:.4rem}
.answer-body .prose .clienthead{display:block;font-family:"Archivo";font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1.2rem,2vw,1.6rem);color:var(--wine);margin-bottom:.4rem}
.answer-actions .procrow{grid-template-columns:3.2rem minmax(0,1fr)}
.answer-actions .procrow p{grid-column:2;max-width:38rem;margin-top:.4rem}
.answer-actions .procrow h3{grid-column:2}
.answer-actions .procrow .num{grid-row:1/3}
.answer-related{grid-template-columns:1fr;gap:.9rem;margin-top:1.4rem;max-width:none}
.answer-related .rcard{padding:1.1rem 1.2rem}
.answer-related .rcard h3{font-size:1.05rem;margin-top:.4rem}
.answer-related .rcard .go{margin-top:.6rem}
.answer-links{list-style:none;margin:0 0 1.6rem;max-width:34rem}
.answer-links li{padding:.55rem 0;border-top:1px solid var(--line-lt);font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.1rem;color:var(--wine)}
.answer-links li:last-child{border-bottom:1px solid var(--line-lt)}
.answer-reading .rgrid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));max-width:52rem}
.answer-links-wrap{margin-top:1.8rem}

/* one word set by hand, mid-sentence */
.tinyword{font-family:"La Belle Aurore",cursive;font-size:1.35em;line-height:1;color:var(--wine);display:inline-block;transform:rotate(-2deg);padding:0 .12em}
.fend.lite{background:var(--cream)}

/* one-day options (services): two booked-day formats under the ladder */
.oneday .fitgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.oneday .fitgrid.oneday-single{grid-template-columns:minmax(0,1fr);max-width:44rem;margin:0 auto}
.oneday .fitgrid>div{padding-top:1.3rem}
.oneday .odhead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.oneday .odhead h3{font-family:"Archivo",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.15;color:var(--cream-text)}
.oneday .odmeta{display:flex;align-items:center;gap:.7rem;white-space:nowrap}
.oneday .odmeta .dur{font-family:"Archivo",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.58rem;color:var(--wine);background:var(--rose);padding:.4em .75em;border-radius:999px;line-height:1}
.oneday .odmeta .price{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.15rem;color:var(--cream-text)}
.oneday .fitgrid p{font-family:"Instrument Sans",sans-serif;font-style:normal;font-size:1rem;line-height:1.65;color:var(--body-dk)}
.oneday .fitgrid p.odfit{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.12rem;line-height:1.45;margin-top:1rem;color:var(--cream-text)}
.oneday .fitgrid p.odfit b{font-family:"Archivo",sans-serif;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.6rem;color:var(--rose);margin-right:.5rem}
.oneday .odgo{display:inline-block;margin-top:1.1rem;font-family:"Archivo",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:var(--cream-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.35em}
@media(max-width:700px){.oneday .fitgrid{grid-template-columns:1fr}}

/* v211: story page, editorial rebuild */
.hero.story2 .copy .row{margin-top:clamp(1.8rem,4vh,2.6rem);gap:1.2rem 1.8rem}
.hero.story2 .copy .row .link{color:var(--wine)}
.fivelines{list-style:none;margin:0;border-top:1px solid var(--line-lt)}
.fivelines li{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--line-lt);align-items:baseline}
.fivelines .n{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.5rem;line-height:1;color:var(--wine);opacity:.85}
.fivelines div{font-size:1rem;line-height:1.6;color:var(--body)}
.fivelines b{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--wine);display:block;margin-bottom:.2rem}
.storybreak .sidx .row3 .n{font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--wine)}
.storybreak .sidx .row3 span:last-child{font-size:.95rem;line-height:1.55;color:var(--body)}
.storybreak .sidx .row3:last-of-type{border-bottom:1px solid var(--line-lt)}
.storybreak p.giant .it{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;text-transform:none;letter-spacing:0}
.story-facts{margin-top:2rem}
.storybreak.story-sb p.giant{max-width:19em;font-size:clamp(1.7rem,3.2vw,2.7rem)}
.story-facts dd{margin-bottom:.4rem}
@media(max-width:640px){.fivelines li{grid-template-columns:2rem 1fr}.fivelines div{font-size:.95rem}}
/* v212: aside photos in case-file blocks were collapsing to ~14rem; give them a real frame, caption on top */
@media(min-width:861px){
  .csgrid .aside .frame.filled{flex:0 0 auto;height:auto;min-height:0;aspect-ratio:4/5;width:min(100%,26rem);margin-left:auto;margin-right:auto;background:#e6e2d6;order:2}
  .csgrid .aside .frame.filled picture{display:block;width:100%;height:100%}
  .csgrid .aside .frame.filled img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 30%}
  .csgrid .aside .frame.filled~.deadpan{order:1;text-align:left;margin:0 0 1.4rem;font-size:clamp(1.35rem,2.1vw,1.75rem);max-width:26rem;margin-left:auto;margin-right:auto;width:100%}
  .csgrid .aside .frame.filled+.deadpan{margin-top:0}
  .csgrid .aside:has(.frame.filled){justify-content:flex-start;padding-top:.4rem}
}
/* cropped hero mode: portrait photos in a 4:5 frame, inset, sized to the headline */
.hero.toc.cropped .photo{aspect-ratio:auto;overflow:visible;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,3.5vw,3rem)}
.hero.toc.cropped .photo img{position:static;inset:auto;width:auto;max-width:100%;height:min(58vh,30rem);min-height:0;aspect-ratio:4/5;object-fit:cover;object-position:50% 62%}
@media(max-width:860px){.hero.toc.cropped .photo{padding:1.25rem 1.25rem 0;max-height:none}.hero.toc.cropped .photo img{height:auto;width:100%;max-height:60vh}}
/* v215: Implementation Package block on the audit page */
.patterns .head .kicker{display:block;margin-bottom:.5rem}
.patterns .head p{margin-top:1rem;font-size:1.02rem;line-height:1.65;color:var(--body);max-width:40rem}
.patterns.tone .table{background:#fdfcf8}
/* v216: larger hero headline (strategic website) */
.hero.toc.big .copy h1.display{font-size:clamp(2.4rem,4.6vw,4rem);line-height:.96;max-width:11em}
.hero.toc.big .copy .lede{font-size:clamp(1.1rem,1.5vw,1.3rem)}
@media(min-width:861px){.hero.toc.big .photo img{min-height:clamp(34rem,78vh,48rem)}}
/* v217: stacked tier-row for landscape deliverable mockups (social audit) */
.tier-row.stack{grid-template-columns:1fr;align-items:start}
.tier-row.stack .ph.doc.wide{padding:clamp(2.5rem,5vw,4rem) var(--gutter) 0;max-width:72rem;margin:0 auto;width:100%}
.tier-row.stack .ph.doc.wide img{width:100%;height:auto;max-height:none}
.tier-row.stack .copy{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);max-width:72rem;margin:0 auto;padding:clamp(2rem,4vw,3rem) var(--gutter) clamp(3rem,6vw,5rem);align-items:start}
.tier-row.stack .copy-r{padding-top:.4rem}
.tier-row.stack .copy-r>p:first-child{margin-top:0}
.tier-row.stack .copy-r .wq{margin-top:1.6rem}
@media(max-width:860px){.tier-row.stack .copy{grid-template-columns:1fr;gap:1.2rem}.tier-row.stack .ph.doc.wide,.tier-row.stack.flip .ph.doc.wide{order:0;aspect-ratio:auto;padding:1.5rem 1.2rem 0}}
/* v219: mobile type floors, one notch up */
@media(max-width:640px){
  .folio,.folio span{font-size:.68rem}
  .wayrow .dur,.odmeta .dur{font-size:.66rem}
  .register .sub{font-size:.62rem}
  .spec-sub,.auditdoc .mast .paper-sub{font-size:.64rem}
  .jumps a{font-size:.7rem;padding:.75em 1.1em}
}
/* v220: services page: shorter, standardized tier blocks; readable booked-date section */
.tier-row .ph{min-height:26rem}
.tier-row .copy{padding:clamp(2.2rem,4.2vw,3.6rem) clamp(2rem,4.5vw,4.5rem)}
.tier-row .label{margin-bottom:.7rem}
.tier-row .copy h2.display{font-size:clamp(1.5rem,2.4vw,2.05rem)}
.tier-row .tprice{margin-top:.5rem}
.tier-row .gets{margin:1.1rem 0 .2rem}
.tier-row .gets li{padding:.5rem 0;font-size:.66rem}
.tier-row .copy p{margin-top:.8rem;font-size:.96rem;line-height:1.6}
.tier-row .credit{padding:.7rem .9rem;margin-top:.9rem}
.tier-row .btn{margin-top:1.3rem}
.tier-row .ph.doc{padding:clamp(1.2rem,3vw,2.6rem)}
.tier-row .ph.doc img{max-height:26rem;width:auto;max-width:100%;margin:0 auto}
.oneday .fitgrid p{font-size:1.04rem;line-height:1.7;color:#ece7dc}
.oneday .fitgrid p+p{margin-top:.9rem}
.oneday .fitgrid p.odfit{color:#f7f3ea;font-size:1.15rem}
.oneday .odhead h3{font-size:clamp(1.15rem,1.8vw,1.45rem)}
.oneday .odmeta .price{font-size:1.25rem;color:#f7f3ea}
.oneday .head p{color:#ece7dc}
.oneday .fitnote{color:#d9d3c7}
/* v224: social audit receive block, list beside document + notes */
.tier-row.social2{display:block;padding:clamp(3.5rem,7vh,5.5rem) var(--gutter)}
.tier-row.social2 .inner{max-width:76rem;margin:0 auto}
.s2grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:start}
.s2-l .gets{max-width:none}
.s2-doc{background:#fdfcf8;border:1px solid var(--line-lt);padding:1rem;box-shadow:0 12px 30px rgba(20,19,17,.10);margin-bottom:1.6rem}
.s2-doc picture,.s2-doc img{display:block;width:100%;height:auto}
.s2-r>p:first-of-type{margin-top:0}
.s2-r .wq{margin-top:1.4rem}
.s2-r .btn{margin-top:1.6rem}
@media(max-width:860px){.s2grid{grid-template-columns:1fr;gap:1.6rem}.s2-doc{order:-1}.tier-row.social2 .s2-r .s2-doc{margin-bottom:1.2rem}}

/* v226: balance cropped heroes and photo asides against their copy */
@media(min-width:861px){
  .hero.toc.cropped{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
  .hero.toc.cropped .photo{padding:clamp(1.5rem,3vw,2.5rem) var(--gutter) clamp(1.5rem,3vw,2.5rem) clamp(1rem,2.5vw,2rem);justify-content:flex-start}
  .hero.toc.cropped .photo img{height:min(64vh,34rem);aspect-ratio:4/5}
  /* aside photos: sized to the copy beside them, never a tower */
  .csgrid .aside .frame.filled,.csgrid .aside .frame.filled.art,.csgrid .aside .frame.filled.grow{flex:0 0 auto;height:auto;min-height:0;aspect-ratio:4/5;width:min(100%,22rem);max-height:32rem;margin-left:auto;margin-right:auto;order:2}
  .csgrid .aside .frame.filled.art img,.csgrid .aside .frame.filled.grow img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 30%}
  .csgrid .aside .frame.filled~.deadpan,.csgrid .aside .pullq+.frame.filled{order:1}
  .csgrid .aside:has(.frame.filled){justify-content:flex-start;padding-top:.4rem}
  .csgrid .aside .pullq{margin:0 0 1.4rem;order:0}
}
/* v227: website screenshots in asides keep their own proportions (photos still crop to 4:5) */
@media(min-width:861px){
  .csgrid .aside .frame.filled.shot{aspect-ratio:auto;height:auto;max-height:none;width:100%;max-width:28rem;background:#fdfcf8;border:1px solid rgba(20,19,17,.12);box-shadow:0 14px 34px rgba(20,19,17,.14);padding:0}
  .csgrid .aside .frame.filled.shot img{width:100%;height:auto;max-width:none;max-height:none;object-fit:contain;object-position:50% 0}
}
@media(max-width:860px){.csgrid .aside .frame.filled.shot img{object-fit:contain;height:auto}}

/* v231: story page, five lines in two columns */
.fl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.fl-grid .fivelines li{padding:.9rem 0}
.fl-right .fivelines{border-top:1px solid var(--line-lt)}
.fl-pull.pullq{margin:1.6rem 0 0;border-top:0;border-bottom:0;padding:1.2rem 0 0;text-align:left}
.fl-pull.pullq p{font-size:clamp(1.5rem,2.4vw,2rem);max-width:14em;margin:0}
.fl-pull .scriptnote{display:block;margin-top:.7rem;transform:rotate(-2deg)}
@media(max-width:860px){.fl-grid{grid-template-columns:1fr;gap:0}.fl-right .fivelines{border-top:0}.fl-grid .fivelines:first-child li:last-child{border-bottom:0}}
/* v233: homepage: the two script notes sit on opposite sides */
.register .endnote{justify-content:flex-start;padding-left:.4rem}
.register .endnote .scriptnote{transform:rotate(-2.5deg);display:inline-block}

/* v235: before/after: a fixed window onto the top of each page, no inner scrolling, full page opens in a new tab */
.ba-shot .frame{display:block;aspect-ratio:auto;height:clamp(22rem,56vh,32rem);overflow:hidden;background:#fff;border:1px solid rgba(20,19,17,.14);box-shadow:0 14px 34px rgba(20,19,17,.14);border-radius:4px;position:relative}
.ba-shot .frame::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5rem;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.85));pointer-events:none}
.ba-shot picture{display:block;width:100%;min-width:0}
.ba-shot img{display:block;width:100%;height:auto;max-width:100%;object-fit:unset;object-position:50% 0}
.ba-shot.before .frame{filter:none;opacity:1}
.ba-shot.before img{filter:saturate(.72)}
.bapair{align-items:start}
.bapair .scriptnote{top:.6rem;right:1.2rem}
.balabel{justify-content:space-between;align-items:center}
.balabel .full{font-family:"Archivo";font-weight:700;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--wine);text-decoration:none;border-bottom:1px solid var(--wine);padding-bottom:.15em}
.balabel .full:hover{color:var(--ink);border-color:var(--ink)}
@media(max-width:640px){.bapair{grid-template-columns:1fr}.ba-shot .frame{height:20rem}}
/* v238: about hero photo centred in its column */
@media(min-width:861px){.hero.toc.cropped.centered .photo{justify-content:center;padding-left:clamp(1.5rem,3vw,2.5rem);padding-right:clamp(1.5rem,3vw,2.5rem)}}

/* v239: shared underline link, replaces 46 identical inline style attributes */
.ulink{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}
/* v242: aside captions share the photo's width so they align with it; cropped hero photos centred in their column */
@media(min-width:861px){
  .csgrid .aside .frame.filled~.deadpan,.csgrid .aside .deadpan{max-width:22rem;width:100%;margin-left:auto;margin-right:auto;text-align:left}
  .csgrid .aside .pullq{max-width:22rem;width:100%;margin-left:auto;margin-right:auto;text-align:left;padding-left:0;padding-right:0}
  .csgrid .aside .pullq .scriptnote{display:block;text-align:left}
  .hero.toc.cropped .photo{justify-content:center;padding-left:clamp(1.5rem,3vw,2.5rem);padding-right:clamp(1.5rem,3vw,2.5rem)}
}
@media(min-width:861px){.csgrid .aside .frame.filled.shot~.deadpan{max-width:28rem}}

/* v244: before/after screenshots shown in full, scaled to fit the column (no cropping, no scrolling) */
.ba-shot .frame{height:auto;max-height:none;overflow:visible;aspect-ratio:auto;display:block;background:#fff;border:1px solid rgba(20,19,17,.14);box-shadow:0 14px 34px rgba(20,19,17,.14);border-radius:4px}
.ba-shot .frame::after{display:none}
.ba-shot picture{display:block;width:100%}
.ba-shot img{display:block;width:100%;height:auto;max-width:100%;object-fit:unset}
.bapair{align-items:start}
@media(max-width:640px){.ba-shot .frame{height:auto}}
.ulead{margin:1.4rem 0 0;font-size:.98rem;color:var(--body);max-width:34rem}
/* v246: desktop nav links and submenu toggles meet a 24px minimum target height */
@media(min-width:961px){.nav ul a{display:inline-block;padding:.45em 0}.nav .subtoggle{padding:.6em .45em;font-size:.7rem;line-height:1}.nav .wordmark{display:inline-block;padding:.3em 0}}
/* v247: client register between 861 and 1100px: names may wrap so the 5-column grid never exceeds the viewport */
@media(min-width:861px) and (max-width:1100px){.register ul{grid-template-columns:repeat(5,minmax(0,1fr))}.register li{min-width:0}.register .m{white-space:normal;text-align:center}}

@media(max-width:860px){.label .ulink,.who a{display:inline-block;padding:.45em 0}}

/* services: "Which one fits?" decision block (fivelines on the wine ground) */
.fits .head{max-width:34rem}
.fits .fivelines{max-width:44rem;margin:0 auto;border-color:rgba(242,238,228,.22)}
.fits .fivelines li{border-color:rgba(242,238,228,.22);padding:1.15rem 0}
.fits .fivelines .n{color:var(--rose)}
.fits .fivelines div{color:var(--body-dk)}
.fits .fq{display:block;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.4;color:var(--cream-text);margin-bottom:.45rem}
.fits .fivelines b{display:flex;flex-wrap:wrap;gap:.35rem .8rem;align-items:baseline;color:var(--cream-text);margin:0}
.fits .fivelines b a{color:var(--cream-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em}
.fits .fivelines b a:hover{color:var(--rose)}
.fits .fp{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;font-size:1.1rem;color:var(--rose)}
.fits .fits-cta{text-align:center;margin:clamp(2rem,4vh,2.8rem) 0 0}
.fits .fits-cta .btn{background:var(--cream);color:var(--wine)} .fits .fits-cta .btn:hover{background:#fff}
@media(max-width:860px){.fits .fivelines li{padding:1rem 0}.fits .fits-cta{margin-top:var(--m-c)}}

/* ============================================================
   MOBILE SYSTEM (<=860px). One place for phone rhythm and alignment.
   Rule: big idea = centered, explanation = left, action = separated, details = left.
   Three spacing levels: --m-s (inside a component), --m-c (between components),
   --s-sec / --s-anchor (between sections). Desktop untouched.
   ============================================================ */
@media(max-width:860px){
  :root{
    --gutter:1.5rem; --s-sec:3.75rem; --s-anchor:4.5rem; --s-compact:2.75rem;
    --m-s:.9rem; --m-c:2rem;
    --t-h1:clamp(1.85rem,7.4vw,2.3rem); --t-h2:clamp(1.55rem,6.2vw,1.9rem); --t-lede:1.1rem;
  }

  /* --- section rhythm: every section on one of three levels --- */
  .answer-body,.ba,.bigquote,.casefile2,.casework,.cband,.chap2,.chapters,.contactwrap,.cssec,
  .diagnose,.dossier,.dsspread,.familiar,.faq,.fband,.feature,.fend,.finter,.fitgrid-wrap,.guideband,
  .heart,.idcard-wrap,.indfile,.indgrid-wrap,.indindex,.indlist,.intro,.inboxsec,.ledger,.ledger2,.legaldoc,
  .patterns,.process,.proof,.reading,.story,.storybreak,.tablewrap,.team,.tier-row.social2,.waysin,
  .workedit,.worklist,.values,.indfeat,.faqhero,.cshero{padding-top:var(--s-sec);padding-bottom:var(--s-sec)}
  .band,.band.pageband{padding-top:var(--s-anchor);padding-bottom:var(--s-anchor)}
  .trusted,.trusted2,.register,.nextcase,.answer-lead{padding-top:var(--s-compact);padding-bottom:var(--s-compact)}
  .folio{margin-bottom:var(--m-c)}

  /* --- type: fewer extremes, one scale --- */
  .kicker{font-size:.86rem;letter-spacing:.2em}
  .lede{font-size:var(--t-lede);line-height:1.5;max-width:26rem}
  .inboxsec h2.giant,.ledger h2.giant,.ledger2 h2.giant,.diagnose .giant,.storybreak p.giant,
  .storybreak.story-sb p.giant,.dsspread .stmt .giant,.familiar h2.display{font-size:clamp(1.6rem,6.4vw,2rem);line-height:1.02}
  .fitgrid p,.inboxsec .saidlist blockquote{font-size:1.08rem;line-height:1.5}
  .fband .fhead h2,.faq--split .fshead h2,.reading .rhead h2,.head h2{font-size:var(--t-h2)}
  .fband .fhead h2{max-width:none}

  /* --- alignment logic: section introductions centered, content left --- */
  .head,.fband .fhead,.reading .rhead,.faq--split .fshead,.waysin .whead,.book .copy,.guideband .inner{
    text-align:center;margin-left:auto;margin-right:auto;max-width:32rem;display:block}
  .head h2,.fband .fhead h2,.reading .rhead h2,.faq--split .fshead h2,.waysin .whead h2,.book .copy h2,
  .head p,.fband .fhead p,.reading .rhead p,.faq--split .fshead p,.book .copy p,.guideband .inner>p,
  .reading .rhead .lede,.fband .fhead .fnote,.cband p{margin-left:auto;margin-right:auto}
  .head p,.fband .fhead p,.reading .rhead p,.faq--split .fshead p,.book .copy p,.guideband .inner>p,.cband p{max-width:26rem}
  .head,.fband .fhead,.reading .rhead,.faq--split .fshead,.waysin .whead,.patterns .head{margin-bottom:var(--m-c)}
  .fitgrid-wrap .head{margin-bottom:calc(var(--m-c) + .5rem)}
  .waysin .whead .scriptnote,.fitgrid-wrap .head .scriptnote{display:inline-block;margin-top:.6rem}
  .head .kicker,.fhead .kicker,.rhead .kicker,.fshead .kicker,.whead .kicker,.book .kicker{margin-bottom:.6rem}
  .book .copy{padding-left:0}
  .book .copy .btn,.guideband .btn{margin-top:var(--m-c)}
  /* reading-heavy content stays left */
  .fitgrid,.faq .list,.fband .list,.fband .rgrid,.reading .rgrid,.prose,.saidlist{text-align:left}
  .fitgrid>div{padding-top:1.2rem;padding-bottom:.4rem}
  .fitgrid>div+div{margin-top:.6rem}

  /* --- hero (home): fit the viewport, connect the italic line --- */
  .hero .copy{padding-top:2.25rem}
  .hero.ed2 .folio{margin-bottom:1.6rem}
  .hero.ed2 h1{font-size:clamp(2rem,8.4vw,2.5rem);line-height:1.02;letter-spacing:-.012em;max-width:none}
  .hero.ed2 h1 .it{font-size:.72em;padding:.2em 0 0;max-width:none;line-height:1.12}
  .hero.ed2 .lede{margin-top:1.3rem;max-width:24rem;font-size:1.06rem;line-height:1.5}
  .hero.ed2 .lede+.lede{margin-top:.9rem}
  .hero.ed2 .row{margin-top:1.9rem;gap:.75rem;flex-direction:column;align-items:flex-start}
  .hero.ed2 .entryline{margin-top:1.6rem;max-width:24rem}

  /* --- buttons: one scale, never automatic full width --- */
  .btn{font-size:.7rem;letter-spacing:.16em;padding:1.05em 1.9em}
  .hero.ed2 .btn,.hero.ed2 .row .link{width:auto;min-width:0;padding:1.05em 1.7em;font-size:.7rem;letter-spacing:.16em;text-align:center}
  .hero .row{margin-top:1.9rem;gap:.75rem 1.2rem}
  .cband .btn,.band .btn,.familiar .btn,.fend .btn{margin-top:var(--m-c)}
  .link{font-size:.7rem;letter-spacing:.16em}

  /* --- "I hear the same three sentences": breathing room, wider close --- */
  .inboxsec .lhead{margin-bottom:1.5rem;gap:.6rem 1rem;align-items:flex-start;flex-direction:column}
  .inboxsec .lhead .scriptnote{margin:.2rem 0 .4rem}
  .inboxsec .saidlist li{padding:1.05rem 0}
  .inboxsec .saidreply{margin-top:var(--m-c);gap:.75rem}
  .inboxsec .saidreply .big{max-width:none;font-size:1.2rem;line-height:1.2}
  .inboxsec .saidreply .sub{max-width:none;margin-top:.2rem}
  .inboxsec .saidreply .go{margin-top:1.1rem}

  /* --- client register: stays left, tidier --- */
  .register .thead{padding:.8rem 1rem}
  .register li{padding:1.5rem .7rem .9rem}

  /* --- long explanatory copy under the ladder: left, with the CTA separated --- */
  .waysin .wayclose{text-align:left;margin-top:var(--m-c)}
  .waysin .wayclose p{margin-left:0;max-width:none}
  .waysin .wayclose .btn{margin-top:var(--m-c)}
  /* --- notes under lists: explanatory, so left --- */
  .fitnote{text-align:left;max-width:none;margin-top:var(--m-c)}
  /* --- text width: reading copy wide, intros narrow --- */
  .prose p,.story p,.cssec .prose p,.chap2 p{max-width:none}
  .familiar .inner{max-width:30rem}
  .familiar .close-big{margin-top:var(--m-c);font-size:1.25rem}
}
@media(max-width:640px){
  .hero.ed2 .row .link,.hero.ed2 .btn{width:auto;text-align:center}
}
@media(max-width:360px){
  .nav{gap:.8rem}
  .nav .wordmark{font-size:.76rem;letter-spacing:.14em}
}
