/* Approved local landing-page-design pass. Fonts and icons are self-hosted. */
@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/manrope-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/manrope-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --space-0:0;--space-25:2px;--space-50:4px;--space-75:8px;--space-100:12px;
  --space-200:16px;--space-300:24px;--space-400:32px;--space-500:40px;
  --space-600:48px;--space-700:64px;--space-800:80px;--space-900:96px;
  --motion:cubic-bezier(.22,1,.36,1);--motion-enter:700ms;--motion-position:500ms;--motion-feedback:300ms;
}
html{scrollbar-gutter:stable}
body{font-family:var(--font);font-size:1rem;line-height:1.5;font-weight:400}
button,input{font:inherit}
.heading-1{font-size:3.75rem;line-height:1;font-weight:600}
.heading-2{font-size:3rem;line-height:1;font-weight:600}
.heading-3{font-size:2.25rem;line-height:2.5rem;font-weight:600}
.heading-4{font-size:1.875rem;line-height:2.25rem;font-weight:600}
.heading-5{font-size:1.5rem;line-height:2rem;font-weight:600}
.heading-6{font-size:1.25rem;line-height:1.75rem;font-weight:600}
.title-1{font-size:1.25rem;line-height:1.75rem;font-weight:500}
.title-2{font-size:1.125rem;line-height:1.75rem;font-weight:500}
.title-3{font-size:1rem;line-height:1.5rem;font-weight:500}
.title-4{font-size:.875rem;line-height:1.25rem;font-weight:500}
.title-5{font-size:.75rem;line-height:1rem;font-weight:500}
.body-1{font-size:1rem;line-height:1.5rem;font-weight:600}
.body-2{font-size:1rem;line-height:1.5rem;font-weight:500}
.body-3{font-size:1rem;line-height:1.5rem;font-weight:400}
.body-4{font-size:.875rem;line-height:1.25rem;font-weight:600}
.body-5{font-size:.875rem;line-height:1.25rem;font-weight:500}
.body-6{font-size:.875rem;line-height:1.25rem;font-weight:400}
.body-7{font-size:1.125rem;line-height:1.75rem;font-weight:400}
.button-lg{font-size:1.125rem;line-height:1.75rem;font-weight:600}
.button-md{font-size:1rem;line-height:1.5rem;font-weight:600}
.button-sm{font-size:.875rem;line-height:1.25rem;font-weight:600}
.button-xsm{font-size:.75rem;line-height:1rem;font-weight:600}
.caption-1{font-size:.875rem;line-height:1.25rem;font-weight:500}
.caption-2{font-size:.875rem;line-height:1.25rem;font-weight:400}
.caption-3{font-size:.75rem;line-height:1rem;font-weight:600}
.caption-4{font-size:.75rem;line-height:1rem;font-weight:500}
.caption-5{font-size:.75rem;line-height:1rem;font-weight:400}
h1,h2,h3,h4{text-wrap:balance;overflow-wrap:break-word}
p,li,dd{text-wrap:pretty}
a,button,summary{transition:transform var(--motion-position) var(--motion),opacity var(--motion-feedback) var(--motion)}
.button{min-height:44px;padding:var(--space-75) var(--space-100);gap:var(--space-75);border-radius:4px;position:relative}
.button:hover,.text-link:hover{opacity:.9}
.button:active,button:not(.page-mascot):active{transform:scale(.98)}
.icon{display:inline-block;flex:none;width:16px;height:16px;background:currentColor;mask:var(--icon) center/contain no-repeat;vertical-align:middle}
.icon-arrow-down{--icon:url('assets/icons/arrow-down.svg')}
.icon-arrow-up{--icon:url('assets/icons/arrow-up.svg')}
.icon-arrow-up-right{--icon:url('assets/icons/arrow-up-right.svg')}
.icon-copy{--icon:url('assets/icons/copy.svg')}
.icon-caret-right{--icon:url('assets/icons/caret-right.svg')}
.icon-check{--icon:url('assets/icons/check.svg')}
summary{display:flex;gap:var(--space-75);align-items:baseline;list-style:none;min-height:44px}
summary::-webkit-details-marker{display:none}
summary::marker{content:''}
summary .icon{align-self:center;color:var(--accent);transition:transform var(--motion-position) var(--motion)}
details[open]>summary .icon{transform:rotate(90deg)}
.site-header{position:sticky;top:var(--space-200);width:max-content;max-width:calc(100% - 32px);margin:var(--space-200) auto 0;border:1px solid var(--line);border-radius:16px;background:rgb(24 24 24 / .9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:40}
.header-inner.container{width:auto;min-height:64px;padding:var(--space-75) var(--space-300);gap:var(--space-300);flex-wrap:nowrap}
.main-nav{gap:var(--space-200);margin-left:var(--space-300);flex-wrap:wrap}
.main-nav a{position:relative;white-space:nowrap}
.main-nav a[aria-current='location']{color:var(--accent)}
.main-nav a[aria-current='location']:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--accent)}
.header-controls{gap:var(--space-100)}
.menu-toggle{gap:var(--space-75);align-items:center;padding:var(--space-75) var(--space-100);border-radius:4px}
.menu-glyph{position:relative;display:inline-block;width:16px;height:16px;flex:none}
.menu-glyph span{position:absolute;left:0;right:0;top:7px;height:2px;background:currentColor;transform:translateY(-3px);transition:transform var(--motion-position) var(--motion)}
.menu-glyph span+span{transform:translateY(3px)}
.menu-toggle[aria-expanded='true'] .menu-glyph span,.menu-close .menu-glyph span{transform:rotate(45deg)}
.menu-toggle[aria-expanded='true'] .menu-glyph span+span,.menu-close .menu-glyph span+span{transform:rotate(-45deg)}
.mobile-menu-panel{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:var(--space-300);border:0;background:rgb(0 0 0 / .97);color:var(--text);backdrop-filter:blur(24px);overflow-y:auto;overscroll-behavior:contain}
.mobile-menu-panel::backdrop{background:rgb(0 0 0 / .7);backdrop-filter:blur(8px)}
.mobile-menu-panel[open]{display:flex;flex-direction:column}
.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-200)}
.menu-close{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-100);min-height:44px;padding:var(--space-75) var(--space-100);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:4px}
.mobile-nav{display:flex;flex-direction:column;gap:var(--space-100);margin-block:var(--space-600);align-items:flex-start}
.mobile-nav a{display:block;padding-block:var(--space-75);max-width:100%;min-height:44px}
.mobile-nav a[aria-current='location']{color:var(--accent);text-decoration:underline;text-underline-offset:8px}
.mobile-menu-note{margin-top:auto;color:var(--muted);padding-bottom:env(safe-area-inset-bottom,0px)}
body.menu-open{overflow:hidden}
.hero{padding-top:var(--space-600)}
.hero h1,.hero-proposition{max-width:680px}
.hero h1{width:fit-content;background-image:linear-gradient(90deg,#FFFFFF,#9B9B9B);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero h1 .gold{color:inherit}
.hero-proof{color:var(--accent);max-width:52ch;margin-top:var(--space-300)}
.hero-proposition{max-width:43ch}
.hero-portrait{aspect-ratio:auto;overflow:hidden;background:var(--surface);border-radius:8px}
.hero-portrait img{height:auto;aspect-ratio:.94;object-fit:cover;object-position:center}
.hero-portrait:after{display:none}
.hero-portrait figcaption{position:static;padding:var(--space-200) var(--space-300);background:var(--surface);gap:var(--space-200);color:var(--muted)}
.tagline-section{padding-block:var(--space-900);border-top:1px solid var(--line)}
.tagline{max-width:680px;margin-inline:auto;letter-spacing:-.025em}
.tagline-line{display:block}
.tagline-line+.tagline-line{margin-top:var(--space-300)}
.tagline-word{display:inline-block;opacity:1;transition:opacity var(--motion-position) var(--motion)}
.tagline-ready .tagline-word{opacity:.3}
.tagline-ready .tagline-word.is-lit{opacity:1}
.service-card{border:0;padding:var(--space-300);border-radius:8px;background:var(--surface);grid-template-columns:24px minmax(0,1fr);gap:var(--space-200)}
.services-grid{gap:var(--space-300)}
#services .service-card{background:var(--surface)}
.service-card h3{font-weight:600}
.section-end{border:0;margin-top:var(--space-300)}
.method-step{border:0}
.ninety-card{padding:var(--space-300);background:var(--surface);border:0;border-radius:8px}
.ninety-card:first-child{border:0}
.impact-board{background:var(--surface);border:0}
.impact-group+.impact-group{border:0;margin-top:var(--space-75)}
.impact-category{border:0}
.impact-board .metric-card{border:0!important;background:var(--bg);border-radius:4px;padding:var(--space-300)}
.impact-pair{gap:var(--space-75)}
.impact-group{gap:var(--space-75)}
.faq-block{margin-top:var(--space-700)}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-400) var(--space-600);margin-top:var(--space-400)}
.faq-item{min-width:0}
.faq-item h4{margin:0 0 var(--space-100);color:var(--text)}
.faq-item p{color:var(--muted)}
.contact-prompt{margin-top:var(--space-300);color:var(--muted);max-width:50ch}
.email-link{display:inline-flex;align-items:center;gap:var(--space-100)}
.email-tools{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-75) var(--space-300);margin-top:var(--space-100)}
html:not(.js) .email-tools{display:none}
.copy-email{color:var(--muted);border:0;background:transparent;padding:var(--space-75) 0}
.copy-email:hover{color:var(--text)}
.copy-status{min-height:20px;margin:0;color:var(--accent)}
.site-footer a{gap:var(--space-75)}
.error-page .site-header{position:relative}
.error-main{min-height:65vh;padding-block:var(--space-900);max-width:680px}
.error-main h1{margin-top:var(--space-300)}
.error-main p:not(.eyebrow){margin-top:var(--space-300);color:var(--muted)}
.error-actions{display:flex;flex-wrap:wrap;gap:var(--space-200);margin-top:var(--space-400)}
@media(max-width:1100px){
 .site-header{width:calc(100% - 32px)}
 .header-inner.container{padding-inline:var(--space-200);gap:var(--space-200)}
 .js .main-nav{display:none}
 .js .menu-toggle{display:inline-flex}
 .header-controls{margin-left:auto}
 .impact-category{border:0}
 html:not(.js) .site-header{position:relative}
 html:not(.js) .header-inner{flex-wrap:wrap}
 html:not(.js) .main-nav{display:grid;width:100%;margin:0;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
 .method-step,.method-step:last-child{border:0}
 .method-step+.method-step{padding-top:var(--space-200)}
 .ninety-card,.ninety-card:last-child{border:0;padding:var(--space-300)}
 .faq-grid{grid-template-columns:1fr;gap:var(--space-400)}
 .tagline-section{padding-block:var(--space-700)}
}
@media(max-width:600px){
 .body-7{font-size:1rem;line-height:1.5rem}
 .heading-1{font-size:2.25rem;line-height:2.5rem}
 .heading-2,.heading-3{font-size:1.875rem;line-height:2.25rem}
 .heading-5{font-size:1.25rem;line-height:1.75rem}
 .hero-proposition.title-1{font-size:1.125rem;line-height:1.75rem}
 .wordmark.title-1{font-size:1rem;line-height:1.5rem}
 .site-header{top:var(--space-75);margin-top:var(--space-75)}
 .header-inner.container{padding:var(--space-75) var(--space-100);gap:var(--space-75);flex-wrap:wrap}
 .header-controls{gap:var(--space-50)}
 .language-switch button{min-width:44px;min-height:44px}
 .menu-toggle{padding:var(--space-75);gap:var(--space-75)}
 .hero{padding-block:var(--space-400)}
 .hero-proof{margin-top:var(--space-200)}
 .hero-portrait img{aspect-ratio:1.06}
 .hero-portrait figcaption{padding:var(--space-200)}
 .hero-actions{gap:var(--space-100);flex-wrap:wrap}
 .hero-actions .button{flex:1 1 auto}
 .service-card{padding:var(--space-300) var(--space-200)}
 .tagline{max-width:24ch}
 .tagline-line+.tagline-line{margin-top:var(--space-300)}
 .contact-actions{gap:var(--space-100)}
 .mobile-menu-panel{padding:var(--space-200)}
 .mobile-menu-top{flex-wrap:wrap}
 .error-main{padding-block:var(--space-700)}
}
@media(max-width:360px){.header-inner.container{padding-inline:var(--space-75)}.menu-toggle>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.menu-toggle{min-width:44px;justify-content:center}}
@media(prefers-reduced-motion:reduce){
 .tagline-ready .tagline-word{opacity:1}
 .button:active,button:not(.page-mascot):active{transform:none}
}
