:root{--navy:#17324d;--navy-deep:#10273c;--teal:#0b6b64;--teal-dark:#07534e;--teal-soft:#eaf5f2;--ink:#1f2937;--muted:#566576;--paper:#f6f8fb;--line:#dde3ea;--white:#fff;--radius:14px;--container:1180px;--shadow:0 8px 28px #17324d0c}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--teal-dark);text-underline-offset:4px}a:hover{color:var(--navy)}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;border:1px solid var(--teal);border-radius:8px;background:var(--teal);color:#fff;padding:11px 20px;font-weight:650;line-height:1.35;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:var(--teal-dark);color:#fff}button.secondary,.button.secondary{background:var(--white);color:var(--navy);border-color:#c4d0dc}button.secondary:hover,.button.secondary:hover{background:var(--teal-soft);border-color:var(--teal)}button:disabled,input:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #167cbb;outline-offset:4px}input,select,textarea{width:100%;min-height:46px;border:1px solid #becbd7;border-radius:7px;background:var(--white);color:var(--ink);padding:10px 12px}input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--teal);flex-shrink:0}label{display:block;font-weight:600;font-size:.9rem}label input,label select,label textarea{margin-top:6px}h1,h2,h3{color:var(--navy);line-height:1.22;letter-spacing:-.025em;margin:0 0 16px}h1{font-size:clamp(2rem,4vw,3.1rem);font-weight:750;overflow-wrap:anywhere}h2{font-size:clamp(1.45rem,2.3vw,2rem)}h3{font-size:1.1rem}p{margin:0 0 18px}svg{flex-shrink:0;vertical-align:middle}.container{width:min(var(--container),calc(100% - 48px));margin:auto}.narrow{max-width:780px;margin-inline:auto}.site-header{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:1.6rem;font-weight:800;color:var(--navy);letter-spacing:-.05em;line-height:1.15}.brand-symbol{width:43px;height:43px;display:grid;place-items:center;background:var(--teal-soft);border-radius:11px;color:var(--teal)}.brand-accent{color:var(--teal)}.brand small{display:block;font-size:.58rem;letter-spacing:.12em;font-weight:650;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:26px}.site-header nav a{text-decoration:none;color:var(--navy);font-size:.89rem;font-weight:600}.site-header .nav-trust{display:flex;gap:7px;align-items:center;border-left:1px solid var(--line);padding-left:22px}.menu-toggle{display:none}.skip-link{position:absolute;left:16px;top:-80px;padding:10px;background:var(--white);z-index:100}.skip-link:focus{top:12px}.eyebrow{font-size:.72rem;letter-spacing:.13em;font-weight:750;color:var(--teal);margin-bottom:14px}.hero{padding:48px 0 30px}.hero-intro{max-width:830px}.hero h1{font-size:clamp(2.3rem,4.9vw,3.65rem);letter-spacing:-.045em;margin-bottom:18px;line-height:1.1}.hero h1 span{color:var(--teal)}.lead{font-size:1.08rem;color:var(--muted);max-width:800px;line-height:1.7}.hero .lead{max-width:680px}.search-panel{margin-top:30px;padding:24px 26px 13px;background:var(--navy);border-radius:var(--radius);color:#fff}.search-form{display:flex;gap:12px;align-items:end}.search-field{flex:1}.search-field label{color:inherit;font-size:.9rem;margin-bottom:7px}.input-icon{position:relative}.input-icon svg{position:absolute;top:17px;left:16px;color:var(--muted)}.input-icon input{margin:0;padding:14px 16px 14px 46px;font-size:1rem;min-height:55px;border:0}.search-form button{min-width:145px;min-height:55px;background:#f1f8f5;color:var(--navy);border-color:#f1f8f5}.search-form button:hover{background:#d8f0e8}.geo-row{display:flex;align-items:center;gap:22px;margin-top:10px}.text-button{min-height:36px;padding:4px 0;background:none;border:none;color:var(--teal-dark);font-size:.88rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}.text-button:hover{background:none;color:var(--navy)}.search-panel .text-button{color:#d1efe7}.search-panel .muted,.search-panel .geo-status{color:#c9d7e4}.geo-status:empty{display:none}.geo-status{margin:4px 0}.hero-foot{display:flex;gap:28px;padding-top:18px;color:var(--muted);font-size:.84rem}.hero-foot span{display:flex;gap:7px;align-items:center}.muted{color:var(--muted)}.small,small{font-size:.82rem}.notice{background:var(--teal-soft);border:1px solid #d1e5de;border-radius:10px;padding:20px 22px;color:#284d4a}.notice-inline{display:flex;gap:14px;align-items:start}.notice-inline>svg{margin-top:4px;color:var(--teal)}.notice p{margin:0;font-size:.88rem}.notice-inline>a{font-size:.8rem;min-width:160px;font-weight:650;align-self:center}.section{padding:56px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:24px}.section-heading h2{margin-bottom:8px}.section-heading p{margin-bottom:0}.section-heading>a{font-size:.9rem;white-space:nowrap;font-weight:650}.state-search{width:235px;font-size:.8rem}.state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.state-card{display:flex;gap:13px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:17px;text-decoration:none;box-shadow:0 2px 3px #17324d03;transition:border-color .15s}.state-card:hover{border-color:var(--teal)}.state-code{display:grid;place-items:center;background:var(--paper);width:38px;height:38px;border-radius:8px;font-size:.73rem;font-weight:700;color:#52687c;flex-shrink:0}.state-card strong{color:var(--navy);display:block;font-size:.95rem}.state-card small{color:var(--muted);display:block;font-size:.72rem;margin-top:3px}.state-card>svg{margin-left:auto}.process-section{border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.process-section>a{font-weight:650}.steps{list-style:none;margin:0;padding:0;display:grid;gap:25px}.steps li{display:flex;gap:20px}.steps li>span{font-size:.82rem;color:var(--teal);font-weight:800;border:1px solid #c4dcd6;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex-shrink:0}.steps h3{margin:1px 0 6px}.steps p{font-size:.9rem;color:var(--muted);margin:0}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.guide-card{background:var(--white);border:1px solid var(--line);border-radius:12px;text-decoration:none;padding:24px;display:flex;flex-direction:column;transition:border-color .15s}.guide-card:hover{border-color:var(--teal)}.guide-number{color:var(--teal);font-size:.8rem;letter-spacing:.1em;font-weight:750;margin-bottom:20px}.guide-card h3{font-size:1.2rem;line-height:1.35}.guide-card p{font-size:.85rem;color:var(--muted);line-height:1.7}.read-link{margin-top:auto;font-size:.85rem;font-weight:650}.read-link svg{margin-left:7px}.site-footer{background:var(--navy-deep);color:#c9d8e6;margin-top:30px;padding:40px 0 22px}.site-footer a{color:#d5e9e7}.site-footer .brand{color:#fff}.footer-top{display:flex;justify-content:space-between;gap:25px;padding-bottom:22px}.footer-top p{font-size:.85rem;margin:12px 0 0}.footer-links{display:flex;align-items:start;gap:28px;font-size:.82rem}.editorial-notice{font-size:.8rem;line-height:1.8;border-top:1px solid #385166;padding-top:22px;max-width:100%;color:#bbccda}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.72rem;border-top:1px solid #385166;padding-top:18px}.footer-bottom>div{display:flex;gap:20px}.breadcrumbs{padding:23px 0 0;font-size:.75rem;color:var(--muted)}.breadcrumbs ol{display:flex;flex-wrap:wrap;list-style:none;gap:7px;margin:0;padding:0}.breadcrumbs li+li:before{content:'›';margin-right:7px;color:#8191a0}.breadcrumbs a{text-decoration:none}.breadcrumbs [aria-current]{overflow-wrap:anywhere}.page-heading{padding:32px 0 28px}.page-heading h1{max-width:940px}.page-heading .lead{margin-bottom:0}.directory-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:30px;margin-bottom:40px;align-items:start}.filters{border:1px solid var(--line);border-radius:12px;background:var(--white);padding:22px;position:sticky;top:20px}.filters h2{font-size:1.12rem}.filters label{margin-bottom:18px}.check-label{display:flex;gap:9px;align-items:start;font-size:.82rem}.check-label input{margin-top:4px}.filters .small{line-height:1.6;margin-top:-8px}.filters button{width:100%}.reset-link{display:block;text-align:center;font-size:.8rem;margin-top:10px}.filter-help{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.filter-help h3{font-size:.9rem}.filter-help p{font-size:.8rem;color:var(--muted);margin:0}.results-heading{display:flex;gap:15px;justify-content:space-between;align-items:center;margin:8px 0 16px}.results-heading h2{margin:0;font-size:1.1rem;white-space:nowrap}.locality-picker{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:15px 18px;margin-bottom:25px}.locality-picker summary{font-size:.95rem;font-weight:650;color:var(--navy);cursor:pointer}.locality-picker summary>span{float:right;font-size:.8rem;color:var(--muted)}.locality-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 18px;margin-top:17px;max-height:220px;overflow:auto}.locality-links a{font-size:.8rem;display:flex;gap:10px;justify-content:space-between;text-decoration:none}.locality-links span{color:var(--muted)}.business-list{display:grid;gap:14px}.business-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;align-items:center;gap:25px}.business-card-main{flex:1;min-width:0}.business-location{display:flex;align-items:center;flex-wrap:wrap;gap:5px;color:var(--muted);font-size:.75rem;margin-bottom:8px}.business-card h3{font-size:1.12rem;line-height:1.4;overflow-wrap:anywhere;margin-bottom:8px}.business-card h3 a{color:var(--navy);text-decoration:none}.business-card h3 a:hover{text-decoration:underline}.address{font-size:.85rem;color:var(--muted);margin-bottom:13px;overflow-wrap:anywhere}.badges{display:flex;gap:7px;flex-wrap:wrap}.badge{display:inline-block;background:var(--teal-soft);border-radius:5px;padding:4px 8px;font-size:.7rem;color:#365951}.badge.neutral{background:#f0f3f7;color:#536273}.card-actions{display:flex;flex-direction:column;gap:12px;min-width:124px;align-items:center}.card-actions .button{font-size:.8rem;width:100%;padding:9px 12px;min-height:42px}.call-link{font-size:.85rem;font-weight:650;text-decoration:none}.call-link svg{margin-right:4px}.pagination{display:flex;justify-content:center;align-items:center;gap:22px;margin:30px 0;font-size:.85rem}.pagination a{padding:9px 14px;background:var(--white);border:1px solid var(--line);border-radius:7px;text-decoration:none}.jurisdiction-note{padding:26px;background:#edf2f6;border-radius:12px;margin-top:28px}.jurisdiction-note h2{font-size:1.2rem}.jurisdiction-note p,.jurisdiction-note a{font-size:.88rem}.empty-state{text-align:center;padding:50px 25px;background:var(--white);border:1px solid var(--line);border-radius:12px}.empty-state>svg{color:var(--teal);margin-bottom:18px}.empty-state p{max-width:560px;margin:0 auto 24px}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.card{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:12px;margin-bottom:20px;box-shadow:var(--shadow)}.card h2{font-size:1.3rem}.card p{font-size:.91rem}.profile-address{display:flex;gap:12px;color:var(--navy);font-weight:650}.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 15px}.contact-actions .button{font-size:.85rem;padding:11px 14px}.map-placeholder{margin-top:25px;border:1px solid var(--line);background:var(--paper);border-radius:9px;min-height:260px;display:grid;place-items:center;text-align:center;overflow:hidden}.map-placeholder>div{padding:25px}.map-placeholder h3{margin-top:10px}.map-placeholder p{font-size:.8rem;color:var(--muted)}.map-placeholder iframe{width:100%;height:320px;border:0}.facts{margin:0}.facts>div{display:grid;grid-template-columns:1fr 1.2fr;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.88rem}.facts>div:last-child{border-bottom:0}.facts dt{color:var(--muted)}.facts dd{margin:0}.hours{font-size:.8rem;margin-top:20px}.hours>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.hours dd{margin:0;text-align:right}.profile-aside .card{padding:24px}.help-card{background:var(--navy);border-radius:12px;padding:26px;color:#d5e1ec}.help-card h2{font-size:1.4rem;color:#fff}.help-card .eyebrow{color:#b3ded2}.help-card p{font-size:.88rem}.help-card>a:not(.button){display:block;color:#d0ece3;margin-top:12px;font-size:.88rem}.help-card .button{background:var(--white);color:var(--navy);font-size:.87rem;border:0}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 300px;gap:65px;align-items:start;padding:32px 0 40px}.article h1{font-size:clamp(2rem,3.5vw,2.7rem)}.article-meta{font-size:.75rem;color:var(--muted);padding:16px 0 24px;border-bottom:1px solid var(--line);margin-bottom:32px}.prose{font-size:1rem;line-height:1.85}.prose h2{font-size:1.45rem;margin-top:32px}.prose h3{font-size:1.15rem;margin-top:22px}.prose li{padding-left:4px;margin-bottom:12px}.prose strong{color:var(--navy)}.prose table{width:100%;border-collapse:collapse;font-size:.85rem;display:block;overflow-x:auto}.prose th,.prose td{padding:12px;border:1px solid var(--line);text-align:left}.sources{margin-top:36px;padding:25px;background:#edf2f6;border-radius:10px}.sources h2{font-size:1.15rem}.sources ul{padding-left:19px;font-size:.8rem}.sources li{margin-bottom:9px;overflow-wrap:anywhere}.sources p{font-size:.8rem;margin:15px 0 0}.related-guides{margin-top:30px}.related-guides h2{font-size:1.1rem}.related-guides a{display:block;border-top:1px solid var(--line);padding:14px 0;font-size:.85rem;text-decoration:none}.correction-form{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:26px;margin-top:25px}.correction-form label{margin-bottom:18px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent{position:fixed;bottom:16px;left:16px;right:16px;max-width:700px;margin:auto;z-index:30;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:0 4px 45px #0003}.consent p{font-size:.87rem}.consent button{font-size:.82rem;margin-right:10px}[hidden]{display:none!important}dialog{border:0;border-radius:14px;padding:24px;max-width:calc(100vw - 32px);width:430px}dialog::backdrop{background:#0b2137a8}#menu-close{float:right}#mobile-nav-slot nav{display:flex;flex-direction:column;clear:both;padding-top:24px;gap:0}#mobile-nav-slot a{padding:17px 0;border-bottom:1px solid var(--line);font-weight:600;text-decoration:none}.menu-open{overflow:hidden}
@media(min-width:1500px){.hero{padding-top:56px}}@media(max-width:1020px){.site-header nav{gap:16px}.site-header nav a{font-size:.8rem}.site-header .nav-trust{padding-left:15px}.brand{font-size:1.4rem}.article-layout{gap:30px;grid-template-columns:minmax(0,1fr) 270px}.state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-layout{grid-template-columns:235px minmax(0,1fr);gap:22px}.business-card{display:block;padding:21px}.card-actions{flex-direction:row;justify-content:start;margin-top:18px}.card-actions .button{width:auto}.locality-links{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout{grid-template-columns:minmax(0,1fr) 280px}.footer-links{gap:16px}.process-section{gap:35px}}
@media(max-width:800px){.container{width:calc(100% - 36px)}.header-inner{min-height:78px}.site-header nav{display:none}.menu-toggle{display:flex;min-height:40px;padding:8px 12px;font-size:.8rem}.hero{padding-top:32px}.hero h1{font-size:2.6rem}.hero-foot{gap:12px;flex-direction:column}.notice-inline{flex-wrap:wrap}.notice-inline p{flex:1;min-width:200px}.notice-inline>a{margin-left:34px}.section{padding:38px 0}.section-heading{align-items:start}.process-section{grid-template-columns:1fr;gap:25px}.process-section h2 br{display:none}.directory-layout{grid-template-columns:1fr}.filters{position:static;padding:19px}.filters form{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.filters label{margin:0}.filters .small{margin:0}.filters .check-label{align-items:center}.filters .filter-help{display:none}.filters button{width:auto}.filters .reset-link{align-self:center}.filters h2{margin-bottom:20px}.profile-layout{grid-template-columns:1fr}.profile-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.article-layout{grid-template-columns:1fr}.article-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.related-guides{margin:0}.footer-top{flex-direction:column}.footer-bottom{align-items:start;flex-direction:column}.results-heading{align-items:start}.results-heading .small{text-align:right}.business-card{display:flex}.card-actions{flex-direction:column;margin:0}.profile-heading h1{font-size:2.3rem}.article{min-width:0}}
@media(max-width:520px){.container{width:calc(100% - 32px)}.hero h1{font-size:2.18rem}.hero .lead{font-size:1rem}.search-panel{padding:20px 18px 13px;border-radius:12px}.search-form{display:block}.search-form button{width:100%;margin-top:12px;min-height:48px}.input-icon input{font-size:.9rem}.geo-row{display:block;margin-top:14px}.geo-row>span{display:block;line-height:1.5;margin-top:3px}.hero-foot{font-size:.76rem}.notice-inline{padding:17px}.notice-inline>a{margin-left:0}.section-heading{display:block}.section-heading>a{display:inline-block;margin-top:16px}.state-search{width:100%;margin-top:18px}.state-grid{grid-template-columns:1fr;gap:9px}.state-card{padding:14px 16px}.guide-grid{grid-template-columns:1fr}.guide-card{padding:23px}.guide-number{margin-bottom:13px}.business-card{display:block;padding:20px}.card-actions{flex-direction:row;margin-top:17px;justify-content:space-between}.card-actions .button{width:auto}.filters form{grid-template-columns:1fr}.filters form>button{margin-top:6px}.filters label{margin-bottom:5px}.results-heading .small{max-width:160px;font-size:.73rem}.locality-links{grid-template-columns:1fr 1fr;gap:9px}.page-heading h1{font-size:2rem}.page-heading{padding-top:25px}.breadcrumbs{font-size:.7rem}.card{padding:22px}.facts>div{grid-template-columns:1fr 1fr;font-size:.8rem;gap:12px}.profile-aside{display:block}.profile-heading h1{font-size:2rem}.contact-actions{display:grid;grid-template-columns:1fr 1fr}.contact-actions .button:first-child{grid-column:1/-1}.contact-actions .button{font-size:.76rem;padding:10px}.article-aside{grid-template-columns:1fr}.article-layout{padding-top:25px}.article h1{font-size:2.1rem}.article .lead{font-size:1rem}.prose{font-size:.95rem}.footer-links{flex-direction:column;gap:10px}.footer-bottom>div{gap:12px;flex-wrap:wrap}.pagination{gap:10px;font-size:.75rem}.pagination a{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.filters summary{font-weight:700;color:var(--navy);font-size:1.08rem;cursor:pointer}.filters details[open]>summary{margin-bottom:20px}.profile-note{margin-bottom:20px}

.site-header .brand{flex-shrink:0}.site-header nav a{white-space:nowrap}
.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:20;width:50px;height:50px;min-height:50px;padding:0;border-radius:50%;background:#b54a32;border-color:#b54a32;box-shadow:0 4px 16px #17324d33}
.back-to-top:hover{background:#943c29;border-color:#943c29}
.menu-open .back-to-top{display:none}
@media print{.back-to-top{display:none}}
.nearby-section{text-align:center;background:var(--white);padding:64px 24px 56px;margin:0 0 32px;border-radius:var(--radius)}
.nearby-section h2{font-size:clamp(1.7rem,3.5vw,2.5rem);margin:0 0 24px;line-height:1.25}
.nearby-section h2::after{content:"";display:block;width:58px;height:3px;border-radius:2px;background:linear-gradient(90deg,#b54a32,#e9a14c);margin:18px auto 0}
.nearby-intro{max-width:780px;margin:0 auto 28px;color:var(--muted);font-size:.95rem}
.nearby-button{background:#b54a32;border-color:#b54a32;min-height:52px;padding:14px 24px;box-shadow:0 5px 12px #b54a321a}
.nearby-button:hover{background:#943c29;border-color:#943c29}
.nearby-section .geo-status{color:var(--muted);max-width:600px;margin:16px auto 0}
.nearby-distance{font-size:.78rem;color:var(--muted);margin:18px 0 14px}
.nearby-manual{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#a3402d;font-size:.85rem;font-weight:650;text-decoration:none}
.nearby-manual:hover{color:#7d3021;text-decoration:underline}
@media(max-width:1200px){.site-header nav{display:none}.menu-toggle{display:flex;min-height:44px;padding:8px 12px;font-size:.8rem}.header-inner{min-height:78px}}
@media(max-width:520px){.nearby-section{padding:40px 20px 32px}.nearby-intro{font-size:.9rem}.nearby-button{max-width:100%;width:100%}.nearby-distance{line-height:1.6}}

:root{color-scheme:light}
.header-actions{display:flex;align-items:center;gap:20px}
.theme-toggle{width:44px;height:44px;min-height:44px;padding:0;flex-shrink:0;border-radius:50%}
.theme-toggle .ui-icon--sun{display:none}
:root[data-theme="dark"] .theme-toggle .ui-icon--moon{display:none}
:root[data-theme="dark"] .theme-toggle .ui-icon--sun{display:block}
@media(max-width:520px){.header-inner{gap:10px}.header-actions{gap:8px}.brand{gap:7px;font-size:1.35rem}.brand small{font-size:.48rem}.brand-symbol{width:36px;height:36px}.menu-toggle{padding:8px}}
@media(max-width:359px){.brand-symbol{display:none}}

/* Visual system adapted from NotariosCerca: warm paper and petroleum.
   Ochre is reserved for primary actions; semantic colors serve both themes. */
:root {
  --navy:#153746; --navy-deep:#122e3d; --ink:#263b44; --muted:#596970;
  --paper:#fbf8f3; --white:#fffefa; --raised:#f2efe8; --line:#dedfd7;
  --input-line:#87978e; --teal:#306c61; --teal-dark:#245b53;
  --teal-soft:#eaf1ea; --notice-ink:#345c51;
  --accent:#d9ad67; --accent-hover:#e8bf7c; --accent-ink:#122e3d;
  --accent-soft:#f4e8d2; --accent-text:#76551f; --focus:#16768b;
  --radius:20px; --shadow:0 10px 32px #122e3d09; --shadow-hover:0 15px 35px #122e3d13;
}
:root[data-theme="dark"] {
  color-scheme:dark; --navy:#edf4f3; --ink:#e1ebed; --muted:#afc0c8;
  --paper:#081d27; --white:#102832; --raised:#142f3a; --line:#34515d;
  --input-line:#708c96; --teal:#8fd4c3; --teal-dark:#a5e2d2;
  --teal-soft:#163c3b; --notice-ink:#c5e5da;
  --accent-soft:#393222; --accent-text:#e8bf7c; --focus:#91d9e3;
  --shadow:0 12px 32px #0002; --shadow-hover:0 18px 40px #0003;
}
body { line-height:1.7; -webkit-font-smoothing:antialiased; }
html { scroll-padding-top:110px; }
button,.button { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); min-height:48px; border-radius:12px; padding:12px 22px; font-weight:700; transition:background-color .18s,border-color .18s,box-shadow .18s; }
button:hover,.button:hover { background:var(--accent-hover); border-color:var(--accent-hover); color:var(--accent-ink); box-shadow:0 4px 14px #122e3d14; }
button.secondary,.button.secondary { background:var(--white); color:var(--navy); border-color:var(--line); box-shadow:none; }
button.secondary:hover,.button.secondary:hover { background:var(--teal-soft); border-color:var(--teal); }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:var(--focus); }
input,select,textarea { min-height:48px; padding:11px 13px; border-radius:10px; border-color:var(--input-line); }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:1; }
.eyebrow { font-size:.7rem; letter-spacing:.15em; }
.section { padding:clamp(44px,5.5vw,76px) 0; }
.section-heading { gap:24px; margin-bottom:28px; }
.section-heading h2,.process-section h2,.nearby-section h2 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,3.3vw,2.9rem); font-weight:400; line-height:1.16; letter-spacing:-.035em; }
.section-heading h2 { margin-bottom:12px; }
.section-heading p:last-child { font-size:.92rem; }
.section-heading>a { font-size:.86rem; padding-block:10px; }
.section-heading .eyebrow { margin-bottom:10px; }

/* Grouped desktop navigation and descriptive mobile navigation. */
.site-header { background:var(--paper); position:sticky; top:0; box-shadow:0 3px 22px #122e3d05; }
.header-inner { min-height:90px; gap:22px; }
.brand { font-size:1.55rem; }
.brand-symbol { background:var(--navy-deep); color:#e8bf7c; border-radius:13px; }
.brand small { font-size:.54rem; margin-top:6px; color:var(--muted); }
.header-actions { gap:12px; }
.site-header nav { gap:3px; padding:5px; background:var(--raised); border:1px solid var(--line); border-radius:16px; }
.site-header nav a { display:flex; align-items:center; gap:7px; min-height:44px; padding:10px 11px; border-radius:11px; font-size:.79rem; }
.site-header nav a:hover { background:var(--white); }
.site-header nav a>svg { color:var(--teal); }
.site-header .nav-trust { border-left:0; }
#main-nav small { display:none; }
.site-header nav .nav-near { background:var(--accent); color:var(--accent-ink); margin-left:3px; }
.site-header nav .nav-near:hover { background:var(--accent-hover); }
.site-header nav .nav-near>svg { color:inherit; }
.theme-toggle { width:44px; height:44px; min-height:44px; padding:0; border-radius:50%; }
.menu-toggle { min-height:44px; padding:8px 12px; }
.back-to-top { width:50px; height:50px; min-height:50px; padding:0; border-radius:50%; box-shadow:0 5px 20px #122e3d33; }
.skip-link { position:fixed; }
#mobile-menu { border:1px solid var(--line); border-radius:24px; padding:0; width:460px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); color:var(--ink); background:var(--white); box-shadow:0 25px 80px #0004; }
#mobile-menu::backdrop { background:#081d27b8; backdrop-filter:blur(5px); }
.mobile-menu-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px; border-bottom:1px solid var(--line); background:var(--raised); }
.mobile-menu-heading .eyebrow { margin-bottom:5px; font-size:.65rem; }
.mobile-menu-heading h2 { margin:0; font-size:1.1rem; }
#menu-close { float:none; width:44px; height:44px; min-height:44px; padding:0; border-radius:50%; flex-shrink:0; }
#mobile-nav-slot { padding:12px; }
#mobile-nav-slot nav { padding-top:0; gap:4px; }
#mobile-nav-slot a { display:flex; align-items:center; gap:15px; padding:16px 14px; border:0; border-radius:12px; font-weight:650; color:var(--navy); line-height:1.4; }
#mobile-nav-slot a:hover { background:var(--raised); }
#mobile-nav-slot a>svg { color:var(--teal); }
#mobile-nav-slot small { display:block; font-weight:400; font-size:.77rem; margin-top:5px; color:var(--muted); }
#mobile-nav-slot .nav-near { background:var(--accent-soft); }

/* Broad hero and a raised strip of totals from the real inventory. */
.hero { color:#fffefa; background:radial-gradient(ellipse at 90% 0,#214b4b,transparent 65%),linear-gradient(115deg,#122e3d,#153746); padding:66px 0 84px; }
.hero-intro { max-width:960px; }
.hero .eyebrow { display:flex; align-items:center; gap:8px; color:#e8bf7c; margin-bottom:22px; }
.hero h1 { color:#fffefa; font-size:clamp(2.55rem,4.8vw,4.1rem); line-height:1.1; margin-bottom:24px; }
.hero h1 span { color:#e8bf7c; }
.hero .lead { color:#d0e1e0; font-size:clamp(1rem,1.6vw,1.18rem); max-width:780px; margin-bottom:0; }
.search-panel { margin-top:32px; padding:22px 24px 14px; border:1px solid var(--line); border-radius:18px; background:var(--white); color:var(--navy); box-shadow:0 15px 32px #03172126; }
.search-form { gap:14px; }
.search-field { min-width:0; }
.search-field label { font-size:.86rem; margin-bottom:9px; }
.input-icon svg { top:18px; }
.input-icon input { padding:15px 16px 15px 46px; min-height:58px; border:1px solid var(--input-line); }
.search-form button { min-width:180px; min-height:58px; background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
.search-form button:hover { background:var(--accent-hover); border-color:var(--accent-hover); }
.geo-row { gap:24px; margin-top:12px; }
.text-button,.search-panel .text-button { min-height:40px; padding:4px 0; background:transparent; border:0; color:var(--teal-dark); font-size:.85rem; box-shadow:none; }
.text-button:hover,.search-panel .text-button:hover { background:transparent; color:var(--navy); box-shadow:none; }
.search-panel .muted,.search-panel .geo-status { color:var(--muted); }
.coverage-strip { position:relative; margin-top:-34px; display:grid; grid-template-columns:1fr 1fr 1.2fr; padding:26px 12px; background:var(--white); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
.coverage-strip>div { display:flex; align-items:center; justify-content:center; gap:16px; padding:0 22px; }
.coverage-strip>div+div { border-left:1px solid var(--line); }
.coverage-strip svg { color:var(--teal); }
.coverage-strip p { margin:0; }
.coverage-strip strong { display:block; color:var(--navy); font-size:1.8rem; font-weight:650; letter-spacing:-.035em; line-height:1.2; font-variant-numeric:tabular-nums; }
.coverage-strip>div:last-child strong { font-size:1.15rem; letter-spacing:-.02em; }
.coverage-strip p>span { display:block; color:var(--muted); font-size:.76rem; margin-top:5px; }
.home-content>.notice { margin-top:28px; }
.notice { border-color:var(--line); border-radius:14px; padding:22px 24px; color:var(--notice-ink); }
.notice-inline { gap:16px; }
.notice p { font-size:.85rem; line-height:1.8; }
.notice-inline>a { min-width:170px; font-size:.79rem; }
.state-search { width:245px; flex-shrink:0; }
.state-card { gap:14px; border-radius:15px; padding:19px 18px; transition:border-color .18s,box-shadow .18s; }
.state-card:hover { box-shadow:var(--shadow); }
.state-card>span:nth-child(2) { min-width:0; }
.state-code { background:var(--teal-soft); width:42px; height:42px; border-radius:12px; font-weight:750; color:var(--teal-dark); }
.state-card strong { font-size:.96rem; line-height:1.35; }
.state-card small { font-size:.71rem; margin-top:5px; }
.state-card>svg { color:var(--teal); }
.process-section { grid-template-columns:1fr 1.25fr; gap:65px; }
.process-section h2 { margin-bottom:24px; }
.process-section a { font-weight:650; font-size:.88rem; }
.steps { gap:28px; }
.steps li { gap:18px; }
.steps li>span { color:var(--accent-text); background:var(--accent-soft); border:0; width:40px; height:40px; }
.steps h3 { margin:2px 0 8px; }
.guide-grid { gap:20px; }
.guide-card { border-radius:18px; padding:27px; transition:border-color .18s,box-shadow .18s,transform .18s; }
.guide-card:hover { box-shadow:var(--shadow-hover); transform:translateY(-3px); }
.guide-card-top { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:24px; }
.guide-symbol { display:grid; place-items:center; width:48px; height:48px; background:var(--teal-soft); color:var(--teal); border-radius:14px; }
.guide-number { color:var(--muted); font-size:.66rem; letter-spacing:.12em; font-weight:650; margin:0; }
.guide-card h3 { font-size:1.18rem; line-height:1.4; margin-bottom:12px; }
.guide-card p { font-size:.86rem; line-height:1.8; }
.read-link { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:18px; border-top:1px solid var(--line); font-size:.84rem; }
.nearby-section { background:var(--teal-soft); border:1px solid var(--line); padding:56px 28px 48px; margin:0 0 60px; border-radius:24px; }
.nearby-symbol { display:grid; place-items:center; width:62px; height:62px; margin:0 auto 20px; color:var(--teal); background:var(--white); border:1px solid var(--line); border-radius:50%; }
.nearby-section h2 { margin:0 0 22px; }
.nearby-section h2::after { content:none; }
.nearby-intro { max-width:680px; margin-bottom:26px; }
.nearby-button { min-height:54px; padding:14px 26px; box-shadow:none; }
.nearby-button,.back-to-top { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
.nearby-button:hover,.back-to-top:hover { background:var(--accent-hover); border-color:var(--accent-hover); color:var(--accent-ink); }
.nearby-manual { color:var(--teal-dark); }
.nearby-manual:hover { color:var(--navy); }

/* Directory, profiles, forms and long-form guidance. */
.page-heading { padding:38px 0 34px; }
.page-heading h1 { max-width:980px; }
.directory-layout { grid-template-columns:280px minmax(0,1fr); margin-bottom:50px; }
.filters { border-radius:18px; padding:24px; top:112px; }
.filters label { font-size:.82rem; margin-bottom:19px; }
.filters .small { font-size:.75rem; line-height:1.65; }
.filters button { font-size:.86rem; }
.filters summary { display:flex; align-items:center; gap:10px; }
.filters summary::-webkit-details-marker { display:none; }
.filters summary>svg { margin-left:auto; flex-shrink:0; }
.filters details[open]>summary>svg { transform:rotate(180deg); }
.filter-count { background:var(--teal-soft); color:var(--notice-ink); padding:2px 8px; border-radius:20px; font-size:.72rem; }
.filter-group { border:0; border-top:1px solid var(--line); margin:22px 0; padding:16px 0 0; min-width:0; }
.filter-group legend { padding:0 8px 0 0; font-size:.79rem; font-weight:750; color:var(--navy); }
.filters .filter-choice { display:flex; align-items:center; gap:9px; min-height:46px; margin:6px 0; padding:9px 10px; background:var(--raised); border:1px solid var(--line); border-radius:10px; font-size:.77rem; cursor:pointer; }
.filters .filter-choice:has(input:checked) { background:var(--teal-soft); border-color:var(--teal); }
.filters .filter-choice:has(input:disabled) { color:var(--muted); cursor:default; }
.filters .filter-choice input { width:17px; height:17px; min-height:17px; margin:0; padding:0; flex-shrink:0; accent-color:var(--teal-dark); }
.filter-choice>span { flex:1; }
.filter-choice>small { font-size:.7rem; font-variant-numeric:tabular-nums; color:var(--muted); }
.active-filters { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 18px; }
.active-filters a { display:inline-flex; align-items:center; gap:7px; min-height:38px; max-width:100%; padding:6px 9px; border:1px solid var(--line); border-radius:9px; background:var(--teal-soft); font-size:.72rem; text-decoration:none; }
.active-filters a span { overflow-wrap:anywhere; }
.active-filters a svg { flex-shrink:0; }
.filter-nearby { display:flex; align-items:center; gap:8px; min-height:44px; font-size:.8rem; font-weight:650; text-decoration:none; }
.filter-nearby+ p { margin-top:7px; }
.locality-picker { border-radius:15px; padding:18px 20px; margin-bottom:28px; }
.locality-links a { padding-block:3px; }
.business-list { gap:16px; }
.business-card { border-radius:18px; padding:27px; gap:26px; transition:border-color .18s,box-shadow .18s; }
.business-card:hover { border-color:var(--input-line); box-shadow:var(--shadow); }
.business-location>svg { color:var(--teal); }
.business-card h3 { font-size:1.14rem; }
.badge { border-radius:6px; padding:5px 9px; color:var(--notice-ink); line-height:1.6; }
.badge.neutral { background:var(--raised); color:var(--muted); }
.profile-category { display:inline-flex; align-items:center; gap:8px; max-width:100%; margin-bottom:16px; padding:7px 12px; font-size:.8rem; }
.profile-category>svg { flex-shrink:0; }
.profile-category>span { min-width:0; overflow-wrap:anywhere; }
.card-actions { min-width:130px; }
.card-actions .button { min-height:44px; border-radius:10px; }
.call-link { min-height:32px; }
.pagination a { padding:10px 16px; border-radius:10px; }
.pagination a:hover { background:var(--teal-soft); }
.jurisdiction-note { padding:28px; background:var(--teal-soft); border:1px solid var(--line); border-radius:18px; margin-top:32px; }
.empty-state,.card { border-radius:18px; }
.card { padding:30px; margin-bottom:22px; }
.card>:last-child { margin-bottom:0; }
.profile-address>svg { color:var(--teal); margin-top:3px; }
.map-placeholder { background:var(--raised); border-radius:14px; }
.facts>div { padding:15px 0; }
.facts dd { overflow-wrap:anywhere; }
.hours>div { padding:10px 12px; margin-inline:-12px; }
.hours dt { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.hours dd { min-width:0; overflow-wrap:anywhere; }
.hours>div.is-today { background:var(--accent-soft); color:var(--ink); border-radius:10px; border-bottom-color:transparent; box-shadow:inset 3px 0 0 var(--accent); font-weight:700; }
.hours-today { display:inline-block; padding:1px 6px; border-radius:5px; background:var(--accent); color:var(--accent-ink); font-size:.65rem; font-weight:750; line-height:1.6; }
.help-card { background:#153746; border:1px solid #34515d; border-radius:18px; padding:28px; color:#d0e1e0; }
.profile-preparation { margin-bottom:22px; }
.preparation-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.preparation-actions .button { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0; min-width:0; height:100%; padding:12px 16px; font-size:.85rem; text-align:left; white-space:normal; }
.preparation-actions .button>svg { flex-shrink:0; }
@media(max-width:520px) { .preparation-actions { grid-template-columns:minmax(0,1fr); } }
.help-card h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:1.85rem; color:#fffefa; line-height:1.2; }
.help-card .eyebrow { color:#e8bf7c; font-size:.65rem; }
.help-card>a:not(.button) { color:#e8bf7c; margin-top:14px; }
.help-card .button { background:var(--accent); color:var(--accent-ink); }
.help-card .button:hover { background:var(--accent-hover); }
.article-layout { gap:60px; padding:38px 0 56px; }
.article { min-width:0; }
.article h1 { font-size:clamp(2.1rem,3.5vw,2.85rem); }
.prose { line-height:1.9; }
.prose h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:1.9rem; margin-top:40px; }
.prose th { background:var(--raised); }
.sources { margin-top:38px; padding:27px; background:var(--teal-soft); border:1px solid var(--line); border-radius:18px; }
.related-guides { margin-top:28px; padding:24px; background:var(--white); border:1px solid var(--line); border-radius:18px; }
.related-guides a:last-child { padding-bottom:0; }
.correction-form { border-radius:18px; padding:28px; }
.site-footer { background:#102c3a; color:#c9d8d9; padding:48px 0 28px; }
.home-main+.site-footer { margin-top:0; }
.site-footer a:hover,.site-footer .text-button { color:#e8bf7c; }
.editorial-notice { color:#c0d2d5; line-height:1.85; }
.consent { border-radius:18px; padding:24px; }

@media(max-width:1200px) {
  .header-inner { min-height:78px; }
  html { scroll-padding-top:96px; }
  .filters { top:100px; }
}
@media(max-width:1020px) {
  .article-layout { gap:30px; }
  .directory-layout { grid-template-columns:245px minmax(0,1fr); }
  .process-section { gap:32px; }
  .coverage-strip>div { padding-inline:14px; gap:12px; }
}
@media(max-width:800px) {
  .hero { padding:44px 0 70px; }
  .hero h1 { font-size:clamp(2.5rem,6vw,3.5rem); }
  .coverage-strip { grid-template-columns:1fr 1fr; gap:20px 0; padding:22px 8px; }
  .coverage-strip>div { justify-content:start; padding-inline:20px; }
  .coverage-strip>div:last-child { grid-column:1/-1; border-left:0; border-top:1px solid var(--line); padding-top:20px; }
  .coverage-strip>div:last-child p { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
  .coverage-strip>div:last-child p>span { margin-top:0; }
  .process-section,.directory-layout { grid-template-columns:1fr; }
  .filters { padding:22px; }
  .filters label { margin:0; }
  .filters .small { margin:0; }
  .filters .filter-help { display:block; }
  .profile-aside { grid-template-columns:minmax(0,1fr); }
  .business-card { padding:24px; }
  .related-guides { margin:0; }
}
@media(max-width:520px) {
  .header-inner { gap:10px; min-height:74px; }
  .header-actions { gap:8px; }
  .brand { gap:7px; font-size:1.35rem; }
  .brand small { font-size:.47rem; }
  .brand-symbol { width:36px; height:36px; border-radius:11px; }
  .menu-toggle { padding-inline:9px; }
  .hero { padding:34px 0 64px; }
  .hero .eyebrow { font-size:.58rem; letter-spacing:.09em; gap:6px; margin-bottom:18px; }
  .hero h1 { font-size:clamp(2.1rem,8.5vw,2.75rem); margin-bottom:20px; }
  .hero .lead { font-size:.98rem; }
  .search-panel { padding:18px 16px 14px; border-radius:16px; margin-top:25px; }
  .search-form button { min-height:50px; }
  .input-icon input { font-size:.88rem; min-height:54px; }
  .input-icon svg { top:17px; }
  .geo-row { margin-top:10px; }
  .geo-row>span { line-height:1.6; margin-top:2px; font-size:.73rem; }
  .coverage-strip { padding:20px 0; gap:18px 0; border-radius:16px; margin-top:-28px; }
  .coverage-strip>div { padding-inline:16px; gap:9px; align-items:start; }
  .coverage-strip>div>svg { width:18px; height:18px; margin-top:4px; }
  .coverage-strip strong { font-size:1.55rem; }
  .coverage-strip p>span { font-size:.69rem; }
  .coverage-strip>div:last-child p { display:block; }
  .coverage-strip>div:last-child p>span { margin-top:4px; }
  .coverage-strip>div:last-child strong { font-size:1rem; }
  .home-content>.notice { margin-top:22px; }
  .notice-inline { padding:19px; gap:12px; }
  .section { padding-block:40px; }
  .section-heading { margin-bottom:22px; }
  .section-heading h2,.process-section h2,.nearby-section h2 { font-size:2rem; }
  .state-search { width:100%; margin-top:20px; }
  .state-card { padding:17px 16px; }
  .guide-card { padding:24px; }
  .guide-card-top { margin-bottom:20px; }
  .nearby-section { padding:35px 20px 28px; border-radius:18px; margin-bottom:36px; }
  .nearby-section .eyebrow { font-size:.62rem; }
  .nearby-intro { font-size:.9rem; }
  .business-card { padding:22px; }
  .page-heading { padding:28px 0; }
  .card { padding:24px 22px; }
  .contact-actions .button { font-size:.75rem; padding:11px 8px; }
  .article-layout { padding-top:28px; }
  .article h1 { font-size:2.1rem; }
  .prose h2 { font-size:1.65rem; }
  .site-footer { padding:36px 0 28px; }
  .mobile-menu-heading { padding:20px; }
  .mobile-menu-heading h2 { font-size:1rem; }
  .consent button { margin-bottom:8px; }
}
@media(max-width:359px) {
  .coverage-strip>div>svg { display:none; }
  .coverage-strip>div { padding-inline:14px; }
  .contact-actions { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .guide-card:hover { transform:none; } }
@media print { .site-header { position:static; } .theme-toggle,.menu-toggle,.consent { display:none; } }

/* Editorial guides: a clear introduction, section index and readable column. */
.guide-hero { padding:38px 0 36px; max-width:980px; }
.guide-hero-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.guide-hero-top>a { font-size:.82rem; font-weight:650; text-decoration:none; }
.guide-hero .eyebrow { text-transform:uppercase; margin-bottom:12px; }
.guide-hero h1 { font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:clamp(2.2rem,4.3vw,3.6rem); line-height:1.12; letter-spacing:-.035em; max-width:930px; margin-bottom:22px; }
.guide-hero .lead { max-width:800px; font-size:1.04rem; line-height:1.8; margin-bottom:24px; }
.guide-meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px 26px; color:var(--muted); font-size:.76rem; }
.guide-meta>span { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.guide-meta svg { color:var(--teal); }
.guide-library { display:grid; grid-template-columns:minmax(0,1fr) 275px; gap:60px; max-width:none; padding-bottom:44px; align-items:center; }
.guide-library-note { background:var(--accent-soft); border:1px solid var(--line); border-radius:22px; padding:30px; color:var(--accent-text); }
.guide-library-note p { margin:22px 0 0; line-height:1.8; font-size:.93rem; }
.guide-library-note strong { display:block; color:var(--navy); font-family:Georgia,"Times New Roman",serif; font-size:1.5rem; font-weight:400; line-height:1.3; margin-top:8px; }
.guide-number { text-transform:uppercase; }
.reading-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; grid-template-areas:"body aside"; gap:32px; align-items:start; }
.reading-main { grid-area:body; min-width:0; padding:38px; background:var(--white); border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); }
.reading-aside { grid-area:aside; position:sticky; top:112px; max-height:calc(100dvh - 136px); overflow:auto; scrollbar-width:thin; }
.reading-body { counter-reset:article-section; font-size:.99rem; line-height:1.9; }
.reading-body>p:first-child { padding:23px 25px; border-left:3px solid var(--accent); border-radius:0 12px 12px 0; background:var(--raised); color:var(--navy); font-size:1.02rem; line-height:1.85; margin-bottom:34px; }
.reading-body h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:1.75rem; line-height:1.25; margin-top:38px; padding-top:25px; border-top:1px solid var(--line); scroll-margin-top:22px; }
.reading-body h2::before { counter-increment:article-section; content:counter(article-section,decimal-leading-zero); display:block; width:max-content; margin-bottom:11px; color:var(--accent-text); font:700 .7rem/1.4 system-ui,sans-serif; letter-spacing:.12em; }
.reading-body li { padding-left:6px; margin-bottom:15px; }
.reading-body li::marker { color:var(--teal); font-weight:700; }
.reading-body a { font-weight:550; }
.guide-contents { padding:24px; border:1px solid var(--line); border-radius:18px; background:var(--white); }
.guide-contents summary { color:var(--navy); font-size:.95rem; font-weight:700; cursor:pointer; }
.guide-contents nav { margin-top:18px; }
.guide-contents ol { margin:0; padding:0; list-style:none; counter-reset:guide-index; }
.guide-contents li+li { border-top:1px solid var(--line); }
.guide-contents a { display:flex; gap:12px; align-items:baseline; padding:12px 0; font-size:.82rem; line-height:1.55; color:var(--muted); text-decoration:none; }
.guide-contents a::before { counter-increment:guide-index; content:counter(guide-index,decimal-leading-zero); color:var(--accent-text); font-size:.67rem; font-weight:700; flex-shrink:0; }
.guide-contents a:hover { color:var(--teal-dark); text-decoration:underline; }
.guide-help { margin-top:20px; padding:26px; background:var(--teal-soft); border:1px solid var(--line); border-radius:18px; }
.guide-help .guide-symbol { background:var(--white); margin-bottom:18px; }
.guide-help h2 { font-family:Georgia,"Times New Roman",serif; font-size:1.65rem; font-weight:400; margin-bottom:12px; }
.guide-help p { color:var(--muted); font-size:.85rem; line-height:1.8; }
.guide-help .button { width:100%; padding:12px; font-size:.82rem; }
.guide-source { margin-top:36px; padding:25px; border:1px solid var(--line); border-radius:16px; background:var(--teal-soft); }
.guide-source .eyebrow { font-size:.61rem; margin-bottom:9px; }
.guide-source h2 { font-size:1.2rem; margin-bottom:18px; }
.official-source { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px; background:var(--white); border:1px solid var(--line); border-radius:12px; font-weight:650; font-size:.87rem; text-decoration:none; }
.official-source:hover { border-color:var(--teal); }
.official-source span { min-width:0; overflow-wrap:anywhere; }
.official-source small { display:block; color:var(--muted); font-weight:400; font-size:.72rem; margin-top:6px; }
.source-references { margin-top:18px; font-size:.78rem; color:var(--muted); }
.source-references summary { cursor:pointer; font-weight:600; padding-block:6px; }
.source-references ul,.guide-source>ul { padding-left:20px; font-size:.8rem; line-height:1.8; }
.source-references li,.guide-source>ul li { margin-bottom:8px; }
.guide-source .source-scope { padding-top:18px; margin:20px 0 0; border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; line-height:1.8; }
.guide-directory-cta { display:flex; justify-content:space-between; align-items:center; gap:32px; margin:40px 0 60px; padding:30px; background:var(--teal-soft); border:1px solid var(--line); border-radius:20px; }
.guide-directory-cta h2 { font-family:Georgia,"Times New Roman",serif; font-size:1.8rem; font-weight:400; margin-bottom:10px; }
.guide-directory-cta p:last-child { margin:0; color:var(--muted); font-size:.9rem; }
.guide-directory-cta .button { flex-shrink:0; font-size:.85rem; }
@media(max-width:1200px) { .reading-aside { top:100px; max-height:calc(100dvh - 124px); } }
@media(max-width:1020px) {
  .guide-library { grid-template-columns:minmax(0,1fr) 240px; gap:30px; }
  .reading-layout { grid-template-columns:minmax(0,1fr) 265px; gap:22px; }
  .reading-main { padding:28px; }
  .guide-contents,.guide-help { padding:20px; }
}
@media(max-width:800px) {
  .guide-library { grid-template-columns:1fr; gap:24px; }
  .guide-library-note { display:flex; align-items:center; gap:20px; padding:24px; }
  .guide-library-note p { margin:0; }
  .guide-library-note strong { font-size:1.3rem; }
  .reading-layout { grid-template-columns:1fr; grid-template-areas:"aside" "body"; }
  .reading-aside { position:static; max-height:none; overflow:visible; }
  .guide-contents nav ol { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
  .guide-contents li { border-bottom:1px solid var(--line); }
  .guide-contents li+li { border-top:0; }
  .guide-help { display:none; }
  .guide-directory-cta { align-items:start; flex-direction:column; gap:22px; }
}
@media(max-width:520px) {
  .guide-hero { padding:28px 0; }
  .guide-hero h1 { font-size:2.25rem; }
  .guide-hero .lead { font-size:.96rem; }
  .guide-hero-top { margin-bottom:22px; }
  .guide-hero-top>a { font-size:.76rem; }
  .guide-meta { flex-direction:column; align-items:start; gap:10px; font-size:.7rem; }
  .guide-library-note { padding:20px; }
  .reading-main { padding:24px 20px; border-radius:18px; }
  .reading-body { font-size:.94rem; }
  .reading-body>p:first-child { padding:19px; font-size:.96rem; margin-bottom:28px; }
  .reading-body h2 { font-size:1.55rem; margin-top:30px; }
  .reading-body ul,.reading-body ol { padding-left:20px; }
  .guide-contents nav ol { grid-template-columns:1fr; }
  .guide-contents a { min-height:44px; }
  .guide-source { padding:20px; }
  .official-source { padding:15px; gap:12px; font-size:.82rem; }
  .guide-directory-cta { padding:24px; margin-bottom:38px; }
  .guide-directory-cta .button { width:100%; }
}
@media print { .reading-layout { display:block; } .reading-aside,.guide-related { display:none; } }

/* Locality navigation: full touch targets, real counts and in-place search. */
.directory-context { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:22px 24px; margin-bottom:28px; border:1px solid var(--line); border-radius:16px; background:var(--teal-soft); }
.directory-context h2 { font-size:1.05rem; margin-bottom:8px; }
.directory-context p { font-size:.82rem; color:var(--muted); margin:0; max-width:700px; }
.directory-context>a { flex-shrink:0; font-size:.78rem; font-weight:600; }
.pagination { flex-wrap:wrap; gap:9px; }
.pagination a,.pagination-current { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px 12px; border-radius:9px; }
.pagination-current { background:var(--accent); color:var(--accent-ink); font-weight:750; }
.pagination-caption { flex-basis:100%; text-align:center; color:var(--muted); font-size:.76rem; }
.other-localities { margin-top:28px; border:1px solid var(--line); border-radius:20px; background:var(--white); box-shadow:var(--shadow); }
.other-localities-heading { display:flex; align-items:center; gap:14px; padding:22px 24px; border-bottom:1px solid var(--line); border-radius:20px 20px 0 0; background:var(--raised); }
.other-localities-heading>div { min-width:0; }
.other-localities-heading h2 { margin:0; font-size:1.1rem; line-height:1.4; overflow-wrap:anywhere; }
.other-localities-heading p { margin:5px 0 0; color:var(--muted); font-size:.8rem; }
.other-localities-body { padding:24px; }
.other-localities .other-localities-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.other-localities-grid .locality-card>svg { flex-shrink:0; }
.other-localities-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }
.other-localities-footer p { flex:1 1 180px; margin:0; color:var(--muted); font-size:.75rem; line-height:1.6; }
.other-localities-footer .button { display:inline-flex; align-items:center; justify-content:center; gap:12px; max-width:100%; padding:12px 16px; font-size:.8rem; white-space:normal; }
.other-localities-footer .button>span { min-width:0; overflow-wrap:anywhere; }
.other-localities-footer .button>svg { flex-shrink:0; }
.guide-specific-link { font-size:.9rem; margin-top:24px; color:var(--muted); }
@media(max-width:800px) { .directory-context { flex-direction:column; align-items:start; gap:16px; } }
@media(max-width:520px) {
  .other-localities { border-radius:16px; }
  .other-localities-heading { padding:18px; border-radius:16px 16px 0 0; }
  .other-localities-heading h2 { font-size:1rem; }
  .other-localities-body { padding:18px; }
  .other-localities .other-localities-grid { grid-template-columns:1fr; gap:10px; }
  .other-localities-footer { margin-top:18px; padding-top:18px; gap:14px; }
  .other-localities-footer p { flex-basis:100%; }
  .other-localities-footer .button { width:100%; justify-content:space-between; text-align:left; }
}
.locality-picker { padding:0; border-radius:20px; background:var(--white); box-shadow:var(--shadow); margin-bottom:28px; }
.locality-picker>summary { display:flex; align-items:center; gap:14px; padding:22px 24px; list-style:none; border-radius:20px; background:var(--raised); }
.locality-picker>summary::-webkit-details-marker { display:none; }
.locality-picker>summary::marker { content:''; }
.locality-picker>summary>span { float:none; }
.locality-picker[open]>summary { border-radius:20px 20px 0 0; border-bottom:1px solid var(--line); }
.locality-heading-icon { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; background:var(--white); color:var(--teal); border:1px solid var(--line); border-radius:12px; }
.locality-heading { min-width:0; flex:1; }
.locality-heading strong { display:block; color:var(--navy); font-size:1.04rem; line-height:1.4; font-weight:700; }
.locality-heading small { display:block; color:var(--muted); font-size:.77rem; font-weight:400; margin-top:4px; }
.locality-picker>summary .locality-total { flex-shrink:0; color:var(--teal-dark); background:var(--teal-soft); border:1px solid var(--line); padding:5px 10px; border-radius:8px; font-size:.72rem; font-weight:650; }
.locality-toggle { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; color:var(--navy); border:1px solid var(--line); background:var(--white); border-radius:50%; }
.locality-toggle svg { transition:transform .18s; }
.locality-picker[open] .locality-toggle svg { transform:rotate(180deg); }
.locality-body { padding:24px; }
.locality-intro { color:var(--muted); font-size:.82rem; line-height:1.7; margin-bottom:20px; max-width:640px; }
.locality-tools { display:flex; gap:20px; justify-content:space-between; align-items:end; margin-bottom:20px; }
.locality-search { flex:1; max-width:400px; font-size:.78rem; color:var(--navy); }
.locality-search-field { position:relative; display:block; margin-top:7px; }
.locality-search-field>svg { position:absolute; top:16px; left:14px; color:var(--muted); }
.locality-search input { margin:0; min-height:50px; padding:12px 48px 12px 42px; font-size:.85rem; }
.locality-search input::-webkit-search-cancel-button { display:none; }
.locality-search-field .locality-clear { position:absolute; right:5px; top:5px; width:40px; height:40px; min-height:40px; padding:0; border:0; background:transparent; }
.locality-search-field .locality-clear:hover { background:var(--teal-soft); }
.locality-overview { flex-shrink:0; text-align:right; padding-bottom:4px; }
.locality-overview p { margin:0 0 2px; color:var(--navy); font-size:.77rem; font-weight:600; }
.locality-overview>span { color:var(--muted); font-size:.72rem; }
.locality-links { grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:10px; margin:0; max-height:none; overflow:visible; }
.locality-links .locality-card { display:flex; align-items:center; justify-content:start; gap:11px; min-height:76px; padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--white); text-decoration:none; transition:background-color .18s,border-color .18s,box-shadow .18s; }
.locality-links .locality-card:hover { background:var(--teal-soft); border-color:var(--teal); box-shadow:0 3px 10px #122e3d08; }
.locality-card-pin { display:grid; place-items:center; width:32px; height:32px; flex-shrink:0; border-radius:9px; background:var(--teal-soft); }
.locality-links .locality-card-pin { color:var(--teal); }
.locality-card-copy { min-width:0; flex:1; }
.locality-card-copy strong { display:block; font-size:.85rem; font-weight:650; color:var(--navy); line-height:1.45; overflow-wrap:anywhere; }
.locality-card-copy small { display:block; font-size:.72rem; color:var(--muted); margin-top:3px; }
.locality-card>svg { margin-left:auto; color:var(--teal); }
.locality-pagination { display:flex; align-items:center; justify-content:center; gap:18px; padding-top:20px; }
.locality-pagination .secondary { min-height:44px; font-size:.8rem; padding:10px 18px; }
.locality-pagination .text-button { font-size:.79rem; }
.locality-empty { text-align:center; padding:30px 16px; background:var(--raised); border:1px dashed var(--line); border-radius:12px; }
.locality-empty>svg { color:var(--teal); margin-bottom:14px; }
.locality-empty h3 { margin-bottom:10px; font-size:1rem; }
.locality-empty p { color:var(--muted); font-size:.83rem; }
.locality-empty .button,.locality-empty button { font-size:.8rem; }
@media(max-width:1020px) { .locality-tools { align-items:stretch; flex-direction:column; gap:12px; } .locality-search { max-width:none; } .locality-overview { display:flex; align-items:baseline; justify-content:space-between; gap:12px; text-align:left; padding:0; } }
@media(max-width:520px) {
  .locality-picker { border-radius:16px; }
  .locality-picker>summary { padding:18px; gap:10px; flex-wrap:wrap; border-radius:16px; }
  .locality-picker[open]>summary { border-radius:16px 16px 0 0; }
  .locality-heading-icon { display:none; }
  .locality-heading { flex-basis:calc(100% - 44px); order:0; }
  .locality-heading strong { font-size:1rem; }
  .locality-toggle { order:1; }
  .locality-picker>summary .locality-total { order:2; margin-top:3px; }
  .locality-body { padding:18px; }
  .locality-intro { font-size:.78rem; margin-bottom:18px; }
  .locality-links { grid-template-columns:1fr; gap:9px; }
  .locality-links .locality-card { padding:13px 14px; min-height:72px; }
  .locality-pagination { flex-wrap:wrap; gap:10px; }
  .locality-pagination .secondary { width:100%; }
  .locality-search input { font-size:16px; }
  .locality-search input::placeholder { font-size:.78rem; }
  .locality-overview p { font-size:.72rem; }
  .locality-overview>span { font-size:.68rem; }
}


/* Manual ad units: 336px is intentionally not sticky (AdSense width limit). */
.ad-unit{clear:both;display:none;margin:32px auto;max-width:100%;width:300px;text-align:center;font-size:12px;color:var(--muted,#666)}
.ads-consented .ad-unit{display:block}
.ad-unit>span{display:block;margin-bottom:8px}
.ad-unit .adsbygoogle{display:block;width:300px;height:250px}
@media(min-width:380px){.ad-unit-large{width:336px}.ad-unit-large .adsbygoogle{width:336px;height:280px}}
@media print{.ad-unit{display:none!important}}
