@charset "UTF-8";
:root { --paper:#f9f9f6; --white:#ffffff; --ink:#171919; --muted:#505652; --subtle:#737975; --rule:#e0e3df; --dark:#1b2020; --accent:#8c1515; --max:1400px; --pad:clamp(24px,6.4vw,104px); --font:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; }
*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:auto; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--font); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.wrap { width:min(100%,var(--max)); margin-inline:auto; padding-inline:var(--pad); }
.skip-link { position:fixed; top:-80px; left:16px; z-index:999; background:var(--ink); color:#fff; padding:12px 16px; }
.skip-link:focus { top:12px; }
#mast { position:sticky; top:0; z-index:200; height:82px; background:rgba(249,249,246,.985); border-bottom:1px solid var(--rule); }
.mast-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; flex:none; align-items:center; line-height:1; }
.brand img { width:142px; height:auto; max-height:42px; object-fit:contain; display:block; }
.navlinks,.footer-links { display:flex; align-items:center; gap:clamp(15px,2.1vw,34px); }
.navlinks a { font-size:13px; font-weight:600; white-space:nowrap; }
.navlinks a[aria-current="page"] { text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:8px; text-decoration-thickness:2px; }
.navlinks a:hover:not(.navbtn), .text-cta:hover { color:var(--accent); }
.navlinks .navbtn, .navlinks .navbtn:visited, .navlinks .navbtn:hover, .navlinks .navbtn:focus-visible { display:inline-flex; align-items:center; gap:8px; background:var(--ink); color:#fff; font-size:13px; padding:13px 17px; text-decoration:none; }
.navlinks .navbtn:hover { background:#333b39; }
.cta-arrow { display:inline-block; font-weight:400; font-size:1.15em; line-height:1; transform:translateY(1px); }
.menu-toggle { display:none; align-items:center; gap:12px; min-height:44px; border:1px solid var(--rule); background:transparent; padding:9px 12px; cursor:pointer; }
.mobile-nav { display:none; }
.mobile-nav.is-open { display:flex; position:absolute; left:0; right:0; top:82px; flex-direction:column; background:var(--paper); padding:12px var(--pad) 23px; box-shadow:0 16px 32px rgba(0,0,0,.06); border-bottom:1px solid var(--rule); }
.mobile-nav a { padding:13px 0; font-size:18px; font-weight:550; display:flex; gap:8px; align-items:center; min-height:48px; }
.kicker,.smallcaps { font-size:11px; font-weight:680; letter-spacing:.14em; text-transform:uppercase; color:#6c716e; line-height:1.5; }
.kicker { display:flex; align-items:baseline; justify-content:space-between; gap:18px; }
.kicker span:first-child { color:var(--accent); }
.kicker span:last-child { text-align:right; }
.muted { color:var(--muted); }
em { color:#89908b; font-style:normal; font-weight:440; }
h1,h2,h3 { font-family:var(--font); font-weight:520; letter-spacing:-.018em; text-wrap:balance; }
p { text-wrap:pretty; }
.text-cta { display:inline-flex; align-items:baseline; gap:8px; font-size:15px; font-weight:630; padding:3px 0 5px; border-bottom:1px solid currentColor; line-height:1.5; }
.text-cta .cta-arrow { font-size:18px; }
/* Normalized editorial cadence: space belongs to meaning, not to every divider. */
.hero { padding-top:clamp(58px,7vw,96px); padding-bottom:40px; min-height:clamp(590px,70vh,850px); display:flex; flex-direction:column; }
.hero-intro h1 { font-size:clamp(80px,11vw,160px); line-height:1; letter-spacing:-.024em; margin:40px 0 0; }
.hero-foot { margin-top:auto; padding-top:58px; margin-bottom:55px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr); align-items:end; gap:clamp(30px,5vw,80px); }
.hero-foot>p { font-size:clamp(21px,2.15vw,30px); line-height:1.45; max-width:660px; margin:0; }
.hero-actions { display:flex; align-items:center; justify-content:flex-end; gap:22px; flex-wrap:wrap; }
.hero-whisper { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:10px; letter-spacing:.105em; font-weight:650; color:#5e6661; }
.story-panel { padding-block:clamp(72px,8vw,112px); }
.story-grid { display:grid; grid-template-columns:minmax(150px,.3fr) minmax(0,1fr); gap:clamp(26px,5vw,90px); align-items:start; }
.story-grid>.kicker { display:block; }
.story-grid .kicker span:last-child { margin-left:12px; }
.story-grid h2,.offers h2,.trust h2,.quiet-end h2 { font-size:clamp(54px,7.1vw,100px); line-height:1.09; letter-spacing:-.018em; margin:0 0 28px; max-width:1060px; }
.body-xl { font-size:clamp(20px,2.15vw,30px); line-height:1.48; max-width:760px; margin:0 0 20px; }
.story-panel .text-cta { margin-top:14px; }
.offers { padding-top:clamp(70px,7.8vw,112px); padding-bottom:clamp(72px,8.1vw,118px); }
.offers>h2 { margin:30px 0 45px; }
.line-list { display:grid; gap:0; }
.line-item { display:grid; grid-template-columns:40px minmax(235px,1.2fr) minmax(220px,1fr) minmax(140px,190px); align-items:start; column-gap:clamp(20px,3vw,50px); row-gap:12px; padding:25px 0; }
.line-item + .line-item { margin-top:7px; }
.line-item h3 { font-size:clamp(28px,3vw,43px); line-height:1.18; margin:0; letter-spacing:-.008em; }
.line-item p { color:var(--muted); font-size:17px; line-height:1.57; margin:2px 0 0; max-width:470px; }
.line-item .text-cta { justify-self:end; font-size:13px; white-space:nowrap; }
.ordinal { font:600 11px/1.5 ui-monospace,Consolas,monospace; color:#5e6661; }
.proof { color:#f7f7f4; background:var(--dark); }
.proof-inner { padding-top:clamp(85px,9vw,125px); padding-bottom:clamp(86px,9vw,130px); }
.proof .kicker,.proof .kicker span:first-child { color:#bdc4be; }
.proof h2 { font-size:clamp(62px,7.9vw,112px); line-height:1.06; margin:36px 0 35px; }
.proof em { color:#aeb6b2; }
.proof-deck { max-width:760px; color:#d4d9d6; font-size:clamp(21px,2.1vw,29px); line-height:1.48; }
.proof-numbers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:60px; }
.proof-numbers>div { padding:8px 0; }
.proof-numbers strong { display:block; font-size:clamp(65px,7vw,102px); font-weight:480; letter-spacing:-.028em; }
.proof-numbers span { display:block; font-size:15px; color:#d4d9d6; }
.proof-bottom { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-top:42px; }
.proof-bottom small,.measurement { font-size:12px; line-height:1.6; color:#bec4c0; max-width:445px; }
.proof .text-cta { color:#fff; }
.trust { padding-block:clamp(77px,8vw,118px); }
.trust h2 { margin:32px 0 45px; }
.trust-points { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,4vw,55px); }
.trust-points p { font-size:19px; line-height:1.5; max-width:320px; }
.audiences { background:#eeefeb; padding-block:clamp(75px,8vw,115px); }
.audiences .kicker,.audiences .smallcaps { color:#5e6661; }
.audience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(40px,8vw,125px); margin-top:38px; }
.audience-grid h2 { font-size:clamp(40px,4.7vw,66px); line-height:1.12; margin:24px 0 22px; }
.audience-grid p { font-size:19px; line-height:1.53; max-width:500px; margin:0 0 24px; }
.closing { padding-top:clamp(70px,8vw,110px); }
.closing-intro { display:grid; grid-template-columns:minmax(150px,.32fr) minmax(0,1fr); gap:clamp(25px,6vw,95px); padding-bottom:clamp(68px,8vw,118px); }
.closing-intro h2 { font-size:clamp(57px,7.5vw,107px); line-height:1.07; margin:0; }
.closing-intro p { grid-column:2; margin:28px 0 0; font-size:21px; line-height:1.52; color:var(--muted); }
.wall-image { height:clamp(350px,52vw,680px); width:100%; margin:0; background-image:url('/assets/engraved-wall.webp'); background-size:cover; background-position:center center; }
.closing-end { padding-block:40px 55px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.closing-end p { font-size:21px; margin:0; }
.subhero { padding-top:clamp(75px,8vw,110px); padding-bottom:clamp(67px,8vw,110px); }
.subhero h1 { font-size:clamp(69px,8.6vw,119px); line-height:1.05; margin:35px 0 26px; letter-spacing:-.019em; max-width:1120px; }
.subdeck { font-size:clamp(21px,2.1vw,29px); line-height:1.51; max-width:820px; color:#4d5650; margin:0 0 28px; }
.quiet-end { padding-block:clamp(75px,8vw,116px); }
.quiet-end h2 { margin:30px 0 24px; }
.quiet-end p { max-width:850px; font-size:clamp(20px,2.15vw,29px); line-height:1.53; }
.thinking-essay { padding-block:clamp(75px,8vw,115px); }
.thinking-essay h2 { font-size:clamp(60px,7.5vw,107px); margin:37px 0 28px; line-height:1.07; }
.essay-copy { max-width:830px; margin-left:auto; }
.essay-copy p { font-size:clamp(20px,2.05vw,27px); line-height:1.63; margin-bottom:24px; }
.essay-copy .pullquote { font-size:clamp(32px,4vw,58px); line-height:1.27; margin:42px 0 0; }
.contact-zone { padding:70px 0 100px; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,7vw,120px); }
.contact-layout h2 { font-size:clamp(48px,5.6vw,79px); line-height:1.14; margin:25px 0; }
.contact-layout p { font-size:19px; line-height:1.59; max-width:500px; }
.contact-layout p.small { font-size:13px; margin-top:35px; }
.inquiry-form label { display:block; font-size:14px; font-weight:610; margin-bottom:25px; }
.fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.inquiry-form input,.inquiry-form select,.inquiry-form textarea { display:block; width:100%; margin-top:10px; border:1px solid #8a918b; background:#fff; padding:15px; font-size:16px; font-weight:400; color:var(--ink); border-radius:0; }
.inquiry-form textarea { resize:vertical; line-height:1.55; }
.inquiry-form button { display:inline-flex; gap:8px; align-items:center; border:0; background:var(--ink); color:white; padding:15px 20px; font-weight:600; cursor:pointer; }
.inquiry-form button:hover { background:#303734; }
.form-status { margin-top:15px; font-size:14px!important; }
.brief-result { margin-top:25px; padding:25px; background:#eceee9; }
.brief-result pre { white-space:pre-wrap; word-break:break-word; font-size:13px; line-height:1.6; }
.site-footer { border-top:1px solid var(--rule); padding:48px 0 30px; }
.footer-top { display:flex; justify-content:space-between; align-items:start; gap:35px; }
.footer-links { gap:18px; flex-wrap:wrap; }
.footer-links a { font-size:13px; }
.footer-bottom { display:flex; justify-content:space-between; gap:30px; margin-top:44px; color:#5e6661; font-size:12px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:12px; color:#5e6661; margin-bottom:27px; }
.breadcrumbs a:hover { color:var(--accent); }
/* Larger touch targets without changing visual layout (negative margin offsets the padding). */
@media(max-width:860px){ .breadcrumbs a{padding-block:10px;margin-block:-10px;} .footer-links a{padding-block:7px;margin-block:-7px;} }
/* AEO-friendly factual answers: no cards, no decorative dividers. */
.answer-section { padding-block:clamp(72px,7vw,110px); }
.answer-section h2 { font-size:clamp(44px,5.3vw,76px); line-height:1.1; margin:25px 0 44px; max-width:1000px; }
.answer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 7vw; }
.answer-grid article h3 { margin:0 0 13px; font-size:clamp(23px,2.2vw,32px); line-height:1.24; }
.answer-grid article p { font-size:18px; line-height:1.6; color:#4d5650; margin:0; max-width:560px; }
.offices address { font-style:normal; }
.offices .text-cta { margin-top:16px; }
.work-feature { display:grid; grid-template-columns:.8fr 1.2fr; gap:5vw; align-items:start; padding-block:80px; }
.work-feature h2 { font-size:clamp(45px,5vw,75px); line-height:1.1; margin:0 0 25px; }
.work-feature p { font-size:21px; line-height:1.6; margin:0 0 22px; }
.work-feature .text-cta { margin-top:10px; }
.work-feature--dark { background:var(--dark); color:#fff; }
.work-feature--dark p { color:#d6dcd8; }
.proof :focus-visible,.work-feature--dark :focus-visible { outline-color:#fff; }
@media(min-width:861px){ .mobile-nav.is-open{display:none;} }
@media(max-width:1150px){ .navlinks{gap:14px;} .navlinks a{font-size:12px;} .line-item{grid-template-columns:35px 1fr 1fr;} .line-item .text-cta{grid-column:2/span 2;justify-self:start;} }
@media(max-width:860px){ #mast{height:76px;} .navlinks{display:none;} .menu-toggle{display:inline-flex;} .mobile-nav.is-open{top:76px;} .hero{min-height:650px;} .hero-foot{grid-template-columns:1fr;gap:25px;} .hero-actions{justify-content:flex-start;} .story-grid{grid-template-columns:1fr;gap:28px;} .line-item{grid-template-columns:32px 1fr;} .line-item p,.line-item .text-cta{grid-column:2;} .proof-bottom{display:block;} .proof-bottom small{display:block;margin-top:24px;} .trust-points{grid-template-columns:1fr 1fr;} .closing-intro{grid-template-columns:1fr;gap:18px;} .closing-intro p{grid-column:1;} .contact-layout{grid-template-columns:1fr;gap:48px;} .work-feature{grid-template-columns:1fr;} }
@media(max-width:620px){ :root{--pad:24px;} .brand img{width:128px;} .hero{min-height:600px;padding-top:65px;padding-bottom:28px;} .hero-intro h1{font-size:clamp(66px,14.4vw,88px);margin-top:50px;line-height:1.02;letter-spacing:-.023em;} .hero-foot{padding-top:42px;margin-bottom:40px;} .hero-foot>p{font-size:20px;} .hero-actions{gap:18px;} .hero-whisper{font-size:9px;line-height:1.5;} .story-panel,.offers,.trust,.audiences,.thinking-essay,.answer-section {padding-block:65px;} .story-grid h2,.offers h2,.trust h2,.quiet-end h2{font-size:clamp(44px,11.1vw,65px);} .body-xl{font-size:20px;} .line-item{padding:19px 0;} .line-item h3{font-size:29px;} .line-item p{font-size:16px;} .proof-inner{padding-block:77px 88px;} .proof h2{font-size:clamp(49px,11.8vw,70px);} .proof-deck{font-size:20px;} .proof-numbers{grid-template-columns:1fr;gap:18px;margin-top:36px;} .proof-numbers strong{font-size:70px;} .proof-bottom{margin-top:30px;} .trust-points{grid-template-columns:1fr;gap:9px;} .trust-points p{font-size:18px;} .audience-grid{grid-template-columns:1fr;gap:48px;margin-top:28px;} .audience-grid h2{font-size:44px;} .closing{padding-top:72px;} .closing-intro{padding-bottom:68px;} .closing-intro h2{font-size:clamp(50px,11.7vw,72px);} .closing-intro p{font-size:19px;} .wall-image{height:400px;background-image:url('/assets/engraved-wall-mobile.webp');background-position:center center;} .closing-end{display:block;padding-block:32px 46px;} .closing-end p{font-size:18px;} .closing-end a{margin-top:16px;} .subhero{padding-top:63px;padding-bottom:62px;} .subhero h1{font-size:clamp(49px,12vw,73px);margin:29px 0 22px;} .subdeck{font-size:20px;} .quiet-end{padding-block:65px;} .thinking-essay h2{font-size:clamp(44px,11vw,67px);margin:30px 0;} .essay-copy p{font-size:19px;} .essay-copy .pullquote{font-size:34px;} .contact-zone{padding:66px 0 78px;} .fields{grid-template-columns:1fr;gap:0;} .footer-top{display:block;} .footer-links{margin-top:28px;gap:15px;} .footer-bottom{display:block;line-height:2;margin-top:27px;} .footer-bottom span{display:block;} .answer-section h2{font-size:44px;margin:20px 0 30px;} .answer-grid{grid-template-columns:1fr;gap:30px;} .answer-grid article h3{font-size:24px;} .answer-grid article p{font-size:17px;} .work-feature{padding-block:62px;} .work-feature p{font-size:19px;} }
@media(prefers-reduced-motion:reduce){ *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;} }
