@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--dark:#14252b;--deep:#101d23;--green:#98c63b;--ink:#1a2b30;--muted:#788389;--line:#dce1df;--bg:#f6f7f5;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:white;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em}a{color:inherit;text-decoration:none}button{font:inherit}img{width:100%;height:100%;display:block;object-fit:cover}::selection{background:var(--green);color:var(--dark)}.container{max-width:var(--max);width:calc(100% - 80px);margin:auto}.topbar{background:var(--deep);color:#c7d1d3;height:35px;font-size:10px;letter-spacing:.14em}.top-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.top-inner a{color:#f1f5f3;letter-spacing:.02em;font-size:11px}.top-inner a span{color:var(--green);margin-left:5px}.site-header{position:relative;z-index:30;background:#fff;box-shadow:0 1px 0 rgba(15,38,42,.07)}.nav-wrap{height:86px;display:flex;align-items:center;gap:35px}.logo{display:inline-flex;align-items:center;gap:12px;flex:none}.logo-mark{position:relative;width:41px;height:42px;display:flex;align-items:center;gap:5px;transform:skew(-23deg)}.logo-mark i{display:block;width:8px;height:31px;background:var(--green);border-radius:1px}.logo-mark i:nth-child(2){height:39px}.logo-mark i:nth-child(3){height:24px}.logo-words{display:grid;line-height:1.06;letter-spacing:.11em}.logo-words strong{font-family:Manrope,sans-serif;font-size:20px;font-weight:800;letter-spacing:.01em}.logo-words small{font-size:10px;font-weight:700;letter-spacing:.36em;color:#779239;margin-top:5px}nav{display:flex;align-items:center;justify-content:center;gap:29px;margin-left:auto;height:100%}nav>a,nav .dropdown-toggle{font-size:13px;font-weight:700;color:#35474d;white-space:nowrap;transition:color .2s}nav a:hover,nav .dropdown-toggle:hover,nav a.active{color:#6e9425}nav .dropdown-toggle{background:none;border:0;cursor:pointer;padding:20px 0}.dropdown{height:100%;display:flex;align-items:center;position:relative}.dropdown-toggle span{margin-left:6px}.dropdown-menu{display:none;position:absolute;top:70px;left:-18px;width:210px;padding:12px;background:#fff;box-shadow:0 12px 40px #14242b22;border:1px solid #e5e9e8;flex-direction:column;gap:0;z-index:4}.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu,.dropdown.expanded .dropdown-menu{display:flex}.dropdown-menu a{padding:11px 13px;font-size:13px}.dropdown-menu a:hover{background:#f4f8ef}.nav-contact{background:var(--green);padding:14px 19px;display:flex;align-items:center;gap:20px;font-weight:800;font-size:12px;white-space:nowrap;transition:background .2s}.nav-contact:hover,.btn-green:hover{background:#b6df60}.mobile-toggle{display:none;border:0;background:none;cursor:pointer;padding:8px}.mobile-toggle span{display:block;width:24px;height:2px;background:#243137;margin:5px 0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;margin-bottom:27px}.eyebrow a:hover{color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:17px 22px;font-size:12px;font-weight:800;transition:.2s;min-height:54px}.btn-green{background:var(--green);color:#122424}.btn-outline{border:1px solid #abb7b8;color:inherit;background:transparent}.btn-outline:hover{background:#fff;color:var(--dark)}.btn span{font-size:18px;font-weight:400}.hero{position:relative;background:#13252b;color:white;min-height:660px;overflow:hidden}.hero-photo,.hero-overlay,.page-photo,.page-shade{position:absolute;inset:0}.hero-photo img{object-position:center 51%}.hero-overlay{background:linear-gradient(90deg,rgba(9,24,29,.94) 0%,rgba(10,26,31,.81) 45%,rgba(11,26,30,.32) 100%),linear-gradient(0deg,#0d1b20c5,transparent 35%)}.hero-content{position:relative;z-index:1;min-height:660px;display:flex;flex-direction:column;justify-content:center;padding-top:20px}.hero-text{max-width:800px;padding:40px 0 55px}.hero-eyebrow{color:#f4f6f4;display:flex;align-items:center;gap:12px}.pulse{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 0 5px #98c63b2d}.hero h1{font-size:clamp(74px,8.1vw,124px);line-height:1.04;letter-spacing:-.085em;margin-bottom:26px;font-weight:800}.hero h1 em{font-style:normal;color:var(--green)}.hero-lead{font-size:18px;line-height:1.7;max-width:550px;color:#d0dcdb}.hero-actions{display:flex;gap:13px;margin-top:34px;flex-wrap:wrap}.hero-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;justify-content:space-between;gap:20px;color:#c6d3d1;font-size:10px;letter-spacing:.15em;font-weight:800}.hero-bottom b{color:var(--green);padding:0 6px}.intro-section{padding:119px 0 88px}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:100px}.intro-grid h2,.section-head h2,.about-grid h2,.contact-main h2{font-size:clamp(35px,4.4vw,61px);line-height:1.17;font-weight:800;letter-spacing:-.065em}.muted{color:#8f9a99}.intro-grid>div:nth-child(2){padding-top:42px;color:#667479;font-size:15px;line-height:1.85}.intro-grid .intro-lead{font-weight:800;color:var(--ink);font-size:18px}.text-link{display:inline-block;font-size:12px;font-weight:800;border-bottom:1px solid #8fbf35;padding-bottom:9px;margin-top:12px}.text-link span{margin-left:18px}.feature-row{margin-top:90px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.feature-row>div{padding:28px 25px 0;border-right:1px solid var(--line);display:grid;gap:9px}.feature-row>div:first-child{padding-left:0}.feature-row>div:last-child{border:0}.feature-row span,.pillars span{color:#89ab3e;font-size:12px;font-weight:800}.feature-row b{font:800 19px Manrope,sans-serif;letter-spacing:-.05em}.feature-row small{color:#7e898b;font-size:12px}.services-section{background:var(--bg);padding:117px 0 126px}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}.section-head h2{margin:0}.section-side{max-width:350px;font-size:15px;line-height:1.75;color:#6d7a7c}.section-side p{margin-bottom:7px}.section-side .text-link{color:#193138}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.service-card{background:white;min-width:0;overflow:hidden;display:block;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 38px #14252b14}.service-image{height:240px;overflow:hidden;background:#d3d8d8}.service-image img,.project-image img,.detail-image img,.project-row-image img{transition:transform .5s}.service-card:hover img,.project-card:hover img,.detail-card:hover img{transform:scale(1.055)}.service-info{padding:27px 28px 31px;min-height:211px;position:relative}.index{display:block;color:#94a09e;font-size:10px;letter-spacing:.12em;font-weight:800}.arrow{position:absolute;top:25px;right:28px;font-size:23px;color:#80ab30}.service-info h3{font-size:25px;margin:23px 0 9px}.service-info p{font-size:13px;line-height:1.75;color:#6c787b;margin:0}.dark-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:white;min-height:550px}.feature-photo{height:100%;min-height:550px}.feature-photo img{object-position:center}.feature-copy{max-width:670px;padding:95px 60px 85px 10%;display:flex;align-items:start;justify-content:center;flex-direction:column}.feature-copy .eyebrow{color:var(--green);margin-bottom:20px}.tag{border:1px solid #b8c5bc88;padding:8px 13px;font-size:10px;font-weight:800;letter-spacing:.16em}.feature-copy h2{font-size:clamp(48px,5vw,77px);line-height:1.08;margin:24px 0}.feature-copy p:not(.eyebrow){color:#bdcdcd;font-size:15px;line-height:1.9;max-width:480px;margin-bottom:32px}.projects-section{padding:123px 0}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-image{height:290px;background:#dde1dd;overflow:hidden}.project-caption{position:relative;padding:22px 0 6px}.project-caption>span:first-child{font-size:10px;color:#879292;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.project-caption h3{margin:12px 0;font-size:22px;padding-right:30px}.round-arrow{position:absolute;right:0;top:29px;color:#89b735;font-size:22px}.about-feature{padding:117px 0;background:#f0f3ee}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-grid p:not(.eyebrow){color:#6b7b7e;line-height:1.9;max-width:475px;margin-bottom:35px}.about-grid .btn-outline{border-color:#647477}.disciplines>div{border-bottom:1px solid #c8d0cd;display:grid;grid-template-columns:48px 1fr;align-items:center;padding:22px 0;gap:3px}.disciplines>div:first-child{border-top:1px solid #c8d0cd}.disciplines b{font-size:11px;color:#82af2d}.disciplines h3{font-size:23px;margin:0}.disciplines span{grid-column:2;color:#7a898a;font-size:12px;margin-top:1px}.cta{background:var(--dark);color:white;padding:90px 0}.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:35px}.cta .eyebrow{color:var(--green)}.cta h2{font-size:clamp(43px,5vw,72px);line-height:1.1;margin:0 0 24px}.cta p:not(.eyebrow){color:#b9c6c7;max-width:510px;font-size:14px;line-height:1.8}.cta-inner>div:last-child{display:flex;gap:10px;flex-wrap:wrap}.green{color:var(--green)}.footer{background:#0c181d;color:#d0dada;padding:82px 0 25px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:50px}.logo-light .logo-words strong{color:#fff}.footer-main>div:first-child>p{max-width:300px;color:#8fa2a5;font-size:13px;line-height:1.9;margin-top:30px}.footer h4{font-size:12px;letter-spacing:0;color:white;margin:0 0 26px}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:14px}.footer-main a:not(.logo){font-size:13px;color:#9cabad}.footer-main a:hover{color:var(--green)}.footer-main>div>p{font-size:13px;line-height:1.7;color:#9cabad}.footer-bottom{margin-top:65px;padding-top:25px;border-top:1px solid #334347;display:flex;justify-content:space-between;color:#809095;font-size:11px;gap:18px}.footer-bottom a{color:#bdcdcf}.page-hero{min-height:450px;position:relative;background:#1a292c;color:white}.page-hero .page-photo img{object-position:center}.page-shade{background:linear-gradient(90deg,#101c22f2,#14262cbb 55%,#14262c53),linear-gradient(0deg,#101c2280,transparent)}.page-hero-content{min-height:450px;position:relative;z-index:1;display:flex;justify-content:center;align-items:start;flex-direction:column;padding:70px 0}.page-hero h1{font-size:clamp(51px,6.8vw,93px);max-width:880px;line-height:1.1;margin:0 0 22px}.page-hero-content>p:last-child{max-width:620px;font-size:17px;color:#d1dddd;line-height:1.7;margin:0}.short-page,.short-page .page-hero-content{min-height:410px}.detail-section,.section-pad{padding:110px 0 130px}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.detail-card{border:1px solid #e4e9e6;background:white;overflow:hidden}.detail-image{height:225px;overflow:hidden}.detail-body{padding:27px 27px 36px}.detail-body h3{font-size:24px;margin:20px 0 12px}.detail-body p{font-size:14px;color:#728080;line-height:1.8}.project-list{border-top:1px solid #dce1df}.project-row{display:grid;grid-template-columns:.9fr 1fr;gap:70px;padding:45px 0;border-bottom:1px solid #dce1df;align-items:center}.project-row-image{height:365px;overflow:hidden;background:#e5e8e5}.project-row-content h2{font-size:clamp(29px,3.2vw,45px);margin:15px 0 20px}.project-row-content p:not(.eyebrow){max-width:470px;color:#738082;line-height:1.9;font-size:15px}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:100px}.pillars>div{border-top:2px solid var(--green);padding:25px 0}.pillars h3{font-size:24px;margin:26px 0 10px}.pillars p{color:#718083;line-height:1.8;font-size:13px}.news-bar{padding:50px 0;background:var(--bg)}.news-bar .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.news-bar h2{font-size:26px;margin-bottom:8px}.news-bar p{font-size:13px;line-height:1.6;color:#697879;margin:0}.news-bar .text-link{white-space:nowrap}.contact-hero{padding:115px 0 125px;background:var(--dark);color:white}.contact-hero .eyebrow{color:var(--green)}.contact-hero h1{font-size:clamp(55px,7vw,96px);line-height:1.12;letter-spacing:-.07em;margin-bottom:30px}.contact-hero em{font-style:normal;color:var(--green)}.contact-hero p:last-child{font-size:16px;color:#bdc9c9}.contact-main{padding:110px 0;background:#f7f9f6}.contact-main-grid{display:grid;grid-template-columns:1fr .9fr;gap:135px}.contact-main h2{margin-bottom:58px}.contact-method{border-top:1px solid #d4dcd6;padding:24px 0;display:grid;gap:11px}.contact-method small{font-size:11px;font-weight:800;color:#788b87;letter-spacing:.15em}.contact-method a,.contact-method span{font-size:23px;font-family:Manrope,sans-serif;font-weight:700;letter-spacing:-.05em}.contact-main .text-link{margin-top:10px}.contact-panel{background:white;border:1px solid #e5ebe5;padding:60px 50px;align-self:start;box-shadow:0 18px 50px #12332808}.contact-panel .eyebrow{color:#6d9a25}.contact-panel h3{font-size:38px;line-height:1.25}.contact-panel>p:not(.eyebrow){color:#718081;line-height:1.8;font-size:14px}.contact-panel .btn{margin-top:30px}.contact-panel .wide{width:100%}.contact-panel .small-note{font-size:11px!important;margin-top:18px!important}.team-section{padding:110px 0}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.person{background:#f5f7f5;padding:35px 29px;display:flex;align-items:start;gap:19px;min-height:195px}.person-icon{flex:none;width:53px;height:53px;border-radius:50%;background:#dce8c6;color:#526d31;display:grid;place-items:center;font-weight:800;font-size:14px}.person h3{font-size:20px;margin:14px 0 13px}.person a{display:block;font-size:13px;margin-top:9px;color:#567b28}.reveal{opacity:0;transform:translateY(17px);transition:opacity .55s,transform .55s}.reveal.visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}@media(max-width:1120px){.container{width:calc(100% - 55px)}.nav-wrap{gap:18px}nav{gap:17px}nav>a,nav .dropdown-toggle{font-size:12px}.logo-words strong{font-size:17px}.nav-contact{padding:13px}.intro-grid,.about-grid{gap:65px}.contact-main-grid{gap:60px}.service-image{height:205px}.feature-copy{padding-left:8%}}@media(max-width:850px){.topbar{display:none}.nav-wrap{height:75px}.mobile-toggle{display:block;margin-left:auto}.nav-contact{display:none}nav{display:none;position:absolute;top:75px;left:0;right:0;height:auto;background:#fff;padding:20px 28px 25px;box-shadow:0 15px 30px #12232b25;flex-direction:column;align-items:stretch;margin:0;gap:0}nav.open{display:flex}nav>a,nav .dropdown-toggle{padding:13px 0;text-align:left;font-size:15px}nav .dropdown{display:block;height:auto}nav .dropdown-menu{display:none;position:static;box-shadow:none;border:0;padding:0 0 0 15px;width:100%}.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{display:none}.dropdown.expanded .dropdown-menu{display:flex}.hero,.hero-content{min-height:620px}.hero h1{font-size:clamp(64px,10vw,90px)}.hero-bottom a{display:none}.intro-grid,.about-grid,.contact-main-grid{grid-template-columns:1fr;gap:30px}.intro-grid>div:nth-child(2){padding-top:0}.feature-row{grid-template-columns:repeat(2,1fr)}.feature-row>div{padding:23px 15px}.services-grid,.details-grid,.projects-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.dark-feature{grid-template-columns:1fr}.feature-photo{min-height:350px;height:350px}.feature-copy{padding:75px 7%}.footer-main{grid-template-columns:repeat(2,1fr)}.project-row{gap:30px}.pillars{grid-template-columns:repeat(2,1fr)}.cta-inner{align-items:start;flex-direction:column}.contact-panel{max-width:650px}}@media(max-width:580px){.container{width:calc(100% - 36px)}.hero,.hero-content{min-height:650px}.hero-photo img{object-position:60% center}.hero-overlay{background:linear-gradient(90deg,#0b1b22ed,#0b1b22b3),linear-gradient(0deg,#0b1b22aa,transparent)}.hero-text{padding-top:35px}.hero h1{font-size:clamp(55px,13vw,74px)}.hero-lead{font-size:15px;line-height:1.75}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.hero-bottom{font-size:9px;letter-spacing:.08em;bottom:20px}.eyebrow{font-size:9px;line-height:1.7}.intro-section,.services-section,.projects-section,.about-feature,.detail-section,.section-pad,.team-section{padding:76px 0}.intro-grid h2,.section-head h2,.about-grid h2,.contact-main h2{font-size:36px}.intro-grid{gap:15px}.feature-row{margin-top:48px}.feature-row b{font-size:16px}.services-grid,.details-grid,.projects-grid,.team-grid{grid-template-columns:1fr}.services-grid{gap:15px}.service-image{height:225px}.service-info{min-height:170px}.section-head{display:block;margin-bottom:30px}.section-side{margin-top:20px}.section-side p{font-size:14px}.dark-feature .feature-photo{height:290px;min-height:290px}.feature-copy{padding:65px 18px}.feature-copy h2{font-size:52px}.project-image{height:275px}.project-caption{padding-bottom:20px}.about-grid{gap:30px}.disciplines h3{font-size:20px}.cta{padding:73px 0}.cta h2{font-size:42px}.cta-inner>div:last-child{flex-direction:column;width:100%}.cta .btn{width:100%}.footer{padding:65px 0 25px}.footer-main{gap:38px 18px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:last-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;line-height:1.7}.page-hero,.page-hero-content{min-height:370px}.page-hero h1{font-size:49px}.page-hero-content>p:last-child{font-size:15px}.project-row{display:block;padding:25px 0 35px}.project-row-image{height:255px;margin-bottom:28px}.project-row-content h2{font-size:30px}.pillars{grid-template-columns:1fr;margin-top:45px;gap:10px}.news-bar .container{align-items:start;flex-direction:column}.news-bar .text-link{margin-top:0}.contact-hero{padding:77px 0}.contact-hero h1{font-size:49px}.contact-main{padding:70px 0}.contact-main-grid{gap:45px}.contact-method a,.contact-method span{font-size:19px}.contact-panel{padding:35px 25px}.contact-panel h3{font-size:30px}.person{min-height:150px}.details-grid .detail-image{height:230px}}@media(min-width:581px) and (max-width:850px){.services-grid{grid-template-columns:repeat(2,1fr)}}


