/* Viewport-sized home, readable small-device detail order, predictive search. */
.page-home .hero{--hero-chrome:120px;--hero-dock:0px}
.page-home .hero-inner{min-height:calc(100svh - var(--hero-chrome) - var(--hero-dock));display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-top:clamp(36px,7svh,100px);padding-bottom:clamp(65px,10svh,120px)}
.page-home .hero h1{font-size:clamp(44px,5.3vw,82px);max-width:820px;line-height:1.08;letter-spacing:-.045em}
.page-home .hero-copy{font-size:clamp(13px,1.12vw,17px);max-width:540px;line-height:1.85}
.hero-scroll{position:absolute;left:40px;bottom:26px;display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:inherit;opacity:.8}
.hero-scroll>span{font-size:23px;line-height:1}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 72% 55%,#20d6ea13,transparent 55%);z-index:-1;opacity:.5}
.local-count-preview{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:12px 16px;border:1px dashed var(--accent);border-radius:10px;font-size:11px;line-height:1.6;margin-bottom:20px;background:var(--accent-soft);color:var(--text)}
.local-count-preview strong{font-size:9px;letter-spacing:1px}.local-count-preview a{text-decoration:underline;color:var(--accent-text);margin-left:auto}
.predictive-option{grid-template-columns:22px 1fr 18px;cursor:pointer;font-size:14px;font-weight:650;padding:14px 12px}
.suggestion-symbol{font-size:23px;font-weight:400;color:var(--muted)}
.predictive-option mark{background:transparent;color:var(--text);font-weight:450}
.predictive-option[aria-selected=true]{background:var(--accent-soft);outline:2px solid var(--accent)}
.search-suggestions{max-height:46svh;overflow-y:auto;overscroll-behavior:contain}
@media(min-width:1025px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .desktop-effects .hero.is-in-view:before{animation:hero-atmosphere 9s ease-in-out infinite alternate}
 .desktop-effects .hero.is-in-view .hero-scroll>span{animation:scroll-invitation 2.6s ease-in-out infinite}
 .page-idle .hero:before,.page-idle .hero-scroll>span{animation-play-state:paused!important}
 @keyframes hero-atmosphere{from{opacity:.25;transform:scale(1)}to{opacity:.85;transform:scale(1.08)}}
 @keyframes scroll-invitation{0%,70%,100%{transform:translateY(0)}40%{transform:translateY(5px)}}
}
@media(max-width:1024px){
 .detail-hero{grid-template-columns:1fr;gap:25px}
 .detail-hero .article-cover{grid-row:1;max-width:760px;width:100%;justify-self:center}
 .detail-title-block{grid-row:2}
 .detail-title-block h1{font-size:clamp(24px,3.7vw,36px);line-height:1.25}
 .detail-lead{font-size:clamp(12px,1.7vw,15px)}
}
@media(max-width:700px){
 .page-home .hero{--hero-chrome:71px;--hero-dock:71px}
 .page-home .hero-inner{padding-top:32px;padding-bottom:65px}
 .page-home .hero h1{font-size:clamp(31px,9.7vw,55px);max-width:100%;margin-bottom:20px}
 .page-home .hero-copy{font-size:clamp(12px,3.3vw,15px);max-width:390px;margin-bottom:23px;line-height:1.8}
 .page-home .hero .eyebrow{font-size:clamp(7px,2vw,9px);letter-spacing:1.2px}
 .page-home .hero-actions{flex-wrap:wrap;gap:9px}.page-home .hero-actions .btn{font-size:clamp(10px,2.8vw,12px);padding:12px 14px}
 .page-home .hero-trust{font-size:clamp(8px,2vw,10px);gap:10px 15px;margin-top:24px}
 .hero-scroll{left:20px;bottom:20px;font-size:8px;letter-spacing:1px}
 .detail-title-block h1{font-size:clamp(22px,6.1vw,29px);line-height:1.3;letter-spacing:-.025em}
 .detail-lead{font-size:clamp(12px,3.25vw,14px);line-height:1.8}
 .detail-hero{padding:16px;gap:22px}.detail-meta{flex-wrap:wrap;font-size:10px}
 .article-body{font-size:clamp(12px,3.5vw,15px)}.article-body h2{font-size:clamp(20px,5.6vw,25px)}
 .page-banner .page-intro h1,.about-hero h1,.contact-intro h1{font-size:clamp(27px,8vw,39px)}
 .page-intro p,.about-hero-copy>p,.contact-intro p{font-size:clamp(12px,3.4vw,14px)}
 .predictive-option{font-size:12px;grid-template-columns:20px 1fr 14px;padding:13px 7px;gap:9px}.search-suggestions{max-height:44svh}
 .local-count-preview{font-size:10px}.local-count-preview a{margin-left:0}
}
@media(max-height:600px) and (min-width:701px){.page-home .hero-inner{padding-block:30px 65px}.page-home .hero h1{font-size:clamp(38px,4.5vw,64px)}.page-home .hero-copy{margin-bottom:18px}.page-home .hero-trust{margin-top:18px}}
@media(max-width:700px),(prefers-reduced-motion:reduce){.hero:before,.hero-scroll>span{animation:none!important;transition:none!important}}
