:root{--navy:#1b2021;--blue:#b93927;--lime:#f3d9cb;--ink:#242a2b;--muted:#676f70;--line:#deded9;--pale:#f4f4f1;--white:#fff;--radius:18px;--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:white;font:16px/1.7 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{line-height:1.15;letter-spacing:-.045em}h1{font-size:clamp(2.7rem,5.4vw,5rem)}h2{font-size:clamp(2rem,3.2vw,3rem)}h3{font-size:1.3rem}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a03726;outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a03726;outline-offset:2px}[hidden]{display:none!important}.container{width:min(1260px,calc(100% - 72px));margin-inline:auto}.section{padding:90px 0}.pale{background:var(--pale)}.eyebrow{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;display:flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--blue)}.eyebrow:before{content:"";width:18px;height:2px;background:currentColor}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 22px;border:1px solid transparent;border-radius:9px;font-weight:700;font-size:.9rem;line-height:1.4;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn svg{width:20px;height:20px}.blue{background:var(--blue);color:white}.blue:hover{background:#9c2d1d}.lime{background:var(--lime);color:var(--navy)}.outline{border-color:var(--line);background:white}.dark{background:var(--navy);color:white}.text-link{font-size:.86rem;font-weight:700;display:inline-flex;gap:12px;align-items:center;min-height:44px}.text-link svg{width:19px;height:19px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.section-head{display:flex;gap:35px;align-items:end;justify-content:space-between;margin-bottom:34px}.section-head p{max-width:390px;color:var(--muted);font-size:.95rem}.section-head .eyebrow{color:var(--blue)}.skip{position:fixed;top:10px;left:15px;transform:translateY(-200%);z-index:100;padding:12px 18px;background:white}.skip:focus{transform:none}.topbar{background:var(--navy);color:#e1e8f3;font-size:.73rem}.topbar .container{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:16px}.topbar span{display:flex;align-items:center;gap:8px}.topbar svg{width:14px;height:14px}.topbar strong{font-weight:500;color:var(--lime)}.site-header{background:#fffffff7;position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-row{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:11px;line-height:1;flex-shrink:0}.brand-mark{width:44px;height:46px;background:var(--blue);border-radius:12px;display:grid;place-items:center;color:white}.brand-mark svg{width:31px;height:31px;stroke-width:4.6}.brand-name{font-size:1.8rem;letter-spacing:-.07em;font-weight:800}.brand-name small{display:block;font-size:.55rem;letter-spacing:.34em;margin-top:8px;padding-left:2px;font-weight:700}.main-nav{display:flex;align-items:center;gap:27px;font-size:.85rem;font-weight:600}.main-nav>a{min-height:44px;display:flex;align-items:center}.main-nav>a[aria-current=page]{color:var(--blue)}.nav-details>summary{list-style:none;display:flex;align-items:center;gap:6px;padding:14px 0}.nav-details>summary::-webkit-details-marker{display:none}.nav-details>summary svg{width:15px;height:15px}.mega-menu{position:absolute;top:calc(100% - 1px);left:0;right:0;padding:27px max(36px,calc((100vw - 1260px)/2));background:white;border-top:1px solid var(--line);box-shadow:0 22px 36px #14294b12;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mega-menu a{padding:14px 16px;display:flex;gap:12px;align-items:center;border-radius:10px;min-width:0}.mega-menu a:hover{background:var(--pale)}.mega-menu svg{color:var(--blue)}.mega-menu small{display:block;color:var(--muted);font-size:.73rem;font-weight:400;margin-top:3px}.header-actions{display:flex;gap:10px;align-items:center}.icon-button{width:44px;min-height:44px;display:grid;place-items:center;background:white;border:1px solid var(--line);border-radius:9px}.menu-button{display:none}.mobile-nav{display:flex;flex-direction:column;padding-bottom:18px}.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line)}.hero{background:var(--pale);overflow:hidden;padding:48px 0 70px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}.hero h1{font-weight:750;line-height:1.08;letter-spacing:-.065em}.hero h1 em{font-style:normal;color:var(--blue)}.hero-copy>p:not(.eyebrow){font-size:1.02rem;color:var(--muted);max-width:475px;line-height:1.8;margin-top:24px}.hero .actions{margin-top:30px}.hero-note{display:flex;gap:8px;align-items:center;font-size:.76rem;color:var(--muted);margin-top:18px}.hero-note svg{width:17px;height:17px;color:var(--blue)}.hero-visual{position:relative;padding:20px 0 0 20px}.hero-photo{height:460px;object-fit:cover;object-position:66% center;border-radius:20px 20px 20px 95px}.hero-badge{position:absolute;top:0;left:0;display:flex;align-items:center;gap:13px;background:var(--lime);padding:18px 23px;border-radius:13px;box-shadow:0 10px 25px #1b20210e}.hero-badge svg{width:31px;height:31px}.hero-badge b{display:block;font-size:1.55rem;line-height:1.2;letter-spacing:-.04em}.hero-badge small{font-size:.71rem}.image-label{position:absolute;bottom:12px;right:16px;padding:3px 8px;background:#1b2021c9;color:white;border-radius:4px;font-size:.65rem}.hero-floating{position:absolute;bottom:35px;left:-27px;display:flex;gap:14px;align-items:center;background:white;border:1px solid var(--line);border-radius:13px;padding:20px 24px;box-shadow:0 10px 30px #11253b15}.hero-floating svg{color:var(--blue);width:30px;height:30px}.hero-floating strong{display:block;font-size:.93rem}.hero-floating span{font-size:.75rem;color:var(--muted)}.quick-box{position:relative;margin-top:-32px;z-index:3;border-radius:14px;background:white;border:1px solid var(--line);box-shadow:0 14px 30px #14274707;padding:23px 28px;display:grid;grid-template-columns:.9fr 1fr 1fr auto;gap:23px;align-items:end}.quick-title{align-self:center;line-height:1.4}.quick-title strong{font-size:1.03rem;display:block}.quick-title small{font-size:.78rem;color:var(--muted)}.field{display:block;min-width:0}.field>span{display:block;font-size:.77rem;font-weight:600;margin-bottom:6px}.field select,.field input,.field textarea{width:100%;min-height:49px;border:1px solid var(--line);border-radius:8px;padding:11px 13px;background:white;color:var(--ink);font-size:.87rem}.field textarea{resize:vertical;min-height:126px}.quick-box .btn{min-height:49px}.numbers{display:grid;grid-template-columns:repeat(4,1fr);padding:35px 0 5px}.number{display:flex;align-items:center;justify-content:center;gap:15px;padding:8px 20px}.number+.number{border-left:1px solid var(--line)}.number strong{font-size:1.95rem;font-weight:700;letter-spacing:-.055em;color:var(--blue)}.number span{font-size:.76rem;line-height:1.6;color:var(--muted)}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:25px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:white;min-height:42px;padding:9px 17px;border-radius:24px;font-size:.8rem;font-weight:600}.chip[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.filter-count{font-size:.76rem;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{display:flex;flex-direction:column;position:relative;min-width:0;padding:25px;border:1px solid var(--line);border-radius:15px;background:white;transition:box-shadow .2s,transform .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #1b20210a}.service-card:first-child{border-color:#ead4c9;background:#faf6f3}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:12px}.service-icon{width:51px;height:51px;display:grid;place-items:center;background:#f5e9e3;border-radius:13px;color:var(--blue)}.service-icon svg{width:27px;height:27px}.card-tag{font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.service-card h3{font-size:1.18rem;line-height:1.3;margin-bottom:12px}.service-card p{font-size:.85rem;line-height:1.8;color:var(--muted);margin-bottom:15px}.service-card .text-link{margin-top:auto;padding-top:8px;color:var(--blue);font-size:.78rem;justify-content:space-between}.feature-section{background:var(--navy);color:white}.feature-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.feature-image{height:460px;object-fit:cover;border-radius:18px}.feature-section .eyebrow{color:var(--lime)}.feature-section h2{font-size:clamp(2.3rem,3.5vw,3.2rem)}.feature-copy>p{color:#bac6d9;margin-top:24px;font-size:.95rem;line-height:1.8}.value-list{padding:0;list-style:none;margin:25px 0}.value-list li{display:flex;gap:12px;align-items:start;padding:12px 0;font-size:.9rem}.value-list svg{width:19px;height:19px;margin-top:3px;color:var(--lime)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.step{border-top:1px solid var(--line);padding-top:23px}.step-number{display:inline-flex;color:var(--blue);font-size:.8rem;letter-spacing:.09em;margin-bottom:23px}.step h3{margin-bottom:14px;font-size:1.2rem}.step p{font-size:.9rem;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:20px}.gallery-grid img{height:280px;object-fit:cover;border-radius:14px}.gallery-grid figcaption{font-size:.78rem;color:var(--muted);padding-top:10px}.gallery-grid a:focus-visible{display:block;border-radius:14px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.article-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white;display:flex;flex-direction:column}.article-art{height:150px;background:#f5e9e3;display:flex;align-items:center;justify-content:space-between;padding:32px;color:var(--blue)}.article-art svg{width:54px;height:54px;stroke-width:1.3}.article-art span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid #dfbba9;padding:6px 10px;border-radius:5px}.article-card:nth-child(2) .article-art{background:#edf3e5;color:#496636}.article-card:nth-child(3) .article-art{background:#f7eee7;color:#9f6740}.article-body{padding:26px;display:flex;flex:1;flex-direction:column}.article-meta{color:var(--muted);font-size:.72rem;margin-bottom:13px}.article-body h3{font-size:1.28rem;line-height:1.4;margin-bottom:13px}.article-body p{font-size:.88rem;color:var(--muted);margin-bottom:20px}.article-body .text-link{margin-top:auto;color:var(--blue)}.region-teaser{display:grid;grid-template-columns:1fr 1.1fr;gap:75px;align-items:center}.region-teaser p{font-size:.94rem;color:var(--muted);margin-top:22px}.region-teaser .text-link{margin-top:17px;color:var(--blue)}.region-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.region-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border:1px solid var(--line);border-radius:9px;background:white;font-size:.85rem}.region-links a:hover{border-color:var(--blue);color:var(--blue)}.region-links svg{width:17px;height:17px}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.faq-intro>p{color:var(--muted);margin-top:23px;max-width:340px;font-size:.95rem}.faq-intro .text-link{margin-top:23px;color:var(--blue)}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:73px;padding:19px 0;font-weight:600;font-size:.96rem;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item svg{width:19px;height:19px}.faq-item[open] svg{transform:rotate(45deg);color:var(--blue)}.faq-item>p{padding:0 25px 24px 0;color:var(--muted);font-size:.91rem;line-height:1.8}.cta-band{background:var(--lime);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:35px;padding:38px 44px;margin-bottom:70px}.cta-band h2{font-size:2.15rem;margin-bottom:10px}.cta-band p{font-size:.91rem}.cta-band .actions{flex-shrink:0}.site-footer{background:var(--navy);color:white;padding:60px 0 0}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr .8fr 1.1fr;gap:50px;padding-bottom:42px}.footer-grid .brand-mark{background:var(--lime);color:var(--navy)}.footer-grid h3{font-size:.9rem;margin-bottom:22px;letter-spacing:-.01em}.footer-grid p,.footer-grid address{font-size:.82rem;color:#b7c4d8;line-height:1.9;font-style:normal}.footer-grid .brand+p{margin-top:22px;max-width:250px}.footer-list{display:flex;flex-direction:column;align-items:start;gap:2px}.footer-list a{font-size:.81rem;color:#b7c4d8;min-height:36px;padding:6px 0}.footer-list a:hover{color:white}.footer-phone{font-size:1.25rem;font-weight:700;display:inline-block;margin:14px 0;color:var(--lime)}.footer-bottom{border-top:1px solid #ffffff20;padding-block:21px;display:flex;justify-content:space-between;gap:20px;font-size:.74rem;color:#aebdd3}.mobile-dock{display:none}.float-chat{position:fixed;right:22px;bottom:23px;z-index:25;width:56px;height:56px;background:var(--blue);color:white;border:3px solid white;border-radius:50%;display:grid;place-items:center;box-shadow:0 5px 24px #132a4b20}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:.75rem;color:var(--muted);margin-bottom:25px}.breadcrumb span:not(:last-child):after,.breadcrumb a:after{content:"/";margin-left:10px;color:#8793a5}.page-hero{background:var(--pale);padding:38px 0 53px}.page-hero h1{font-size:clamp(2.45rem,4.5vw,4rem);max-width:930px}.page-hero p{font-size:1.04rem;color:var(--muted);max-width:760px;margin-top:21px;line-height:1.8}.page-hero .actions{margin-top:28px}.page-hero .eyebrow{margin-bottom:15px}.content-layout{display:grid;grid-template-columns:1fr 310px;gap:70px;align-items:start}.prose{font-size:1rem;line-height:1.9;color:#536176}.prose h2{font-size:1.85rem;margin:38px 0 18px;color:var(--ink)}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.22rem;margin:28px 0 12px;color:var(--ink)}.prose p{margin-bottom:19px}.prose ul,.prose ol{padding-left:24px;margin:17px 0 26px}.prose li{padding:5px 0}.prose a{text-decoration:underline;color:var(--blue);text-underline-offset:3px}.prose .note{border-left:3px solid var(--blue);background:var(--pale);padding:20px 24px;border-radius:0 12px 12px 0;margin-block:28px;font-size:.91rem}.side-card{border:1px solid var(--line);border-radius:15px;padding:26px;background:white}.sticky-side{position:sticky;top:116px}.side-card h2,.side-card h3{font-size:1.2rem;margin-bottom:14px}.side-card p{color:var(--muted);font-size:.86rem;margin-bottom:22px}.side-card .btn{width:100%;margin-top:9px;font-size:.83rem}.side-card .side-links{display:flex;flex-direction:column;margin-top:24px;padding-top:17px;border-top:1px solid var(--line)}.side-links a{font-size:.85rem;padding:10px 0;color:var(--muted)}.side-links a:hover{color:var(--blue)}.related-title{font-size:1.8rem;margin-bottom:26px}.search-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:white;min-width:280px;max-width:100%;padding-left:15px}.search-field svg{width:19px;height:19px;color:var(--muted)}.search-field input{width:100%;min-height:48px;border:0;background:transparent;padding:10px 14px;font-size:.87rem;color:var(--ink);border-radius:9px}.empty-state{padding:35px;background:var(--pale);border:1px solid var(--line);border-radius:14px;text-align:center;color:var(--muted)}.region-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.district-card{padding:20px;border:1px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.district-card h3{font-size:1rem;margin-bottom:7px}.district-card span{font-size:.74rem;color:var(--muted)}.district-card svg{color:var(--blue);width:20px}.district-card:hover{background:var(--pale);border-color:#c58a78}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.contact-panel{padding:36px;border:1px solid var(--line);border-radius:17px;box-shadow:0 8px 35px #1b202105}.contact-panel h2{font-size:1.9rem;margin-bottom:12px}.contact-panel>p{font-size:.9rem;color:var(--muted);margin-bottom:27px}.contact-panel .field{margin-bottom:19px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-panel .btn{width:100%}.form-note{font-size:.76rem!important;margin:15px 0 0!important;line-height:1.8}.form-note a{text-decoration:underline;color:var(--blue)}.contact-info{padding:5px 0}.contact-info h2{font-size:2.5rem;line-height:1.2;margin-bottom:22px}.contact-info>p{color:var(--muted);max-width:410px}.contact-item{display:flex;gap:16px;padding:23px 0;border-bottom:1px solid var(--line)}.contact-item>svg{color:var(--blue);margin-top:4px}.contact-item strong{font-size:.8rem;display:block;margin-bottom:6px}.contact-item a,.contact-item address{font-size:1rem;font-style:normal}.contact-item .phone-large{font-size:1.65rem;letter-spacing:-.04em;font-weight:700}.contact-item small{display:block;font-size:.77rem;color:var(--muted);margin-top:5px}.about-page{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-page img{height:480px;object-fit:cover;border-radius:18px}.about-page .prose h2{font-size:2.4rem}.search-dialog{border:1px solid var(--line);border-radius:18px;padding:0;width:min(680px,calc(100% - 32px));max-height:80vh;box-shadow:0 20px 100px #1b202140}.search-dialog::backdrop{background:#1b202199;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:22px 25px;border-bottom:1px solid var(--line);gap:20px}.dialog-head h2{font-size:1.3rem}.dialog-body{padding:25px}.dialog-body .search-field{min-width:0}.search-results{display:flex;flex-direction:column;padding-top:16px}.search-results a{display:flex;align-items:center;justify-content:space-between;padding:13px 5px;border-bottom:1px solid var(--line);font-size:.9rem}.search-results a:hover{color:var(--blue)}.search-results small{font-size:.7rem;color:var(--muted);margin-left:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.noscript-nav{padding:10px;background:var(--pale);font-size:.8rem;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
@media(min-width:1600px){.hero-photo{height:510px}}
@media(max-width:1150px){.main-nav{gap:17px}.header-row{gap:18px}.header-actions .btn{padding-inline:14px;font-size:.79rem}.hero-grid{gap:35px}.hero-photo{height:430px}.service-grid{grid-template-columns:repeat(3,1fr)}.quick-box{gap:15px;padding:22px}.quick-title strong{font-size:.94rem}.quick-title small{font-size:.72rem}.feature-grid{gap:50px}.footer-grid{gap:30px}.content-layout{gap:40px;grid-template-columns:1fr 280px}.faq-grid{gap:55px}}
@media(max-width:900px){.container{width:calc(100% - 44px)}.header-row{height:76px}.main-nav{display:none}.menu-button{display:grid}.header-actions{margin-left:auto}.header-actions .btn{font-size:.83rem}.hero-grid{gap:30px}.hero h1{font-size:3.5rem}.hero-copy>p:not(.eyebrow){font-size:.95rem}.hero-photo{height:425px}.hero .actions{gap:9px}.hero .btn{padding:12px 15px;font-size:.82rem}.hero-badge{padding:13px 17px}.hero-floating{left:-10px;padding:15px;bottom:30px}.hero-floating strong{font-size:.81rem}.hero-floating span{font-size:.68rem}.quick-box{grid-template-columns:1fr 1fr auto}.quick-title{grid-column:1/-1;display:flex;align-items:center;gap:12px}.number{padding:8px 12px;gap:9px}.number strong{font-size:1.7rem}.number span{font-size:.67rem}.section{padding:70px 0}.service-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{gap:35px}.feature-image{height:430px}.feature-copy h2{font-size:2.3rem}.steps{grid-template-columns:repeat(2,1fr);gap:30px}.gallery-grid{gap:14px}.gallery-grid img{height:220px}.article-grid{gap:15px}.article-body{padding:20px}.article-body h3{font-size:1.1rem}.article-art{height:130px;padding:22px}.article-art span{font-size:.6rem;padding:5px}.article-art svg{width:38px;height:38px}.region-teaser{gap:35px}.faq-grid{gap:35px}.cta-band{padding:29px;margin-bottom:55px;gap:25px}.cta-band h2{font-size:1.8rem}.cta-band .actions{flex-direction:column;align-items:stretch}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 65px}.region-directory{grid-template-columns:repeat(3,1fr)}.contact-layout{gap:35px}.contact-panel{padding:26px}.field-row{grid-template-columns:1fr;gap:0}.about-page{gap:40px}.about-page img{height:420px}.content-layout{grid-template-columns:1fr 260px;gap:30px}.side-card{padding:22px}.page-hero h1{font-size:3.15rem}}
@media(max-width:640px){html{scroll-padding-top:86px}body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.container{width:calc(100% - 36px)}.topbar .location{display:none}.topbar .container{min-height:32px;font-size:.64rem;gap:10px}.topbar svg{width:13px;height:13px}.header-row{height:72px;gap:12px}.brand-mark{width:37px;height:41px;border-radius:10px}.brand-name{font-size:1.6rem}.brand-name small{font-size:.5rem}.header-actions{gap:8px}.header-actions>.btn{display:none}.icon-button{width:41px;min-height:43px}.hero{padding:29px 0 57px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:clamp(2.9rem,11.6vw,4.1rem);letter-spacing:-.06em}.hero .eyebrow{font-size:.67rem;margin-bottom:21px}.hero-copy>p:not(.eyebrow){font-size:.96rem;line-height:1.8;margin-top:20px}.hero .actions{margin-top:24px}.hero .btn{font-size:.85rem;min-height:52px;padding:13px 17px;flex:1}.hero-note{font-size:.7rem}.hero-visual{padding:12px 0 0 10px}.hero-photo{height:335px;object-position:center 48%;border-bottom-left-radius:55px}.hero-badge{padding:13px 19px;border-radius:10px}.hero-badge b{font-size:1.35rem}.hero-badge small{font-size:.7rem}.hero-floating{left:0;bottom:30px;padding:15px 19px}.hero-floating strong{font-size:.87rem}.hero-floating span{font-size:.7rem}.quick-box{grid-template-columns:1fr 1fr;margin-top:-24px;padding:20px;gap:16px 12px}.quick-title{display:block}.quick-title strong{font-size:1.04rem}.quick-title small{font-size:.79rem}.quick-box .btn{grid-column:1/-1;width:100%}.field select,.field input,.field textarea{font-size:1rem}.numbers{grid-template-columns:1fr 1fr;padding-top:26px;gap:12px 0}.number{justify-content:start;padding:12px 17px;gap:15px}.number:nth-child(3){border-left:0}.number strong{font-size:1.85rem}.number span{font-size:.72rem}.section{padding:55px 0}.section-head{flex-direction:column;align-items:start;gap:19px;margin-bottom:27px}.section-head .eyebrow{margin-bottom:15px}.section-head p{font-size:.94rem}.eyebrow{font-size:.7rem}h2{font-size:2.1rem}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{padding:24px}.service-card h3{font-size:1.3rem}.service-card p{font-size:.93rem}.card-top{margin-bottom:20px}.service-card .text-link{font-size:.86rem}.card-tag{font-size:.69rem}.filter-buttons{gap:6px}.chip{font-size:.76rem;padding:9px 14px;min-height:43px}.filter-count{font-size:.76rem}.feature-grid{grid-template-columns:1fr;gap:32px}.feature-image{height:300px}.feature-copy h2{font-size:2.2rem}.feature-copy>p{font-size:.95rem}.steps{grid-template-columns:1fr;gap:25px}.step-number{margin-bottom:15px}.step h3{font-size:1.3rem}.step p{font-size:.94rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:19px 13px}.gallery-grid figure:first-child{grid-column:1/-1}.gallery-grid img{height:230px}.gallery-grid figure:first-child img{height:270px}.gallery-grid figcaption{font-size:.74rem}.article-grid{grid-template-columns:1fr;gap:20px}.article-art{height:135px;padding:25px}.article-art span{font-size:.68rem}.article-art svg{width:47px;height:47px}.article-body{padding:25px}.article-body h3{font-size:1.4rem}.article-body p{font-size:.94rem}.region-teaser,.faq-grid{grid-template-columns:1fr;gap:28px}.region-links{gap:10px}.region-links a{font-size:.79rem;padding:13px}.region-teaser h2{font-size:2.15rem}.faq-intro>p{font-size:.94rem;margin-top:17px;max-width:100%}.faq-intro .text-link{margin-top:15px}.faq-item summary{font-size:.93rem;gap:18px}.faq-item>p{font-size:.92rem;padding-right:0}.cta-band{flex-direction:column;align-items:start;gap:25px;padding:29px 25px;margin-bottom:48px}.cta-band h2{font-size:2rem}.cta-band .actions{width:100%;flex-direction:row;gap:9px}.cta-band .btn{flex:1;padding:12px;font-size:.8rem}.site-footer{padding-top:42px}.footer-grid{gap:29px 25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid .brand+p{max-width:100%;font-size:.9rem}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid h3{margin-bottom:15px}.footer-list a{min-height:40px;font-size:.83rem}.footer-grid address{font-size:.9rem}.footer-bottom{flex-direction:column;gap:8px;font-size:.72rem;padding-bottom:24px}.float-chat{display:none}.mobile-dock{position:fixed;z-index:50;bottom:0;left:0;right:0;background:#fffffff7;backdrop-filter:blur(12px);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px))}.mobile-dock a{min-height:49px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.76rem;font-weight:700;border-radius:8px}.mobile-dock svg{width:18px;height:18px}.mobile-dock a:first-child{background:var(--blue);color:white}.mobile-dock a:nth-child(2){background:var(--lime)}.mobile-dock a:last-child{background:var(--pale)}.page-hero{padding:25px 0 36px}.breadcrumb{font-size:.7rem;gap:7px;margin-bottom:22px}.page-hero h1{font-size:2.65rem}.page-hero p{font-size:.95rem;margin-top:19px}.page-hero .actions{margin-top:22px}.page-hero .btn{padding:12px 17px;font-size:.84rem}.content-layout{grid-template-columns:1fr;gap:35px}.sticky-side{position:static}.side-card{padding:25px}.prose h2{font-size:1.7rem;line-height:1.3}.prose{font-size:.96rem}.region-directory{grid-template-columns:1fr 1fr;gap:10px}.district-card{padding:17px 13px;gap:7px}.district-card h3{font-size:.91rem}.district-card span{font-size:.66rem}.district-card svg{width:16px;height:16px}.search-field{min-width:0;width:100%}.filter-bar .search-field{order:-1}.contact-layout,.about-page{grid-template-columns:1fr;gap:35px}.contact-info h2{font-size:2.2rem}.contact-panel{padding:26px 21px}.contact-panel h2{font-size:1.8rem}.contact-panel .btn{font-size:.86rem}.form-note{font-size:.76rem!important}.about-page img{height:320px}.about-page .prose h2{font-size:2rem}.dialog-head{padding:19px}.dialog-body{padding:20px}.search-results a{font-size:.85rem}.search-results small{font-size:.65rem}.related-title{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.service-card p,.article-body p,.step p,.feature-copy>p,.region-teaser p,.section-head p,.faq-item>p,.contact-info>p,.prose{font-size:1rem}.field>span,.main-nav,.chip,.service-card .text-link,.article-body .text-link,.footer-list a,.region-links a{font-size:.875rem}

/* Mobile layout: constrain grid children, controls and short-screen navigation. */
.content-layout > *, .region-teaser > *, .numbers > *, .district-card > * { min-width: 0; }
.field select, .field input, .field textarea, .search-field input { font-size: 1rem; }
.search-field input { min-width: 0; }
.district-card { min-width: 0; }
.district-card h3, .district-card span { overflow-wrap: anywhere; }
.search-dialog[open] { display: flex; flex-direction: column; overflow: hidden; }
.dialog-head { flex-shrink: 0; }
.dialog-head .icon-button { flex-shrink: 0; }
.dialog-body { overflow-y: auto; min-height: 0; overscroll-behavior: contain; }
@media (max-width: 900px) {
  .mobile-nav {
    max-height: calc(100vh - 190px - env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - 190px - env(safe-area-inset-bottom, 0px));
    overflow-y: auto; overscroll-behavior: contain; scroll-padding-block: 12px;
  }
}
@media (max-width: 640px) {
  .header-actions .icon-button { width: 44px; min-height: 44px; }
  .number { padding-inline: 10px; gap: 9px; }
  .number span { min-width: 0; }
  .region-teaser h2 { overflow-wrap: anywhere; }
}
@media (max-width: 360px) {
  .region-directory, .region-links { grid-template-columns: minmax(0, 1fr); }
  .mobile-dock a { flex-direction: column; gap: 2px; line-height: 1.35; padding: 4px 2px; }
}
@media (max-height: 500px) {
  .search-dialog { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
  .dialog-head { padding-block: 10px; }
}
