:root{--ink:#082832;--night:#061d27;--ink-soft:#173d47;--paper:#f3f5ef;--paper-dark:#e5ebe5;--lime:#c7ee57;--lime-deep:#94bf21;--muted:#58707b;--line:#cbd7d0;--white:#fffef9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:1rem}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.container{width:min(1240px,calc(100% - 4rem));margin:auto}.site-header{position:sticky;top:0;z-index:10;background:rgba(243,245,239,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(8,40,50,.12)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.65rem;font-size:.63rem;font-weight:800;letter-spacing:.13em;line-height:1.2;text-transform:uppercase}.brand-mark{font-size:1.65rem;letter-spacing:-.13em}.site-nav{display:flex;align-items:center;gap:2rem;font-size:.78rem;font-weight:800}.site-nav>a:not(.nav-cta){color:#48616a;transition:color .2s}.site-nav>a:not(.nav-cta):hover{color:var(--ink)}.nav-cta{padding:.8rem 1.05rem;border:1px solid var(--ink);transition:.2s}.nav-cta:hover{background:var(--ink);color:#fff}.nav-toggle{display:none;border:0;background:transparent}.hero{--hero-overlay:linear-gradient(100deg, rgba(243,245,239,.96) 0%, rgba(243,245,239,.78) 38%, rgba(229,235,229,.32) 100%);--hero-pos:70% center;position:relative;overflow:hidden;isolation:isolate;padding:5.8rem 0 0;background:var(--paper)}.hero:before{content:"";position:absolute;inset:0 0 auto;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(8,40,50,.06) calc(25% - 1px),rgba(8,40,50,.06) 25%);height:100%;pointer-events:none}
@keyframes hero-zoom{from{transform:scale(1.09)}to{transform:scale(1)}}
@keyframes fade-up-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.hero:after,.page-hero:after,.dark-page-hero:after,.cta-band:after{content:"";position:absolute;inset:-4%;z-index:-1;background-image:var(--hero-overlay,none),var(--hero-img);background-size:cover;background-position:var(--hero-pos,center);animation:hero-zoom 32s ease-out both;pointer-events:none}
.page-hero,.dark-page-hero,.cta-band{isolation:isolate}
.page-hero{--hero-overlay:linear-gradient(135deg, rgba(243,245,239,.85) 0%, rgba(229,235,229,.8) 100%)}
.dark-page-hero{--hero-overlay:linear-gradient(135deg, rgba(6,29,39,.8) 0%, rgba(8,40,50,.7) 100%)}
.cta-band{--hero-overlay:linear-gradient(135deg, rgba(6,29,39,.88) 0%, rgba(8,40,50,.78) 100%);overflow:hidden}
.js .why-us-visual.reveal,.js .sector-card.reveal{transition:opacity .65s ease var(--reveal-delay,0ms),transform 1.3s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.js .why-us-visual.reveal,.js .sector-card.reveal{transform:translateY(28px) scale(1.07)}
.js .why-us-visual.reveal.is-visible,.js .sector-card.reveal.is-visible{transform:translateY(0) scale(1)}
.js .sector-card.reveal.is-visible:hover{transform:translateY(-6px) scale(1)}
.js .why-us-visual.reveal.is-visible:hover{transform:translateY(-6px) scale(1)}
.js .service-detail article.reveal .detail-visual,.js .value-item.reveal .value-image img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1);transform:scale(1.12)}
.js .service-detail article.reveal.is-visible .detail-visual,.js .value-item.reveal.is-visible .value-image img{transform:scale(1)}
.js .service-detail article.reveal.is-visible:not(:hover) .detail-visual,.js .value-item.reveal.is-visible .value-image:not(:hover) img{transition:transform .3s ease}
.js .service-detail article.reveal.is-visible:hover .detail-visual{transform:translateY(-4px) scale(1)}
.js .value-item.reveal.is-visible .value-image:hover img{transform:scale(1.05)}
.why-us-visual{transition:box-shadow .35s ease}
.hero-visual{transition:transform .4s ease,box-shadow .4s ease}
.hero-visual:hover{transform:translateY(-6px)}
.company-story-img{display:block;overflow:hidden;border-radius:6px;margin-top:2rem}
.company-story-img img{width:100%;height:auto;display:block;transition:transform .5s ease}
.company-story-img:hover img{transform:scale(1.05)}
.hero-copy>.kicker{animation:fade-up-in .55s ease both}
.hero-copy>h1{animation:fade-up-in .6s .06s ease both}
.hero-copy>.hero-text{animation:fade-up-in .6s .14s ease both}
.hero-copy>.hero-actions{animation:fade-up-in .6s .22s ease both}
.hero-visual{animation:fade-up-in .65s .18s ease both}
.page-hero .container>.kicker,.dark-page-hero .container>.kicker{animation:fade-up-in .55s ease both}
.page-hero .container>h1,.dark-page-hero .container>h1{animation:fade-up-in .6s .06s ease both}
.page-hero .container>p:last-child,.dark-page-hero .container>p:last-child{animation:fade-up-in .6s .14s ease both}
.cta-band .container>*{animation:fade-up-in .6s ease both}.hero-grid{position:relative;display:grid;grid-template-columns:1.12fr .88fr;min-height:560px}.hero-copy{z-index:1;padding:1.8rem 1rem 4rem 0}.kicker{margin:0 0 1.35rem;color:#597600;font-family:'DM Mono',monospace;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase}.kicker span{display:inline-block;width:28px;height:1px;margin:0 .65rem .23rem 0;background:currentColor}.hero h1,.section h2{margin:0;letter-spacing:-.075em;line-height:.92}.hero h1{font-size:clamp(3.3rem,6.2vw,6.5rem);max-width:760px}.hero h1 em,.contact h2 em{font-family:Georgia,serif;font-weight:400}.hero-text{max-width:535px;margin:2.2rem 0;color:var(--muted);font-size:1.05rem;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:1.8rem}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:1.8rem;padding:1.05rem 1.25rem;border:0;font-size:.76rem;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 18px rgba(8,40,50,.14)}.btn-primary{background:var(--lime);color:var(--ink)}.text-link{font-size:.77rem;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:.35rem}.hero-visual{position:relative;margin:0 0 0 2rem;min-height:100%;overflow:hidden;background:radial-gradient(circle at 50% 50%,#d4f674 0 11%,transparent 11.3%),linear-gradient(135deg,#b6dc46,#91bc25)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,40,50,.16) 1px,transparent 1px),linear-gradient(rgba(8,40,50,.16) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent)}.orbit{position:absolute;border:1px solid rgba(8,40,50,.55);border-radius:50%;z-index:1}.orbit-one{width:520px;height:520px;top:20px;left:3%}.orbit-two{width:330px;height:330px;top:118px;left:24%}.orbit-dot{position:absolute;border-radius:50%;background:var(--ink);z-index:2}.dot-one{width:15px;height:15px;top:60px;left:67%}.dot-two{width:10px;height:10px;bottom:90px;left:22%}.visual-center{position:absolute;top:50%;left:50%;z-index:2;transform:translate(-50%,-50%);font-size:clamp(8rem,15vw,12rem);font-weight:800;letter-spacing:-.14em;line-height:1}.visual-center small{position:absolute;top:-.2em;font-size:2rem}.visual-label{position:absolute;z-index:3;margin:0;font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.12em}.label-top{top:30px;left:28px}.label-bottom{bottom:28px;right:25px;writing-mode:vertical-rl}.trust-bar{position:relative;display:flex;justify-content:space-between;gap:2rem;margin-top:1rem;padding:1.1rem 1.25rem;background:rgba(243,245,239,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);border-radius:4px;font-family:'DM Mono',monospace;font-size:.65rem;text-transform:uppercase}.trust-bar p{margin:0;color:var(--muted)}.trust-bar div{display:flex;gap:2rem}.section{padding:8rem 0}.section-intro{display:grid;grid-template-columns:1.05fr 1fr;column-gap:6rem}.section-intro .kicker{grid-column:1}.section-intro h2{grid-row:2;grid-column:1;font-size:clamp(2.7rem,4.7vw,4.8rem)}.section-intro>p:last-child{align-self:end;margin:0 0 .5rem;color:var(--muted);line-height:1.8}.capability-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:5rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}.capability-card{position:relative;min-height:290px;padding:1.6rem 1.8rem 2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:background .25s,transform .25s}.capability-card:hover{background:var(--ink);color:var(--white);transform:translateY(-5px)}.card-number,.mono-label{margin:0;font-family:'DM Mono',monospace;font-size:.68rem;color:#58707b}.capability-card:hover .card-number,.capability-card:hover p:not(.card-number){color:#c6d6d1}.capability-card h3{margin:0 0 .75rem;font-size:1.65rem;letter-spacing:-.05em}.capability-card p:not(.card-number){margin:0;max-width:420px;color:var(--muted);font-size:.9rem;line-height:1.75}.card-arrow{position:absolute;right:1.7rem;top:1.3rem;font-size:1.5rem}.dark-section,.contact{background:var(--night);color:var(--white)}.kicker.light{color:var(--lime)}.approach-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:8rem}.approach-layout h2{font-size:clamp(2.7rem,4.2vw,4.6rem)}.approach-steps{border-top:1px solid rgba(255,255,255,.28)}.approach-steps article{padding:1.7rem 0 1.9rem;border-bottom:1px solid rgba(255,255,255,.25)}.approach-steps p{margin:0 0 2rem;color:var(--lime);font-family:'DM Mono',monospace;font-size:.68rem}.approach-steps h3{display:inline-block;width:45%;margin:0;font-size:1.28rem;letter-spacing:-.04em}.approach-steps span{display:inline-block;width:52%;color:#bed0ce;font-size:.88rem;line-height:1.7;vertical-align:top}.company{background:var(--paper-dark)}.company-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:7rem;align-items:center}.company-statement h2{font-size:clamp(2.8rem,4.6vw,4.8rem)}.company-statement>p:last-child{max-width:600px;color:var(--muted);line-height:1.8;margin:2rem 0 0}.perspective-list{display:flex;flex-wrap:wrap;gap:.65rem;margin:2rem 0 0;padding:0;list-style:none}.perspective-list li{padding:.55rem .75rem;border:1px solid #b8c7bd;color:#39505a;font-family:'DM Mono',monospace;font-size:.65rem;text-transform:uppercase}.readiness-card{padding:2.5rem;background:var(--white);border-top:5px solid var(--lime);box-shadow:16px 16px 0 rgba(8,40,50,.1)}.readiness-card h3{margin:1.2rem 0;font-size:1.9rem;letter-spacing:-.05em}.readiness-card p:not(.mono-label){color:var(--muted);line-height:1.7;font-size:.9rem;margin-bottom:1.6rem}.contact{position:relative;overflow:hidden}.contact:after{content:"360";position:absolute;right:-.05em;bottom:-.25em;color:rgba(199,238,87,.07);font-size:clamp(15rem,34vw,35rem);font-weight:800;letter-spacing:-.15em;line-height:1;pointer-events:none}.contact-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:8rem}.contact h2{font-size:clamp(3.1rem,5.2vw,5.6rem)}.contact-layout>div>p:not(.kicker){max-width:470px;color:#bed0ce;line-height:1.75}.email-link{display:inline-flex;gap:1rem;margin-top:1.5rem;border-bottom:1px solid var(--lime);padding-bottom:.5rem;color:var(--lime);font-weight:700}.contact-form{display:grid;gap:1.4rem;padding:2rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14)}.contact-form label{display:grid;gap:.6rem;color:#bed0ce;font-size:.78rem;font-weight:700}.contact-form input,.contact-form textarea{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.45);border-radius:0;padding:.55rem 0;color:white;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--lime)}.btn-light{background:var(--white);color:var(--ink);width:max-content;margin-top:.4rem}.form-note{margin:0;color:#bed0ce;font-size:.73rem}.form-note a{color:var(--lime);text-decoration:underline;text-underline-offset:3px}.site-footer{background:#04151c;color:#dce6df}.footer-inner{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.footer-inner .brand-mark{color:var(--lime)}.footer-inner p,.back-to-top{font-family:'DM Mono',monospace;font-size:.65rem;color:#a9bbb6}.back-to-top{color:var(--lime)}
@media(max-width:800px){.container{width:min(100% - 2rem,1240px)}.header-inner{height:72px}.nav-toggle{display:flex;flex-direction:column;gap:5px;padding:.5rem}.nav-toggle span{width:23px;height:2px;background:var(--ink)}.site-nav{position:absolute;top:72px;left:0;right:0;display:grid;gap:0;max-height:0;overflow:hidden;background:var(--paper);transition:max-height .25s}.site-nav.open{max-height:300px;border-bottom:1px solid var(--line)}.site-nav a{padding:1rem 1.5rem}.nav-cta{border:0}.hero{padding-top:3rem}.hero-grid,.section-intro,.approach-layout,.company-layout,.contact-layout{grid-template-columns:1fr;gap:2.5rem}.hero-copy{padding-bottom:1rem}.hero-visual{min-height:405px;margin:1rem 0 0}.trust-bar{align-items:flex-start;flex-direction:column}.trust-bar div{flex-wrap:wrap;gap:.6rem 1rem}.section{padding:5rem 0}.section-intro h2{grid-row:auto;grid-column:auto}.section-intro .kicker{grid-column:auto}.capability-grid{margin-top:3rem}.approach-steps h3,.approach-steps span{display:block;width:100%}.approach-steps h3{margin-bottom:.8rem}.footer-inner{padding:1.6rem 0;flex-wrap:wrap}.footer-inner p{order:3;width:100%}}
@media(max-width:530px){.hero h1{font-size:3.15rem}.hero-actions{align-items:flex-start;flex-direction:column}.capability-grid{grid-template-columns:1fr}.capability-card{min-height:235px}.section-intro h2,.approach-layout h2,.company-statement h2{font-size:2.75rem}.hero-visual{min-height:315px}.orbit-one{width:370px;height:370px;left:-15%;top:-15px}.orbit-two{width:235px;height:235px;left:22%;top:60px}.contact-layout{gap:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Sectors Section */
.sectors-section{padding:6rem 0;background:var(--paper)}
.sectors-section h2{margin:1rem 0 3rem;letter-spacing:-.06em;font-size:clamp(2.25rem,4vw,4.1rem)}
.sectors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.sector-card{position:relative;min-height:380px;border-radius:8px;overflow:hidden;background-size:cover;background-position:center;transition:transform .3s ease}
.sector-card:hover{transform:translateY(-6px)}
.sector-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:2.5rem;color:var(--white)}
.sector-content h3{margin:0 0 1rem;font-size:1.35rem;line-height:1.2}
.sector-content p{margin:0 0 1.5rem;font-size:.95rem;line-height:1.6;opacity:.95}
.sector-content .text-link{color:var(--lime)}

@media(max-width:800px){.sectors-grid{grid-template-columns:1fr;gap:1.5rem}.sector-card{min-height:280px}.sector-content{padding:2rem}}

/* Company/Values Section */
.values-section{padding:5rem 0;background:var(--paper)}
.values-section h2{margin:1rem 0 3rem;letter-spacing:-.06em;font-size:clamp(2.25rem,4vw,4.1rem)}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.value-item{display:flex;flex-direction:column}
.value-image{overflow:hidden;border-radius:8px;margin-bottom:1.5rem;height:220px}
.value-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.value-item:hover .value-image img{transform:scale(1.05)}
.value-item h3{margin:0 0 .8rem;font-size:1.2rem;line-height:1.3}
.value-item p{margin:0;color:var(--muted);line-height:1.7}

@media(max-width:800px){.values-grid{grid-template-columns:1fr}.value-image{height:240px}}

/* Scroll-led motion */
.scroll-progress{position:fixed;top:0;left:0;z-index:20;width:100%;height:4px;transform:scaleX(0);transform-origin:left;background:var(--lime);box-shadow:0 0 14px rgba(199,238,87,.7)}.site-nav>a.is-active:not(.nav-cta){color:var(--ink);text-decoration:underline;text-decoration-color:var(--lime-deep);text-underline-offset:.55rem;text-decoration-thickness:2px}.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem}.capability-card>.card-number{display:none}.capability-icon{display:grid;place-items:center;width:54px;height:54px;background:#e5edce;color:var(--ink);transition:background .25s,color .25s}.capability-icon svg{width:30px;height:30px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.capability-card:hover .capability-icon{background:var(--lime);color:var(--ink)}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}.js .capability-card.reveal{transform:translateY(28px)}.js .capability-card.reveal.is-visible{transform:translateY(0)}.js .capability-card.reveal.is-visible:hover{transform:translateY(-5px)}
@media(max-width:800px){.site-nav>a.is-active:not(.nav-cta){text-decoration:none}}

/* Interior pages */
.page-hero{padding:8rem 0 6.5rem;background:var(--paper-dark)}.page-hero .container{max-width:1240px}.page-hero h1{max-width:900px;margin:0;letter-spacing:-.075em;line-height:.93;font-size:clamp(3.2rem,6vw,6.3rem)}.page-hero h1 em{font-family:Georgia,serif;font-weight:400}.page-hero .container>p:last-child{max-width:600px;margin:2rem 0 0;color:var(--muted);line-height:1.75}.dark-page-hero{background:var(--night);color:var(--white)}.dark-page-hero .container>p:last-child{color:#bed0ce}.service-detail .container{border-top:1px solid var(--line)}.service-detail article{display:grid;grid-template-columns:.22fr 1fr .5fr;gap:2rem;padding:3rem 0;border-bottom:1px solid var(--line);align-items:center}.detail-visual{align-self:stretch;min-height:170px;border-radius:6px;background-size:cover;background-position:center;box-shadow:12px 12px 0 rgba(8,40,50,.08);transition:transform .3s ease}.service-detail article:hover .detail-visual{transform:translateY(-4px)}.detail-number{font-family:'DM Mono',monospace;font-size:.75rem;color:var(--lime-deep)}.service-detail .capability-icon{margin-bottom:1.5rem}.service-detail h2,.process-page h2,.company-story h2,.contact-page h2{margin:0;letter-spacing:-.06em;line-height:.96;font-size:clamp(2.25rem,4vw,4.1rem)}.service-detail article>div:last-child>p{max-width:620px;margin:1.3rem 0 0;color:var(--muted);line-height:1.75}.page-cta h2{margin:0 0 2.2rem;letter-spacing:-.065em;font-size:clamp(2.6rem,4.5vw,4.8rem)}.cta-band{position:relative;padding:9rem 0;color:#fff}.cta-band-link{color:var(--lime);border-color:var(--lime)}.process-page .container{border-top:1px solid var(--line)}.process-page article{display:grid;grid-template-columns:.24fr 1fr .9fr;gap:2rem;padding:2.5rem 0;border-bottom:1px solid var(--line)}.process-page article>p{margin:.5rem 0 0;color:var(--lime-deep);font-family:'DM Mono',monospace;font-size:.68rem}.process-page article>div{color:var(--muted);line-height:1.75}.company-story .container{display:grid;grid-template-columns:1.1fr .9fr;gap:8rem}.company-story .container>div:last-child>p{margin:3.2rem 0 0;color:var(--muted);line-height:1.8}.contact-page{background:var(--paper)}.contact-page .email-link{color:var(--ink);border-color:var(--lime-deep)}.contact-form-light{background:var(--white);border:1px solid var(--line)}.contact-form-light label{color:var(--ink-soft)}.contact-form-light input,.contact-form-light textarea{color:var(--ink);border-color:var(--line)}.contact-form-light .form-note{color:var(--muted)}.contact-form-light .form-note a{color:#527100}@media(max-width:800px){.page-hero{padding:5.5rem 0 4.5rem}.service-detail article,.process-page article,.company-story .container{grid-template-columns:1fr;gap:1.2rem}.company-story .container>div:last-child>p{margin:0}.process-page article>p{margin:0}.detail-visual{min-height:150px}}
