/* Hamzah Family Portal v19 — Living Heritage */
:root{
  --v19-paper:#fffaf2;
  --v19-ink:#30261f;
  --v19-forest:#285b43;
  --v19-gold:#e4a92f;
  --v19-card:rgba(31,24,20,.72);
  --v19-line:rgba(255,255,255,.24);
  --v19-radius:28px;
  --v19-shadow:0 24px 70px rgba(20,13,9,.25);
}
body.portal-app{background:var(--v19-paper)}
.portal-topbar{min-height:88px;padding:10px clamp(22px,4vw,70px)!important;background:rgba(255,250,242,.94)!important;border-bottom:1px solid rgba(76,54,38,.1);backdrop-filter:blur(18px)}
.portal-brand img{width:52px;height:52px;object-fit:contain;border-radius:0;box-shadow:none}
.portal-brand span strong{font-family:Lora,serif;letter-spacing:.07em;color:var(--v19-forest)}
.portal-brand span small{letter-spacing:.18em;color:#64584d}
.portal-nav{gap:clamp(18px,2.2vw,34px)}
.portal-nav a{font-weight:700;color:#342b25!important;text-transform:uppercase;font-size:.73rem;letter-spacing:.055em}

.v19-hero{min-height:clamp(650px,78vh,850px)!important;height:auto!important;padding:0!important;display:grid!important;align-items:center;overflow:visible!important;background-position:center 42%!important}
.v19-hero .home-hero-shade{background:linear-gradient(90deg,rgba(12,16,13,.88) 0%,rgba(12,16,13,.66) 42%,rgba(16,15,12,.3) 72%,rgba(16,15,12,.18) 100%)!important}
.v19-hero-inner{position:relative;z-index:2;width:min(1400px,calc(100% - 56px));margin:0 auto;padding:86px 0 110px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);gap:clamp(54px,7vw,112px);align-items:center}
.v19-hero-copy{min-width:0;max-width:760px}
.v19-hero-copy .eyebrow{color:#fff!important;font-size:.82rem;letter-spacing:.24em!important;margin:0 0 24px}
.v19-hero-copy h1{font-family:Lora,serif!important;font-size:clamp(4rem,7vw,7.4rem)!important;line-height:.86!important;letter-spacing:-.055em!important;margin:0;color:#fff!important;max-width:780px;text-wrap:balance}
.v19-flourish{display:flex;align-items:center;gap:10px;color:var(--v19-gold);margin:26px 0 22px}.v19-flourish span{width:42px;height:2px;background:var(--v19-gold)}.v19-flourish b{font-size:1.7rem;font-weight:400}
.v19-hero-copy .home-lead{max-width:650px!important;font-size:clamp(1.05rem,1.5vw,1.32rem)!important;line-height:1.5!important;margin:0 0 28px!important;color:rgba(255,255,255,.94)!important;text-shadow:0 2px 16px rgba(0,0,0,.4)}
.v19-hero .hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:26px}
.v19-hero .hero-actions a{min-height:58px;padding:0 27px!important;display:inline-flex;align-items:center;gap:11px;border-radius:999px!important;font-size:1rem;font-weight:750;text-decoration:none}
.v19-hero .portal-primary b{font-size:1.25rem;transition:transform .2s}.v19-hero .portal-primary:hover b{transform:translateX(4px)}

.v19-event-card{width:100%;max-width:560px;justify-self:end;background:linear-gradient(145deg,rgba(38,29,24,.82),rgba(31,27,23,.66));border:1px solid rgba(255,255,255,.33);border-radius:30px;padding:38px 34px 28px;color:#fff;box-shadow:var(--v19-shadow);backdrop-filter:blur(18px) saturate(115%)}
.v19-event-heading{text-align:center;padding-bottom:27px;border-bottom:1px solid var(--v19-line)}
.v19-event-heading p{margin:0 0 15px;color:#efbd48!important;text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.77rem}.v19-event-heading p span{margin-right:8px}
.v19-event-heading h2{font-family:Lora,serif;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:500;color:#fff!important;margin:0 0 8px}.v19-event-heading>span{font-size:.98rem;color:rgba(255,255,255,.9)}
.v19-event-card .home-countdown{position:static!important;transform:none!important;width:100%!important;margin:22px 0 0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(4,1fr);background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important}
.v19-event-card .home-countdown>div{padding:12px 8px 14px;border-right:1px solid var(--v19-line)}.v19-event-card .home-countdown>div:last-child{border-right:0}
.v19-event-card .home-countdown strong{font-family:Lora,serif;font-size:clamp(2.2rem,3.5vw,3.3rem)!important;font-weight:400;color:#fff!important;line-height:1}.v19-event-card .home-countdown span{display:block;margin-top:12px;color:rgba(255,255,255,.78)!important;font-size:.7rem;text-transform:uppercase;letter-spacing:.13em}
.v19-event-card .event-status{position:static!important;margin:8px 0 0!important;text-align:center;color:rgba(255,255,255,.78)!important;min-height:1.2em}
.v19-event-note{border-top:1px solid var(--v19-line);margin:20px 0 0;padding:21px 0 0;text-align:center;font-family:Lora,serif;font-style:italic;font-size:1.12rem;color:rgba(255,255,255,.88)!important}.v19-event-note span{color:#efbd48;font-size:1.35rem;margin-left:6px}

.v19-stat-ribbon{position:relative;z-index:5;margin-top:-54px!important;background:linear-gradient(110deg,#fffdf8,#eee6d9);border:1px solid rgba(94,69,49,.13);border-radius:24px;padding:24px 30px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 18px 48px rgba(54,38,27,.15)}
.v19-stat-ribbon article{display:flex;align-items:center;gap:18px;padding:0 28px;border-right:1px solid rgba(85,64,49,.15);min-width:0}.v19-stat-ribbon article:first-child{padding-left:8px}.v19-stat-ribbon article:last-of-type{border-right:0;padding-right:8px}
.v19-stat-icon{flex:0 0 52px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.35rem;background:var(--v19-forest)}
.v19-stat-ribbon article:nth-child(2) .v19-stat-icon{background:#bf6045}.v19-stat-ribbon article:nth-child(3) .v19-stat-icon{background:#d89a23}.v19-stat-ribbon article:nth-child(4) .v19-stat-icon{background:#71527d}
.v19-stat-ribbon article div{min-width:0}.v19-stat-ribbon strong{font-family:Lora,serif;font-size:1.75rem;font-weight:500;color:var(--v19-ink)!important;line-height:1}.v19-stat-ribbon small{display:block;margin-top:6px;color:#3d342e!important;font-size:.83rem;font-weight:700}.v19-stat-ribbon em{display:block;max-width:150px;margin-top:4px;color:#85796e!important;font-size:.62rem;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-stack{padding-top:72px!important}.welcome-note{padding-top:10px}.welcome-note:before{display:none!important}

@media(max-width:1100px){
 .v19-hero-inner{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:38px;width:min(100% - 40px,1200px)}
 .v19-hero-copy h1{font-size:clamp(3.5rem,7.2vw,5.8rem)!important}
 .v19-event-card{padding:30px 24px 24px}
 .v19-stat-ribbon{grid-template-columns:repeat(2,1fr);gap:0;padding:10px 20px}.v19-stat-ribbon article{padding:20px;border-right:0;border-bottom:1px solid rgba(85,64,49,.13)}.v19-stat-ribbon article:nth-last-of-type(-n+2){border-bottom:0}
}
@media(max-width:820px){
 .portal-topbar{min-height:72px}.v19-hero{min-height:auto!important}.v19-hero .home-hero-shade{background:linear-gradient(180deg,rgba(10,13,11,.73),rgba(10,13,11,.86))!important}
 .v19-hero-inner{grid-template-columns:1fr;width:min(100% - 34px,680px);padding:74px 0 100px;gap:38px}
 .v19-hero-copy{max-width:none}.v19-hero-copy h1{font-size:clamp(3.5rem,15vw,5.4rem)!important}.v19-hero-copy .home-lead{font-size:1.04rem!important}
 .v19-event-card{justify-self:stretch;max-width:none}
 .v19-stat-ribbon{margin-top:-52px!important;width:calc(100% - 30px)!important}
}
@media(max-width:560px){
 .v19-hero-inner{width:calc(100% - 28px);padding:54px 0 82px}.v19-hero-copy h1{font-size:clamp(3.2rem,16vw,4.55rem)!important;line-height:.9!important}
 .v19-hero .hero-actions{display:grid}.v19-hero .hero-actions a{width:100%;justify-content:center}
 .v19-event-card{border-radius:23px;padding:27px 15px 22px}.v19-event-card .home-countdown strong{font-size:2rem!important}.v19-event-card .home-countdown span{font-size:.58rem;letter-spacing:.08em}.v19-event-card .home-countdown>div{padding-inline:3px}
 .v19-stat-ribbon{grid-template-columns:1fr;padding:8px 20px;margin-top:-40px!important}.v19-stat-ribbon article,.v19-stat-ribbon article:first-child,.v19-stat-ribbon article:last-of-type{padding:17px 4px;border-bottom:1px solid rgba(85,64,49,.13)}.v19-stat-ribbon article:last-of-type{border-bottom:0}.v19-stat-icon{width:47px;height:47px;flex-basis:47px}.home-stack{padding-top:50px!important}
}
