/* Visitation-inspired warmth within Ideal's own civic design. */
:root{--school-green:#23574f;--soft-green:#e6eeea;--warm-gold:#dfc783}
.hero.taft-hero{height:690px;min-height:590px;max-height:850px;padding:0;display:flex;align-items:center;background:#152c43}
.hero-media{inset:0;width:100%;height:100%}.hero-overlay{inset:0;height:100%;background:linear-gradient(90deg,rgba(13,35,43,.78),rgba(15,37,41,.35) 65%,rgba(15,37,41,.12)),linear-gradient(0deg,#23574fdd,transparent 65%)}
.civic-hero-copy{width:min(1280px,calc(100% - 80px));margin:0 auto;height:auto;padding:20px 0 65px;max-width:none}.civic-hero-copy .eyebrow{color:#fff;font-size:.67rem;letter-spacing:.22em;margin-bottom:28px}.hero .civic-hero-copy h1.script-slogan{font:400 clamp(4.4rem,6.7vw,6.7rem)/1.06 'Allura',cursive;letter-spacing:0;max-width:1100px;color:#fff;text-shadow:0 3px 18px #0003;margin-bottom:28px}.script-slogan span{color:#f1d986}.civic-hero-copy>p:not(.eyebrow){font-size:.94rem;line-height:1.85;max-width:575px;color:#fff;margin-bottom:27px}.civic-hero-copy .button{background:#e3cf94;border-color:#e3cf94;color:#163d36;padding:14px 25px}.civic-secondary{display:inline-block;margin-left:22px;font-size:.77rem}.hero-caption{left:40px;bottom:22px}.hero-caption>p{display:none}.hero-caption>span{font:400 .59rem Manrope,sans-serif;color:#e6edeb}.hero-controls{left:auto;right:40px;bottom:20px;width:300px}.hero-controls .scene-buttons{gap:20px}.hero-controls button{font-family:Manrope,sans-serif}.ideal-mission-intro{padding:65px 0 55px;text-align:center;max-width:850px}.ideal-mission-intro h2{font:400 3.4rem/1.12 var(--serif);color:var(--civic-navy);margin:15px 0 23px}.ideal-mission-intro h2 em{font:400 4rem/1.1 'Allura',cursive;color:var(--school-green)}.ideal-mission-intro>p:not(.eyebrow){font-size:.98rem;line-height:1.95;max-width:740px;margin:0 auto 22px}.civic-service-bar{background:var(--soft-green);border-color:#c8d6d0}.civic-service-bar span,.civic-service-bar a{color:var(--school-green)}.civic-service-bar a{border-color:#bdcec5}.district-copy h2{font-size:3.2rem}.district-photo{border-radius:90px 0 0 0;overflow:hidden}.district-photo:before{display:none}.district-photo img{height:395px}.district-photo>span{background:#f0ece3;padding:12px 15px}.district-copy .text-link{color:var(--school-green)}.taft-kicker,.eyebrow{color:var(--school-green)}.civic-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:35px}.civic-section-heading h2{font-size:2.8rem}.taft-story img{border-radius:45px 0 0 0}.taft-media-events{background:var(--soft-green)}.taft-academics{background:var(--school-green)}.academic-description{background:#17483fec}.taft-community .community-heading .taft-kicker{font:400 2.5rem 'Allura',cursive;letter-spacing:0;text-transform:none}.leader-monogram{background:#e6eeea;border-color:#b4c8bf;border-radius:60px 0 0 0}.leader-monogram>span{color:var(--school-green)}.leader-copy h2{font-size:2.8rem}.facts-circle{background:#e6eeea;border-color:#afc3b9;outline-color:#bfcfc6}.taft-resource-grid a{border-color:var(--school-green)}.taft-resource-grid b{color:var(--school-green)}.statehood-feature{background:#f1ede4;border-block:1px solid #ded5c5;padding:65px 0}.statehood-feature>.wrap{display:grid;grid-template-columns:180px 1fr;gap:65px;align-items:center;max-width:1100px}.statehood-feature h2{font:400 2.9rem/1.15 var(--serif);color:var(--civic-navy);margin:12px 0 23px}.statehood-feature p:not(.eyebrow){font-size:.9rem;line-height:1.9;margin:13px 0;max-width:780px}.statehood-feature .eyebrow{color:var(--wine)}.statehood-feature .text-link{margin-top:16px}.dc-flag{background:#faf8f3;border:1px solid #d8cbb8;padding:25px 20px 20px;color:#803446;box-shadow:8px 8px 0 #e5dece}.dc-flag span{display:block;white-space:nowrap;letter-spacing:.14em;font-size:1.8rem;text-align:center}.dc-flag i{display:block;height:12px;background:currentColor;margin-top:14px}.page-community .statehood-feature{padding:35px 25px}.page-community .statehood-feature>.wrap{width:100%;grid-template-columns:110px 1fr;gap:30px}.page-community .dc-flag{padding:15px 10px}.page-community .dc-flag span{font-size:1.1rem}.page-community .dc-flag i{height:8px;margin-top:9px}.page-community .statehood-feature h2{font-size:2.4rem}.deeper-guide{border-top:1px solid #c7d5cc;padding-top:32px}.deeper-guide>p:not(.eyebrow){max-width:820px}.page-site-map .deeper-guide{width:min(1000px,calc(100% - 60px));margin:0 auto 60px}.page-hero:after{background:linear-gradient(90deg,#152c43 28%,#23574fb3 70%,#23574f40)}.page-hero .eyebrow{color:#f0d991}.sidebar-contact{background:#e6eeea}.footer-top>p{font:400 2.6rem/1.25 'Allura',cursive;color:#ecd594}.site-footer{border-top-color:#b59d68}.footer-invitation{display:block;text-align:center;padding:30px 0 45px;border-bottom:1px solid #ffffff30;margin-bottom:35px}.footer-invitation>.eyebrow{color:#d8c795}.footer-invitation h2{font:400 3.2rem var(--serif);color:white;margin:12px 0 25px}.footer-invitation nav{display:flex;justify-content:center;gap:15px}.footer-invitation nav a{font:600 .76rem Manrope,sans-serif;min-width:145px;padding:14px 24px;border:1px solid #c8b789;text-decoration:none;background:transparent}.footer-invitation nav a:hover{background:#dfc783;color:#152c43}.footer-invitation nav span{padding-left:14px}
@media(min-width:1500px){.hero-caption{left:calc((100vw - 1280px)/2)}.hero-controls{right:calc((100vw - 1280px)/2)}}
@media(max-width:800px){.hero.taft-hero{height:650px;min-height:0}.civic-hero-copy{width:calc(100% - 60px);padding-bottom:80px}.hero .civic-hero-copy h1.script-slogan{font-size:5.1rem}.hero-media,.hero-overlay{inset:0;height:100%;width:100%}.hero-caption{left:30px;bottom:70px}.hero-controls{left:30px;right:30px;width:auto}.ideal-mission-intro{padding:45px 0}.ideal-mission-intro h2{font-size:3rem}.district-photo img{height:360px}.civic-section-heading{display:block}.statehood-feature>.wrap{grid-template-columns:120px 1fr;gap:35px}.dc-flag{padding:20px 12px}.dc-flag span{font-size:1.25rem}.dc-flag i{height:9px}.statehood-feature h2{font-size:2.5rem}.footer-top>p{font-size:2rem}.footer-invitation h2{font-size:2.7rem}}
@media(max-width:540px){.hero.taft-hero{height:640px;min-height:0}.civic-hero-copy{width:calc(100% - 40px);padding:0 0 65px}.civic-hero-copy .eyebrow{font-size:.56rem;margin-bottom:25px}.hero .civic-hero-copy h1.script-slogan{font-size:clamp(3.4rem,11vw,4.4rem);line-height:1.14;margin-bottom:26px}.script-slogan br{display:block!important}.civic-hero-copy>p:not(.eyebrow){font-size:.85rem;line-height:1.85}.civic-secondary{margin-left:15px;font-size:.66rem}.hero-caption{left:20px;bottom:66px}.hero-caption>span{font-size:.5rem}.hero-controls{left:20px;right:20px}.ideal-mission-intro h2{font-size:2.6rem}.ideal-mission-intro h2 em{font-size:3.2rem}.ideal-mission-intro>p:not(.eyebrow){font-size:.9rem}.district-photo img{height:280px}.district-copy h2{font-size:2.9rem}.statehood-feature{padding:40px 0}.statehood-feature>.wrap,.page-community .statehood-feature>.wrap{grid-template-columns:1fr;gap:30px}.dc-flag{width:135px}.statehood-feature h2{font-size:2.65rem}.statehood-feature p:not(.eyebrow){font-size:.88rem}.footer-invitation nav{gap:10px;flex-wrap:wrap}.footer-invitation nav a{min-width:100px;padding:13px 17px}.footer-invitation h2{font-size:2.5rem}.footer-top>p{font-size:2.5rem}.page-community .statehood-feature{padding:30px 20px}}
@media(prefers-reduced-motion:reduce){.hero-media .hero-scene{transition:none}}

/* Slogan refinement: Dancing Script 700, verified on the reference. */
.hero .civic-hero-copy h1.script-slogan{font-family:'Dancing Script',cursive;font-weight:700;font-size:clamp(3.5rem,6.6vw,5.625rem);line-height:1.16;letter-spacing:0;max-width:1100px;margin-bottom:23px;text-shadow:0 2px 12px #102b3540}
.hero .script-slogan span{color:#efd76b}
.hero .script-slogan:after{content:'';display:block;width:105px;height:4px;background:#efd76b;margin-top:25px}
.hero .script-slogan br{display:block!important}
.footer-top>p{font-family:'Dancing Script',cursive;font-weight:700}
@media(max-width:800px){.hero .civic-hero-copy h1.script-slogan{font-size:clamp(3rem,7.7vw,4.5rem);line-height:1.19}.hero .script-slogan:after{width:85px;margin-top:23px}}
@media(max-width:540px){.hero .civic-hero-copy h1.script-slogan{font-size:clamp(2.1rem,8.5vw,2.85rem);line-height:1.26}.hero .script-slogan:after{width:72px;height:3px;margin-top:22px}}
