@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;1,400&family=Montserrat:wght@300;400;500;600;700&display=swap');
:root{--clr-primary:#006b29;--clr-secondary:#08d951;--clr-accent:#e2df73;--clr-bg:#faf8f5;--clr-dark:#0d1f13;--clr-white:#fff;--clr-gray:#5a6b60;--clr-border:#dde3df;--ff-heading:'Playfair Display',Georgia,serif;--ff-body:'Montserrat',sans-serif;--fw-light:300;--fw-reg:400;--fw-med:500;--fw-semi:600;--fw-bold:700;--transition:all .3s ease;--shadow-sm:0 2px 8px rgba(0,107,41,.1);--shadow-md:0 4px 24px rgba(0,107,41,.15);--shadow-lg:0 8px 40px rgba(0,107,41,.2);--max-w:1200px;--narrow-w:860px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--ff-body);font-weight:var(--fw-reg);color:var(--clr-dark);background:var(--clr-bg);line-height:1.75;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:var(--transition)}
a,button,input,select,textarea{min-height:44px}
button{cursor:pointer;border:none;background:none;font-family:var(--ff-body)}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-heading);line-height:1.15;color:var(--clr-primary)}
p{margin-bottom:1rem}
p:last-child{margin-bottom:0}
.skip-link{position:absolute;top:-100%;left:1rem;background:var(--clr-primary);color:var(--clr-white);padding:.75rem 1.5rem;z-index:9999;font-size:.875rem;font-weight:var(--fw-semi);letter-spacing:.05em;text-transform:uppercase;border:2px solid var(--clr-accent);min-height:44px;display:inline-flex;align-items:center}
.skip-link:focus{top:1rem}
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
.container--narrow{width:100%;max-width:var(--narrow-w);margin:0 auto;padding:0 1.5rem}
.section{padding:6rem 0}
.section--dark{background:var(--clr-primary)}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4,.section--dark p{color:var(--clr-white)}
.section--cream{background:var(--clr-bg)}
.section--white{background:var(--clr-white)}
.text-center{text-align:center}
.text-left{text-align:left}
.section-label{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--ff-body);font-size:.75rem;font-weight:var(--fw-semi);letter-spacing:.18em;text-transform:uppercase;color:var(--clr-accent);margin-bottom:1.25rem}
.section-label::before,.section-label::after{content:'';display:inline-block;width:2rem;height:1px;background:var(--clr-accent)}
.section-label--left::before{display:none}
.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:var(--fw-bold);color:var(--clr-primary);margin-bottom:1.25rem;line-height:1.1}
.section--dark .section-title{color:var(--clr-white)}
.section-subtitle{font-size:1.0625rem;color:var(--clr-gray);margin:0 auto 3rem;max-width:600px;line-height:1.8}
.section--dark .section-subtitle{color:rgba(255,255,255,.7)}
.geo-diamond{display:inline-block;width:10px;height:10px;background:var(--clr-accent);transform:rotate(45deg)}
.geo-line{width:4rem;height:2px;background:var(--clr-accent);margin:1.25rem 0}
.geo-line--center{margin:1.25rem auto}
.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--clr-white);transition:var(--transition);border-bottom:1px solid rgba(0,107,41,.12);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.header.scrolled{border-bottom-color:var(--clr-primary);box-shadow:0 4px 24px rgba(0,0,0,.1)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:80px;max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
.nav-logo{display:flex;align-items:center;flex-shrink:0;min-height:auto}
.nav-logo img{height:65px;width:auto;object-fit:contain}
.nav-menu{display:flex;align-items:center;gap:2.25rem}
.nav-link{font-family:var(--ff-body);font-size:.8125rem;font-weight:var(--fw-semi);letter-spacing:.1em;text-transform:uppercase;color:var(--clr-primary);position:relative;padding-bottom:4px;min-height:auto;display:inline-block}
.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--clr-primary);transition:width .3s ease}
.nav-link:hover,.nav-link.active{color:var(--clr-secondary)}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.5rem;background:var(--clr-accent);color:var(--clr-primary);font-size:.8125rem;font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--clr-accent);min-height:40px;transition:var(--transition)}
.nav-cta:hover{background:transparent;color:var(--clr-primary);border-color:var(--clr-primary)}
.hamburger{display:none;flex-direction:column;gap:5px;width:28px;cursor:pointer;padding:8px 0;min-height:auto;background:none;border:none}
.hamburger span{display:block;width:100%;height:2px;background:var(--clr-primary);transition:var(--transition)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:translateX(-8px)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;position:fixed;top:80px;left:0;right:0;bottom:0;background:var(--clr-primary);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:2rem;overflow-y:auto}
.mobile-nav.open{display:flex}
.mobile-nav .nav-link{font-size:1.125rem;letter-spacing:.12em;color:rgba(255,255,255,.9)}
.mobile-nav .nav-cta{font-size:.9375rem;padding:.875rem 2.5rem;min-height:52px}
.hero{position:relative;min-height:100vh;background:var(--clr-primary);display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:80px}
.hero-bg-pattern{position:absolute;inset:0;opacity:.05;background-image:linear-gradient(var(--clr-secondary) 1px,transparent 1px),linear-gradient(90deg,var(--clr-secondary) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}
.hero-geo-1{position:absolute;top:10%;right:8%;width:180px;height:180px;border:1px solid rgba(226,223,115,.12);transform:rotate(45deg)}
.hero-geo-2{position:absolute;bottom:15%;left:6%;width:120px;height:120px;border:1px solid rgba(226,223,115,.08);transform:rotate(45deg)}
.hero-geo-3{position:absolute;top:30%;right:22%;width:55px;height:55px;background:rgba(226,223,115,.06);transform:rotate(45deg)}
.hero-geo-4{position:absolute;bottom:35%;right:14%;width:35px;height:35px;border:1px solid rgba(8,217,81,.18);transform:rotate(45deg)}
.hero-geo-5{position:absolute;top:55%;left:10%;width:25px;height:25px;background:rgba(8,217,81,.1);transform:rotate(45deg)}
.hero-content{position:relative;z-index:2;text-align:center;padding:2rem 1.5rem;max-width:800px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-size:.75rem;font-weight:var(--fw-semi);letter-spacing:.2em;text-transform:uppercase;color:var(--clr-accent);margin-bottom:2rem}
.hero-eyebrow::before,.hero-eyebrow::after{content:'';width:2.5rem;height:1px;background:var(--clr-accent)}
.hero-title{font-family:var(--ff-heading);font-size:clamp(3rem,7vw,5.5rem);font-weight:800;color:var(--clr-white);line-height:1.05;letter-spacing:-.02em;margin-bottom:1.5rem}
.hero-title span{color:var(--clr-accent)}
.hero-subtitle{font-size:1.125rem;color:rgba(255,255,255,.68);max-width:520px;margin:0 auto 2.75rem;font-weight:var(--fw-light);line-height:1.85}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.35);font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;z-index:2;min-height:auto}
.hero-scroll-line{width:1px;height:50px;background:linear-gradient(var(--clr-accent),transparent);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.3;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;font-family:var(--ff-body);font-size:.8125rem;font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;border:2px solid transparent;transition:var(--transition);min-height:48px;position:relative}
.btn-primary{background:var(--clr-secondary);color:var(--clr-dark);border-color:var(--clr-secondary)}
.btn-primary:hover{background:transparent;color:var(--clr-secondary);border-color:var(--clr-secondary)}
.btn-outline{background:transparent;color:var(--clr-white);border-color:rgba(255,255,255,.45)}
.btn-outline:hover{background:var(--clr-white);color:var(--clr-primary);border-color:var(--clr-white)}
.btn-accent{background:var(--clr-accent);color:var(--clr-primary);border-color:var(--clr-accent)}
.btn-accent:hover{background:transparent;color:var(--clr-accent);border-color:var(--clr-accent)}
.btn-dark{background:var(--clr-primary);color:var(--clr-white);border-color:var(--clr-primary)}
.btn-dark:hover{background:transparent;color:var(--clr-primary);border-color:var(--clr-primary)}
.btn-lg{padding:1.125rem 2.75rem;font-size:.9375rem;min-height:56px}
.stat-bar{background:var(--clr-accent);padding:3rem 0}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.stat-number{font-family:var(--ff-heading);font-size:2.75rem;font-weight:800;color:var(--clr-primary);line-height:1}
.stat-label{font-size:.75rem;font-weight:var(--fw-semi);letter-spacing:.12em;text-transform:uppercase;color:rgba(13,31,19,.7);margin-top:.5rem}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-image-wrap{position:relative}
.about-image-wrap::before{content:'';position:absolute;top:1.5rem;left:1.5rem;right:-1.5rem;bottom:-1.5rem;border:2px solid var(--clr-accent);z-index:0}
.about-image-wrap img{position:relative;z-index:1;width:100%;aspect-ratio:4/3;object-fit:cover}
.about-feature{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start}
.about-feature-icon{flex-shrink:0;width:40px;height:40px;min-height:auto;background:var(--clr-primary);display:flex;align-items:center;justify-content:center}
.about-feature-icon svg{width:20px;height:20px;fill:none;stroke:var(--clr-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.about-feature-text h4{font-family:var(--ff-heading);font-size:1rem;font-weight:var(--fw-semi);color:var(--clr-primary);margin-bottom:.25rem}
.about-feature-text p{font-size:.9rem;color:var(--clr-gray);margin:0}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{background:var(--clr-white);border:1px solid var(--clr-border);padding:2.5rem 2rem;position:relative;transition:var(--transition);overflow:hidden}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--clr-primary);transition:var(--transition)}
.service-card::after{content:'';position:absolute;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 40px 40px;border-color:transparent transparent var(--clr-bg) transparent;transition:var(--transition)}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.service-card:hover::before{background:var(--clr-secondary);height:4px}
.service-icon{width:52px;height:52px;min-height:auto;background:var(--clr-primary);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;transform:rotate(45deg)}
.service-icon svg{transform:rotate(-45deg);width:22px;height:22px;fill:none;stroke:var(--clr-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-title{font-family:var(--ff-heading);font-size:1.25rem;font-weight:var(--fw-semi);color:var(--clr-primary);margin-bottom:.75rem}
.service-desc{font-size:.9rem;color:var(--clr-gray);line-height:1.75;margin:0}
.service-card:hover .service-title{color:var(--clr-primary)}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem}
.why-item{display:flex;gap:1.25rem;align-items:flex-start;padding:2rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.why-number{font-family:var(--ff-heading);font-size:2.5rem;font-weight:800;color:var(--clr-accent);line-height:1;flex-shrink:0;min-width:3rem}
.why-text h3{font-family:var(--ff-heading);font-size:1.125rem;font-weight:var(--fw-semi);color:var(--clr-white);margin-bottom:.5rem}
.why-text p{font-size:.875rem;color:rgba(255,255,255,.62);margin:0;line-height:1.75}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.team-grid--two{grid-template-columns:repeat(2,1fr);max-width:640px;margin:0 auto}
.team-card{text-align:center;position:relative}
.team-photo-wrap{position:relative;display:block;width:100%;margin-bottom:1.5rem}
.team-photo-wrap::before{content:'';position:absolute;top:-.75rem;left:-.75rem;right:.75rem;bottom:.75rem;border:2px solid var(--clr-accent);z-index:0;opacity:.45;transition:var(--transition)}
.team-photo{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;position:relative;z-index:1;filter:grayscale(15%);transition:var(--transition)}
.team-card:hover .team-photo{filter:grayscale(0%)}
.team-card:hover .team-photo-wrap::before{opacity:.9}
.team-name{font-family:var(--ff-heading);font-size:1.25rem;font-weight:var(--fw-semi);color:var(--clr-primary);margin-bottom:.35rem}
.team-role{font-size:.75rem;font-weight:var(--fw-semi);letter-spacing:.12em;text-transform:uppercase;color:var(--clr-white);background:var(--clr-primary);display:inline-block;padding:.3rem 1rem;margin-bottom:.75rem}
.team-bio{font-size:.875rem;color:var(--clr-gray);line-height:1.7}
.culture-hero{position:relative;overflow:hidden;background:var(--clr-dark)}
.culture-hero img{width:100%;height:460px;object-fit:cover;object-position:center top;opacity:.6}
.culture-hero-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem}
.culture-hero-content h2{font-family:var(--ff-heading);font-size:clamp(2.5rem,5vw,4rem);font-weight:800;color:var(--clr-white);margin-bottom:1rem}
.culture-hero-content p{font-size:1.0625rem;color:rgba(255,255,255,.8);max-width:560px}
.culture-values{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.value-card{padding:2.5rem 2rem;border-left:3px solid var(--clr-accent);background:var(--clr-white)}
.value-card h3{font-family:var(--ff-heading);font-size:1.25rem;color:var(--clr-primary);margin-bottom:.75rem}
.value-card p{font-size:.9rem;color:var(--clr-gray);margin:0;line-height:1.75}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.contact-info-item{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--clr-border)}
.contact-info-item:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}
.contact-icon{width:48px;height:48px;min-height:auto;background:var(--clr-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-icon svg{width:20px;height:20px;fill:none;stroke:var(--clr-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-info-label{font-size:.75rem;font-weight:var(--fw-semi);letter-spacing:.1em;text-transform:uppercase;color:var(--clr-gray);margin-bottom:.3rem}
.contact-info-value{font-size:.9375rem;color:var(--clr-dark);font-weight:var(--fw-med);line-height:1.6}
.contact-info-value a{color:var(--clr-primary)}
.contact-info-value a:hover{color:var(--clr-secondary)}
.map-wrap{width:100%;height:320px;border:2px solid var(--clr-border);overflow:hidden;margin-top:2rem}
.map-wrap iframe{width:100%;height:100%;border:none}
.form-wrap{background:var(--clr-white);padding:2.5rem;border:1px solid var(--clr-border)}
.form-group{margin-bottom:1.25rem}
.form-label{display:block;font-size:.75rem;font-weight:var(--fw-semi);letter-spacing:.1em;text-transform:uppercase;color:var(--clr-primary);margin-bottom:.5rem;min-height:auto}
.form-label .required{color:#c0392b;margin-left:2px}
.form-control{width:100%;padding:.75rem 1rem;font-family:var(--ff-body);font-size:.9375rem;color:var(--clr-dark);background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:0;transition:var(--transition);min-height:44px;appearance:none;-webkit-appearance:none}
.form-control:focus{outline:none;border-color:var(--clr-primary);background:var(--clr-white);box-shadow:0 0 0 3px rgba(0,107,41,.08)}
textarea.form-control{min-height:130px;resize:vertical}
select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23006b29' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.75rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form-check{display:flex;align-items:flex-start;gap:.75rem;margin-top:.5rem}
.form-check input[type="checkbox"]{width:18px;height:18px;min-height:18px;flex-shrink:0;accent-color:var(--clr-primary);margin-top:3px}
.form-check label{font-size:.875rem;color:var(--clr-gray);line-height:1.65;cursor:pointer;min-height:auto}
.form-check a{color:var(--clr-primary);text-decoration:underline}
.honeypot{display:none!important;visibility:hidden!important;position:absolute!important;left:-9999px!important}
.form-file-label{display:block;font-size:.75rem;font-weight:var(--fw-semi);letter-spacing:.1em;text-transform:uppercase;color:var(--clr-primary);margin-bottom:.5rem}
.form-file{width:100%;padding:.75rem 1rem;font-family:var(--ff-body);font-size:.875rem;background:var(--clr-bg);border:1px dashed var(--clr-border);cursor:pointer;transition:var(--transition);min-height:44px;color:var(--clr-gray)}
.form-file:hover{border-color:var(--clr-primary);background:var(--clr-white)}
.btn-submit{width:100%;margin-top:.75rem}
.form-message{padding:1rem 1.25rem;font-size:.9375rem;font-weight:var(--fw-med);border-left:4px solid;display:none;line-height:1.6;margin-top:1rem}
.form-message.success{border-color:var(--clr-secondary);background:rgba(8,217,81,.08);color:var(--clr-primary)}
.form-message.error{border-color:#c0392b;background:rgba(192,57,43,.07);color:#a93226}
.form-message.visible{display:block}
.page-header{background:var(--clr-primary);padding:9rem 0 5rem;position:relative;overflow:hidden}
.page-header::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:50px;background:var(--clr-bg);clip-path:polygon(0 100%,100% 100%,100% 0)}
.page-header-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(8,217,81,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(8,217,81,.04) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.page-header-title{font-family:var(--ff-heading);font-size:clamp(2.25rem,5vw,3.75rem);font-weight:800;color:var(--clr-white);margin-bottom:.75rem}
.page-header-subtitle{color:rgba(255,255,255,.68);font-size:1.0625rem;max-width:560px;line-height:1.75}
.breadcrumb{padding:1rem 0}
.breadcrumb-list{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.breadcrumb-item{font-size:.8125rem;color:rgba(255,255,255,.55);min-height:auto}
.breadcrumb-item a{color:rgba(255,255,255,.75);font-weight:var(--fw-med)}
.breadcrumb-item a:hover{color:var(--clr-accent)}
.breadcrumb-sep{color:rgba(255,255,255,.3)}
.breadcrumb--light .breadcrumb-item{color:var(--clr-gray)}
.breadcrumb--light .breadcrumb-item a{color:var(--clr-primary)}
.breadcrumb--light .breadcrumb-sep{color:var(--clr-border)}
.footer{background:var(--clr-dark);color:rgba(255,255,255,.7);padding:5rem 0 0}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:3rem;margin-bottom:4rem}
.footer-logo{margin-bottom:1.5rem;min-height:auto}
.footer-logo img{height:130px;width:auto;object-fit:contain;filter:brightness(1.05)}
.footer-desc{font-size:.875rem;line-height:1.85;color:rgba(255,255,255,.55);margin-bottom:1.5rem}
.footer-heading{font-family:var(--ff-body);font-size:.75rem;font-weight:var(--fw-bold);letter-spacing:.15em;text-transform:uppercase;color:var(--clr-accent);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-links li{margin-bottom:.625rem}
.footer-links a{font-size:.875rem;color:rgba(255,255,255,.58);transition:var(--transition);display:inline-block;min-height:auto}
.footer-links a:hover{color:var(--clr-accent);padding-left:.4rem}
.footer-contact-item{display:flex;gap:.875rem;margin-bottom:1rem;font-size:.875rem;color:rgba(255,255,255,.6);align-items:flex-start}
.footer-contact-item svg{width:15px;height:15px;fill:none;stroke:var(--clr-accent);stroke-width:2;stroke-linecap:round;flex-shrink:0;margin-top:3px}
.hours-row{display:flex;justify-content:space-between;font-size:.8125rem;padding:.375rem 0;border-bottom:1px solid rgba(255,255,255,.05);color:rgba(255,255,255,.58)}
.hours-row:last-child{border-bottom:none}
.hours-row span:last-child{color:var(--clr-accent)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding:1.75rem 0}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer-copy{font-size:.8125rem;color:rgba(255,255,255,.4)}
.footer-legal-links{display:flex;gap:1.5rem;flex-wrap:wrap}
.footer-legal-links a{font-size:.8125rem;color:rgba(255,255,255,.4);transition:var(--transition);min-height:auto}
.footer-legal-links a:hover{color:var(--clr-accent)}
.back-to-top{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;background:var(--clr-primary);border:2px solid var(--clr-accent);color:var(--clr-accent);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:500;opacity:0;transform:translateY(16px);transition:var(--transition);min-height:48px}
.back-to-top.visible{opacity:1;transform:translateY(0)}
.back-to-top:hover{background:var(--clr-accent);color:var(--clr-primary)}
.back-to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}
.cta-banner{background:var(--clr-secondary);padding:5.5rem 0;position:relative;overflow:hidden}
.cta-banner::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(0,107,41,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,107,41,.07) 1px,transparent 1px);background-size:40px 40px}
.cta-banner-content{position:relative;z-index:1;text-align:center}
.cta-banner h2{font-family:var(--ff-heading);font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--clr-primary);margin-bottom:1rem}
.cta-banner p{font-size:1.0625rem;color:rgba(13,31,19,.78);max-width:520px;margin:0 auto 2.5rem;line-height:1.8}
.policy-content{padding:4rem 0}
.policy-content h2{font-family:var(--ff-heading);font-size:1.5rem;font-weight:var(--fw-semi);color:var(--clr-primary);margin:2.5rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--clr-border)}
.policy-content h3{font-family:var(--ff-heading);font-size:1.125rem;font-weight:var(--fw-semi);color:var(--clr-primary);margin:1.75rem 0 .5rem}
.policy-content p{font-size:.9375rem;color:#4a5568;line-height:1.85;margin-bottom:1rem}
.policy-content ul,.policy-content ol{padding-left:1.75rem;margin-bottom:1.25rem}
.policy-content ul{list-style:disc}
.policy-content ol{list-style:decimal}
.policy-content li{font-size:.9375rem;color:#4a5568;line-height:1.85;margin-bottom:.5rem}
.policy-date{font-size:.875rem;color:var(--clr-gray);margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:2px solid var(--clr-accent)}
.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--clr-primary);padding:2rem;text-align:center}
.error-inner{max-width:600px}
.error-code{font-family:var(--ff-heading);font-size:clamp(7rem,18vw,14rem);font-weight:800;color:transparent;-webkit-text-stroke:2px var(--clr-accent);line-height:1;margin-bottom:.5rem}
.error-title{font-family:var(--ff-heading);font-size:clamp(1.75rem,4vw,2.75rem);color:var(--clr-white);margin-bottom:1rem}
.error-desc{color:rgba(255,255,255,.62);max-width:460px;margin:0 auto 2.5rem;font-size:1rem;line-height:1.85}
.error-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.animate-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.animate-on-scroll.visible{opacity:1;transform:translateY(0)}
.animate-delay-1{transition-delay:.1s}
.animate-delay-2{transition-delay:.2s}
.animate-delay-3{transition-delay:.3s}
.animate-delay-4{transition-delay:.4s}
.animate-delay-5{transition-delay:.5s}
*:focus-visible{outline:2px solid var(--clr-secondary);outline-offset:3px}
.apply-intro{padding:4rem 0 2rem}
.apply-intro h2{font-family:var(--ff-heading);font-size:clamp(1.75rem,3.5vw,2.5rem);color:var(--clr-primary);margin-bottom:1rem}
.apply-intro p{font-size:.9375rem;color:var(--clr-gray);max-width:620px;line-height:1.8}
.section-divider{width:100%;height:1px;background:linear-gradient(to right,transparent,var(--clr-border),transparent);margin:0}
@media(max-width:1200px){.services-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}}
@media(max-width:1024px){.about-grid{grid-template-columns:1fr;gap:3rem}.contact-grid{grid-template-columns:1fr;gap:2.5rem}.team-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:1fr}.culture-values{grid-template-columns:1fr 1fr}.about-image-wrap::before{display:none}}
@media(max-width:768px){.nav-menu{display:none}.nav-cta{display:none}.hamburger{display:flex}.section{padding:4rem 0}.hero-title{font-size:clamp(2.5rem,8vw,3.5rem)}.stat-grid{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}.culture-values{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.footer-bottom-inner{flex-direction:column;text-align:center}.form-row{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}.culture-hero img{height:320px}.map-wrap{height:260px}}
@media(max-width:480px){.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn{width:100%;max-width:300px}.stat-grid{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr}.team-grid--two{grid-template-columns:1fr}.error-links{flex-direction:column;align-items:center}.footer-grid{grid-template-columns:1fr}}
