/* PB50 Home page template */
.pb50{background:var(--pb-bg); color:var(--pb-text); font-family:var(--pb-body)}
.pb50 *{box-sizing:border-box}
.pb50 h1,.pb50 h2,.pb50 h3{font-family:var(--pb-display); color:var(--pb-navy); margin:0; line-height:1.08; letter-spacing:-.015em; text-wrap:balance}
.pb50 h1{font-size:clamp(2.3rem,5.4vw,4.1rem); font-weight:800}
.pb50 h2{font-size:clamp(1.75rem,3.4vw,2.6rem); font-weight:800; margin-top:10px}
.pb50 h3{font-size:1.25rem; font-weight:700}
.pb50 p{margin:0}
.pb50-wrap{max-width:1180px; margin:0 auto; padding-left:max(16px,env(safe-area-inset-left,0px)); padding-right:max(16px,env(safe-area-inset-right,0px))}
.pb50-section{padding-block:clamp(56px,8vw,104px)}
.pb50-section--flush{padding-top:0}
.pb50-tint{background:var(--pb-surface-2); border-block:1px solid var(--pb-line)}
.pb50-narrow{max-width:22ch}
.pb50-stack{display:flex; flex-direction:column; gap:20px}
.pb50-eyebrow{font:500 .76rem/1.2 var(--pb-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--pb-leaf)}
.pb50-lead{font-size:1.15rem; color:var(--pb-muted); max-width:62ch}

