
:root{
  --graphite:#4A4E4C;
  --graphite-deep:#2E3130;
  --graphite-soft:#5A5E5C;
  --paper:#F3F0E9;
  --paper-2:#E8E3D9;
  --ink:#222525;
  --muted:#666A68;
  --white:#F4F4F2;
  --violet:#8E5BFF;
  --line-dark:rgba(244,244,242,.17);
  --line-light:rgba(34,37,37,.15);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--graphite-deep)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit}
.wrap{width:min(var(--max),calc(100% - 56px));margin-inline:auto}
.skip{position:absolute;left:-9999px;top:12px;background:#fff;color:#111;padding:10px 14px;z-index:999}
.skip:focus{left:12px}
:focus-visible{outline:3px solid #b9a0ff;outline-offset:4px}
.kicker{font-size:12px;letter-spacing:.19em;text-transform:uppercase;font-weight:800}
.serif{font-family:"Iowan Old Style",Baskerville,Georgia,"Times New Roman",serif}
.lead{font-size:clamp(18px,2vw,22px);line-height:1.45;color:var(--muted)}
.dark .lead{color:rgba(244,244,242,.72)}
.small{font-size:14px;color:var(--muted)}
.rule{height:1px;background:var(--line-light)}
.dark .rule{background:var(--line-dark)}

.header{position:sticky;top:0;z-index:50;background:rgba(46,49,48,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12)}
.headerRow{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:205px;height:58px;object-fit:contain}
.nav{display:flex;align-items:center;gap:24px;font-size:14px;color:rgba(244,244,242,.84)}
.nav>a,.nav summary{transition:opacity .15s ease}
.nav>a:hover,.nav summary:hover{opacity:.66}
.nav details{position:relative}
.nav summary{list-style:none;cursor:pointer}
.nav summary::-webkit-details-marker{display:none}
.drop{position:absolute;right:0;top:30px;min-width:220px;background:#262928;border:1px solid rgba(255,255,255,.15);padding:8px;box-shadow:0 18px 45px rgba(0,0,0,.25)}
.drop a{display:block;padding:10px 12px}
.drop a:hover{background:rgba(255,255,255,.06)}
.menuBtn{display:none;color:white;background:transparent;border:1px solid rgba(255,255,255,.24);padding:9px 12px;border-radius:999px}
.mobilePanel{display:none;position:fixed;inset:0;z-index:100;background:var(--graphite-deep);color:var(--white);padding:22px 26px 44px;overflow:auto}
.mobilePanel.open{display:block}
.mobileTop{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-dark);padding-bottom:18px}
.mobileTop img{width:210px}
.mobileClose{font-size:32px;color:white;background:transparent;border:0}
.mobileLinks{padding-top:28px}
.mobileLinks b{display:block;font-size:11px;letter-spacing:.18em;margin:24px 0 6px;color:rgba(255,255,255,.48)}
.mobileLinks a{display:block;font-size:24px;padding:9px 0}
.mobileLinks .primary{margin-top:24px;display:inline-flex;font-size:16px;padding:13px 20px}

.primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;background:var(--violet);color:#fff;font-weight:760;border-radius:999px;border:1px solid rgba(255,255,255,.2)}
.primary:hover{filter:brightness(1.06)}
.secondary{display:inline-flex;align-items:center;min-height:48px;padding:0 2px;border-bottom:1px solid currentColor;font-weight:700}
.textlink{font-weight:750;border-bottom:1px solid currentColor;padding-bottom:2px}

.hero{background:var(--graphite-deep);color:var(--white);padding:72px 0 68px}
.heroGrid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:60px;align-items:end}
.hero h1{font-size:clamp(58px,7.2vw,94px);line-height:.94;letter-spacing:-.046em;margin:0;font-weight:500;max-width:850px}
.hero h1 em{font-weight:400}
.heroDeck{font-size:21px;max-width:700px;color:rgba(244,244,242,.72);margin:26px 0 0}
.heroMeta{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,244,242,.5);margin-top:26px;font-weight:800}
.heroActions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.heroActions .secondary{color:rgba(255,255,255,.85)}
.photoHero{background:#171918}
.photoHero img{width:100%;height:min(56vw,690px);object-fit:cover;object-position:center 48%}

.statement{padding:92px 0 88px;background:var(--paper)}
.statementGrid{display:grid;grid-template-columns:.95fr 1.05fr;gap:86px;align-items:start}
.statement h2,.sectionHead h2,.editorial h2,.pageHero h1{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-weight:500;letter-spacing:-.035em}
.statement h2{font-size:clamp(42px,5vw,68px);line-height:1.02;margin:12px 0 0}
.statement .body{font-size:20px;color:var(--muted)}
.statement .body p{margin:0 0 22px}
.pullquote{background:var(--graphite);color:var(--white);padding:54px 0}
.pullquote p{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:clamp(29px,4.2vw,50px);line-height:1.08;letter-spacing:-.025em;margin:0}
.pullquote small{display:block;margin-top:16px;letter-spacing:.18em;font-size:10px;color:rgba(255,255,255,.52);text-transform:uppercase}

.methodIntro{padding:90px 0;background:var(--paper)}
.sectionHead{display:grid;grid-template-columns:.85fr 1.15fr;gap:76px;align-items:start}
.sectionHead h2{font-size:clamp(44px,5.5vw,72px);line-height:.98;margin:10px 0 0}
.methodNotes{border-top:1px solid var(--line-light)}
.methodNote{display:grid;grid-template-columns:135px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--line-light)}
.methodNote b{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#6d716f;padding-top:5px}
.methodNote h3{font-size:22px;line-height:1.2;margin:0 0 7px}
.methodNote p{font-size:17px;line-height:1.55;margin:0;color:var(--muted)}
.methodCta{margin-top:34px}

.architecture{background:var(--graphite-deep);color:var(--white);padding:92px 0}
.archGrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.architecture h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:clamp(42px,5vw,68px);line-height:1.02;font-weight:500;letter-spacing:-.035em;margin:12px 0 24px}
.architecture .copy{font-size:18px;color:rgba(244,244,242,.72);max-width:520px}
.architecture .copy p{margin:0 0 20px}
.signalMap{border-top:1px solid var(--line-dark);padding-top:10px}
.signalRow{display:grid;grid-template-columns:165px 1fr;gap:22px;padding:18px 0;border-bottom:1px solid var(--line-dark);align-items:start}
.signalRow .tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);padding-top:4px}
.signalRow strong{display:block;font-size:18px;margin-bottom:4px}
.signalRow span{color:rgba(255,255,255,.62);font-size:15px}
.signalReturn{margin-top:24px;padding:17px 18px;border:1px solid rgba(255,255,255,.22);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.78)}

