.asan-home-header{position:absolute;inset:0 0 auto;z-index:50;color:#fff;background:linear-gradient(180deg,rgba(4,8,12,.9),rgba(4,8,12,.4) 78%,transparent)}
.asan-home-header-inner{width:min(1180px,calc(100% - 40px));height:84px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.asan-home-wordmark{display:flex;align-items:center;flex:none;width:160px;color:#fff;text-decoration:none}
.asan-home-wordmark img{display:block;width:100%;height:auto;max-height:62px;object-fit:contain}
.asan-home-header nav{display:flex;align-items:center;gap:25px}
.asan-home-nav-group{position:relative}
.asan-home-nav-group summary{list-style:none;cursor:pointer;color:#fff;font-size:14px;font-weight:700}
.asan-home-nav-group summary::-webkit-details-marker{display:none}
.asan-home-nav-group summary:after{content:'⌄';color:var(--orange);margin-left:5px}
.asan-home-nav-dropdown{display:none;position:absolute;top:100%;left:-16px;min-width:230px;padding:10px 0;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#151b21;box-shadow:0 18px 35px rgba(0,0,0,.32)}
.asan-home-nav-group[open] .asan-home-nav-dropdown,.asan-home-nav-group:hover .asan-home-nav-dropdown,.asan-home-nav-group:focus-within .asan-home-nav-dropdown{display:grid}
.asan-home-nav-dropdown a{color:#fff;text-decoration:none;font-size:14px;line-height:1.3;padding:10px 16px}
.asan-home-nav-dropdown a:hover,.asan-home-nav-dropdown a:focus-visible{background:rgba(232,132,95,.17)}
.asan-home-nav-donate{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 17px;background:var(--orange);border-radius:4px;color:#111;text-decoration:none;font-size:14px;font-weight:700}
.asan-home-menu-toggle{display:none}
.asan-home-header a:focus-visible,.asan-home-header summary:focus-visible,.asan-home-header button:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.hero-content{max-width:min(700px,calc(100% - 40px))}
.hero .hero-prompt{font:700 clamp(36px,4.4vw,62px)/1.1 Ranade,Ubuntu,sans-serif;margin:0 0 20px}
.hero-content .buttons{margin:0 0 20px}
.hero-support{font-size:clamp(16px,1.45vw,20px);line-height:1.45;max-width:650px;margin:0;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.positioning-section{padding-bottom:clamp(48px,5vw,68px)}
.positioning-section .positioning{font-size:clamp(17px,1.8vw,23px);font-weight:700;color:#fff;margin:0 0 13px}
.positioning-section .shaping{margin-bottom:10px}
.positioning-section .gap{margin-bottom:0}
.proof{grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0 22px;padding-top:20px}
.proof-copy{font-size:14px}
.proof-photo{height:clamp(240px,31vw,400px)}
.program-head{margin-bottom:18px}
.program-head .lead{margin-bottom:0}
.program-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.program-card{display:flex;flex-direction:column;min-height:280px}
.program-card p{margin-bottom:12px}
.program-card .program-tagline{font-size:14px;font-weight:700;color:#fff}
.program-card .program-detail{font-size:13px;color:#d5b49f}
.program-card a{display:inline-block;color:var(--orange);font-size:14px;font-weight:700;text-decoration:none;margin-top:auto}
.program-card a:hover,.program-card a:focus-visible{text-decoration:underline}
.spotlight-section{background:#12181e}
.spotlight-tagline{font:700 clamp(21px,2.4vw,30px)/1.25 Ranade,Ubuntu,sans-serif;color:#fff;margin:0 0 10px}
.spotlight-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:24px}
.spotlight-entry{display:flex;flex-direction:column;min-width:0;min-height:235px;overflow:hidden;border-radius:8px;border-top:4px solid #e8845f;background:linear-gradient(145deg,#fff,#e7ddd0);color:#071526}
.spotlight-entry>div{padding:23px 17px 18px;display:flex;flex-direction:column;flex:1}
.spotlight-entry small{color:#ae4f31;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:10px;margin-bottom:8px}
.spotlight-entry h3{font-size:20px;line-height:1.14;margin:0 0 10px}
.spotlight-entry p{font-size:13px;line-height:1.42;color:#405064;margin:0 0 16px}
.spotlight-entry a{color:#ae4f31;text-decoration:none;font-size:13px;font-weight:700;margin-top:auto}
.spotlight-entry-typographic>div{padding-top:23px}
.pulse-stories-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:37px 0 15px}
.pulse-stories-head h3{font-size:25px;margin:0}
.pulse-stories-head a,.ecosystem-link{color:var(--orange);font-size:14px;font-weight:700;text-decoration:none}
.pulse-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pulse-story{overflow:hidden;border-radius:8px;background:#f3efe8}
.pulse-story a{display:flex;flex-direction:column;height:100%;color:#071526;text-decoration:none}
.pulse-story img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.pulse-story> a>div{display:flex;flex:1;flex-direction:column;gap:10px;padding:17px}
.pulse-story h3{font-size:20px;line-height:1.22;margin:0}
.pulse-story p{font-size:15px;line-height:1.48;margin:0;color:#4d5d6c}
.pulse-story small{font-size:13px;color:#677583;margin-top:auto}
.pulse-story span{color:var(--orange);font-size:14px;font-weight:700}
.pulse-story h4{font-size:18px;line-height:1.25;margin:0;padding:15px 17px 19px}
.pulse-story a:hover h4,.pulse-story a:focus-visible h4{text-decoration:underline}
.coming-up{background:#f3efe8;color:#071526}
.coming-up-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:21px}
.coming-up-head h2{margin:0}
.coming-up-head>a,.upcoming-all-mobile{color:#aa4f31;font-size:14px;font-weight:700;text-decoration:none}
.upcoming-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.upcoming-card{display:flex;flex-direction:column;min-height:205px;padding:22px;background:#fff;border:1px solid #d9d5ce;border-top:3px solid #c4603a;border-radius:7px}
.upcoming-category{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ac4e30;font-weight:700;margin-bottom:12px}
.upcoming-card h3{font-size:22px;line-height:1.18;margin:0 0 13px}
.upcoming-card p{font-size:14px;line-height:1.4;color:#405064;margin:0 0 18px}
.upcoming-card>a{font-size:14px;color:#aa4f31;font-weight:700;text-decoration:none;margin-top:auto}
.upcoming-all-mobile{display:none}
.quotes .media-title{margin-bottom:27px}
.ecosystem .lead{max-width:none;margin-bottom:15px}
.ecosystem .logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:20px 0 22px}
.ecosystem .logo-card{min-width:0;max-width:none;min-height:156px;padding:14px 10px;gap:8px}
.ecosystem .logo-card img{width:100%;height:94px;max-width:170px;object-fit:contain}
.ecosystem .logo-card img[alt="SeaCastle Insurance logo"]{object-fit:cover}
.ecosystem .logo-card span{font-size:12px}
.asan-home-bottom-nav{background:#0b0e12;color:#fff;border-top:1px solid #262b30;font-family:Ubuntu,Arial,sans-serif}
.asan-home-bottom-inner{max-width:1240px;margin:auto;padding:46px 28px 25px}
.asan-home-bottom-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.asan-home-bottom-column h3{color:#e8845f;font-size:15px;line-height:1.3;margin:0 0 16px}
.asan-home-bottom-column a{display:block;color:#d6d9dc;font-size:14px;line-height:1.45;text-decoration:none;margin:0 0 11px}
.asan-home-bottom-column a:hover,.asan-home-bottom-column a:focus-visible,.asan-home-footer-utility a:hover,.asan-home-footer-utility a:focus-visible{color:#fff;text-decoration:underline}
.asan-home-footer-utility{display:flex;flex-wrap:wrap;gap:11px 22px;border-top:1px solid #30363b;margin-top:31px;padding-top:20px}
.asan-home-footer-utility a{color:#d6d9dc;font-size:13px;text-decoration:none}
@media(max-width:1120px){.asan-home-header nav{gap:16px}.spotlight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ecosystem .logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.asan-home-header-inner{height:72px}.asan-home-menu-toggle{display:block;background:rgba(4,8,12,.8);border:1px solid rgba(255,255,255,.35);border-radius:4px;color:#fff;font:700 14px Ubuntu,Arial,sans-serif;padding:10px 15px}.asan-home-header nav{display:none;position:absolute;top:72px;left:0;right:0;max-height:calc(100vh - 72px);overflow:auto;background:#10161b;padding:15px 22px 24px;align-items:stretch;flex-direction:column;gap:0}.asan-home-header[data-open="true"] nav{display:flex}.asan-home-nav-group{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}.asan-home-nav-dropdown{position:static;display:none;box-shadow:none;border:0;background:none;padding:5px 0}.asan-home-nav-group[open] .asan-home-nav-dropdown{display:grid}.asan-home-nav-group:not([open]):hover .asan-home-nav-dropdown{display:none}.asan-home-nav-donate{align-self:flex-start;margin-top:18px}.proof{grid-template-columns:repeat(4,minmax(0,1fr))}.program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.program-card{padding:18px}.upcoming-card{padding:18px}}
@media(max-width:720px){.proof{grid-template-columns:repeat(2,minmax(0,1fr))}.program-grid,.pulse-story-grid,.upcoming-grid{grid-template-columns:1fr}.program-card,.upcoming-card{min-height:0}.spotlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spotlight-entry img{height:95px}.ecosystem .logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.asan-home-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.asan-home-wordmark{width:132px}.hero .hero-prompt{font-size:clamp(34px,9vw,44px)}.hero-support{font-size:16px}.spotlight-grid{grid-template-columns:1fr}.spotlight-entry{min-height:0}.spotlight-entry>div{padding:20px}.spotlight-entry h3{font-size:21px}.spotlight-entry p{margin-bottom:18px}.ecosystem .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecosystem .logo-card{min-height:142px}.ecosystem .logo-card img{height:82px}.coming-up-head>a{display:none}.upcoming-all-mobile{display:inline-block;margin-top:20px}.asan-home-bottom-inner{padding:40px 20px 22px}}
/* v2.4: editorial hierarchy and compact section rhythm */
.page .section{padding-block:clamp(48px,5vw,68px)}
.page .title,.page .media-title{font-size:clamp(32px,3.3vw,47px)}
.hero{min-height:clamp(570px,76svh,760px)}
.hero-slide{display:block;overflow:hidden}
.hero-slide>.hero-main-image{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-slide:nth-child(2)>.hero-main-image{object-position:center 28%}
.hero-slide:nth-child(3)::before{content:"";position:absolute;inset:-24px;background:linear-gradient(135deg,#26323a,#101820);filter:blur(18px) brightness(.55)}
.hero-slide:nth-child(3)>.hero-main-image{position:relative;object-fit:contain;z-index:1}
.hero-side{display:none}
.hero-side img{min-width:0;min-height:0;width:100%;height:100%;object-fit:cover}
.hero:after{background:linear-gradient(90deg,rgba(3,6,9,.82),rgba(3,6,9,.35) 48%,rgba(3,6,9,.04) 78%),linear-gradient(0deg,rgba(3,6,9,.43),transparent 56%)}
.hero-content{max-width:660px}
.hero h1{font-size:clamp(43px,5vw,67px);margin-bottom:12px}
.hero-problem{font:700 clamp(25px,2.5vw,34px)/1.18 Ranade,Ubuntu,sans-serif;color:#e8845f;max-width:610px;margin:0 0 15px}
.hero-support{font-size:clamp(17px,1.5vw,19px);line-height:1.48;margin-bottom:24px}
.hero-events-link{align-self:center;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.reach .title{max-width:none}
.reach .title .community-second-line{display:block}
.positioning-section{background:#f3efe8;color:#071526}
.positioning-section .glance-intro{color:#405064;font-size:17px;margin-bottom:12px}
.positioning-section .proof{border-top-color:#d8d0c5;margin:15px 0 18px;padding-top:18px}
.positioning-section .proof-item{border-right-color:#d8d0c5}
.positioning-section .proof-num{color:#bd5b37}
.positioning-section .proof-copy{color:#405064;font-size:16px}
.positioning-section .proof-photo{height:clamp(210px,24vw,325px);object-position:center 56%}
.unlock-card p{font-size:16px}
.program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.program-card{display:block;min-height:0;padding:0;overflow:hidden;background:#f3efe8;color:#071526;border:0}
.program-card img{display:block;width:100%;height:220px;object-fit:cover}
.program-card>div{padding:23px 26px 27px}
.program-index{display:block;color:#b65331;font-size:13px;font-weight:700;letter-spacing:.14em;margin-bottom:10px}
.program-card h3{font-size:clamp(23px,2vw,28px)}
.program-card p{font-size:16px;color:#405064;min-height:72px}
.program-card a{color:#a64b2d;font-size:15px}
.action{background:#0c1116}
.action .event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.action .media-card{position:relative;aspect-ratio:16/10}
.action .media-card img{object-fit:cover}
.action figcaption{position:absolute;inset:auto 0 0;padding:30px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.78));font-size:16px;font-weight:700}
.action figcaption span{display:block;font-size:13px;font-weight:400}
.spotlight-section{background:#f3efe8;color:#071526}
.spotlight-section .lead{color:#405064}
.spotlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.asan-home-media{gap:18px}
.asan-home-media .asan-media-card{padding:24px;gap:16px}
.asan-home-media .asan-media-card h3{font-size:26px;line-height:1.25}
.asan-home-media .asan-media-content h4{font-size:21px;line-height:1.35;margin:16px 0 12px}
.asan-home-media .asan-media-content img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.asan-home-media .asan-media-content p,.asan-home-media .asan-media-content time,.asan-home-media .asan-media-explore{font-size:16px;line-height:1.5}
.asan-home-media .asan-media-summary{margin:0 0 12px}
.spotlight-entry{background:transparent;border:0;border-left:2px solid #cf7654;border-radius:0;min-height:0}
.spotlight-entry>div{padding:9px 18px 12px}
.spotlight-entry small{font-size:12px}
.spotlight-entry p{font-size:16px}
.spotlight-entry a{font-size:15px}
.pulse-section{background:#fff;color:#071526}
.pulse-section .pulse-story{border:1px solid #e1d9d0}
.pulse-story h4{font-size:19px}
.upcoming-card p,.upcoming-card>a{font-size:16px}
.upcoming-date{display:block;color:#a64b2d;font-size:18px;font-weight:700;margin-bottom:4px}
.upcoming-city{display:block;color:#405064;font-size:15px;font-weight:700;margin-bottom:12px}
.footprint-section{background:#11171d}
.ecosystem{background:#f3efe8;color:#071526}
.ecosystem .lead{color:#405064}
.ecosystem .logo-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.ecosystem .logo-card{min-height:85px;max-width:none;padding:8px;background:transparent;border:0}
.ecosystem .logo-card img{max-width:180px;height:72px}
.ecosystem .ecosystem-link{color:#a64b2d}
.reach .lead{color:#405064}
.age-card{border:0;border-top:2px solid #c4603a;border-radius:0;padding:17px 5px}
.age-card strong{font-size:25px}
.age-card span{font-size:16px}
.final .lead{margin-inline:auto}
@media(max-width:900px){.spotlight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ecosystem .logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.hero{min-height:620px}.hero-slide{display:block}.hero-side{display:none}.hero:after{background:linear-gradient(0deg,rgba(3,6,9,.88),rgba(3,6,9,.54) 55%,rgba(3,6,9,.15))}.hero-content{bottom:56px}.hero h1{font-size:clamp(39px,9vw,55px)}.hero-problem{font-size:clamp(24px,6.1vw,30px)}.hero-support{font-size:17px}.hero-content .buttons{gap:10px}.hero-content .buttons .btn{width:auto;min-width:135px}.hero-events-link{width:100%;margin-top:4px}.program-grid,.action .event-grid,.pulse-story-grid,.upcoming-grid{grid-template-columns:1fr 1fr}.program-card img{height:175px}.program-card p{min-height:0}.ecosystem .logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:500px){.hero{min-height:690px}.hero-content{bottom:52px}.hero-content .buttons .btn{min-width:0;flex:1;padding-inline:10px}.program-grid,.action .event-grid,.pulse-story-grid,.upcoming-grid,.spotlight-grid{grid-template-columns:1fr}.program-card img{height:210px}.action .media-card{aspect-ratio:16/9}.ecosystem .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.age-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-copy{font-size:15px}}
/* v2.5 three-program architecture */
.program-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.program-card img{height:230px}
.program-card p{min-height:98px}
.program-index{text-transform:uppercase}
.program-all-link,.spotlight-all-link{display:inline-block;margin-top:25px;color:#e8845f;font-size:16px;font-weight:700;text-decoration:none}
.spotlight-all-link{color:#a64b2d}
.quotes{background:#11171d}
.quote-grid{gap:24px}
.quote blockquote{font-size:clamp(17px,1.55vw,20px)}
.quote .label{font-size:13px}
.final .btn:nth-child(3),.final .btn:nth-child(4){opacity:1}
@media(max-width:900px){.program-grid{grid-template-columns:1fr 1fr}.program-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.program-card:last-child img{height:100%}}
@media(max-width:720px){.program-grid{grid-template-columns:1fr}.program-card:last-child{grid-column:auto;display:block}.program-card:last-child img{height:220px}.program-card p{min-height:0}}
.hero{width:100%;aspect-ratio:1372/572}
@media(max-width:900px){.hero{aspect-ratio:auto;width:100%}}
.program-intro{max-width:800px;color:#d8e0e2;font-size:clamp(16px,1.5vw,19px);line-height:1.5;margin:14px 0 23px}
.asan-logo-groups{display:grid;gap:28px;margin:23px 0}
.asan-logo-group h3{font:700 13px/1.2 Ubuntu,Arial,sans-serif;letter-spacing:.14em;color:#b55434;margin:0 0 11px}
.ecosystem .asan-logo-group .logo-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin:0}
.ecosystem .asan-logo-group .logo-card{height:150px;min-height:150px;border:1px solid #d9d5ce;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px}
.ecosystem .asan-logo-group .logo-card img,.ecosystem .asan-logo-group .logo-card img[alt="SeaCastle Insurance logo"]{width:100%;height:110px;max-width:210px;object-fit:contain}
.asan-router-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:25px}
.asan-router-card{min-width:0;border:1px solid #d6d5d1;border-top:3px solid #c86643;border-radius:5px;background:#fff;padding:25px;display:flex;flex-direction:column;min-height:270px}
.asan-router-card small{font-size:12px;line-height:1.3;color:#b45436;letter-spacing:.12em;font-weight:700}
.asan-router-card h3{font:700 clamp(22px,2vw,28px)/1.12 Ranade,Ubuntu,sans-serif;margin:15px 0 10px}
.asan-router-card p{font-size:16px;line-height:1.5;color:#435469;margin:0 0 20px}
.asan-router-card a{margin-top:auto;color:#ac4f32;font-weight:700;text-decoration:none}
.asan-router-card a:hover{text-decoration:underline}
@media(max-width:900px){.asan-router-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.asan-router-grid{grid-template-columns:1fr}.asan-router-card{min-height:0}.ecosystem .asan-logo-group .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecosystem .asan-logo-group .logo-card{height:126px;min-height:126px}.ecosystem .asan-logo-group .logo-card img{height:88px}}