/* Signature refinement / 2026. No heavyweight animation dependencies. */
:root{--green:#a2cc56;--dark:#101e21;--ink:#192728;--bg:#f6f8f4}
html{scroll-padding-top:88px}
body{background:#fbfcfa;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#b4d981;color:#11210c}
:focus-visible{outline:3px solid #86ae40;outline-offset:4px}
.skip-link{position:fixed;z-index:110;top:-90px;left:14px;background:#fff;color:#18271d;padding:12px 18px;border-radius:3px;font-weight:700}
.skip-link:focus{top:12px}
.site-header{transition:box-shadow .32s ease,background-color .32s ease;isolation:isolate}
.site-header.scrolled{box-shadow:0 9px 35px rgba(6,26,22,.1)}
.nav-wrap{transition:height .35s ease}
.site-header.scrolled .nav-wrap{height:76px}
nav>a,nav .dropdown-toggle{transition:color .22s ease}
.nav-contact,.btn{transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
.nav-contact:hover,.btn:hover{transform:translateY(-2px)}
.btn-green:hover{box-shadow:0 10px 28px rgba(134,180,66,.25)}
.btn span,.nav-contact span,.text-link span{display:inline-block;transition:transform .22s ease}
.btn:hover span,.nav-contact:hover span,.text-link:hover span{transform:translate(3px,-3px)}
.hero-signature{overflow:hidden;min-height:min(800px,92svh)}
.hero-signature .hero-content{min-height:min(800px,92svh)}
.hero-signature .hero-photo{transform:scale(1.055);animation:hero-photo-settle 1.7s cubic-bezier(.15,.5,.35,1) both}
.hero-signature .hero-photo img{filter:saturate(.85) contrast(1.07)}
.hero-signature .hero-overlay{background:linear-gradient(90deg,rgba(7,23,27,.94) 0%,rgba(7,23,27,.76) 43%,rgba(7,23,27,.18) 100%),linear-gradient(0deg,rgba(8,24,28,.55),transparent 45%)}
.hero-signature .hero-text{position:relative;z-index:2;max-width:790px}
.hero-signature h1{font-size:clamp(66px,8vw,126px);line-height:.99;letter-spacing:-.077em;margin:18px 0 28px}
.hero-title-line{display:block;overflow:hidden;animation:hero-copy-rise .85s both cubic-bezier(.2,.75,.15,1)}
.hero-title-line:nth-child(2){animation-delay:.12s}
.hero-signature h1 em{font-style:normal;color:#b4df68}
.hero-signature .hero-eyebrow{animation:fade-in .7s both .1s}
.hero-signature .hero-lead{max-width:545px;font-size:clamp(16px,1.6vw,20px);line-height:1.7;animation:hero-copy-rise .8s both .25s}
.hero-signature .hero-actions{animation:hero-copy-rise .8s both .38s}
.hero-bottom-signature{border-top:1px solid rgba(255,255,255,.22);padding-top:25px}
.hero-index{position:absolute;bottom:90px;right:0;color:rgba(255,255,255,.55);font-size:10px;font-weight:800;letter-spacing:.18em;writing-mode:vertical-rl}
.expertise-strip{background:#172b2e;color:#fff;border-bottom:1px solid rgba(255,255,255,.11)}
.expertise-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:32px;padding-bottom:32px}
.expertise-item{display:flex;align-items:flex-start;gap:16px;padding:8px 24px;border-right:1px solid rgba(255,255,255,.14)}
.expertise-item:first-child{padding-left:0}.expertise-item:last-child{border-right:0}
.expertise-number{color:#b3d778;font-size:11px;font-weight:800;letter-spacing:.06em;padding-top:5px}
.expertise-item strong{display:block;font-size:12px;letter-spacing:.095em;margin-bottom:7px}
.expertise-item small{color:#aebdbd;font-size:11px;line-height:1.6;display:block}
.section-editorial{background:radial-gradient(circle at right 0,rgba(151,186,117,.085),transparent 40%),#fbfcfa}
.intro-grid h2,.section-head h2,.delivery-heading h2{letter-spacing:-.065em}
.service-card,.project-card,.detail-card{transition:transform .34s cubic-bezier(.2,.7,.1,1),box-shadow .34s cubic-bezier(.2,.7,.1,1),border-color .3s}
.service-card:hover,.detail-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(18,40,37,.11)}
.project-card:hover{transform:translateY(-4px)}
.service-image img,.project-image img,.detail-image img,.project-row-image img{transition:transform .75s cubic-bezier(.15,.6,.15,1),filter .5s;will-change:auto}
.service-card:hover img,.project-card:hover img,.detail-card:hover img{transform:scale(1.045)}
.service-card .arrow,.project-caption .round-arrow{transition:transform .25s ease,background .25s ease,color .25s ease}
.service-card:hover .arrow,.project-card:hover .round-arrow{transform:translate(3px,-3px)}
.services-section,.projects-section{background:#fff}
.dark-feature{overflow:hidden}
.dark-feature .feature-photo img{transition:transform .8s ease}
.dark-feature:hover .feature-photo img{transform:scale(1.025)}
.delivery-section{padding:112px 0 118px;background:#edf2ec;position:relative;overflow:hidden}
.delivery-section:before{content:'';position:absolute;right:-125px;top:-180px;width:440px;height:440px;border:1px solid rgba(47,86,57,.1);border-radius:50%;pointer-events:none}
.delivery-heading{display:grid;grid-template-columns:1.45fr 1fr;gap:20px 80px;align-items:end;margin-bottom:65px}
.delivery-heading .eyebrow{grid-column:1/-1;color:#648a39}
.delivery-heading h2{font-size:clamp(40px,5vw,68px);line-height:1.13;margin:0}
.delivery-heading>p:last-child{max-width:410px;font-size:15px;line-height:1.85;color:#64756c;margin:0 0 7px}
.delivery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.delivery-step{border-top:1px solid #c8d5c5;padding-top:20px}
.delivery-step-top{display:flex;align-items:center;gap:16px;color:#729d43;font-family:inherit;font-weight:800;font-size:13px;letter-spacing:.12em}
.delivery-line{height:1px;flex:1;background:#c8d5c5;transform-origin:left;transition:background .3s}
.delivery-step:hover .delivery-line{background:#6e9e40}
.delivery-step h3{font-size:22px;letter-spacing:-.045em;margin:33px 0 12px}
.delivery-step p{font-size:13px;line-height:1.85;color:#65786e;max-width:250px;margin:0}
.cta-signature{background:radial-gradient(circle at 95% 70%,rgba(141,183,81,.16),transparent 30%),#102126}
.reveal{opacity:1;transform:none}
.js-motion .reveal{opacity:0;transform:translate3d(0,25px,0);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.2,1)}
.js-motion .reveal.visible{opacity:1;transform:none}
@keyframes hero-photo-settle{from{transform:scale(1.09);opacity:.75}to{transform:scale(1.055);opacity:1}}
@keyframes hero-copy-rise{from{opacity:0;transform:translateY(19px)}to{opacity:1;transform:translateY(0)}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(max-width:1050px){.expertise-inner{grid-template-columns:repeat(2,1fr);gap:15px 0}.expertise-item:nth-child(2){border-right:0}.expertise-item:nth-child(3){padding-left:0}.delivery-grid{grid-template-columns:repeat(2,1fr);gap:36px}}
@media(max-width:850px){.site-header.scrolled .nav-wrap{height:75px}.hero-signature,.hero-signature .hero-content{min-height:690px}.hero-index{display:none}.delivery-heading{grid-template-columns:1fr;gap:15px}.delivery-heading .eyebrow{grid-column:auto}.delivery-heading>p:last-child{max-width:600px}.expertise-inner{padding-top:23px;padding-bottom:23px}}
@media(max-width:580px){.hero-signature,.hero-signature .hero-content{min-height:700px}.hero-signature .hero-overlay{background:linear-gradient(90deg,rgba(7,23,27,.9),rgba(7,23,27,.55)),linear-gradient(0deg,rgba(7,23,27,.8),transparent)}.hero-signature h1{font-size:clamp(57px,13vw,77px);margin:19px 0 25px}.hero-signature .hero-lead{font-size:15px}.expertise-inner{grid-template-columns:1fr 1fr;gap:12px 0}.expertise-item{display:block;padding:5px 10px 5px 15px}.expertise-item:first-child,.expertise-item:nth-child(3){padding-left:0}.expertise-number{display:block;margin-bottom:10px}.expertise-item strong{font-size:10px;letter-spacing:.025em}.expertise-item small{font-size:10px}.delivery-section{padding:78px 0 86px}.delivery-heading{margin-bottom:45px}.delivery-heading h2{font-size:38px}.delivery-grid{gap:32px 18px}.delivery-step h3{font-size:18px;margin-top:24px}.delivery-step p{font-size:12px}.hero-bottom-signature{padding-top:18px}.hero-bottom-signature span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hero-signature .hero-photo,.hero-title-line,.hero-signature .hero-eyebrow,.hero-signature .hero-lead,.hero-signature .hero-actions{animation:none!important}.js-motion .reveal{opacity:1!important;transform:none!important}.service-card,.project-card,.detail-card,.btn,.nav-contact,.service-image img,.project-image img{transition:none!important}}


/* Studio refinement v5 — purposeful geometry and clear editorial hierarchy. */
:root {--dark:#142a2d;--deep:#0d2023;--green:#a1c75a;--ink:#192d30;--muted:#718183;--line:#dde6e0;--bg:#f5f7f4;--max:1190px}
body {background:#fff;color:var(--ink)}
.container {max-width:var(--max)}
h1,h2,h3,h4 {letter-spacing:-.052em}
.eyebrow {letter-spacing:.16em;color:#668b42}
.topbar {background:#11292a}
.site-header {background:#fff}
.nav-wrap {height:84px}
.logo-mark i {border-radius:2px}
.logo-words strong {letter-spacing:-.02em}
.nav-contact,.btn {border-radius:9px;font-weight:700}
.nav-contact {padding:15px 21px}
.dropdown-menu {border-radius:12px;top:72px;overflow:hidden}
.btn-outline {border-color:rgba(255,255,255,.52)}
.btn-green {background:#acd466}
.hero-signature {min-height:690px;min-height:min(740px,86svh);border-radius:0 0 28px 28px}
.hero-signature .hero-content {min-height:690px;min-height:min(740px,86svh)}
.hero-signature .hero-overlay {background:linear-gradient(90deg,rgba(8,28,30,.95) 0%,rgba(8,28,30,.81) 41%,rgba(8,28,30,.17) 100%),linear-gradient(0deg,rgba(6,20,21,.54),transparent 46%)}
.hero-signature .hero-text {max-width:760px;padding-bottom:88px}
.hero-signature h1 {font-size:clamp(69px,7.8vw,112px);line-height:1.025;letter-spacing:-.075em}
.hero-signature .hero-lead {max-width:510px;color:#e5eae6;font-size:17px}
.hero-signature h1 em {color:#b9df81}
.hero-actions {gap:12px}
.hero-actions .btn {min-width:190px}
.hero-bottom-signature {bottom:34px;letter-spacing:.08em}
.expertise-strip {background:#fff;color:var(--ink);border-bottom:1px solid #e1e7e0}
.expertise-inner {padding-top:34px;padding-bottom:34px}
.expertise-item {border-right:1px solid #e1e7e0;padding:7px 23px}
.expertise-number {color:#75a24c}
.expertise-item strong {font-size:11px;color:#24413b}
.expertise-item small {color:#788780}
.intro-section {padding:114px 0 91px}
.intro-grid {gap:100px}
.intro-grid h2,.section-head h2 {font-size:clamp(37px,4.5vw,57px);line-height:1.18}
.intro-grid>div:nth-child(2) {padding-top:30px}
.intro-grid>div:nth-child(2) p {max-width:460px}
.feature-row {margin-top:72px}
.feature-row>div {gap:11px}
.services-section {padding:112px 0 116px;background:#f4f7f3}
.section-head {margin-bottom:43px}
.services-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-card {border:1px solid #e1e8df;border-radius:17px;overflow:hidden;background:#fff;box-shadow:none}
.service-card:hover {transform:translateY(-3px);box-shadow:0 18px 35px rgba(23,51,41,.08)}
.service-card-primary .service-image {height:250px}
.service-card-primary .service-info {min-height:162px;padding:24px 28px 29px}
.service-card-primary .service-info h3 {margin:15px 0 8px;font-size:27px}
.service-card-primary .service-info p {max-width:460px}
.service-card-compact {display:grid;grid-template-columns:175px minmax(0,1fr);min-height:175px;align-items:stretch}
.service-card-compact .service-image {height:100%;min-height:175px}
.service-card-compact .service-info {min-height:0;padding:24px 32px 22px 24px}
.service-card-compact .service-info h3 {font-size:22px;margin:15px 0 9px}
.service-card-compact .service-info p {font-size:12px;line-height:1.65}
.service-card .arrow {top:19px;right:23px;font-size:21px;color:#6f9945}
.service-card-compact .arrow {right:15px;top:14px}
.service-card .index {color:#7c9779}
.dark-feature {margin:28px auto 0;width:calc(100% - 56px);max-width:1500px;min-height:510px;border-radius:20px;overflow:hidden;grid-template-columns:1.03fr .97fr}
.dark-feature .feature-photo {min-height:510px}
.feature-copy {padding:70px 7% 70px 10%;max-width:none}
.feature-copy h2 {font-size:clamp(48px,5vw,67px)}
.tag {border-radius:6px}
.projects-section {padding:110px 0}
.projects-grid {gap:24px}
.project-image {border-radius:15px;height:270px}
.project-caption h3 {font-size:21px;line-height:1.35}
.project-card:hover {transform:translateY(-3px)}
.delivery-section {padding:100px 0 110px;background:#f3f6f0}
.delivery-section:before {display:none}
.delivery-heading {margin-bottom:50px}
.delivery-step h3 {margin-top:27px}
.about-feature {background:#fff;padding:110px 0}
.about-grid {gap:95px}
.cta-signature {background:#14302d;border-radius:20px;margin:0 28px 28px;padding:78px 0}
.cta h2 {max-width:700px;font-size:clamp(40px,4.6vw,66px)}
.footer {background:#0d2023}
/* Applied consistently across service and company pages. */
.page-hero {border-radius:0 0 23px 23px;overflow:hidden}
.page-hero h1 {letter-spacing:-.07em}
.detail-card {border-radius:16px;overflow:hidden}
.project-row-image {border-radius:16px}
.contact-hero {border-radius:0 0 22px 22px}
.contact-panel {border-radius:18px}
.contact-method {border-color:#d9e4dc}
/* Intentional movement: only gentle opacity/position and hover response. */
.js-motion .reveal {transform:translate3d(0,17px,0);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.2,1)}
.service-card .service-image img,.project-card .project-image img {transition:transform .65s cubic-bezier(.2,.7,.2,1)}
@media(max-width:1050px){.service-card-compact {grid-template-columns:135px minmax(0,1fr)}.service-card-compact .service-info {padding:19px 20px}.service-card-compact .service-info p {font-size:11px}.hero-signature {min-height:670px}.hero-signature .hero-content{min-height:670px}}
@media(max-width:850px){.hero-signature {border-radius:0 0 20px 20px}.services-grid {gap:15px}.service-card-primary .service-image{height:215px}.service-card-compact {display:block}.service-card-compact .service-image{height:160px;min-height:0}.service-card-compact .service-info{min-height:165px;padding:22px}.dark-feature{width:calc(100% - 36px);margin-top:18px}.cta-signature{margin:0 18px 18px}.expertise-inner{gap:0}.intro-grid{gap:40px}}
@media(max-width:580px){.container{width:calc(100% - 36px)}.topbar{height:29px}.topbar .top-inner>span{display:none}.top-inner{justify-content:flex-end}.nav-wrap{height:72px}.site-header.scrolled .nav-wrap{height:68px}.hero-signature,.hero-signature .hero-content{min-height:670px;min-height:calc(88svh - 90px)}.hero-signature{border-radius:0 0 18px 18px}.hero-signature .hero-text{padding:38px 0 90px}.hero-signature h1{font-size:clamp(55px,12.7vw,75px);letter-spacing:-.07em}.hero-signature .hero-lead{font-size:15px;line-height:1.66}.hero-signature .hero-bottom{bottom:24px}.hero-bottom-signature a{display:none}.hero-bottom-signature span{font-size:8px;line-height:1.6}.hero-actions{gap:9px}.hero-actions .btn{min-width:0;flex:1;gap:8px;justify-content:center;padding:14px 12px;font-size:11px}.hero-actions .btn span{font-size:15px}.expertise-inner{grid-template-columns:1fr 1fr;gap:0;padding:24px 0}.expertise-item{padding:12px!important;border-bottom:1px solid #edf0eb}.expertise-item:nth-child(odd){padding-left:0!important}.expertise-item:nth-child(even){border-right:0}.expertise-item:nth-child(n+3){border-bottom:0}.expertise-number{margin-bottom:7px}.intro-section{padding:75px 0 65px}.intro-grid>div:nth-child(2){padding-top:0}.feature-row{margin-top:45px}.services-section{padding:74px 0 83px}.services-grid{grid-template-columns:1fr;gap:16px}.service-card-primary .service-image{height:215px}.service-card-primary .service-info{min-height:0;padding:22px 22px 27px}.service-card-compact{display:grid;grid-template-columns:120px minmax(0,1fr);min-height:160px}.service-card-compact .service-image{height:100%;min-height:160px}.service-card-compact .service-info{min-height:0;padding:19px 20px}.service-card-compact .service-info h3{font-size:19px;margin:11px 0 7px}.service-card-compact .service-info p{font-size:11px;line-height:1.55}.service-card-compact .index{font-size:9px}.service-card-compact .arrow{right:12px;top:9px;font-size:19px}.dark-feature{margin:15px auto 0;width:calc(100% - 24px);border-radius:15px}.dark-feature .feature-photo{height:230px;min-height:230px}.feature-copy{padding:55px 25px 65px}.projects-section{padding:75px 0}.project-image{height:245px;border-radius:13px}.delivery-section{padding:72px 0 82px}.about-feature{padding:78px 0}.cta-signature{margin:0 12px 12px;border-radius:15px;padding:65px 0}.cta-signature .container{width:calc(100% - 42px)}.page-hero{border-radius:0 0 16px 16px}.detail-card{border-radius:14px}.project-row-image{border-radius:13px}}
@media(max-width:380px){.service-card-compact{grid-template-columns:100px minmax(0,1fr)}.service-card-compact .service-info p{font-size:10px}.hero-signature h1{font-size:53px}}
@media(prefers-reduced-motion:reduce){.service-card,.service-card img,.project-card,.project-card img{transition:none!important}}

/* Kundevisning v7 – hero refinements: keep letter descenders fully visible. */
.hero-signature .hero-title-line { overflow: visible; padding-bottom: .09em; }
.hero-signature h1 { line-height: 1.12; letter-spacing: -.062em; margin-top: 16px; margin-bottom: 22px; }
.hero-signature .hero-text { max-width: 810px; }
.hero-signature .hero-eyebrow { color: #b9df81; letter-spacing: .12em; font-weight: 700; }
@media (max-width: 580px) {
  .hero-signature h1 { font-size: clamp(48px, 11.5vw, 70px); line-height: 1.12; letter-spacing: -.055em; }
  .hero-signature .hero-text { padding-top: 44px; }
}
@media (max-width: 380px) { .hero-signature h1 { font-size: clamp(45px, 11.8vw, 53px); } }
