:root{--navy:#102641;--navy-2:#183454;--blue:#2e8eb8;--cyan:#71c8e5;--orange:#ff6b17;--cream:#f3f1eb;--white:#fff;--ink:#102238;--line:rgba(16,38,65,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,sans-serif;overflow-x:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.skip-link{position:fixed;left:1rem;top:-4rem;background:var(--orange);color:white;padding:.8rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,4vw,4.5rem);background:rgba(243,241,235,.92);backdrop-filter:blur(16px);position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{height:76px;border-color:var(--line)}.brand{width:190px;height:61px;overflow:hidden}.brand img{object-fit:contain}.main-nav{display:flex;gap:2rem;align-items:center;font-size:.86rem;font-weight:700}.main-nav a:not(.nav-cta){position:relative}.main-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--orange);transition:.25s}.main-nav a:hover:after{right:0}.nav-cta{background:var(--navy);color:white;padding:.9rem 1.2rem;border-radius:2px}.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:12px}.nav-toggle span{display:block;height:2px;background:var(--navy);margin:6px 0}.hero{min-height:100vh;padding:145px clamp(1.2rem,4vw,4.5rem) 90px;position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:4vw;align-items:center}.hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:var(--cyan);filter:blur(130px);opacity:.2;left:-180px;top:140px}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--blue);margin-bottom:1.6rem}.hero h1,.section h2,.energy h2{font:600 clamp(3.3rem,6.6vw,7.2rem)/.9 Space Grotesk,sans-serif;letter-spacing:-.055em;margin-bottom:2rem}.hero h1 span,.section h2 em,.energy h2 em{font-style:normal;color:var(--blue)}.hero-lead{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65;max-width:610px}.hero-actions{display:flex;gap:2rem;align-items:center;margin-top:2.5rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.4rem;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.button-primary{background:var(--orange);color:white}.text-link{font-weight:800;font-size:.9rem}.text-link span{color:var(--orange);font-size:1.3rem}.hero-visual{position:relative;height:min(68vh,680px)}.hero-image{height:100%;clip-path:polygon(14% 0,100% 0,100% 82%,80% 100%,0 100%,0 14%)}.hero-image img{filter:saturate(.85) contrast(1.03)}.floating-card{position:absolute;left:-55px;bottom:8%;background:var(--navy);color:white;padding:1.5rem 2rem;min-width:190px}.floating-card span{font:700 2.8rem Space Grotesk}.floating-card p{font-size:.76rem;margin:0;text-transform:uppercase;letter-spacing:.12em}.hero-stamp{position:absolute;right:-15px;top:-20px;width:130px;height:130px;background:var(--orange);color:white;border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(6deg)}.hero-stamp span{font-weight:800}.hero-stamp p{margin:.3rem 0 0;font:600 .75rem Space Grotesk;text-transform:uppercase}.hero-marquee{position:absolute;bottom:0;left:0;right:0;background:var(--navy);color:white;height:42px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;font:600 .75rem Space Grotesk;letter-spacing:.14em}.hero-marquee span{animation:marquee 22s linear infinite;padding-right:1rem}@keyframes marquee{to{transform:translateX(-100%)}}.section{padding:clamp(5rem,9vw,10rem) clamp(1.2rem,6vw,7rem)}.section-label{text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:800;margin-bottom:clamp(3rem,6vw,6rem);display:flex;gap:1rem;align-items:center}.section-label span{color:var(--orange)}.section-label:after{content:"";height:1px;background:var(--line);flex:1}.section-label.light:after{background:rgba(255,255,255,.18)}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:end}.intro h2{font-size:clamp(3rem,5.6vw,6.5rem);margin:0}.intro-copy{font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.8}.pill-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.pill-row span{border:1px solid var(--line);padding:.65rem 1rem;border-radius:50px;font-size:.75rem;font-weight:800;text-transform:uppercase}.services{background:var(--navy);color:white}.services-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:5vw;align-items:end;margin-bottom:4rem}.services h2{font-size:clamp(3rem,5.4vw,6.2rem);margin:0}.services h2 em{color:var(--cyan)}.services-heading p{color:#b7c4d1;line-height:1.7}.service-item{display:grid;grid-template-columns:70px 1fr 50px;gap:1rem;align-items:center;border-top:1px solid rgba(255,255,255,.16);padding:2rem 0;transition:.3s}.service-item:last-child{border-bottom:1px solid rgba(255,255,255,.16)}.service-item:hover{padding-left:1rem;background:rgba(255,255,255,.025)}.service-number{color:var(--orange);font:600 .8rem Space Grotesk}.service-item h3{font:600 clamp(1.4rem,2.4vw,2.4rem) Space Grotesk;margin-bottom:.55rem}.service-item p{color:#aebbc9;margin:0;max-width:690px;line-height:1.6;font-size:.9rem}.service-arrow{font-size:1.8rem;color:var(--cyan)}.showcase{display:grid;grid-template-columns:1.45fr .55fr;background:white}.showcase figure{margin:0;position:relative;height:660px;overflow:hidden}.showcase-side{height:520px!important;align-self:center;margin-left:-70px!important;box-shadow:0 30px 70px rgba(5,19,35,.25)}.showcase img{transition:transform .8s}.showcase figure:hover img{transform:scale(1.025)}.showcase figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(8,28,46,.9));color:white;padding:5rem 2rem 2rem}.showcase figcaption span{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;color:var(--cyan);margin-bottom:.4rem}.showcase figcaption strong{font:600 1.6rem Space Grotesk}.method-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.method-visual{height:720px;position:relative}.method-visual img{clip-path:polygon(0 0,90% 0,100% 10%,100% 100%,0 100%)}.orange-block{position:absolute;right:-35px;bottom:40px;background:var(--orange);color:white;padding:1.5rem;font:700 1.5rem/1.05 Space Grotesk}.method-copy h2{font-size:clamp(3rem,4.6vw,5.2rem)}.method-copy ol{list-style:none;padding:0;margin:0}.method-copy li{display:grid;grid-template-columns:45px 1fr;gap:1rem;border-top:1px solid var(--line);padding:1.4rem 0}.method-copy li>span{color:var(--orange);font-size:.72rem;font-weight:800}.method-copy h3{font:600 1.2rem Space Grotesk;margin-bottom:.35rem}.method-copy li p{font-size:.88rem;color:#5f6c78;line-height:1.55;margin:0}.energy{min-height:760px;position:relative;background:var(--navy);color:white}.energy>img{position:absolute;inset:0;opacity:.45}.energy:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,29,50,.96) 0%,rgba(9,29,50,.76) 45%,rgba(9,29,50,.18) 100%)}.energy-overlay{position:relative;z-index:1;padding:clamp(6rem,12vw,10rem) clamp(1.2rem,8vw,9rem);max-width:1000px}.energy h2{font-size:clamp(3.2rem,5.6vw,6.2rem)}.energy h2 em{color:var(--cyan)}.energy-overlay>p:not(.eyebrow){max-width:580px;line-height:1.7;color:#d4dde5}.button-light{background:white;color:var(--navy);margin-top:1.5rem}.contact{text-align:center;background:var(--blue);color:white}.contact-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;margin-bottom:2rem}.contact h2{font-size:clamp(3.5rem,7vw,8rem)}.contact h2 em{color:var(--navy)}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.25);text-align:left;margin-top:5rem}.contact-grid a{background:var(--blue);padding:1.5rem;min-height:130px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.contact-grid a:hover{background:var(--navy)}.contact-grid span{text-transform:uppercase;letter-spacing:.12em;font-size:.64rem;opacity:.8}.contact-grid strong{font-size:.85rem;overflow-wrap:anywhere}footer{background:#071b2e;color:#aebdcc;display:flex;justify-content:space-between;gap:1rem;padding:2rem clamp(1.2rem,5vw,5rem);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}footer p{margin:0}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:76px}.brand{width:150px;height:50px}.nav-toggle{display:block}.main-nav{position:fixed;inset:76px 0 auto;background:var(--cream);display:none;flex-direction:column;align-items:stretch;padding:1.5rem;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:120px;min-height:auto}.hero-visual{height:500px;margin-top:1rem}.floating-card{left:0}.hero-stamp{right:0}.intro-grid,.services-heading,.method-grid{grid-template-columns:1fr}.intro-copy{max-width:650px}.showcase{grid-template-columns:1fr}.showcase figure{height:500px}.showcase-side{height:450px!important;margin:0!important}.method-visual{height:520px}.contact-grid{grid-template-columns:1fr 1fr}.energy{min-height:650px}}
@media(max-width:560px){.hero h1{font-size:3.4rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.hero-visual{height:420px}.floating-card{bottom:-25px;padding:1rem 1.2rem}.hero-stamp{width:100px;height:100px}.section{padding-top:5rem;padding-bottom:5rem}.section-label{margin-bottom:3rem}.service-item{grid-template-columns:38px 1fr}.service-arrow{display:none}.showcase figure,.showcase-side{height:390px!important}.method-visual{height:410px}.orange-block{right:0}.contact-grid{grid-template-columns:1fr}.contact-grid a{min-height:105px}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-marquee span{animation:none}.reveal{opacity:1;transform:none;transition:none}}
.hero-image img{object-position:62% center}

/* Logo reveal: prominent on arrival, compact while browsing */
.site-header{height:142px;transition:height .48s cubic-bezier(.22,.61,.36,1),background-color .3s,border-color .3s}
.brand{width:310px;height:112px;transform-origin:left center;transition:width .48s cubic-bezier(.22,.61,.36,1),height .48s cubic-bezier(.22,.61,.36,1)}
.brand img{transition:transform .48s cubic-bezier(.22,.61,.36,1)}
.site-header.scrolled{height:76px}
.site-header.scrolled .brand{width:170px;height:58px}
.hero{padding-top:200px}

@media(max-width:900px){
  .site-header{height:108px}
  .brand{width:230px;height:84px}
  .site-header.scrolled{height:72px}
  .site-header.scrolled .brand{width:150px;height:52px}
  .main-nav{top:108px}
  .site-header.scrolled .main-nav{top:72px}
  .hero{padding-top:142px}
}

@media(prefers-reduced-motion:reduce){.site-header,.brand,.brand img{transition:none}}
