
:root{--ink:#102732;--ink2:#294550;--green:#1f7747;--green2:#3f9560;--green-dark:#145936;--paper:#fffdf9;--cream:#f5f1e9;--soft:#f2f7f3;--line:#dce5df;--muted:#63757d;--shadow:0 18px 48px rgba(16,39,50,.12);--shadow-sm:0 8px 24px rgba(16,39,50,.07);--radius:22px;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}p a,.article a{color:var(--green-dark);font-weight:760;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}button{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.container-wide{width:min(1420px,calc(100% - 44px));margin:auto}.section{padding:72px 0}.section-sm{padding:50px 0}.section-soft{background:var(--soft)}.eyebrow,.menu-eyebrow{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:var(--green)}h1,h2,h3{font-family:var(--serif);line-height:1.08;margin:0 0 16px}h1{font-size:clamp(2.6rem,4.3vw,4.35rem);letter-spacing:-.035em;overflow-wrap:normal;word-break:normal}h1.long-title{font-size:clamp(2.35rem,3.65vw,3.8rem)}h2{font-size:clamp(1.9rem,3vw,3rem);letter-spacing:-.025em}h3{font-size:1.22rem}.muted{color:var(--muted)}
/* header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,249,.98);border-top:1px solid #d7d2c8;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-shell{height:80px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand img{width:38px;height:38px}.brand-copy{display:block}.brand-name{display:block;font:700 1.52rem/1 var(--serif)}.brand-sub{display:block;margin-top:5px;font-size:.61rem;letter-spacing:.10em;text-transform:uppercase;color:#708088}.primary-nav{display:flex;align-items:center;justify-content:center;gap:4px}.nav-link{display:flex;align-items:center;padding:27px 12px 24px;font-weight:780;font-size:.94rem;position:relative}.nav-link.active,.nav-link:hover{color:var(--green-dark)}.nav-link.active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--green)}.nav-services{position:relative}.nav-services-control{display:flex;align-items:center}.services-toggle{width:28px;height:34px;border:0;background:transparent;color:var(--ink);cursor:pointer;border-radius:8px;font-weight:900}.services-toggle:hover{background:var(--soft)}.services-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,10px);width:min(940px,calc(100vw - 48px));background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:.16s ease}.nav-services.open .services-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.services-panel-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 4px 14px;border-bottom:1px solid var(--line)}.services-panel-head strong{display:block;font:700 1.5rem/1.15 var(--serif);margin-top:4px}.menu-all{font-weight:820;color:var(--green-dark);white-space:nowrap}.menu-signature{display:flex;gap:8px;flex-wrap:wrap;padding:14px 0}.menu-signature a{padding:8px 11px;border-radius:999px;background:var(--soft);color:#274b3c;font-weight:780;font-size:.85rem}.services-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.menu-category{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 12px;border-radius:11px;border:1px solid transparent}.menu-category:hover{background:#f7faf7;border-color:#e4ece6}.menu-category span{font-weight:780;line-height:1.2}.menu-category small{color:var(--muted);white-space:nowrap}.header-call{display:flex;align-items:center;gap:9px;padding-left:18px;border-left:1px solid var(--line);white-space:nowrap}.header-call-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:white}.header-call small,.header-call strong{display:block}.header-call small{font-size:.67rem;color:var(--muted);line-height:1.2}.header-call strong{font-size:.92rem;line-height:1.3}.menu-btn{display:none;border:0;background:transparent;padding:8px;cursor:pointer}.menu-btn span{display:block;width:23px;height:2px;background:var(--ink);margin:4px 0}
/* hero */
.hero{position:relative;color:#fff;display:flex;align-items:center;overflow:hidden;background:#163b43;min-height:500px}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(1.04) saturate(.96)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,31,39,.88) 0%,rgba(6,31,39,.70) 42%,rgba(6,31,39,.26) 72%,rgba(6,31,39,.14) 100%)}.hero-content{position:relative;z-index:2;padding:72px 0;max-width:880px}.home-hero{min-height:560px}.hero-kicker{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:850;color:#bce0c5;margin-bottom:14px}.lede{font-size:clamp(1rem,1.25vw,1.18rem);max-width:820px;color:inherit;opacity:.96}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:11px;font-weight:850;border:1px solid transparent;transition:.16s}.btn-primary{background:var(--green2);color:#fff;box-shadow:0 10px 26px rgba(17,65,38,.18)}.btn-primary:hover{background:var(--green)}.btn-outline{border-color:rgba(255,255,255,.58);color:#fff;background:rgba(0,0,0,.08)}.btn-light{background:#fff;color:var(--ink);border-color:var(--line)}.breadcrumbs{display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:rgba(255,255,255,.78);font-size:.77rem;margin-bottom:18px}.breadcrumbs a{color:#d7f2de;font-weight:760}.status-badge{display:inline-flex;margin-top:16px;padding:7px 11px;border-radius:999px;background:#fff1d1;color:#74511e;font-size:.76rem;font-weight:800}.blocked-badge{max-width:690px;border-radius:12px;line-height:1.35}
/* overview + content */
.section-intro{max-width:820px;margin-bottom:28px}.section-intro>p{color:var(--muted);margin:0}.scope-overview{background:var(--cream);border-bottom:1px solid var(--line)}.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.scope-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow-sm)}.scope-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e5f2e9;color:var(--green-dark);font-weight:900;margin-bottom:14px}.scope-card h3{font-family:var(--sans);font-size:1rem;margin-bottom:9px}.scope-card p{margin:0;color:#40565e;font-size:.94rem}.article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:52px;align-items:start}.article{min-width:0}.content-section{padding:0 0 30px;margin-bottom:30px;border-bottom:1px solid var(--line)}.content-section:last-child{border-bottom:0}.content-section h2{font-size:clamp(1.55rem,2.35vw,2.25rem)}.content-section p{font-size:1rem;color:#38505b;max-width:840px}.content-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.content-card{border:1px solid var(--line);border-radius:18px;padding:23px;background:#fff;box-shadow:var(--shadow-sm)}.content-card h2{font-size:1.42rem;line-height:1.16;margin-bottom:11px}.content-card p{margin:0;color:#415861}.side-nav{position:sticky;top:105px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:19px;box-shadow:var(--shadow-sm)}.side-nav h3{font-family:var(--sans);font-size:.96rem}.side-nav>a{display:block;padding:9px 0;border-top:1px solid var(--line);color:#536871;font-size:.86rem;line-height:1.35}.side-nav>a:first-of-type{border-top:0}.side-nav>a:hover{color:var(--green-dark)}.side-call{margin-top:18px;border-radius:13px;background:#eef7f1;padding:14px}.side-call strong,.side-call span{display:block}.side-call span{font-size:.76rem;color:var(--muted);margin-top:3px}
/* grids/cards */
.section-head{display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:40px;margin-bottom:28px}.section-head>p{margin:0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.service-card,.category-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.18s transform,.18s box-shadow}.service-card:hover,.category-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(16,39,50,.11)}.service-card img,.category-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.service-card-body,.category-body{padding:17px}.service-card-body p,.category-body p{color:var(--muted);margin:0 0 11px}.card-link{color:var(--green-dark);font-weight:850;font-size:.9rem}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.category-card h3{margin-bottom:6px}.category-body{min-height:120px}.categories-section{background:var(--cream)}.catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-link{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}.catalog-link:hover{border-color:#acc8b6;background:#f9fcfa}.catalog-link small{color:var(--muted)}
/* related services: intentionally no placeholder images */
.related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.related-card{display:flex;min-height:170px;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;box-shadow:var(--shadow-sm);transition:.18s}.related-card:hover{transform:translateY(-3px);border-color:#b9d1c1}.related-card h3{font-family:var(--serif);font-size:1.16rem;line-height:1.18;margin:8px 0 18px}.related-kicker{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:850}.related-arrow{margin-top:auto;color:var(--green-dark);font-weight:820;font-size:.86rem}
/* FAQ */
.faq-section{padding:32px 0 8px;border-bottom:0!important}.faq-list{display:grid;gap:10px;margin-top:16px}.faq-item{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(16,39,50,.045)}.faq-item summary{list-style:none;cursor:pointer;padding:16px 52px 16px 18px;font-weight:800;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.35rem;color:var(--green)}.faq-item[open] summary:after{content:"−"}.faq-answer{padding:0 18px 16px}.faq-answer p{margin:0;color:#40565e;max-width:none!important}
/* misc */
.quick-strip{background:#fff;border-bottom:1px solid var(--line)}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}.quick-item{display:flex;gap:12px;align-items:center;padding:21px 17px;border-right:1px solid var(--line)}.quick-item:last-child{border-right:0}.quick-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:#e4f2e8;color:var(--green-dark);font-weight:900}.quick-item strong,.quick-item span span{display:block}.quick-item span span{font-size:.78rem;color:var(--muted)}.cta-band{padding:62px 0;background:#123942;color:#fff}.cta-grid{display:grid;grid-template-columns:1fr 400px;gap:52px;align-items:center}.cta-band p{color:#d1dfe0}.phone-card{background:#fff;color:var(--ink);border-radius:20px;padding:24px}.phone-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:850}.phone-number{font:700 1.9rem/1.1 var(--serif);margin:8px 0 18px}.phone-actions{display:flex;gap:10px;flex-wrap:wrap}.blocked-cta{max-width:850px}.blocked-cta p{color:#d8e4e6}.split{display:grid;grid-template-columns:1fr 1fr;background:#0f3740;color:#fff}.split-image img{width:100%;height:100%;min-height:430px;object-fit:cover}.split-copy{padding:72px clamp(32px,6vw,90px);align-self:center}.feature-strip{padding:52px 0;background:#f4f7f4}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.feature{padding:18px;border-radius:16px;background:#fff;border:1px solid var(--line)}.feature-mark{font-size:1.3rem;color:var(--green);font-weight:900}.process{background:#fff}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{padding:22px;border:1px solid var(--line);border-radius:17px}.step-num{font-weight:900;color:var(--green);margin-bottom:9px}.footer{background:#0b2831;color:#fff;padding:50px 0 23px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr .7fr;gap:44px}.footer .brand-sub,.footer .notice{color:#b7c5c8}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px}.footer-meta{display:flex;justify-content:space-between;gap:20px;margin-top:36px;padding-top:17px;border-top:1px solid rgba(255,255,255,.13);font-size:.8rem;color:#a8b8bc}.footer-phone{font-size:1.15rem}.notice{max-width:420px}
:focus-visible{outline:3px solid rgba(63,149,96,.45);outline-offset:3px;border-radius:6px}
@media(max-width:1120px){.header-shell{grid-template-columns:auto 1fr auto}.header-call{display:none}.services-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-grid{grid-template-columns:1fr 1fr}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.container,.container-wide{width:min(100% - 28px,1180px)}.header-shell{height:70px;grid-template-columns:1fr auto}.brand-sub{display:none}.brand-name{font-size:1.34rem}.menu-btn{display:block;grid-column:2}.primary-nav{position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 14px 18px;display:none;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}body.menu-open .primary-nav{display:flex}.nav-link{padding:11px 12px;border-radius:9px}.nav-link.active:after{display:none}.nav-services-control{justify-content:space-between}.services-toggle{margin-right:8px}.services-panel{position:static;transform:none!important;width:auto;opacity:1;visibility:visible;display:none;pointer-events:auto;box-shadow:none;border:0;border-radius:0;padding:8px 0 0 12px}.nav-services.open .services-panel{display:block}.services-panel-head{align-items:center}.services-panel-head strong{font-size:1.2rem}.menu-signature{padding:10px 0}.services-menu-grid{grid-template-columns:1fr 1fr}.hero{min-height:500px;align-items:flex-end}.hero:after{background:linear-gradient(0deg,rgba(5,31,39,.92) 0%,rgba(5,31,39,.62) 58%,rgba(5,31,39,.18) 100%)}.hero-content{padding:150px 0 44px;max-width:none}.home-hero{min-height:540px}.scope-grid{grid-template-columns:1fr}.article-wrap,.cta-grid,.section-head,.footer-grid{grid-template-columns:1fr}.article-wrap{gap:26px}.side-nav{display:none}.section{padding:54px 0}.content-card-grid{grid-template-columns:1fr}.service-grid,.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:repeat(2,1fr)}.process-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.split-image img{min-height:300px}.footer-links{grid-template-columns:1fr 1fr}}
@media(max-width:590px){h1{font-size:clamp(2.12rem,10.8vw,3.05rem)}h1.long-title{font-size:clamp(1.95rem,9.3vw,2.72rem)}h2{font-size:1.85rem}.header-shell{gap:10px}.services-panel-head{display:block}.menu-all{display:inline-block;margin-top:8px}.services-menu-grid{grid-template-columns:1fr}.menu-signature{gap:6px}.hero{min-height:470px}.hero-content{padding:135px 0 36px}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.service-grid,.category-grid,.related-grid{grid-template-columns:1fr}.service-grid-4{grid-template-columns:1fr 1fr}.scope-card,.content-card{padding:18px}.quick-grid,.process-grid,.feature-grid{grid-template-columns:1fr}.quick-item{border-right:0;border-bottom:1px solid var(--line)}.footer-links{grid-template-columns:1fr}.footer-meta{flex-direction:column}.cta-grid{gap:24px}.phone-number{font-size:1.6rem}}
