:root {
  --paper: #f0e9da;
  --paper-light: #f8f3e9;
  --paper-deep: #dfd3c0;
  --ink: #241c18;
  --wine: #572a2c;
  --wine-dark: #41262a;
  --bronze: #9a7846;
  --brass: #b79259;
  --header-beige: #e7dcc8;
  --line: rgba(36, 28, 24, .28);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.58 var(--sans);
  text-rendering: optimizeLegibility;
}
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
.shell { width: min(1440px, calc(100% - 40px)); margin-inline: auto; }
.narrow { width: min(920px, calc(100% - 40px)); margin-inline: auto; }
.eyebrow { margin: 0; text-transform: uppercase; letter-spacing: .18em; font-size: .7rem; font-weight: 700; }
.serif { font-family: var(--serif); }
.muted { color: rgba(36,28,24,.66); }

.masthead { position: relative; z-index: 10; color: var(--ink); background: var(--header-beige); border-bottom: 1px solid rgba(36,28,24,.18); }
.masthead.overlay { position: absolute; inset: 0 0 auto; color: var(--paper-light); background: transparent; border-bottom-color: rgba(255,255,255,.24); }
.nav { width: min(1440px, calc(100% - 40px)); min-height: 76px; margin-inline: auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.wordmark { display: inline-flex; align-items: center; text-decoration: none; }
.brand-logo { display: block; width: 58px; height: auto; }
.masthead.overlay .brand-logo { filter: drop-shadow(0 1px 8px rgba(0,0,0,.22)); }
.nav-links { display: flex; justify-content: center; align-items: center; gap: clamp(14px,1.7vw,28px); }
.nav-links a, .nav-cta { position: relative; font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; text-decoration: none; white-space: nowrap; }
.nav-links a::after { content:''; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:currentColor; transition:right .2s ease; }
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after { right:0; }
.nav-cta { border: 1px solid rgba(255,255,255,.65); padding: 10px 13px; transition: background .2s,color .2s; }
.nav-cta:hover { background: var(--paper-light); color: var(--ink); }
.nav-toggle { display:none; justify-self:end; background:transparent; border:0; color:inherit; padding:8px; text-transform:uppercase; letter-spacing:.13em; font-size:.68rem; }

.button { display:inline-flex; justify-content:space-between; align-items:center; gap:22px; min-height:50px; padding:13px 16px; border:1px solid currentColor; background:transparent; color:inherit; text-decoration:none; text-transform:uppercase; letter-spacing:.1em; font-size:.68rem; font-weight:700; cursor:pointer; transition:background .2s,color .2s,border .2s,transform .15s; }
.button::after { content:'↗'; font-size:1rem; }
.button:hover,.button:focus-visible { background:var(--ink); color:var(--paper); outline:none; }
.button.light:hover,.button.light:focus-visible { background:var(--paper); color:var(--ink); }
.button.brass:hover,.button.brass:focus-visible { background:var(--brass); color:var(--ink); border-color:var(--brass); }
.button:active { transform:translateY(1px); }
.text-link { display:inline-block; text-transform:uppercase; letter-spacing:.13em; font-size:.7rem; font-weight:700; text-decoration:none; border-bottom:1px solid; padding:0 0 5px; }
.text-link:hover { color:var(--wine); }

.hero { min-height:820px; height:100svh; position:relative; isolation:isolate; overflow:hidden; background:#a5794b; color:var(--paper-light); }
.hero::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(37,20,14,.42),rgba(37,20,14,.06) 32%,rgba(37,20,14,.10) 58%,rgba(37,20,14,.76)),url('/assets/zila-service-hero-v3-optimized.webp') center 48%/cover no-repeat; transform:scale(1.005); }
.hero-inner { width:min(1440px,calc(100% - 40px)); height:100%; margin-inline:auto; padding:112px 0 48px; display:grid; grid-template-rows:auto 1fr auto; }
.hero-kicker { text-align:center; }
.hero-title { align-self:start; margin:2vh 0 0; text-align:center; font:400 clamp(6.8rem,18vw,17rem)/.78 var(--serif); letter-spacing:-.045em; }
.hero-bottom { display:grid; grid-template-columns:1fr 1.6fr 1fr; align-items:end; gap:32px; }
.hero-claim { margin:0; text-align:center; font:400 clamp(2rem,4.7vw,4.8rem)/.95 var(--serif); letter-spacing:-.035em; }
.hero-actions { justify-self:end; display:grid; gap:10px; min-width:230px; }