.material{padding:92px 0;background:var(--paper)}
.materialGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:78px;align-items:center}
.material h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-weight:500;font-size:clamp(44px,5.2vw,70px);line-height:1;letter-spacing:-.038em;margin:12px 0 24px}
.material p{font-size:19px;color:var(--muted);margin:0 0 20px}
.material aside{border-left:1px solid var(--line-light);padding-left:38px}
.material aside p{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:28px;line-height:1.22;color:var(--ink);margin:0}
.woodBar{height:24px;background-image:linear-gradient(rgba(34,37,37,.12),rgba(34,37,37,.12)),url("../images/real-wood-texture.jpg");background-size:cover;background-position:center}

.roomStory{display:grid;grid-template-columns:1.1fr .9fr;background:var(--graphite);color:var(--white)}
.roomStory img{width:100%;height:620px;object-fit:cover}
.roomCopy{padding:70px max(5vw,42px);display:flex;flex-direction:column;justify-content:center}
.roomCopy h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:clamp(43px,5vw,68px);font-weight:500;line-height:1;letter-spacing:-.035em;margin:12px 0 23px}
.roomCopy p{font-size:18px;color:rgba(244,244,242,.72);max-width:560px;margin:0 0 19px}
.roomCopy .secondary{margin-top:10px;align-self:flex-start}
.corridor{display:grid;grid-template-columns:.88fr 1.12fr;background:#383b3a;color:var(--white)}
.corridor img{width:100%;height:470px;object-fit:cover}
.corridorCopy{padding:60px max(5vw,42px);display:flex;flex-direction:column;justify-content:center}
.corridorCopy h3{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:38px;font-weight:500;margin:8px 0 18px}
.corridorCopy p{font-size:17px;color:rgba(244,244,242,.7);margin:0;max-width:520px}

.services{padding:92px 0;background:var(--paper)}
.servicesHead{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:38px}
.servicesHead h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:clamp(42px,5vw,68px);font-weight:500;line-height:1.02;letter-spacing:-.035em;margin:10px 0 0}
.servicesHead p{font-size:18px;color:var(--muted);margin:12px 0 0}
.serviceList{border-top:1px solid var(--line-light)}
.serviceItem{display:grid;grid-template-columns:1.1fr 1.6fr 40px;gap:30px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line-light)}
.serviceItem h3{font-size:25px;margin:0}
.serviceItem p{font-size:16px;color:var(--muted);margin:0}
.serviceItem .arrow{font-size:25px;text-align:right}
.serviceItem:hover h3{text-decoration:underline;text-underline-offset:5px}

.academyTease{background:var(--graphite-deep);color:var(--white);padding:88px 0}
.academyGrid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.academyTease h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:clamp(46px,5.5vw,72px);font-weight:500;line-height:1;letter-spacing:-.035em;margin:10px 0 22px}
.academyTease p{font-size:18px;color:rgba(244,244,242,.72);max-width:580px}
.topicLines{border-top:1px solid var(--line-dark)}
.topicLines div{padding:15px 0;border-bottom:1px solid var(--line-dark);font-size:16px;color:rgba(255,255,255,.78)}
.academyTease .secondary{margin-top:26px}

.finalCta{padding:92px 0;background:var(--paper)}
.finalGrid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end}
.finalCta h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:clamp(46px,5.5vw,76px);font-weight:500;line-height:.98;letter-spacing:-.038em;margin:0}
.finalCta p{font-size:18px;color:var(--muted);margin:18px 0 0}

.footer{background:#262928;color:var(--white);padding:52px 0 28px}
.footerGrid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:44px}
.footerLogo{width:220px;height:auto;margin-bottom:16px}
.footer p{font-size:14px;color:rgba(255,255,255,.56);max-width:340px}
.foot b{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.46);margin-bottom:12px}
.foot a{display:block;padding:5px 0;color:rgba(255,255,255,.75);font-size:14px}
.legal{border-top:1px solid var(--line-dark);margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.38)}

.pageHero{background:var(--graphite-deep);color:var(--white);padding:88px 0 78px}
.pageHero h1{font-size:clamp(54px,6.2vw,86px);line-height:.95;margin:8px 0 22px;max-width:900px}
.pageHero p{font-size:20px;color:rgba(255,255,255,.7);max-width:780px;margin:0}
.pageBody{padding:82px 0;background:var(--paper)}
.pageBody.dark{background:var(--graphite);color:var(--white)}
.editorial{display:grid;grid-template-columns:.88fr 1.12fr;gap:74px;align-items:start}
.editorial h2{font-size:clamp(38px,4.8vw,62px);line-height:1.03;margin:0}
.prose{font-size:18px;color:var(--muted)}
.dark .prose{color:rgba(255,255,255,.72)}
.prose p{margin:0 0 21px}
.listRows{margin-top:32px;border-top:1px solid var(--line-light)}
.dark .listRows{border-color:var(--line-dark)}
.listRow{display:grid;grid-template-columns:190px 1fr;gap:28px;padding:20px 0;border-bottom:1px solid var(--line-light)}
.dark .listRow{border-color:var(--line-dark)}
.listRow b{font-size:15px}
.listRow p{margin:0;font-size:16px;color:var(--muted)}
.dark .listRow p{color:rgba(255,255,255,.67)}

