/* Exegesis: quiet surfaces, open service rows, and a typographic identity. */
.service-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.service-panel{position:relative;display:flex;flex-direction:column;min-width:0;padding:30px 32px 23px;border:1px solid var(--line);border-radius:8px;background:var(--surface);transition:border-color .2s,background .2s}
.service-panel h3{font-size:25px;font-weight:500;letter-spacing:-.04em;line-height:1.25}
.service-panel h3 a{display:flex;justify-content:space-between;gap:20px;align-items:center}
.service-panel h3 a:after{content:'';position:absolute;inset:0;border-radius:8px}
.service-panel h3 a:focus-visible{outline:0}.service-panel:focus-within{outline:2px solid var(--primary);outline-offset:4px}
.service-panel h3 span{font-size:24px;font-weight:400;color:var(--primary);transition:transform .2s}
.service-panel p{font-size:15px;line-height:1.8;margin-top:19px;margin-bottom:28px;max-width:430px}
.service-areas{margin-top:auto;padding-top:17px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.7;letter-spacing:.005em}
.service-panel:hover{border-color:var(--primary);background:var(--soft)}.service-panel:hover h3 span{transform:translate(2px,-2px)}
@media(max-width:700px){.service-collection{grid-template-columns:1fr;gap:14px}.service-panel{padding:25px 24px 20px}.service-panel h3{font-size:23px}.service-panel p{margin-top:16px;margin-bottom:23px}.service-areas{font-size:12px}}
@media(prefers-reduced-motion:reduce){.service-panel:hover h3 span{transform:none}}
html{scroll-padding-top:24px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}main{min-height:60vh}
:root{--bg:#f7f8f6;--surface:#fff;--text:#202c31;--muted:#58666a;--line:#d8dedb;--primary:#176c77;--primary-hover:#115761;--tint:#e6efed;--soft:#edf1ee;--visual:#f7f8f6;--shadow:none}
:root[data-theme=dark]{--bg:#111719;--surface:#182124;--text:#e9eeeb;--muted:#a2b0b0;--line:#344144;--primary:#8dcdc8;--primary-hover:#a7ded9;--tint:#203537;--soft:#192427;--visual:#111719;--shadow:none}
.brand{font-size:20px;letter-spacing:-.055em;font-weight:600;gap:12px}.brand-systems{font-weight:400}.brand-mark,.footer-brand .brand-mark{background:none;color:var(--text);padding:0;width:30px;height:32px;border-radius:0}.brand-mark svg{width:100%;height:100%}
.button,.button.small{border-radius:4px;box-shadow:none}.button{font-weight:500}.theme-toggle{border:0;background:transparent;border-radius:4px}.site-header nav a[aria-current=page]{color:var(--text);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.hero{grid-template-columns:1fr 1fr;gap:46px;padding-block:70px 76px;min-height:540px}.hero h1{font-size:clamp(64px,6.8vw,88px);font-weight:500;letter-spacing:-.075em;line-height:1.02}.hero h1 .hero-stop{color:var(--primary)}.hero-copy>p{font-size:17px;max-width:475px;line-height:1.75;margin-top:26px}.hero-actions{gap:27px;align-items:center;margin-top:28px}.hero-about{font-size:14px}.hero-visual{height:440px;filter:grayscale(.7);mask-image:radial-gradient(ellipse at center,#000 38%,transparent 72%)}
.section{padding-block:58px}.section-heading h2{font-size:29px;font-weight:500;letter-spacing:-.04em}.section-heading>p{max-width:620px}.section-heading{margin-bottom:28px}.text-link{font-weight:500}.text-link span{transition:transform .2s}.text-link:hover span{transform:translateX(3px)}
.service-grid{display:block;border:0;border-radius:0;background:none;overflow:visible}.service-card{display:grid;grid-template-columns:1fr 1.55fr auto;gap:30px;align-items:baseline;padding:27px 0;border:0!important;border-top:1px solid var(--line)!important;background:none}.service-card h3{grid-column:1;margin:0;font-size:22px;font-weight:500;letter-spacing:-.03em}.service-card p{grid-column:2;margin:0;font-size:15px;max-width:500px}.service-card .text-link{grid-column:3;margin:0;padding:0;font-size:13px;align-self:center;white-space:nowrap}.service-card:hover{background:transparent;transform:none;box-shadow:none}.service-card:hover h3{color:var(--primary)}
.audience-section{display:grid;grid-template-columns:1fr 2fr;gap:55px;align-items:start}.audience-section .section-heading h2{font-size:27px}.audience-stack{gap:35px}.audience-stack article{border:0;padding:0;background:transparent}.audience-stack h3{font-size:20px;font-weight:500}.audience-stack p{margin-block:15px 20px}.audience-stack .text-link{font-size:13px}
.engagement-section{display:grid;grid-template-columns:1fr 1fr;gap:70px}.engagement-section .section-heading>p{font-size:15px;margin-block:20px}.engagement-details{margin:0}.engagement-details>div{padding-block:19px;border-bottom:1px solid var(--line)}.engagement-details>div:first-child{padding-top:0}.engagement-details dt{font-weight:500;font-size:17px}.engagement-details dd{margin:7px 0 0;color:var(--muted);font-size:15px;line-height:1.75}
.cta-panel{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:none;padding:37px 0;margin-top:0;margin-bottom:0}.cta-panel h2{font-weight:500;font-size:28px}.site-footer{border-top:0;padding-block:40px}.footer-brand{font-size:18px}.footer-brand .brand-mark{width:24px;height:26px}
.page-heading h1{font-weight:500;letter-spacing:-.05em}.scope-panel,.inquiry-form,.deliverables-panel,.about-focus article{border-radius:4px;box-shadow:none}.scope-panel{background:var(--soft)}.detail-heading{margin-bottom:40px}.focus-list li:before{content:'—';font-weight:400}.step{border-radius:0;background:none;border-top:2px solid var(--primary);justify-content:start}.form-intro p{border-radius:3px;background:var(--soft)}.field input,.field select,.field textarea,.inquiry-review textarea{border-radius:3px}.about-focus article{background:transparent}.inquiry-aside h2{font-weight:500}
@media(max-width:1000px){.hero{gap:24px}.hero h1{font-size:68px}.hero-visual{height:400px}.service-card{grid-template-columns:1fr 1.6fr;gap:15px 30px}.service-card .text-link{grid-column:2}.audience-section{grid-template-columns:1fr;gap:0}.audience-section .section-heading h2 br{display:none}.engagement-section{gap:40px}}
@media(max-width:700px){.brand{font-size:18px}.hero{grid-template-columns:1fr;gap:0;padding-block:40px 16px}.hero h1{font-size:clamp(60px,15vw,78px)}.hero-copy>p{font-size:16px;margin-top:24px}.hero-visual{height:260px;margin-top:12px}.hero-actions{gap:22px}.section{padding-block:37px}.section-heading h2{font-size:26px}.service-card{grid-template-columns:1fr;padding:25px 0;gap:13px}.service-card h3,.service-card p,.service-card .text-link{grid-column:1}.service-card h3{font-size:22px}.service-card .text-link{margin-top:3px}.audience-stack{grid-template-columns:1fr;gap:28px}.audience-stack article{padding:0}.audience-stack article+article{border-top:1px solid var(--line);padding-top:26px}.audience-section .section-heading h2{font-size:26px}.engagement-section{grid-template-columns:1fr;gap:0}.engagement-section .section-heading{margin-bottom:30px}.cta-panel{padding-block:30px}.cta-panel h2{font-size:26px}.site-footer{padding-block:30px}.page-heading h1{font-size:35px}.inquiry-form{padding:22px}}
/* Inner-page rhythm and keyboard/touch affordances. */
.back-link{display:inline-flex;gap:9px;align-items:center;margin-bottom:28px}.back-link:hover{text-decoration:underline;text-underline-offset:4px}
.detail-heading{max-width:780px;margin-bottom:44px}.detail-heading p{max-width:730px}.detail-layout{gap:64px}.detail-content h2{font-size:21px;font-weight:500;letter-spacing:-.025em}.detail-content section{padding-block:27px}.detail-content section:first-child{padding-top:23px}.detail-content p,.focus-list{font-size:15px;line-height:1.8}.focus-list{gap:9px}
.scope-panel{padding:27px;background:transparent;border:0;border-left:1px solid var(--line);border-radius:0}.scope-panel h2{font-size:19px;font-weight:500}.scope-panel p{font-size:14px;line-height:1.8}.scope-panel .button{gap:10px;padding-inline:16px;font-size:13px}.related{margin-top:27px;padding-top:23px}.related h3{font-weight:500}.related a{padding-block:10px}.related a:hover{text-decoration:underline;text-underline-offset:4px}
.about-method{padding-top:48px}.about-method .process-grid{grid-template-columns:1fr;gap:0}.about-method .process-grid article{display:grid;grid-template-columns:40px 210px 1fr;gap:24px;padding-block:24px;border-top:1px solid var(--line)}.about-method .step{margin:0;border:0;color:var(--muted);width:auto;height:auto;display:block;font-size:13px;padding-top:3px}.about-method .process-grid h3{margin:0;font-size:19px;font-weight:500;line-height:1.5}.about-method .process-grid p{line-height:1.8}.about-overview h2,.about-method>h2{font-weight:500}.about-focus{margin-top:32px}.about-focus article{padding:26px 0;border:0;border-top:1px solid var(--line)}.about-focus h2{font-weight:500;font-size:21px}.about-focus p{font-size:15px}
.deliverables-panel{background:transparent;padding:32px 0 0;border:0;border-top:1px solid var(--line);border-radius:0}.deliverables-panel>h2{font-size:25px;font-weight:500}.deliverables-grid h3{font-weight:500;font-size:18px}
.inquiry-aside{padding-top:0}.inquiry-aside h2{font-size:21px}.inquiry-aside li{font-size:15px;margin-bottom:13px}.inquiry-aside h3{font-weight:500;font-size:18px}.inquiry-aside p{font-size:15px}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary)}
.site-header .theme-toggle{width:44px;height:44px;padding:12px}.site-header .button.small{min-height:42px}.footer-links a{padding-block:8px}.button:focus-visible,.text-link:focus-visible{outline-width:2px}.footer-links{align-items:center;padding-top:0}
@media(max-width:1000px){.detail-layout{gap:30px}.about-method .process-grid article{grid-template-columns:25px 170px 1fr;gap:20px}}
@media(max-width:700px){.site-header{column-gap:8px}.header-actions{gap:4px}.detail-heading{margin-bottom:27px}.detail-layout{gap:12px}.scope-panel{border-left:0;border-top:1px solid var(--line);padding:27px 0 0}.scope-panel .button{min-height:46px}.about-method{padding-top:32px}.about-method .process-grid article{grid-template-columns:25px 1fr;gap:7px 15px;padding-block:23px}.about-method .step{grid-row:1/3}.about-method .process-grid p{grid-column:2}.about-focus{gap:0;margin-top:20px}.about-focus article{padding-block:23px}.inquiry-aside{padding-top:25px;border-top:1px solid var(--line)}.deliverables-panel{padding-top:26px}.deliverables-grid{gap:22px}}
@media(prefers-reduced-motion:reduce){.text-link:hover span{transform:none}}
