:root { --ink:#102b2c; --green:#0b514a; --mint:#a8ead5; --cream:#f6f3ea; --paper:#fffefb; --coral:#ff6b4a; --line:#d8ded8; --muted:#5c6a67; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; line-height:1.5; text-rendering:optimizeLegibility; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
button, select, input, textarea { font:inherit; }
.shell { width:min(1500px, calc(100% - 64px)); margin-inline:auto; }
.header-shell { width:min(1750px, calc(100% - 64px)); margin-inline:auto; }
.footer-shell { width:min(1350px, calc(100% - 64px)); margin-inline:auto; }
.topbar { background:var(--ink); color:#d9e8e3; font-size:12px; }
.topbar-inner { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.topbar a { color:white; }
.site-header { background:rgba(255,254,251,.96); position:sticky; top:0; z-index:20; border-bottom:1px solid rgba(16,43,44,.08); backdrop-filter:blur(12px); }
.nav-wrap { height:82px; display:flex; align-items:center; gap:38px; }
.brand { display:flex; align-items:center; gap:11px; margin-right:auto; line-height:1; }
.brand-mark { width:50px; height:50px; flex:0 0 50px; border-radius:14px; box-shadow:0 8px 22px rgba(11,81,74,.2); }
.brand b { display:block; font-size:17px; letter-spacing:-.4px; }
.brand > span:last-child { text-align:center; }
.brand small { display:block; margin-top:5px; font-size:10px; letter-spacing:.9px; text-transform:uppercase; color:var(--muted); }
nav { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:700; }
nav a:hover, .text-link:hover { color:var(--coral); }
.nav-wrap nav a[aria-current="page"] { color:var(--green); text-decoration:underline; text-decoration-color:var(--coral); text-decoration-thickness:2px; text-underline-offset:8px; }
.button { border:0; display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 24px; border-radius:5px; background:var(--green); color:white; font-size:14px; font-weight:800; transition:.2s ease; }
.button:hover { transform:translateY(-2px); background:#073f3a; }
.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--coral); outline-offset:3px; }
.button-small { min-height:42px; padding:0 18px; }
.nav-mobile-cta { display:none; }
.button-white { background:white; color:var(--ink); margin-top:22px; }
.button-white:hover { background:var(--mint); color:var(--ink); }
.button-coral { background:var(--coral); color:#182a28; }
.eyebrow { display:block; margin-bottom:15px; color:var(--green); font-size:11px; font-weight:900; letter-spacing:1.8px; text-transform:uppercase; }
.eyebrow-light { color:var(--mint); }
.hero { min-height:720px; position:relative; display:flex; align-items:center; overflow:hidden; background:#0a3935; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.54; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,32,31,.95) 0%,rgba(3,32,31,.72) 52%,rgba(3,32,31,.12) 100%),linear-gradient(0deg,rgba(3,32,31,.45),transparent 50%); }
.hero-content { position:relative; padding:88px 0 72px; color:white; }
.hero h1 { max-width:850px; margin:0; font-family:Georgia,serif; font-size:clamp(48px,6.5vw,86px); line-height:.98; letter-spacing:-3.8px; font-weight:500; }
.hero-content>p { max-width:700px; margin:27px 0 34px; color:#dce9e5; font-size:18px; line-height:1.65; }
.hero-search { max-width:960px; display:grid; grid-template-columns:1fr 1fr auto; padding:8px; background:white; border-radius:8px; box-shadow:0 20px 50px rgba(0,0,0,.25); }
.hero-search label { padding:8px 18px; border-right:1px solid var(--line); }
.hero-search label span { display:block; margin-bottom:5px; color:#66736f; font-size:10px; font-weight:900; letter-spacing:1px; text-transform:uppercase; }
.hero-search select { width:100%; border:0; outline:0; background:white; color:var(--ink); font-size:15px; font-weight:700; }
.hero-search button { border:0; border-radius:5px; padding:0 28px; background:var(--coral); color:var(--ink); font-weight:900; cursor:pointer; }
.hero-search button span { font-size:20px; margin-left:10px; }
.hero-trust { display:flex; gap:42px; margin-top:30px; color:#cdded9; font-size:13px; }
.hero-trust b { color:white; font-size:18px; margin-right:5px; }
.section { padding:105px 0; }
.split-heading { display:grid; grid-template-columns:1.25fr .75fr; gap:100px; align-items:end; margin-bottom:52px; }
.split-heading h2, .section-title-row h2, .region-copy h2, .cta-band h2, .page-hero h1 { margin:0; font-family:Georgia,serif; font-size:clamp(38px,4.5vw,62px); line-height:1.03; letter-spacing:-2.2px; font-weight:500; }
.split-heading p, .region-copy p { color:var(--muted); font-size:17px; line-height:1.7; }
.text-link { display:inline-block; margin-top:9px; color:var(--green); font-size:14px; font-weight:900; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card { min-height:450px; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--card-color); transition:.25s ease; }
.service-card:hover { transform:translateY(-6px); box-shadow:0 18px 45px rgba(16,43,44,.13); }
.service-image { height:210px; position:relative; overflow:hidden; }
.service-image img { width:100%; height:100%; object-fit:cover; transition:.45s ease; }
.service-card:hover img { transform:scale(1.04); }
.service-copy { padding:28px; }
.service-copy>span, .tag { font-size:10px; font-weight:900; letter-spacing:1.3px; text-transform:uppercase; color:var(--green); }
.service-copy h3 { margin:10px 0 12px; font-family:Georgia,serif; font-size:29px; font-weight:500; }
.service-copy p { min-height:66px; color:#425451; line-height:1.55; font-size:14px; }
.service-copy b { display:block; margin-top:20px; font-size:12px; }
.directory-preview { background:var(--green); color:white; }
.light-copy p { color:#d1e0dc; }
.company-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.company-mini { min-height:136px; display:flex; align-items:center; gap:14px; padding:20px; border:1px solid rgba(255,255,255,.17); border-radius:7px; background:rgba(255,255,255,.06); }
.company-mini:hover { background:rgba(255,255,255,.13); }
.company-logo { flex:0 0 48px; width:48px; height:48px; display:grid; place-items:center; overflow:hidden; padding:7px; border:1px solid rgba(16,43,44,.1); border-radius:12px; background:white; color:var(--green); font-weight:900; }
.company-logo img { width:100%; height:100%; object-fit:contain; }
.company-mini h3 { margin:0 0 7px; font-size:16px; }
.company-mini p { margin:0; color:#bfd5cf; font-size:12px; }
.company-mini>span:last-child { margin-left:auto; }
.region-section { background:var(--cream); }
.region-layout { display:grid; grid-template-columns:.9fr 1.2fr .9fr; gap:54px; align-items:center; }
.france-map { min-height:500px; display:grid; place-items:center; }
.map-shape { width:360px; height:410px; position:relative; background:var(--mint); clip-path:polygon(45% 0,60% 7%,72% 4%,83% 17%,96% 30%,90% 45%,98% 62%,78% 76%,66% 96%,49% 89%,37% 98%,25% 82%,11% 75%,6% 59%,0 42%,13% 28%,20% 10%); }
.pin { position:absolute; padding:5px 8px; border-radius:20px; background:white; color:var(--green); box-shadow:0 5px 15px rgba(0,0,0,.15); font-size:10px; font-weight:800; }
.pin:before { content:""; display:inline-block; width:6px; height:6px; margin-right:4px; border-radius:50%; background:var(--coral); }
.pin-1{top:15%;left:57%}.pin-2{top:33%;left:51%}.pin-3{top:50%;left:18%}.pin-4{top:56%;left:62%}.pin-5{top:70%;left:24%}.pin-6{top:81%;left:68%}
.region-list { display:flex; flex-direction:column; }
.region-list a { display:grid; grid-template-columns:30px 1fr auto; gap:10px; align-items:center; padding:16px 0; border-bottom:1px solid #ccd3c9; font-size:13px; font-weight:800; }
.region-list a:hover { color:var(--coral); }
.region-list span { color:#89928f; font-size:10px; }
.section-title-row { display:flex; justify-content:space-between; align-items:end; margin-bottom:48px; }
.guide-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.guide-card { min-height:340px; display:flex; flex-direction:column; justify-content:space-between; padding:30px; border:1px solid var(--line); border-radius:8px; }
.guide-number { font-family:Georgia,serif; color:#acc0ba; font-size:36px; }
.guide-card h3 { margin:12px 0; font-family:Georgia,serif; font-size:27px; line-height:1.15; font-weight:500; }
.guide-card p { color:var(--muted); line-height:1.6; font-size:14px; }
.guide-card a { display:block; margin-top:22px; color:var(--green); font-size:12px; font-weight:900; }
.guide-card--visual { overflow:hidden; min-height:510px; padding:0 24px 26px; justify-content:flex-start; }
.guide-card-image { display:block; width:calc(100% + 48px); height:176px; margin:0 -24px 20px; object-fit:cover; }
.guide-card--visual .guide-number { font-size:26px; }
.guide-card--visual a { margin-top:auto; }
.cta-band { padding:75px 0; background:var(--ink); color:white; }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.cta-band h2 { max-width:750px; font-size:48px; }
.page-hero { padding:90px 0 75px; background:var(--cream); border-bottom:1px solid var(--line); }
.page-hero h1 { max-width:900px; }
.page-hero p { max-width:720px; margin:24px 0 0; color:var(--muted); font-size:18px; line-height:1.65; }
.directory-layout { display:grid; grid-template-columns:270px 1fr; gap:35px; }
.filters { align-self:start; position:sticky; top:112px; padding:24px; border:1px solid var(--line); border-radius:8px; background:white; }
.filters h2 { margin:0 0 22px; font-size:20px; }
.filter-group { margin-bottom:20px; }
.filter-group label { display:block; margin-bottom:7px; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:1px; }
.filter-group input,.filter-group select,.form-field input,.form-field select,.form-field textarea { width:100%; min-height:48px; padding:10px 12px; border:1px solid #cfd7d3; border-radius:4px; background:white; color:var(--ink); }
.directory-head { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:20px; }
.directory-head p { color:var(--muted); }
.company-list { display:flex; flex-direction:column; gap:14px; }
.company-card { display:grid; grid-template-columns:64px 1fr auto; gap:22px; align-items:start; padding:25px; border:1px solid var(--line); border-radius:8px; background:white; transition:.2s; }
.company-card:hover { border-color:#95b6ad; box-shadow:0 12px 30px rgba(16,43,44,.08); }
.company-card .company-logo { width:64px; height:64px; flex-basis:64px; font-size:18px; }
.company-card h3 { margin:0 0 7px; font-family:Georgia,serif; font-size:25px; font-weight:500; }
.company-meta { display:flex; gap:12px; margin-bottom:12px; color:var(--muted); font-size:12px; }
.company-card p { margin:0 0 15px; color:#4c5d59; line-height:1.55; font-size:14px; }
.chips { display:flex; flex-wrap:wrap; gap:6px; }
.chip { padding:6px 9px; border-radius:20px; background:#eef3f0; color:#46605a; font-size:10px; font-weight:800; }
.verified { color:var(--green); font-size:11px; font-weight:900; white-space:nowrap; }
.empty-state { padding:55px; border:1px dashed #aab8b4; border-radius:8px; text-align:center; color:var(--muted); }
.content-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.region-card { padding:27px; min-height:180px; border:1px solid var(--line); border-radius:8px; background:white; }
.region-card span { color:#a2afab; font-family:Georgia,serif; font-size:28px; }
.region-card h2 { margin:20px 0 9px; font-family:Georgia,serif; font-size:22px; font-weight:500; }
.region-card a { color:var(--green); font-size:12px; font-weight:900; }
.detail-hero { display:grid; grid-template-columns:1fr 1fr; min-height:520px; }
.detail-hero-copy { padding:85px max(40px,calc((100vw - 1500px)/2)); padding-right:70px; display:flex; flex-direction:column; justify-content:center; background:var(--cream); }
.detail-hero-copy h1 { margin:0; font-family:Georgia,serif; font-size:62px; line-height:1; font-weight:500; }
.detail-hero-copy p { color:var(--muted); line-height:1.7; font-size:17px; }
.detail-hero-image { position:relative; min-height:360px; }
.detail-hero-image img { width:100%; height:100%; object-fit:cover; }
.detail-columns { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.detail-columns h2 { font-family:Georgia,serif; font-size:35px; font-weight:500; }
.detail-columns p { color:var(--muted); line-height:1.8; }
.check-list { list-style:none; padding:0; margin:25px 0; }
.check-list li { padding:13px 0; border-bottom:1px solid var(--line); }
.check-list li:before { content:"✓"; margin-right:11px; color:var(--green); font-weight:900; }
.form-shell { max-width:none; margin:auto; }
.form-card { padding:38px; border:1px solid var(--line); border-radius:9px; background:white; box-shadow:0 18px 45px rgba(16,43,44,.07); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-field label { display:block; margin-bottom:8px; font-size:12px; font-weight:900; }
.form-field-full { grid-column:1/-1; }
.form-note { color:var(--muted); font-size:12px; line-height:1.6; }
.form-hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-status { margin-bottom:20px; padding:17px 20px; border-radius:7px; font-weight:800; }
.form-status-success { background:#dff5eb; color:#14533f; }
.form-status-error { background:#ffe4dc; color:#7c291b; }
.success-box { padding:35px; border-radius:8px; background:#dff5eb; text-align:center; }
.site-footer { padding:75px 0 25px; background:#081f20; color:#c8d8d4; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:60px; padding-bottom:55px; }
.brand-light b { color:white; }.brand-light small{color:#9eb2ad}
.footer-grid>div:first-child p { max-width:360px; line-height:1.7; font-size:14px; }
.footer-grid h2 { margin:0 0 18px; color:white; font-size:13px; }
.footer-grid>div:not(:first-child) { display:flex; flex-direction:column; gap:12px; font-size:12px; }
.footer-grid a:hover { color:var(--mint); }
.ai-disclaimer { padding:22px 0; border-top:1px solid rgba(255,255,255,.12); }
.ai-disclaimer span { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.ai-disclaimer strong { color:white; font-size:12px; }
.ai-disclaimer small { max-width:650px; color:#9eb2ad; font-size:11px; line-height:1.55; }
.footer-bottom { display:flex; justify-content:space-between; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); font-size:10px; text-transform:uppercase; letter-spacing:1px; }

@media (max-width:900px) {
  .topbar{display:none}.nav-wrap{height:72px}.nav-wrap nav{display:none}.button-small{display:none}
  .hero{min-height:680px}.hero h1{font-size:54px;letter-spacing:-2.5px}.hero-search{grid-template-columns:1fr}.hero-search label{border-right:0;border-bottom:1px solid var(--line)}.hero-search button{min-height:55px}.hero-trust{gap:18px;flex-wrap:wrap}
  .split-heading,.region-layout,.detail-columns{grid-template-columns:1fr;gap:30px}.service-grid,.guide-grid,.content-grid{grid-template-columns:1fr 1fr}.company-row{grid-template-columns:1fr 1fr}.france-map{display:none}.directory-layout{grid-template-columns:1fr}.filters{position:static}.footer-grid{grid-template-columns:1fr 1fr}.detail-hero{grid-template-columns:1fr}.detail-hero-image{height:360px}
}
@media (max-width:600px) {
  .shell,.header-shell,.footer-shell{width:calc(100% - 32px)}.hero{min-height:720px}.hero h1{font-size:43px}.hero-content>p{font-size:16px}.hero-trust{display:none}.section{padding:72px 0}.split-heading h2,.section-title-row h2,.region-copy h2,.page-hero h1{font-size:39px}.service-grid,.guide-grid,.company-row,.content-grid,.form-grid{grid-template-columns:1fr}.section-title-row,.cta-inner{align-items:flex-start;flex-direction:column}.cta-band h2{font-size:38px}.directory-head{align-items:flex-start;flex-direction:column}.company-card{grid-template-columns:52px 1fr}.company-card .company-logo{width:52px;height:52px;flex-basis:52px}.verified{grid-column:2}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{gap:12px;flex-direction:column}.detail-hero-copy{padding:65px 16px}.detail-hero-copy h1{font-size:48px}.form-card{padding:24px}.ai-disclaimer span{align-items:flex-start;flex-direction:column;gap:8px}
}

.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;padding:12px}.skip-link:focus{left:8px}
.menu-toggle{display:none;min-width:73px;border:1px solid var(--line);background:white;border-radius:4px;padding:10px 14px;font-weight:800;color:var(--ink)}
.prose p a,.article-body p a,.legal-content p a,.faq p a,.notice p a,.form-note a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose p a:hover,.article-body p a:hover,.legal-content p a:hover,.faq p a:hover,.notice p a:hover,.form-note a:hover{color:var(--coral)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:35px;font-size:12px;color:var(--muted)}.breadcrumbs a:after{content:"/";margin-left:8px;color:#aab4b1}.breadcrumbs a:hover{color:var(--coral)}
.section-soft{background:var(--cream)}.prose{max-width:none}.prose h2,.resources h2{font:500 40px/1.1 Georgia,serif}.prose p,.resource-article p{max-width:980px;color:var(--muted);font-size:16px;line-height:1.8}
.detail-button{align-self:flex-start;margin-top:16px}.company-title{display:flex;align-items:center;gap:28px}.company-logo-large{width:88px;height:88px;flex:0 0 88px;font-size:24px}.company-title p{margin-bottom:0}.facts{margin:20px 0 35px}.facts div{padding:15px 0;border-bottom:1px solid var(--line)}.facts dt{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--muted)}.facts dd{margin:6px 0 0;font-weight:700}.notice{margin:25px 0;padding:18px;border-left:4px solid var(--mint);background:var(--cream)}.notice p{margin-bottom:0}.directory-disclaimer{margin-top:28px;color:var(--muted);font-size:12px;line-height:1.6}.reset-filters{border:0;background:none;padding:0;color:var(--green);font-size:12px;font-weight:900;cursor:pointer}
.resources{max-width:none}.resource-article{padding:0 0 70px;margin:0 0 70px;border-bottom:1px solid var(--line);scroll-margin-top:100px}.resource-article h2{margin:14px 0 20px}.resource-article h3{margin:30px 0 8px;font-size:20px}.faq h2{margin-top:10px}.faq details{max-width:980px;border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:800;cursor:pointer}.faq details p{color:var(--muted);line-height:1.7}.error-page{min-height:65vh;display:flex;align-items:center}.error-page h1{margin:0;font:500 clamp(42px,6vw,72px)/1 Georgia,serif}.error-page p{color:var(--muted);font-size:18px}.error-actions{display:flex;align-items:center;gap:25px;margin-top:28px}
.legal-section{background:linear-gradient(180deg,#fffefb 0%,#f6f3ea 100%)}.legal-layout{display:grid;grid-template-columns:370px 1fr;gap:80px;align-items:start}.legal-summary{position:sticky;top:130px;padding:34px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 18px 50px rgba(16,43,44,.08)}.legal-summary h2{margin:0;font:500 34px/1.1 Georgia,serif}.legal-summary>p{color:var(--muted);line-height:1.7}.legal-summary dl{margin:28px 0 0}.legal-summary dl div{padding:16px 0;border-top:1px solid var(--line)}.legal-summary dt{font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.legal-summary dd{margin:7px 0 0;font-size:14px;line-height:1.55}.legal-summary a{color:var(--green);font-weight:800;overflow-wrap:anywhere}.legal-content{display:flex;flex-direction:column}.legal-content article{display:grid;grid-template-columns:52px 1fr;gap:24px;padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--line)}.legal-content article>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#d9f4ee;color:var(--green);font:700 15px Georgia,serif}.legal-content h2{margin:4px 0 14px;font:500 32px/1.15 Georgia,serif}.legal-content p{max-width:920px;margin:0;color:var(--muted);font-size:16px;line-height:1.8}.legal-ai{padding:30px!important;border:1px solid #b7dace!important;border-radius:10px;background:#edf8f4}.legal-ai>span{background:var(--coral)!important;color:var(--ink)!important}
@media(max-width:900px){.menu-toggle{display:block}.nav-wrap nav.is-open{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 20px;background:white;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08)}.nav-wrap nav.is-open a{padding:13px}.nav-wrap nav.is-open .nav-mobile-cta{display:flex;align-items:center;justify-content:center;margin-top:8px;border-radius:5px;background:var(--coral);color:var(--ink)}.nav-wrap nav.is-open .nav-mobile-cta:hover{background:#f35d3c;color:var(--ink)}.company-title{align-items:flex-start}.legal-layout{grid-template-columns:1fr;gap:45px}.legal-summary{position:static}}
@media(max-width:600px){.brand b{font-size:14px}.brand small{font-size:9px;letter-spacing:.65px}.brand-mark{width:44px;height:44px;flex-basis:44px}.company-title{flex-direction:column}.company-title .company-logo-large{width:68px;height:68px;flex-basis:68px}.error-actions{align-items:flex-start;flex-direction:column}.legal-summary{padding:24px}.legal-content article{grid-template-columns:1fr;gap:14px}.legal-ai{padding:22px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-video{display:none}}
.visual-story{padding-top:20px}.visual-story .section-title-row>p{max-width:520px;margin:0;color:var(--muted);line-height:1.7}.visual-story-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:16px}.visual-story-grid figure{position:relative;min-height:430px;margin:0;overflow:hidden;border-radius:10px;background:var(--cream)}.visual-story-grid figure:first-child{min-height:570px}.visual-story-grid img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .45s ease}.visual-story-grid figure:hover img{transform:scale(1.025)}.visual-story-grid figcaption,.geo-hero figcaption{position:absolute;left:18px;bottom:18px;padding:8px 11px;border-radius:4px;background:rgba(8,31,32,.84);color:white;font-size:11px;font-weight:800;backdrop-filter:blur(7px)}.visual-library{border-top:1px solid var(--line)}.visual-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:230px;gap:14px}.visual-library-grid figure{position:relative;overflow:hidden;margin:0;border-radius:10px;background:var(--cream)}.visual-library-grid .visual-library-featured{grid-column:span 2;grid-row:span 2}.visual-library-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.visual-library-grid figure:hover img{transform:scale(1.03)}.visual-library-grid figcaption{position:absolute;left:14px;bottom:14px;padding:8px 10px;border-radius:4px;background:rgba(8,31,32,.84);color:#fff;font-size:11px;font-weight:800;backdrop-filter:blur(7px)}
.visual-story-grid .process-generated{isolation:isolate;display:grid;place-items:center;background:linear-gradient(140deg,hsl(var(--process-hue) 34% 18%),hsl(var(--process-hue) 38% 36%) 58%,hsl(var(--process-hue-alt) 70% 58%))}.process-generated::before{content:"";position:absolute;left:var(--process-x);top:var(--process-y);width:220px;height:220px;border:1px solid rgba(255,255,255,.3);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 44px rgba(255,255,255,.055),0 0 0 88px rgba(255,255,255,.03)}.process-generated::after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(124deg,transparent 0 31px,rgba(255,255,255,.085) 32px 33px)}.process-generated>b{color:rgba(255,255,255,.9);font:500 54px/1 Georgia,serif;letter-spacing:.14em;text-shadow:0 9px 28px rgba(0,0,0,.25);transition:transform .4s ease}.process-generated:hover>b{transform:scale(1.06)}
.territory-intro,.location-copy{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:55px}.territory-intro h2,.location-copy h2{max-width:680px;margin:0;font:500 48px/1.05 Georgia,serif}.territory-intro p,.location-copy p{margin:0;color:var(--muted);font-size:16px;line-height:1.75}.location-copy>div:last-child{display:grid;gap:14px}.region-card p{color:var(--muted);font-size:13px}.geo-hero{padding:70px 0;background:var(--cream);border-bottom:1px solid var(--line)}.geo-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:70px;align-items:center}.geo-hero h1{max-width:790px;margin:0;font:500 clamp(48px,5vw,76px)/1 Georgia,serif;letter-spacing:-2px}.geo-hero p{max-width:720px;color:var(--muted);font-size:18px;line-height:1.7}.geo-hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.geo-hero figure{position:relative;min-height:500px;margin:0;overflow:hidden;border-radius:12px}.geo-hero figure img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:75px}.metric-grid article{display:flex;flex-direction:column;min-height:155px;justify-content:center;padding:28px;border:1px solid var(--line);border-radius:9px;background:var(--cream)}.metric-grid strong{font:500 48px/1 Georgia,serif}.metric-grid span{margin-top:10px;color:var(--muted);font-size:12px;font-weight:800}.territory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.territory-card{min-height:210px;padding:25px;border:1px solid var(--line);border-radius:9px;background:white;transition:.2s}.territory-card:hover{transform:translateY(-3px);border-color:#95b6ad;box-shadow:0 12px 28px rgba(16,43,44,.08)}.territory-card>span{color:var(--coral);font:500 26px Georgia,serif}.territory-card h3{margin:28px 0 7px;font:500 24px/1.15 Georgia,serif}.territory-card p{color:var(--muted);font-size:12px}.territory-card b{display:block;margin-top:20px;color:var(--green);font-size:11px}.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.city-grid a{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid var(--line);border-radius:7px;background:white}.city-grid a:hover{border-color:#95b6ad;background:#f7fbf9}.city-grid strong{font:500 19px Georgia,serif}.city-grid span{color:var(--muted);font-size:11px}
.local-seo-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);gap:80px;align-items:start}.local-seo-grid h2{font:500 44px/1.08 Georgia,serif}.local-seo-grid h3{margin-top:40px}.local-seo-grid p{max-width:850px;color:var(--muted);font-size:16px;line-height:1.8}.local-facts{margin-top:22px}.local-facts div{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.local-facts dt{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.local-facts dd{margin:0;font-weight:700}.local-checklist{padding:34px;border-radius:10px;background:var(--cream);box-shadow:0 14px 35px rgba(16,43,44,.06)}.local-checklist h2{font-size:34px}.geo-service-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.geo-service-links a{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid rgba(255,255,255,.17);border-radius:7px;background:rgba(255,255,255,.06)}.geo-service-links a:hover{background:rgba(255,255,255,.12)}.geo-service-links span{color:var(--mint);font-size:9px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}.geo-service-links strong{color:white;font-size:14px}.glossary-nav{position:sticky;top:116px;z-index:8;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:45px;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,251,.94);backdrop-filter:blur(10px)}.glossary-nav a{width:36px;height:36px;display:grid;place-items:center;border-radius:5px;background:var(--cream);font-size:12px;font-weight:900}.glossary-nav a:hover{background:var(--mint);color:var(--ink)}.glossary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;align-items:start}.glossary-letter{grid-column:1/-1;margin:26px 0 0;padding-top:10px;color:var(--coral);font:500 48px Georgia,serif}.glossary-grid article{position:relative;min-height:170px;padding:26px;border:1px solid var(--line);border-radius:8px;background:white;scroll-margin-top:180px}.glossary-grid article h3{margin:0 30px 12px 0;font:500 25px Georgia,serif}.glossary-grid article p{margin:0;color:var(--muted);line-height:1.7}.glossary-grid article>a{position:absolute;top:22px;right:22px;color:#a7b4b0;font-weight:900}.glossary-grid article>a:hover{color:var(--coral)}
@media(max-width:900px){.visual-story-grid{grid-template-columns:1fr 1fr}.visual-story-grid figure:first-child{grid-column:1/-1;min-height:470px}.visual-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:250px}.territory-intro,.location-copy,.geo-hero-grid,.local-seo-grid{grid-template-columns:1fr;gap:38px}.geo-hero figure{min-height:430px}.territory-grid,.city-grid{grid-template-columns:repeat(2,1fr)}.glossary-grid{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:1fr 1fr}.geo-service-links{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.visual-story .section-title-row>p{font-size:14px}.visual-story-grid{grid-template-columns:1fr}.visual-story-grid figure,.visual-story-grid figure:first-child{grid-column:auto;min-height:350px}.visual-library-grid{grid-template-columns:1fr;grid-auto-rows:285px}.visual-library-grid .visual-library-featured{grid-column:auto;grid-row:auto;min-height:380px}.territory-intro h2,.location-copy h2,.local-seo-grid h2{font-size:36px}.geo-hero{padding:55px 0}.geo-hero h1{font-size:45px}.geo-hero-actions{align-items:flex-start;flex-direction:column}.geo-hero figure{min-height:320px}.metric-grid,.territory-grid,.city-grid,.geo-service-links{grid-template-columns:1fr}.metric-grid{margin-bottom:55px}.local-facts div{grid-template-columns:1fr;gap:5px}.local-checklist{padding:25px}.glossary-nav{top:82px}.glossary-grid{grid-template-columns:1fr}.glossary-letter{position:static;padding-top:25px}.glossary-grid article{min-height:0}}
.visual-banner-grid{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr);align-items:center;gap:70px}.visual-banner-grid figure{min-height:340px;overflow:hidden;margin:0;border-radius:12px;background:var(--cream)}.visual-banner-grid img{width:100%;height:100%;object-fit:cover}.visual-banner-grid h2{max-width:620px;margin:8px 0 18px;font:500 clamp(35px,4vw,54px)/1.05 Georgia,serif}.visual-banner-grid p{max-width:630px;color:var(--muted);font-size:16px;line-height:1.75}.visual-banner-grid .text-link{display:inline-block;margin-top:12px}@media(max-width:900px){.visual-banner-grid{grid-template-columns:1fr;gap:32px}.visual-banner-grid figure{min-height:360px}}@media(max-width:600px){.visual-banner-grid figure{min-height:270px}.visual-banner-grid h2{font-size:35px}}

.employment-hero{padding:82px 0;background:linear-gradient(135deg,#f6f3ea 0%,#eef8f4 100%);border-bottom:1px solid var(--line)}
.employment-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:70px;align-items:center}
.employment-hero h1{max-width:950px;margin:0;font:500 clamp(50px,5.6vw,78px)/.99 Georgia,serif;letter-spacing:-3px}
.employment-hero p{max-width:800px;margin:27px 0 0;color:var(--muted);font-size:18px;line-height:1.72}
.employment-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:34px}
.employment-actions .text-link{margin:0}
.employment-hero-side{display:grid;gap:18px}
.employment-hero-photo{position:relative;min-height:310px;margin:0;overflow:hidden;border-radius:12px;background:#dce8e4;box-shadow:0 22px 55px rgba(16,43,44,.12)}
.employment-hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.employment-hero-photo figcaption{position:absolute;left:16px;right:16px;bottom:16px;padding:9px 11px;border-radius:4px;background:rgba(8,31,32,.84);color:white;font-size:10px;font-weight:800;line-height:1.4;backdrop-filter:blur(7px)}
.employment-summary{padding:32px;border:1px solid #bfd4cd;border-radius:12px;background:rgba(255,255,255,.88);box-shadow:0 22px 55px rgba(16,43,44,.09)}
.employment-summary>span{display:block;margin-bottom:14px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}
.employment-summary nav{display:flex;align-items:stretch;flex-direction:column;gap:0}
.employment-summary nav a{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}
.employment-summary nav a:last-child{border-bottom:0}
.employment-summary nav a:hover{color:var(--coral)}
.employment-summary nav b{color:#8fa39d;font:500 17px Georgia,serif}
.employment-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.employment-intro h2,.employment-conditions h2,.employment-directory-head h2,.application-grid h2,.employment-feature h2,.employment-closing h2{margin:0;font:500 clamp(38px,4.4vw,60px)/1.04 Georgia,serif;letter-spacing:-2px}
.employment-intro-grid p{margin:0 0 16px;color:var(--muted);font-size:16px;line-height:1.8}
.employment-intro-grid strong{color:var(--ink)}
.employment-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:58px}
.employment-facts article{min-height:145px;display:flex;justify-content:center;flex-direction:column;padding:25px;border:1px solid var(--line);border-radius:9px;background:white}
.employment-facts strong{font:500 clamp(29px,2.5vw,42px)/1 Georgia,serif;color:var(--green)}
.employment-facts span{margin-top:10px;color:var(--muted);font-size:11px;font-weight:800;line-height:1.5}
.employment-section-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}
.employment-section-heading>p{max-width:580px;margin:0;color:var(--muted);line-height:1.75}
.job-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.job-card{position:relative;min-height:370px;padding:32px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 10px 30px rgba(16,43,44,.035)}
.job-card__image{display:block;width:100%;margin-top:20px;aspect-ratio:3/2;border-radius:7px;object-fit:cover;background:#e8efec}
.job-number{position:absolute;top:25px;right:27px;color:#b1c0bb;font:500 27px Georgia,serif}
.job-meta{padding-right:50px;color:var(--green);font-size:9px;font-weight:900;letter-spacing:1.1px;text-transform:uppercase}
.job-card h3{max-width:550px;margin:20px 45px 14px 0;font:500 30px/1.1 Georgia,serif}
.job-card p{max-width:650px;margin:0;color:var(--muted);font-size:14px;line-height:1.72}
.job-card ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:25px 0 0}
.job-card li{padding:7px 10px;border-radius:20px;background:#edf5f2;color:#3f5d56;font-size:10px;font-weight:800}
.employment-conditions{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:start}
.employment-conditions>div>p{max-width:760px;color:var(--muted);font-size:16px;line-height:1.82}
.skills-panel{padding:36px;border:1px solid var(--line);border-radius:11px;background:var(--cream)}
.skills-panel h2{font-size:38px;letter-spacing:-1px}
.skills-panel .check-list{margin-bottom:0}
.employment-note{margin-top:28px;padding:20px;border-left:4px solid var(--coral);background:white}
.employment-note strong{font-size:12px;text-transform:uppercase;letter-spacing:.8px}
.employment-note p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.65}
.employment-feature{padding:72px 0;background:var(--green);color:white}
.employment-feature-inner,.employment-closing-inner{display:flex;align-items:center;justify-content:space-between;gap:70px}
.employment-feature h2,.employment-closing h2{max-width:870px;font-size:48px}
.employment-feature p,.employment-closing p{max-width:780px;margin:18px 0 0;color:#d2e3de;line-height:1.7}
.employment-feature .button,.employment-closing .button{flex:0 0 auto}
.training-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.training-card{display:flex;flex-direction:column;min-height:460px;padding:32px;border:1px solid var(--line);border-radius:10px;background:white}
.training-card-primary{background:#eaf7f2;border-color:#b4d8cc}
.training-level,.source-type{color:var(--green);font-size:9px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}
.training-card h3{margin:22px 0 16px;font:500 29px/1.13 Georgia,serif}
.training-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.72}
.training-links{display:flex;flex-direction:column;gap:11px;margin-top:auto;padding-top:28px}
.training-links a{color:var(--green);font-size:12px;font-weight:900;line-height:1.5}
.training-links a:hover{color:var(--coral)}
.source-update{margin:24px 0 0;color:var(--muted);font-size:11px;line-height:1.6}
.employment-directory-head{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:end;margin-bottom:50px}
.employment-directory-head p{max-width:850px;margin:20px 0 0;color:var(--muted);font-size:16px;line-height:1.75}
.employment-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.employment-source{min-height:290px;display:flex;flex-direction:column;padding:27px;border:1px solid var(--line);border-radius:9px;background:white;transition:.2s ease}
.employment-source:hover{transform:translateY(-4px);border-color:#91b9ae;box-shadow:0 15px 35px rgba(16,43,44,.09)}
.employment-source-featured{background:var(--green);color:white;border-color:var(--green)}
.employment-source-featured .source-type{color:var(--mint)}
.employment-source h3{margin:22px 0 13px;font:500 27px/1.1 Georgia,serif}
.employment-source p{margin:0;color:var(--muted);font-size:13px;line-height:1.66}
.employment-source-featured p{color:#cde0da}
.employment-source b{margin-top:auto;padding-top:24px;color:var(--green);font-size:11px}
.employment-source-featured b{color:white}
.verified-sources{display:flex;align-items:flex-start;gap:13px;margin-top:22px;padding:18px 20px;border:1px solid #b9d8cf;border-radius:7px;background:#eaf7f2}
.verified-sources>span{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;border-radius:50%;background:var(--green);color:white;font-size:12px;font-weight:900}
.verified-sources p{margin:1px 0 0;color:#47635c;font-size:12px;line-height:1.6}
.application-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.application-grid>div>p{color:var(--muted);font-size:16px;line-height:1.8}
.keyword-box{margin-top:32px;padding:25px;border-radius:9px;background:var(--cream)}
.keyword-box h3{margin:0 0 10px;font:500 24px Georgia,serif}
.keyword-box p{margin:0!important;color:#425b55!important;font-size:13px!important;line-height:1.75!important}
.application-steps{list-style:none;padding:0;margin:0}
.application-steps li{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:0 0 25px;margin:0 0 25px;border-bottom:1px solid var(--line)}
.application-steps li:last-child{margin-bottom:0}
.application-steps li>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#d9f4ee;color:var(--green);font:700 16px Georgia,serif}
.application-steps h3{margin:3px 0 7px;font-size:18px}
.application-steps p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.employment-faq h2{max-width:900px;font-size:48px}
.employment-faq details{max-width:none}
.employment-faq summary{font-size:16px}
.employment-closing{padding:82px 0;background:var(--ink);color:white}

@media(max-width:1100px){
  .employment-hero-grid,.employment-intro-grid,.employment-conditions,.application-grid{gap:50px}
  .employment-directory{grid-template-columns:repeat(2,1fr)}
  .training-grid{grid-template-columns:1fr 1fr}.training-card:last-child{grid-column:1/-1;min-height:360px}
}
@media(max-width:1050px) and (min-width:901px){.nav-wrap{gap:24px}.nav-wrap nav{gap:20px}.button-small{display:none}}
.external-directory-search h2{margin:9px 0 11px;font-size:clamp(31px,4vw,46px)}.external-directory-search>.shell>p{max-width:860px;color:var(--muted)}.external-directory-search-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:27px}.external-directory-search-links a{display:flex;flex-direction:column;gap:7px;padding:22px;border:1px solid var(--line);border-radius:8px;background:white;transition:.2s}.external-directory-search-links a:hover{border-color:#8bb8ad;box-shadow:0 12px 28px rgba(23,53,47,.08);transform:translateY(-2px)}.external-directory-search-links strong{color:var(--ink);font-size:15px}.external-directory-search-links span{color:var(--green);font-size:12px;font-weight:700}
@media(max-width:600px){.external-directory-search-links{grid-template-columns:1fr}}
@media(max-width:900px){
  .employment-hero-grid,.employment-intro-grid,.employment-section-heading,.employment-conditions,.application-grid{grid-template-columns:1fr}
  .employment-hero-grid{gap:42px}.employment-hero-photo{min-height:390px}.employment-section-heading{gap:24px}.employment-facts{grid-template-columns:1fr 1fr}.employment-feature-inner,.employment-closing-inner{align-items:flex-start;flex-direction:column}.employment-directory-head{grid-template-columns:1fr;gap:28px}.employment-directory-head .button{justify-self:start}
}
@media(max-width:600px){
  .employment-hero{padding:55px 0}.employment-hero h1{font-size:43px;letter-spacing:-1.8px}.employment-hero p{font-size:16px}.employment-actions{align-items:flex-start;flex-direction:column}.employment-actions .button{width:100%;padding:12px 18px;text-align:center}.employment-hero-photo{min-height:280px}.employment-summary{padding:24px}.employment-facts,.job-grid,.training-grid,.employment-directory{grid-template-columns:1fr}.employment-facts article{min-height:120px}.job-card{min-height:0;padding:26px}.job-card h3{font-size:27px}.skills-panel{padding:25px}.employment-feature h2,.employment-closing h2,.employment-faq h2{font-size:37px}.employment-feature,.employment-closing{padding:60px 0}.training-card,.training-card:last-child{grid-column:auto;min-height:0;padding:26px}.employment-source{min-height:250px}.application-steps li{grid-template-columns:40px 1fr;gap:15px}.application-steps li>span{width:36px;height:36px}
}

.directory-overview{padding-bottom:45px}.directory-overview .metric-grid{margin-bottom:25px}.source-legend{display:flex;flex-wrap:wrap;gap:16px 34px;padding:20px 24px;border:1px solid var(--line);border-radius:9px;background:#fff}.source-legend span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;line-height:1.5}.source-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%}.source-dot-official{background:var(--coral)}.source-dot-public{background:var(--green)}
.directory-search-section{padding:38px 0}.directory-search-form{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(190px,1fr) minmax(170px,.85fr) minmax(130px,.55fr) auto auto;gap:14px;align-items:end}.directory-search-form .filter-group{margin:0}.directory-search-form label{display:block;margin-bottom:8px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.directory-search-form input,.directory-search-form select{width:100%;height:48px;padding:0 13px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}.directory-search-form .button{height:48px;border:0}.directory-search-form .reset-filters{height:48px;display:flex;align-items:center}
.network-company-list{max-width:1100px}.directory-head>div>h2{margin:8px 0 9px;font:500 clamp(34px,4vw,48px)/1.08 Georgia,serif}.directory-head>div>p{margin:0}.establishment-grid,.network-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.establishment-card,.network-location-card{display:flex;flex-direction:column;min-width:0;padding:23px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 8px 22px rgba(16,43,44,.035)}.establishment-card-head,.network-location-card>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted);font-size:10px}.source-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:20px;font-size:9px;font-weight:900;letter-spacing:.45px;text-transform:uppercase}.source-badge-public{background:#d9f4ee;color:var(--green)}.source-badge-official{background:#ffe3d8;color:#7a2e1c}.establishment-card h3,.network-location-card h3{margin:18px 0 9px;font:500 24px/1.15 Georgia,serif}.establishment-card .legal-name{margin:-2px 0 10px;color:var(--muted);font-size:11px;line-height:1.5}.establishment-card address,.network-location-card address{margin:0 0 18px;color:#4c5d59;font-size:13px;line-height:1.6;font-style:normal}.establishment-card dl{margin:auto 0 18px}.establishment-card dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:10px}.establishment-card dt{color:var(--muted);font-weight:900;text-transform:uppercase}.establishment-card dd{margin:0;text-align:right;font-weight:700}.establishment-card>a,.network-location-card>a,.network-location-card p a{color:var(--green);font-size:11px;font-weight:900}.network-location-card address{min-height:42px}.network-location-card p{display:flex;flex-wrap:wrap;gap:10px 18px;margin:auto 0 0}.directory-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:35px}.directory-pagination a{min-width:40px;height:40px;display:grid;place-items:center;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--green);font-size:12px;font-weight:900}.directory-pagination a[aria-current=page]{border-color:var(--green);background:var(--green);color:white}
.local-directory-section{border-bottom:1px solid var(--line)}.local-directory-section>.shell>.section-title-row>p{max-width:640px;color:var(--muted);line-height:1.7}.local-directory-block{margin-top:42px}.local-directory-block>h3{margin:0 0 18px;font:500 28px Georgia,serif}.local-directory-more{display:table;margin:30px auto 0}
@media(max-width:1100px){.directory-search-form{grid-template-columns:1fr 1fr 1fr}.directory-search-form .button,.directory-search-form .reset-filters{justify-self:start}.establishment-grid,.network-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.directory-search-form,.establishment-grid,.network-location-grid{grid-template-columns:1fr}.directory-search-form .button{width:100%}.directory-search-form .reset-filters{height:auto}.source-legend{align-items:flex-start;flex-direction:column}.establishment-card,.network-location-card{padding:20px}.directory-pagination a{min-width:38px}.company-card{grid-template-columns:52px minmax(0,1fr);gap:18px;padding:20px}.company-card>div{min-width:0}.company-meta{flex-wrap:wrap}.company-meta span{overflow-wrap:anywhere}.verified{grid-column:2;white-space:normal}}

.portal-hero{padding:64px 0;background:#f2f4ed;border-bottom:1px solid var(--line)}
.portal-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);gap:72px;align-items:center}
.portal-hero-copy h1,.guide-article-heading h1{max-width:900px;margin:0;font:500 clamp(50px,5.7vw,82px)/.98 Georgia,serif;letter-spacing:-3px}
.portal-hero-copy>p,.guide-article-heading>p{max-width:780px;margin:27px 0 0;color:var(--muted);font-size:18px;line-height:1.72}
.portal-hero figure,.guide-article-hero figure{position:relative;min-height:520px;margin:0;overflow:hidden;border-radius:12px;background:#dce8e3;box-shadow:0 25px 65px rgba(16,43,44,.12)}
.portal-hero figure img,.guide-article-hero figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portal-hero figcaption,.guide-article-hero figcaption{position:absolute;right:17px;bottom:17px;padding:8px 11px;border-radius:4px;background:rgba(8,31,32,.82);color:white;font-size:10px;font-weight:800;backdrop-filter:blur(7px)}
.hero-jump-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.hero-jump-links a{padding:10px 14px;border:1px solid #aec4bd;border-radius:100px;background:rgba(255,255,255,.58);color:var(--green);font-size:11px;font-weight:900}
.hero-jump-links a:hover{border-color:var(--green);background:white}
.resource-overview{background:var(--green);color:white}
.resource-metrics{display:grid;grid-template-columns:repeat(3,1fr)}
.resource-metrics article{display:flex;align-items:center;gap:18px;min-height:120px;padding:28px 38px;border-right:1px solid rgba(255,255,255,.15)}
.resource-metrics article:last-child{border:0}.resource-metrics strong{color:var(--mint);font:500 46px/1 Georgia,serif}.resource-metrics span{max-width:115px;font-size:11px;font-weight:900;line-height:1.45;text-transform:uppercase;letter-spacing:.9px}
.section-lead{max-width:570px;margin:0;color:var(--muted);line-height:1.7}
.collection-count{padding:8px 12px;border:1px solid var(--line);border-radius:100px;color:var(--muted);font-size:11px;font-weight:900;white-space:nowrap}
.topic-path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.topic-path-card{display:flex;flex-direction:column;min-height:315px;padding:29px;border:1px solid var(--line);border-radius:10px;background:white;transition:.22s}
.topic-path-card:hover{transform:translateY(-4px);border-color:#8db5aa;box-shadow:0 18px 40px rgba(16,43,44,.09)}
.topic-path-card>span{color:var(--coral);font:500 32px Georgia,serif}.topic-path-card h3{margin:38px 0 12px;font:500 29px/1.08 Georgia,serif}.topic-path-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.topic-path-card b{margin-top:auto;padding-top:25px;color:var(--green);font-size:11px}
.guide-library-section .section-title-row h2{max-width:900px;font-size:clamp(33px,3.7vw,51px)}
.rich-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rich-guide-card{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 9px 24px rgba(16,43,44,.035);transition:.22s}
.rich-guide-card:hover{transform:translateY(-3px);border-color:#9abbb2;box-shadow:0 18px 42px rgba(16,43,44,.09)}
.rich-guide-media{position:relative;display:block;height:218px;overflow:hidden;background:var(--cream)}
.rich-guide-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.rich-guide-card:hover .rich-guide-media img{transform:scale(1.025)}
.rich-guide-media span{position:absolute;right:13px;bottom:13px;padding:7px 9px;border-radius:4px;background:rgba(8,31,32,.83);color:#fff;font-size:10px;font-weight:900}
.rich-guide-generated{isolation:isolate;display:grid;place-items:center;background:linear-gradient(138deg,hsl(var(--guide-hue) 34% 20%),hsl(var(--guide-hue) 36% 38%) 58%,hsl(var(--guide-hue-alt) 68% 57%))}
.rich-guide-generated::before{content:"";position:absolute;left:var(--guide-x);top:var(--guide-y);width:150px;height:150px;border:1px solid rgba(255,255,255,.3);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 34px rgba(255,255,255,.055),0 0 0 68px rgba(255,255,255,.03)}
.rich-guide-generated::after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(123deg,transparent 0 27px,rgba(255,255,255,.08) 28px 29px)}
.rich-guide-generated>b{color:rgba(255,255,255,.9);font:500 43px/1 Georgia,serif;letter-spacing:.12em;text-shadow:0 8px 26px rgba(0,0,0,.22);transition:transform .35s ease}
.rich-guide-card:hover .rich-guide-generated>b{transform:scale(1.06)}
.rich-guide-copy{padding:25px}.guide-kicker{color:var(--coral);font-size:9px;font-weight:900;letter-spacing:1.1px;text-transform:uppercase}.rich-guide-copy h3{margin:10px 0 12px;font:500 25px/1.13 Georgia,serif}.rich-guide-copy h3 a:hover{color:var(--green)}.rich-guide-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.68}.rich-guide-copy .text-link{margin-top:20px}
.editorial-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:start}.editorial-split h2{margin:0;font:500 clamp(38px,4.4vw,60px)/1.05 Georgia,serif}.editorial-split p{margin:0 0 17px;color:var(--muted);font-size:16px;line-height:1.78}.source-inline{display:block;margin-top:14px;color:var(--green);font-size:12px;font-weight:900}.source-inline:hover{color:var(--coral)}
.process-strip,.ecology-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line)}
.process-strip article,.ecology-pillars article{min-height:245px;padding:28px;background:white}.process-strip span{color:var(--coral);font:500 29px Georgia,serif}.process-strip h2,.ecology-pillars h2{margin:42px 0 12px;font:500 27px Georgia,serif}.process-strip p,.ecology-pillars p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.ecology-pillars strong{color:var(--green);font:500 36px Georgia,serif}.ecology-pillars h2{margin-top:34px}
.supplier-notice{display:grid;grid-template-columns:46px 1fr;gap:18px;max-width:1050px;padding:24px;border:1px solid #bbd5cd;border-radius:9px;background:#eff8f5}.supplier-notice>div span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:white;font:700 18px Georgia,serif}.supplier-notice p{margin:0;color:#425954;line-height:1.68}
.supplier-category{padding-top:82px;scroll-margin-top:90px}.supplier-category-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}.supplier-category-head h2{max-width:780px;margin:8px 0 0;font:500 clamp(32px,3.4vw,46px)/1.08 Georgia,serif}.supplier-category-head>span{color:var(--muted);font-size:11px;font-weight:900;white-space:nowrap}
.supplier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.supplier-card{min-height:290px;padding:26px;border:1px solid var(--line);border-radius:9px;background:white}.supplier-monogram{width:48px;height:48px;display:grid;place-items:center;margin-bottom:24px;border-radius:9px;background:var(--green);color:var(--mint);font:700 15px Georgia,serif}.supplier-origin{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.supplier-card h3{margin:9px 0 13px;font:500 25px Georgia,serif}.supplier-card p{min-height:67px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}.supplier-card a{display:block;margin-top:22px;color:var(--green);font-size:11px;font-weight:900}.supplier-card a:hover{color:var(--coral)}
.guide-article-hero{padding:62px 0;background:#f2f4ed;border-bottom:1px solid var(--line)}.guide-article-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(400px,.88fr);gap:70px;align-items:center}.guide-article-heading h1{font-size:clamp(49px,5.1vw,75px)}.guide-article-hero figure{min-height:500px}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:30px;color:#52665f;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.article-meta span{position:relative}.article-meta span:not(:last-child):after{content:"·";position:absolute;right:-13px}.article-meta a{text-decoration:underline;text-underline-offset:2px}
.guide-article-layout{display:grid;grid-template-columns:260px minmax(0,820px);gap:90px;align-items:start;justify-content:center}
.article-toc{position:sticky;top:112px;padding:23px;border:1px solid var(--line);border-radius:9px;background:#fff}.article-toc>span{display:block;margin-bottom:13px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.article-toc nav{display:flex;flex-direction:column}.article-toc nav a{padding:10px 0;border-bottom:1px solid var(--line);color:#38524b;font-size:11px;font-weight:800;line-height:1.4}.article-toc nav a:hover{color:var(--coral)}.toc-back{display:block;margin-top:20px;color:var(--green);font-size:11px;font-weight:900}
.article-body{min-width:0}.article-deck{margin:0 0 75px;padding:27px;border-left:4px solid var(--coral);background:var(--cream);color:#36504a;font:500 21px/1.55 Georgia,serif}
.article-body>section{padding:0 0 70px;margin:0 0 70px;border-bottom:1px solid var(--line);scroll-margin-top:110px}.section-index{display:block;margin-bottom:12px;color:var(--coral);font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}.article-body h2{max-width:760px;margin:0 0 23px;font:500 clamp(34px,3.5vw,47px)/1.08 Georgia,serif}.article-body p{color:var(--muted);font-size:16px;line-height:1.82}.article-checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px;margin:28px 0;padding:0;list-style:none}.article-checklist li{position:relative;padding:12px 12px 12px 31px;border-bottom:1px solid var(--line);color:#3f5751;font-size:13px;line-height:1.45}.article-checklist li:before{content:"✓";position:absolute;left:5px;color:var(--green);font-weight:900}
.article-summary{padding:34px!important;border:1px solid #b8d2ca!important;border-radius:10px;background:#eff8f5}.article-summary h2{font-size:36px}.article-summary ul{display:grid;gap:13px;margin:0;padding:0;list-style:none}.article-summary li{position:relative;padding-left:28px;color:#304a44;font-size:15px;font-weight:700;line-height:1.62}.article-summary li:before{content:"→";position:absolute;left:0;color:var(--coral)}.article-summary p{margin:20px 0 0!important;font-size:12px!important}
.article-note{margin-top:30px;padding:24px;border-radius:8px;background:#eaf5f1}.article-note strong{display:block;color:var(--green);font-size:10px;text-transform:uppercase;letter-spacing:1px}.article-note p{margin:8px 0 0;color:#3f5751;font-size:14px;line-height:1.7}.article-faq details{max-width:none}.article-sources ol{margin:25px 0 0;padding-left:23px}.article-sources li{padding:9px 0;color:var(--muted)}.article-sources a{color:var(--green);font-size:13px;font-weight:800}.editorial-disclaimer{padding:25px;border:1px solid var(--line);border-radius:8px;background:#fff}.editorial-disclaimer strong{font-family:Georgia,serif;font-size:21px}.editorial-disclaimer p{margin:8px 0 0;font-size:13px}.related-guides .rich-guide-grid{grid-template-columns:repeat(3,1fr)}
.editorial-disclaimer a{color:var(--green);font-weight:800}
.guide-library-section,.supplier-category,.related-guides,.visual-story{content-visibility:auto;contain-intrinsic-size:auto 900px}

.methodology-intro{background:var(--green);color:white}.methodology-metrics{display:grid;grid-template-columns:repeat(3,1fr)}.methodology-metrics article{display:flex;flex-direction:column;justify-content:center;min-height:125px;padding:28px 38px;border-right:1px solid rgba(255,255,255,.15)}.methodology-metrics article:last-child{border:0}.methodology-metrics strong{color:var(--mint);font:500 26px/1.1 Georgia,serif}.methodology-metrics span{margin-top:9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.8px}
.methodology-layout{display:grid;grid-template-columns:245px minmax(0,900px);gap:85px;align-items:start;justify-content:center}.methodology-nav{position:sticky;top:112px;padding:23px;border:1px solid var(--line);border-radius:9px}.methodology-nav>span{display:block;margin-bottom:12px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.methodology-nav nav{display:flex;flex-direction:column}.methodology-nav a{padding:10px 0;border-bottom:1px solid var(--line);color:#38524b;font-size:11px;font-weight:800}.methodology-content>section{padding-bottom:72px;margin-bottom:72px;border-bottom:1px solid var(--line);scroll-margin-top:110px}.methodology-content>section:last-child{margin-bottom:0}.methodology-content h2{max-width:760px;margin:0 0 25px;font:500 clamp(36px,4vw,50px)/1.08 Georgia,serif}.methodology-content h3{margin:0 0 10px;font:500 23px Georgia,serif}.methodology-content p{color:var(--muted);font-size:16px;line-height:1.8}.methodology-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.methodology-card-grid article{padding:25px;border:1px solid var(--line);border-radius:8px;background:var(--cream)}.methodology-card-grid p{margin:0;font-size:13px}.methodology-steps{display:grid;gap:13px;margin:0;padding:0;list-style:none}.methodology-steps li{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:25px;border:1px solid var(--line);border-radius:8px}.methodology-steps li>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--mint);font:700 16px Georgia,serif}.methodology-steps p{margin:0;font-size:14px}.methodology-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.methodology-links a{padding:9px 12px;border:1px solid #b5cdc6;border-radius:100px;color:var(--green);font-size:10px;font-weight:900}.methodology-definitions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:25px}.methodology-definitions article{padding:23px;border-radius:8px;background:#eff8f5}.methodology-definitions strong{display:block;color:var(--green);font:500 21px Georgia,serif}.methodology-definitions p{margin:10px 0 0;font-size:13px}.methodology-callout{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px;padding:28px;border-radius:9px;background:var(--cream)}.methodology-callout strong{font:500 24px Georgia,serif}.methodology-callout p{margin:6px 0 0;font-size:13px}

@media(max-width:1050px){
  .portal-hero-grid,.guide-article-hero-grid{grid-template-columns:1fr;gap:42px}.portal-hero figure,.guide-article-hero figure{min-height:470px}.topic-path-grid{grid-template-columns:1fr 1fr}.rich-guide-grid,.supplier-grid{grid-template-columns:1fr 1fr}.guide-article-layout{grid-template-columns:220px minmax(0,1fr);gap:45px}.process-strip,.ecology-pillars{grid-template-columns:1fr 1fr}.related-guides .rich-guide-grid{grid-template-columns:repeat(3,1fr)}.methodology-layout{grid-template-columns:210px minmax(0,1fr);gap:42px}.methodology-definitions{grid-template-columns:1fr}
}
@media(max-width:700px){
  .portal-hero,.guide-article-hero{padding:45px 0}.portal-hero-copy h1,.guide-article-heading h1{font-size:44px;letter-spacing:-1.8px}.portal-hero-copy>p,.guide-article-heading>p{font-size:16px}.portal-hero figure,.guide-article-hero figure{min-height:320px}.resource-metrics,.methodology-metrics{grid-template-columns:1fr}.resource-metrics article,.methodology-metrics article{min-height:90px;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.topic-path-grid,.rich-guide-grid,.supplier-grid,.process-strip,.ecology-pillars,.related-guides .rich-guide-grid{grid-template-columns:1fr}.topic-path-card{min-height:260px}.section-lead{font-size:14px}.editorial-split{grid-template-columns:1fr;gap:28px}.supplier-category-head{align-items:flex-start;flex-direction:column;gap:15px}.supplier-category{padding-top:58px}.guide-article-layout,.methodology-layout{grid-template-columns:1fr;gap:40px}.article-toc,.methodology-nav{position:static}.article-meta{flex-direction:column}.article-meta span:after{display:none}.article-deck{margin-bottom:55px;font-size:18px}.article-body>section,.methodology-content>section{padding-bottom:55px;margin-bottom:55px}.article-checklist,.methodology-card-grid{grid-template-columns:1fr}.rich-guide-media{height:205px}.article-summary{padding:25px!important}.methodology-callout{align-items:flex-start;flex-direction:column}.methodology-steps li{grid-template-columns:42px 1fr;gap:14px}
}

/* Decision support, answer-first content and service comparison */
.decision-section{padding:76px 0;background:linear-gradient(135deg,#eef8f4 0%,#f6f3ea 100%);border-bottom:1px solid var(--line)}
.button-coral:hover{background:#f35b3b;color:#182a28}
.decision-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin-bottom:38px}.decision-heading h2{max-width:760px;margin:0;font:500 clamp(39px,4.7vw,60px)/1.04 Georgia,serif;letter-spacing:-2px}.decision-heading p{max-width:610px;margin:0;color:var(--muted);font-size:16px;line-height:1.75}
.decision-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:18px;align-items:stretch}.decision-form fieldset{height:100%;margin:0;padding:32px;border:1px solid #b8d2ca;border-radius:11px;background:rgba(255,255,255,.88)}.decision-form legend{padding:0 9px;color:var(--green);font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.decision-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.decision-fields label{display:block}.decision-fields label span{display:block;margin-bottom:8px;color:#405752;font-size:10px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}.decision-fields select{width:100%;height:50px;padding:0 13px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:700 13px Arial,sans-serif}.decision-field-wide{grid-column:1/-1}.decision-form .button{margin-top:23px;border:0;cursor:pointer}
.decision-result{display:flex;flex-direction:column;padding:34px;border-radius:11px;background:var(--green);color:white;box-shadow:0 20px 48px rgba(11,81,74,.14)}.decision-result-kicker{color:var(--mint);font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.decision-result h3{margin:10px 0 21px;font:500 31px/1.12 Georgia,serif}.decision-result ol{display:grid;gap:11px;margin:0 0 26px;padding:0;counter-reset:brief;list-style:none}.decision-result li{position:relative;padding:0 0 11px 31px;border-bottom:1px solid rgba(255,255,255,.14);color:#e6f2ef;font-size:13px;line-height:1.55;counter-increment:brief}.decision-result li::before{content:counter(brief);position:absolute;left:0;top:0;color:var(--coral);font-weight:900}.decision-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:auto}.decision-actions .button{background:white;color:var(--green)}.decision-actions .text-link{color:white}.copy-brief{align-self:flex-start;margin-top:18px;padding:8px 0;border:0;border-bottom:1px solid rgba(255,255,255,.6);background:transparent;color:white;font-weight:800;cursor:pointer}.decision-feedback{min-height:20px;margin:12px 0 0;color:#cce5de;font-size:11px;line-height:1.5}
.detail-hero-image{margin:0}.detail-hero-image figcaption{position:absolute;right:16px;bottom:16px;padding:8px 11px;border-radius:4px;background:rgba(8,31,32,.84);color:white;font-size:10px;font-weight:800;backdrop-filter:blur(7px)}
.service-comparison{background:#fff}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.comparison-grid article{min-height:190px;padding:25px;border:1px solid var(--line);border-radius:9px;background:var(--cream)}.comparison-grid span{color:var(--coral);font:500 24px Georgia,serif}.comparison-grid h3{margin:27px 0 8px;font:500 25px Georgia,serif}.comparison-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.62}.comparison-links{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin-top:30px}
.decision-faq h2{max-width:900px;margin:8px 0 36px;font:500 clamp(37px,4.3vw,55px)/1.06 Georgia,serif;letter-spacing:-1.7px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}.faq-grid details{max-width:none}.faq-grid summary{font-size:15px;line-height:1.45}.faq-grid details p{font-size:14px;line-height:1.72}

@media(max-width:900px){.decision-heading,.decision-layout{grid-template-columns:1fr;gap:28px}.comparison-grid{grid-template-columns:1fr 1fr}.faq-grid{grid-template-columns:1fr}.decision-result{min-height:460px}}
@media(max-width:600px){.decision-section{padding:58px 0}.decision-heading h2{font-size:38px;letter-spacing:-1.2px}.decision-fields,.comparison-grid{grid-template-columns:1fr}.decision-field-wide{grid-column:auto}.decision-form fieldset,.decision-result{padding:24px}.decision-form .button{width:100%}.decision-result{min-height:0}.decision-actions{align-items:flex-start;flex-direction:column}.comparison-links{align-items:flex-start;flex-direction:column}.decision-faq h2{font-size:37px}.detail-hero-image figcaption{right:12px;bottom:12px}}

/* Commercial comparison, contextual learning and qualified quote request */
.service-models{background:var(--ink);color:white}.service-models .eyebrow{color:var(--mint)}.service-models .section-title-row h2{max-width:800px}.service-models .section-lead{color:#cbdad6}
.comparison-table-wrap{overflow-x:auto;margin-top:38px;border:1px solid rgba(255,255,255,.17);border-radius:11px;background:#fff;box-shadow:0 22px 50px rgba(0,0,0,.13);scrollbar-color:var(--coral) #e8efec}.comparison-table-wrap:focus-visible{outline:3px solid var(--mint);outline-offset:4px}
.model-table{width:100%;min-width:840px;border-collapse:collapse;color:var(--ink);font-size:13px;line-height:1.58}.model-table caption{padding:15px 19px;background:#eaf3ef;color:#4c645e;text-align:left;font-size:11px;font-weight:700}.model-table th,.model-table td{padding:19px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top}.model-table tr>*:last-child{border-right:0}.model-table tbody tr:last-child>*{border-bottom:0}.model-table thead th{background:#f7f3ea;color:var(--green);font-size:11px;letter-spacing:.35px;text-align:left;text-transform:uppercase}.model-table thead th:first-child{background:#e8efec}.model-table tbody th{width:22%;background:#f5f8f6;color:#304a44;text-align:left;font-weight:900}.model-table tbody tr:nth-child(even) td{background:#fbfcfb}.service-models .comparison-links .button{background:var(--coral);color:white}.service-models .comparison-links .button:hover{background:white;color:var(--ink)}.service-models .comparison-links .text-link{color:white}.service-models .comparison-links .text-link:hover{color:var(--mint)}
.related-service-guides .section-title-row{margin-bottom:35px}.related-service-guides .rich-guide-card{background:#fff}
.quote-preparation{padding-bottom:58px}.quote-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:38px 0 0;padding:0;list-style:none}.quote-step-grid li{display:grid;grid-template-columns:42px 1fr;gap:16px;min-height:190px;padding:25px;border:1px solid var(--line);border-radius:9px;background:white}.quote-step-grid li>span{color:var(--coral);font:500 25px Georgia,serif}.quote-step-grid h3{margin:2px 0 11px;font:500 23px/1.15 Georgia,serif}.quote-step-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.quote-transparency{display:grid;grid-template-columns:34px 1fr;gap:14px;margin-top:18px;padding:20px 23px;border:1px solid #b8d2ca;border-radius:8px;background:#eef8f4}.quote-transparency>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:white;font:700 15px Georgia,serif}.quote-transparency p{margin:2px 0 0;color:#405b54;font-size:12px;line-height:1.65}
.form-card-heading{max-width:800px;margin:0 0 30px;padding:0 0 27px;border-bottom:1px solid var(--line)}.form-card-heading h2{margin:6px 0 10px;font:500 clamp(30px,3.4vw,43px)/1.08 Georgia,serif;letter-spacing:-1px}.form-card-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}

@media(max-width:1000px){.quote-step-grid{grid-template-columns:1fr 1fr}.quote-step-grid li{min-height:165px}}
@media(max-width:700px){.comparison-table-wrap{border-radius:9px}.model-table{min-width:760px}.model-table th,.model-table td{padding:16px}.quote-step-grid{grid-template-columns:1fr}.quote-step-grid li{min-height:0}.quote-transparency{grid-template-columns:30px 1fr;padding:18px}.related-service-guides .section-title-row{margin-bottom:28px}}

/* Answer-first pricing guidance, active filters and reusable quote brief */
.cost-driver-layout{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr);gap:70px;align-items:center}.cost-driver-layout>figure{position:relative;min-height:590px;margin:0;overflow:hidden;border-radius:11px;background:#dce8e3;box-shadow:0 24px 60px rgba(16,43,44,.12)}.cost-driver-layout>figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cost-driver-layout>figure figcaption{position:absolute;right:16px;bottom:16px;padding:8px 11px;border-radius:4px;background:rgba(8,31,32,.84);color:white;font-size:10px;font-weight:800}.cost-driver-layout h2{max-width:720px;margin:8px 0 20px;font:500 clamp(39px,4.6vw,59px)/1.04 Georgia,serif;letter-spacing:-2px}.cost-intro{max-width:760px;margin:0;color:var(--muted);font-size:16px;line-height:1.78}.cost-factor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0}.cost-factor-grid>div{padding:20px;border:1px solid var(--line);border-radius:8px;background:white}.cost-factor-grid dt{color:var(--green);font-size:10px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}.cost-factor-grid dd{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.active-filter-summary{display:flex;align-items:center;flex-wrap:wrap;gap:13px 20px;margin-top:22px;padding:17px 20px;border:1px solid #b8d2ca;border-radius:8px;background:#eff8f5}.active-filter-summary>strong{color:var(--green);font-size:10px;letter-spacing:.7px;text-transform:uppercase}.active-filter-summary>div{display:flex;flex-wrap:wrap;gap:7px}.active-filter-summary span{padding:7px 10px;border-radius:100px;background:white;color:#3d5851;font-size:11px;font-weight:800}.active-filter-summary>a{margin-left:auto;color:var(--green);font-size:11px;font-weight:900;text-decoration:underline;text-underline-offset:3px}
.quote-example-section{padding:0 0 70px}.quote-example{overflow:hidden;border:1px solid #b8d2ca;border-radius:10px;background:var(--green);color:white}.quote-example>summary{position:relative;padding:22px 62px 22px 25px;cursor:pointer;font-size:13px;font-weight:900;list-style:none}.quote-example>summary::-webkit-details-marker{display:none}.quote-example>summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);color:var(--mint);font:500 28px Georgia,serif}.quote-example[open]>summary::after{content:"−"}.quote-example-content{display:grid;grid-template-columns:.72fr 1.28fr;gap:40px;padding:30px;border-top:1px solid rgba(255,255,255,.16)}.quote-example-content h2{margin:0 0 11px;font:500 33px/1.08 Georgia,serif}.quote-example-content p{color:#d6e5e1;font-size:13px;line-height:1.65}.quote-example-content pre{overflow:auto;margin:0;padding:24px;border-radius:8px;background:#f7f4ec;color:var(--ink);white-space:pre-wrap;font:700 12px/1.8 Arial,sans-serif}.copy-template{margin-top:12px;padding:10px 15px;border:1px solid rgba(255,255,255,.55);border-radius:5px;background:white;color:var(--green);font-size:11px;font-weight:900;cursor:pointer}.copy-template:hover{background:var(--mint);color:var(--ink)}.copy-template-feedback{min-height:20px;margin:10px 0 0!important;color:var(--mint)!important;font-size:11px!important}

@media(max-width:950px){.cost-driver-layout{grid-template-columns:1fr;gap:42px}.cost-driver-layout>figure{min-height:470px}.quote-example-content{grid-template-columns:1fr}}
@media(max-width:600px){.cost-driver-layout>figure{min-height:330px}.cost-driver-layout h2{font-size:38px;letter-spacing:-1.3px}.cost-factor-grid{grid-template-columns:1fr}.active-filter-summary{align-items:flex-start;flex-direction:column}.active-filter-summary>a{margin-left:0}.quote-example-content{gap:24px;padding:22px}.quote-example-content h2{font-size:29px}.quote-example-content pre{padding:18px;font-size:11px}.quote-example>summary{padding:20px 55px 20px 20px}}
