:root{--primary:#f45b1f;--dark:#121212;--accent:#f2b84b;--cream:#fff8ed;--text:#645d57}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--dark);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}
button{padding:14px 20px;border:0;border-radius:999px;background:var(--primary);color:#fff;font-weight:850;cursor:pointer}
img{display:block;width:100%;object-fit:cover}
.demo-bar{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:7px 4%;background:#0d0d0d;color:#fff;font-size:12px}
.demo-bar label{display:flex;align-items:center;gap:9px}
.demo-bar select{padding:7px;border:1px solid #444;border-radius:6px;background:#222;color:#fff}
.demo-buy{padding:9px 15px;border-radius:99px;background:#82b440;font-weight:800}
header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:18px 5%;border-bottom:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.92);backdrop-filter:blur(16px)}
.logo{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:900}
.logo b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--dark);color:var(--accent);font-size:12px}
nav{display:flex;gap:28px;font-size:13px;font-weight:750}
.demo-hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;min-height:720px;overflow:hidden;padding:80px 5%;background:var(--dark);color:#fff}
.hero-copy>small,.section-title small,.story small,.cta small{color:var(--primary);font-size:11px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase}
.hero-copy h1{max-width:720px;margin:18px 0;font-size:clamp(56px,7vw,92px);line-height:.95;letter-spacing:-5px}
.hero-copy>p{max-width:600px;color:#c8c3be;font-size:18px;line-height:1.7}
.hero-copy>div{display:flex;align-items:center;gap:25px;margin-top:28px}
.hero-copy>div a{font-size:13px;font-weight:800}
.hero-copy ul{display:flex;gap:30px;margin:50px 0 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.14);list-style:none;color:#aaa;font-size:11px}
.hero-copy li{display:flex;flex-direction:column}
.hero-copy li b{color:#fff;font-size:19px}
.hero-image{position:relative;margin-left:7%}
.hero-image>img{height:590px;border-radius:150px 24px}
.hero-image aside{position:absolute;left:-45px;bottom:35px;width:240px;padding:22px;border-radius:18px;background:#fff;color:var(--dark);box-shadow:0 30px 80px rgba(0,0,0,.3)}
.hero-image aside small,.hero-image aside strong,.hero-image aside em{display:block}
.hero-image aside strong{margin:8px 0;font-size:18px}
.hero-image aside i,.causes article i{display:block;height:7px;border-radius:10px;background:#e9e4df}
.hero-image aside i span,.causes article i span{display:block;width:68%;height:100%;border-radius:10px;background:var(--primary)}
.hero-image aside em{margin-top:7px;color:var(--text);font-size:10px;font-style:normal}
.cause-section{padding:110px 5%;background:#fffdf9}
.section-title{max-width:760px}
.section-title h2,.story h2,.cta h2{margin:14px 0 42px;font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-3px}
.causes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.causes article{overflow:hidden;border:1px solid #eee4db;border-radius:22px;background:#fff;box-shadow:0 15px 45px rgba(0,0,0,.06);transition:.3s}
.causes article:hover{transform:translateY(-8px)}
.causes article img{height:250px}
.causes article div{padding:24px}
.causes small{color:var(--primary);font-weight:800}
.causes h3{font-size:24px}
.causes p{min-height:68px;color:var(--text);font-size:14px;line-height:1.6}
.causes button{margin-top:20px}
.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:110px 7%;background:var(--cream)}
.story>img{height:560px;border-radius:30px}
.story p{color:var(--text);font-size:17px;line-height:1.8}
.story a{color:var(--primary);font-weight:850}
.cta{padding:120px 7%;background:var(--primary);color:#fff;text-align:center}
.cta small{color:var(--accent)}
.cta h2{max-width:900px;margin:18px auto 32px}
.cta button{background:var(--accent);color:var(--dark)}
footer{display:flex;justify-content:space-between;padding:40px 5%;background:var(--dark);color:#999;font-size:12px}
.layout-classic .demo-hero{display:block;text-align:center}
.layout-classic .hero-copy{max-width:900px;margin:auto}
.layout-classic .hero-copy>p{margin-inline:auto}
.layout-classic .hero-copy>div,.layout-classic .hero-copy ul{justify-content:center}
.layout-classic .hero-image{max-width:920px;margin:60px auto 0}
.layout-classic .hero-image>img{height:480px;border-radius:20px}
.layout-story .hero-image{order:-1;margin:0 7% 0 0}
.layout-story .hero-image>img{border-radius:22px 50%}
.layout-clinical .demo-hero,.layout-warm .demo-hero{background:var(--cream);color:var(--dark)}
.layout-clinical .hero-copy>p,.layout-warm .hero-copy>p{color:var(--text)}
.layout-clinical .hero-copy li b,.layout-warm .hero-copy li b{color:var(--dark)}
.layout-clinical .hero-image>img{border-radius:18px}
.layout-creative .hero-copy h1{font-family:Georgia,serif;font-style:italic}
.layout-creative .hero-image>img{border-radius:50px 8px}
.layout-dynamic .hero-image>img{border-radius:0;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.layout-urgent .demo-hero{background:linear-gradient(120deg,var(--dark),#5b151b)}
@media(max-width:850px){nav{display:none}
.demo-hero,.story{grid-template-columns:1fr}
.hero-image,.layout-story .hero-image{order:initial;margin:55px 0 0}
.causes{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.demo-bar label{display:none}
header{padding-inline:18px}
.demo-hero{padding:65px 22px}
.hero-copy h1{font-size:55px}
.hero-copy ul{flex-wrap:wrap}
.hero-image>img{height:410px}
.hero-image aside{left:10px}
.cause-section,.story{padding:75px 22px}
.causes{grid-template-columns:1fr}
footer{gap:20px;flex-direction:column}
}

/* Shared navigation and inner-page system used by every Charity Hope demo. */
.demo-header{gap:22px;padding-block:13px}.demo-header nav{display:flex;align-items:center;justify-content:center;gap:15px;flex:1;font-size:11px;white-space:nowrap}.demo-header nav>a,.nav-group>summary{padding:9px 2px;font-weight:800;cursor:pointer;list-style:none}.nav-group{position:relative}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:after{content:"⌄";margin-left:5px;color:var(--primary)}.dropdown{position:absolute;left:-15px;top:calc(100% + 8px);z-index:20;display:grid;min-width:190px;padding:10px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fff;color:var(--dark);box-shadow:0 18px 45px rgba(0,0,0,.16)}.dropdown a{padding:8px 10px;border-radius:7px;font-weight:700}.dropdown a:hover,.dropdown a:focus{background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary)}.home-dropdown,.pages-dropdown{grid-template-columns:repeat(2,minmax(145px,1fr));min-width:330px}.nav-toggle{display:none}.header-donate,.action-button{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:999px;background:var(--primary);color:#fff!important;font-weight:850;line-height:1.2}.header-donate{flex:none}.action-light{background:#fff;color:var(--dark)!important}
.inner-hero{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:70px;min-height:520px;padding:85px 7%;background:var(--dark);color:#fff}.inner-hero small,.inner-hero h1,.inner-hero p,.inner-hero a{color:#fff}.inner-hero small{font-size:11px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase}.inner-hero h1{max-width:800px;margin:16px 0 24px;font-size:clamp(52px,7vw,88px);line-height:.97;letter-spacing:-4px}.inner-hero p{max-width:660px;margin:0;color:rgba(255,255,255,.82);font-size:18px;line-height:1.7}.inner-hero img{height:390px;border:7px solid rgba(255,255,255,.85);border-radius:24px}.inner-content{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding:105px 7%;background:#fffdf9}.inner-copy small{color:var(--primary);font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}.inner-copy h2{margin:12px 0 22px;font-size:clamp(40px,5vw,62px);line-height:1}.inner-copy p{color:var(--text);line-height:1.8}.inner-copy .action-button{margin-top:14px}.inner-cards{display:grid;gap:15px}.inner-cards article{padding:28px;border:1px solid #e9e0d8;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.05)}.inner-cards span{color:var(--primary);font-weight:900}.inner-cards h3{margin:8px 0;font-size:23px}.inner-cards p{margin:0;color:var(--text)}
.demo-hero,.demo-hero h1,.demo-hero h2,.demo-hero a,.demo-hero li,.demo-hero label,.cta,.cta h2,.cta p,.cta a,.cta label,footer,footer b,footer a,.demo-bar,.demo-bar a,.demo-bar label{color:#fff}.demo-hero .hero-copy>p,.demo-hero .hero-copy li{color:rgba(255,255,255,.78)}footer span{color:rgba(255,255,255,.68)}
@media(max-width:1100px){.demo-header{flex-wrap:wrap}.demo-header nav{order:3;width:100%;flex-basis:100%}}
@media(max-width:850px){.nav-toggle{display:inline-flex;margin-left:auto}.header-donate{display:none}.demo-header nav{position:absolute;left:0;right:0;top:100%;display:none;max-height:calc(100vh - 110px);overflow:auto;padding:16px 20px;background:#fff;box-shadow:0 15px 35px rgba(0,0,0,.14);white-space:normal}.demo-header nav.is-open{display:grid;gap:2px}.nav-group>summary,.demo-header nav>a{display:block;padding:12px}.nav-group{width:100%}.dropdown{position:static;min-width:0;margin:0 0 8px;box-shadow:none}.home-dropdown,.pages-dropdown{grid-template-columns:1fr 1fr}.inner-hero,.inner-content{grid-template-columns:1fr}.inner-hero{padding:70px 6%}.inner-hero img{height:360px}.inner-content{gap:45px;padding:75px 6%}}
@media(max-width:560px){.home-dropdown,.pages-dropdown{grid-template-columns:1fr}.inner-hero h1{font-size:50px;letter-spacing:-2.5px}.inner-hero img{height:280px}.inner-content{padding-inline:22px}}
.charity-site{--primary:#f45b1f;--dark:#121212;--accent:#f2b84b}.charity-site-logo img{width:170px;height:auto}.charity-content-main{min-height:70vh;background:#fffdf9}.charity-breadcrumbs{display:flex;gap:9px;padding:20px 7%;background:#f8efe5;color:#655d56;font-size:12px}.charity-breadcrumbs a{color:var(--primary);font-weight:800}.content-hero{padding:90px 7%;background:var(--dark);color:#fff}.content-hero small,.content-hero h1,.content-hero p,.content-hero a{color:#fff}.content-hero small{font-weight:900;letter-spacing:1.8px;text-transform:uppercase}.content-hero h1{max-width:900px;margin:15px 0;font-size:clamp(52px,7vw,88px);line-height:.96;letter-spacing:-4px}.content-hero p{max-width:720px;color:rgba(255,255,255,.8);font-size:18px;line-height:1.7}.detail-hero{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:65px}.detail-hero img{height:390px;border-radius:24px}.content-listing{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:80px 7%}.charity-list-card{overflow:hidden;border:1px solid #eadfd4;border-radius:20px;background:#fff}.charity-list-card>img{height:230px}.charity-list-card>div{padding:25px}.charity-list-card small{color:var(--primary);font-weight:900;text-transform:uppercase}.charity-list-card h2{font-size:27px;line-height:1.1}.charity-list-card p{color:var(--text)}.detail-content,.page-content-grid{display:grid;grid-template-columns:1fr .55fr;gap:70px;padding:85px 7%}.detail-content article,.page-content-grid>article{color:var(--text);font-size:17px;line-height:1.8}.detail-content h2,.page-content-grid h2{color:var(--dark);font-size:38px}.donation-panel,.page-side{align-self:start;padding:30px;border-radius:20px;background:#fff;border:1px solid #eadfd4;box-shadow:0 15px 40px rgba(0,0,0,.06)}.donation-panel label,.donation-panel select{display:block;width:100%}.donation-panel select{margin:8px 0 18px;padding:13px;border:1px solid #d8cec4;border-radius:9px}.page-side img{height:230px;margin-bottom:25px;border-radius:14px}.page-side a{display:block;padding:11px 0;border-bottom:1px solid #eee;color:var(--primary);font-weight:800}.embedded-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:35px}.embedded-grid article{padding:22px;border:1px solid #eadfd4;border-radius:14px;background:#fff}.embedded-grid h3{margin-top:0}.embedded-grid p{font-size:14px}.charity-site footer{align-items:center}.charity-site footer nav{display:flex;gap:18px}.charity-site footer,.charity-site footer b,.charity-site footer a,.charity-site footer span{color:#fff}
@media(max-width:900px){.content-listing{grid-template-columns:1fr 1fr}.detail-hero,.detail-content,.page-content-grid{grid-template-columns:1fr}.charity-site footer{align-items:flex-start;flex-direction:column}.charity-site footer nav{flex-wrap:wrap}}
@media(max-width:560px){.content-listing,.embedded-grid{grid-template-columns:1fr}.content-hero,.content-listing,.detail-content,.page-content-grid{padding-inline:22px}.detail-hero img{height:280px}}