.roomPage{padding:82px 0;background:var(--paper)}
.roomArticle{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center;padding:0 0 70px}
.roomArticle:nth-child(even){grid-template-columns:.92fr 1.08fr}
.roomArticle:nth-child(even) img{order:2}
.roomArticle img{width:100%;height:420px;object-fit:cover}
.roomArticle h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:44px;font-weight:500;margin:8px 0 16px}
.roomArticle p{font-size:17px;color:var(--muted);margin:0 0 15px}
.textPanel{background:var(--paper-2);padding:42px;margin-bottom:70px}
.textPanel h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:42px;font-weight:500;margin:8px 0 16px}
.textPanel p{font-size:17px;color:var(--muted);max-width:860px}

.methodFlow{padding:82px 0;background:var(--paper)}
.methodBlock{display:grid;grid-template-columns:190px 1fr;gap:46px;padding:30px 0;border-top:1px solid var(--line-light)}
.methodBlock:last-child{border-bottom:1px solid var(--line-light)}
.methodBlock .label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-top:8px;font-weight:800}
.methodBlock h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:38px;font-weight:500;margin:0 0 11px}
.methodBlock p{font-size:17px;color:var(--muted);margin:0 0 14px;max-width:760px}
.inherited{padding:82px 0;background:var(--graphite);color:var(--white)}
.inherited h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:50px;font-weight:500;margin:8px 0 28px}
.truthRows{border-top:1px solid var(--line-dark)}
.truthRow{display:grid;grid-template-columns:240px 1fr;gap:34px;padding:22px 0;border-bottom:1px solid var(--line-dark)}
.truthRow b{font-size:16px}
.truthRow p{margin:0;font-size:16px;color:rgba(255,255,255,.68)}

.academyMethod{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line-light);border:1px solid var(--line-light);margin-top:34px}
.academyMethod div{background:var(--paper);padding:24px 18px}
.academyMethod b{display:block;font-size:15px;margin-bottom:6px}
.academyMethod span{font-size:14px;color:var(--muted)}

.contactGrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px}
.contactList{border-top:1px solid var(--line-light)}
.contactList a,.contactList div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid var(--line-light)}
.contactList b{font-size:13px}
.contactList span{color:var(--muted)}
.contactBox{background:var(--graphite);color:var(--white);padding:38px}
.contactBox h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:42px;font-weight:500;margin:0 0 15px}
.contactBox p{color:rgba(255,255,255,.7);font-size:16px;margin-bottom:24px}

