/* V13 content compatibility layer on top of the verified V12.7.3 design stack. */
.section--soft{background:#ece8df}
.content-narrow{max-width:860px}
.section-kicker{display:flex;align-items:center;gap:14px;margin:0 0 14px;color:#b4873d;text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:800}
.section-kicker:before{content:"";width:38px;height:1px;background:#d4aa5d}
.section-lead{max-width:780px;margin:0 0 34px;color:#687587;font-size:17px;line-height:1.85}
.feature-grid,.info-grid{display:grid;gap:18px;margin-top:30px}
.feature-grid--3,.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.info-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.feature-card,.info-card{background:#fff;border:1px solid #ded7cb;padding:30px;min-width:0;box-shadow:0 16px 38px rgba(18,30,47,.055)}
.feature-card h3,.info-card h3{margin:0 0 12px;color:#071526;font-size:21px;line-height:1.35;letter-spacing:-.025em}
.feature-card p,.info-card p{margin:0;color:#687587;font-size:14px;line-height:1.78}
.local-intent-section,.local-planning{border-top:1px solid #e1d9cc;border-bottom:1px solid #e1d9cc}
.check-list{display:grid;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.check-list li{position:relative;padding:15px 18px 15px 46px;background:#fff;border:1px solid #ded7cb;color:#526174;line-height:1.7}
.check-list li:before{content:"✓";position:absolute;left:18px;top:15px;color:#b4873d;font-weight:900}
@media(max-width:900px){
 .feature-grid--3,.three-col,.info-grid--2{grid-template-columns:1fr}
 .feature-card,.info-card{padding:24px}
 .section-lead{font-size:16px}
}

/* Phase 4: layout safety for V13-only content blocks. */
.section-frame,.section-frame *,.feature-grid>*,.info-grid>*,.district-grid>*,.check-grid>*{min-width:0}
.faq-list{display:grid;gap:14px;margin-top:30px}
.faq-list .faq-item{background:#fff;border:1px solid #ded7cb!important;border-radius:0!important;box-shadow:none!important;overflow:hidden}
.faq-list .faq-item summary{position:relative;cursor:pointer;list-style:none;padding:22px 58px 22px 24px;color:#071526;font-size:17px;font-weight:800;line-height:1.5}
.faq-list .faq-item summary::-webkit-details-marker{display:none}
.faq-list .faq-item summary:after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);color:#b4873d;font-size:24px;font-weight:500}
.faq-list .faq-item[open] summary:after{content:"−"}
.faq-list .faq-item p{margin:0;padding:0 24px 22px;color:#687587;line-height:1.8}
.legal-content{max-width:900px}
.legal-content h2{margin:48px 0 14px;color:#071526;font-size:25px;line-height:1.35;letter-spacing:-.035em}
.legal-content h2:first-child{margin-top:0}
.legal-content p{margin:0 0 18px;color:#5f6d7e;font-size:16px;line-height:1.9}
.legal-content a{color:#8f682d;text-decoration:underline;text-underline-offset:3px}
.legal-content .notice{margin-top:36px;padding:20px 22px;background:#f1ece3;border-left:3px solid #d5ae64;color:#435164}
@media(max-width:1100px) and (min-width:701px){
 .feature-grid--3,.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .faq-list .faq-item summary{padding:19px 52px 19px 20px;font-size:16px}
 .faq-list .faq-item summary:after{right:20px}
 .faq-list .faq-item p{padding:0 20px 20px}
 .legal-content h2{margin-top:38px;font-size:22px}
 .legal-content p{font-size:15px}
}

/* Phase 5: shared accessibility and narrow-screen safety. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:700px){
 .region-actions,.actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
 .region-actions .btn,.actions .btn,.cta-box .btn{width:100%;max-width:none;text-align:center;justify-content:center}
 .feature-grid,.info-grid,.district-grid,.check-grid,.detail-grid,.course-grid,.principle-grid,.steps-grid,.trust-grid,.unified-guide-grid{grid-template-columns:minmax(0,1fr)!important}
 .section-frame{overflow-wrap:anywhere}
}

/* Phase 6: desktop rhythm and V12.7.3 visual alignment for V13-only sections. */
.content-narrow>h2{max-width:760px;margin:0 0 20px;color:#071526;line-height:1.28;letter-spacing:-.04em}
.content-narrow>p:not(.eyebrow):not(.section-kicker){max-width:800px;margin:0 0 14px;color:#687587;font-size:16px;line-height:1.9}
.content-narrow>.check-list{max-width:820px}
.local-intent-section>.container,.local-planning>.container{position:relative}
.feature-grid,.info-grid{align-items:stretch}
.feature-card,.info-card{height:100%;display:flex;flex-direction:column}
.feature-card p,.info-card p{flex:1}
.feature-card h3,.info-card h3{overflow-wrap:break-word;word-break:keep-all}
.section--soft+.section--soft{border-top:1px solid rgba(180,135,61,.16)}
@media(min-width:1101px){
 .feature-grid--3,.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
 .info-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 .content-narrow>h2{font-size:clamp(28px,5vw,38px)}
 .content-narrow>p:not(.eyebrow):not(.section-kicker){font-size:15px;line-height:1.82}
}
@media(max-width:700px){
 .section-kicker{gap:10px;letter-spacing:.16em}
 .section-kicker:before{width:28px}
 .feature-card,.info-card{padding:22px 20px}
 .feature-card h3,.info-card h3{font-size:19px}
 .check-list li{padding:14px 16px 14px 42px}
 .check-list li:before{left:16px;top:14px}
}

/* Phase 7: final cross-device rendering safeguards without changing the V12.7.3 visual system. */
img,svg,video{max-width:100%;height:auto}
.region-anchor{-webkit-overflow-scrolling:touch}
.region-anchor .container{scroll-snap-type:x proximity}
.region-anchor a{scroll-snap-align:start}
.region-v9 h1,.region-v9 h2,.region-v9 h3{word-break:keep-all;overflow-wrap:break-word}
.region-v9 p,.region-v9 li{overflow-wrap:break-word}
@media(max-width:700px){
 .region-v9 .container{width:min(100% - 28px,700px)}
 .region-hero h1{font-size:clamp(38px,11vw,46px)}
 .region-lead{font-size:16px;line-height:1.75}
 .v9-final h2{font-size:clamp(32px,9vw,40px)}
 .editorial-image{min-height:320px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Phase 8: keyboard focus and tap-target QA refinements. */
.region-v9 :is(a,button,summary):focus-visible,
.site-header :is(a,button):focus-visible,
.site-footer a:focus-visible,
.floating-contact:focus-visible,
.mobile-call:focus-visible,
.back-to-top:focus-visible{
 outline:3px solid #d5ae64;
 outline-offset:4px;
}
.region-anchor a:focus-visible{outline-offset:2px}
.faq-v9-item :is(a,summary):focus-visible,
.v9-faq :is(a,summary):focus-visible{border-radius:4px}
@media(max-width:700px){
 .region-anchor a,.nearby-strip a{min-height:44px;display:inline-flex;align-items:center}
 .v9-btn{min-height:52px}
}
@media(forced-colors:active){
 .v9-btn,.region-anchor a,.nearby-strip a{border:1px solid ButtonText}
}
