@font-face{font-family:Inter;src:url(fonts/inter-latin.woff2) format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Playfair;src:url(fonts/playfair-italic-latin.woff2) format('woff2');font-weight:300 900;font-style:italic;font-display:swap}
:root{--green:#034c53;--dark:#02373c;--ink:#414b4a;--mint:#edf5f2;--line:#d5e2dc;--radius:30px 30px 0 30px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;font:16px/1.8 Inter,Arial,sans-serif;color:var(--ink);background:white}h1,h2,h3,p,figure{margin:0}h1,h2{font:750 italic clamp(32px,3.2vw,48px)/1.17 Playfair,Georgia,serif;color:var(--green);letter-spacing:-.5px}h1{font-size:clamp(36px,4.2vw,61px)}h3{font-size:20px;line-height:1.45;color:var(--green)}p+p{margin-top:18px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}input,textarea,button,select{font:inherit}h1,h2,h3,p,a,summary{hyphens:none;word-break:normal;overflow-wrap:normal}button{cursor:pointer}button,a,input,textarea,summary{touch-action:manipulation}:focus-visible{outline:3px solid #479296;outline-offset:5px}[hidden]{display:none!important}.wrap{width:calc(100% - 80px);max-width:1240px;margin-inline:auto}.section{padding-block:80px}.eyebrow{color:var(--green);font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:18px}.lead{font-size:18px;line-height:1.8;margin-top:25px}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;border:0;border-radius:28px;background:var(--green);color:white;padding:14px 25px;min-height:52px;font-size:14px;font-weight:650;line-height:1.5;text-align:center}.button:hover{background:var(--dark)}.button span{font-size:20px;font-weight:400}.button.light{color:var(--green);background:white}.text-link{text-decoration:underline;text-underline-offset:6px;color:var(--green);font-size:14px;font-weight:600;padding-block:10px}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.topbar{background:var(--green);color:white;font-size:12px}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;min-height:34px;gap:20px}.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #edf2ef;z-index:20}.header-inner{height:104px;display:flex;align-items:center;gap:30px}.brand{flex-shrink:0}.brand img{width:96px;height:96px;object-fit:contain}.header-inner nav{display:flex;gap:27px;align-items:center;margin-left:auto;font-size:14px}.header-inner nav a{padding-block:14px}.header-inner nav a:hover{color:var(--green);text-decoration:underline;text-underline-offset:6px}.header-cta{font-size:13px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:.94fr 1.06fr;gap:54px;align-items:center;padding-block:55px 65px}.hero-copy{min-width:0}.hero-image{border-radius:var(--radius);overflow:hidden;background:var(--mint)}.hero-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:30px}.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;color:#607471;font-size:12px;padding-top:22px;line-height:1.5}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.hero.article{grid-template-columns:1.1fr .9fr}.hero.article h1{font-size:clamp(34px,3.2vw,49px)}.hero.catalog,.hero.contact,.hero.legal{display:block;max-width:960px;padding-bottom:45px}.hero.legal h1{font-size:44px}.quick-inquiry{background:var(--mint);border:1px solid var(--line);border-radius:var(--radius);padding:30px 36px;margin-bottom:65px}.quick-intro{display:flex;align-items:baseline;gap:20px;margin-bottom:20px}.quick-intro h2{font:650 22px/1.4 Inter,sans-serif}.quick-intro p{font-size:14px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.short-form .form-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.form-fields label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;color:var(--green);min-width:0}.form-fields input,.form-fields textarea{width:100%;min-width:0;border:1px solid #b5cbc2;border-radius:9px;padding:12px 14px;background:#fff;color:var(--ink);font-size:16px;font-weight:400}.form-fields input{min-height:50px}.full{grid-column:1/-1}.optional{display:contents;font-weight:400}.form-note{font-size:12px;line-height:1.6;color:#58706b;margin:14px 0}.form-result{margin-top:16px;padding:16px;background:#d8e8df;border-radius:10px;color:var(--green)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.section-heading>p{max-width:360px;font-size:15px}.soft{background:var(--mint)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;min-width:0}.card>img{width:100%;aspect-ratio:3/2;object-fit:cover}.card-body{padding:27px;display:flex;flex-direction:column;flex:1}.card-body p{font-size:15px;margin:14px 0 20px}.card .text-link{margin-top:auto;align-self:flex-start}.card-tag{font-size:11px;text-transform:uppercase;letter-spacing:1.1px;color:#59716c;margin-bottom:12px}.content-layout{display:grid;grid-template-columns:minmax(0,800px) 280px;gap:80px;align-items:start;padding-top:50px;padding-bottom:70px}.copy-section{padding-block:30px;border-bottom:1px solid var(--line)}.copy-section:first-child{padding-top:0}.copy-section h2{font-size:clamp(28px,2.5vw,36px);margin-bottom:23px}.copy-section p{font-size:16px;line-height:1.9}.copy-section ul{padding:0;margin:23px 0 0;list-style:none}.copy-section li{position:relative;padding-left:25px;margin:12px 0;line-height:1.8}.copy-section li:before{position:absolute;left:0;top:0;content:'✓';color:var(--green)}.page-aside{position:sticky;top:135px;padding:29px;background:var(--mint);border-radius:var(--radius)}.page-aside p{font-size:14px;margin:13px 0 20px}.page-aside a{display:block;padding:10px 0;border-bottom:1px solid #cddfd7;font-size:14px;color:var(--green)}.page-aside .button{padding:13px 16px;margin-top:15px;color:#fff;border:0;font-size:13px}.faq-section{padding:70px 0;background:var(--mint)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-grid>div>p{margin-top:23px;font-size:16px}.faq-list{min-width:0}details{border-bottom:1px solid #bfd4ca}details:first-child{border-top:1px solid #bfd4ca}summary{cursor:pointer;list-style:none;padding:22px 35px 22px 0;position:relative;font-size:16px;line-height:1.65;font-weight:600;color:var(--green)}summary::-webkit-details-marker{display:none}summary:after{position:absolute;right:3px;top:20px;content:'+';font-size:24px;font-weight:400}details[open]>summary:after{content:'−'}.faq-answer{padding:0 18px 24px 0;font-size:15px;line-height:1.9}.cta-section{padding:65px 0}.cta-box{background:var(--green);border-radius:var(--radius);padding:50px;display:flex;align-items:center;justify-content:space-between;gap:50px;color:white}.cta-box h2{color:white;max-width:660px}.cta-box p{margin-top:17px;max-width:620px;font-size:16px}.cta-box .button{flex-shrink:0}.related{padding:55px 0}.related-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.related-links a{padding:12px 18px;border:1px solid var(--line);border-radius:25px;font-size:14px;color:var(--green)}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;padding-bottom:80px}.contact-details{background:var(--green);color:#fff;padding:38px;border-radius:var(--radius)}.contact-details h2{color:#fff;font-size:35px}.contact-details a{display:block;margin-top:22px;overflow-wrap:anywhere}.contact-details p{font-size:15px;margin-top:25px}.contact-layout form{background:var(--mint);padding:35px;border-radius:var(--radius)}.footer{background:#f3f5f3;padding-top:45px;padding-bottom:95px}.footer-grid{display:grid;grid-template-columns:1fr 1.3fr .7fr;gap:55px;font-size:14px}.footer-grid strong{display:block;font-size:15px;color:var(--green);margin-bottom:15px}.footer-grid a{display:block;padding-block:6px;overflow-wrap:anywhere}.footer-grid p{margin-top:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:35px;font-size:12px}.footer-bottom div{display:flex;gap:20px}.floating-contact{position:fixed;bottom:23px;right:20px;display:flex;flex-direction:column;gap:11px;z-index:30}.floating-contact a{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;background:var(--green);color:white;box-shadow:0 3px 15px #034c5330;border:2px solid white}.floating-contact svg{width:24px;height:24px}.floating-contact .whatsapp{background:#167149}.legal-copy{max-width:900px;padding-bottom:70px}.legal-copy h2{font-size:30px;margin-top:30px;margin-bottom:15px}.sitemap-list{columns:2;padding-left:20px}.sitemap-list li{break-inside:avoid;padding-bottom:12px}.sitemap-list a{text-decoration:underline;text-underline-offset:4px}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.step{padding:27px;border:1px solid var(--line);border-radius:var(--radius)}.step-num{font:700 italic 38px Playfair;color:var(--green);margin-bottom:15px}.step p{font-size:15px;margin-top:12px}.photo-note{font-size:12px;margin-top:8px;color:#657770}.catalog-intro{max-width:760px;margin-bottom:35px}
@media(max-width:1100px){.header-inner{gap:20px}.header-inner nav{gap:16px;font-size:13px}.header-cta{padding:12px 16px}.hero{gap:30px}.content-layout{gap:40px;grid-template-columns:minmax(0,1fr) 240px}.faq-grid{gap:40px}.wrap{width:calc(100% - 56px)}.cards{gap:18px}.card-body{padding:23px}.cta-box{padding:35px;gap:25px}}
@media(max-width:850px){.header-inner nav{display:none;position:absolute;left:0;right:0;top:100%;padding:22px 28px;background:white;box-shadow:0 15px 25px #00373c12;border-top:1px solid var(--line)}.header-inner nav.open{display:flex;flex-direction:column;align-items:stretch;gap:3px}.header-cta{margin-left:auto}.menu-toggle{display:grid;gap:6px;place-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:50%;flex-shrink:0}.menu-toggle span{display:block;width:18px;height:2px;background:var(--green)}.header-inner{height:88px}.brand img{width:78px;height:78px}.hero,.hero.article{grid-template-columns:1fr;gap:30px;padding-top:35px}.hero-copy{max-width:730px}.hero-image{max-width:760px}.hero-image img{aspect-ratio:3/2}.hero h1{max-width:650px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.content-layout{display:block;padding-top:25px}.page-aside{position:static;margin-top:35px}.faq-grid{grid-template-columns:1fr;gap:35px}.cta-box{display:block}.cta-box .button{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.contact-layout{grid-template-columns:1fr;gap:25px}.quick-intro{display:block}.quick-intro p{margin-top:7px}.short-form .form-fields{grid-template-columns:1fr}.step-grid{grid-template-columns:1fr}.section{padding-block:55px}}
@media(max-width:560px){.wrap{width:calc(100% - 36px)}.topbar .wrap{font-size:10px;gap:10px}.header-inner{height:80px;gap:12px}.brand img{width:68px;height:68px}.header-cta{font-size:11px;min-height:43px;padding:11px 14px;gap:8px}.header-cta span{font-size:17px}.menu-toggle{width:38px;height:38px}.hero{padding-block:27px 36px;gap:26px}.hero h1,.hero.article h1{font-size:34px;line-height:1.2;letter-spacing:-.3px}.hero .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:15px}.lead{font-size:16px;margin-top:19px}.hero-actions{gap:14px;margin-top:23px}.hero-actions .button{font-size:13px;min-height:49px;padding:13px 20px}.hero-image{border-radius:23px 23px 0 23px}.quick-inquiry{padding:24px 20px;margin-bottom:40px}.quick-intro h2{font-size:21px}.cards{grid-template-columns:1fr}.card>img{aspect-ratio:3/2}.section-heading{display:block}.section-heading>p{margin-top:20px}.content-layout{padding-bottom:45px}.copy-section{padding-block:25px}.copy-section h2{font-size:29px}.copy-section p{font-size:16px}.faq-section{padding-block:45px}.faq-grid h2{font-size:33px}.faq-grid>div>p{font-size:15px}.cta-section{padding-block:40px}.cta-box{padding:30px 25px}.cta-box h2{font-size:32px}.cta-box p{font-size:15px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid img{width:90px;height:90px}.footer-bottom{display:block}.footer-bottom div{flex-wrap:wrap;margin-top:14px;gap:17px}.floating-contact{right:13px;bottom:15px;gap:9px}.floating-contact a{width:45px;height:45px}.contact-layout form,.contact-details{padding:26px 22px}.form-fields{grid-template-columns:1fr}.sitemap-list{columns:1}.related-links{display:block}.related-links a{display:block;margin-bottom:10px}.hero.legal h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Geographic directory: named places are not placeholder page links. */
.geography h2{font-size:clamp(29px,3vw,41px)}.region-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:34px}.region-links a{background:var(--green);color:white;padding:20px 22px;border-radius:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;font-weight:600;line-height:1.5}.region-links a:hover{background:var(--dark)}.region-links a span{font-size:24px}.place-search{background:var(--mint);border-radius:var(--radius);padding:28px;margin-bottom:25px}.place-search label{display:block;color:var(--green);font-weight:650;margin-bottom:12px}.search-controls{display:flex;gap:12px}.search-controls input{width:100%;min-width:0;border:1px solid #adcbc0;border-radius:12px;padding:14px 17px;background:white;font-size:16px;color:var(--ink);min-height:54px}.search-clear{flex-shrink:0}.search-feedback{font-size:13px;color:#506e66;margin-top:12px}.preview-plan-note{padding:18px 22px;border:1px dashed #a9c4b8;border-radius:15px;font-size:13px;margin-bottom:45px;background:#f9fbfa;line-height:1.8}.preview-plan-note a{display:inline-block;color:var(--green);text-decoration:underline;text-underline-offset:4px;margin-left:5px}.coastal-places>h2,.states-places>h2{margin:40px 0 25px}.directory-intro{max-width:790px;margin-bottom:26px}.place-group{border:1px solid var(--line)!important;border-radius:20px;margin-bottom:14px;padding:0 24px;background:white}.place-group>summary{font-size:19px;padding:21px 35px 21px 0;display:flex;align-items:center;justify-content:space-between;gap:18px}.place-group>summary:after{top:19px}.place-count{font-size:12px;font-weight:400;color:#576d65;white-space:nowrap}.place-list{list-style:none;padding:0 0 23px;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px}.place-list li{min-width:0}.place-list a,.place-name{display:block;padding:10px 12px;min-height:45px;font-size:14px;line-height:1.65;border-radius:9px}.place-list a{background:var(--mint);color:var(--green);font-weight:600;display:flex;justify-content:space-between;gap:8px}.place-list a:hover{background:#dcece3}.place-name{background:#f6f7f6;color:#4c5854}.coastal-group{background:#fbfcfb}.search-empty{padding:25px;background:var(--mint);border-radius:18px}.states-places{margin-top:48px}
@media(max-width:900px){.region-links{grid-template-columns:repeat(2,minmax(0,1fr))}.place-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.region-links{grid-template-columns:1fr 1fr;gap:10px}.region-links a{padding:17px 14px;font-size:13px;border-radius:16px}.region-links a span{font-size:18px}.place-search{padding:21px}.search-controls{display:block}.search-clear{margin-top:12px;width:100%}.place-group{padding:0 16px;border-radius:16px}.place-group>summary{font-size:16px;gap:9px;align-items:flex-start;flex-wrap:wrap}.place-count{font-size:11px}.place-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.place-list a,.place-name{font-size:13px;padding:9px}.preview-plan-note{padding:17px;font-size:12px}.preview-plan-note a{margin-left:0}.coastal-places>h2,.states-places>h2{font-size:29px}.directory-intro{font-size:15px}}
@media(max-width:360px){.place-list{grid-template-columns:1fr}.region-links{grid-template-columns:1fr}}

/* Published WordPress pages grouped beneath the primary navigation. */
.site-header{z-index:40}.header-inner{position:relative}.header-inner #main-menu{gap:14px}.nav-item{position:relative}.nav-item-wide{position:static}.nav-heading{display:flex;align-items:center;gap:1px}.header-inner nav .nav-top-link{padding:24px 0;white-space:nowrap;font-weight:550}.submenu-toggle{display:grid;place-items:center;width:32px;height:44px;flex-shrink:0;padding:0;border:0;border-radius:12px;background:transparent;color:var(--green)}.submenu-toggle:hover,.submenu-toggle:focus-visible{background:var(--mint)}.submenu-toggle svg{transition:transform .15s}.is-open>.nav-heading .submenu-toggle svg{transform:rotate(180deg)}.is-current-section>.nav-heading>.nav-top-link{color:var(--green);text-decoration:underline;text-underline-offset:7px}.nav-panel{position:absolute;top:100%;left:0;width:360px;padding:26px;background:white;border:1px solid var(--line);border-radius:0 0 24px 24px;box-shadow:0 16px 34px #02373c1c;max-height:calc(100dvh - 145px);overflow:auto;overscroll-behavior:contain}.nav-item:last-child .nav-panel{left:auto;right:0;width:420px}.nav-item-wide .nav-panel{top:100%;left:auto;right:0;width:min(800px,calc(100vw - 56px))}.nav-panel-groups{display:grid;gap:28px}.nav-item-wide .nav-panel-groups{grid-template-columns:1fr 1.5fr}.nav-group h2{font:650 12px/1.6 Inter,Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:#57736b;margin:0 0 12px}.nav-group ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}.nav-item-wide .nav-group:last-child ul{grid-template-columns:1fr 1fr;column-gap:14px}.header-inner nav .nav-group a{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;border-radius:10px;font-size:14px;line-height:1.5;color:var(--green)}.nav-group a span{font-size:16px;flex-shrink:0}.header-inner nav .nav-group a:hover,.header-inner nav .nav-group a[aria-current=page]{background:var(--mint);text-decoration:none}.header-inner nav .nav-overview{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;padding:17px 0 0;border-top:1px solid var(--line);font-size:13px;line-height:1.6;font-weight:650;color:var(--green)}
@media(min-width:981px) and (max-width:1100px){.header-inner{gap:16px}.header-inner #main-menu{gap:10px}.submenu-toggle{width:27px}.header-inner nav{font-size:12px}.header-cta{font-size:12px;gap:12px}}
@media(max-width:980px){.header-inner{height:88px}.brand img{width:78px;height:78px}.header-cta{margin-left:auto}.menu-toggle{display:grid;gap:6px;place-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:50%;flex-shrink:0}.menu-toggle span{display:block;width:18px;height:2px;background:var(--green)}.header-inner #main-menu{display:none;position:absolute;top:100%;left:calc((100% - 100vw)/2);right:calc((100% - 100vw)/2);padding:14px 28px 24px;background:white;box-shadow:0 15px 25px #00373c12;border-top:1px solid var(--line);max-height:calc(100dvh - 130px);overflow:auto;overscroll-behavior:contain}.header-inner #main-menu.open{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0}.nav-item{position:static;border-bottom:1px solid var(--line)}.nav-heading{justify-content:space-between;gap:12px}.header-inner nav .nav-top-link{display:block;flex:1;padding:15px 0;font-size:16px}.submenu-toggle{width:44px;height:44px;background:var(--mint)}.nav-panel,.nav-item:last-child .nav-panel,.nav-item-wide .nav-panel{position:static;width:100%;max-height:none;overflow:visible;box-shadow:none;border:0;border-radius:16px;padding:18px;background:#f6f9f7;margin-bottom:18px}.nav-item-wide .nav-panel-groups{grid-template-columns:1fr}.nav-panel-groups{gap:22px}.header-inner nav .nav-group a{padding:11px 8px;background:white}.nav-group h2{font-size:11px}.header-inner nav .nav-overview{font-size:13px}.nav-item-wide .nav-group:last-child ul{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.header-inner{height:80px;gap:12px}.brand img{width:68px;height:68px}.menu-toggle{width:38px;height:38px}.header-inner #main-menu{padding:10px 18px 22px;max-height:calc(100dvh - 115px)}.nav-panel,.nav-item:last-child .nav-panel,.nav-item-wide .nav-panel{padding:15px}.nav-item-wide .nav-group:last-child ul{grid-template-columns:1fr}.header-inner nav .nav-group a{font-size:14px}}
@media(prefers-reduced-motion:reduce){.submenu-toggle svg{transition:none}}
.card h2{font:700 20px/1.45 Inter,Arial,sans-serif;letter-spacing:normal;color:var(--green)}
.copy-section a,.article-byline a,.article-sources a{color:var(--green);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.copy-section p+p{margin-top:18px}.article-byline{display:flex;flex-wrap:wrap;gap:12px 30px;font-size:13px;color:#526b65;padding-bottom:12px}.article-sources{padding-bottom:35px}.article-sources h2{font-size:25px;margin-bottom:14px}.article-sources li{margin-block:10px}.comparison-scroll{overflow-x:auto;margin-top:24px;border:1px solid var(--line);border-radius:16px;max-width:100%;background:white}.comparison-table{width:100%;border-collapse:collapse;min-width:600px;font-size:14px;line-height:1.7;text-align:left}.comparison-table caption{text-align:left;padding:18px;color:var(--green);font-weight:650;background:var(--mint)}.comparison-table th,.comparison-table td{padding:16px;vertical-align:top;border-bottom:1px solid var(--line)}.comparison-table thead th{background:#f5f8f6;color:var(--green)}.comparison-table tbody th{width:22%;color:var(--green);font-weight:600}.comparison-table tbody tr:last-child>*{border-bottom:0}.geography-intro{max-width:900px;margin-bottom:35px}.copy-section strong{font-weight:650}
/* Complete local preview menus, with federal state > town navigation. */
.nav-item-wide .nav-panel{width:min(940px,calc(100vw - 56px))}.nav-preview-note{font-size:12px;line-height:1.65;color:#65746f;background:#f4f7f5;border-radius:9px;padding:10px 13px;margin:0 0 19px}.header-inner #main-menu .nav-complete-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 15px}.nav-complete-list li{min-width:0}.nav-pending{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:50px;padding:10px 12px;border-radius:10px;background:#f7f8f7;font-size:14px;line-height:1.5;color:#57645f}.nav-pending small{font-size:10px;color:#65736d;line-height:1.4}.nav-complete-list .nav-detail-link{min-height:68px!important;background:var(--mint)}.nav-section-label,.state-title h2{font:650 12px/1.6 Inter,Arial,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:#57736b;margin:0 0 12px}.state-browser{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}.state-choices{min-width:0}.state-choice-list{max-height:360px;overflow-y:auto;overscroll-behavior:contain;padding:3px 9px 3px 3px;scrollbar-width:thin}.state-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:45px;margin:0 0 4px;padding:10px 12px;border:0;border-radius:10px;text-align:left;font-size:13px;line-height:1.5;background:#f6f8f6;color:var(--green)}.state-choice>span:first-child{min-width:0}.state-choice>span:last-child{font-size:21px;line-height:1;flex-shrink:0}.state-choice:hover,.state-choice.is-selected{background:var(--green);color:white}.state-results{min-width:0;max-height:395px;overflow-y:auto;overscroll-behavior:contain;padding:3px 8px 3px 3px;scrollbar-width:thin}.state-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}.state-title h2{font-size:16px;letter-spacing:0;text-transform:none;color:var(--green);margin:0}.state-title p{font-size:11px;white-space:nowrap}.state-city-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;padding:0;margin:0}.state-city-list li{min-width:0}.header-inner nav .state-city-list a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.5;background:var(--mint);color:var(--green)}.state-city-list .nav-pending{font-size:13px;min-height:50px;padding:8px 12px}.state-back{display:none}.header-inner nav .state-overview{display:block;padding:0 0 14px;font-size:13px;color:var(--green);text-decoration:underline;text-underline-offset:3px}.nav-region-shortcuts{margin-top:21px;padding-top:18px;border-top:1px solid var(--line)}.nav-region-shortcuts ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0}.header-inner nav .nav-region-shortcuts a{display:flex;align-items:center;gap:10px;padding:5px 0;min-height:32px;font-size:13px;color:var(--green);line-height:1.5}.state-choice:focus-visible{outline-offset:0}.nav-pending{cursor:default}
@media(max-width:1100px) and (min-width:981px){.state-browser{grid-template-columns:230px minmax(0,1fr);gap:20px}}
@media(max-width:980px){.nav-item-wide .nav-panel{width:100%;max-height:none}.header-inner #main-menu .nav-complete-list{grid-template-columns:1fr 1fr}.state-browser{display:block}.state-choice-list{max-height:none;overflow:visible;padding:0}.state-choice{min-height:49px;font-size:14px;background:white}.state-results{display:none;max-height:none;overflow:visible;padding:0}.state-browser.show-cities .state-choices{display:none}.state-browser.show-cities .state-results{display:block}.state-back{display:block;width:100%;border:1px solid var(--line);background:white;border-radius:10px;padding:11px 13px;min-height:46px;color:var(--green);text-align:left;font-size:13px;margin-bottom:20px}.state-title{align-items:flex-start}.state-title h2{font-size:16px}.nav-region-shortcuts ul{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nav-region-shortcuts .nav-section-label{font-size:11px}.nav-preview-note{font-size:11px;padding:10px;margin-bottom:16px}.nav-pending{background:#eef2ef}.state-city-list .nav-pending{background:#eef2ef}}
@media(max-width:600px){.header-inner #main-menu .nav-complete-list,.state-city-list{grid-template-columns:1fr}.nav-pending,.state-city-list .nav-pending{font-size:13px}.nav-complete-list .nav-detail-link{min-height:50px!important}.nav-region-shortcuts ul{grid-template-columns:1fr}.state-title{display:block}.state-title p{margin:5px 0 0}.state-title h2{font-size:15px}.nav-section-label{font-size:11px}}
@media(min-width:981px){.nav-item-wide.is-open:after{content:'';position:absolute;left:0;right:0;top:calc(100% - 20px);height:20px}}
/* Blog topics use the same accessible two-level navigation as geography. */
.nav-type-ratgeber.nav-item-wide .nav-panel{width:min(940px,calc(100vw - 56px))}.nav-blog-progress{font-size:12px;line-height:1.7;color:var(--green);margin:0 0 18px;font-weight:600}.blog-article-list{grid-template-columns:minmax(0,1fr)}.blog-topic-browser .state-title{align-items:flex-start}.blog-topic-browser .state-title p{padding-top:3px}.header-inner nav .blog-article-list .nav-detail-link{font-weight:600}.nav-extra-articles{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:980px){.nav-type-ratgeber.nav-item-wide .nav-panel{width:100%}.nav-blog-progress{font-size:11px}.blog-topic-browser .state-choice{min-height:54px}}

/* Keep contact actions separate from readable copy on narrow screens. */
.floating-contact a>span{display:none}
@media(max-width:560px){
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 html{scroll-padding-bottom:calc(86px + env(safe-area-inset-bottom))}
 .floating-contact{right:0;left:0;bottom:0;flex-direction:row;gap:10px;padding:9px 18px calc(9px + env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);box-shadow:0 -3px 16px #034c5310}
 .floating-contact a{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;width:auto;height:48px;border-radius:25px;border:0;box-shadow:none;font-size:13px;font-weight:600}
 .floating-contact a>span{display:inline}
 .floating-contact svg{width:22px;height:22px}
 .site-header{background:white}
}

/* Reserve the bottom corner for contact actions when the article outline is sticky. */
@media(min-width:981px){.page-aside{max-height:calc(100dvh - 280px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}

/* Keep long German service words whole without clipping narrow screens. */
@media(max-width:560px){.hero h1.long-title{font-size:clamp(27px,7.7vw,36px)}}

/* Production contact */
.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-feedback{padding:16px;margin-bottom:18px;border:1px solid currentColor;border-radius:14px;color:#034c53;line-height:1.6}
.form-feedback[role=alert]{color:#8c2626}.form-feedback[hidden]{display:none}.form-feedback a{color:inherit;text-decoration:underline}
.submit:disabled{opacity:.7;cursor:wait}.legal-content{max-width:900px;padding-top:50px;padding-bottom:70px}.legal-content h1{margin-bottom:32px}.legal-content h2{font-size:clamp(24px,4vw,34px);margin-top:36px}.legal-content p{margin:16px 0;line-height:1.8}.legal-content a{overflow-wrap:anywhere}.legal-content ul{padding-left:1.5em}
body.admin-bar .header{top:32px}@media(max-width:782px){body.admin-bar .header{top:46px}}

.enquiry-form .form-feedback{grid-column:1/-1}.form-note a{text-decoration:underline;color:inherit}