@media(max-width:980px){
 .nav{display:none}.menuBtn{display:block}
 .heroGrid,.statementGrid,.sectionHead,.archGrid,.materialGrid,.servicesHead,.academyGrid,.finalGrid,.editorial,.contactGrid{grid-template-columns:1fr;gap:36px}
 .heroActions{flex-direction:row;flex-wrap:wrap}
 .roomStory,.corridor{grid-template-columns:1fr}
 .roomStory img,.corridor img{height:420px}
 .roomArticle,.roomArticle:nth-child(even){grid-template-columns:1fr;gap:28px}
 .roomArticle:nth-child(even) img{order:0}
 .academyMethod{grid-template-columns:1fr 1fr}
 .footerGrid{grid-template-columns:1.4fr 1fr 1fr}
 .footerGrid .foot:last-child{grid-column:2/4}
}
@media(max-width:700px){
 .wrap{width:calc(100% - 38px)}
 .headerRow{height:74px}.brand img{width:176px;height:50px}
 .hero{padding:54px 0 48px}.hero h1{font-size:47px;line-height:.98;max-width:360px}.heroDeck{font-size:18px;line-height:1.45}.heroGrid{gap:32px}.heroActions{gap:14px}
 .photoHero img{height:350px;object-position:center 49%}
 .statement,.methodIntro,.architecture,.material,.services,.academyTease,.finalCta,.pageBody,.roomPage,.methodFlow,.inherited{padding:62px 0}
 .statement h2,.sectionHead h2,.architecture h2,.material h2,.servicesHead h2,.academyTease h2,.finalCta h2{font-size:40px;line-height:1.03}
 .statement .body,.lead{font-size:17px}.pullquote{padding:42px 0}.pullquote p{font-size:29px}
 .methodNote{grid-template-columns:1fr;gap:8px;padding:20px 0}.methodNote h3{font-size:22px}.methodNote p{font-size:16px}
 .signalRow{grid-template-columns:1fr;gap:6px}.signalRow strong{font-size:17px}
 .material aside{border-left:0;border-top:1px solid var(--line-light);padding-left:0;padding-top:24px}.material aside p{font-size:25px}
 .roomStory img,.corridor img{height:300px}.roomCopy,.corridorCopy{padding:52px 20px}.roomCopy h2{font-size:40px}.corridorCopy h3{font-size:32px}
 .serviceItem{grid-template-columns:1fr 28px;gap:8px 18px;padding:22px 0}.serviceItem p{grid-column:1}.serviceItem .arrow{grid-column:2;grid-row:1/3;align-self:center}
 .academyGrid{gap:38px}
 .finalGrid{align-items:start}
 .footerGrid{grid-template-columns:1fr;gap:28px}.footerGrid .foot:last-child{grid-column:auto}.legal{flex-direction:column}
 .pageHero{padding:64px 0 58px}.pageHero h1{font-size:45px;line-height:1}.pageHero p{font-size:18px}
 .editorial h2{font-size:38px}.prose{font-size:17px}
 .listRow{grid-template-columns:1fr;gap:6px}
 .roomArticle{padding-bottom:48px}.roomArticle img{height:280px}.roomArticle h2{font-size:38px}
 .textPanel{padding:28px 22px;margin-bottom:48px}.textPanel h2{font-size:36px}
 .methodBlock{grid-template-columns:1fr;gap:8px;padding:24px 0}.methodBlock h2{font-size:34px}
 .truthRow{grid-template-columns:1fr;gap:7px}.inherited h2{font-size:42px}
 .academyMethod{grid-template-columns:1fr}
 .contactList a,.contactList div{grid-template-columns:1fr;gap:4px}
 .mobileLinks a{font-size:23px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html,body{overflow-x:hidden}

/* V16.1 iPhone readability + service pictograms */
.architecture .copy{font-size:20px;color:rgba(244,244,242,.84)}
.signalRow span{font-size:17px;color:rgba(255,255,255,.76)}
.signalReturn{font-size:14px;color:rgba(255,255,255,.88)}
.roomCopy p,.corridorCopy p{font-size:19px;color:rgba(244,244,242,.82)}
.academyTease p{font-size:20px;color:rgba(244,244,242,.84)}
.topicLines div{font-size:18px;line-height:1.45;color:rgba(255,255,255,.86);padding:18px 0}
.footer p{font-size:16px;line-height:1.55;color:rgba(255,255,255,.72)}
.foot a{font-size:16px;color:rgba(255,255,255,.82);padding:7px 0}
.foot b{font-size:11px;color:rgba(255,255,255,.60)}
.serviceItem{grid-template-columns:64px 1.05fr 1.6fr 40px}
.serviceIcon{width:54px;height:54px;object-fit:contain;opacity:.92}
.serviceItem .arrow{grid-column:4}
@media(max-width:700px){
  .architecture .copy,.roomCopy p,.corridorCopy p,.academyTease p{font-size:18px;line-height:1.55}
  .signalRow span{font-size:16px;line-height:1.5}
  .topicLines div{font-size:18px;line-height:1.45;padding:18px 0}
  .serviceItem{grid-template-columns:54px 1fr 30px;gap:6px 16px;padding:24px 0}
  .serviceIcon{width:48px;height:48px;grid-column:1;grid-row:1/3;align-self:center}
  .serviceItem h3{grid-column:2;font-size:24px}
  .serviceItem p{grid-column:2;font-size:17px;line-height:1.45}
  .serviceItem .arrow{grid-column:3;grid-row:1/3;align-self:center}
  .footer p,.foot a{font-size:16px}
}

/* V16.2 typographic line-break discipline */
h1,h2,h3,.pullquote p,.material aside p{ text-wrap:balance; }
p,.signalRow span,.topicLines div,.serviceItem p,.servicesHead p,.heroDeck{ text-wrap:pretty; }
.serviceLine{display:inline}
.serviceLine + .serviceLine::before{content:" · ";}
.sentenceBreak{display:inline}
@media(max-width:700px){
  .wrap{width:calc(100% - 32px)}
  .statement h2,.sectionHead h2,.architecture h2,.material h2,.servicesHead h2,.academyTease h2,.finalCta h2{max-width:100%;text-wrap:balance}
  .methodNote p,.architecture .copy p,.signalRow span,.roomCopy p,.corridorCopy p,.servicesHead p,.academyTease p,.finalCta p,.footer p{ text-wrap:pretty; }
  .serviceItem{grid-template-columns:64px minmax(0,1fr) 30px;column-gap:16px}
  .serviceIcon{width:60px;height:60px}
  .serviceLine{display:block}
  .serviceLine + .serviceLine::before{content:""}
  .serviceItem p{font-size:17px;line-height:1.5;text-wrap:balance}
  .serviceItem h3{text-wrap:balance}
  .sentenceBreak{display:block}
}

/* V16.2 final mobile rhythm adjustments after line-by-line wrap audit */
@media(max-width:700px){
  .methodIntro .sectionHead h2{font-size:36px;line-height:1.06}
  .serviceItem{grid-template-columns:72px minmax(0,1fr) 30px;column-gap:16px}
  .serviceIcon{width:66px;height:66px}
  .servicesHead p{max-width:34ch}
  .architecture .copy p,.signalRow span,.material p,.corridorCopy p,.finalCta p,.heroDeck,.statement .body p{max-width:100%}
}
@media(max-width:700px){
  .heroDeck,.signalRow span,.finalCta p{ text-wrap:balance; }
}

.mobileBreak{display:none}
@media(max-width:700px){.mobileBreak{display:block}}

@media(max-width:700px){.pageHero h1.compactMobile{font-size:41px;white-space:normal;}}


/* ===== V17 approved Services + Academy direction ===== */
.servicesV17{background:#F4F1EA;padding:90px 0 86px}
.serviceListV17{border-top:1px solid rgba(34,37,37,.18)}
.serviceItemV17{
  display:grid;
  grid-template-columns:112px minmax(0,1fr) 42px;
  gap:28px;
  align-items:center;
  min-height:170px;
  padding:22px 0;
  border-bottom:1px solid rgba(34,37,37,.18);
}
.serviceItemV17:hover h3{text-decoration:none}
.serviceIconFrame{
  width:104px;height:118px;
  display:flex;align-items:center;justify-content:center;
}
.serviceIconFrame img{
  display:block;
  width:auto;height:auto;
  max-width:100%;max-height:100%;
  object-fit:contain;
}
.serviceText h3{
  margin:0 0 13px;
  font-size:28px;
  line-height:1.08;
  letter-spacing:-.025em;
  color:#202323;
}
.serviceText p{
  margin:0;
  font-size:18px;
  line-height:1.42;
  color:#686D6A;
}
.serviceText p span{display:block}
.serviceItemV17 .arrow{
  font-size:37px;
  line-height:1;
  color:#202323;
  justify-self:end;
  transform:translateY(-2px);
}
.serviceItemV17:focus-visible{outline-offset:7px}

.academyV17{
  background:#2D302F;
  color:#F4F4F2;
  padding:78px 0 84px;
}
.academySimpleV17{max-width:980px}
.academyV17 .kicker{color:#F2F2F2;letter-spacing:.18em}
.academyV17 h2{
  font-family:"Iowan Old Style",Baskerville,Georgia,"Times New Roman",serif;
  font-size:clamp(50px,6vw,76px);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.038em;
  margin:14px 0 20px;
}
.academyV17 p{
  max-width:700px;
  margin:0 0 30px;
  font-size:20px;
  line-height:1.48;
  color:rgba(244,244,242,.78);
}
.academyButtonV17{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  width:min(620px,100%);
  min-height:62px;
  padding:0 28px;
  border-radius:999px;
  background:linear-gradient(90deg,#8155F5,#8E5BFF);
  color:#fff;
  font-size:15px;
  font-weight:820;
  letter-spacing:.075em;
  text-align:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.17);
}
.academyButtonV17:hover{filter:brightness(1.05)}
.academyButtonV17 span:last-child{font-size:26px;font-weight:500;line-height:1}

@media(max-width:700px){
  .servicesV17{padding:58px 0 54px}
  .servicesV17 .servicesHead{grid-template-columns:1fr;gap:22px;margin-bottom:30px}
  .servicesV17 .servicesHead h2{font-size:39px;line-height:1.04}
  .servicesV17 .servicesHead p{font-size:17px;line-height:1.55}
  .serviceItemV17{
    grid-template-columns:92px minmax(0,1fr) 28px;
    gap:14px;
    min-height:170px;
    padding:24px 0;
  }
  .serviceIconFrame{width:84px;height:112px}
  .serviceText h3{
    font-size:26px;
    margin-bottom:14px;
    line-height:1.04;
  }
  .serviceText p{font-size:17px;line-height:1.45}
  .serviceItemV17 .arrow{font-size:31px}
  .academyV17{padding:58px 0 64px}
  .academyV17 h2{font-size:46px;line-height:1}
  .academyV17 p{font-size:18px;line-height:1.52;margin-bottom:28px;max-width:330px}
  .academyButtonV17{
    width:100%;
    min-height:58px;
    padding:0 18px;
    gap:12px;
    font-size:13px;
    letter-spacing:.055em;
  }
  .academyButtonV17 span:last-child{font-size:24px}
}
@media(max-width:375px){
  .serviceItemV17{grid-template-columns:82px minmax(0,1fr) 26px;gap:11px}
  .serviceIconFrame{width:75px;height:105px}
  .serviceText h3{font-size:24px}
  .serviceText p{font-size:16px}
}

/* V17.1 mobile line-balance refinement */
.headlineLine{display:block}
@media(max-width:700px){
  .serviceItemV17{
    grid-template-columns:84px minmax(0,1fr) 24px;
    gap:12px;
  }
  .serviceIconFrame{width:78px;height:108px}
  .serviceText h3{
    font-size:23px;
    line-height:1.06;
    white-space:normal;
  }
  .serviceText p{font-size:16.5px;line-height:1.46}
  .serviceItemV17 .arrow{font-size:29px}
  .finalCta p{max-width:335px}
}
@media(max-width:370px){
  .serviceItemV17{grid-template-columns:76px minmax(0,1fr) 22px;gap:10px}
  .serviceIconFrame{width:70px;height:102px}
  .serviceText h3{font-size:21px}
  .serviceText p{font-size:15.8px}
}

/* ===== V17.3 UX mobile typography / readability audit ===== */
/* Goal: responsive line composition, AA contrast for small text, consistent touch/readability. */

/* Small-text contrast: previous 50% white failed AA at 11px on graphite. */
.heroMeta{color:rgba(244,244,242,.66)}
.dark .lead{color:rgba(244,244,242,.78)}
.signalRow .tag{color:rgba(255,255,255,.64)}
.pullquote small{color:rgba(255,255,255,.66)}
.foot b{color:rgba(255,255,255,.68)}

/* Better rag control without fixed editorial breaks. */
.hero h1,.pageHero h1,.statement h2,.sectionHead h2,.architecture h2,
.material h2,.roomCopy h2,.corridorCopy h3,.servicesHead h2,
.academyV17 h2,.editorial h2,.roomArticle h2,.textPanel h2,
.methodBlock h2,.inherited h2,.contactBox h2{
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.prose p,.pageHero p,.heroDeck,.statement .body p,.architecture .copy p,
.material p,.roomCopy p,.corridorCopy p,.servicesHead p,.serviceText p,
.academyV17 p,.roomArticle p,.textPanel p,.methodBlock p,.truthRow p,
.contactBox p,.listRow p{
  text-wrap:pretty;
  orphans:2;
  widows:2;
}

@media(max-width:700px){
  /* True iPhone reading width: slightly more breathing room than V17.2. */
  .wrap{width:calc(100% - 36px)}

  /* Hero: avoid orphaned 1–2 word lines. */
  .hero{padding:50px 0 48px}
  .hero h1{
    font-size:clamp(40px,10.9vw,44px);
    line-height:1.01;
    letter-spacing:-.038em;
    max-width:100%;
    text-wrap:balance;
  }
  .heroDeck{font-size:18px;line-height:1.52;max-width:34ch}
  .heroMeta{font-size:11.5px;line-height:1.55;letter-spacing:.16em;max-width:34ch}
  .heroActions{align-items:center;gap:18px}
  .heroActions .primary,.heroActions .secondary{min-height:48px}

  /* Section titles: length-aware, not one size forced on every sentence. */
  .statement h2,.sectionHead h2,.architecture h2,.material h2,
  .servicesHead h2,.academyTease h2,.finalCta h2{
    font-size:clamp(35px,9.8vw,39px);
    line-height:1.055;
    letter-spacing:-.03em;
  }
  .roomCopy h2{font-size:clamp(35px,9.8vw,39px);line-height:1.055}
  .corridorCopy h3{font-size:clamp(29px,8.2vw,33px);line-height:1.08}
  .pullquote p{font-size:clamp(28px,8.4vw,32px);line-height:1.1}

  /* Long page heroes get a softer scale than short ones. */
  .pageHero{padding:58px 0 54px}
  .pageHero h1{
    font-size:clamp(38px,10.6vw,43px);
    line-height:1.03;
    letter-spacing:-.033em;
    max-width:15ch;
  }
  .pageHero p{font-size:18px;line-height:1.5;max-width:35ch}
  .pageHero h1.compactMobile{font-size:clamp(35px,9.7vw,39px);white-space:normal}

  /* Content pages: maintain 16px absolute floor and comfortable leading. */
  .prose,.statement .body{font-size:17px;line-height:1.58}
  .methodNote p,.methodBlock p,.roomArticle p,.textPanel p,.listRow p,
  .truthRow p,.contactBox p{font-size:16.5px;line-height:1.58}
  .methodNote h3{font-size:21px;line-height:1.22}
  .methodBlock h2{font-size:clamp(30px,8.5vw,34px);line-height:1.09}
  .editorial h2{font-size:clamp(33px,9vw,37px);line-height:1.07}
  .roomArticle h2{font-size:clamp(33px,9vw,37px);line-height:1.07}
  .textPanel h2{font-size:clamp(32px,8.8vw,36px);line-height:1.08}
  .inherited h2{font-size:clamp(37px,10vw,41px);line-height:1.05}
  .contactBox h2{font-size:clamp(34px,9.3vw,38px);line-height:1.06}

  /* Keep service reference geometry, but let copy wrap naturally into exactly readable lines. */
  .servicesV17 .servicesHead h2{font-size:clamp(35px,9.7vw,39px);line-height:1.055}
  .serviceText h3{font-size:22px;line-height:1.1;white-space:normal;text-wrap:balance}
  .serviceText p{font-size:16px;line-height:1.48;text-wrap:pretty}

  /* Kicker / microcopy readability. */
  .kicker{font-size:11.5px;line-height:1.4;letter-spacing:.17em}
  .small{font-size:14.5px;line-height:1.5}

  /* Tap targets and dense navigation. */
  .mobileLinks a{font-size:22px;line-height:1.2;padding:11px 0}
  .menuBtn{min-height:44px;min-width:64px}
  .mobileClose{min-width:44px;min-height:44px}
  .primary{min-height:50px}

  /* Do not force editorial breaks intended for one narrow viewport. */
  .sentenceBreak,.mobileBreak{display:none}
}

@media(max-width:390px){
  .hero h1{font-size:40px}
  .pageHero h1{font-size:38px}
  .serviceItemV17{grid-template-columns:80px minmax(0,1fr) 22px;gap:10px}
  .serviceIconFrame{width:74px;height:104px}
  .serviceText h3{font-size:21px}
  .serviceText p{font-size:15.8px;line-height:1.46}
}

@media(max-width:360px){
  .wrap{width:calc(100% - 30px)}
  .hero h1{font-size:37px}
  .pageHero h1{font-size:35px}
  .statement h2,.sectionHead h2,.architecture h2,.material h2,
  .servicesHead h2,.academyTease h2,.finalCta h2{font-size:34px}
}

/* V17.3 UX pass — final accessibility/readability refinements */
.legal{font-size:11px;color:rgba(255,255,255,.66);line-height:1.5}
.footer p{color:rgba(255,255,255,.76)}
.foot a{color:rgba(255,255,255,.88)}

@media(max-width:700px){
  .pageHero h1{max-width:100%}
  .footer{padding-top:48px}
  .foot a{min-height:44px;display:flex;align-items:center;padding:7px 0}
  .legal{font-size:11px;letter-spacing:.09em;gap:12px}
  .material aside p{font-size:24px;line-height:1.25;text-wrap:balance}
}


/* V17.4 — responsive editorial UX pass
   Same semantic line-grouping and readability rules across mobile/tablet/desktop. */
html, body { margin-top: 0 !important; padding-top: 0 !important; }
body::before { display:none !important; content:none !important; }

/* Readability baseline */
p, li { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; overflow-wrap: normal; word-break: normal; }
.eyebrow, .kicker, .location, .meta { text-wrap: pretty; }

/* Prevent excessively long prose measures on wide screens */
.prose p, .method-copy p, .section-copy p, main p { max-width: 68ch; }

/* Mobile: preserve semantic units rather than accidental word wrapping */
@media (max-width: 479px) {
  body { font-size: 16px; }
  p { line-height: 1.56; }
  h1 { line-height: 1.02; }
  h2 { line-height: 1.06; }
  .location { line-height: 1.45; }
}

/* Tablet */
@media (min-width: 480px) and (max-width: 899px) {
  p { line-height: 1.55; }
  h1, h2 { text-wrap: balance; }
}

/* Desktop: don't let balance create tiny orphan fragments on very wide measures */
@media (min-width: 900px) {
  h1, h2 { text-wrap: balance; max-width: 18ch; }
  p { line-height: 1.52; }
}


/* ==================================================================
   V17.5 QA RELEASE CANDIDATE — authoritative responsive layer
   ================================================================== */

html, body {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--graphite-deep) !important;
  overflow-x: hidden;
}
body { min-width: 320px; }

/* Every light/dark content section paints its own surface. */
.statement,.methodIntro,.material,.servicesV17,.finalCta,.pageBody,.methodFlow,
.roomPage,.academyMethodWrap,.contactSection,.privacySection { background: var(--paper); }

/* Typography: legibility first. */
:root { --muted-qa:#5E6260; }
.statement .body,.lead,.prose,.pageHero p,.serviceText p,.servicesHead p,
.methodBlock p,.roomArticle p,.textPanel p,.listRow p,.truthRow p {
  color: var(--muted-qa);
}
.architecture .copy,.roomCopy p,.corridorCopy p,.academyTease p {
  color: rgba(244,244,242,.88);
}
.heroDeck { color: rgba(244,244,242,.80); }
.heroMeta { color: rgba(244,244,242,.76); }

p, li {
  text-wrap: pretty;
  orphans: 2;
  widows: 2;
}
h1,h2,h3 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/* Semantic title units: desktop/tablet flow naturally; mobile stacks intentionally. */
.titleUnit { display:inline; }
.titleUnit + .titleUnit::before { content:" "; }

/* Location: preserve place names as units. */
.heroMeta .metaLine { white-space:nowrap; }

/* Reading measure. */
.prose p,.methodBlock p,.roomArticle p,.textPanel p,.statement .body p,
.architecture .copy p,.material p,.roomCopy p,.corridorCopy p,.academyTease p {
  max-width: 66ch;
}

/* Mobile */
@media (max-width:700px) {
  .wrap { width:calc(100% - 36px); }

  .hero h1 {
    font-size:clamp(40px,10.9vw,44px);
    line-height:1.01;
    letter-spacing:-.038em;
    max-width:100%;
  }
  .heroDeck { font-size:18px; line-height:1.52; max-width:34ch; }
  .heroMeta {
    font-size:11.5px;
    line-height:1.55;
    letter-spacing:.15em;
    max-width:none;
  }
  .heroMeta .metaLine {
    display:block;
    white-space:nowrap;
  }

  .architecture h2 .titleUnit,
  .semanticTitle .titleUnit {
    display:block;
  }
  .architecture h2 .titleUnit + .titleUnit::before,
  .semanticTitle .titleUnit + .titleUnit::before {
    content:"";
  }

  .architecture h2 {
    font-size:clamp(37px,10.2vw,41px);
    line-height:1.04;
    letter-spacing:-.032em;
  }

  .statement h2,.sectionHead h2,.material h2,.servicesHead h2,
  .academyTease h2,.finalCta h2,.roomCopy h2 {
    font-size:clamp(35px,9.7vw,39px);
    line-height:1.055;
  }

  .methodBlock h2 {
    font-size:clamp(30px,8.4vw,34px);
    line-height:1.08;
  }

  .statement .body,.prose { font-size:17px; line-height:1.56; }
  .architecture .copy,.roomCopy p,.corridorCopy p,.academyTease p {
    font-size:17.5px;
    line-height:1.55;
  }
  .methodBlock p,.methodNote p,.roomArticle p,.textPanel p,.listRow p,
  .truthRow p,.contactBox p {
    font-size:16.5px;
    line-height:1.56;
  }

  /* Never reintroduce a fixed nowrap heading on phones. */
  .serviceText h3,.pageHero h1.compactMobile { white-space:normal !important; }
}

/* Narrow phones */
@media (max-width:390px) {
  .hero h1 { font-size:40px; }
  .heroMeta { font-size:11px; letter-spacing:.135em; }
  .architecture h2 { font-size:38px; }
}

/* Tablet */
@media (min-width:701px) and (max-width:980px) {
  .heroMeta .metaLine { display:inline; }
  .heroMeta .metaLine + .metaLine::before { content:" · "; }
  p { line-height:1.54; }
}

/* Desktop */
@media (min-width:981px) {
  .heroMeta .metaLine { display:inline; }
  .heroMeta .metaLine + .metaLine::before { content:" · "; }
  .architecture h2 { max-width:15ch; }
  .semanticTitle { max-width:19ch; }
  p { line-height:1.52; }
}


/* V17.5.1 — deterministic composition for the core manifesto quote */
.momentQuote .momentLine { display:block; }

/* Desktop/tablet: exactly two semantic lines. */
@media (min-width:701px) {
  .momentQuote {
    max-width:none !important;
    white-space:normal !important;
  }
  .momentQuote .momentLine { display:block; }
}

/* Mobile: allow only the first sentence to wrap if required. */
@media (max-width:700px) {
  .momentQuote {
    max-width:100% !important;
  }
  .momentQuote .momentLine1,
  .momentQuote .momentLine2 {
    display:block;
  }
}


/* V17.5.2 — ACTUAL pullquote element, deterministic two-line composition */
.pullquoteText {
  max-width: none !important;
  text-wrap: initial !important;
}
.pullquoteText .pullquoteLine {
  display: block;
  white-space: nowrap;
}

/* 390/430 mobile target: shrink enough to guarantee each sentence is one line. */
@media (min-width: 360px) and (max-width: 700px) {
  .pullquote p.pullquoteText {
    font-size: clamp(25px, 6.55vw, 29px) !important;
    line-height: 1.10 !important;
    letter-spacing: -.028em;
  }
}

/* Very narrow fallback: preserve content without horizontal overflow. */
@media (max-width: 359px) {
  .pullquote p.pullquoteText {
    font-size: 22px !important;
    line-height: 1.10 !important;
    letter-spacing: -.025em;
  }
}

/* Tablet/desktop: exactly two lines, larger editorial scale. */
@media (min-width: 701px) {
  .pullquote p.pullquoteText {
    font-size: clamp(38px, 4.2vw, 50px) !important;
    line-height: 1.08 !important;
  }
}



/* V17.7.1 — dark-surface contrast correction */
.inherited .truthRow p {
  color: rgba(244,244,242,.82) !important;
}
.inherited .truthRow b {
  color: rgba(244,244,242,.98);
}
.inherited > .wrap > p,
.inherited .wrap > p {
  color: rgba(244,244,242,.72);
}

/* V17.8 — deployment hardening: progressive contact intake */
.intakeBox{padding:38px}
.intakeContext{margin-bottom:26px}
.intakeEyebrow{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,244,242,.62);margin-bottom:9px}
.intakeForm{display:grid;gap:18px}
.field{display:grid;gap:7px}
.field label{font-size:13px;font-weight:700;color:rgba(244,244,242,.96)}
.field label span,.optionalDetails summary span{font-weight:500;color:rgba(244,244,242,.54);margin-left:6px}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box;border:1px solid rgba(244,244,242,.25);background:rgba(255,255,255,.055);color:var(--white);font:inherit;font-size:16px;line-height:1.35;border-radius:0;padding:12px 13px;outline:none}
.field textarea{resize:vertical;min-height:128px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(244,244,242,.72);box-shadow:0 0 0 2px rgba(244,244,242,.10)}
.field select option{color:#1f2120;background:#fff}
.optionalDetails{border-top:1px solid rgba(244,244,242,.18);border-bottom:1px solid rgba(244,244,242,.18);padding:0}
.optionalDetails summary{cursor:pointer;list-style:none;padding:16px 0;font-size:14px;font-weight:700;color:rgba(244,244,242,.94)}
.optionalDetails summary::-webkit-details-marker{display:none}
.optionalDetails summary::after{content:"+";float:right;font-size:18px;font-weight:400;color:rgba(244,244,242,.7)}
.optionalDetails[open] summary::after{content:"−"}
.dynamicFields{display:grid;gap:16px;padding:0 0 18px}
.formNote,.mailFallback{margin:0!important;font-size:13.5px!important;line-height:1.45!important;color:rgba(244,244,242,.62)!important}
.formStatus{min-height:0;font-size:14px;color:rgba(244,244,242,.9)}
.formStatus.error{color:#fff}
.intakeSubmit{justify-self:start;border:0;cursor:pointer;font:inherit}
@media(max-width:700px){.intakeBox{padding:28px 22px}.intakeForm{gap:16px}.field input,.field select,.field textarea{font-size:16px}}

/* V17.8 — restore approved manifesto hierarchy on phones: large, allowed to wrap */
.pullquoteText .pullquoteLine{display:block;white-space:normal!important}
@media (min-width:360px) and (max-width:700px){
  .pullquote p.pullquoteText{font-size:clamp(36px,9.5vw,42px)!important;line-height:1.06!important;letter-spacing:-.032em;max-width:10.5ch!important}
}
@media (max-width:359px){
  .pullquote p.pullquoteText{font-size:34px!important;line-height:1.06!important;letter-spacing:-.03em;max-width:10.5ch!important}
}
@media (min-width:701px){
  .pullquoteText .pullquoteLine{white-space:nowrap!important}
}

/* V17.9 — service-page editorial media */
.serviceHeroMedia{background:#171918;margin:0;overflow:hidden}
.serviceHeroMedia img{width:100%;height:clamp(360px,55vw,720px);object-fit:cover;object-position:center 48%}
.serviceFeature{padding:86px 0;background:var(--graphite-deep);color:var(--white)}
.serviceFeatureGrid{display:grid;grid-template-columns:1.06fr .94fr;gap:64px;align-items:center}
.serviceFeature.reverse .serviceFeatureGrid{grid-template-columns:.94fr 1.06fr}
.serviceFeature.reverse .serviceFeatureMedia{order:2}
.serviceFeatureMedia{margin:0;overflow:hidden;background:#1f2221}
.serviceFeatureMedia img{width:100%;aspect-ratio:3/2;object-fit:cover}
.serviceFeatureCopy h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-weight:500;font-size:clamp(39px,4.6vw,62px);line-height:1.02;letter-spacing:-.035em;margin:10px 0 22px}
.serviceFeatureCopy p{font-size:18px;line-height:1.58;color:rgba(244,244,242,.74);max-width:560px;margin:0 0 18px}
.serviceFeatureCopy .kicker{color:rgba(244,244,242,.58)}
.serviceProof{margin-top:30px;border-top:1px solid var(--line-dark)}
.serviceProof div{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:15px 0;border-bottom:1px solid var(--line-dark)}
.serviceProof b{font-size:13px;color:rgba(244,244,242,.95)}
.serviceProof span{font-size:15px;color:rgba(244,244,242,.65)}
.techBench{padding:82px 0;background:var(--paper-2)}
.techBenchGrid{display:grid;grid-template-columns:.88fr 1.12fr;gap:74px;align-items:start}
.techBench h2{font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:clamp(38px,4.8vw,62px);font-weight:500;line-height:1.03;letter-spacing:-.035em;margin:0}
.techBench .prose{font-size:18px}
.measureCallout{margin-top:28px;padding:24px 26px;border-left:3px solid var(--violet);background:rgba(255,255,255,.42)}
.measureCallout b{display:block;font-size:16px;color:var(--ink);margin-bottom:7px}
.measureCallout p{font-size:16px;line-height:1.55;color:var(--muted);margin:0}
@media(max-width:980px){
 .serviceFeatureGrid,.serviceFeature.reverse .serviceFeatureGrid,.techBenchGrid{grid-template-columns:1fr;gap:34px}
 .serviceFeature.reverse .serviceFeatureMedia{order:0}
}
@media(max-width:700px){
 .serviceHeroMedia img{height:58vh;min-height:390px;max-height:560px;object-position:61% center}
 .serviceFeature,.techBench{padding:62px 0}
 .serviceFeatureCopy h2,.techBench h2{font-size:clamp(34px,9vw,39px)}
 .serviceFeatureCopy p,.techBench .prose{font-size:17px}
 .serviceProof div{grid-template-columns:1fr;gap:5px}
 .serviceFeatureMedia img{aspect-ratio:4/3}
 .measureCallout{padding:21px 20px}
}

/* V17.9.2 — GuitarTech validated Erlewine hero */
.guitarHeroMedia{background:#171918;overflow:hidden}
.guitarHeroMedia img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;object-position:center}
@media(max-width:700px){.guitarHeroMedia img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}}