.pb50-band{background:radial-gradient(1200px 500px at 85% -10%,#0B5A8F 0%,transparent 60%),linear-gradient(180deg,var(--pb-navy),var(--pb-navy-deep)); color:#F2F6F9}
.pb50-band h1,.pb50-band h2,.pb50-band h3{color:#F2F6F9}
.pb50-band .pb50-eyebrow{color:var(--pb-sun)}
.pb50-band .pb50-lead{color:#B8C9D6}

.pb50-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font:700 1rem/1 var(--pb-body); padding:15px 24px; border-radius:999px; border:2px solid transparent; text-decoration:none!important; transition:transform .15s,background .15s}
.pb50-btn:hover{transform:translateY(-1px)}
.pb50-btn--sun{background:var(--pb-sun); color:var(--pb-navy-deep)!important; box-shadow:0 6px 18px rgba(245,169,12,.35)}
.pb50-btn--sun:hover{background:#FFB823}
.pb50-btn--ghost{border-color:currentColor; color:#F2F6F9!important}
.pb50-btn--line{border-color:var(--pb-line); color:var(--pb-navy)!important; background:#fff}
.pb50-cta{display:flex; gap:12px; flex-wrap:wrap}

.pb50-hero__grid{display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; padding-block:clamp(48px,7vw,96px)}
.pb50-hero .hl{color:var(--pb-sun)} .pb50-hero .hl2{color:#9FD36A}
.pb50-meta{display:flex; gap:28px; flex-wrap:wrap; padding-top:22px; border-top:1px solid rgba(255,255,255,.14)}
.pb50-meta div{display:flex; flex-direction:column}
.pb50-meta b{font:800 1.5rem/1 var(--pb-display)}
.pb50-meta span{font-size:.85rem; color:#B8C9D6}
.pb50-loop{width:100%; max-width:520px; justify-self:center}
.pb50-spin{transform-origin:260px 260px; animation:pb50spin 60s linear infinite}
@keyframes pb50spin{to{transform:rotate(360deg)}}
@media (max-width:900px){.pb50-hero__grid{grid-template-columns:1fr}.pb50-loop{max-width:420px}}

.pb50-bilum{height:18px; background:
  linear-gradient(135deg,var(--pb-sun) 25%,transparent 25%) -9px 0/18px 18px,
  linear-gradient(225deg,var(--pb-sun) 25%,transparent 25%) -9px 0/18px 18px,
  linear-gradient(315deg,var(--pb-clay) 25%,transparent 25%) 0 0/18px 18px,
  linear-gradient(45deg,var(--pb-clay) 25%,transparent 25%) 0 0/18px 18px,var(--pb-leaf)}

.pb50-why{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:44px}
.pb50-why article{display:flex; flex-direction:column; gap:10px; padding-top:20px; border-top:3px solid var(--pb-leaf)}
.pb50-why article:nth-child(2){border-color:var(--pb-sun)} .pb50-why article:nth-child(3){border-color:var(--pb-clay)}
.pb50-why .big{font:800 2.4rem/1 var(--pb-display); color:var(--pb-navy)}
.pb50-why p{color:var(--pb-muted)}

.pb50-programs{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px}
.pb50-prog{background:#fff; border:1px solid var(--pb-line); border-radius:var(--pb-radius); padding:26px 22px; display:flex; flex-direction:column; gap:12px; transition:transform .2s,border-color .2s}
.pb50-prog:hover{border-color:var(--c); transform:translateY(-3px)}
.pb50-prog__ic{width:52px; height:52px; border-radius:12px; display:grid; place-items:center; background:color-mix(in srgb,var(--c) 14%,transparent); color:var(--c)}
.pb50-prog__dot{width:44px; height:44px; border-radius:12px; background:color-mix(in srgb,var(--c) 16%,transparent); box-shadow:inset 0 0 0 10px color-mix(in srgb,var(--c) 10%,transparent), inset 0 0 0 14px var(--c)}
.pb50-prog p{color:var(--pb-muted); font-size:.96rem}
.pb50-prog__tag{margin-top:auto; font:500 .72rem/1 var(--pb-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--pb-muted)}

.pb50-feat{display:grid; grid-template-columns:1.1fr .9fr; background:#fff; border:1px solid var(--pb-line); border-radius:22px; overflow:hidden; margin-top:20px; box-shadow:var(--pb-shadow)}
.pb50-feat__art img{width:100%; height:100%; object-fit:cover; display:block; min-height:300px}
.pb50-feat__art:empty{background:linear-gradient(135deg,var(--pb-navy-deep),var(--pb-leaf))}
.pb50-feat__body{padding:clamp(24px,4vw,44px); display:flex; flex-direction:column; gap:16px}
.pb50-feat__body p{color:var(--pb-muted)}
.pb50-raised{font:800 2.5rem/1 var(--pb-display); color:var(--pb-navy)}

.pb50-bar{height:10px; border-radius:99px; background:var(--pb-surface-2); border:1px solid var(--pb-line); overflow:hidden}
.pb50-bar span{display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--pb-leaf),var(--pb-lime) 70%,var(--pb-sun))}
.pb50-stats{display:flex; justify-content:space-between; gap:10px; font-size:.9rem; color:var(--pb-muted); font-variant-numeric:tabular-nums}
.pb50-stats b{color:var(--pb-navy)}

.pb50-camps{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px}
.pb50-camp{background:#fff; border:1px solid var(--pb-line); border-radius:var(--pb-radius); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s,transform .2s}
.pb50-camp:hover{box-shadow:var(--pb-shadow); transform:translateY(-3px)}
.pb50-camp__art{display:block; aspect-ratio:16/9; overflow:hidden}
.pb50-camp__art img{width:100%; height:100%; object-fit:cover}
.pb50-camp__placeholder{display:block; height:100%; background:linear-gradient(135deg,var(--pb-navy-deep),var(--pb-leaf))}
.pb50-camp__body{padding:20px 22px 22px; display:flex; flex-direction:column; gap:12px; flex:1}
.pb50-camp__body h3 a{color:var(--pb-navy)!important; text-decoration:none}
.pb50-camp__body p{color:var(--pb-muted); font-size:.95rem}
.pb50-camp__where{font:500 .74rem/1 var(--pb-mono); letter-spacing:.06em; text-transform:uppercase; color:var(--pb-muted)}
.pb50-camp__foot{margin-top:auto; display:flex; flex-direction:column; gap:14px}
.pb50-camp__actions{display:flex; gap:10px}
.pb50-camp__actions .pb50-btn--sun{flex:1}

.pb50-align{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.12); border-radius:var(--pb-radius); overflow:hidden; margin-top:40px}
.pb50-align div{background:var(--pb-navy-deep); padding:24px; display:flex; flex-direction:column; gap:8px}
.pb50-align .k{font:500 .72rem/1 var(--pb-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--pb-sun)}
.pb50-align b{font:700 1.1rem/1.25 var(--pb-display)}
.pb50-align p{color:#B8C9D6; font-size:.93rem}

.pb50-trust{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px}
.pb50-trust article{background:#fff; border:1px solid var(--pb-line); border-radius:var(--pb-radius); padding:24px; display:flex; flex-direction:column; gap:10px}
.pb50-trust .k{font:500 .74rem/1.3 var(--pb-mono); color:var(--pb-muted); letter-spacing:.06em; text-transform:uppercase}
.pb50-trust b{font:700 1.12rem/1.3 var(--pb-display); color:var(--pb-navy)}
.pb50-trust p{color:var(--pb-muted); font-size:.94rem}

@media (max-width:1020px){.pb50-programs{grid-template-columns:repeat(2,1fr)}.pb50-camps{grid-template-columns:repeat(2,1fr)}.pb50-align{grid-template-columns:1fr 1fr}}
@media (max-width:820px){.pb50-why,.pb50-trust,.pb50-feat{grid-template-columns:1fr}}
@media (max-width:620px){.pb50-programs,.pb50-camps,.pb50-align{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.pb50-spin{animation:none}}
