/* Homepage-only layout and media; shared portal and camp styles stay independent. */
.home-refresh .home-sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home-refresh .home-coming-soon{display:inline-flex;align-items:center;gap:10px;max-inline-size:100%;padding:12px 18px;border:1px solid #728d83;border-radius:10px;background:#ffffff06;color:inherit;font-size:14px;font-weight:650;line-height:1.8;cursor:default}
.home-refresh .home-status-dot{inline-size:6px;block-size:6px;flex:0 0 6px;border-radius:50%;background:#c8b378}
.home-refresh .home-camp{display:block;padding:0;border-radius:22px;margin-block:32px}
.home-refresh .home-camp-hero{margin:0;overflow:hidden}
.home-refresh .home-camp-hero img{display:block;inline-size:100%;block-size:auto;object-fit:contain}
.home-refresh .home-camp-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,5vw,80px);align-items:center;padding:clamp(26px,4.5vw,64px)}
.home-refresh .home-camp .entry-event-copy h2{font-size:clamp(31px,3.7vw,57px);max-inline-size:20ch;line-height:1.65;margin-block:16px}
.home-refresh .home-camp .entry-event-copy p{font-size:clamp(15px,1.15vw,18px);line-height:2;color:#cad8d1;max-inline-size:60ch}
.home-refresh .home-camp-facts{display:grid;gap:20px;min-inline-size:0}
.home-refresh .home-camp-facts>div{border-inline-start:2px solid #ad9863;padding-inline-start:20px}
.home-refresh .home-camp-facts b{font-size:16px;color:#f1eee4}
.home-refresh .home-camp-facts p{font-size:14px;color:#bdcfc5;line-height:1.9;margin-block:6px 0}
.home-refresh .home-camp-gallery:empty{display:none}
.home-refresh .home-camp-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 clamp(26px,4.5vw,64px) 36px}
.home-refresh .home-camp-gallery figure{margin:0;min-inline-size:0}
.home-refresh .home-camp-gallery img{display:block;inline-size:100%;block-size:auto;object-fit:contain;border-radius:12px}
.home-refresh .home-camp-gallery figcaption{font-size:13px;line-height:1.9;color:#ced9d2;padding-block-start:10px}
.home-refresh .home-camp-enrol{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.75fr);gap:clamp(24px,5vw,80px);align-items:center;margin-inline:clamp(26px,4.5vw,64px);padding-block:30px clamp(26px,4.5vw,64px);border-block-start:1px solid #ffffff2b}
.home-refresh .home-camp-package .event-price{font-size:clamp(30px,3.3vw,46px);line-height:1.8;margin-block:8px}
.home-refresh .home-camp-package p{color:#d1dcd5;font-size:15px;line-height:1.9}
.home-refresh .home-camp-package .home-camp-vip{font-size:13px;max-inline-size:65ch}
.home-refresh .home-camp-package small{display:block;font-size:12px;line-height:1.9;color:#c2d2c8;max-inline-size:70ch}
.home-refresh .home-camp .event-side{background:#ffffff04;padding:22px}
.home-refresh .home-camp .event-count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-block:18px 12px}
.home-refresh .home-camp .event-count>span{min-inline-size:0;padding:12px 5px}
.home-refresh .home-camp .event-count strong{font-size:clamp(26px,2.6vw,40px)}
.home-refresh .home-camp .event-countdown-status{font-size:12px}
.home-refresh .home-academy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;padding:0;min-block-size:0;gap:0;margin-block:32px;border-radius:22px}
.home-refresh .home-academy::before{display:none}
.home-refresh .home-academy .academy-hero-copy{inline-size:auto;max-inline-size:none;min-inline-size:0;padding:clamp(28px,4vw,64px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;order:0}
.home-refresh .home-academy h2{font-size:clamp(28px,3vw,49px);font-weight:850;line-height:1.65;letter-spacing:-.7px;margin:22px 0}
.home-refresh .home-academy h2 em{display:inline;font-style:normal;color:#d5c28c}
.home-refresh .home-academy .hero-description{font-size:clamp(15px,1.2vw,18px);max-inline-size:50ch;line-height:2;margin-block:0 26px}
.home-refresh .home-academy-photo{position:relative;margin:0;min-inline-size:0;min-block-size:100%;order:1;overflow:hidden}
.home-refresh .home-academy-photo img{display:block;inline-size:100%;block-size:100%;object-fit:cover;object-position:50% 50%;aspect-ratio:1/1}
.home-refresh .home-academy-foot{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:#b9cbc3;border-block-start:1px solid #ffffff29;padding-block-start:20px;margin-block:26px 0;inline-size:100%}
.home-refresh .home-network{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:clamp(22px,3.5vw,52px);gap:clamp(24px,4vw,64px);margin-block:32px}
.home-refresh .home-network h2{font-size:clamp(28px,2.8vw,43px);line-height:1.65}
.home-refresh .home-network p{font-size:clamp(14px,1.05vw,17px);line-height:2.05;margin-block:0 16px}
.home-refresh .home-network .intro-film-image{aspect-ratio:3/2;box-shadow:none}
.home-refresh .home-network .text-link{display:inline-flex;align-items:center;gap:10px;min-block-size:44px;line-height:1.9;font-size:14px;margin-block-start:8px}
.home-refresh .home-inperson .section-heading>p{color:var(--muted);font-size:14px;margin:0;max-inline-size:38ch;line-height:1.9}
.home-refresh .home-inperson-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:26px}
.home-refresh .home-camp-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;min-inline-size:0}
.home-refresh .home-camp-card-photo img{display:block;inline-size:100%;block-size:auto;aspect-ratio:16/8;object-fit:cover}
.home-refresh .home-camp-card-copy{padding:clamp(24px,3vw,38px)}
.home-refresh .home-camp-card-copy h3,.home-refresh .home-workshop-card h3{font-size:clamp(23px,2vw,30px);line-height:1.7;margin-block:12px}
.home-refresh .home-camp-card-copy p,.home-refresh .home-workshop-card p{font-size:15px;line-height:2;max-inline-size:60ch}
.home-refresh .home-camp-card-copy .text-link{display:inline-flex;align-items:center;gap:14px;min-block-size:44px;margin-block-start:8px}
.home-refresh .home-workshop-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-inline-size:0;border:1px solid #d0d9cf;border-radius:20px;background:#e5eae3;color:#204738;padding:clamp(26px,3.8vw,52px)}
.home-refresh .home-workshop-icon{inline-size:72px;block-size:72px;margin-block:26px 14px;color:#547761}
.home-refresh .home-workshop-card .home-coming-soon{margin-block-start:22px;color:#355343;border-color:#9bad9e}
.home-refresh .community-card{display:flex;flex-direction:column}
.home-refresh .community-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:clamp(24px,2.6vw,38px)}
.home-refresh .community-copy p{margin-block:0 24px;line-height:2}
.home-refresh .community-copy .home-coming-soon{margin-block-start:auto;padding:6px 13px;font-size:13px;color:#456052;border-color:#a7b6aa;background:transparent}
.home-refresh .competition-card .home-coming-soon{color:#d3e2d9;border-color:#698a7c}
.home-refresh .community-card img{aspect-ratio:16/10;object-position:center}
.home-refresh .home-league{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center}
.home-refresh .home-league>div{padding:clamp(28px,4.5vw,64px)}
.home-refresh .home-league h2{font-size:clamp(30px,3.1vw,48px);line-height:1.6}
.home-refresh .home-league p{font-size:15px;line-height:2;margin-block:18px 26px}
.home-refresh .home-league .league-photo{block-size:auto;min-block-size:0;display:flex;align-items:center;background:#18252b}
.home-refresh .home-league .league-photo img{position:static;display:block;inline-size:100%;block-size:auto;aspect-ratio:3/2;object-fit:contain}
.home-refresh .home-league figcaption{font-size:12px;padding:38px 22px 16px}
@media(max-width:1000px){
  .home-refresh .home-academy h2{font-size:30px}
  .home-refresh .home-network{gap:24px}
  .home-refresh .home-network h2{font-size:28px}
  .home-refresh .home-network p{font-size:14px}
}
@media(max-width:800px){
  .home-refresh .home-camp-intro,.home-refresh .home-camp-enrol{grid-template-columns:minmax(0,1fr);gap:24px}
  .home-refresh .home-camp-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .home-refresh .home-camp-facts>div{padding-inline-start:12px}
  .home-refresh .home-camp-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-refresh .home-camp .event-side{max-inline-size:500px;inline-size:100%}
  .home-refresh .home-academy,.home-refresh .home-network,.home-refresh .home-inperson-grid,.home-refresh .home-league{grid-template-columns:minmax(0,1fr)}
  .home-refresh .home-academy .academy-hero-copy{padding:30px}
  .home-refresh .home-academy-photo{min-block-size:0}
  .home-refresh .home-academy-photo img{aspect-ratio:3/2;max-block-size:460px;block-size:auto}
  .home-refresh .home-network .intro-film-image{grid-row:1}
  .home-refresh .home-network{padding:24px}
  .home-refresh .home-inperson .section-heading{flex-wrap:wrap}
  .home-refresh .home-inperson-grid{gap:20px}
  .home-refresh .home-workshop-card{padding:30px}
  .home-refresh .home-league .league-photo{grid-row:1}
}
@media(max-width:520px){
  .home-refresh .home-camp{margin-block:24px;border-radius:16px}
  .home-refresh .home-camp-intro{padding:26px 22px}
  .home-refresh .home-camp-facts{grid-template-columns:minmax(0,1fr);gap:16px}
  .home-refresh .home-camp-gallery{padding-inline:22px;gap:16px;grid-template-columns:minmax(0,1fr)}
  .home-refresh .home-camp-enrol{margin-inline:22px}
  .home-refresh .home-camp .event-side{padding:18px 14px}
  .home-refresh .home-camp .event-count{gap:6px}
  .home-refresh .home-camp .event-count strong{font-size:28px}
  .home-refresh .home-camp .event-count small{font-size:11px}
  .home-refresh .home-academy,.home-refresh .home-network{margin-block:24px;border-radius:16px}
  .home-refresh .home-academy .academy-hero-copy{padding:26px 22px}
  .home-refresh .home-academy h2{font-size:28px;line-height:1.8;letter-spacing:-.5px;margin-block:18px}
  .home-refresh .home-academy .hero-description{font-size:15px;line-height:2}
  .home-refresh .home-coming-soon{font-size:13px;padding:10px 14px}
  .home-refresh .home-academy-foot{font-size:11px;gap:4px 8px}
  .home-refresh .home-network{padding:18px;gap:18px}
  .home-refresh .home-network h2{font-size:28px;line-height:1.65}
  .home-refresh .home-network p{font-size:14px;line-height:2.1}
  .home-refresh .home-network .text-link{font-size:13px;align-items:flex-start}
  .home-refresh .home-inperson .section-heading>p{font-size:13px}
  .home-refresh .home-camp-card-copy,.home-refresh .home-workshop-card{padding:24px}
  .home-refresh .home-camp-card-copy h3,.home-refresh .home-workshop-card h3{font-size:24px}
  .home-refresh .community-copy{padding:24px}
  .home-refresh .community-copy h3{font-size:23px}
  .home-refresh .community-subtitle{font-size:12px}
  .home-refresh .home-league>div{padding:28px 24px}
  .home-refresh .home-league h2{font-size:30px}
  .home-refresh .home-league h2 br{display:block}
}
