﻿@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{--ink:#142c29;--forest:#173d35;--forest2:#204c42;--mint:#d7e9d8;--lime:#d6ee90;--cream:#f7f7f1;--line:#dbe3dc;--muted:#5d716b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{max-width:100%}.container{width:min(1180px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;padding:12px;z-index:100}.site-header{position:sticky;top:0;z-index:50;background:rgba(247,247,241,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:800;font-size:20px;letter-spacing:-.055em}.brand-mark{width:35px;height:38px;flex:none}.brand small{display:block;font:700 8px 'DM Sans',sans-serif;letter-spacing:.16em;color:#608277;margin-top:1px}.nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700}.nav a:not(.button):hover,.nav a[aria-current=page]{color:#37806a}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:0 22px;border:1px solid transparent;border-radius:7px;background:var(--lime);color:var(--ink);font-weight:800;font-size:13px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#e2f5a9}.button.dark{background:var(--forest);color:white}.button.dark:hover{background:#285b4d}.button.outline{background:transparent;color:white;border-color:#78948b}.button.outline:hover{background:#ffffff18}.menu-toggle{display:none;background:none;border:0;font-size:25px;color:var(--ink)}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:800;color:#5b927a}.eyebrow.light{color:#c4ddab}.hero{background:var(--forest);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;min-height:620px;align-items:center;gap:50px}.hero-copy{padding:90px 0}.hero h1,.page-hero h1{font:800 clamp(48px,6.5vw,83px)/1.05 Manrope,sans-serif;letter-spacing:-.065em;margin:21px 0 23px}.hero h1 em{font-style:normal;color:var(--lime)}.hero p,.page-hero p{max-width:590px;font-size:17px;line-height:1.75;color:#d3e2d9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-art{height:480px;position:relative;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;border:1px solid #658d79;border-radius:50%;width:440px;height:440px}.orbit.two{width:330px;height:330px}.orbit.three{width:220px;height:220px}.core{width:135px;height:135px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--forest);font:800 55px Manrope;box-shadow:0 0 0 22px #d6ee901c}.orbit-label{position:absolute;background:#285548;border:1px solid #6c9c84;border-radius:8px;padding:13px 17px;font-size:12px;font-weight:800;box-shadow:0 15px 35px #0b28294d}.orbit-label.a{top:55px;left:20px}.orbit-label.b{right:0;top:180px}.orbit-label.c{bottom:40px;left:50px}.trust-strip{background:#eaf0e7;border-bottom:1px solid var(--line)}.trust-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px 0;color:#426256;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.section{padding:100px 0}.section.tight{padding:70px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section h2,.section-heading h2{font:800 clamp(34px,4vw,52px)/1.12 Manrope,sans-serif;letter-spacing:-.055em;margin:12px 0 0}.section-lead{font-size:16px;line-height:1.75;color:var(--muted);max-width:530px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{padding:32px;background:white;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:325px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);box-shadow:0 20px 45px #173d3514}.card-number{font:800 12px Manrope;color:#5a947b}.card-icon{height:52px;width:52px;border-radius:12px;background:#e6f0e6;display:grid;place-items:center;color:var(--forest);font-size:24px;margin:21px 0}.card h3{font:800 23px Manrope;letter-spacing:-.04em;margin:0 0 10px}.card p{color:var(--muted);line-height:1.65;font-size:14px;margin:0 0 25px}.text-link{margin-top:auto;font-weight:800;font-size:13px;color:#286c53}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.feature-panel{background:#dfeadf;min-height:430px;border-radius:15px;padding:40px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.feature-panel:after{content:'';position:absolute;width:370px;height:370px;border:1px solid #9fbd9e;border-radius:50%;right:-150px;bottom:-140px;box-shadow:0 0 0 70px #bed3bc55,0 0 0 140px #bed3bc44}.panel-kicker{font-size:11px;font-weight:800;letter-spacing:.17em;color:#547e62}.panel-big{font:800 clamp(38px,5vw,62px)/1.1 Manrope;letter-spacing:-.06em;max-width:340px;z-index:1}.check-list{list-style:none;padding:0;margin:25px 0}.check-list li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;line-height:1.5;font-size:14px}.check-list li:before{content:'\2713';color:#438364;font-weight:800}.dark-band{background:var(--forest);color:white}.dark-band .section-lead{color:#c1d6c9}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}.step{border-top:1px solid #6b907b;padding-top:20px}.step span{color:var(--lime);font:800 13px Manrope}.step h3{font:800 22px Manrope;letter-spacing:-.04em;margin:20px 0 10px}.step p{color:#c4d8cb;line-height:1.65;font-size:14px}.cta{background:var(--lime);padding:75px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.cta h2{font:800 clamp(32px,4vw,50px)/1.15 Manrope;letter-spacing:-.06em;max-width:720px;margin:0}.footer{background:#102b26;color:white;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:35px}.footer .brand{color:white}.footer p{color:#a9c3b7;line-height:1.7;font-size:13px;max-width:280px}.footer h2{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--lime);margin:0 0 18px}.footer a,.footer span{display:block;font-size:13px;color:#c5d8ce;margin:0 0 11px}.footer a:hover{color:white}.copyright{border-top:1px solid #36554a;margin-top:50px;padding-top:23px;color:#8aa69b;font-size:12px}.page-hero{background:var(--forest);color:white;padding:95px 0 105px}.page-hero h1{max-width:850px;font-size:clamp(45px,5vw,68px)}.page-hero p{max-width:700px;margin:0}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.content-block{background:white;border:1px solid var(--line);border-radius:12px;padding:36px}.content-block .num{font-size:12px;color:#62957a;font-weight:800}.content-block h3{font:800 24px Manrope;letter-spacing:-.04em;margin:20px 0 10px}.content-block p{line-height:1.7;color:var(--muted);font-size:14px;margin:0}.contact-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:45px}.form-card{background:white;border:1px solid var(--line);border-radius:13px;padding:38px}.form-card h2{font:800 30px Manrope;letter-spacing:-.05em;margin:0 0 24px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{margin-bottom:18px}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd8cf;border-radius:6px;padding:13px 14px;background:#fbfcfa;color:var(--ink)}.field :focus{outline:2px solid #8bbd9a;outline-offset:1px}.form-status{font-size:13px;line-height:1.5;margin:15px 0}.contact-aside{padding:10px 0}.contact-aside h3{font:800 25px Manrope;letter-spacing:-.04em}.contact-detail{padding:22px 0;border-bottom:1px solid var(--line);font-size:14px}.contact-detail span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.contact-detail a{font-weight:800}.note{background:#e9f0e8;padding:24px;border-radius:8px;margin-top:30px;font-size:13px;line-height:1.6;color:#46665a}@media(max-width:800px){.header-inner{min-height:70px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:25px 24px;box-shadow:0 12px 18px #102b261b;flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:0}.hero-copy{padding:80px 0 0}.hero-art{height:350px}.orbit{width:320px;height:320px}.orbit.two{width:240px;height:240px}.orbit.three{width:160px;height:160px}.orbit-label.a{top:14px}.orbit-label.b{right:0;top:150px}.orbit-label.c{bottom:8px}.cards,.process{grid-template-columns:1fr}.card{min-height:260px}.section{padding:70px 0}.split{gap:40px}.footer-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.cta-inner{align-items:start;flex-direction:column}}@media(max-width:500px){.container{width:min(100% - 32px,1180px)}.hero h1{font-size:49px}.hero-art{height:310px}.orbit{width:285px;height:285px}.orbit.two{width:210px;height:210px}.orbit.three{width:140px;height:140px}.orbit-label{font-size:10px;padding:10px}.section-heading{display:block}.field-row,.footer-grid{grid-template-columns:1fr}.form-card{padding:23px}.page-hero{padding:75px 0}.cta{padding:55px 0}}
:root{--muted:#50665c}
.brand small{color:#365d4e}
.nav a:not(.button):hover,.nav a[aria-current=page]{color:#215f47}
.eyebrow{color:#286b4e}
.text-link{color:#205f47;text-decoration:underline;text-underline-offset:4px}
.panel-kicker{color:#345e43}
.site-header :focus-visible,.footer :focus-visible,.button:focus-visible,.card:focus-visible,.text-link:focus-visible,.field :focus-visible,.menu-toggle:focus-visible{outline:3px solid #bce27f;outline-offset:4px}
.skip:focus{left:16px;top:16px;outline:3px solid #1b664a;outline-offset:2px}
.menu-toggle{min-width:44px;min-height:44px;border-radius:5px}
.coast-art{margin:0;display:flex;align-items:stretch;justify-content:center;flex-direction:column;height:auto;max-width:530px;position:relative}
.coast-art img{width:100%;height:auto;aspect-ratio:900/680;object-fit:cover;border-radius:16px;box-shadow:0 28px 80px #09282180}
.coast-art figcaption{position:absolute;bottom:18px;left:18px;right:18px;background:#10392edb;border:1px solid #aac8aa88;color:#fff;padding:14px 16px;border-radius:7px;font-size:10px;font-weight:800;letter-spacing:.12em;text-align:center}
.coast-art figcaption span{margin:0 8px;color:var(--lime)}
.coastal-panel{background:#173d35 url('douglas-fir-forest.webp') center 48%/cover no-repeat;color:#fff;isolation:isolate;box-shadow:0 22px 50px #12382b24}
.coastal-panel:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b2a25eb 0%,#0d302bdb 48%,#0b2a2599 100%);z-index:-1}
.coastal-panel:after{display:none}
.coastal-panel .panel-kicker{color:#e0f2cc;position:relative;z-index:1}
.coastal-panel .panel-big{max-width:400px;font-family:Manrope,sans-serif;font-size:clamp(38px,4vw,56px);text-wrap:balance}
@media(max-width:500px){.coastal-panel{min-height:390px;padding:30px;background-position:43% center}.coastal-panel .panel-big{font-size:clamp(36px,9vw,48px)}}
.about-art{margin:0;position:relative;border-radius:14px;overflow:hidden;background:#dce9d7;min-height:400px}
.about-art img{width:100%;height:100%;min-height:400px;object-fit:cover;display:block}
.about-art figcaption{position:absolute;bottom:18px;left:18px;right:18px;background:#173d35ed;color:#fff;padding:13px 16px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.12em}
.about-art figcaption span{color:var(--lime);padding:0 7px}
.coast-story{background:#e9f0e8}
.coast-story .text-link{display:inline-block;margin-top:12px}
.about-values{background:#eaf0e9;position:relative;overflow:hidden}
.about-values::before{content:"";position:absolute;width:350px;height:350px;border:1px solid #d6e3d5;border-radius:50%;right:-200px;top:-180px;pointer-events:none}
.about-values .container{position:relative}
.about-values h2{max-width:680px}
.about-values .content-grid{gap:16px;margin-top:38px}
.about-values .content-block{position:relative;min-height:206px;padding:55px 36px 31px;border:1px solid #d2e0d3;border-radius:10px;background:#fcfdfa;box-shadow:0 5px 18px #173d3508;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.about-values .content-block:nth-child(2),.about-values .content-block:nth-child(3){background:#f7faf4}
.about-values .content-block::before{content:"";position:absolute;top:30px;left:36px;width:51px;height:2px;background:#789442}
.about-values .content-block::after{content:"";position:absolute;top:26px;left:85px;width:10px;height:10px;border:2px solid #789442;border-radius:50%;background:#fcfdfa}
.about-values .content-block h3{margin:0 0 10px;font-size:22px}
.about-values .content-block p{max-width:360px}
@media(hover:hover){.about-values .content-block:hover{transform:translateY(-4px);border-color:#a5bd9f;box-shadow:0 16px 32px #173d3514}}
@media(max-width:800px){.about-values .content-block{min-height:0}}
@media(max-width:500px){.about-values .content-block{padding:53px 27px 28px}.about-values .content-block::before{left:27px}.about-values .content-block::after{left:76px}}
.content-grid{margin-top:35px}
.footer a:focus-visible{outline-color:var(--lime)}
@media(max-width:800px){.coast-art{width:min(100%,530px);margin:20px auto 55px}.nav a{min-height:44px;display:flex;align-items:center}.about-art,.about-art img{min-height:320px}}
@media(max-width:800px){.menu-toggle{display:none}.js .menu-toggle{display:block}.nav{display:flex}.js .nav{display:none}.js .nav.open{display:flex}}
@media(max-width:800px){.header-inner{flex-wrap:wrap}.nav{position:static;width:100%;padding:12px 0;box-shadow:none}.js .nav{position:absolute;top:70px;left:0;right:0;width:auto;padding:25px 24px;box-shadow:0 12px 18px #102b261b}}
@media(max-width:500px){.coast-art figcaption{font-size:9px;letter-spacing:.07em}.hero-copy{padding-top:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.brand-mark{width:32px;height:43px;object-fit:contain}
.hero{background:linear-gradient(90deg,rgba(8,33,29,.91) 0%,rgba(12,42,35,.81) 48%,rgba(13,47,37,.74) 100%),url('about-forest-photo.webp') center 47%/cover no-repeat}
.hero-copy{position:relative;z-index:1}
.hero-copy h1{text-shadow:0 3px 20px #071e1959}
@media(max-width:800px){.hero{background-image:linear-gradient(180deg,rgba(8,33,29,.91),rgba(13,47,37,.82)),url('about-forest-photo.webp');background-position:center 44%}}
.footer .brand-mark{width:40px;height:51px;padding:3px;background:var(--cream);border-radius:5px}
.mark-story{display:flex;align-items:center;gap:28px}
.mark-story img{width:120px;height:auto;flex:none}
.mark-story h2{margin-top:10px}
@media(max-width:500px){.mark-story{gap:20px}.mark-story img{width:80px}}
.hero-mark-art{margin:30px 0;width:100%;max-width:500px;height:auto;min-height:530px;padding:28px 24px;background:radial-gradient(circle at 72% 18%,#f6f4d8 0,#e7eddb 44%,#d2e2d4 100%);border:1px solid #b8d0b5;border-radius:18px;box-shadow:0 30px 80px #09282180;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.hero-mark-surface{position:relative;width:min(72%,320px);aspect-ratio:229.25/309.05}
.hero-mark-surface img,.hero-mark-surface .data-points{position:absolute;inset:0;width:100%;height:100%;display:block}
.data-points{fill:#e9f7a8;stroke:#46632f;stroke-width:.8;filter:drop-shadow(0 0 2px #f5ffb1)}
.hero-mark-art figcaption{color:#244a39;font-size:10px;font-weight:800;letter-spacing:.12em;text-align:center;line-height:1.5}
.hero-mark-art figcaption span{padding:0 7px;color:#7c8b40}
@media(max-width:800px){.hero-mark-art{width:min(100%,500px);min-height:480px;margin:20px auto 55px}}
@media(max-width:500px){.hero-mark-art{min-height:410px;padding:20px 16px}.hero-mark-surface{width:min(72%,250px)}.hero-mark-art figcaption{font-size:9px;letter-spacing:.06em}}
.service-card{padding:0;min-height:0;overflow:hidden;border:1px solid #cdddcf;border-radius:14px;background:#fff;box-shadow:0 14px 32px #1a473910;display:flex;flex-direction:column}
.service-card:hover{box-shadow:0 24px 46px #1a473927;border-color:#9ebda3}
.card-visual{position:relative;overflow:hidden;aspect-ratio:720/340;background:#dce8d7}
.card-visual:after,.industry-art:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#0d35251c,transparent 58%);pointer-events:none}
.card-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.service-card:hover .card-visual img{transform:scale(1.035)}
.card-body{padding:27px 28px 25px;display:flex;flex-direction:column;flex:1}
.card-category{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#4b7a58;margin-bottom:11px}
.service-card h3{font-size:24px;line-height:1.2;margin:0 0 12px}
.service-card p{font-size:14px;line-height:1.6;margin:0 0 24px;color:#50665c}
.card-action{margin-top:auto;padding-top:18px;border-top:1px solid #dce6dc;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:800;color:#1c5d43}
.card-arrow{width:32px;height:32px;border-radius:50%;background:#e3efdd;display:grid;place-items:center;font-size:17px;transition:transform .2s ease,background .2s ease}
.service-card:hover .card-arrow{transform:translate(2px,-2px);background:#d4e8c9}
@media(max-width:800px){.service-card{min-height:0}.card-visual{max-height:235px}}
.home-process{background:#fafbf6}
.home-process-heading{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:55px;padding-bottom:34px;border-bottom:1px solid #c8d8c9}
.home-process-heading h2{max-width:690px}
.home-process-heading p{max-width:440px;margin:0 0 4px;color:#4d675c;font-size:17px;line-height:1.7}
.home-process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;list-style:none;padding:34px 0 0;margin:0}
.home-process-steps li{position:relative;padding-top:16px;border-top:3px solid #9fba8c}
.home-process-steps li:before{content:'';position:absolute;top:-7px;left:0;width:11px;height:11px;border-radius:50%;background:#315e48}
.home-process-number{display:block;color:#6e844b;font:700 34px/1 Georgia,serif;letter-spacing:-.04em;margin-bottom:27px}
.home-process-steps h3{font:800 20px/1.25 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 10px}
.home-process-steps p{color:#4f665a;font-size:14px;line-height:1.7;margin:0}
@media(max-width:900px){.home-process-heading{grid-template-columns:1fr;gap:18px}.home-process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 25px}}
@media(max-width:580px){.home-process-steps{grid-template-columns:1fr;gap:28px}.home-process-number{margin-bottom:17px}.home-process-steps li{padding-top:14px}}
.hero .hero-grid{grid-template-columns:.88fr 1.12fr;gap:26px}
.hero-circuit-art{margin:28px 0;width:100%;max-width:650px;height:auto;min-height:470px;padding:25px 22px;background:linear-gradient(145deg,#f5f8eb,#e7f0e2);border:1px solid #b8cca9;border-radius:18px;box-shadow:0 30px 80px #09282180;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px}
.hero-circuit-svg{width:100%;height:auto;overflow:visible}
.hero-circuit-mobile{display:none}
.hero-circuit-art figcaption{color:#36533b;font-size:10px;font-weight:800;letter-spacing:.13em;text-align:center;line-height:1.4}
.hero-circuit-art figcaption span{padding:0 7px;color:#7c8b40}
.hero-circuit-art svg a{cursor:pointer}
.hero-circuit-art svg a:focus-visible{outline:none}
.hero-circuit-art svg a:focus-visible .service-tab{stroke:#1b331f;stroke-width:3}
@media(max-width:800px){.hero .hero-grid{grid-template-columns:1fr}.hero-circuit-art{max-width:650px;margin:18px auto 54px}}
@media(max-width:700px){.hero-circuit-art{width:min(100%,420px);min-height:0;padding:16px 10px 20px}.hero-circuit-desktop{display:none}.hero-circuit-mobile{display:block}.hero-circuit-art figcaption{font-size:9px;letter-spacing:.07em}}
.industry-teaser{background:#173d35;color:#fff}
.industry-teaser .section-lead{color:#c9dfce}
.industry-teaser .eyebrow{color:#c4ddab}
.industry-teaser .text-link{display:inline-block;margin-top:8px;color:#dcf4a7}
.teaser-inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:65px}
.teaser-industries{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.teaser-industries a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:100px;padding:22px;border:1px solid #6b9774;border-radius:10px;background:#285245;color:#fff;font:800 19px Manrope,sans-serif;letter-spacing:-.035em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.teaser-industries a span{font-size:21px;font-weight:500;flex:none}
.teaser-industries a:hover{transform:translateY(-5px);background:#336550;border-color:#a8cf9b;box-shadow:0 16px 28px #071e1870}
.teaser-industries a:focus-visible{outline:3px solid #d6ee90;outline-offset:4px;transform:translateY(-5px)}
.teaser-industries a:last-child{background:#d6ee90;color:#173d35;border-color:#d6ee90}
.teaser-industries a:last-child:hover{background:#e5f5b4;border-color:#e5f5b4}
.area-section{background:#eef3ea}
.area-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}
.area-grid .button{margin-top:12px}
.area-panel{position:relative;border:1px solid #b6cfb7;border-radius:16px;background:linear-gradient(155deg,#e3efe1,#f8f9ef);padding:27px;box-shadow:0 20px 40px #1b503614}
.area-line{position:absolute;top:65px;bottom:97px;left:47px;border-left:2px solid #91b48e}
.area-city{position:relative;margin-bottom:13px;padding:20px 24px 20px 48px;background:#fff;border:1px solid #d2e3d0;border-radius:10px}
.area-city[href]{display:block;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.area-city[href]:hover{border-color:#9dba92;transform:translateY(-2px);box-shadow:0 12px 20px #173d3512}
.area-city[href]:focus-visible{outline:3px solid #285c46;outline-offset:3px}
.area-city:before{content:'';position:absolute;top:34px;left:12px;width:12px;height:12px;border-radius:50%;background:#438864;box-shadow:0 0 0 5px #dcebd8}
.area-city span{display:block;color:#4d8058;font-size:10px;font-weight:800;letter-spacing:.13em;margin-bottom:5px}
.area-city strong{font:800 22px Manrope,sans-serif;letter-spacing:-.04em}
.area-more{padding:20px 18px;background:#dcebd6;border-radius:9px;color:#234c38;font-size:13px;font-weight:800;display:flex;justify-content:space-between;gap:10px}
.area-more{transition:background .2s ease,transform .2s ease}
.area-more:hover{background:#cfe5c5;transform:translateY(-2px)}
.area-more:focus-visible{outline:3px solid #285c46;outline-offset:3px}
.industries-hero{background:linear-gradient(120deg,#173d35,#2b5e4a)}
.industries-hero h1{max-width:900px}
.industry-jump{background:#e7efe5;border-bottom:1px solid #cbdcc9}
.industry-jump .container{display:flex;gap:8px;overflow-x:auto;padding:15px 0}
.industry-jump a{white-space:nowrap;padding:10px 17px;border:1px solid #bdd2ba;border-radius:999px;color:#255543;font-size:13px;font-weight:800;transition:background .2s ease,color .2s ease}
.industry-jump a:hover{background:#285a45;color:white}
.industry-jump a:focus-visible{outline:3px solid #548d61;outline-offset:3px}
.industry-detail{padding:95px 0;background:#f9faf5;scroll-margin-top:78px}
.industry-detail:nth-of-type(odd){background:#eef3ea}
.industry-detail-hero{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}
.industry-detail-copy h2{font:800 clamp(42px,5vw,66px)/1.05 Manrope,sans-serif;letter-spacing:-.065em;margin:14px 0 22px}
.industry-detail-headline{font:800 clamp(23px,2.4vw,31px)/1.25 Manrope,sans-serif;letter-spacing:-.045em;max-width:560px;margin:0 0 15px}
.industry-detail-intro{max-width:600px;color:#50675d;font-size:16px;line-height:1.75;margin:0}
.industry-detail-image{margin:0;border-radius:16px;overflow:hidden;height:345px;box-shadow:0 22px 45px #123b291c}
.industry-detail-image img{width:100%;height:100%;object-fit:cover;display:block}
.industry-needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:55px 0 38px}
.industry-needs article{border-top:3px solid #8cae83;padding-top:23px}
.industry-needs h3{font:800 19px/1.3 Manrope,sans-serif;letter-spacing:-.035em;margin:0 0 11px}
.industry-needs p{font-size:14px;line-height:1.7;color:#51685d;margin:0}
.industry-guidance{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;background:#193f35;color:#fff;border-radius:14px;padding:35px 40px}
.industry-guidance .eyebrow{color:#d4eb9a}
.industry-guidance h3{font:800 23px/1.25 Manrope,sans-serif;letter-spacing:-.04em;margin:10px 0}
.industry-guidance p{color:#cfdfd2;font-size:14px;line-height:1.7;margin:0}
.industry-guidance ul{list-style:none;padding:0;margin:0}
.industry-guidance li+li{border-top:1px solid #6d8f7e}
.industry-guidance a{display:flex;justify-content:space-between;gap:16px;padding:12px 0;color:#ebf6cf;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.industry-guidance a:hover{color:#fff}
.industry-guidance a:focus-visible{outline:3px solid #d6ee90;outline-offset:3px}
.industry-contact-link{display:inline-block;margin-top:28px}
.industry-open{background:#e4eee1}
.industry-open{scroll-margin-top:105px}
.industry-open .button{margin-top:12px}
.industry-guidance-note{background:#e4eee1;color:#4c6658;padding:0 0 70px;font-size:13px;line-height:1.6}
@media(max-width:900px){.teaser-inner,.area-grid,.industry-detail-hero,.industry-guidance{grid-template-columns:1fr;gap:36px}.industry-detail-image{height:300px}.industry-needs{gap:18px}}
@media(max-width:650px){.teaser-industries,.industry-needs{grid-template-columns:1fr}.teaser-industries a{min-height:70px}.industry-detail{padding:70px 0}.industry-detail-image{height:240px}.industry-needs{margin:38px 0 30px;gap:24px}.industry-guidance{padding:28px 24px}.area-panel{padding:16px}}
.service-detail-hero{--service-accent:#d6ee90;background:radial-gradient(circle at 72% 12%,#346751 0,#173d35 52%,#102e29 100%);color:#fff;overflow:hidden}
.service-theme-security{--service-accent:#bce3cb;background:radial-gradient(circle at 77% 8%,#2b5b58 0,#163d3d 53%,#0d292e 100%)}
.service-theme-recovery{--service-accent:#e2e8ab;background:radial-gradient(circle at 72% 8%,#647a4b 0,#294f3d 52%,#142f2c 100%)}
.service-detail-hero-grid{min-height:600px;display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:65px;padding:75px 0}
.service-detail-intro{min-width:0}
.service-detail-intro .eyebrow{color:var(--service-accent)}
.service-detail-intro h1{font:800 clamp(46px,5vw,72px)/1.07 Manrope,sans-serif;letter-spacing:-.06em;margin:22px 0}
.service-detail-intro p{font-size:17px;line-height:1.75;color:#d7e8dc;max-width:570px}
.service-detail-intro .actions{margin-top:35px}
.service-detail-image{margin:0;position:relative;height:480px;border-radius:17px;overflow:hidden;box-shadow:0 30px 70px #061d1c80;background:#204c42}
.service-detail-image:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#071f1cbd);pointer-events:none}
.service-detail-image img{width:100%;height:100%;display:block;object-fit:cover}
.service-theme-managed .service-detail-image img{object-position:center}
.service-theme-security .service-detail-image img{object-position:42% center}
.service-theme-recovery .service-detail-image img{object-position:40% center}
.service-detail-image figcaption{position:absolute;z-index:1;bottom:25px;left:28px;right:28px;color:white;font:800 clamp(19px,1.8vw,24px)/1.2 Manrope,sans-serif;letter-spacing:-.04em;max-width:360px;text-wrap:balance}
.service-highlight-strip{background:#e8f1e3;border-bottom:1px solid #c8d9c8}
.service-highlight-strip .container{display:grid;grid-template-columns:repeat(3,1fr)}
.service-highlight-strip span{padding:23px 20px 23px 0;color:#285641;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.service-highlight-strip span+span{border-left:1px solid #bcd1bd;padding-left:30px}
.service-coverage{background:#f8faf5}
.service-coverage-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:100px;align-items:start}
.service-coverage-heading{position:sticky;top:120px}
.service-coverage-heading h2{max-width:520px}
.service-coverage-heading .text-link{display:inline-block;margin-top:12px}
.service-capabilities{border-top:1px solid #bed0bf}
.service-capabilities article{display:grid;grid-template-columns:.68fr 1fr;gap:28px;padding:27px 0;border-bottom:1px solid #bed0bf}
.service-capabilities h3{font:800 21px/1.25 Manrope,sans-serif;letter-spacing:-.035em;margin:0}
.service-capabilities p{color:#50665c;font-size:14px;line-height:1.65;margin:0}
.service-perspective{color:#fff;background:#173d35;padding:90px 0}
.service-perspective.service-theme-security{background:#163d3d}
.service-perspective.service-theme-recovery{background:#294f3d}
.service-perspective-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:95px}
.service-perspective .eyebrow{color:var(--service-accent)}
.service-perspective h2{font:800 clamp(34px,4vw,56px)/1.13 Manrope,sans-serif;letter-spacing:-.055em;max-width:740px;margin:18px 0 0}
.service-perspective p{font-size:17px;line-height:1.7;color:#d3e7db;max-width:440px;margin:0 0 4px}
.service-situations{background:#edf4e9}
.service-situations h2{max-width:780px}
.service-situation-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.service-situation-list p{border-top:2px solid #5d9873;padding:21px 8px 0 0;margin:0;font:700 18px/1.5 Manrope,sans-serif;letter-spacing:-.025em}
.service-related{padding:65px 0;background:#f8faf5}
.service-related .container{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:60px}
.service-related h2{font:800 32px/1.15 Manrope,sans-serif;letter-spacing:-.05em;margin:9px 0 0}
.service-related-links{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.service-related-links a{min-height:95px;padding:22px;border:1px solid #c7d8c9;border-radius:9px;background:#fff;color:#1e533d;font:800 16px/1.35 Manrope,sans-serif;display:flex;align-items:center;justify-content:space-between;gap:14px;transition:border-color .2s,transform .2s}
.service-related-links a:hover{border-color:#5d9873;transform:translateY(-2px)}
.service-related-links a:focus-visible{outline:3px solid #5a966b;outline-offset:3px}
.service-related-links span{font-size:23px;color:#568d63}
.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal-ready.reveal-visible{opacity:1;transform:none}
.reveal-ready:nth-child(2){transition-delay:70ms}
.reveal-ready:nth-child(3){transition-delay:140ms}
.reveal-ready:nth-child(4){transition-delay:210ms}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none;transition:none}}
@media(max-width:900px){.service-detail-hero-grid{grid-template-columns:1fr;gap:40px;padding:70px 0}.service-detail-image{height:420px}.service-coverage-grid{grid-template-columns:1fr;gap:45px}.service-coverage-heading{position:static}.service-perspective-grid{grid-template-columns:1fr;gap:28px}.service-related .container{grid-template-columns:1fr;gap:26px}}
@media(max-width:650px){.service-detail-hero-grid{padding:55px 0}.service-detail-intro h1{font-size:clamp(42px,11vw,60px)}.service-detail-intro p{font-size:16px}.service-detail-image{height:310px}.service-detail-image figcaption{font-size:20px;bottom:21px;left:20px;right:20px}.service-highlight-strip .container{grid-template-columns:1fr}.service-highlight-strip span,.service-highlight-strip span+span{padding:14px 0;border-left:0;border-top:1px solid #c8d9c8}.service-highlight-strip span:first-child{border-top:0}.service-capabilities article{grid-template-columns:1fr;gap:8px;padding:23px 0}.service-perspective{padding:70px 0}.service-situation-list{grid-template-columns:1fr;gap:24px}.service-related-links{grid-template-columns:1fr}.service-related-links a{min-height:75px}}
[hidden]{display:none!important}
.footer-legal{display:flex;align-items:center;gap:26px;margin-top:38px}
.footer-legal a{display:inline-block;margin:0;color:#dbeacf;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.footer-legal :focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.eyebrow{color:#3d7157}
.trust-strip{position:relative;overflow:hidden}
.trust-strip::before{content:"";position:absolute;inset:0 auto 0 0;width:100%;background:linear-gradient(90deg,transparent,#d5e6cf 48%,transparent);opacity:.6;transform:translateX(-105%);animation:trust-sweep 1.2s ease-out .15s both;pointer-events:none}
.trust-inner{position:relative}
.trust-inner span{animation:trust-arrive .7s cubic-bezier(.2,.7,.2,1) both}
.trust-inner span:nth-child(1){animation-delay:.12s}
.trust-inner span:nth-child(2){animation-delay:.24s}
.trust-inner span:nth-child(3){animation-delay:.36s}
.trust-inner span:nth-child(4){animation-delay:.48s}
@keyframes trust-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes trust-sweep{to{transform:translateX(105%)}}
@media(prefers-reduced-motion:reduce){.trust-strip::before,.trust-inner span{animation:none}}
.form-privacy-note{font-size:13px;line-height:1.6;color:#4f665a;margin:0 0 18px}
.form-privacy-note a,.privacy-copy a{text-decoration:underline;text-underline-offset:3px;color:#1f6849}
.privacy-hero{padding-bottom:80px}
.privacy-effective{font-size:13px!important;color:#c4ddab!important;margin-top:25px!important}
.privacy-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:80px;padding-top:80px;padding-bottom:100px}
.privacy-toc{position:sticky;top:110px;align-self:start;display:grid;gap:5px;border-left:2px solid #c5d9c8;padding-left:20px}
.privacy-toc a{display:block;padding:7px 0;color:#285c46;font-size:13px;font-weight:700}
.privacy-toc a:hover{text-decoration:underline;text-underline-offset:3px}
.privacy-toc a:focus-visible,.privacy-copy a:focus-visible{outline:3px solid #579768;outline-offset:3px}
.privacy-copy{max-width:780px;color:#465f53;font-size:15px;line-height:1.8}
.privacy-copy>p:first-child{font-size:17px;color:#213f32;margin:0 0 38px}
.privacy-copy section{padding:25px 0 30px;border-top:1px solid #ccdacc;scroll-margin-top:100px}
.privacy-copy h2{font:800 clamp(25px,3vw,34px)/1.2 Manrope,sans-serif;letter-spacing:-.045em;color:#183f33;margin:0 0 17px}
.privacy-copy p{margin:0 0 15px}
@media(max-width:900px){.privacy-layout{grid-template-columns:1fr;gap:32px}.privacy-toc{position:static;display:flex;overflow-x:auto;white-space:nowrap;border-left:0;border-bottom:1px solid #c5d9c8;padding:0 0 12px}}
@media(max-width:600px){.privacy-layout{padding-top:48px;padding-bottom:65px}}
.footer-grid{grid-template-columns:1.8fr .8fr .95fr 1.15fr 1.35fr}
.market-hero{background:linear-gradient(118deg,#12352f 0%,#214c3d 72%,#325c45 100%);padding:85px 0}
.market-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,.55fr);align-items:center;gap:70px}
.market-hero h1{font-size:clamp(42px,5.2vw,68px);max-width:780px;text-wrap:balance}
.market-hero .actions{margin-top:27px}
.market-hero-mark{display:grid;justify-items:center;gap:18px;padding:26px;border:1px solid #8ba98a6b;border-radius:16px;background:#f1f6e9;color:#3d684d;box-shadow:0 24px 55px #061d1955}
.market-hero-mark img{width:125px;height:auto}
.market-hero-mark span{font-size:10px;font-weight:800;letter-spacing:.12em;text-align:center}
.market-hero-mark i{font-style:normal;color:#7c8b40;padding:0 3px}
.market-breadcrumb{background:#e8f0e7;border-bottom:1px solid #cbdcc9}
.market-breadcrumb .container{display:flex;gap:11px;align-items:center;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;font-size:12px;color:#456354}
.market-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.market-breadcrumb [aria-current]{font-weight:800;color:#173d35}
.market-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.market-intro-grid h2{max-width:460px}
.market-intro-grid p,.market-coverage p{font-size:16px;line-height:1.8;color:#50695b;margin:0 0 20px}
.market-intro-grid .text-link{display:inline-block;margin-top:7px}
.market-services{background:#eaf1e8;scroll-margin-top:80px}
.market-services .section-heading{align-items:end}
.market-services .section-heading h2{max-width:600px}
.market-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.market-service-card{display:flex;flex-direction:column;min-height:285px;padding:29px;background:#fcfdfa;border:1px solid #cddfce;border-radius:12px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.market-card-line{display:block;width:56px;height:2px;background:#789442;margin:8px 0 42px;position:relative}
.market-card-line::after{content:"";position:absolute;right:-7px;top:-4px;width:10px;height:10px;border:2px solid #789442;border-radius:50%;background:#fcfdfa}
.market-service-card h3{font:800 22px/1.25 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 12px}
.market-service-card p{font-size:14px;line-height:1.65;color:#50695b;margin:0 0 30px}
.market-card-link{margin-top:auto;font-size:13px;font-weight:800;color:#216141}
.market-service-card:hover{transform:translateY(-4px);border-color:#97b696;box-shadow:0 18px 35px #123a2917}
.market-service-card:focus-visible,.market-breadcrumb a:focus-visible,.market-coverage a:focus-visible{outline:3px solid #427c58;outline-offset:3px}
.market-coverage-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:start}
.market-coverage h2{max-width:640px}
.market-coverage .button{margin-top:12px}
.market-coverage aside{background:#e9f1e5;border:1px solid #cddfce;border-radius:12px;padding:30px}
.market-coverage aside h3{font:800 20px Manrope,sans-serif;margin:0 0 20px}
.market-coverage aside a{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid #c4d6c3;color:#1d573c;font-weight:800;font-size:14px}
@media(max-width:1050px){.footer-grid{grid-template-columns:repeat(3,1fr)}.market-hero-grid{gap:40px}}
@media(max-width:800px){.market-hero-grid,.market-intro-grid,.market-coverage-grid{grid-template-columns:1fr;gap:35px}.market-hero-mark{display:none}.market-service-grid{grid-template-columns:1fr}.market-service-card{min-height:0}.market-card-line{margin-bottom:30px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.footer-grid{grid-template-columns:1fr}.market-hero{padding:60px 0}.market-hero h1{font-size:clamp(40px,10vw,54px)}}
@media(max-width:800px){
  .js .nav.open{gap:4px;padding:12px 16px 18px}
  .nav a{display:flex;width:100%;min-height:56px;padding:0 16px;align-items:center;border-radius:8px;transition:background-color .18s ease,transform .18s ease}
  .nav a:not(.button):hover,.nav a:not(.button):focus-visible{background:#e6eee4}
  .nav a:not(.button):active{background:#d8e8d5;transform:scale(.99)}
  .nav a[aria-current=page]{background:#e8f0e5;box-shadow:inset 3px 0 #458562}
  .nav a.button{margin-top:6px}
  .js .nav.open a{animation:mobile-nav-enter .34s ease-out both}
  .js .nav.open a:nth-child(2){animation-delay:35ms}
  .js .nav.open a:nth-child(3){animation-delay:70ms}
  .js .nav.open a:nth-child(4){animation-delay:105ms}
  .js .nav.open a:nth-child(5){animation-delay:140ms}
  .js .nav.open a:nth-child(6){animation-delay:175ms}
}
@keyframes mobile-nav-enter{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.js .nav.open a{animation:none}.nav a{transition:none}}
