/* ========== VARIABLES & RESET ========== */
.wrap{max-width:1200px;margin:0 auto;}
.hero{position:relative;}
.hero__media{position:relative;min-height:56vh;background-size:cover;background-position:center;}
.hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;z-index:1;}
.hero__title{text-align:center;padding:0 20px;}
.hero__subtitle{color:#fffaf7;text-align:center;}
p.hero__subtitle{margin-bottom:100px;}
p.home-about__cta{margin-top:20px;}
.hero__partners{position:absolute;left:50%;bottom:0;padding-bottom:40px;transform:translateX(-50%);z-index:2;text-align:center;width:100%;}
.hero__divider{border:0;height:1px;background:rgba(255,255,255,.7);margin:0 20px 40px;}
.partners__list{display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:20px;list-style:none;margin:0;padding:0;overflow-x:auto;}
.partners__item img{display:block;max-height:38px;width:auto;filter:grayscale(100%);opacity:.9;transition:.2s ease;}
.partners__item a:hover img{filter:none;opacity:1;}
.home-grid{display:grid;gap:20px;}
.home-posts,.cards{display:contents;}
.btn--ghost{background:#fff;border:1px solid #ddd;color:#333;}
.card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.03);display:flex;flex-direction:column;}
.card__media{position:relative;overflow:hidden;aspect-ratio:16/9;}
.card__media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.card__body{display:flex;flex-direction:column;gap:10px;padding:16px 16px 20px;flex:1 1 auto;}
.card__title{margin:4px 0 8px;font-size:1.1rem;}
.card__excerpt{color:#555;margin:0;display:-webkit-box;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}
.card__cta{margin-top:auto;padding-top:8px;}
.card__excerpt.is-expanded{line-clamp:3;-webkit-line-clamp:unset;max-height:none;}
.card__toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;padding:0;color:#666;cursor:pointer;font-weight:600;}
.card__toggle .caret{display:inline-block;transition:transform .15s ease;}
.card__toggle[aria-expanded="true"] .caret{transform:rotate(180deg);}

/* ========== ABOUT US ========== */
.aboutus--intro{padding-top:150px;}
.aboutus__split{display:grid;grid-template-columns:.25fr 1.4fr;gap:24px;align-items:stretch;}
.aboutus__media{overflow:hidden;margin:20px 0;align-self:stretch;display:grid;place-items:center;}
.aboutus__media img{height:100%;width:auto;max-width:100%;object-fit:cover;object-position:center;display:block;}
.aboutus__side{display:flex;flex-direction:column;gap:14px;}
.aboutus__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;list-style:none;margin:6px 0 0;padding:0;}
.aboutus__stat{text-align:center;}
.aboutus__statNum{display:block;font-weight:800;font-size:clamp(28px,4.3vw,48px);line-height:1;color:var(--c-accent);letter-spacing:.01em;margin-bottom:6px;}
.aboutus__statLab{display:block;font-size:14px;text-transform:uppercase;font-weight:600;color:#333;letter-spacing:.02em;}
.aboutus__grid.cards{display:grid;}
.aboutus__grid{grid-template-columns:repeat(4,1fr);gap:24px;}
.aboutus__communityRow{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;align-items:center;}
.aboutus__communityItem{justify-items:center;text-align:center;}
.aboutus__communityIcon{width:56px;height:auto;margin:0 0 10px;display:block;}
.aboutus__communityItem h3{font-size:20px;margin-bottom:6px;}
.aboutus__communityItem p{color:#555;}
.aboutus__communityItem--center{display:flex;align-items:center;justify-content:center;text-align:center;}
.aboutus__communityItem{display: grid;justify-items: center;text-align: center;}
.aboutus__communityIcon{display: block;margin: 0 auto 10px;}
.aboutus__partners{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px;align-items:start;}
.aboutus__partner{text-align:center;padding:10px 6px;}
.aboutus__partnerLogo{height:72px;width:auto;max-width:100%;object-fit:contain;object-position:center;display:block;margin:0 auto 10px;}
.aboutus__partner h3{font-size:18px;margin-bottom:8px;text-transform:uppercase;}
.aboutus__partner p{color:#555;font-size:14px;}

/* ========== DISC IN CAMP ========== */
.camp__intro{margin:0 0 20px;}
.camp__intro p{margin:0 0 10px;}
.camp__features.cards{display:grid;}
.camp__features{grid-template-columns:repeat(4,1fr);gap:24px;}
.camp__feature .card__body{align-items:center;text-align:center;}
.camp__featureIcon{width:auto;height:128px;display:block;margin:2px auto 8px;}
.camp__feature h3{text-transform:uppercase;}
.camp__feature .card__excerpt a{color:var(--c-accent);text-decoration:underline;}
.section--fullbleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.camp-video__inner{position:relative;width:100vw;max-width:100%;overflow:hidden;}
.camp-video__inner iframe,.camp-video__inner video{display:block;width:100%;height:auto;aspect-ratio:16/9;}
.text-justify p{text-align:justify;}
.aboutus__partner ul.card__excerpt{margin:0 !important;padding:0 !important;list-style: none !important;}

/* ========== DISC IN SCHOOL ========== */
.school--camps .school__intro{margin:0 0 20px;}
.schoolCamps.cards{display:grid;}
.schoolCamps{grid-template-columns:repeat(3,1fr);gap:24px;}
.schoolCard .card__media{position:relative;overflow:hidden;}
.schoolCard__badge{position:absolute;z-index:2;top:70px;left:-35px;transform:rotate(-45deg);transform-origin:left top;background:var(--c-accent);color:#fffaf7;font-weight:800;padding:5px 58px;box-shadow:0 4px 12px rgba(0,0,0,.18);text-transform:uppercase;pointer-events:none;}
.schoolCard__badge::before,.schoolCard__badge::after{content:"";position:absolute;top:0;bottom:0;width:12px;background:rgba(0,0,0,.12);}
.schoolCard__badge::before{left:0;clip-path:polygon(0 0,100% 0,0 100%);}
.schoolCard__badge::after{right:0;clip-path:polygon(100% 0,100% 100%,0 100%);}
.schoolCard__cta{white-space:nowrap;}
.schoolCard__specs{list-style:none;margin:6px 0 10px;padding:0;display:grid;grid-template-columns:1fr;gap:8px;}
.schoolCard__spec{display:flex;align-items:center;gap:8px;}
.schoolCard__specIcon{width:18px;height:18px;object-fit:contain;display:block;opacity:.9;}
.schoolCard__specText{font-size:.92rem;color:#444;}
.schoolBenefits{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 80px;align-items:start;}
.schoolBenefit{display:flex;align-items:flex-start;gap:14px;background:transparent;border:0;box-shadow:none;text-align:left;}
.schoolBenefit__icon{flex-shrink:0;width:80px;height:80px;object-fit:contain;padding:20px;border:1px solid var(--c-accent);border-radius:50%;background:transparent;}
.schoolBenefit__content{display:flex;flex-direction:column;gap:6px;}
.schoolBenefit__title{margin:0 0 6px;font-size:1.05rem;text-transform:uppercase;}

/* ========== DISC IN APP ========== */
.appStoreBtns{display:flex;gap:20px;justify-content:center;margin-top:20px;flex-wrap:wrap;}
.storeBtn{display:inline-flex;align-items:center;gap:10px;width:auto;min-width:fit-content;}
.storeBtn__logo{height:100%;max-height:36px;width:auto;display:block;}
.storeBtn__text{display:flex;flex-direction:column;justify-content:center;min-width:100px;}
.storeBtn__text small{width:auto;height:100%;font-size:10px;opacity:.8;margin-bottom:2px;}
.storeBtn__logo svg{width:auto;height:30px;fill:#FFFAF7;transition:fill .2s ease;}
.storeBtn:hover .storeBtn__logo svg{fill:#333;}
.appTools.cards{display:grid;}
.appTools{grid-template-columns:repeat(4,1fr);gap:24px;}
.appTool__body{align-items:center;text-align:center;}
.appTool__media{display:grid;place-items:center;margin:6px 0 10px;}
.appTool__media img{width:80%;height:auto;object-fit:contain;border-radius:20px;}
.section--fullbleed .camp-video__inner .wp-video, .section--fullbleed .camp-video__inner .mejs-container {width: 100% !important;max-width: none !important;height: auto !important;aspect-ratio: 16/9;}
.section--fullbleed .camp-video__inner .mejs-mediaelement, .section--fullbleed .camp-video__inner .mejs-layers {width: 100% !important;height: 100% !important;}
.section--fullbleed .camp-video__inner .wp-video-shortcode,
.section--fullbleed .camp-video__inner video {width: 100% !important;height: 100% !important;object-fit: cover;display: block;}

/* ========== CONTACT ========== */
.contactGrid{display:grid;grid-template-columns:1fr 1fr;gap:150px;align-items:center;}
.wpforms-container input,.wpforms-container select,.wpforms-container textarea,.wpforms-container button{font:inherit;}
.wpforms-container .wpforms-field{margin:0 0 18px;}
.wpforms-field .wpforms-field-label,.wpforms-field .wpforms-field-label-inline{display:block;margin:0 0 8px;font-weight:600;color:#222;line-height:1.2;}
.wpforms-required-label{color:#E78052;}
.wpforms-container input[type="text"],.wpforms-container input[type="email"],.wpforms-container input[type="url"],.wpforms-container input[type="tel"],.wpforms-container input[type="number"],.wpforms-container input[type="password"],.wpforms-container textarea{width:100%;border:1px solid rgba(0,0,0,.12);background:#fff;color:#333;border-radius:10px;padding:10px 12px;line-height:1.4;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;}
.wpforms-container input::placeholder,.wpforms-container textarea::placeholder{color:#9a9a9a;}
.wpforms-container input:focus,.wpforms-container textarea:focus{outline:0;border-color:var(--c-accent);box-shadow:0 4px 12px rgba(0,0,0,.10),0 0 0 3px rgba(231,128,82,.18);}
.wpforms-container textarea{min-height:130px;resize:vertical;}
.wpforms-field.wpforms-has-error{margin-bottom:22px;}
.wpforms-error{display:block;margin-top:6px;color:#E78052;font-style:italic;font-size:.95rem;}
.wpforms-container .wpforms-submit{appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:10px 20px;border-radius:10px;background:var(--c-accent);color:var(--c-on-accent);text-transform:uppercase;font-weight:600;line-height:1;box-shadow:var(--shadow-xy);transition:transform .15s ease,filter .15s ease,box-shadow .15s ease,background .15s ease;}
.wpforms-container .wpforms-submit:hover{background:#FFA67D;color:#333;filter:brightness(.98);transform:translateY(1px);}
.wpforms-container .wpforms-field-checkbox li,.wpforms-container .wpforms-field-radio li{margin:6px 0;}
.wpforms-container input[disabled],.wpforms-container textarea[disabled]{opacity:.6;cursor:not-allowed;}
.contactInfo h3{margin-bottom:10px;}
.contactItems{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px;}
.contactItem{display:flex;align-items:center;gap:10px;}
.contactItem__icon{width:18px;height:18px;object-fit:contain;opacity:.9;flex-shrink:0;}
.contactItem__link{color:#333;text-decoration:none;transition:border-color .2s ease,color .2s ease;}
.contactItem__link:hover{color:var(--c-accent);}
.contactSocials{display:flex;gap:20px;align-items:center;justify-content:flex-start;}
.contactSocial__icon svg{width:20px;height:20px;fill:#E78052;transition:fill .2s ease;}
.contactSocial:hover .contactSocial__icon svg{fill:#333;}
div.wpforms-recaptcha-container{margin-bottom:20px !important;}

/* ========== RESPONSIVE — DESKTOP ========== */
@media (min-width:1025px){.home-grid{grid-template-columns:repeat(4,1fr);}}
@media (min-width:1025px) and (max-width:1280px){.aboutus__grid{grid-template-columns:repeat(3,1fr);} .camp__features{grid-template-columns:repeat(3,1fr);} .schoolCamps{grid-template-columns:repeat(3,1fr);} .schoolBenefits{grid-template-columns:repeat(3,1fr);}}

/* ========== RESPONSIVE — TABLET ========== */
@media (min-width:769px) and (max-width:1024px){
  .home-grid{grid-template-columns:repeat(2,1fr);}
  p.hero__subtitle{margin-bottom:120px;}
  .partners__list{gap:16px;padding:0 20px;}
  .partners__item img{max-height:30px;}
  .aboutus__split{grid-template-columns:1fr 1fr;gap:20px;}
  .aboutus__stats{grid-template-columns:repeat(4,1fr);gap:14px;}
  .aboutus__grid{grid-template-columns:repeat(2,1fr);}
  .aboutus__communityRow{grid-template-columns:repeat(3,1fr);gap:24px;}
  .aboutus__partners{grid-template-columns:repeat(3,1fr);}
  .camp__features{grid-template-columns:repeat(2,1fr);}
  .schoolCamps{grid-template-columns:repeat(2,1fr);}
  .schoolBenefits{grid-template-columns:repeat(2,1fr);}
  .appTools{grid-template-columns:repeat(2,1fr);}
  .storeBtn__logo{max-height:32px;}
  .contactGrid{grid-template-columns:1fr 1fr;gap:100px;}
}

/* ========== RESPONSIVE — MOBILE ========== */
@media (max-width:768px){
  .home-grid{grid-template-columns:1fr;}
  p.hero__subtitle{margin-bottom:150px;}
  .partners__list{gap:16px;padding:0 20px;}
  .partners__item img{max-height:30px;}
  .aboutus{padding-top:80px;}
  .aboutus__split{grid-template-columns:1fr;gap:16px;}
  .aboutus__media{order:1;}
  .aboutus__side{order:2;}
  .aboutus__stats{grid-template-columns:repeat(2,1fr);}
  .aboutus__grid{grid-template-columns:1fr;gap:16px;}
  .aboutus__communityRow{grid-template-columns:1fr;gap:20px;}
  .aboutus__communityItem--center{min-height:auto;justify-content:flex-start;}
  .aboutus__partners{grid-template-columns:repeat(2,1fr);gap:18px 16px;}
  .aboutus__partnerLogo{max-height:48px;}
  .camp{padding:40px 20px;}
  .camp__features{grid-template-columns:1fr;gap:16px;}
  .camp-video__inner iframe,.camp-video__inner video{aspect-ratio:16/9;}
  .school--camps{padding:40px 20px;}
  .schoolCamps{grid-template-columns:1fr;gap:20px;}
  .schoolBenefits{grid-template-columns:1fr;gap:20px;}
  .schoolBenefit__icon{width:50px;height:50px;padding:10px;}
  .appTools{grid-template-columns:1fr;gap:20px;}
  .storeBtn{padding:8px 12px;}
  .storeBtn__logo{max-height:28px;}
  .storeBtn__logo svg{height:28px;}
  .storeBtn__text{min-width:80px;}
  .contactGrid{grid-template-columns:1fr;gap:40px;}
  .contactForm{order:1;}
  .contactInfo{order:2;}
}
@media (max-width:480px){.wpforms-container .wpforms-submit{width:auto;}}