/* Editorial refinement, using the supplied EneGrow identity. */
:root{--line:#d6deeb}
html{scroll-padding-top:96px}
body{overflow-wrap:break-word}
:focus-visible{outline:3px solid #005eae;outline-offset:5px}
.hero :focus-visible,.nav :focus-visible,.contact :focus-visible,footer :focus-visible{outline-color:#d8bd7e}
.contact form :focus-visible{outline-color:#005eae}
:focus{scroll-margin-top:110px;scroll-margin-bottom:100px}
.nav-inner{background:rgba(1,16,37,.93);max-width:1180px}
.nav.scrolled .nav-inner{background:rgba(1,16,37,.96)}
.nav-logo img{height:29px}
.hero{padding:170px 0 96px}
.hero::before{animation:none;background:radial-gradient(ellipse at 65% 25%,#18356d88,transparent 60%),radial-gradient(ellipse at 95% 80%,#005eae30,transparent 55%),radial-gradient(ellipse at 10% 5%,#2c448740,transparent 45%)}
.hero-grid{grid-template-columns:1.22fr 1fr;gap:58px}
.hero h1{font-size:clamp(42px,4.9vw,66px);letter-spacing:-.035em;line-height:1.09;margin:24px 0}
.hero-lead{max-width:540px;font-size:17px;line-height:1.8;color:#c4cede}
.eyebrow{font-size:11px;letter-spacing:.15em}
.hero-ctas{gap:14px}
.hero-ctas .btn{padding:14px 21px;font-size:14px}
.hero-trust{font-size:12px;gap:12px;margin-top:30px}
.hero-trust li{align-items:flex-start}
.hero-trust svg{width:15px;height:18px}
.btn-gold{background:#d8bd7e;box-shadow:none}
.btn-gold:hover{background:#e8cf96;box-shadow:0 5px 18px #0002}
.flow{padding:0 22px 22px;background:#0b203a;border-color:#8ca5c633;backdrop-filter:none;overflow:hidden;box-shadow:0 24px 60px #0002}
.flow-art{height:165px;position:relative;margin:0 -22px 24px;overflow:hidden;background:radial-gradient(ellipse at 65% 80%,#36578c,#102541 70%);isolation:isolate}
.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(transparent,#000)}
.art-column{position:absolute;bottom:-32px;width:92px;background:linear-gradient(110deg,#476291,#1e365e);border:1px solid #9cafd04d;transform:skewY(-12deg);box-shadow:12px 10px 0 #07182d55}
.c1{height:94px;left:16%}.c2{height:131px;left:39%}.c3{height:165px;left:62%;background:linear-gradient(110deg,#a18752,#d8bd7e)}
.flow-art img{position:absolute;width:62px;height:auto;right:27px;top:17px;opacity:.17}
.flow-art>span{position:absolute;top:22px;left:24px;font:600 9px/1.4 var(--font-body);letter-spacing:.18em;color:#e2e8f3}
.flow-title{font-size:10px;letter-spacing:.12em;color:#d8bd7e}
.flow li{grid-template-columns:29px 1fr;padding:9px 0;background:none;border:0;border-radius:0;border-bottom:1px solid #ffffff12}
.flow li::before{width:27px;height:27px;border-radius:50%;background:transparent;border:1px solid #d8bd7e66;font-size:11px}
.flow strong{font-size:14px}.flow span{font-size:12px;line-height:1.5;color:#c0cede}
.flow .flow-note{font-size:11px;color:#bac7db;margin-top:20px}
.sec{padding:96px 0}.sec-head{max-width:740px;margin-bottom:36px}
.sec-head .kicker{font-size:11px;letter-spacing:.16em}
.sec-head h2{font-size:clamp(31px,3.5vw,43px);line-height:1.16;letter-spacing:-.03em}
.sec-head p{font-size:16px;line-height:1.8}
.card{box-shadow:none;border-radius:22px;padding:30px}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #01102508}
.mod{overflow:hidden}.mod::after{position:absolute;content:'';width:150px;height:150px;right:-70px;top:-70px;border:25px solid #2c448708;border-radius:50%;pointer-events:none}
.mod h3{font-size:29px;letter-spacing:-.025em}
.mod dl{padding-top:20px;border-top:1px solid var(--line)}
.mod dt{font-size:10px;letter-spacing:.12em}.mod dd{font-size:14px;line-height:1.8}
.tag{font-size:11px;padding:6px 10px}
.fill{display:inline;line-height:1.8;font-size:12px;overflow-wrap:anywhere}
.person{align-items:flex-start;flex-wrap:wrap}.avatar{height:64px;width:64px;border-radius:50%;font-size:24px}
.card p{font-size:15px;line-height:1.8}
.step h3{font-size:23px}.step::before{font-size:33px}
.faq{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 44px;align-items:start}
.faq summary{font-size:16px;min-height:85px}.faq .ans{font-size:15px;line-height:1.8}.dep{font-size:12px}
.contact-grid{grid-template-columns:1.1fr .9fr;gap:44px}.contact .sec-head{max-width:630px}
.phone{grid-template-columns:180px minmax(0,1fr)}
.field .hint{display:block;font-size:12px;margin-top:4px}
.input{border-color:#7d8ba5}.chip span{border-color:#7d8ba5}
.chip{position:relative}.chip input{width:1px;height:1px;top:50%;left:10px;margin:0}
.input:focus-visible{outline:2px solid #005eae;outline-offset:3px}
.legal-note{text-align:left;line-height:1.7}
.fallback{display:block;margin-top:12px;color:#2c4487;font-weight:700;min-height:44px;padding:10px 0}
.fallback[hidden]{display:none}#form-status{font-size:14px;line-height:1.6;margin-top:12px}
.no-script{padding:12px;background:#fff3b0;color:#5c4400;margin-bottom:18px}
html:not(.js) #lead>.field,html:not(.js) #lead>button,html:not(.js) #lead>.legal-note{display:none}
.mcta{visibility:hidden;bottom:max(12px,env(safe-area-inset-bottom));transition:transform .25s,visibility .25s}
.mcta.show{visibility:visible}.side-card a.plain{overflow-wrap:anywhere}
.disclaimer{color:#aab7ca}.foot-grid a{overflow-wrap:anywhere}
.js .reveal{opacity:1;transform:none}.js .reveal.pending{opacity:0;transform:translateY(14px)}
.js .reveal.in{opacity:1;transform:none}
@media(min-width:861px){.nav-toggle{display:none}}
@media(max-width:1100px){.hero-grid{gap:30px}.nav-links a{padding:10px;font-size:13px}.nav .btn{font-size:13px;padding:0 16px}.nav-logo img{height:24px}}
@media(max-width:1024px){.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:46px}.eyebrow{font-size:10px}.hero-ctas .btn{width:100%}.contact-grid{grid-template-columns:1fr 1fr;gap:24px}.phone{grid-template-columns:1fr}}
@media(max-width:860px){.hero{padding:130px 0 64px}.hero-grid{grid-template-columns:1fr;gap:38px}.hero h1{font-size:clamp(40px,7.8vw,62px)}.hero-lead{max-width:650px}.hero-ctas .btn{width:auto}.flow{max-width:580px;width:100%}.flow-art{height:140px}.hero-trust{font-size:12px}.sec{padding:68px 0}.faq,.contact-grid{grid-template-columns:1fr}.contact-grid{gap:24px}.nav.open .nav-links{max-height:calc(100dvh - 110px);overflow:auto}.nav-inner{padding-left:19px}.nav-logo img{height:27px}.nav-links{margin-left:0}.foot-grid{gap:30px}.side-card{padding:24px}.js .nav-toggle{display:grid}html:not(.js) .nav{position:relative;top:0;padding:10px;background:#011025}html:not(.js) .nav-inner{flex-wrap:wrap;border-radius:20px}html:not(.js) .nav-links{display:flex;flex-wrap:wrap;width:100%}html:not(.js) .nav-toggle{display:none}}
@media(max-width:480px){.wrap{padding:0 22px}.hero h1{font-size:41px}.hero-ctas .btn{width:100%}.eyebrow{font-size:9px;letter-spacing:.1em}.hero-lead{font-size:16px}.sec-head h2{font-size:33px}.card,form{padding:24px}.lev{grid-template-columns:1fr 1fr}.lev div{padding:12px}.lev b{font-size:14px}.lev span{font-size:12px}.side-card .btn{width:100%;padding:12px;font-size:14px}.foot-grid img{max-width:100%;height:auto;width:193px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal.pending{opacity:1;transform:none}}

/* Investor and business positioning */
.solution-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:20px;color:var(--blue-700);font-size:14px;font-weight:700;text-underline-offset:5px}
.card-dark .solution-link{color:var(--gold-300)}
.faq-source{margin-top:26px;font-size:13px;color:var(--muted)}
.faq-source a{color:var(--blue-700);text-underline-offset:3px}

/* Visual review: continuous pale blue surfaces and a sans-serif hero. */
:root{--surface-page:#f3f6fc;--surface-card:#edf2f9}
body{background:var(--surface-page)}
.sec:not(.contact){background:var(--surface-page)}
.sec:not(.contact)+.sec:not(.contact){border-top:1px solid #dce4f0}
.card:not(.card-dark),form{background:var(--surface-card)}
.input{background-color:var(--surface-page)}
.hero h1{font-family:var(--font-body);font-size:clamp(40px,4.1vw,56px);font-weight:700;line-height:1.15;letter-spacing:-.045em}
.hero h1 em{font-style:normal;font-weight:700}
@media(min-width:861px) and (max-width:1024px){.hero h1{font-size:43px}}
@media(max-width:480px){.hero h1{font-size:clamp(32px,9.5vw,40px);line-height:1.16;letter-spacing:-.04em}}

/* Align each section heading below the fixed nav. Native anchors already
   account for root scroll-padding; cancel the section's internal top padding
   instead of adding a second positive offset (including when focused). */
.sec[id]{scroll-margin-top:-96px}
.hero[id]{scroll-margin-top:0}
@media(max-width:860px){.sec[id]{scroll-margin-top:-68px}}

/* Consistent typography: all headings use the same sans-serif family. */
h1,h2,h3{font-family:var(--font-body);font-weight:700;font-style:normal;font-stretch:normal;text-wrap:balance}
.sec-head h2{font-size:clamp(30px,3.3vw,40px);line-height:1.22;letter-spacing:-.015em}
h3,.mod h3,.step h3,.side-card h3{line-height:1.3;letter-spacing:0}
.hero h1{letter-spacing:-.025em}
.mod h3{font-size:clamp(23px,2.3vw,29px)}
.person-card .person{display:grid;grid-template-columns:156px minmax(0,1fr);gap:22px;align-items:center}
.person-photo{display:block;width:156px;height:auto;border-radius:16px;aspect-ratio:1268/1241}
.person-card .person h3{font-size:24px;text-wrap:normal}
.person-card .person small{margin-top:8px;line-height:1.6}
@media(max-width:480px){
 .sec-head h2{font-size:30px;line-height:1.25}
 .person-card .person{grid-template-columns:96px minmax(0,1fr);gap:16px}
 .person-photo{width:96px;border-radius:12px}
 .person-card .person h3{font-size:22px}
 .person-card .person small{font-size:12px}
}

/* Rotate only the FAQ glyph, keeping its circular touch affordance in bounds. */
.faq summary .plus{font-size:0}
.faq summary .plus::after{content:'+';font-size:20px;line-height:1;transition:transform .2s var(--ease)}
.faq details[open] summary .plus{transform:none}
.faq details[open] summary .plus::after{transform:rotate(45deg)}

/* A distinct but compatible display face, limited to the opening headline. */
.hero h1{font-family:'Sora',var(--font-body);font-weight:600;font-size:clamp(40px,3.9vw,54px);line-height:1.18;letter-spacing:-.035em}
.hero h1 em{font-weight:600;font-style:normal}
@media(min-width:861px) and (max-width:1024px){.hero h1{font-size:42px}}
@media(max-width:480px){.hero h1{font-size:clamp(31px,9.2vw,38px);line-height:1.2;letter-spacing:-.035em}}
