/* Tech2Turf full staging build. Preserves approved logo files, forest/lime branding, and homepage composition. */
:root{--forest:#061e17;--green:#123d2b;--lime:#a1d873;--paper:#f3f6ef;--ink:#0c2b20;--muted:#4e6658;--line:#d5dfd1;--cream:#eef1e8}
html{scroll-behavior:smooth}body.site-light{background:var(--paper);color:var(--ink)}body{overflow-x:clip}img{max-width:100%}h1,h2,h3,p{overflow-wrap:break-word}
.nav{gap:clamp(14px,2.25vw,31px)}.nav a{font-size:12.5px}.nav a:focus-visible{outline-offset:5px}
.review-label{position:fixed;left:14px;bottom:10px;z-index:12;color:#d5e8cc82;font:700 9px/1.4 Arial,sans-serif;letter-spacing:.09em;pointer-events:none}
.page-hero{position:relative;overflow:hidden;isolation:isolate;min-height:clamp(380px,48vh,570px);display:flex;align-items:center;background-color:#153524;color:#f6fbf3}
.page-hero::before{content:"";position:absolute;inset:0;background-image:var(--hero-image);background-size:cover;background-position:50% 52%;z-index:-2}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,22,13,.93) 0%,rgba(3,26,16,.78) 37%,rgba(4,25,17,.16) 89%),linear-gradient(0deg,rgba(2,19,14,.48),transparent 30%);z-index:-1}
.page-hero .hero-content{padding:75px 0 81px}
.page-hero h1,.form-head h1{font:400 clamp(42px,5.25vw,76px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.038em;max-width:830px;margin:0 0 23px;text-wrap:balance}
.page-hero h1 em{font-style:normal;color:var(--lime)}.page-hero .hero-line{display:block;font-size:clamp(32px,3.6vw,54px);line-height:1.17;color:var(--lime);margin-top:15px}
.page-hero .hero-content>p:not(.tag){font-size:clamp(16px,1.6vw,20px);line-height:1.55;max-width:590px;margin:0 0 26px;color:#f2f5eb}
.tag{font:800 11px/1.35 Arial,Helvetica,sans-serif;letter-spacing:.17em;color:#477b47;text-transform:uppercase;margin:0 0 12px}
.tag.lime-text{color:var(--lime)}.page-hero .btn{min-height:51px}.hero-inline-actions,.cta-inline{display:flex;gap:12px;flex-wrap:wrap}
.wrap{width:min(1260px,calc(100% - 100px))}.section{padding-top:75px;padding-bottom:78px}.section-header{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:27px}.section-header h2{font:400 clamp(31px,3.15vw,45px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.03em;margin:0;max-width:660px}
.section-header>p{max-width:345px;color:var(--muted);line-height:1.65;font-size:15px;margin:0}
.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:17px}
.service-card{grid-column:span 2;background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;min-width:0;display:flex;flex-direction:column;box-shadow:0 5px 20px #0c281208}
.service-card:nth-child(4){grid-column:2/span 2}.service-card:nth-child(5){grid-column:4/span 2}
.service-img{height:192px;background:#244636;overflow:hidden}.service-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.service-card:hover .service-img img{transform:scale(1.04)}
.service-text{padding:24px 25px 25px;display:flex;flex-direction:column;flex:1}.service-text h2{font:400 27px/1.18 Georgia,serif;letter-spacing:-.03em;margin:0 0 9px}.service-text h3{font:700 14px/1.4 Arial,sans-serif;color:#214833;margin:0 0 11px}.service-text>p:not(.tag){font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 18px}.service-text .tag{font-size:9px;margin-bottom:9px}
.text-link{margin-top:auto;text-decoration:none;color:#236635;font-size:13px;font-weight:800;display:inline-flex;gap:9px;align-items:center}.text-link:hover,.person-body a:hover{color:#122f20;text-decoration:underline;text-underline-offset:4px}
.simple-cta{background:#0a2b20;color:#f5faf2}.simple-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:43px 0}.simple-cta h2{font:400 clamp(28px,2.8vw,40px)/1.17 Georgia,serif;margin:0 0 5px}.simple-cta p:not(.tag){font-size:13px;color:#c9dbca;margin:10px 0 0}.simple-cta .btn-outline{border-color:#bed9ae}
.simple-footer{background:#051910;border-top:1px solid #436249;color:#c9d8c9}.foot-grid{display:grid;grid-template-columns:1.05fr 1.7fr 1fr;gap:32px;padding:34px 0 38px;align-items:start}.footer-logo{display:inline-flex;align-items:center;gap:9px;color:#dfeecd;text-decoration:none;font-size:18px;font-weight:800}.footer-logo img{width:34px;height:36px;object-fit:contain}.foot-summary p{color:#afc5ac;font-size:12px;margin:11px 0 0}.simple-footer nav{display:flex;flex-wrap:wrap;gap:13px 18px;padding-top:10px}.simple-footer a{color:#dce8d7;text-decoration:none;font-size:12px;font-weight:700}.simple-footer a:hover{color:var(--lime)}.foot-meta{display:flex;flex-direction:column;align-items:end;gap:8px}.foot-meta small{font-size:10px;color:#89a188}
.stage-page-hero::before{background-position:center center}.stage-page-hero{min-height:430px}.stage-page-hero h1{font-size:clamp(58px,6vw,88px)}
.stage-strip{background:#f9fbf7;border-bottom:1px solid #cfdecf}.stage-strip-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:14px 0}.stage-strip-inner a{display:flex;justify-content:center;align-items:center;gap:11px;text-decoration:none;padding:13px;border-radius:5px;color:var(--ink);font-size:14px;font-weight:700}.stage-strip-inner a b{display:grid;place-items:center;width:31px;height:31px;background:#e6efdf;border-radius:50%;color:#28663c;font-size:13px}.stage-strip-inner a:hover,.stage-strip-inner a.active{background:#0f3726;color:#fff}.stage-strip-inner a:hover b,.stage-strip-inner a.active b{background:#a1d873;color:#103423}
.stage-explain{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:start;padding-bottom:15px}.stage-question h2{font:400 clamp(35px,3.2vw,48px)/1.12 Georgia,serif;letter-spacing:-.03em;margin:0 0 22px;max-width:600px}.stage-question p:last-child{line-height:1.75;color:var(--muted);font-size:16px;max-width:620px}.stage-outcome{border-left:2px solid #a1d873;padding:8px 0 10px 28px}.stage-outcome h3{font:400 26px/1.3 Georgia,serif;margin:3px 0 15px}.stage-outcome p:last-child{font-size:14px;line-height:1.7;color:var(--muted);margin:0}
.offering-section{padding-top:39px}.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.offer-mini{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white;color:var(--ink);transition:transform .2s,box-shadow .2s}.offer-mini:hover{transform:translateY(-3px);box-shadow:0 11px 35px #102c1719}.mini-visual{height:154px;overflow:hidden;background:#2b513b}.mini-visual img{width:100%;height:100%;object-fit:cover}.offer-mini>div:last-child{padding:20px 22px;flex:1;display:flex;flex-direction:column}.offer-mini h3{font:400 25px/1.18 Georgia,serif;margin:0 0 9px}.offer-mini p{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 15px}.offer-mini span{margin-top:auto;font-size:12px;font-weight:800;color:#27723b;display:flex;justify-content:space-between}
.team-hero{min-height:380px}.team-hero::before{filter:saturate(.92)}.team-hero h1{font-size:clamp(41px,5vw,72px)}
.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.person-card{background:#fff;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.person-photo{height:270px;background:#e4e9df}.person-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 29%}.person-body{padding:24px 24px 26px}.person-body h2{font:400 30px/1.1 Georgia,serif;margin:0 0 7px}.person-body h3{font:700 14px/1.45 Arial,sans-serif;color:#2e653c;margin:0 0 15px}.person-body p:not(.tag){font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 18px}.person-body a{font-size:13px;font-weight:800;color:#216234;text-decoration:none}
.contact-hero{min-height:350px}.contact-hero .hero-content{padding:55px 0 60px}.contact-hero h1{font-size:clamp(42px,5.2vw,72px)}.contact-section{padding-top:55px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.choice-card{background:white;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:9px;overflow:hidden;display:block;transition:transform .2s,box-shadow .2s;padding-bottom:24px}.choice-card:hover{transform:translateY(-2px);box-shadow:0 12px 35px #112c201a}.choice-photo{height:180px}.choice-photo img{display:block;width:100%;height:100%;object-fit:cover}.choice-card>.tag,.choice-card>h3,.choice-card>p,.choice-card>strong{margin-left:26px;margin-right:24px}.choice-card>.tag{margin-top:23px;margin-bottom:8px;display:block}.choice-card>h3{font:400 31px/1.13 Georgia,serif;margin-top:0;margin-bottom:10px}.choice-card>p{font-size:14px;color:var(--muted);line-height:1.6;max-width:470px}.choice-card>strong{font-size:13px;color:#247c3a;display:block;margin-top:20px}
.email-bar{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:21px 25px;border-radius:8px;background:#173d2b;color:white;margin-top:21px}.email-bar>div{display:flex;flex-direction:column;gap:7px}.email-bar strong{font:400 24px Georgia,serif}.email-bar span{color:#bfddbd;font-size:13px}.email-bar .btn{min-height:46px}
.form-head{background:#103b29;color:white;padding:44px 0 52px}.form-head .crumb{display:inline-block;color:#b6e68a;text-decoration:none;font-size:12px;font-weight:800;margin-bottom:33px}.form-head h1{font-size:clamp(35px,4vw,58px);max-width:750px}.form-head p:last-child{font-size:17px;line-height:1.55;max-width:570px;color:#e0eddb}.form-section{padding-top:49px;padding-bottom:70px}.form-wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:50px;align-items:start}.form-sidebar{padding:22px 25px 28px 0}.form-sidebar h2{font:400 38px/1.16 Georgia,serif;max-width:420px;margin:0 0 21px}.form-sidebar p{font-size:15px;color:var(--muted);line-height:1.75;max-width:400px}.form-sidebar .text-link{margin-top:18px}.request-form{background:white;border:1px solid var(--line);padding:30px;border-radius:9px;display:grid;gap:15px}.request-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:800;color:#214333}.request-form input,.request-form textarea,.request-form select{font:400 15px/1.5 Arial,sans-serif;border:1px solid #bdcabc;border-radius:5px;padding:12px 13px;min-height:48px;color:#113724;background:#fff;outline-offset:2px;min-width:0}.request-form textarea{resize:vertical}.request-form input:focus,.request-form textarea:focus,.request-form select:focus{outline:2px solid #94bf6d;border-color:#276739}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.request-form .btn{width:100%;margin-top:6px}.form-note{font-size:12px;color:#58705e;line-height:1.55;margin:0}.form-status{font-size:13px;color:#15522c;line-height:1.5}.form-status:empty{display:none}
@media(max-width:1080px){.wrap{width:calc(100% - 60px)}.page-hero .hero-content{padding:60px 0}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{grid-column:auto!important}.section-header{gap:22px}.people-grid{gap:14px}.person-photo{height:225px}.stage-explain{gap:28px}}
@media(max-width:890px){.foot-grid{grid-template-columns:1fr 1fr}.foot-meta{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.nav{gap:14px}.nav a{font-size:12px}.logo .wordmark{width:150px}.logo img:first-child{height:49px;width:44px}.page-hero h1{font-size:clamp(42px,5.6vw,64px)}}
@media(max-width:760px){.section{padding-top:46px;padding-bottom:50px}.wrap{width:calc(100% - 38px)}.page-hero{min-height:360px}.page-hero::after{background:linear-gradient(90deg,rgba(2,24,15,.94),rgba(2,24,15,.72)),linear-gradient(0deg,rgba(0,20,13,.55),transparent)}.page-hero .hero-content{padding:54px 0 57px}.page-hero h1{font-size:clamp(38px,9vw,56px)}.page-hero .hero-line{font-size:clamp(30px,7vw,40px)}.page-hero .hero-content>p:not(.tag){font-size:15px}.page-hero .btn{width:100%;justify-content:space-between}.hero-inline-actions,.cta-inline{flex-direction:column;width:100%}.section-header{display:block}.section-header h2{margin-bottom:14px;font-size:34px}.section-header>p{font-size:14px;max-width:none}.services-grid,.people-grid,.choice-grid,.mini-grid,.stage-explain,.form-wrap{grid-template-columns:1fr;gap:14px}.service-card{display:grid;grid-template-columns:140px 1fr}.service-img{height:100%;min-height:190px}.service-text{padding:18px}.service-text h2{font-size:24px}.service-text>p:not(.tag){font-size:13px;margin-bottom:14px}.mini-grid{gap:12px}.offer-mini{display:grid;grid-template-columns:125px 1fr;min-height:150px}.mini-visual{height:100%;min-height:150px}.offer-mini h3{font-size:22px}.offer-mini>div:last-child{padding:18px}.stage-strip-inner{gap:3px}.stage-strip-inner a{flex-direction:column;gap:6px;font-size:11px;padding:9px 3px}.stage-strip-inner a b{width:29px;height:29px}.stage-explain{gap:22px}.stage-outcome{margin:6px 0 0}.simple-cta-inner{padding:30px 0;align-items:stretch;flex-direction:column}.simple-cta .btn{width:100%}.simple-footer .foot-grid{padding:27px 0;display:block}.simple-footer nav{margin:22px 0}.foot-meta{align-items:flex-start;flex-direction:column}.person-card{display:grid;grid-template-columns:120px 1fr}.person-photo{height:100%;min-height:250px}.person-body{padding:22px 16px}.person-body h2{font-size:26px}.person-body h3{font-size:12px}.person-body p:not(.tag){font-size:12px}.choice-photo{height:130px}.email-bar{align-items:stretch;flex-direction:column}.email-bar .btn{width:100%}.form-sidebar{padding:0}.form-sidebar h2{font-size:30px}.request-form{padding:22px}.form-head{padding:28px 0 35px}}
@media(max-width:420px){.service-card{grid-template-columns:108px 1fr}.service-img{min-height:220px}.service-text{padding:15px 13px}.service-text h2{font-size:21px}.offer-mini{grid-template-columns:100px 1fr}.offer-mini>div:last-child{padding:13px}.offer-mini h3{font-size:18px}.offer-mini p{font-size:12px}.person-card{grid-template-columns:100px 1fr}.person-body{padding:16px 13px}.person-body h2{font-size:22px}.person-photo{min-height:250px}.field-row{grid-template-columns:1fr}.hero-inline-actions .btn{min-width:0;white-space:normal}}
@media(max-width:900px) and (min-width:761px){.top .nav-inner{gap:10px}.logo .divider{margin:0 12px}.logo .wordmark{width:140px}.nav{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Very small phones: keep the approved logo intact but scale the lockup together. */
@media(max-width:360px){.logo img:first-child{width:32px;height:38px}.logo .divider{height:29px;margin:0 7px}.logo .wordmark{width:110px;max-height:30px}.hamburger{padding:8px 9px;min-height:39px;font-size:10px}.hamburger svg{width:16px;height:16px}.nav-inner{gap:6px}}

/* V11: service areas have their own destinations, separate from the four methodology stages. */
.service-detail-page .service-area-hero{min-height:410px}
.service-detail-page .service-area-hero .hero-line{max-width:920px;font-size:clamp(27px,3.15vw,46px)}
.service-hero-back{color:var(--lime);text-decoration:underline;text-decoration-color:#a1d87380;text-underline-offset:4px}
.service-hero-back:hover{color:white}
.service-detail-summary{display:grid;grid-template-columns:1.28fr 1fr;gap:55px;align-items:start;padding-bottom:10px}
.service-question h2{font:400 clamp(33px,3.2vw,45px)/1.15 Georgia,serif;margin:0 0 20px;letter-spacing:-.03em;max-width:650px}
.service-question p:last-child{font-size:16px;color:var(--muted);line-height:1.7;max-width:620px}
.service-result{border-left:2px solid var(--lime);padding:8px 0 10px 28px}
.service-result h3{font:400 clamp(25px,2.5vw,31px)/1.25 Georgia,serif;margin:0 0 14px}
.service-result p:last-child{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.service-areas-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-return{margin:22px 0 0}
.service-methods{background:#f9fbf7;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:42px 0 48px}
.service-methods-head h2{font:400 clamp(30px,3vw,42px)/1.1 Georgia,serif;margin:0 0 12px;letter-spacing:-.025em}
.service-methods-head p:not(.tag){font-size:14px;color:var(--muted);margin:0 0 22px}
.service-methods-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 23px}
.service-methods-grid a{display:flex;align-items:center;gap:10px;text-decoration:none;background:white;padding:12px;border-radius:5px;border:1px solid var(--line);color:var(--ink);font-size:14px;font-weight:700;transition:background .2s}
.service-methods-grid a:hover,.service-methods-grid a:focus-visible{background:#e5f1da}
.service-methods-grid b{display:grid;place-items:center;flex:0 0 30px;height:30px;background:#deebd5;color:#153c2a;border-radius:50%}
@media(max-width:1000px){.service-areas-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail-summary{gap:24px}}
@media(max-width:760px){.service-detail-page .service-area-hero .hero-line{font-size:clamp(25px,7vw,36px)}.service-detail-summary{grid-template-columns:1fr;gap:25px}.service-areas-mini-grid{grid-template-columns:1fr}.service-methods{padding:33px 0 36px}.service-methods-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.service-methods-grid a{font-size:13px;padding:9px;gap:8px}.service-methods-grid b{height:26px;flex-basis:26px}}
@media(max-width:360px){.service-detail-page .service-area-hero h1{font-size:clamp(34px,9vw,43px)}}
/* Keep four related offering cards balanced on wide desktop instead of orphaning the fourth. */
@media (min-width:1100px){
 .service-areas-mini-grid:has(> :nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
 .service-areas-mini-grid:has(> :nth-child(4)) .offer-mini h3{font-size:22px}
}
@media (min-width:761px) and (max-width:1099px){
 .service-areas-mini-grid:has(> :nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Align the Facility & Infrastructure service image grading with adjacent cards. */
.service-card#facility-infrastructure .service-img img { filter: brightness(.48) saturate(.88); }
