/* Area finder: extends the established STABRO page and school-card system. */
.area-page{max-width:1200px;margin:auto;color:var(--shared-ink)}
.area-page .crumb{padding:13px 48px;margin:0;font-size:16px;background:#fbfaf6}
.area-page .eyebrow{color:var(--shared-green);font-size:16px;font-weight:800;letter-spacing:.065em}
.area-page p{line-height:1.95}
.area-page a:focus-visible,.area-page button:focus-visible,.area-page summary:focus-visible,.area-page select:focus-visible,.area-table-scroll:focus-visible{outline:3px solid #f9cf28;outline-offset:4px}
.area-page [hidden]{display:none!important}
.area-hero{display:grid;grid-template-columns:1fr 1.04fr;gap:32px;padding:38px 48px 46px;background:#fbfaf6;overflow:hidden}
.area-hero-copy{align-self:center}
.area-hero-copy h1{color:var(--shared-green);font-size:16px;line-height:1.5;margin:8px 0 19px}
.area-hero-title{font-size:clamp(30px,3.3vw,43px);font-weight:800;color:var(--shared-green);line-height:1.55!important;letter-spacing:-.045em;margin:0 0 18px}
.area-hero-title span{background:linear-gradient(transparent 90%,#f9cf28 90%);padding-bottom:5px}
.area-hero-copy>p:not(.area-hero-title){font-size:16px;color:#526473;margin:0 0 24px}
.area-hero-actions{display:flex;flex-wrap:wrap;gap:10px}
body[data-page="areas"] .area-hero-actions .btn{font-size:16px;padding:10px 17px;min-height:44px}
.area-hero-gallery{position:relative;min-height:360px;align-self:center}
.area-postcard{position:absolute;background:white;padding:8px 8px 0;box-shadow:0 7px 22px #003d3518;margin:0}
.area-postcard-main{inset:10px 4px 48px 40px;transform:rotate(2deg)}
.area-postcard-main:before{content:"";position:absolute;top:-12px;left:42%;width:78px;height:25px;background:#f8df68b8;transform:rotate(-7deg);z-index:1}
.area-postcard img{width:100%;height:calc(100% - 27px);display:block;object-fit:cover}
.area-postcard figcaption{font-size:16px;line-height:27px;color:var(--shared-green);font-weight:700;padding-inline:3px;white-space:nowrap}
.area-postcard-small{width:47%;height:157px;bottom:0;left:0;transform:rotate(-6deg)}
.area-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--shared-green);padding:20px 25px}
.area-nav a{color:white;text-align:center;text-decoration:none;font-weight:700;font-size:16px;padding:6px 10px;border-right:1px solid #80b4b1;line-height:1.6}
.area-nav a:last-child{border-right:0}.area-nav a:hover{color:#ffe276}
.area-section{padding:42px 0;scroll-margin-top:25px}
.area-page .shared-heading{gap:16px;margin-bottom:24px}
.area-page .section-number{font-size:84px}
.area-page .shared-heading h2{font-size:29px}
.area-lead{font-size:16px;color:#536371;margin:0 0 26px;max-width:900px}
.area-note{font-size:16px;color:#617581;margin:18px 0 0;line-height:1.9}
.area-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}
.area-card{border:1px solid #b8dadd;border-radius:5px;background:#fff;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.area-card-image{aspect-ratio:1.5;display:block;position:relative;overflow:hidden;background:#e9f7f9}
.area-card-image:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#00332bd9)}
.area-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.area-card-image:hover img{transform:scale(1.035)}
.area-card-image>span{position:absolute;left:14px;bottom:13px;color:white;font:800 22px/1.1 Arial,sans-serif;letter-spacing:-.035em;z-index:1}
.area-card-image i{position:absolute;right:12px;bottom:11px;background:#fff;color:var(--shared-green);display:grid;place-items:center;height:25px;width:25px;font:22px/1 Arial,sans-serif;border-radius:50%;z-index:1}
.area-card-copy{padding:17px 15px 12px;display:flex;flex-direction:column;flex:1}
.area-card-title{display:flex;flex-wrap:wrap;gap:5px 8px;align-items:center;margin-bottom:12px}
.area-card-title h3{font-size:20px;line-height:1.5;margin:0;color:var(--shared-green)}
.area-count{display:inline-block;font-size:16px;font-weight:700;border-radius:20px;padding:3px 8px;background:#e9f7f9;color:#005653;white-space:nowrap}
.area-count.area-unlisted{color:#647079;background:#f0f3f2;font-size:16px}
.area-card-copy>p{font-size:16px;line-height:1.8;margin:0 0 13px;min-height:70px;color:#4d6170}
.area-tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:4px;margin:0 0 17px}
.area-tags li{font-size:16px;padding:3px 5px;color:#3d7475;background:#f0f8f7}
.area-card-action{display:flex;justify-content:space-between;align-items:center;gap:4px;color:var(--shared-green);font-size:16px;font-weight:800;text-decoration:none;min-height:40px;border-top:1px solid #d6e5e5;margin-top:auto;padding-top:5px}
.area-guide-link{font-size:16px;color:#526e73;min-height:36px;display:flex;align-items:center;justify-content:space-between;text-decoration:none}
.area-card-action:hover,.area-guide-link:hover{text-decoration:underline}
.area-search{display:grid;grid-template-columns:1.15fr 1fr auto;gap:18px;align-items:end;background:var(--shared-cyan);border:1px solid #9ed6de;border-top:3px solid var(--shared-green);padding:22px;border-radius:4px}
.area-search>div{min-width:0}
.area-search label{display:flex;align-items:center;gap:6px;color:var(--shared-green);font-size:16px;font-weight:700;margin-bottom:9px}
.area-search label .icon{width:19px;height:19px}
.area-search select{font:inherit;font-size:16px;border:1px solid #a9c7c9;border-radius:4px;width:100%;min-width:0;height:48px;padding:9px 11px;color:var(--shared-ink);background:white}
.area-search .btn{border:0;cursor:pointer;height:48px}
.area-result-line{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0 22px}
.area-result-line>p{font-size:16px;color:#526e73;margin:0;overflow-wrap:anywhere}
#area-reset{border:0;border-bottom:1px solid currentColor;background:none;color:var(--shared-green);padding:5px 0;cursor:pointer;font:inherit;font-size:16px;white-space:nowrap}
#area-reset:disabled{color:#849897;border-color:transparent;cursor:default}
.area-selection{background:#f7f9f4;border-left:3px solid #168783;padding:22px 24px;margin-bottom:28px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
.area-selection h3{color:var(--shared-green);font-size:21px;margin:0 0 7px}
.area-selection p{font-size:16px;color:#536573;margin:0}
.area-selection-actions{display:flex;flex-direction:column;gap:10px}
.area-selection-actions a{font-size:16px;font-weight:700;color:var(--shared-green);line-height:1.6;min-height:35px;display:flex;align-items:center;gap:12px}
.area-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px}
.area-results-head>h3{font-size:20px;margin:0}
.area-results-head>p{margin:0;display:flex;align-items:baseline;gap:8px;color:var(--shared-green);line-height:1}
.area-results-head strong{font:800 42px/1 Arial,sans-serif}.area-results-head span{font-size:16px}
.area-page .school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 22px}
.area-page .finder-card h3{font-size:25px}
.area-empty{grid-column:1/-1;padding:30px 25px;background:#f1f8f8;border:1px solid #b8dadd;border-radius:4px;text-align:center}
.area-empty>.shared-icon{width:38px;height:38px;color:var(--shared-green);margin-bottom:8px}
.area-empty h3{font-size:22px;line-height:1.6;margin:0 0 12px;color:var(--shared-green)}
.area-empty p{font-size:16px;max-width:650px;margin:0 auto 20px;color:#536573}
.area-empty>div{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.area-empty button{border:0;font:inherit;cursor:pointer}
.area-warm{background:#fbfaf6}.area-cyan{background:var(--shared-cyan)}
.area-table-scroll{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #b8dadd;background:#fff;border-radius:4px}
.area-table{width:100%;border-collapse:collapse;text-align:left;min-width:780px;font-size:16px;line-height:1.85}
.area-table th,.area-table td{padding:17px 16px;border-bottom:1px solid #d2e3e4;vertical-align:top}
.area-table thead{background:var(--shared-green);color:white}
.area-table tbody th{background:#eef8f8;width:13%;font-size:16px}
.area-table td:nth-child(2){width:34%}.area-table td:nth-child(3){width:36%}
.area-table tbody tr:last-child>*{border-bottom:0}
.area-table a{color:var(--shared-green);font-weight:700;text-decoration:none}.area-table a:hover{text-decoration:underline}
.area-table td:last-child{font-size:16px}
.area-two-up{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:35px}
.area-two-up>article{padding:27px 28px;background:#fbfaf6;border-top:3px solid #1b8e87}
.area-two-up h3{font-size:22px;line-height:1.55;color:var(--shared-green);margin:6px 0 13px}
.area-two-up p{font-size:16px;color:#536573;margin:0 0 14px}
.area-two-up a{font-size:16px;color:var(--shared-green);font-weight:700;text-decoration:none;display:inline-block;padding:8px 0}
.area-priorities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.area-priorities>article{border-right:1px solid #b8dadd;padding-right:23px}
.area-priorities>article:last-child{border:0;padding-right:0}
.area-priorities .icon{width:32px;height:32px;color:var(--shared-green)}
.area-priorities h3{font-size:17px;line-height:1.7;color:var(--shared-green);margin:10px 0 9px}
.area-priorities p{font-size:16px;color:#536573;margin:0}
.area-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.area-steps article{border:1px solid #b8dadd;padding:23px;background:white;display:flex;flex-direction:column}
.area-steps b{font:800 33px/1.2 Arial,sans-serif;color:var(--shared-orange);margin-bottom:11px}
.area-steps h3{font-size:18px;line-height:1.65;color:var(--shared-green);margin:0 0 12px}
.area-steps p{font-size:16px;color:#536573;margin:0 0 18px}
body[data-page="areas"] .area-steps .btn{font-size:16px;min-height:42px;padding:10px 12px;margin-top:auto;justify-content:center}
.area-faq{max-width:990px;margin:auto}
.area-faq details{border:1px solid #b8dadd;margin-bottom:14px;background:white}
.area-faq summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:14px;padding:20px 22px;background:#f4fafb;font-size:16px;font-weight:700;line-height:1.8}
.area-faq summary::-webkit-details-marker{display:none}
.area-faq summary>span{color:var(--shared-green);font-size:21px;font-family:Arial,sans-serif}
.area-faq summary i{position:relative;width:15px;height:15px;margin-left:auto;align-self:center;flex:none}
.area-faq summary i:before,.area-faq summary i:after{content:"";position:absolute;background:var(--shared-green);width:12px;height:2px;top:6px;left:1px}
.area-faq summary i:after{transform:rotate(90deg)}.area-faq details[open] summary i:after{transform:none}
.area-faq details>div{padding:2px 22px 16px 54px}.area-faq p{font-size:16px;color:#536573}
.area-sources{padding:0 0 38px;font-size:16px;color:#627481;line-height:1.8}
.area-sources details{border-top:1px solid #c7dddf;padding-top:17px}
.area-sources summary{cursor:pointer;color:var(--shared-green);font-weight:700}
.area-sources ul{display:flex;flex-wrap:wrap;gap:6px 25px;list-style:none;padding:0}
.area-sources a{color:var(--shared-green)}
.area-top-link{text-align:center;padding:0 0 20px}.area-top-link .btn{font-size:16px}
.area-finder-entry{text-decoration:none;color:inherit}.area-finder-entry:hover b{text-decoration:underline}
.area-guide-entry{display:flex;gap:25px;align-items:center;justify-content:space-between;margin:15px auto 35px;padding:25px 28px;border:1px solid #b8dadd;border-left:3px solid #13857f}
.area-guide-entry h2{font-size:22px;margin:5px 0;color:var(--shared-green)}.area-guide-entry p{font-size:16px;margin:0;color:#536573}
@media(max-width:1050px){
 .area-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.area-card-copy>p{min-height:0}
 .area-hero{padding-inline:28px;gap:20px}.area-hero-gallery{min-height:300px}.area-postcard-small{height:130px}
 .area-hero-title{font-size:34px}.area-page .shared-heading h2{font-size:26px}
 .area-page .school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .area-search{gap:12px;padding:18px}.area-search select{font-size:16px}
 .area-search .btn{font-size:16px;padding-inline:15px}
 .area-card-image{aspect-ratio:1.9}.area-card-image>span{font-size:29px}
 .area-steps{gap:13px}.area-steps article{padding:19px}.area-steps h3{font-size:16px}
}
@media(max-width:760px){
 .area-page .shared-wrap{width:calc(100% - 36px)}
 .area-page .crumb{padding:10px 18px;font-size:16px}
 .area-hero{grid-template-columns:1fr;padding:24px 22px 29px;gap:28px}
 .area-hero-copy h1{font-size:16px;margin:6px 0 13px}.area-hero-title{font-size:33px}
 .area-hero-copy>p:not(.area-hero-title){font-size:16px;line-height:1.9}
 .area-hero-gallery{min-height:265px;max-width:450px;width:100%;margin:auto}
 .area-postcard-main{inset:5px 5px 38px 45px}.area-postcard-small{height:125px;width:46%}
 .area-postcard figcaption{font-size:16px}
 .area-nav{display:flex;overflow-x:auto;padding:15px 8px;overscroll-behavior-x:contain}
 .area-nav a{flex:none;padding-inline:14px;font-size:16px}
 .area-section{padding:29px 0}.area-page .shared-heading{gap:11px;margin-bottom:20px}
 .area-page .section-number{font-size:57px}.area-page .shared-heading .eyebrow{font-size:16px}
 .area-page .shared-heading h2{font-size:22px;gap:2px;letter-spacing:-.04em}.area-page .sunrays{width:23px;transform:scale(.78);transform-origin:left center}
 .area-lead{font-size:16px;margin-bottom:21px}
 .area-directory{gap:16px 12px}.area-card-image{aspect-ratio:1.3}.area-card-image>span{font-size:20px;left:11px;bottom:13px}.area-card-image>i{width:22px;height:22px;right:9px;bottom:10px}
 .area-card-copy{padding:13px 11px 9px}.area-card-title{gap:5px;display:block;margin-bottom:10px}.area-card-title h3{font-size:17px;margin-bottom:6px}
 .area-card-copy>p{font-size:16px;line-height:1.85}.area-tags{gap:3px;margin-bottom:12px}.area-tags li{font-size:16px}
 .area-card-action{font-size:16px;line-height:1.5}.area-guide-link{font-size:16px;min-height:36px}
 .area-search{grid-template-columns:1fr;padding:18px;gap:17px}.area-search label{font-size:16px}.area-search select{font-size:16px}
 .area-search .btn{width:100%;justify-content:center}
 .area-result-line{align-items:flex-start;padding-bottom:20px}.area-result-line>p{font-size:16px}
 .area-selection{grid-template-columns:1fr;padding:19px;gap:12px}.area-selection h3{font-size:19px}.area-selection p{font-size:16px}
 .area-selection-actions{flex-direction:row;flex-wrap:wrap;gap:6px 19px}
 .area-results-head>h3{font-size:17px}.area-results-head strong{font-size:34px}.area-results-head span{font-size:16px}
 .area-page .school-grid{grid-template-columns:1fr;gap:22px}.area-page .finder-card h3{font-size:26px}
 .area-page .finder-card-photo{aspect-ratio:1.7}.area-page .finder-card-body{padding:20px}
 .area-empty{padding:25px 18px}.area-empty h3{font-size:19px}.area-empty p{font-size:16px}.area-empty>div{flex-direction:column}
 .area-empty .btn{justify-content:center;font-size:16px!important}
 .area-table{font-size:16px}.area-table th,.area-table td{padding:14px}
 .area-two-up{grid-template-columns:1fr;gap:17px;margin-bottom:25px}.area-two-up>article{padding:22px}.area-two-up h3{font-size:20px}.area-two-up p{font-size:16px}
 .area-priorities{grid-template-columns:1fr;gap:20px}.area-priorities>article{border-right:0;border-bottom:1px solid #b8dadd;padding:0 0 20px}.area-priorities h3{font-size:17px}.area-priorities .icon{width:27px;height:27px}
 .area-steps{grid-template-columns:1fr;gap:16px}.area-steps article{padding:23px}.area-steps h3{font-size:18px}.area-steps .btn{align-self:flex-start}
 .area-faq summary{padding:16px 15px;gap:10px;font-size:16px}.area-faq summary>span{font-size:19px}.area-faq details>div{padding:0 17px 10px}.area-faq p{font-size:16px}
 .area-guide-entry{display:block;padding:22px}.area-guide-entry .btn{margin-top:18px}.area-guide-entry h2{font-size:20px}
}
@media(max-width:360px){
 .area-directory{grid-template-columns:1fr}.area-card-image{aspect-ratio:1.85}.area-card-title{display:flex}.area-card-title h3{margin:0}.area-card-copy>p{font-size:16px}
 .area-page .shared-heading h2{font-size:20px}.area-hero-title{font-size:30px}.area-postcard-small{width:48%}.area-postcard figcaption{font-size:16px}
 .area-hero-actions{flex-direction:column}.area-hero-actions .btn{justify-content:center}
}
@media(prefers-reduced-motion:reduce){.area-card-image img{transition:none}.area-card-image:hover img{transform:none}}