.chapter { border-top:1px solid var(--line); padding:clamp(72px,9vw,142px) 0; }
.chapter-head { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:center; margin-bottom:70px; }
.chapter-num { font:italic 1rem var(--serif); }
.chapter-name { text-align:center; }
.chapter-tag { text-align:right; color:var(--wine); }
.two-col { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(50px,10vw,170px); align-items:start; }
.display { margin:0; font:400 clamp(3.1rem,6.2vw,7.2rem)/.91 var(--serif); letter-spacing:-.055em; }
.intro { font:400 clamp(1.45rem,2.5vw,2.55rem)/1.2 var(--serif); }
.dropcap:first-letter { float:left; font:400 8.6rem/.72 var(--serif); padding:.12em .1em .08em 0; color:var(--wine); }
.copy p:first-child { margin-top:0; }
.copy p { max-width:680px; }
.copy .text-link { margin-top:24px; }

.structure { background:var(--wine); color:var(--paper-light); }
.structure .chapter-tag,.quote-mark,.quote-close { color:#d8bb8d; }
.structure-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(60px,12vw,190px); align-items:end; }
.structure-copy p { max-width:620px; margin-top:35px; }
blockquote { margin:0; }
.quote-mark,.quote-close { font:400 9rem/.5 var(--serif); }
.quote-text { margin:30px 0 0; font:400 clamp(2rem,3.5vw,3.7rem)/1.08 var(--serif); letter-spacing:-.03em; }
.quote-text strong { color:#d8bb8d; font-weight:400; letter-spacing:.08em; }
.quote-close { text-align:right; margin-top:45px; }
.quote-byline { margin:35px 0 0; text-align:right; font:italic .78rem/1.45 var(--serif); letter-spacing:.06em; color:rgba(255,255,255,.72); }
.services-lead { margin-top:34px; max-width:660px; }
.service-index { margin:58px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.service-index li { display:grid; grid-template-columns:42px 1fr; gap:15px; padding:15px 0; border-bottom:1px solid var(--line); }
.service-index span { color:var(--wine); font:italic .9rem var(--serif); }
.attitude { border-left:1px solid var(--line); padding-left:clamp(32px,6vw,80px); }
.attitude h3 { margin:0 0 30px; font:400 clamp(4rem,8vw,8.8rem)/.8 var(--serif); letter-spacing:-.06em; color:var(--wine); }
.attitude>p { font:italic 1.2rem var(--serif); }
.benefits { counter-reset:benefit; margin:48px 0 0; padding:0; list-style:none; }
.benefits li { counter-increment:benefit; display:grid; grid-template-columns:48px 1fr; gap:14px; border-top:1px solid var(--line); padding:19px 0; }
.benefits li::before { content:'0' counter(benefit); color:var(--bronze); font:italic 1rem var(--serif); }
.steps { background:linear-gradient(135deg,#846b5d 0%,#705548 48%,#8b7363 100%); color:var(--paper-light); }
.steps-top { display:grid; grid-template-columns:2fr 1fr; gap:70px; align-items:end; }
.steps-top p { margin:0 0 8px; }
.steps-list { counter-reset:step; margin:85px 0 65px; padding:0; list-style:none; display:grid; grid-template-columns:repeat(5,1fr); border-block:1px solid rgba(255,255,255,.45); }
.steps-list li { counter-increment:step; min-height:230px; border-right:1px solid rgba(255,255,255,.35); }
.steps-list li:last-child { border-right:0; }
.step-link { min-height:230px; height:100%; padding:22px 24px 28px; display:flex; flex-direction:column; justify-content:space-between; color:inherit; text-decoration:none; transition:background .2s,color .2s,transform .15s; }
.step-link::before { content:'0' counter(step); color:#ead3aa; font:italic 1rem var(--serif); }
.step-link:hover,.step-link:focus-visible { background:rgba(183,146,89,.20); outline:1px solid rgba(234,211,170,.8); outline-offset:-1px; }
.step-link:active,.step-link.is-selected { background:var(--brass); color:var(--ink); transform:translateY(1px); }
.step-label { font:400 clamp(1.25rem,1.8vw,1.75rem)/1.08 var(--serif); }
.steps-actions { display:flex; gap:14px; flex-wrap:wrap; }

.page-hero { padding:clamp(92px,12vw,170px) 0 clamp(70px,9vw,120px); background:var(--paper-light); border-bottom:1px solid var(--line); }
.page-hero.wine { color:var(--paper-light); background:var(--wine); }
.page-hero.brown { color:var(--paper-light); background:linear-gradient(135deg,#72574b,#927766); }
.page-hero-grid { display:grid; grid-template-columns:1.55fr .65fr; gap:clamp(50px,9vw,150px); align-items:end; }
.page-title { margin:22px 0 0; font:400 clamp(4.3rem,10vw,10.5rem)/.82 var(--serif); letter-spacing:-.065em; overflow-wrap:anywhere; }
.page-lead { margin:0; font:400 clamp(1.25rem,2.1vw,2rem)/1.27 var(--serif); }
.page-lead p:first-child { margin-top:0; }
.page-lead p:last-child { margin-bottom:0; }
.hero-cta { margin:30px 0 0; }
.section-title { margin:0 0 28px; font:400 clamp(2.5rem,4.7vw,5.4rem)/.95 var(--serif); letter-spacing:-.04em; }
.service-grid,.card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card,.card { padding:clamp(28px,4vw,58px); border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.12); }
.service-card h2,.service-card h3,.card h2,.card h3 { margin:16px 0 20px; font:400 clamp(2rem,3.3vw,3.4rem)/1 var(--serif); letter-spacing:-.035em; }
.service-card p,.card p { max-width:590px; }
.index-no { color:var(--wine); font:italic .9rem var(--serif); }
.editorial-list { padding:0; margin:32px 0 0; list-style:none; border-top:1px solid var(--line); }
.editorial-list li { padding:13px 0; border-bottom:1px solid var(--line); }
.split-band { display:grid; grid-template-columns:1fr 1fr; }
.split-panel { padding:clamp(55px,8vw,120px) max(20px,calc((100vw - 1440px)/2)); }
.split-panel:first-child { padding-left:max(20px,calc((100vw - 1440px)/2)); padding-right:clamp(40px,7vw,105px); }
.split-panel:last-child { padding-right:max(20px,calc((100vw - 1440px)/2)); padding-left:clamp(40px,7vw,105px); }
.split-panel.wine { background:var(--wine); color:var(--paper-light); }
.split-panel.dark { background:var(--ink); color:var(--paper-light); }
.split-panel.light { background:var(--paper-light); }
.pullquote { font:400 clamp(2.2rem,4vw,4.8rem)/1.02 var(--serif); letter-spacing:-.04em; }
.cta-band { padding:clamp(70px,9vw,125px) 0; background:var(--wine-dark); color:var(--paper-light); }
.cta-band .shell { display:grid; grid-template-columns:1.5fr .6fr; gap:50px; align-items:end; }
.cta-actions { display:grid; gap:12px; }

.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.listing-cta { display:flex; justify-content:center; margin-top:44px; }
.article-card { display:flex; flex-direction:column; min-height:430px; padding:32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-decoration:none; transition:background .2s,color .2s; }
.article-card:hover { background:var(--wine); color:var(--paper-light); }
.article-card h2 { margin:35px 0 18px; font:400 clamp(2rem,3vw,3.15rem)/1 var(--serif); letter-spacing:-.035em; }
.article-card p { margin-top:0; }
.article-card .text-link { margin-top:auto; width:fit-content; }
.article-meta { display:flex; justify-content:space-between; gap:20px; font-size:.69rem; text-transform:uppercase; letter-spacing:.11em; }
.article-layout { display:grid; grid-template-columns:minmax(180px,.42fr) minmax(0,1fr); gap:clamp(45px,9vw,140px); }
.article-aside { position:sticky; top:110px; align-self:start; }
.article-body { max-width:820px; }
.article-body h2 { margin:2em 0 .7em; font:400 clamp(2rem,3.7vw,3.6rem)/1 var(--serif); letter-spacing:-.035em; }
.article-body h3 { margin:1.8em 0 .5em; font:400 1.55rem/1.1 var(--serif); }
.article-body p,.article-body li { max-width:74ch; }
.article-body .lede { margin-top:0; font:400 clamp(1.45rem,2.5vw,2.35rem)/1.25 var(--serif); }
.article-body ul,.article-body ol { padding-left:1.25em; }

.contact-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(55px,10vw,150px); }
.portrait-placeholder { min-height:560px; padding:35px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(145deg,#87695a,#4d332d); color:var(--paper-light); border:1px solid rgba(255,255,255,.25); }
.portrait-placeholder strong { font:400 clamp(3rem,6vw,6rem)/.9 var(--serif); letter-spacing:-.045em; }
.person { padding:32px 0; border-top:1px solid var(--line); }
.person h2 { margin:0 0 7px; font:400 clamp(2.1rem,3.3vw,3.4rem)/1 var(--serif); }
.person p { margin:.5em 0; }
.contact-list { margin:35px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.contact-list a { display:grid; grid-template-columns:130px 1fr; gap:25px; padding:16px 0; border-bottom:1px solid var(--line); text-decoration:none; }
.contact-list a:hover { color:var(--wine); }

.process-list { counter-reset:process; list-style:none; padding:0; margin:50px 0 0; border-top:1px solid var(--line); }
.process-list li { counter-increment:process; display:grid; grid-template-columns:70px .8fr 1.2fr; gap:30px; padding:28px 0; border-bottom:1px solid var(--line); align-items:start; }
.process-list li::before { content:'0' counter(process); color:var(--bronze); font:italic 1rem var(--serif); }
.process-list strong { font:400 1.65rem/1.15 var(--serif); }
.process-list p { margin:0; }

.notice { border:1px solid var(--line); padding:clamp(34px,6vw,76px); background:var(--paper-light); }
.notice h2 { margin:0 0 22px; font:400 clamp(2.7rem,5.2vw,5.8rem)/.92 var(--serif); letter-spacing:-.045em; }
.notice-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }

.problem-section { background:var(--wine); color:var(--paper-light); }
.problem-section .chapter-tag { color:#d8bb8d; }
.problem-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(55px,9vw,145px); align-items:start; }
.problem-copy { padding-top:12px; }
.problem-copy .intro { margin-top:0; }
.contrast-row { margin-top:48px; display:grid; grid-template-columns:1fr 1fr 1fr; border-block:1px solid rgba(255,255,255,.3); }
.contrast-row span,.contrast-row strong { padding:18px 14px; border-right:1px solid rgba(255,255,255,.3); font:400 1rem/1.25 var(--serif); }
.contrast-row strong { border-right:0; color:#ead3aa; }
.models-section { background:var(--paper-light); }
.model-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.model-card { padding:clamp(34px,5vw,68px); border:1px solid var(--line); background:var(--paper); }
.model-card.featured { color:var(--paper-light); background:var(--wine); border-color:var(--wine); }
.model-card h2 { margin:45px 0 20px; font:400 clamp(3rem,5vw,5.8rem)/.88 var(--serif); letter-spacing:-.05em; }
.model-card .editorial-list { margin-bottom:30px; }
.model-top { display:flex; justify-content:space-between; gap:25px; align-items:start; }
.model-mark { font:italic 1rem var(--serif); }
.case-study { background:var(--paper-deep); }
.case-disclaimer { margin:-30px 0 65px; padding:18px 0; display:grid; grid-template-columns:.4fr 1fr; gap:30px; border-block:1px solid var(--line); }
.case-disclaimer p { margin:0; }
.story-scene { display:grid; grid-template-columns:1fr 1fr; gap:clamp(55px,9vw,145px); align-items:start; }
.story-scene .section-title { max-width:760px; }
.story-copy>p:first-child { margin-top:0; }
.thought-quote { margin:38px 0; padding:0 0 0 25px; border-left:3px solid var(--wine); font:italic clamp(1.35rem,2.2vw,2.2rem)/1.25 var(--serif); color:var(--wine); }
.reaction-grid { display:grid; grid-template-columns:1fr 1fr 1.2fr; margin-top:75px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.reaction-grid article { min-height:285px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.reaction-grid article.highlight { background:var(--wine); color:var(--paper-light); }
.reaction-grid h3 { margin:35px 0 16px; font:400 clamp(1.8rem,3vw,3rem)/1 var(--serif); }
.case-question { padding:clamp(70px,9vw,125px) 0; display:grid; grid-template-columns:.35fr 1.65fr; gap:45px; align-items:start; }
.case-question .pullquote { margin:0; }
.issue-tree { display:grid; grid-template-columns:.65fr 1.35fr; border:1px solid var(--line); background:var(--paper-light); }
.issue-root { padding:clamp(35px,5vw,65px); background:var(--ink); color:var(--paper-light); display:flex; flex-direction:column; justify-content:space-between; gap:80px; }
.issue-root strong { font:400 clamp(2.2rem,4vw,4.5rem)/.95 var(--serif); }
.issue-branches { display:grid; grid-template-columns:1fr 1fr; }
.issue-branches article { padding:30px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
.issue-branches article:nth-child(n+3) { border-bottom:0; }
.issue-branches span,.hypothesis-grid span { color:var(--wine); font:italic .85rem var(--serif); }
.issue-branches h3 { margin:25px 0 10px; font:400 1.8rem/1 var(--serif); }
.hypothesis-block { padding:clamp(75px,9vw,130px) 0 0; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(55px,8vw,120px); }
.hypothesis-grid { border-top:1px solid var(--line); }
.hypothesis-grid article { display:grid; grid-template-columns:45px 1fr; gap:20px; padding:21px 0; border-bottom:1px solid var(--line); }
.hypothesis-grid p { margin:0; }
.resolution { margin-top:clamp(75px,9vw,130px); }
.case-flow { counter-reset:none; margin:30px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--line); }
.case-flow li { min-height:290px; padding:25px 22px; border-right:1px solid var(--line); }
.case-flow li:last-child { border-right:0; }
.case-flow strong { display:block; margin:40px 0 16px; font:400 1.5rem/1.05 var(--serif); }
.case-flow p { font-size:.86rem; line-height:1.5; }
.case-label { color:var(--wine); font:italic .77rem var(--serif); }
.model-choice { margin-top:clamp(75px,9vw,130px); display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.model-choice>* { padding:clamp(30px,4vw,55px); border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.model-choice-intro { grid-column:1/-1; }
.model-choice h3 { margin:28px 0 15px; font:400 clamp(2.4rem,4.5vw,5rem)/.9 var(--serif); }
.case-outcome { margin-top:70px; padding-top:45px; border-top:1px solid var(--line); display:grid; grid-template-columns:.9fr 1.1fr auto; gap:35px; align-items:center; }
.case-outcome .pullquote { margin:0; font-size:clamp(1.8rem,3vw,3.5rem); }

.campaign-hero { padding:95px 0 70px; background:var(--wine); color:var(--paper-light); }
.campaign-hero h1 { max-width:1100px; margin:20px 0 0; font:400 clamp(4rem,8vw,9rem)/.86 var(--serif); letter-spacing:-.055em; }
.funnel-track { display:grid; grid-template-columns:repeat(5,1fr); margin-top:60px; border-block:1px solid rgba(255,255,255,.32); }
.funnel-track div { padding:21px 16px; border-right:1px solid rgba(255,255,255,.28); }
.funnel-track div:last-child { border-right:0; }
.funnel-track small { display:block; color:#d8bb8d; text-transform:uppercase; letter-spacing:.13em; }
.funnel-track strong { display:block; margin-top:8px; font:400 1.2rem/1.1 var(--serif); }
.channel-section { padding:90px 0; border-bottom:1px solid var(--line); }
.channel-grid { display:grid; grid-template-columns:.55fr 1.45fr; gap:clamp(45px,8vw,120px); align-items:start; }
.channel-note { position:sticky; top:105px; }
.channel-note h2 { margin:18px 0; font:400 clamp(2.8rem,5vw,5.8rem)/.9 var(--serif); }
.preview-stack { display:grid; gap:24px; }
.post-preview { padding:clamp(28px,4vw,52px); border:1px solid var(--line); background:var(--paper-light); box-shadow:0 16px 40px rgba(36,28,24,.08); }
.post-preview.dark { background:var(--ink); color:var(--paper-light); }
.post-preview h3 { margin:18px 0; font:400 clamp(2rem,3.6vw,4rem)/.95 var(--serif); }
.post-meta { display:flex; justify-content:space-between; gap:25px; padding-bottom:18px; border-bottom:1px solid currentColor; font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; opacity:.72; }
.social-slide { min-height:460px; padding:45px; display:flex; flex-direction:column; justify-content:space-between; background:var(--wine); color:var(--paper-light); aspect-ratio:4/5; max-width:580px; }
.social-slide h3 { margin:auto 0; font:400 clamp(3.2rem,6vw,6.6rem)/.86 var(--serif); letter-spacing:-.05em; }
.social-slide .slide-footer { display:flex; justify-content:space-between; gap:20px; }
.newsletter-preview { padding:0; overflow:hidden; }
.newsletter-head { padding:22px 35px; background:var(--ink); color:var(--paper-light); }
.newsletter-body { padding:clamp(32px,5vw,65px); }
.newsletter-body h3 { margin:15px 0 25px; font:400 clamp(2.6rem,4.5vw,5.2rem)/.9 var(--serif); }
.data-questions { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:35px 0; background:var(--line); border:1px solid var(--line); }
.data-questions span { padding:18px; background:var(--paper-light); }

.form-wrap { display:grid; grid-template-columns:.55fr 1fr; gap:clamp(45px,8vw,120px); align-items:start; }
.form-intro { position:sticky; top:110px; }
.form { padding:clamp(28px,5vw,65px); background:var(--paper-light); border:1px solid var(--line); }
.form-section { margin:0 0 52px; padding:0; border:0; }
.form-section:last-of-type { margin-bottom:34px; }
.form-section legend { width:100%; margin:0 0 24px; padding:0 0 12px; border-bottom:1px solid var(--line); font:400 2rem/1 var(--serif); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.field { display:grid; gap:8px; }
.field.full { grid-column:1/-1; }
.field label,.field>span { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.field input,.field select,.field textarea { width:100%; padding:13px 14px; border:1px solid rgba(36,28,24,.38); border-radius:0; background:#fffdf8; color:var(--ink); }
.field textarea { min-height:150px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { outline:2px solid var(--brass); outline-offset:1px; }
.check { display:grid; grid-template-columns:20px 1fr; gap:12px; align-items:start; font-size:.88rem; }
.check input { margin-top:4px; accent-color:var(--wine); }
.form-note { font-size:.78rem; color:rgba(36,28,24,.7); }
.form-status { min-height:1.5em; margin-top:18px; font-weight:700; }

footer { background:var(--ink); color:var(--paper); padding:70px 0 34px; }
.footer-main { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:70px; padding-bottom:70px; }
.footer-brand { font:400 clamp(4rem,8vw,8rem)/.8 var(--serif); letter-spacing:-.05em; }
.footer-brand-note { display:block; margin-top:18px; font:italic .76rem/1.45 var(--serif); letter-spacing:.02em; color:rgba(255,255,255,.68); }
.footer-col p { margin-top:0; }
.footer-col a { display:block; width:fit-content; text-decoration:none; border-bottom:1px solid transparent; }
.footer-col a:hover { border-color:currentColor; }
.legal { border-top:1px solid rgba(255,255,255,.25); padding-top:24px; display:grid; grid-template-columns:1fr 2fr; gap:50px; color:rgba(255,255,255,.7); font-size:.72rem; }
.legal p { margin:0; }

@media (max-width:1050px) {
  .nav { grid-template-columns:1fr auto auto; }
  .nav-toggle { display:block; }
  .nav-links { position:absolute; inset:76px 0 auto; display:none; padding:26px 20px 34px; color:var(--ink); background:var(--header-beige); border-top:1px solid rgba(36,28,24,.16); flex-direction:column; align-items:flex-start; }
  .masthead.overlay .nav-links { color:var(--paper-light); background:rgba(65,38,42,.97); border-top-color:rgba(255,255,255,.2); }
  .nav-links.open { display:flex; }
  .nav-cta { justify-self:end; }
  .article-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:820px) {
  .hero { min-height:760px; }
  .hero-title { margin-top:5vh; font-size:clamp(6rem,23vw,11rem); }
  .hero-bottom,.two-col,.structure-grid,.steps-top,.page-hero-grid,.contact-grid,.form-wrap,.article-layout,.problem-grid,.story-scene,.hypothesis-block,.channel-grid { grid-template-columns:1fr; }
  .hero-actions { justify-self:stretch; grid-template-columns:1fr 1fr; }
  .attitude { border-left:0; border-top:1px solid var(--line); padding:55px 0 0; }
  .steps-list { grid-template-columns:1fr; }
  .steps-list li { min-height:110px; border-right:0; border-bottom:1px solid rgba(255,255,255,.35); }
  .step-link { min-height:110px; padding:18px; flex-direction:row; align-items:flex-end; gap:20px; }
  .split-band { grid-template-columns:1fr; }
  .model-grid,.reaction-grid,.issue-tree,.model-choice { grid-template-columns:1fr; }
  .model-choice-intro { grid-column:auto; }
  .case-disclaimer,.case-question { grid-template-columns:1fr; }
  .case-disclaimer { margin-top:-15px; }
  .case-flow,.funnel-track { grid-template-columns:1fr; }
  .case-flow li,.funnel-track div { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }
  .case-outcome { grid-template-columns:1fr; }
  .channel-note { position:static; }
  .split-panel,.split-panel:first-child,.split-panel:last-child { padding:70px max(20px,calc((100vw - 1440px)/2)); }
  .service-grid,.card-grid { grid-template-columns:1fr; }
  .cta-band .shell { grid-template-columns:1fr; }
  .article-aside,.form-intro { position:static; }
  .portrait-placeholder { min-height:430px; }
  .process-list li { grid-template-columns:50px 1fr; }
  .process-list li p { grid-column:2; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}
@media (max-width:590px) {
  body { font-size:16px; }
  .shell,.narrow,.nav,.hero-inner { width:min(100% - 28px,1440px); }
  .nav { min-height:66px; gap:14px; }
  .nav-links { top:66px; }
  .brand-logo { width:50px; }
  .nav-cta { display:none; }
  .hero { min-height:710px; }
  .hero-inner { padding-top:92px; padding-bottom:28px; }
  .hero::before { background-position:51% center; }
  .hero-title { margin-top:1.5vh; }
  .hero-claim { font-size:2.1rem; }
  .hero-actions { grid-template-columns:1fr; }
  .chapter-head { grid-template-columns:1fr 1fr; margin-bottom:46px; }
  .chapter-name { display:none; }
  .display { font-size:clamp(2.8rem,15vw,4.6rem); }
  .dropcap:first-letter { font-size:6.5rem; }
  .quote-mark,.quote-close { font-size:7rem; }
  .attitude h3 { font-size:clamp(3.6rem,19vw,5.4rem); }
  .page-title { font-size:clamp(3.6rem,18vw,6rem); }
  .article-grid { grid-template-columns:1fr; }
  .article-card { min-height:370px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .contact-list a { grid-template-columns:1fr; gap:3px; }
  .issue-branches,.data-questions { grid-template-columns:1fr; }
  .issue-branches article { border-left:0; border-bottom:1px solid var(--line); }
  .issue-branches article:nth-child(n+3) { border-bottom:1px solid var(--line); }
  .issue-branches article:last-child { border-bottom:0; }
  .footer-main,.legal { grid-template-columns:1fr; gap:34px; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{transition:none!important} }

/* Service navigation: usable with mouse, keyboard and touch. */
.service-menu { position:relative; }
.service-menu-top { display:flex; align-items:center; gap:4px; }
.service-menu-toggle { display:grid; place-items:center; width:28px; height:36px; border:0; padding:0; background:transparent; color:inherit; cursor:pointer; }
.service-menu-toggle span { font-size:1rem; transition:transform .2s; }
.service-menu.is-open .service-menu-toggle span { transform:rotate(180deg); }
.nav-links .service-active::after { right:0; }
.service-submenu { display:none; position:absolute; top:100%; left:-22px; min-width:290px; padding:18px 22px; color:var(--ink); background:var(--paper-light); border:1px solid var(--line); box-shadow:0 16px 30px rgba(36,28,24,.12); }
.service-menu.is-open .service-submenu { display:grid; gap:0; }
.nav-links .service-submenu a { display:block; padding:12px 0; white-space:normal; line-height:1.6; font-size:.62rem; border-bottom:1px solid var(--line); }
.nav-links .service-submenu a:last-child { border-bottom:0; }
.nav-links .service-submenu a::after { display:none; }
.service-submenu a:hover,.service-submenu a[aria-current=page] { color:var(--wine); text-decoration:underline; text-underline-offset:4px; }
a:focus-visible,button:focus-visible { outline:2px solid var(--brass); outline-offset:5px; }
@media(max-width:1050px) {
 .nav-links { max-height:calc(100svh - 76px); overflow-y:auto; gap:18px; }
 .service-menu { width:100%; }
 .service-menu-top { justify-content:space-between; }
 .service-submenu { position:static; width:100%; min-width:0; margin-top:10px; padding:7px 18px; box-shadow:none; }
 .service-menu-toggle { width:44px; height:36px; }
}

.nav-status{font-size:.68em;font-style:italic;opacity:.72;white-space:nowrap;text-transform:none;letter-spacing:.02em}
