:root{
  --black:#030303;--black2:#090807;--panel:#0f0d0a;--cream:#fff7e6;--soft:#d8cfbd;--muted:#a99f8e;
  --gold:#d8aa43;--gold2:#f6cf66;--gold3:#8c6b25;--silver:#d8d8d8;--line:rgba(246,207,102,.22);
  --red:#e10d0d;--orange:#ff7b18;--purple:#b330ff;--blue:#20b7ff;--cyan:#18e5e5;--adc-pink:#ff00a0;--adc-pink-hover:#d60086;
  --shadow:0 30px 100px rgba(0,0,0,.5);--radius:28px;--max:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;font-family:var(--font-body);overflow-x:hidden}body,button,input,select,textarea{font-family:var(--font-body)}body{margin:0;background:var(--black);color:var(--cream);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 12% 0%,rgba(216,170,67,.13),transparent 30%),radial-gradient(circle at 90% 8%,rgba(255,123,24,.08),transparent 27%),linear-gradient(180deg,#030303,#090704 42%,#030303);pointer-events:none}
body:after{content:"";position:fixed;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:82px 82px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 70%);pointer-events:none}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.sr-only{position:absolute;left:0;width:1px;height:1px;overflow:hidden;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%)}.skip{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%)}.skip:focus{left:20px;top:20px;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none;background:var(--gold2);color:#000;padding:12px 16px;border-radius:12px;z-index:999}.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}.small-container{width:min(920px,calc(100% - 40px));margin:0 auto}
.header{position:sticky;top:0;z-index:50;background:rgba(3,3,3,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.announcement{display:flex;justify-content:center;gap:14px;align-items:center;padding:9px 16px;border-bottom:1px solid rgba(246,207,102,.12);font-size:.84rem;color:var(--soft);letter-spacing:.04em}.announcement b{color:var(--gold2)}.navrow{height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px;min-width:190px}.brand img{width:88px;height:auto}.brand-text{display:grid;line-height:.9;text-transform:uppercase;font-family:var(--font-body);letter-spacing:.22em;color:var(--gold2);font-weight:700;font-size:.83rem}.nav{display:flex;align-items:center;gap:28px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.75rem;color:#c5baaa}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:1px;background:var(--gold2);transform:scaleX(0);transition:.25s}.nav a:hover{color:#fff}.nav a:hover:after{transform:scaleX(1)}.menu{display:none;background:transparent;color:var(--gold2);border:1px solid var(--line);border-radius:14px;width:46px;height:46px;font-size:1.4rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:0;border:1px solid var(--line);font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;transition:.25s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#ffe390,var(--gold),#b67c1e);color:#050505;border-color:transparent;box-shadow:0 18px 42px rgba(216,170,67,.18)}.btn-outline{background:rgba(0,0,0,.25);color:#fff}.btn-silver{background:linear-gradient(135deg,#fff,#c6c6c6,#6c6c6c);color:#050505;border:0}.nav-cta{padding:0 18px;min-height:42px}
.hero{position:relative;min-height:calc(100vh - 122px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}.hero-video{position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 60% 25%,rgba(246,207,102,.2),transparent 14%),linear-gradient(110deg,rgba(0,0,0,.96),rgba(0,0,0,.62),rgba(0,0,0,.98)),url('assets/ad-company-logo-transparent.png') 78% 48%/42vw auto no-repeat}.hero-video:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.1),rgba(0,0,0,.95)),radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.12),transparent 38%)}.hero .container{padding:84px 0 70px}.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 20px;color:var(--gold2);text-transform:uppercase;letter-spacing:.24em;font-weight:900;font-size:.76rem}.eyebrow:before{content:"";width:54px;height:2px;background:linear-gradient(90deg,var(--gold2),transparent)}h1,h2,h3{margin:0;line-height:.94}h1,.display{font-family:var(--font-body);font-size:clamp(3.45rem,8.8vw,8.9rem);letter-spacing:-.075em;max-width:1040px}.gold-word{font-style:italic;color:var(--gold2)}h2{font-family:var(--font-body);font-size:clamp(2.4rem,5.4vw,5.8rem);letter-spacing:-.06em;max-width:980px}h3{font-family:var(--font-body);font-size:clamp(1.5rem,2.2vw,2.55rem);letter-spacing:-.035em}.lead{font-size:clamp(1.08rem,1.75vw,1.42rem);line-height:1.7;color:var(--soft);max-width:800px}.hero .lead{margin-top:26px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.statbar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:58px;border:1px solid var(--line);background:var(--line);max-width:980px}.stat{background:rgba(0,0,0,.72);padding:22px}.stat strong{display:block;color:var(--gold2);font-size:clamp(1.8rem,3vw,2.7rem);font-family:var(--font-body);font-weight:700}.stat span{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;margin-top:7px}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#050403}.ticker-track{display:flex;width:max-content;animation:ticker 38s linear infinite}.ticker span{padding:16px 28px;color:#bfb5a8;text-transform:uppercase;letter-spacing:.22em;font-weight:900;font-size:.75rem}.ticker b{color:var(--gold2)}@keyframes ticker{to{transform:translateX(-50%)}}
.section{padding:clamp(76px,9vw,134px) 0}.section.alt{background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(0,0,0,.04));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro{display:grid;grid-template-columns:1fr .85fr;gap:50px;align-items:end;margin-bottom:46px}.intro p:not(.eyebrow){color:var(--muted);font-size:1.06rem;line-height:1.8}.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(150deg,rgba(255,255,255,.072),rgba(255,255,255,.018));border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;min-height:230px}.card:before{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:var(--accent,var(--gold2));opacity:.7}.card p,.card li{color:var(--muted);line-height:1.74}.card ul{padding-left:18px}.card .logo-small{height:70px;width:auto;margin-bottom:22px;object-fit:contain}.card .arrow{display:inline-flex;margin-top:16px;color:var(--accent,var(--gold2));font-weight:900;text-transform:uppercase;letter-spacing:.15em;font-size:.74rem}.card.compete{--accent:var(--red)}.card.train{--accent:var(--orange)}.card.intensive{--accent:var(--purple)}.card.perform{--accent:var(--blue)}.pillar-card{min-height:470px;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center}.pillar-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,.45),rgba(0,0,0,.18));z-index:0}.pillar-card>*{position:relative;z-index:1}.pillar-card .num{color:var(--accent);letter-spacing:.25em;font-size:.78rem;font-weight:900;margin-bottom:12px}.pillar-card.compete{background-image:linear-gradient(#000,#000)}.pillar-card.train{background-image:linear-gradient(#000,#000)}.pillar-card.perform{background-image:linear-gradient(#000,#000)}.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:46px;align-items:center}.stage-panel{position:relative;min-height:520px;border:1px solid var(--line);border-radius:34px;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.62),transparent 18%),radial-gradient(ellipse at 50% 42%,rgba(216,170,67,.18),transparent 28%),#020202;box-shadow:var(--shadow)}.stage-panel:before{content:"";position:absolute;left:50%;top:0;width:26%;height:72%;transform:translateX(-50%);background:linear-gradient(to bottom,rgba(255,255,255,.78),rgba(255,255,255,.04));clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);filter:blur(.4px);opacity:.9}.stage-panel:after{content:"AARON DWYER";position:absolute;left:8%;bottom:8%;font-family:var(--font-body);font-size:clamp(2rem,4vw,4rem);color:rgba(255,255,255,.1);letter-spacing:.08em}.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.journey-step{padding:24px 18px;border:1px solid var(--line);background:rgba(255,255,255,.04);min-height:140px}.journey-step b{color:var(--gold2);font-size:1.7rem;font-family:var(--font-body)}.journey-step span{display:block;margin-top:10px;color:var(--soft);font-weight:900}.form-panel{display:grid;grid-template-columns:1fr .9fr;gap:34px;background:linear-gradient(145deg,#0d0a06,#171008);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(74px,9vw,126px) max(20px,calc((100vw - var(--max))/2))}.form{display:grid;gap:14px;border:1px solid var(--line);border-radius:30px;background:rgba(255,255,255,.055);padding:28px;box-shadow:var(--shadow)}label{display:grid;gap:8px;color:var(--gold2);font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}input,select,textarea{width:100%;min-height:50px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(0,0,0,.48);color:#fff;padding:0 14px;font-family:var(--font-body)}textarea{min-height:130px;padding:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.microcopy{font-size:.82rem;color:var(--muted);line-height:1.5}.location-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.location-cloud span{border:1px solid var(--line);background:rgba(255,255,255,.035);padding:9px 12px;border-radius:999px;color:#d5cbb9;font-size:.86rem}.event-card{display:grid;grid-template-columns:.78fr 1fr;gap:0;border:1px solid var(--line);background:#080604;border-radius:28px;overflow:hidden}.event-visual{min-height:260px;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.5),transparent 22%),linear-gradient(145deg,rgba(216,170,67,.4),rgba(0,0,0,.95));}.event-body{padding:28px}.event-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);margin:18px 0}.quote{font-family:var(--font-body);font-size:1.65rem;line-height:1.35;color:#fff}.quote-card{min-height:320px}.page-hero{padding:90px 0 70px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 70% 10%,rgba(216,170,67,.14),transparent 30%)}.page-hero .lead{margin-top:24px}.footer{border-top:1px solid var(--line);padding:54px 0 92px;background:#030303}.footer-grid{display:grid;grid-template-columns:1.1fr repeat(6,minmax(112px,.72fr));gap:24px}.footer img{width:170px;margin-bottom:18px}.footer h4{color:var(--gold2);text-transform:uppercase;letter-spacing:.16em;font-size:.77rem}.footer a,.footer p{display:block;color:var(--muted);line-height:1.75;margin:0 0 8px}.mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(5,5,5,.94);border-top:1px solid var(--line);padding:10px 14px;gap:10px}.mobile-cta .btn{flex:1;min-height:48px;padding:0 10px}.colour-note{display:inline-flex;gap:8px;align-items:center}.dot{width:10px;height:10px;border-radius:50%;background:var(--accent,var(--gold2));display:inline-block}.city-seo{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:22px;padding:20px;background:rgba(255,255,255,.035)}
@media(max-width:1040px){.cards-4,.cards-3,.intro,.split,.form-panel,.footer-grid{grid-template-columns:1fr}.cards-2,.journey,.statbar{grid-template-columns:1fr 1fr}.nav{display:none;position:absolute;top:122px;left:20px;right:20px;flex-direction:column;align-items:stretch;background:rgba(3,3,3,.98);border:1px solid var(--line);border-radius:22px;padding:22px}.nav.open{display:flex}.menu{display:block}.brand img{width:66px}.brand-text{font-size:.68rem}.mobile-cta{display:flex}body{padding-bottom:74px}.event-card{grid-template-columns:1fr}.hero-video{background-size:70vw auto;background-position:95% 40%}.two{grid-template-columns:1fr}}
@media(max-width:640px){.container,.small-container{width:min(100% - 28px,var(--max))}.announcement{font-size:.72rem;text-align:center}.navrow{height:76px}.nav{top:112px}.brand-text{display:none}h1,.display{font-size:clamp(3.1rem,16vw,5rem)}h2{font-size:clamp(2.2rem,11vw,3.5rem)}.cards-2,.journey,.statbar{grid-template-columns:1fr}.card{padding:22px;border-radius:22px}.hero{min-height:auto}.hero .container{padding-top:66px}.pillar-card{min-height:360px}.btn{width:100%}.actions{width:100%}}


/* Logo-only header refinement */
.logo {
  min-width: auto;
}
.logo img,
.logo .brand-logo,
.logo .main-logo {
  max-height: 54px;
  width: auto;
}
.logo .logo-mark {
  flex: 0 0 auto;
}

/* Discreet social links + WhatsApp contact pop-up */
.social-top{display:flex;align-items:center;gap:10px;margin-left:14px}
.social-link{width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.035);transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;text-decoration:none;overflow:hidden;padding:0;line-height:0;flex:0 0 38px}
.social-link img{width:100%;height:100%;display:block;object-fit:cover;max-width:none;max-height:none;flex:0 0 auto;border-radius:999px}
.social-link:hover,.social-link:focus-visible{transform:translateY(-2px);border-color:var(--gold2);background:rgba(216,170,67,.12);box-shadow:0 0 18px rgba(216,170,67,.18)}
.social-wa{border-color:rgba(37,211,102,.35)}
.whatsapp-contact{position:fixed;right:24px;bottom:24px;z-index:120;display:grid;justify-items:end;gap:12px}
.whatsapp-toggle{border:0;border-radius:999px;background:#087b28;color:#fff;padding:16px 23px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 18px 45px rgba(0,0,0,.45);cursor:pointer}
.whatsapp-toggle:before{content:"";width:11px;height:11px;background:#29d66f;border-radius:50%;display:inline-block;margin-right:10px;box-shadow:0 0 18px rgba(41,214,111,.85)}
.whatsapp-popover{display:none;width:min(360px,calc(100vw - 34px));border:1px solid rgba(216,170,67,.34);border-radius:24px;background:linear-gradient(145deg,#090806,#17110a);box-shadow:0 24px 80px rgba(0,0,0,.58);padding:24px;color:#fff;position:relative}
.whatsapp-popover.open{display:block;animation:popContact .18s ease-out}
.whatsapp-popover strong{display:block;font-family:var(--font-body);font-size:1.45rem;line-height:1.1;margin-bottom:10px;color:#fff}
.whatsapp-popover p{color:var(--muted);line-height:1.65;margin:0 0 18px}
.whatsapp-popover .btn{width:100%;text-align:center;justify-content:center}
.whatsapp-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;font-size:22px;line-height:1;cursor:pointer}
@keyframes popContact{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1040px){.social-top{margin-left:auto}.whatsapp-contact{right:14px;bottom:86px}.whatsapp-toggle{padding:14px 18px;font-size:.76rem}.nav.open + .social-top{display:flex}}
@media(max-width:640px){.social-link{width:34px;height:34px;flex-basis:34px}.social-top{gap:7px}.whatsapp-contact{bottom:84px}.whatsapp-toggle{padding:13px 16px;letter-spacing:.08em}.whatsapp-popover{padding:22px}}


/* Final QA polish */
.page-logo-large{max-width:360px;margin-bottom:28px}.page-logo-medium{max-width:320px;margin-bottom:28px}.copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.copy-block{border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:24px;padding:26px}.copy-block p,.copy-block li{color:var(--muted);line-height:1.78}.copy-block ul{padding-left:18px}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.proof-strip div{background:#050403;padding:28px}.proof-strip strong{display:block;color:var(--gold2);font-family:var(--font-body);font-size:2rem}.proof-strip span{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;margin-top:8px}.notice-panel{border:1px solid var(--line);background:linear-gradient(145deg,rgba(216,170,67,.12),rgba(255,255,255,.025));border-radius:28px;padding:30px}.notice-panel p{color:var(--soft);line-height:1.75}.page-hero .route-logo{width:min(280px,70vw);margin-bottom:24px}.form input,.form select,.form textarea{accent-color:var(--gold2)}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid rgba(246,207,102,.55);outline-offset:2px}.whatsapp-popover{border-color:rgba(116,240,154,.35)}
@media(max-width:900px){.copy-grid,.proof-strip{grid-template-columns:1fr}.page-logo-large,.page-logo-medium{max-width:260px}}



/* No-structure polish: accessibility, responsiveness and robustness */
:focus-visible {
  outline: 3px solid var(--gold-2, #f5d77a);
  outline-offset: 4px;
}

img, video {
  max-width: 100%;
  height: auto;
}

button, a, input, select, textarea {
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 980px) {
  body { overflow-x: hidden; }
  .hero-content, .section-intro, .lead { max-width: 100%; }
}

@media (max-width: 520px) {
  h1 {
    font-size: clamp(2.55rem, 16vw, 4rem);
    line-height: 0.98;
  }
  h2 {
    font-size: clamp(2rem, 11vw, 3.15rem);
    line-height: 1;
  }
  .hero {
    padding-left: 18px;
    padding-right: 18px;
  }
  .btn {
    min-width: 44px;
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}



/* Social page additions */
.social-hero {
  min-height: 68vh;
}

.social-grid .social-card,
.social-stream-grid .stream-card {
  position: relative;
  overflow: hidden;
}

.social-big-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  margin-bottom: 18px;
  font-weight: 900;
  font-size: 1.65rem;
  background: rgba(255,255,255,0.08);
  border: 1px solid var(--line, rgba(245,215,122,.22));
}

.instagram-card .social-big-icon {
  background: radial-gradient(circle at 30% 20%, #feda75, #d62976 45%, #4f5bd5);
  color: #fff;
}

.facebook-card .social-big-icon {
  background: #1877f2;
  color: #fff;
}

.google-card .social-big-icon {
  background: #fff;
  color: #111;
}

.disabled-link {
  opacity: 0.65;
  pointer-events: none;
}

.stream-card {
  min-height: 230px;
}

@media (max-width: 720px) {
  .social-hero {
    min-height: auto;
  }
}



/* Final clean-up: accessibility, responsive safeguards and robust media */
:focus-visible {
  outline: 3px solid var(--gold-2, #f5d77a);
  outline-offset: 4px;
}

img, video, svg {
  max-width: 100%;
  height: auto;
}

button, a, input, select, textarea {
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 980px) {
  body {
    overflow-x: hidden;
  }

  .hero-content,
  .section-intro,
  .lead {
    max-width: 100%;
  }
}

@media (max-width: 520px) {
  h1 {
    font-size: clamp(2.55rem, 16vw, 4rem);
    line-height: 0.98;
  }

  h2 {
    font-size: clamp(2rem, 11vw, 3.15rem);
    line-height: 1;
  }

  .hero {
    padding-left: 18px;
    padding-right: 18px;
  }

  .btn,
  button,
  .social-link,
  .social-button {
    min-width: 44px;
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}


/* Merchandise page additions */
.merch-hero{background:radial-gradient(circle at 72% 20%, rgba(238,119,28,.18), transparent 38%),linear-gradient(90deg, rgba(12,9,4,.95), rgba(0,0,0,.86));}
.merch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.merch-card{padding:0;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.24));}
.merch-image{background:#fff;display:flex;align-items:center;justify-content:center;min-height:280px;padding:18px;}
.merch-image img{max-height:300px;object-fit:contain;width:auto;}
.merch-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1;}
.merch-body h3{margin:0;}
.merch-price{font-family:var(--font-body);color:var(--gold2);font-size:1.55rem;font-weight:800;margin-top:auto;}
.merch-form label{display:grid;gap:8px;margin-bottom:16px;color:var(--soft);font-weight:800;letter-spacing:.04em;}
.merch-form select,.merch-form input,.merch-form textarea{width:100%;background:rgba(0,0,0,.32);border:1px solid var(--line);color:#fff;padding:14px;border-radius:14px;font-family:var(--font-body);}
.merch-form select option{color:#111;}
@media(max-width:1040px){.merch-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.merch-image{min-height:230px;}}
@media(max-width:640px){.merch-grid{grid-template-columns:1fr;}.merch-image{min-height:220px;}.merch-card .btn{width:100%;}}



/* Merchandise basket system */
.merch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.merch-product-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 22px;
  border: 1px solid var(--line, rgba(245,215,122,.22));
  background: rgba(255,255,255,0.04);
  margin-bottom: 18px;
}

.merch-price {
  font-size: 2rem;
  font-weight: 900;
  color: var(--gold-2, #f5d77a);
  margin: 12px 0 18px;
}

.basket-layout {
  display: grid;
  grid-template-columns: 1fr 0.85fr;
  gap: 28px;
  align-items: start;
}

.basket-items {
  display: grid;
  gap: 14px;
}

.basket-line {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 16px;
  border: 1px solid var(--line, rgba(245,215,122,.22));
  border-radius: 18px;
  background: rgba(0,0,0,0.24);
}

.basket-line strong,
.basket-line span {
  display: block;
}

.basket-line span {
  color: var(--muted, #b9b0a0);
  margin-top: 4px;
}

.basket-line-controls {
  display: flex;
  gap: 10px;
  align-items: center;
}

.basket-line-controls input {
  width: 78px;
}

.remove-basket-item {
  border: 1px solid var(--line, rgba(245,215,122,.22));
  background: rgba(255,255,255,0.06);
  color: inherit;
  border-radius: 999px;
  padding: 10px 13px;
  cursor: pointer;
}

.basket-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--line, rgba(245,215,122,.22));
  margin-top: 22px;
  padding-top: 22px;
}

.basket-summary strong {
  color: var(--gold-2, #f5d77a);
  font-size: 2rem;
}

.basket-actions {
  margin-top: 18px;
}

.order-preview {
  border: 1px solid var(--line, rgba(245,215,122,.22));
  border-radius: 18px;
  padding: 16px;
  background: rgba(0,0,0,0.28);
}

.order-preview pre {
  white-space: pre-wrap;
  color: var(--muted, #b9b0a0);
  font-family:var(--font-body);
  margin: 0;
}

.stripe-note {
  color: var(--muted, #b9b0a0);
  font-size: 0.9rem;
  line-height: 1.6;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}

/* Client redesign for Aaron Dwyer template screenshots */
.client-redesign{
  min-height:100vh;
  background:#050505;
  color:#f7f4ee;
}
.client-redesign:before,
.client-redesign:after{
  display:none;
}
.client-redesign .container{
  width:min(1180px,calc(100% - 36px));
}
.gateway-hero{
  min-height:100vh;
  display:grid;
  align-items:center;
  padding:44px 0;
  background:linear-gradient(180deg,#020202 0%,#090909 52%,#161616 100%);
}
.gateway-copy{
  display:grid;
  gap:16px;
  max-width:920px;
  margin-bottom:30px;
}
.gateway-brand{
  width:150px;
}
.gateway-copy h1{
  font-family:var(--font-body);
  font-size:clamp(3.2rem,8vw,7.2rem);
  line-height:.9;
  letter-spacing:-.04em;
  max-width:850px;
}
.gateway-copy .lead{
  max-width:720px;
}
.gateway-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.gateway-card{
  min-height:220px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:12px;
  padding:22px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  border-radius:8px;
  box-shadow:0 22px 70px rgba(0,0,0,.35);
  position:relative;
  overflow:hidden;
}
.gateway-card:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:var(--accent,#e10d0d);
}
.gateway-card img{
  width:70px;
  height:70px;
  object-fit:contain;
  margin-bottom:auto;
}
.gateway-card span{
  font-family:var(--font-body);
  font-size:2rem;
  font-weight:700;
}
.gateway-card strong{
  max-width:260px;
  color:#cfc8bb;
  line-height:1.45;
  font-size:.94rem;
}
.gateway-card.compete{--accent:#e10d0d}
.gateway-card.train{--accent:#ff7b18}
.gateway-card.intensive{--accent:#b330ff}
.gateway-card.perform{--accent:#20b7ff}
.comp-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(3,3,3,.94);
  border-bottom:1px solid rgba(255,255,255,.13);
  backdrop-filter:blur(14px);
}
.comp-nav{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.comp-logo img{
  width:98px;
}
.comp-nav nav{
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  color:#cfc8bb;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  font-weight:900;
}
.comp-page{
  padding:54px 0 80px;
  background:linear-gradient(90deg,#232323 0%,#2d2d2d 72%,#3a3a3a 72%,#3a3a3a 100%);
}
.comp-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:32px;
  align-items:start;
}
.comp-main h1{
  font-size:clamp(4rem,10vw,8.2rem);
  text-transform:uppercase;
}
.comp-actions.compact,
.comp-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:20px;
}
.competition-quick-select{
  background:#fff;
  padding-top:clamp(22px,3.5vw,38px);
  padding-bottom:clamp(22px,3.5vw,38px);
}

/* Mobile QA accessibility floor: keep all primary training and calendar actions touch-friendly. */
body.training-page .btn,
body.perform-events-page .btn,
.calendar-export summary,
.calendar-register-link,
.calendar-export-menu a,
.calendar-export-menu button{min-height:44px}
.competition-quick-select-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(290px,430px);
  gap:clamp(18px,3vw,34px);
  align-items:center;
  padding:clamp(18px,3vw,28px);
  border:1px solid rgba(31,39,50,.1);
  border-radius:22px;
  background:linear-gradient(135deg,#fff 0%,#f7f8fa 58%,#eef0f3 100%);
  box-shadow:0 24px 58px rgba(31,39,50,.12);
}
.competition-quick-select-copy h2{
  color:#171717;
  font-size:clamp(1.75rem,3vw,2.65rem);
  line-height:1;
}
.competition-quick-select-copy p:not(.eyebrow){
  max-width:660px;
  color:#5d6470;
  line-height:1.58;
  margin-top:10px;
}
.competition-quick-select-controls{
  display:grid;
  gap:10px;
  padding:16px;
  border:1px solid rgba(31,39,50,.1);
  background:#fff;
  box-shadow:0 18px 40px rgba(31,39,50,.1);
}
.competition-quick-select-controls label{
  color:#171717;
}
.competition-quick-select-controls .btn{
  width:100%;
  justify-content:center;
}
.location-card,
.quick-links{
  margin-top:30px;
  border:1px solid rgba(255,255,255,.14);
  background:#efefef;
  color:#191919;
  border-radius:0;
  padding:24px;
  box-shadow:0 22px 50px rgba(0,0,0,.22);
}
.location-controls{
  display:grid;
  gap:8px;
  max-width:420px;
  margin-bottom:24px;
}
.location-controls label{
  color:#191919;
}

body.competition-hub #location-details .location-controls label{
  color:#e31937 !important;
}

body.competition-hub #location-details #location-region{
  margin-bottom:8px;
  color:#e31937 !important;
  font-size:clamp(1.5rem,3vw,2.5rem);
  font-weight:900;
  line-height:1;
}

body.competition-hub #location-details .comp-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
  width:100%;
}

body.competition-hub #location-details .comp-actions .btn,
body.competition-hub #location-details .comp-actions .calendar-register-link{
  width:100%;
  height:100%;
  min-width:0;
  min-height:58px;
  margin:0;
  padding:10px 12px;
  text-align:center;
  white-space:normal;
}

body.competition-hub #location-details .comp-actions .calendar-register-link{
  order:3;
  min-height:58px !important;
}

body.competition-hub #location-details .comp-actions .btn-primary{
  background:#e31937 !important;
  border-color:#e31937 !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(227,25,55,.24) !important;
}
.location-select{
  background:#fff;
  color:#111;
  border-color:#d4d4d4;
}
#location-details{
  scroll-margin-top:120px;
}
.location-detail-grid{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:24px;
  align-items:stretch;
}
.location-kicker{
  color:#e10d0d;
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
  font-size:.75rem;
}
.location-card h2,
.quick-links h2{
  font-size:clamp(2.1rem,4vw,4rem);
  color:#151515;
}
.event-facts{
  display:grid;
  gap:12px;
  margin:24px 0 0;
}
.event-facts div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid #d2d2d2;
}
.event-facts dt{
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.75rem;
}
.event-facts dd{
  margin:0;
}
.ticket-panel{
  display:grid;
  align-content:center;
  gap:12px;
  background:#111;
  color:#fff;
  padding:22px;
}
.ticket-panel h3{
  color:#fff;
  font-size:2.1rem;
}
.ticket-panel a,
.quick-links a{
  display:block;
  padding:13px 0;
  border-bottom:1px solid rgba(0,0,0,.16);
  color:#191919;
  font-weight:800;
}
.ticket-panel a{
  color:#fff;
  border-color:rgba(255,255,255,.18);
}
.quick-links{
  margin-top:0;
  position:sticky;
  top:104px;
}
.quick-links h2{
  font-size:1.7rem;
  margin-bottom:12px;
}
@media(max-width:980px){
  .gateway-cards,
  .comp-layout,
  .location-detail-grid{
    grid-template-columns:1fr;
  }
  .quick-links{
    position:static;
  }
  .competition-quick-select-card{
    grid-template-columns:1fr;
  }
  .comp-page{
    background:#252525;
  }
}
@media(max-width:640px){
  .gateway-hero{
    align-items:start;
  }
  .competition-quick-select .container{
    width:min(calc(100% - 16px),var(--max));
  }
  .competition-quick-select-card{
    padding:10px;
  }
  .competition-quick-select-controls{
    padding:8px;
  }
  .gateway-card{
    min-height:180px;
  }
  .comp-nav{
    align-items:flex-start;
    flex-direction:column;
    padding:14px 0;
  }
  .comp-main h1{
    font-size:3.4rem;
  }
  .event-facts div{
    grid-template-columns:1fr;
    gap:4px;
  }
}
@media (max-width: 980px) {
  .merch-grid,
  .basket-layout {
    grid-template-columns: 1fr;
  }

  .basket-line {
    flex-direction: column;
  }

  .basket-line-controls {
    justify-content: space-between;
  }
}



/* Language chooser */
#languageOverlay,
#languageFloatingButton,
#google_translate_element,
#languageConsentPlaceholder,
.goog-te-banner-frame,
.goog-te-menu-frame,
.skiptranslate {
  display: none !important;
}

/* Shared mobile navigation trigger: icon only, with an accessible text label. */
@media (max-width:1040px) {
  button.menu {
    position:relative;
    display:inline-grid !important;
    place-items:center;
    width:50px !important;
    min-width:50px !important;
    height:50px !important;
    padding:0 !important;
    overflow:hidden;
    font-size:0 !important;
    line-height:0;
  }

  button.menu::before {
    content:"";
    display:block;
    width:22px;
    height:16px;
    border-radius:2px;
    background:linear-gradient(
      to bottom,
      currentColor 0 2px,
      transparent 2px 7px,
      currentColor 7px 9px,
      transparent 9px 14px,
      currentColor 14px 16px
    );
  }
}

html,
body {
  top: 0 !important;
}
#google_translate_element {
  position: fixed;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.goog-te-banner-frame,
.goog-te-gadget-icon {
  display: none !important;
}

body {
  top: 0 !important;
}

.language-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(18px);
}

.language-overlay.is-open {
  display: flex;
}

.language-panel {
  position: relative;
  width: min(960px, 100%);
  max-height: min(86vh, 820px);
  overflow: auto;
  padding: clamp(24px, 5vw, 48px);
  border: 1px solid var(--line, rgba(245, 215, 122, 0.22));
  border-radius: 34px;
  background:
    radial-gradient(circle at 20% 0%, rgba(245, 215, 122, 0.16), transparent 34%),
    linear-gradient(145deg, rgba(15, 15, 15, 0.98), rgba(5, 5, 5, 0.98));
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.65);
}

.language-panel h2 {
  margin-bottom: 14px;
}

.language-intro,
.language-note {
  color: var(--muted, #b9b0a0);
  line-height: 1.6;
}

.language-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 26px 0 18px;
}

.language-option {
  min-height: 74px;
  display: grid;
  gap: 4px;
  align-content: center;
  padding: 14px;
  border: 1px solid var(--line, rgba(245, 215, 122, 0.22));
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.055);
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.language-option:hover,
.language-option:focus-visible {
  border-color: var(--gold-2, #f5d77a);
  background: rgba(245, 215, 122, 0.12);
}

.language-option strong {
  color: var(--cream, #fff8e8);
}

.language-option span {
  color: var(--gold-2, #f5d77a);
  font-size: 0.92rem;
}

.language-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line, rgba(245, 215, 122, 0.22));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--cream, #fff8e8);
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
}

.language-floating-button {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 9998;
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid var(--line, rgba(245, 215, 122, 0.22));
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.78);
  color: var(--cream, #fff8e8);
  backdrop-filter: blur(14px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.42);
  cursor: pointer;
}

.language-floating-button:hover,
.language-floating-button:focus-visible {
  border-color: var(--gold-2, #f5d77a);
}

@media (max-width: 820px) {
  .language-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 460px) {
  .language-grid {
    grid-template-columns: 1fr;
  }

  .language-floating-button {
    left: 12px;
    bottom: 82px;
  }
}


/* Regenerated merchandise scaling and layout polish - 2026-06-03 */
.hero > .hero-content,
.hero > .container.hero-content {
  width: min(var(--max), calc(100% - 40px));
  margin-left: auto;
  margin-right: auto;
  padding: clamp(64px, 7vw, 96px) 0 clamp(56px, 7vw, 82px);
}

.merchandise-hero,
.hero.merchandise-hero {
  min-height: clamp(460px, 58vh, 680px);
  align-items: center;
}

.merchandise-hero h1 {
  font-size: clamp(3.2rem, 6.2vw, 6.6rem);
  letter-spacing: -0.06em;
  max-width: 820px;
}

.merchandise-hero .lead {
  max-width: 720px;
}

.section > .section-intro.container,
.section > .merch-grid.container,
.section > .basket-layout.container,
.section > .social-grid.container,
.section > .social-stream-grid.container {
  width: min(var(--max), calc(100% - 40px));
  margin-left: auto;
  margin-right: auto;
}

.section > .section-intro.container {
  margin-bottom: clamp(28px, 4vw, 46px);
}

/* Tame the merchandise cards so they look like products, not billboards. */
.merch-grid.container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.merch-card.card {
  min-height: 0;
  padding: 0;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 22px 70px rgba(0,0,0,.36);
}

.merch-product-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  max-height: 235px;
  object-fit: contain;
  object-position: center;
  padding: 24px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: radial-gradient(circle at 50% 34%, rgba(246,207,102,.18), transparent 38%), rgba(255,255,255,.035);
  margin: 0;
}

.merch-card-body {
  padding: 20px;
  display: grid;
  gap: 12px;
}

.merch-card-body .eyebrow {
  margin-bottom: 2px;
  font-size: .62rem;
  letter-spacing: .2em;
}

.merch-card-body h3 {
  font-size: clamp(1.45rem, 1.65vw, 2rem);
  line-height: 1.02;
}

.merch-card-body .merch-price,
.merch-price {
  font-size: clamp(1.35rem, 1.6vw, 1.7rem);
  margin: 0;
  color: var(--gold2);
}

.merch-card-body label {
  gap: 7px;
  font-size: .68rem;
  letter-spacing: .14em;
  margin: 0;
}

.merch-card-body select,
.merch-card-body input {
  min-height: 44px;
  border-radius: 11px;
  padding: 0 12px;
  font-size: .92rem;
}

.merch-card-body .btn {
  min-height: 46px;
  padding: 0 16px;
  font-size: .68rem;
  letter-spacing: .15em;
  width: 100%;
}

.basket-layout.container {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .75fr);
  gap: 24px;
  align-items: start;
}

.basket-layout .card,
#merchOrderForm.form {
  min-height: 0;
  padding: clamp(20px, 2vw, 28px);
  border-radius: 24px;
}

#basket h2 {
  font-size: clamp(3rem, 5.6vw, 5.4rem);
  letter-spacing: -0.06em;
}

#merchOrderForm h3 {
  font-size: clamp(1.8rem, 2.4vw, 2.6rem);
}

#merchOrderForm input,
#merchOrderForm textarea {
  min-height: 46px;
}

#merchOrderForm textarea {
  min-height: 108px;
}

.stripe-note {
  margin: 0;
  max-width: 720px;
}

@media (max-width: 1180px) {
  .merch-grid.container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .merch-grid.container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .basket-layout.container { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .hero > .hero-content,
  .hero > .container.hero-content,
  .section > .section-intro.container,
  .section > .merch-grid.container,
  .section > .basket-layout.container,
  .section > .social-grid.container,
  .section > .social-stream-grid.container {
    width: min(100% - 28px, var(--max));
  }
  .merchandise-hero,
  .hero.merchandise-hero {
    min-height: auto;
  }
  .merchandise-hero h1 {
    font-size: clamp(2.85rem, 15vw, 4.6rem);
  }
  .merch-grid.container { grid-template-columns: 1fr; }
  .merch-product-image { max-height: 220px; }
  #basket h2 { font-size: clamp(2.6rem, 14vw, 4rem); }
}



/* DanceComp Genie integration note */
.dancecomp-helper {
  max-width: 760px;
  margin-top: 16px;
  color: var(--muted, #b9b0a0);
  font-size: 0.98rem;
  line-height: 1.65;
}

.dancecomp-integration-section {
  border-top: 1px solid var(--line, rgba(245, 215, 122, 0.22));
  border-bottom: 1px solid var(--line, rgba(245, 215, 122, 0.22));
  background:
    radial-gradient(circle at 18% 20%, rgba(204, 24, 24, 0.14), transparent 30%),
    linear-gradient(120deg, rgba(16, 8, 8, 0.9), rgba(0, 0, 0, 0.96));
}

.dancecomp-integration-section .container,
.dancecomp-integration-section .narrow {
  max-width: 920px;
}

.dancecomp-integration-section h2 {
  max-width: 780px;
}

.dancecomp-integration-section p {
  max-width: 780px;
  color: var(--muted, #b9b0a0);
}



/* Final improvement pass - 2026-06-03
   Keeps existing structure, but improves sizing, accessibility, mobile polish and usability. */
:root {
  --focus: 0 0 0 3px rgba(246, 207, 102, .35);
}

html {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  line-height: 1.55;
}

h1, h2, h3 {
  text-wrap: balance;
}

p, li {
  text-wrap: pretty;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none;
  box-shadow: var(--focus);
}

.container,
.section > .container,
.section-intro.container,
.hero-content,
.basket-layout.container,
.merch-grid.container {
  max-width: min(var(--max), calc(100% - 40px));
}

.hero h1,
.page-hero h1 {
  font-size: clamp(3rem, 7vw, 7.4rem);
  line-height: .9;
  max-width: 1050px;
}

.hero .lead,
.page-hero .lead,
.section-intro p {
  max-width: 820px;
  font-size: clamp(1rem, 1.45vw, 1.22rem);
}

.btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Compact language chooser */
.language-overlay {
  padding: 16px;
}

.compact-language-panel,
.language-panel.compact-language-panel {
  width: min(560px, calc(100% - 28px));
  max-height: min(84vh, 680px);
  padding: clamp(20px, 4vw, 32px);
  border-radius: 24px;
}

.compact-language-panel h2 {
  font-size: clamp(2rem, 5vw, 3.1rem);
  line-height: .95;
}

.language-select-label {
  display: block;
  margin: 18px 0 8px;
  color: var(--gold2);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.language-select {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(0,0,0,.56);
  color: var(--cream);
  padding: 0 14px;
  font-family:var(--font-body);
}

.language-select option {
  color: #111;
}

.language-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 18px 0;
}

.language-actions .btn {
  flex: 1 1 180px;
}

.language-details {
  margin-top: 12px;
}

.language-details summary {
  cursor: pointer;
  color: var(--gold2);
  font-weight: 800;
}

.compact-language-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: 220px;
  overflow: auto;
  padding-right: 4px;
}

.compact-language-option {
  min-height: 56px;
  padding: 10px 12px;
  border-radius: 14px;
}

.language-note {
  font-size: .9rem;
}

.language-floating-button {
  font-size: .86rem;
  min-height: 40px;
  padding: 0 13px;
}

/* Merchandise page sizing and product card polish */
.merchandise-hero h1,
body:has(.merch-grid) .hero h1 {
  font-size: clamp(3rem, 5.8vw, 5.8rem);
  max-width: 760px;
}

.merch-grid.container,
.merch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: clamp(18px, 2vw, 26px);
  align-items: stretch;
}

.merch-card.card {
  display: flex;
  flex-direction: column;
  min-height: auto;
  overflow: hidden;
}

.merch-product-image {
  aspect-ratio: 5 / 3.5;
  height: auto;
  max-height: 210px;
  object-fit: contain;
  padding: 18px;
  margin: 0;
}

.merch-card-body {
  padding: clamp(18px, 2vw, 24px);
  display: grid;
  gap: 12px;
}

.merch-card-body h3 {
  font-size: clamp(1.5rem, 2.2vw, 2.15rem);
}

.merch-card-body .merch-price,
.merch-price {
  font-size: clamp(1.25rem, 1.7vw, 1.7rem);
}

.merch-card-body select,
.merch-card-body input,
#merchOrderForm input,
#merchOrderForm textarea,
#merchOrderForm select {
  color: var(--cream);
  background: rgba(0,0,0,.58);
  border: 1px solid rgba(246,207,102,.28);
}

.basket-layout.container {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
}

#basket h2 {
  font-size: clamp(2.8rem, 5.4vw, 5.1rem);
}

.form-message {
  min-height: 1.5em;
  color: var(--gold2);
  font-weight: 800;
}

.form-message[data-type="success"] {
  color: #9af0af;
}

.form-message[data-type="error"] {
  color: #ff9e9e;
}

.turnstile-slot {
  min-height: 65px;
  display: flex;
  align-items: center;
}

.hp-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.toast-message {
  position: fixed;
  right: 18px;
  bottom: 88px;
  z-index: 10000;
  max-width: min(360px, calc(100% - 36px));
  padding: 14px 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(0,0,0,.88);
  color: var(--cream);
  box-shadow: 0 18px 60px rgba(0,0,0,.42);
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}

.toast-message.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* DanceComp clarity */
.dancecomp-helper {
  padding: 12px 14px;
  border-left: 3px solid var(--gold2);
  background: rgba(246,207,102,.07);
  border-radius: 0 14px 14px 0;
}

/* Social/community proof cards */
.social-proof-section .proof-card h3 {
  margin-bottom: 10px;
}

.proof-card p {
  color: var(--soft);
}

/* Image and icon polish */
.social-icon img,
.social-link img,
.nav-social img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

img {
  max-width: 100%;
}

/* Reduce motion for users who request it */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* Tablet and mobile */
@media (max-width: 1120px) {
  .merch-grid.container,
  .merch-grid {
    grid-template-columns: repeat(2, minmax(230px, 1fr));
  }

  .basket-layout.container {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .container,
  .section > .container,
  .section-intro.container,
  .hero-content,
  .basket-layout.container,
  .merch-grid.container {
    max-width: calc(100% - 28px);
  }

  .hero h1,
  .page-hero h1,
  .merchandise-hero h1 {
    font-size: clamp(2.7rem, 15vw, 4.6rem);
    line-height: .92;
  }

  .merch-grid.container,
  .merch-grid {
    grid-template-columns: 1fr;
  }

  .merch-product-image {
    max-height: 190px;
  }

  .basket-line {
    flex-direction: column;
  }

  .basket-line-controls {
    width: 100%;
    justify-content: space-between;
  }

  .language-actions {
    flex-direction: column;
  }

  .compact-language-grid {
    grid-template-columns: 1fr;
  }
}


/* Website 1 final polish */
:root {
  --radius: 12px;
  --surface: rgba(255,255,255,.055);
  --surface-strong: rgba(255,255,255,.085);
}

.language-floating-button {
  display: none !important;
}

body {
  background:
    linear-gradient(180deg, #030303 0%, #0b0805 42%, #030303 100%);
}

body:before {
  background:
    linear-gradient(135deg, rgba(216,170,67,.11), transparent 28%),
    linear-gradient(180deg, #030303, #090704 48%, #030303);
}

.announcement {
  min-height: 34px;
}

.navrow {
  height: 78px;
}

.brand {
  min-width: 122px;
}

.brand img {
  width: 76px;
}

.nav {
  gap: clamp(14px, 2vw, 24px);
}

.hero {
  min-height: min(760px, calc(100vh - 112px));
}

.hero .container {
  padding: clamp(62px, 8vw, 92px) 0 clamp(54px, 7vw, 78px);
}

.hero-video {
  background:
    linear-gradient(110deg, rgba(0,0,0,.96), rgba(0,0,0,.68), rgba(0,0,0,.98)),
    url('assets/ad-company-logo-transparent.png') 82% 48% / min(520px, 42vw) auto no-repeat;
}

.lead,
.intro p:not(.eyebrow),
.card p,
.card li,
.copy-block p,
.copy-block li {
  color: #d4c8b5;
}

.card,
.form,
.copy-block,
.notice-panel,
.event-card,
.stage-panel,
.city-seo,
.whatsapp-popover,
.language-panel.compact-language-panel {
  border-radius: var(--radius);
}

.card {
  background:
    linear-gradient(160deg, var(--surface-strong), rgba(255,255,255,.02));
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

a.card:hover,
a.card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(246,207,102,.55);
  background:
    linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.03));
}

.statbar,
.proof-strip {
  border-radius: var(--radius);
  overflow: hidden;
}

.trust-ribbon {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.032);
}

.trust-ribbon .container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  padding: 1px;
}

.trust-item {
  min-height: 106px;
  padding: 22px;
  background: #050403;
}

.trust-item strong {
  display: block;
  color: var(--gold2);
  font-family:var(--font-body);
  font-size: clamp(1.3rem, 2.5vw, 2rem);
  line-height: 1;
}

.trust-item span {
  display: block;
  margin-top: 9px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .72rem;
  line-height: 1.45;
}

.language-overlay {
  backdrop-filter: blur(16px);
}

.language-floating-button {
  right: 18px;
  bottom: 18px;
  border-radius: 999px;
  border: 1px solid rgba(246,207,102,.34);
  background: rgba(5,5,5,.84);
  color: var(--cream);
}

.whatsapp-contact {
  bottom: 18px;
}

.whatsapp-toggle {
  min-height: 44px;
  padding: 0 18px;
}

.mobile-cta {
  backdrop-filter: blur(14px);
}

.form-panel {
  align-items: center;
}

.microcopy {
  margin: 0;
}

@media(max-width:1040px) {
  .nav {
    top: 112px;
  }

  .social-top {
    display: none;
  }

  .nav.open {
    gap: 0;
    padding: 10px;
  }

  .nav.open a {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(246,207,102,.12);
  }

  .nav.open a:last-child {
    border-bottom: 0;
  }

  .trust-ribbon .container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .language-floating-button {
    bottom: 86px;
  }

  .whatsapp-contact {
    right: 14px;
    bottom: 142px;
  }
}

@media(max-width:640px) {
  body.competition-hub .brand{
    min-width:132px;
  }

  body.competition-hub .competition-brand-logo{
    width:124px;
    max-height:44px;
  }

  .navrow {
    height: 70px;
  }

  .nav {
    top: 104px;
  }

  .brand img {
    width: 62px;
  }

  .hero-video {
    background:
      linear-gradient(180deg, rgba(0,0,0,.82), rgba(0,0,0,.96)),
      url('assets/ad-company-logo-transparent.png') 50% 18% / min(76vw, 310px) auto no-repeat;
  }

  .hero .container {
    padding-top: 210px;
  }

  .stat {
    padding: 18px;
  }

  .trust-ribbon .container {
    grid-template-columns: 1fr;
  }

  .trust-item {
    min-height: auto;
  }

  .whatsapp-toggle {
    font-size: 0;
    width: 48px;
    height: 48px;
    padding: 0;
  }

  .whatsapp-toggle:before {
    margin-right: 0;
  }
}


/* Merge pass: keep language selector available after skip/selection */
.language-floating-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  position: fixed;
  left: 18px;
  right: auto;
  bottom: 18px;
  z-index: 9998;
  min-height: 40px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(246,207,102,.34);
  background: rgba(5,5,5,.84);
  color: var(--cream);
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 34px rgba(0,0,0,.35);
  font-size: .86rem;
  cursor: pointer;
}

.language-floating-button:hover,
.language-floating-button:focus-visible {
  border-color: var(--gold2);
}

@media(max-width:1040px) {
  .language-floating-button {
    bottom: 86px;
  }
}



/* Staff-editable content layer */
.editable-site-notice {
  width: min(var(--max), calc(100% - 40px));
  margin: 18px auto 0;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  overflow: hidden;
}

.editable-notice-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
}

.notice-label {
  flex: 0 0 auto;
  color: var(--black);
  background: var(--gold2);
  border-radius: 999px;
  padding: 5px 10px;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.notice-text {
  color: var(--soft);
  line-height: 1.45;
}

.editable-site-notice a {
  margin-left: auto;
  color: var(--gold2);
  font-weight: 900;
  white-space: nowrap;
}

.editable-opportunities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.editable-opportunity-card .event-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.opportunity-date,
.opportunity-location {
  color: var(--gold2);
  font-weight: 800;
  margin: 0 0 6px;
}

@media(max-width: 900px) {
  .editable-opportunities-grid {
    grid-template-columns: 1fr;
  }

  .editable-site-notice {
    border-radius: 18px;
  }

  .editable-notice-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .editable-site-notice a {
    margin-left: 0;
  }
}

/* Admin portal additions */
.admin-shell{max-width:980px}.admin-card{border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));padding:clamp(24px,4vw,42px);box-shadow:var(--shadow);margin-bottom:24px}.admin-card.hidden,.admin-panel.hidden,.hidden{display:none!important}.admin-form{display:grid;gap:14px;margin-top:20px}.admin-form .form-message{min-height:24px;margin:4px 0 0;color:var(--muted);text-transform:none;letter-spacing:0;font-size:.95rem}.admin-form .form-message.success{color:#9af0af}.admin-form .form-message.error{color:#ff9e9e}.admin-dashboard-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.admin-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.admin-action{appearance:none;border:1px solid var(--line);background:rgba(0,0,0,.38);color:var(--soft);border-radius:20px;padding:20px;text-align:left;cursor:pointer}.admin-action strong{display:block;color:#fff;font-family:var(--font-body);font-size:1.3rem;margin-bottom:8px}.admin-action span{display:block;color:var(--muted);line-height:1.5}.admin-action.active{border-color:rgba(245,204,108,.68);box-shadow:inset 0 0 0 1px rgba(245,204,108,.24)}.admin-panel{border-top:1px solid var(--line);padding-top:24px}.admin-added-events{display:grid;gap:14px;margin:20px 0}.admin-added-event{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border:1px solid var(--line);border-radius:22px;padding:18px;background:rgba(0,0,0,.35)}.admin-added-event h4{font-family:var(--font-body);font-size:1.45rem;margin:4px 0;color:#fff}.admin-added-event p{color:var(--muted);line-height:1.5}.footer-admin-link{opacity:.82}.footer-admin-link:hover{opacity:1;color:var(--gold2)}
@media(max-width:760px){.admin-dashboard-head,.admin-action-grid,.admin-added-event{display:grid;grid-template-columns:1fr}.admin-action-grid{gap:12px}.admin-card{padding:22px}.admin-hero{padding-top:62px}}

/* Expanded admin suite + fixed editable cards */
.admin-shell{max-width:1040px}.admin-action-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-panel h3{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 6px}.admin-panel h4{color:var(--gold2);font-family:var(--font-body);font-size:1.35rem;margin:24px 0 0}.admin-list-block{margin-top:32px;border-top:1px solid var(--line);padding-top:22px}.admin-export-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.admin-image-preview{min-height:86px;border:1px dashed rgba(245,204,108,.35);border-radius:18px;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;padding:14px}.admin-image-preview img{max-width:180px;max-height:110px;object-fit:contain}.admin-form input[type="file"]{padding:13px;background:rgba(0,0,0,.45)}
.training-date-admin-grid{display:grid;gap:18px}.admin-training-date-toolbar,.admin-training-date-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.admin-training-date-toolbar{justify-content:flex-start}.admin-training-season-field{display:grid;gap:18px;border:1px solid rgba(255,125,43,.24);border-radius:24px;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);padding:20px;box-shadow:0 18px 42px rgba(15,23,42,.08)}.admin-training-season-field>legend{padding:0 8px;color:#ff7d2b;font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem}.admin-training-date-field{display:grid;gap:14px;border:1px solid rgba(31,39,50,.1);border-radius:18px;background:#f8fafc;padding:18px}.admin-training-date-field legend{padding:0 8px;color:var(--gold2);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem}.admin-training-remove-session,.admin-training-remove-season{justify-self:start}
.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:rgba(0,0,0,.28);margin-top:18px}.admin-data-table{width:100%;border-collapse:collapse;min-width:1180px}.admin-data-table th,.admin-data-table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-data-table th{color:var(--gold2);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;background:rgba(255,255,255,.045)}.admin-data-table td{color:var(--soft);font-size:.9rem;line-height:1.45}.admin-data-table tr:last-child td{border-bottom:0}
.legacy-content{max-width:1040px}.legacy-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border-radius:28px;padding:clamp(24px,4vw,46px);box-shadow:var(--shadow)}.legacy-card h3{font-size:clamp(1.45rem,2.4vw,2.5rem);color:#fff;margin:34px 0 12px}.legacy-card h3:first-child{margin-top:0}.legacy-card p,.legacy-card li{color:var(--soft);line-height:1.78;font-size:1rem}.legacy-card p{margin:0 0 14px}.legacy-list{margin:0 0 18px;padding-left:22px}.legacy-source{margin-top:18px}.legacy-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.legacy-gallery figure{margin:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:rgba(0,0,0,.28)}.legacy-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#050505}.legacy-gallery figcaption{padding:12px 14px;color:var(--muted);font-size:.84rem;line-height:1.4}
@media (max-width:760px){.legacy-gallery{grid-template-columns:1fr}.legacy-card{border-radius:20px}}
.editable-opportunity-card{display:flex!important;flex-direction:column;min-height:430px}.editable-opportunity-card h3{font-size:clamp(1.75rem,2.8vw,2.6rem);line-height:.95;margin:12px 0 18px;overflow-wrap:anywhere}.editable-opportunity-card .event-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;color:var(--muted);line-height:1.4;margin:0 0 6px}.editable-opportunity-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}.editable-opportunity-card p{max-width:100%}.editable-opportunity-card .actions{margin-top:auto;display:grid;grid-template-columns:1fr;gap:10px}.editable-opportunity-card .btn{width:100%;justify-content:center;text-align:center}.merch-grid [data-admin-merch-card]{border-color:rgba(245,204,108,.5)}
.editable-opportunity-card .actions.event-card-actions--dual{grid-template-columns:repeat(2,minmax(0,1fr))}.editable-opportunity-card .actions.event-card-actions--dual .btn{min-width:0}
@media(max-width:1040px){.admin-action-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.editable-opportunity-card{min-height:auto}}
@media(max-width:760px){.admin-action-grid-wide,.editable-opportunity-details{grid-template-columns:1fr}.editable-opportunity-card .actions.event-card-actions--dual{grid-template-columns:1fr}.admin-export-actions{display:grid}.admin-panel h3{font-size:2.1rem}}

/* Homepage event cards keep their two remaining actions balanced at every viewport. */
body.home-gateway .home-opportunity-track .actions.event-card-actions--dual{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.admin-event-toolbar{
  align-items:center;
}
.admin-event-form{
  border:1px solid rgba(227,25,55,.16);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.admin-form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.admin-event-manager-list{
  gap:16px;
}
.admin-event-manager-card{
  display:grid;
  grid-template-columns:auto 82px minmax(0,1fr);
  align-items:center;
  background:#fff;
  border-color:rgba(31,39,50,.12);
  color:var(--home-ink);
}
.admin-event-manager-card.is-dragging{
  opacity:.58;
  outline:3px solid rgba(227,25,55,.26);
}
.admin-event-drag-handle{
  width:40px;
  height:40px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#f1f4f8;
  color:#6b7280;
  font-weight:900;
  cursor:grab;
}
.admin-event-thumb{
  width:72px;
  height:72px;
  object-fit:contain;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid rgba(31,39,50,.08);
  padding:8px;
}
.admin-event-summary{
  min-width:0;
}
.admin-event-summary h4{
  color:var(--home-ink);
}
.admin-event-summary p{
  color:var(--muted);
}
.admin-event-status{
  color:var(--home-red);
}
.admin-event-actions{
  display:grid;
  grid-column:1/-1;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  min-width:0;
  width:100%;
}
.admin-event-actions .btn{
  min-height:44px;
  padding:0 12px;
  font-size:.68rem;
  min-width:0;
  white-space:normal;
}
.admin-event-activity-row{
  background:#fff;
}

@media(min-width:1180px){
  .admin-event-manager-card{
    grid-template-columns:auto 82px minmax(0,1fr) minmax(230px,auto);
  }
  .admin-event-actions{
    grid-column:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-width:230px;
    width:auto;
  }
}

@media(max-width:900px){
  .admin-event-manager-card{
    grid-template-columns:44px 76px minmax(0,1fr);
  }
}

@media(max-width:560px){
  .admin-event-manager-card{
    grid-template-columns:1fr;
  }
  .admin-event-drag-handle{
    display:none;
  }
  .admin-event-actions{
    grid-template-columns:1fr;
  }
  .admin-form-actions{
    display:grid;
  }
}

/* Dance Competitions colourway copy - red, white and graphite */
:root{
  --black:#f5f6f8;
  --black2:#ffffff;
  --panel:#ffffff;
  --cream:#171a20;
  --soft:#4d5560;
  --muted:#66707d;
  --gold:#e31937;
  --gold2:#ff3552;
  --gold3:#a70f25;
  --silver:#eef1f4;
  --line:rgba(26,31,38,.14);
  --red:#e31937;
  --orange:#ff7b18;
  --purple:#8e3dff;
  --blue:#008ed6;
  --shadow:0 24px 70px rgba(26,31,38,.13);
}
body{
  background:#f5f6f8;
  color:#171a20;
}
body:before{
  background:
    radial-gradient(circle at 12% 4%,rgba(227,25,55,.12),transparent 30%),
    linear-gradient(180deg,#ffffff,#f5f6f8 42%,#ffffff);
}
body:after{
  background-image:linear-gradient(rgba(26,31,38,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(26,31,38,.035) 1px,transparent 1px);
}
.header,
.comp-header{
  background:rgba(255,255,255,.92);
  border-bottom-color:rgba(26,31,38,.12);
  box-shadow:0 8px 24px rgba(26,31,38,.06);
}
.announcement{
  background:#e31937;
  color:#fff;
  border-bottom:0;
}
.announcement b{
  color:#fff;
}
.nav,
.comp-nav nav{
  color:#303741;
}
.nav a:after{
  background:#e31937;
}
.nav a:hover,
.gold-word,
.eyebrow,
.footer h4,
.card .arrow{
  color:#e31937;
}
.eyebrow:before{
  background:linear-gradient(90deg,#e31937,transparent);
}
.btn-primary{
  background:linear-gradient(135deg,#ff3552,#e31937,#a70f25);
  color:#fff;
  box-shadow:0 16px 38px rgba(227,25,55,.24);
}
.btn-outline{
  background:#fff;
  color:#171a20;
  border-color:rgba(26,31,38,.18);
}
.btn-silver{
  background:#303741;
  color:#fff;
}
.hero,
.page-hero,
.gateway-hero{
  background:
    linear-gradient(110deg,rgba(255,255,255,.96),rgba(247,248,250,.88)),
    radial-gradient(circle at 84% 20%,rgba(227,25,55,.14),transparent 30%);
  border-bottom-color:rgba(26,31,38,.12);
}
.hero-video{
  background:
    linear-gradient(110deg,rgba(255,255,255,.98),rgba(245,246,248,.68)),
    url('assets/dance-competitions-logo-transparent.png') 82% 48%/min(34vw,420px) auto no-repeat;
}
.hero-video:after{
  background:linear-gradient(to bottom,rgba(255,255,255,.08),rgba(255,255,255,.92));
}
.ticker{
  background:#e31937;
  border-color:#e31937;
}
.ticker span,
.ticker b{
  color:#fff;
}
.trust-ribbon,
.section.alt,
.form-panel,
.footer{
  background:#eef1f4;
  border-color:rgba(26,31,38,.12);
}
.card,
.copy-block,
.notice-panel,
.form,
.event-card,
.journey-step,
.admin-card,
.admin-action,
.language-panel,
.whatsapp-popover{
  background:#fff;
  border-color:rgba(26,31,38,.12);
  color:#171a20;
}
.card:before{
  opacity:1;
}
.card p,
.card li,
.intro p:not(.eyebrow),
.lead,
.footer a,
.footer p,
.copy-block p,
.copy-block li,
.microcopy,
.whatsapp-popover p{
  color:#4d5560;
}
.statbar,
.proof-strip{
  background:rgba(26,31,38,.14);
  border-color:rgba(26,31,38,.14);
}
.stat,
.proof-strip div,
.trust-item{
  background:#fff;
}
.stat strong,
.proof-strip strong,
.trust-item strong{
  color:#e31937;
}
.stage-panel{
  background:
    radial-gradient(ellipse at 50% 8%,rgba(227,25,55,.2),transparent 26%),
    linear-gradient(135deg,#ffffff,#e9edf1);
  border-color:rgba(26,31,38,.12);
}
.stage-panel:after{
  color:rgba(227,25,55,.12);
}

/* DanceComp colourway readability fix for the language chooser */
.language-overlay {
  background: rgba(15, 23, 42, .34) !important;
  backdrop-filter: blur(10px) !important;
}

.language-panel,
.compact-language-panel,
.language-panel.compact-language-panel {
  background: #ffffff !important;
  color: #171a20 !important;
  border: 1px solid rgba(227, 25, 55, .24) !important;
  box-shadow: 0 28px 90px rgba(15, 23, 42, .24) !important;
}

.language-panel h2,
.compact-language-panel h2,
#languageTitle {
  color: #171a20 !important;
}

.language-intro,
.language-note,
.language-select-label,
.language-option span,
.compact-language-option span,
.language-details summary {
  color: #4d5560 !important;
}

.language-option,
.compact-language-option,
.language-select {
  background: #ffffff !important;
  color: #171a20 !important;
  border-color: rgba(227, 25, 55, .28) !important;
}

.language-option strong,
.compact-language-option strong,
.language-select option {
  color: #171a20 !important;
}

.language-option:hover,
.language-option:focus-visible,
.compact-language-option:hover,
.compact-language-option:focus-visible,
.language-select:focus-visible {
  border-color: #e31937 !important;
  box-shadow: 0 0 0 3px rgba(227, 25, 55, .16) !important;
}

.language-close {
  background: #ffffff !important;
  color: #171a20 !important;
  border-color: rgba(227, 25, 55, .28) !important;
}

.language-close:hover,
.language-close:focus-visible {
  background: #e31937 !important;
  color: #ffffff !important;
}

.language-actions .btn-outline,
.language-skip {
  background: #ffffff !important;
  color: #e31937 !important;
  border-color: rgba(227, 25, 55, .34) !important;
}

.language-actions .btn-primary,
.language-apply {
  background: linear-gradient(135deg, #ff3552, #e31937, #a70f25) !important;
  color: #ffffff !important;
}

/* DanceComp colourway mobile overflow fix */
@media(max-width:640px) {
  .competition-hub .container,
  .competition-hub .comp-layout,
  .competition-hub .comp-main,
  .competition-hub .location-card,
  .competition-hub .location-detail-grid,
  .competition-hub .location-controls,
  .competition-hub .comp-actions,
  .competition-hub .comp-actions .btn,
  .competition-hub .location-select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .competition-hub .comp-page {
    overflow-x: hidden;
  }

  .competition-hub .container {
    width: min(100% - 28px, var(--max));
  }

  .competition-hub .comp-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .competition-hub .location-card {
    padding: 18px;
  }

}
input,
select,
textarea{
  background:#fff;
  color:#171a20;
  border-color:rgba(26,31,38,.18);
}
label{
  color:#303741;
}
.footer{
  background:#303741;
}
.footer,
.footer h4{
  color:#fff;
}
.footer a,
.footer p{
  color:#d9dde2;
}
.mobile-cta{
  background:rgba(255,255,255,.96);
  border-top-color:rgba(26,31,38,.12);
}
.whatsapp-toggle{
  background:#e31937;
}
.language-floating-button{
  background:#fff;
  color:#171a20;
  border-color:rgba(227,25,55,.28);
}
.client-redesign,
.client-redesign .gateway-hero{
  background:
    radial-gradient(circle at 12% 6%,rgba(227,25,55,.12),transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f5f6f8 62%,#eef1f4 100%);
  color:#171a20;
}
.gateway-card{
  background:#fff;
  border-color:rgba(26,31,38,.12);
  box-shadow:0 18px 52px rgba(26,31,38,.12);
}
.gateway-card strong{
  color:#4d5560;
}
.competition-hub .comp-page{
  background:linear-gradient(90deg,#f5f6f8 0%,#ffffff 72%,#e31937 72%,#e31937 100%);
}
.competition-hub .comp-page .container{
  display:grid;
  gap:28px;
}
.competition-hub .comp-page .comp-main{
  max-width:none;
}
.location-card,
.quick-links{
  background:#fff;
  color:#171a20;
  border-color:rgba(26,31,38,.12);
}
.location-card h2,
.quick-links h2{
  color:#171a20;
}
.ticket-panel{
  background:#303741;
}
.ticket-panel h3,
.ticket-panel a{
  color:#fff;
}
.quick-links a{
  color:#303741;
}
.competition-hub .comp-page .quick-links{
  position:static;
  margin-top:0;
  max-width:420px;
}
@media(max-width:1040px){
  .nav{
    background:#fff;
    border-color:rgba(26,31,38,.12);
  }
}
@media(max-width:760px){
  .admin-attribution-dl-wide{grid-template-columns:1fr}
  .admin-attribution-tabs button{flex:1 1 100%}
}
@media(max-width:980px){
  .competition-hub .comp-page{
    background:#f5f6f8;
  }
  .competition-hub .comp-page .quick-links{
    max-width:none;
  }
}

.label-note{
  display:block;
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  margin-top:2px;
  text-transform:none;
}

/* Bright production theme consolidation - Aaron Dwyer Company */
:root{
  --black:#f7f8fa;
  --black2:#ffffff;
  --panel:#ffffff;
  --cream:#171a20;
  --soft:#3d4550;
  --muted:#65717f;
  --gold:#e31937;
  --gold2:#e31937;
  --gold3:#9f1024;
  --silver:#eef1f4;
  --line:rgba(31,39,50,.13);
  --red:#e31937;
  --orange:#f07a1a;
  --purple:#8e3dff;
  --blue:#007fc8;
  --cyan:#009fb8;
  --shadow:0 18px 55px rgba(31,39,50,.10);
  --radius:24px;
}

html,
body{
  background:#f7f8fa !important;
  color:#171a20 !important;
}

body:before{
  background:
    radial-gradient(circle at 12% 2%,rgba(227,25,55,.10),transparent 30%),
    radial-gradient(circle at 88% 10%,rgba(180,187,197,.20),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f7f8fa 46%,#eef1f4 100%) !important;
}

body:after{
  background-image:
    linear-gradient(rgba(31,39,50,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(31,39,50,.035) 1px,transparent 1px) !important;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.42),transparent 72%) !important;
}

.header,
.comp-header{
  background:rgba(255,255,255,.94) !important;
  border-bottom:1px solid rgba(31,39,50,.12) !important;
  box-shadow:0 10px 34px rgba(31,39,50,.08) !important;
}

.announcement{
  background:#e31937 !important;
  color:#fff !important;
  border-bottom:0 !important;
}

.announcement b,
.nav a:hover,
.gold-word,
.eyebrow,
.card .arrow,
.footer h4{
  color:#e31937 !important;
}

.nav,
.comp-nav nav,
.brand-text{
  color:#303741 !important;
}

.nav a:after,
.eyebrow:before{
  background:linear-gradient(90deg,#e31937,transparent) !important;
}

.menu{
  color:#e31937 !important;
  border-color:rgba(227,25,55,.28) !important;
  background:#fff !important;
}

.hero,
.page-hero,
.gateway-hero,
.merch-hero,
.merchandise-hero,
.admin-hero,
.social-hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(227,25,55,.11),transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#f8f9fb 58%,#eef1f4 100%) !important;
  border-bottom:1px solid rgba(31,39,50,.12) !important;
  color:#171a20 !important;
}

.hero-video{
  background:
    linear-gradient(105deg,rgba(255,255,255,.98),rgba(247,248,250,.82)),
    url('assets/dance-competitions-logo-transparent.png') 84% 48%/min(34vw,430px) auto no-repeat !important;
}

.hero-video:after{
  background:linear-gradient(to bottom,rgba(255,255,255,.05),rgba(255,255,255,.82)) !important;
}

h1,h2,h3,
.display,
.page-hero h1,
.hero h1,
.card h3,
.copy-block h3,
.admin-panel h3,
.legacy-card h3,
.merch-card-body h3,
.gateway-card strong{
  color:#171a20 !important;
}

.lead,
.hero .lead,
.page-hero .lead,
.intro p:not(.eyebrow),
.card p,
.card li,
.copy-block p,
.copy-block li,
.microcopy,
.event-meta,
.legacy-card p,
.legacy-card li,
.legacy-source,
.merch-card-body p,
.gateway-card span,
.gateway-card strong,
.admin-action span,
.admin-added-event p,
.form-message{
  color:#4d5866 !important;
}

.section{
  background:transparent !important;
}

.section.alt,
.trust-ribbon,
.form-panel,
.comp-page,
.competition-hub .comp-page,
.client-redesign,
.client-redesign .gateway-hero{
  background:
    linear-gradient(180deg,#f2f4f7 0%,#ffffff 100%) !important;
  border-color:rgba(31,39,50,.12) !important;
}

.card,
.copy-block,
.notice-panel,
.form,
.event-card,
.journey-step,
.admin-card,
.admin-action,
.admin-added-event,
.language-panel,
.compact-language-panel,
.whatsapp-popover,
.legacy-card,
.legacy-gallery figure,
.location-card,
.quick-links,
.gateway-card,
.merch-card,
.merch-card.card,
.basket-summary,
#merchOrderForm,
.social-card,
.stream-card,
.trust-item{
  background:#ffffff !important;
  color:#171a20 !important;
  border:1px solid rgba(31,39,50,.12) !important;
  box-shadow:0 18px 55px rgba(31,39,50,.10) !important;
}

.card:before,
.gateway-card:after{
  opacity:1 !important;
}

.card.compete,
.gateway-card.compete,
.competition-card{
  --accent:var(--red);
}

.card.train,
.gateway-card.train,
.development-card{
  --accent:var(--orange);
}

.card.intensive,
.gateway-card.intensive,
.intensive-card{
  --accent:var(--purple);
}

.card.perform,
.gateway-card.perform,
.production-card{
  --accent:var(--blue);
}

.card .arrow,
.quick-links a{
  color:var(--accent,#e31937) !important;
}

.btn-primary,
.language-actions .btn-primary,
.language-apply{
  background:linear-gradient(135deg,#ff4a62,#e31937,#a70f25) !important;
  color:#ffffff !important;
  border-color:transparent !important;
  box-shadow:0 16px 34px rgba(227,25,55,.23) !important;
}

.btn-outline,
.language-actions .btn-outline,
.language-skip,
.btn-silver{
  background:#ffffff !important;
  color:#171a20 !important;
  border-color:rgba(31,39,50,.18) !important;
  box-shadow:0 10px 28px rgba(31,39,50,.08) !important;
}

.btn:hover{
  box-shadow:0 18px 38px rgba(31,39,50,.12) !important;
}

input,
select,
textarea,
.merch-form select,
.merch-form input,
.merch-form textarea,
.merch-card-body select,
.merch-card-body input,
#merchOrderForm input,
#merchOrderForm textarea,
#merchOrderForm select,
.admin-form input,
.admin-form select,
.admin-form textarea,
.language-select{
  background:#ffffff !important;
  color:#171a20 !important;
  border:1px solid rgba(31,39,50,.18) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7) !important;
}

input::placeholder,
textarea::placeholder{
  color:#7b8795 !important;
}

select option{
  color:#171a20 !important;
  background:#ffffff !important;
}

label,
.merch-form label,
.merch-card-body label,
.language-select-label{
  color:#303741 !important;
}

input:focus,
select:focus,
textarea:focus,
.form input:focus,
.form select:focus,
.form textarea:focus{
  outline:3px solid rgba(227,25,55,.20) !important;
  border-color:#e31937 !important;
}

.statbar,
.proof-strip{
  background:rgba(31,39,50,.13) !important;
  border-color:rgba(31,39,50,.13) !important;
}

.stat,
.proof-strip div{
  background:#ffffff !important;
}

.stat strong,
.proof-strip strong,
.merch-price,
.merch-card-body .merch-price{
  color:#e31937 !important;
}

.ticker{
  background:#e31937 !important;
  border-color:#e31937 !important;
}

.ticker span,
.ticker b{
  color:#ffffff !important;
}

.stage-panel,
.pillar-card,
.pillar-card.compete,
.pillar-card.train,
.pillar-card.perform{
  background:
    radial-gradient(circle at 50% 0%,rgba(227,25,55,.16),transparent 28%),
    linear-gradient(135deg,#ffffff,#e9edf1) !important;
  color:#171a20 !important;
  border-color:rgba(31,39,50,.12) !important;
}

.stage-panel:before,
.pillar-card:after{
  background:linear-gradient(to bottom,rgba(255,255,255,.45),rgba(255,255,255,.06)) !important;
}

.stage-panel:after{
  color:rgba(227,25,55,.12) !important;
}

.event-visual,
.merch-product-image,
.merch-image,
.admin-image-preview,
.legacy-gallery img{
  background:
    linear-gradient(135deg,#ffffff,#eef1f4) !important;
}

.quote,
.admin-action strong,
.admin-added-event h4,
.whatsapp-popover strong,
.language-panel h2,
#languageTitle{
  color:#171a20 !important;
}

.quote-card{
  background:#ffffff !important;
}

.ticket-panel{
  background:#303741 !important;
  color:#ffffff !important;
  box-shadow:0 18px 44px rgba(31,39,50,.16) !important;
}

.ticket-panel h3,
.ticket-panel a{
  color:#ffffff !important;
}

.footer{
  background:
    linear-gradient(180deg,#ffffff 0%,#eef1f4 100%) !important;
  color:#171a20 !important;
  border-top:1px solid rgba(31,39,50,.12) !important;
}

.footer a,
.footer p{
  color:#4d5866 !important;
}

.footer a:hover{
  color:#e31937 !important;
}

.mobile-cta{
  background:rgba(255,255,255,.96) !important;
  border-top:1px solid rgba(31,39,50,.12) !important;
  box-shadow:0 -16px 40px rgba(31,39,50,.10) !important;
}

.whatsapp-toggle{
  background:#e31937 !important;
  color:#ffffff !important;
  box-shadow:0 16px 34px rgba(227,25,55,.24) !important;
}

.whatsapp-close,
.language-close,
.language-floating-button{
  background:#ffffff !important;
  color:#171a20 !important;
  border-color:rgba(31,39,50,.18) !important;
}

.language-overlay{
  background:rgba(31,39,50,.28) !important;
}

.language-option,
.compact-language-option{
  background:#ffffff !important;
  color:#171a20 !important;
  border-color:rgba(31,39,50,.14) !important;
}

.language-option strong,
.compact-language-option strong{
  color:#171a20 !important;
}

.admin-body{
  background:#f7f8fa !important;
}

.admin-panel{
  border-top-color:rgba(31,39,50,.12) !important;
}

.admin-action.active{
  border-color:rgba(227,25,55,.46) !important;
  box-shadow:inset 0 0 0 1px rgba(227,25,55,.16),0 18px 48px rgba(31,39,50,.10) !important;
}

.admin-form .form-message.success{
  color:#067a31 !important;
}

.admin-form .form-message.error,
.form-message[data-type="error"]{
  color:#b3132f !important;
}

.admin-table-wrap{
  background:#ffffff !important;
  border-color:rgba(31,39,50,.12) !important;
}

.admin-data-table th{
  background:#f2f4f7 !important;
  color:#303741 !important;
}

.admin-data-table td{
  color:#4d5866 !important;
}

.legacy-gallery figcaption,
.language-intro,
.language-note,
.language-option span,
.compact-language-option span,
.language-details summary{
  color:#4d5866 !important;
}

.social-big-icon{
  background:#ffffff !important;
  border-color:rgba(31,39,50,.12) !important;
  color:#171a20 !important;
}

.instagram-card .social-big-icon,
.facebook-card .social-big-icon{
  color:#ffffff !important;
}

.gateway-card img,
.brand img,
.footer img,
.page-logo-large,
.page-logo-medium,
.route-logo{
  filter:none !important;
}

body.competition-hub .brand{
  min-width:170px;
}

body.competition-hub .competition-brand-logo{
  width:150px;
  max-width:100%;
  max-height:58px;
  height:auto;
  object-fit:contain;
  object-position:left center;
}

.development-brand-logo{
  width:158px;
  max-width:100%;
  max-height:58px;
  height:auto;
  object-fit:contain;
  object-position:left center;
}

.intensives-brand-logo{
  width:150px;
  max-width:100%;
  max-height:58px;
  height:auto;
  object-fit:contain;
  object-position:left center;
}

.productions-brand-logo{
  width:150px;
  max-width:100%;
  max-height:58px;
  height:auto;
  object-fit:contain;
  object-position:left center;
}
body.perform-page .productions-brand-logo{
  width:auto;
  max-width:82px;
  max-height:73px;
  object-fit:contain;
}

body.intensives-page .footer .footer-grid > div:first-child > img[src*="aaron-dwyer-intensives-logo-transparent.png"]{
  width:170px;
  height:170px;
  object-fit:contain;
}

body.events-page .header .brand img[src*="aaron-dwyer-events-logo.png"]{
  width:76px;
  height:76px;
  object-fit:contain;
}

body.events-page .footer .footer-grid > div:first-child > img[src*="aaron-dwyer-events-logo.png"]{
  width:170px;
  height:170px;
  object-fit:contain;
}

@media(max-width:640px){
  body.events-page .header .brand img[src*="aaron-dwyer-events-logo.png"]{
    width:62px;
    height:62px;
  }

  body.perform-page .productions-brand-logo{
    max-width:66px;
    max-height:64px;
  }
}

@media(max-width:1040px){
  .nav{
    background:#ffffff !important;
    color:#303741 !important;
    border-color:rgba(31,39,50,.12) !important;
    box-shadow:0 24px 70px rgba(31,39,50,.16) !important;
  }
}

@media(max-width:640px){
  .hero,
  .page-hero,
  .gateway-hero{
    background:
      radial-gradient(circle at 80% 4%,rgba(227,25,55,.10),transparent 30%),
      linear-gradient(180deg,#ffffff 0%,#f7f8fa 100%) !important;
  }

  .hero-video{
    background:
      linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,248,250,.86)),
      url('assets/dance-competitions-logo-transparent.png') 92% 22%/min(62vw,260px) auto no-repeat !important;
  }
}

/* Launch hardening polish - form state, anti-spam widget and DNS-safe deployment notes support */
.turnstile-slot{
  margin:6px 0 4px;
  min-height:65px;
}
.form button[disabled],
#stripeCheckoutButton[disabled],
.btn[disabled]{
  opacity:.68;
  cursor:not-allowed;
  transform:none !important;
}
.form-message[data-type="info"],
#formMessage[data-type="info"]{
  color:#4d5866 !important;
}
.form-message[data-type="success"],
#formMessage[data-type="success"]{
  color:#067a31 !important;
  font-weight:800;
}
.form-message[data-type="error"],
#formMessage[data-type="error"]{
  color:#b3132f !important;
  font-weight:800;
}

/* ================================================================
   Homepage experience redesign: cinematic film + clear AD pathway
   ================================================================ */
.home-gateway{
  --adc-pink:#ff01a0;
  --adc-pink-hover:#ff01a0;
  --home-ink:#151820;
  --home-copy:#4c5663;
  --home-paper:#ffffff;
  --home-mist:#f2f4f7;
  --home-line:rgba(24,31,42,.13);
  --home-red:#ff01a0;
  --home-orange:#f07a1a;
  --home-purple:#8e3dff;
  --home-blue:#007fc8;
}

.home-gateway .header{
  position:absolute !important;
  inset:0 0 auto 0;
  top:0 !important;
  z-index:80;
  background:linear-gradient(180deg,rgba(6,8,12,.68),rgba(6,8,12,0)) !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  transition:background .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.home-gateway .header .navrow{height:96px}
.home-gateway .header:not(.is-scrolled) .brand{
  min-width:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.home-gateway .header:not(.is-scrolled) .brand img{width:72px}
.home-gateway .header .home-main-brand{
  overflow:visible;
  clip-path:none;
  mask-image:none;
}
.home-gateway .header .home-main-logo{
  height:auto;
  max-width:76px;
  max-height:76px;
  object-fit:contain;
  border-radius:0;
  background:transparent;
}
.home-gateway .header:not(.is-scrolled) .home-main-logo{
  width:72px;
  max-width:72px;
  max-height:73px;
}
.home-gateway .header:not(.is-scrolled) .nav a:not(.nav-cta){color:#fff !important;text-shadow:0 1px 18px rgba(0,0,0,.5)}
.home-gateway .header:not(.is-scrolled) .nav a:not(.nav-cta):hover{color:#fff !important}
.home-gateway .header:not(.is-scrolled) .nav-cta{
  background:var(--home-red) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 14px 34px rgba(227,25,55,.3);
}
.home-gateway .header:not(.is-scrolled) .menu{
  color:#fff !important;
  background:rgba(8,10,14,.48) !important;
  border-color:rgba(255,255,255,.32) !important;
  backdrop-filter:blur(12px);
}
.home-gateway .header.is-scrolled{
  position:fixed !important;
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid var(--home-line) !important;
  box-shadow:0 12px 34px rgba(24,31,42,.1) !important;
  backdrop-filter:blur(18px) !important;
}
.home-gateway .header.is-scrolled .nav a:not(.nav-cta){color:#303741 !important;text-shadow:none}
.home-gateway .header.is-scrolled .nav-cta{background:var(--home-red) !important;color:#fff !important;border-color:transparent !important}

.home-film-hero,
.home-gateway .home-film-hero.hero{
  position:relative;
  min-height:100svh !important;
  height:auto;
  display:grid;
  align-items:end;
  overflow:hidden;
  isolation:isolate;
  padding:150px 0 108px !important;
  background:#111 !important;
  border:0 !important;
  color:#fff !important;
}
.home-film-video{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover;
  object-position:center center;
  background:#111;
  filter:saturate(1.04) contrast(1.03);
}
.home-film-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(8,10,15,.9) 0%,rgba(8,10,15,.68) 42%,rgba(8,10,15,.18) 76%,rgba(8,10,15,.12) 100%),
    linear-gradient(180deg,rgba(5,7,10,.42) 0%,rgba(5,7,10,.04) 42%,rgba(5,7,10,.75) 100%);
}
.home-film-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:180px;
  z-index:-1;
  background:linear-gradient(180deg,rgba(247,248,250,0),#f7f8fa 96%);
  pointer-events:none;
}
.home-film-content{width:min(1240px,calc(100% - 40px));padding:0 !important}
.home-film-copy{max-width:900px;display:grid;gap:0}
.home-film-copy .eyebrow{
  color:#fff !important;
  margin-bottom:24px;
  text-shadow:0 2px 20px rgba(0,0,0,.5);
}
.home-film-copy .eyebrow:before{background:linear-gradient(90deg,var(--home-red),rgba(255,255,255,.1)) !important}
.home-film-copy h1{
  max-width:940px !important;
  margin:0;
  color:#fff !important;
  font-size:clamp(3.25rem,7.4vw,7.3rem) !important;
  line-height:.91 !important;
  letter-spacing:-.065em !important;
  text-wrap:balance;
  text-shadow:0 4px 34px rgba(0,0,0,.42);
}
.home-film-copy .lead{
  max-width:790px;
  margin:30px 0 0;
  color:rgba(255,255,255,.9) !important;
  font-size:clamp(1.06rem,1.55vw,1.32rem);
  line-height:1.65;
  text-shadow:0 2px 20px rgba(0,0,0,.46);
}
.home-film-copy .actions{margin-top:34px}
.home-film-copy .btn-primary{
  background:var(--home-red) !important;
  color:#fff !important;
  border-color:var(--home-red) !important;
  box-shadow:0 18px 42px rgba(227,25,55,.34) !important;
}
.btn-ghost-light{
  background:rgba(8,10,14,.3) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.45) !important;
  backdrop-filter:blur(12px);
}
.btn-ghost-light:hover{background:rgba(255,255,255,.13) !important;border-color:#fff !important}
.home-film-tools{
  position:absolute;
  left:160px;
  bottom:22px;
  z-index:5;
  display:flex;
  gap:8px;
}
.home-film-control{
  min-height:44px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:rgba(8,10,14,.38);
  color:#fff;
  font-family:var(--font-body);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  backdrop-filter:blur(12px);
}
.home-film-control:hover,.home-film-control:focus-visible{background:rgba(255,255,255,.16);border-color:#fff}
.home-scroll-cue{
  position:absolute;
  left:50%;
  bottom:21px;
  z-index:5;
  display:grid;
  justify-items:center;
  gap:8px;
  transform:translateX(-50%);
  color:#fff;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.home-scroll-cue i{display:block;width:1px;height:34px;background:linear-gradient(#fff,transparent);animation:homeScrollCue 1.8s ease-in-out infinite}
@keyframes homeScrollCue{0%,100%{transform:scaleY(.5);transform-origin:top;opacity:.45}50%{transform:scaleY(1);opacity:1}}
.home-video-error .home-film-video{display:none}

.home-purpose{position:relative;background:#f7f8fa !important;padding-top:100px !important}
.home-purpose-intro,
.home-section-heading{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(300px,.72fr);
  gap:72px;
  align-items:end;
  margin-bottom:48px;
}
.home-purpose-intro h2,
.home-section-heading h2,
.home-journey-copy h2,
.home-final-cta h2{
  color:var(--home-ink) !important;
  font-size:clamp(2.45rem,5vw,5.4rem);
  line-height:.96;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.home-purpose-intro > p,
.home-section-heading > p,
.home-section-heading > div:last-child p{
  margin:0;
  color:var(--home-copy) !important;
  font-size:1.04rem;
  line-height:1.75;
}
.home-purpose .eyebrow,
.home-opportunities .eyebrow,
.home-audiences .eyebrow,
.home-journey .eyebrow{
  color:var(--home-red) !important;
}
.home-pathway-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.home-pathway-card{
  --path-accent:var(--home-red);
  position:relative;
  min-height:330px;
  display:flex;
  flex-direction:column;
  gap:12px;
  overflow:hidden;
  padding:24px;
  border:1px solid var(--home-line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 20px 60px rgba(24,31,42,.08);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.home-pathway-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:var(--path-accent);
}
.home-pathway-card:after{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  right:-85px;
  top:-85px;
  border-radius:50%;
  background:color-mix(in srgb,var(--path-accent) 13%,transparent);
  transition:transform .35s ease;
}
.home-pathway-card:hover{
  transform:translateY(-8px);
  border-color:color-mix(in srgb,var(--path-accent) 42%,transparent);
  box-shadow:0 30px 74px rgba(24,31,42,.13);
}
.home-pathway-card:hover:after{transform:scale(1.35)}
.home-pathway-card.compete{--path-accent:#e31937}
.home-pathway-card.train{--path-accent:var(--home-orange)}
.home-pathway-card.intensive{--path-accent:var(--home-purple)}
.home-pathway-card.perform{--path-accent:var(--home-blue)}
.home-pathway-number{
  position:absolute;
  top:22px;
  right:22px;
  z-index:2;
  color:#89929e;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.18em;
}
.home-pathway-card img{
  width:86px;
  height:86px;
  object-fit:contain;
  margin:14px 0 8px;
  border-radius:15px;
}
.home-pathway-card h3{
  margin-top:26px;
  color:var(--path-accent) !important;
  font-family:var(--font-body),Lato,Arial,Helvetica,sans-serif !important;
  font-size:clamp(1.75rem,2.2vw,2.45rem);
  font-weight:900 !important;
  line-height:1.02;
  letter-spacing:-.04em;
}
.home-pathway-card.intensive h3{
  color:#A723C4 !important;
}
.home-pathway-card > p{
  margin:0;
  color:var(--home-copy) !important;
  line-height:1.7;
}
.home-pathway-link{
  margin-top:auto;
  margin-bottom:18px;
  color:#000 !important;
  font-family:var(--font-body),Lato,Arial,Helvetica,sans-serif !important;
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-journey{
  background:linear-gradient(145deg,#eef1f4 0%,#fff 54%,#f3f5f8 100%) !important;
  border-block:1px solid var(--home-line) !important;
}
.home-journey-layout{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(460px,1.12fr);
  gap:86px;
  align-items:center;
}
.home-journey-copy .lead{margin:28px 0 30px;color:var(--home-copy) !important;max-width:620px}
.home-journey-steps{
  list-style:none;
  display:grid;
  gap:1px;
  margin:0;
  padding:1px;
  border:1px solid var(--home-line);
  border-radius:28px;
  overflow:hidden;
  background:var(--home-line);
  box-shadow:0 24px 64px rgba(24,31,42,.09);
}
.home-journey-steps li{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:18px;
  align-items:start;
  padding:25px 28px;
  background:#fff;
}
.home-journey-steps li > span{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:50%;
  background:#f4f6f8;
  color:var(--home-red);
  font-weight:900;
  letter-spacing:.08em;
}
.home-journey-steps strong{display:block;color:var(--home-ink);font-size:1.35rem;line-height:1.1}
.home-journey-steps p{margin:7px 0 0;color:var(--home-copy);line-height:1.62}

.home-opportunities{background:#fff !important}
.home-section-heading > div:last-child{align-self:end}
.memories-heading{
  grid-template-columns:minmax(0,1fr);
}
.memories-heading h2{
  max-width:none;
  font-size:clamp(2.55rem,4.65vw,5.25rem);
  white-space:nowrap;
}
.text-link{
  display:inline-flex;
  margin-top:18px;
  color:var(--adc-pink);
  font-size:clamp(.95rem,1.25vw,1.1rem);
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.home-opportunity-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.home-opportunity-card,
.home-opportunity-grid > .card{
  --opportunity-accent:var(--home-red);
  position:relative;
  min-height:345px;
  display:flex;
  flex-direction:column;
  padding:30px;
  overflow:hidden;
  border:1px solid var(--home-line) !important;
  border-radius:24px !important;
  background:linear-gradient(155deg,#fff 0%,#f7f8fa 100%) !important;
  box-shadow:0 18px 52px rgba(24,31,42,.08) !important;
}
.home-opportunity-card:before,
.home-opportunity-grid > .card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  height:auto;
  background:var(--opportunity-accent);
  opacity:1;
}
.home-opportunity-card.train{--opportunity-accent:var(--home-orange)}
.home-opportunity-card.perform{--opportunity-accent:var(--home-blue)}
.home-opportunity-meta,
.home-opportunity-grid .event-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:0 0 35px !important;
  color:#6c7682 !important;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.home-opportunity-card h3,
.home-opportunity-grid > .card h3{color:var(--home-ink) !important;font-size:clamp(1.8rem,2.6vw,2.75rem);line-height:1}
.home-opportunity-card > p:not(.home-opportunity-meta),
.home-opportunity-grid > .card > p{
  color:var(--home-copy) !important;
  line-height:1.7;
}
.home-opportunity-card > a{
  margin-top:auto;
  color:var(--home-red);
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.home-opportunity-grid .actions{margin-top:auto}
.home-opportunity-grid .btn{min-height:46px;padding:0 15px;font-size:.67rem}

.home-audiences{
  background:linear-gradient(180deg,#f3f5f7,#fff) !important;
  border-top:1px solid var(--home-line) !important;
}
.home-section-heading.compact{margin-bottom:38px}
.home-audience-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.home-audience-grid article{
  min-height:290px;
  padding:30px;
  border:1px solid var(--home-line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 46px rgba(24,31,42,.06);
}
.home-audience-grid article > span{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:44px;
  border-radius:50%;
  background:#f1f3f6;
  color:var(--home-red);
  font-weight:900;
}
.home-audience-grid h3{color:var(--home-ink) !important;font-size:2rem}
.home-audience-grid p{color:var(--home-copy) !important;line-height:1.72}

.home-reassurance{
  background:#fff !important;
  border-top:1px solid var(--home-line);
}
.home-reassurance-layout{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);
  gap:72px;
  align-items:center;
}
.home-reassurance h2{
  color:var(--home-ink) !important;
  font-size:clamp(2.35rem,4.8vw,5rem);
  line-height:.96;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.home-reassurance .eyebrow{color:var(--home-red) !important}
.home-reassurance .lead{color:var(--home-copy) !important;margin-top:24px}
.home-reassurance-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.home-reassurance-grid article,
.info-pack-guide article{
  border:1px solid var(--home-line,rgba(24,31,42,.12));
  border-radius:20px;
  background:linear-gradient(155deg,#fff 0%,#f7f8fa 100%);
  box-shadow:0 16px 44px rgba(24,31,42,.06);
  padding:24px;
}
.home-reassurance-grid strong,
.info-pack-guide strong{
  display:block;
  color:var(--home-ink,#171d26);
  font-size:1.08rem;
  line-height:1.25;
  margin-bottom:9px;
}
.home-reassurance-grid p,
.info-pack-guide p{
  margin:0;
  color:var(--home-copy,#5f6873) !important;
  line-height:1.68;
}
.info-pack-guide{
  display:grid;
  gap:12px;
  margin:28px 0;
}

.home-final-cta{
  position:relative;
  overflow:hidden;
  padding:clamp(72px,8vw,110px) 0;
  background:linear-gradient(135deg,#e31937 0%,#c90e2a 58%,#9f1024 100%);
  color:#fff;
}
.home-final-cta:before{
  content:"";
  position:absolute;
  width:480px;
  height:480px;
  right:-150px;
  top:-240px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.025);
}
.home-final-cta-inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) auto;
  gap:60px;
  align-items:end;
}
.home-final-cta .eyebrow{color:#fff !important}
.home-final-cta .eyebrow:before{background:linear-gradient(90deg,#fff,transparent) !important}
.home-final-cta h2{max-width:930px;color:#fff !important;font-size:clamp(2.45rem,4.9vw,5.2rem)}
.home-final-actions{display:grid;gap:12px;min-width:280px}
.home-final-cta .btn-primary{background:#fff !important;color:#b3132f !important;border-color:#fff !important;box-shadow:0 18px 40px rgba(88,0,14,.2) !important}
.home-final-cta .btn-outline{background:transparent !important;color:#fff !important;border-color:rgba(255,255,255,.48) !important}
.home-gateway .home-final-cta{background:#000 !important}

@media(max-width:1120px){
  .home-pathway-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-pathway-card{min-height:310px}
  .home-journey-layout{grid-template-columns:1fr;gap:48px}
}

@media(max-width:1040px){
  .home-gateway .header:not(.is-scrolled) .nav.open,
  .home-gateway .header.is-scrolled .nav.open{
    top:86px;
    background:#fff !important;
    color:#303741 !important;
    border:1px solid var(--home-line) !important;
    box-shadow:0 24px 70px rgba(24,31,42,.18) !important;
  }
  .home-gateway .header .nav.open a:not(.nav-cta){color:#303741 !important;text-shadow:none !important}
  .home-gateway .header .nav.open .nav-cta{color:#fff !important}
  .home-purpose-intro,.home-section-heading{grid-template-columns:1fr;gap:24px;align-items:start}
  .home-opportunity-grid,.home-audience-grid{grid-template-columns:1fr}
  .home-reassurance-layout{grid-template-columns:1fr;gap:34px}
  .home-final-cta-inner{grid-template-columns:1fr;gap:34px}
  .home-final-actions{display:flex;flex-wrap:wrap;min-width:0}
}

@media(max-width:720px){
  .home-gateway .header .navrow{height:82px}
  .home-gateway .header:not(.is-scrolled) .brand{padding:5px 10px}
  .home-gateway .header:not(.is-scrolled) .brand img{width:60px}
  .home-gateway .header:not(.is-scrolled) .home-main-brand{padding:0}
  .home-gateway .header:not(.is-scrolled) .home-main-logo{
    width:62px;
    max-width:62px;
    max-height:62px;
  }
  .home-film-hero,
  .home-gateway .home-film-hero.hero{
    min-height:100svh !important;
    padding:126px 0 155px !important;
    align-items:end;
  }
  .home-film-video{object-position:58% center}
  .home-film-overlay{
    background:
      linear-gradient(180deg,rgba(6,8,12,.52) 0%,rgba(6,8,12,.18) 28%,rgba(6,8,12,.84) 66%,rgba(6,8,12,.94) 100%),
      linear-gradient(90deg,rgba(6,8,12,.35),rgba(6,8,12,.05));
  }
  .home-film-copy h1{font-size:clamp(3rem,14.5vw,5.2rem) !important;line-height:.94 !important}
  .home-film-copy .lead{font-size:1rem;line-height:1.58;margin-top:22px}
  .home-film-copy .actions{margin-top:25px}
  .home-film-copy .actions .btn{width:100%}
  .home-film-tools{left:14px;bottom:128px;gap:6px}
  .home-film-control{min-height:44px;padding:0 12px;font-size:.62rem}
  .home-scroll-cue{display:none}
  .home-purpose{padding-top:74px !important}
  .home-pathway-grid{grid-template-columns:1fr}
  .home-pathway-card{min-height:305px;padding:24px}
  .home-purpose-intro h2,.home-section-heading h2,.home-journey-copy h2,.home-final-cta h2{font-size:clamp(2.35rem,11.5vw,3.75rem)}
  .memories-heading h2{white-space:normal}
  .home-journey-steps li{grid-template-columns:50px 1fr;padding:22px 18px;gap:13px}
  .home-journey-steps li > span{width:42px;height:42px;font-size:.75rem}
  .home-opportunity-card,.home-opportunity-grid > .card{min-height:310px;padding:25px}
  .home-audience-grid article{min-height:250px;padding:25px}
  .home-audience-grid article > span{margin-bottom:32px}
  .home-reassurance-grid{grid-template-columns:1fr}
  .home-reassurance-grid article,.info-pack-guide article{padding:22px}
  .home-final-actions{display:grid}
  .home-final-actions .btn{width:100%}
}

.section-slim{padding:28px 0}
.proof-strip{background:#fff !important;border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line)}
.proof-strip-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 34px;text-align:center}
.proof-strip-inner strong{color:var(--home-ink);font-size:clamp(1rem,1.7vw,1.45rem);letter-spacing:.02em}
.home-energy{background:#fff !important}
.home-energy-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1fr);gap:62px;align-items:end}
.home-energy h2{color:var(--home-ink) !important;font-size:clamp(2.6rem,6vw,6rem)}
.home-energy .lead{color:var(--home-copy) !important}
.image-ready-grid,.testimonial-grid,.pack-card-grid,.event-category-grid,.feature-grid,.faq-grid,.profile-ready-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.competition-hub .feature-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.competition-hub .feature-card{
  min-height:310px;
}
.event-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.image-ready-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.image-ready-card,.testimonial-grid article,.pack-card,.event-category-card,.feature-card,.faq-grid details,.profile-ready-grid article{
  position:relative;
  border:1px solid var(--home-line);
  border-radius:24px;
  background:linear-gradient(155deg,#fff 0%,#f7f8fa 100%);
  box-shadow:0 18px 52px rgba(24,31,42,.07);
  padding:28px;
  overflow:hidden;
}
.image-ready-card{min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,#eef1f5,#fff)}
.image-ready-card.large{grid-column:span 2}
.image-ready-card.tall{min-height:520px}
.image-memory-card{
  min-height:380px;
  background:#181f2a;
}
.image-memory-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.image-memory-card.memory-auditorium img{object-position:center 44%}
.image-memory-card.memory-awards img{object-position:center center}
.image-memory-card.memory-workshops img{object-position:center center}
.image-memory-card.memory-training img{object-position:46% center}
.image-memory-card.memory-performance img{object-position:center center}
.atmosphere-feature-slideshow{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  border-radius:inherit;
  background:#181f2a;
}
.atmosphere-feature-slide{
  opacity:0;
  transition:opacity .7s ease;
  pointer-events:none;
  transform:scale(1);
  will-change:opacity,transform;
}
.atmosphere-feature-slide--active{
  opacity:1;
  transform:scale(1.02);
}
.atmosphere-feature-slide--failed{
  display:none;
}
.image-memory-card.memory-auditorium .atmosphere-feature-slide--auditorium{object-position:center 44%}
.image-memory-card.memory-auditorium .atmosphere-feature-slide--extensions{object-position:center 58%}
.image-memory-card.memory-auditorium .atmosphere-feature-slide--leaps{object-position:center 52%}
.image-memory-card.memory-auditorium .atmosphere-feature-slide--red-ensemble{object-position:center 54%}
.image-memory-card.memory-auditorium .atmosphere-feature-slide--gloves{object-position:center 57%}
.image-memory-card.memory-auditorium .atmosphere-feature-slide--neutral{object-position:center 56%}
.image-memory-card:before{
  z-index:1;
  background:linear-gradient(180deg,rgba(8,12,18,.08) 0%,rgba(8,12,18,.18) 42%,rgba(8,12,18,.82) 100%);
}
.home-memory-item{
  min-width:0;
  display:grid;
  grid-template-rows:auto auto;
  gap:12px;
  align-content:start;
}
.memory-card-title{
  min-width:0;
  min-height:1.15em;
  margin:0;
  color:var(--home-ink) !important;
  font-family:var(--font-body),Lato,Arial,Helvetica,sans-serif !important;
  font-size:clamp(1.3rem,1.65vw,1.65rem) !important;
  font-style:normal;
  font-weight:800;
  line-height:1.15 !important;
  letter-spacing:-.02em;
  white-space:nowrap !important;
}
.memory-card-media:not(.auditorium-slideshow):before{
  display:none;
}
.auditorium-slideshow{
  isolation:isolate;
  outline:none;
  box-shadow:0 20px 60px rgba(24,31,42,.13);
}
.auditorium-slideshow:before{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(3,5,10,.7) 0%,rgba(3,5,10,.26) 42%,rgba(3,5,10,.08) 100%),
    linear-gradient(180deg,rgba(3,5,10,.04) 0%,rgba(3,5,10,.16) 45%,rgba(3,5,10,.9) 100%);
}
.auditorium-slideshow__controls{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  display:none;
  opacity:0;
  transition:opacity .24s ease;
}
.auditorium-slideshow--ready .auditorium-slideshow__controls{
  display:block;
}
.auditorium-slideshow--ready .auditorium-slideshow__controls,
.auditorium-slideshow:hover .auditorium-slideshow__controls,
.auditorium-slideshow:focus-within .auditorium-slideshow__controls{
  opacity:1;
}
.auditorium-slideshow__arrow{
  position:absolute;
  top:50%;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  background:rgba(3,5,10,.36);
  color:#fff;
  font-size:2.15rem;
  line-height:1;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  cursor:pointer;
  pointer-events:auto;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.auditorium-slideshow__arrow--prev{left:18px}
.auditorium-slideshow__arrow--next{right:18px}
.auditorium-slideshow__arrow:hover,
.auditorium-slideshow__arrow:focus-visible{
  background:rgba(3,5,10,.72);
  border-color:rgba(255,255,255,.72);
  transform:translateY(-50%) scale(1.04);
}
.auditorium-slideshow__dots{
  position:absolute;
  left:50%;
  bottom:18px;
  display:flex;
  gap:6px;
  transform:translateX(-50%);
  pointer-events:auto;
}
.auditorium-slideshow__dots button{
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background:transparent;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.auditorium-slideshow__dots button:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.48);
  box-shadow:0 1px 10px rgba(0,0,0,.35);
  transition:width .2s ease,background .2s ease;
}
.auditorium-slideshow__dots button[aria-current="true"]:before{
  width:18px;
  background:#fff;
}
.auditorium-slideshow__arrow:focus-visible,
.auditorium-slideshow__dots button:focus-visible,
.auditorium-slideshow:focus-visible{
  outline:3px solid rgba(255,255,255,.88);
  outline-offset:3px;
}
.home-memories-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
}
.home-memories-grid > .memory-auditorium{
  grid-column:span 4;
}
.home-memories-grid > .memory-awards{
  grid-column:span 2;
}
.home-memories-grid > .memory-top-card .memory-card-media{
  min-height:360px;
}
.home-memories-grid > .memory-lower-card{
  grid-column:span 2;
}
.home-memories-grid > .memory-lower-card .memory-card-media{
  min-height:320px;
}
@media (prefers-reduced-motion: reduce){
  .atmosphere-feature-slide{
    transition:none;
    transform:none;
  }
  .atmosphere-feature-slide--active{
    transform:none;
  }
}
.image-ready-card:before,.pack-cover:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(227,25,55,.1),rgba(32,183,255,.08)),repeating-linear-gradient(135deg,rgba(24,31,42,.045) 0 1px,transparent 1px 18px);
  pointer-events:none;
}
.image-ready-card.auditorium-slideshow:before{
  background:
    linear-gradient(90deg,rgba(3,5,10,.7) 0%,rgba(3,5,10,.26) 42%,rgba(3,5,10,.08) 100%),
    linear-gradient(180deg,rgba(3,5,10,.04) 0%,rgba(3,5,10,.16) 45%,rgba(3,5,10,.9) 100%);
}
.image-ready-card span,.testimonial-grid span,.pack-cover span,.profile-ready-grid span{
  position:relative;
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-bottom:auto;
  color:#7a8592;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.image-ready-card h3,.testimonial-grid h3,.pack-card h3,.event-category-card h3,.feature-card h3,.profile-ready-grid h3{
  position:relative;
  color:var(--home-ink) !important;
  font-size:clamp(1.45rem,2.4vw,2.3rem);
  line-height:1.02;
}
.image-ready-card p,.testimonial-grid p,.pack-card p,.event-category-card p,.feature-card p,.profile-ready-grid p,.faq-grid p{color:var(--home-copy) !important;line-height:1.68}
.competition-experience-intro{
  grid-template-columns:minmax(0,1fr);
  gap:0;
  max-width:920px;
  margin-bottom:clamp(34px,4vw,48px);
}
.competition-experience-intro h2{
  max-width:920px;
}
body.competition-hub #why-ad-competition{
  padding-bottom:clamp(34px,4vw,52px);
}
.competition-detail-section{
  padding-top:clamp(34px,4vw,52px) !important;
  padding-bottom:clamp(54px,7vw,96px) !important;
}
.competition-detail-section .intro{
  grid-template-columns:minmax(0,1fr);
  gap:0;
  margin-bottom:clamp(24px,3vw,34px);
}
.competition-detail-section .intro h2{
  max-width:760px;
}
.competition-detail-section :is(.cards-3,.cards-4){
  align-items:stretch;
}
.competition-detail-section .card{
  display:flex;
  flex-direction:column;
  border-color:rgba(227,25,55,.2) !important;
  background:linear-gradient(145deg,#fff 0%,#fff4f6 100%) !important;
  box-shadow:0 22px 54px rgba(227,25,55,.1) !important;
}
.competition-detail-section .card h3{
  display:grid;
  flex:1;
  place-items:center;
  width:100%;
  margin:0;
  color:#171a20;
  font-size:clamp(2rem,3vw,3rem);
  font-weight:900;
  line-height:1;
  text-align:center;
}
.competition-detail-section .competition-register-card h3{
  font-size:clamp(1.45rem,1.8vw,1.9rem);
  letter-spacing:-.035em;
  white-space:nowrap;
}
.competition-detail-section .card .arrow{
  margin-top:auto;
}
body.competition-hub .dcg-registration-guide{
  padding-top:clamp(58px,7vw,96px);
  padding-bottom:clamp(58px,8vw,108px);
  background:
    radial-gradient(circle at 92% 8%,rgba(227,25,55,.12),transparent 28%),
    linear-gradient(180deg,#fff 0%,#fff8f9 100%);
  font-family:"Lato",sans-serif;
}
.dcg-guide-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:clamp(24px,5vw,72px);
  margin-bottom:clamp(28px,4vw,44px);
}
.dcg-guide-header h2{
  max-width:850px;
  margin:8px 0 14px;
  color:#171a20;
  font-size:clamp(2.45rem,5vw,5rem);
  font-weight:900;
  letter-spacing:-.055em;
  line-height:.96;
}
.dcg-guide-header p:not(.eyebrow){
  max-width:760px;
  margin:0;
  color:#566171;
  font-size:clamp(1rem,1.4vw,1.16rem);
  line-height:1.65;
}
.dcg-guide-header .btn{white-space:nowrap}
.dcg-guide-disclosure{
  border:1px solid rgba(227,25,55,.18);
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 28px 80px rgba(37,23,27,.11);
}
.dcg-guide-disclosure > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:112px;
  padding:26px clamp(24px,4vw,46px);
  color:#171a20;
  cursor:pointer;
  list-style:none;
  background:linear-gradient(110deg,#fff 0%,#fff5f7 100%);
  transition:background .2s ease;
}
.dcg-guide-disclosure > summary::-webkit-details-marker{display:none}
.dcg-guide-disclosure > summary:hover{background:#fff0f3}
.dcg-guide-disclosure > summary:focus-visible{outline:3px solid #e31937;outline-offset:-5px}
.dcg-guide-summary-copy{display:grid;gap:7px}
.dcg-guide-summary-copy strong{
  font-size:clamp(1.25rem,2.1vw,1.8rem);
  font-weight:900;
  letter-spacing:-.025em;
}
.dcg-guide-summary-copy small{color:#657081;font-size:.98rem;line-height:1.45}
.dcg-guide-chevron{
  display:grid;
  flex:0 0 48px;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#e31937;
  font-size:1.35rem;
  font-weight:900;
  transition:transform .25s ease;
}
.dcg-guide-disclosure[open] .dcg-guide-chevron{transform:rotate(180deg)}
.dcg-guide-content{padding:clamp(24px,4vw,52px)}
.dcg-guide-callout{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px 22px;
  margin-bottom:clamp(30px,5vw,56px);
  padding:20px 22px;
  border-left:4px solid #e31937;
  border-radius:0 14px 14px 0;
  color:#4f5968;
  background:#fff4f6;
  line-height:1.55;
}
.dcg-guide-callout strong{color:#171a20;font-weight:900}
.dcg-guide-steps{display:grid;gap:clamp(28px,5vw,54px);margin:0;padding:0;list-style:none}
.dcg-guide-step{
  padding:clamp(24px,4vw,44px);
  border:1px solid #e7e9ee;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 45px rgba(31,38,50,.07);
}
.dcg-guide-step-copy{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px 24px;align-items:start;margin-bottom:28px}
.dcg-guide-number{
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border-radius:16px;
  color:#fff;
  background:#e31937;
  font-size:1rem;
  font-weight:900;
  letter-spacing:.08em;
}
.dcg-guide-kicker{margin:0 0 7px;color:#e31937;font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.dcg-guide-step h3,.dcg-guide-finish h3{margin:0 0 10px;color:#171a20;font-size:clamp(1.55rem,2.8vw,2.3rem);font-weight:900;letter-spacing:-.035em;line-height:1.08}
.dcg-guide-step-copy p:last-child,.dcg-guide-finish p:last-child{max-width:830px;margin:0;color:#566171;line-height:1.65}
.dcg-guide-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dcg-guide-gallery-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.dcg-guide-gallery a{
  display:grid;
  grid-template-rows:minmax(190px,1fr) auto;
  min-width:0;
  border:1px solid #dfe3e9;
  border-radius:15px;
  overflow:hidden;
  color:#263244;
  background:#f6f7f9;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.dcg-guide-gallery a:hover{transform:translateY(-3px);border-color:rgba(227,25,55,.5);box-shadow:0 14px 32px rgba(31,38,50,.12)}
.dcg-guide-gallery a:focus-visible{outline:3px solid #e31937;outline-offset:3px}
.dcg-guide-gallery img{width:100%;height:100%;min-height:190px;max-height:330px;object-fit:contain;background:#222}
.dcg-guide-gallery span{padding:12px 15px;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.dcg-guide-finish{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  margin-top:clamp(30px,5vw,56px);
  padding:clamp(26px,4vw,44px);
  border-radius:20px;
  color:#fff;
  background:#171a20;
}
.dcg-guide-finish h3,.dcg-guide-finish p:last-child{color:#fff}
.dcg-guide-finish .dcg-guide-kicker{color:#ff506b}
@media (max-width:800px){
  .dcg-guide-header,.dcg-guide-finish{grid-template-columns:1fr;align-items:start}
  .dcg-guide-header .btn,.dcg-guide-finish .btn{width:100%}
  .dcg-guide-gallery,.dcg-guide-gallery-three{grid-template-columns:1fr}
  .dcg-guide-gallery a{grid-template-rows:auto auto}
  .dcg-guide-gallery img{height:auto;min-height:0;max-height:none}
}
@media (max-width:520px){
  .dcg-guide-disclosure{border-radius:20px}
  .dcg-guide-disclosure > summary{min-height:96px;padding:20px}
  .dcg-guide-summary-copy small{font-size:.86rem}
  .dcg-guide-chevron{flex-basis:42px;width:42px;height:42px}
  .dcg-guide-content{padding:16px}
  .dcg-guide-callout{grid-template-columns:1fr;margin-bottom:24px;padding:17px}
  .dcg-guide-step{padding:20px 16px}
  .dcg-guide-step-copy{grid-template-columns:1fr;gap:14px;margin-bottom:20px}
  .dcg-guide-number{width:50px;height:50px;border-radius:14px}
}
.competition-experience-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:0;
}
.competition-experience-tile{
  position:relative;
  min-height:clamp(310px,29vw,430px);
  border-radius:24px;
  overflow:hidden;
  background:#111722;
  box-shadow:0 22px 58px rgba(24,31,42,.16);
  isolation:isolate;
  display:flex;
  align-items:flex-end;
  padding:clamp(22px,2.8vw,32px);
}
.competition-experience-tile img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.competition-experience-tile:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,10,15,.16) 0%,rgba(7,10,15,.36) 34%,rgba(7,10,15,.95) 100%);
  z-index:1;
}
.competition-experience-copy{
  position:relative;
  z-index:2;
  max-width:32rem;
}
.competition-experience-copy h3{
  color:#fff !important;
  font-size:clamp(1.3rem,1.85vw,1.8rem);
  font-weight:900;
  letter-spacing:0;
  line-height:1.08;
  margin:0 0 12px;
  text-shadow:0 2px 20px rgba(0,0,0,.35);
}
.competition-experience-copy p{
  color:rgba(255,255,255,.92) !important;
  font-size:clamp(.9rem,1vw,1rem);
  font-weight:800;
  line-height:1.55;
  margin:0;
  text-shadow:0 2px 18px rgba(0,0,0,.42);
}
.competition-experience-tile:hover img{transform:scale(1.035)}
.image-ready-card.image-memory-card:before{
  z-index:1;
  background:linear-gradient(180deg,rgba(8,12,18,.08) 0%,rgba(8,12,18,.18) 42%,rgba(8,12,18,.82) 100%);
}
.pack-card{display:flex;flex-direction:column;gap:16px}
.pack-card.compete,.event-category-card.compete,.feature-card.compete{--pack-accent:var(--home-red)}
.pack-card.train,.event-category-card.train,.feature-card.train{--pack-accent:var(--home-orange)}
.pack-card.intensive,.event-category-card.intensive,.feature-card.intensive{--pack-accent:var(--home-purple)}
.pack-card.perform,.event-category-card.perform,.feature-card.perform{--pack-accent:var(--home-blue)}
.pack-card:before,.event-category-card:before,.feature-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--pack-accent,var(--home-red))}
.pack-cover{position:relative;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;border-radius:18px;background:#eef1f5;padding:22px;overflow:hidden}
.pack-cover strong{position:relative;color:var(--pack-accent,var(--home-red));font-size:1.35rem;line-height:1.05}
.pack-card a,.event-category-card a{position:relative;margin-top:auto;color:var(--pack-accent,var(--home-red));font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.card-list{display:grid;gap:12px}
.card-list article{border:1px solid var(--home-line);border-radius:18px;background:#fff;padding:18px 20px}
.card-list strong{display:block;color:var(--home-ink);margin-bottom:4px}.card-list span{color:var(--home-copy)}
.event-category-card dl{display:grid;gap:8px;margin:18px 0;color:var(--home-copy)}
.event-category-card dl div{display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid var(--home-line);padding-bottom:8px}
.event-category-card dt{font-weight:900;color:var(--home-ink)}.event-category-card dd{margin:0;text-align:right}
.actions.compact{margin-top:18px}.actions.compact .btn{min-height:44px;padding:0 15px;font-size:.66rem}
.key-info-bar{background:#fff;border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line);padding:18px 0}
.key-info-bar .container{display:flex;flex-wrap:wrap;gap:10px}.key-info-bar strong,.key-info-bar span{border:1px solid var(--home-line);border-radius:999px;padding:10px 14px;background:#f7f8fa;color:var(--home-ink);font-weight:900}
.addams-hero{background:linear-gradient(135deg,#fff,#f3f5f8) !important}
.addams-hero{
  padding-bottom:clamp(64px,6vw,86px) !important;
}
.addams-hero .actions{
  margin-top:36px !important;
  gap:16px !important;
}
.addams-hero ~ .simple-start-strip{
  padding:22px 0;
}
.addams-hero ~ .key-info-bar{
  padding:24px 0 26px;
  margin-top:10px;
}
.addams-hero ~ .key-info-bar .container{
  gap:12px;
}
.faq-grid details{padding:22px}.faq-grid summary{cursor:pointer;color:var(--home-ink);font-weight:900;font-size:1.05rem}
.home-audience-grid article a{display:inline-flex;margin-top:18px;color:var(--home-red);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.home-opportunity-card.intensive{--opportunity-accent:var(--home-purple)}
@media(max-width:1120px){.feature-grid,.image-ready-grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}.competition-hub .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.competition-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-category-grid{grid-template-columns:1fr}}
@media(max-width:820px){.home-energy-layout,.image-ready-grid,.testimonial-grid,.pack-card-grid,.feature-grid,.faq-grid,.profile-ready-grid{grid-template-columns:1fr}.competition-hub .feature-grid{grid-template-columns:1fr}.competition-experience-grid{grid-template-columns:1fr}.competition-experience-tile{min-height:320px}.image-ready-card.large{grid-column:auto}.key-info-bar .container{display:grid}.key-info-bar strong,.key-info-bar span{text-align:center}.proof-strip-inner{display:grid}.home-memories-grid{grid-template-columns:1fr 1fr}.home-memories-grid > .memory-auditorium,.home-memories-grid > .memory-awards{grid-column:span 1}.home-memories-grid > .memory-top-card .memory-card-media{min-height:320px}.home-memories-grid > .memory-lower-card{grid-column:span 1}.home-memories-grid > .memory-lower-card .memory-card-media{min-height:300px}}
@media(max-width:640px){.home-memories-grid{grid-template-columns:1fr}.home-memories-grid > .memory-auditorium,.home-memories-grid > .memory-awards,.home-memories-grid > .memory-lower-card{grid-column:span 1}}
@media(max-width:820px){
  .auditorium-slideshow__arrow{
    width:44px;
    height:44px;
    font-size:1.9rem;
  }
  .auditorium-slideshow__arrow--prev{left:14px}
  .auditorium-slideshow__arrow--next{right:14px}
}
@media(max-width:640px){
  .auditorium-slideshow{
    min-height:360px;
  }
  .auditorium-slideshow__controls{
    opacity:1;
  }
  .auditorium-slideshow__arrow{
    top:auto;
    bottom:18px;
    width:44px;
    height:44px;
    font-size:1.7rem;
    transform:none;
  }
  .auditorium-slideshow__arrow:hover,
  .auditorium-slideshow__arrow:focus-visible{
    transform:scale(1.04);
  }
  .auditorium-slideshow__dots{
    bottom:24px;
  }
}

@media(prefers-reduced-motion:reduce){
  .home-scroll-cue i{animation:none}
  .home-film-video{display:none}
  .home-film-hero{
    background:
      linear-gradient(90deg,rgba(8,10,15,.88),rgba(8,10,15,.38)),
      url('assets/media/adc-commercial-poster.jpg') center/cover no-repeat !important;
  }
  .home-film-tools{display:none}
}

.admin-video-preview{
  min-height:150px;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:14px;
  border:1px solid rgba(31,39,50,.12);
  border-radius:18px;
  background:#f3f5f7;
}
.admin-video-preview video{
  display:block;
  width:100%;
  height:auto;
  max-height:360px;
  border-radius:12px;
  background:#111;
}

/* Film loading state: show the poster immediately, then fade into motion. */
.home-gateway .home-film-hero.hero{
  background:
    linear-gradient(90deg,rgba(8,10,15,.38),rgba(8,10,15,.08)),
    url('assets/media/adc-commercial-poster.jpg') center/cover no-repeat !important;
}
.home-film-video{
  opacity:0;
  transition:opacity .8s ease;
}
.home-video-ready .home-film-video,
.home-video-playing .home-film-video{opacity:1}
.home-video-error .home-film-video{opacity:0}
.home-opportunity-grid > .card.train{--opportunity-accent:var(--home-orange)}
.home-opportunity-grid > .card.intensive{--opportunity-accent:var(--home-purple)}
.home-opportunity-grid > .card.perform{--opportunity-accent:var(--home-blue)}

/* Proof strip layout fix - 2026-06-19
   The previous proof strip inherited an old grid rule and pushed the proof points
   into the first column only. This turns it into a premium full-width proof band. */
.proof-strip.section-slim{
  display:block !important;
  grid-template-columns:none !important;
  width:100% !important;
  padding:22px 0 !important;
  margin:0 !important;
  background:linear-gradient(90deg,#ffffff 0%,#fff7f8 45%,#ffffff 100%) !important;
  border-top:1px solid rgba(31,39,50,.10) !important;
  border-bottom:1px solid rgba(31,39,50,.10) !important;
  border-radius:0 !important;
  overflow:visible !important;
}
.proof-strip.section-slim > .container.proof-strip-inner{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 20px !important;
  background:transparent !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  text-align:left !important;
}
.proof-strip .proof-point{
  background:#ffffff !important;
  border:1px solid rgba(31,39,50,.10) !important;
  border-radius:22px !important;
  padding:20px 22px !important;
  min-height:104px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  box-shadow:0 18px 48px rgba(31,39,50,.08) !important;
  position:relative;
  overflow:hidden;
}
.proof-strip .proof-point::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--home-red);
}
.proof-strip .proof-point strong{
  display:block !important;
  color:var(--home-red) !important;
  font-size:clamp(1.65rem,2.4vw,2.6rem) !important;
  line-height:1 !important;
  letter-spacing:-.035em !important;
  margin:0 0 8px !important;
}
.proof-strip .proof-point span{
  display:block !important;
  color:#4b5563 !important;
  font-size:.82rem !important;
  line-height:1.45 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin:0 !important;
}
@media(max-width:820px){
  .proof-strip.section-slim{padding:16px 0 !important;}
  .proof-strip.section-slim > .container.proof-strip-inner{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .proof-strip .proof-point{
    min-height:auto !important;
    padding:16px 18px !important;
    border-radius:18px !important;
  }
  .proof-strip .proof-point strong{font-size:1.65rem !important;}
}


/* Global Lato live-text standard - 2026-07-18 */
@font-face{font-family:"Lato";font-style:normal;font-weight:300;font-display:swap;src:url("assets/fonts/lato-300.woff2") format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/lato-400.woff2") format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:700 800;font-display:swap;src:url("assets/fonts/lato-700.woff2") format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:900;font-display:swap;src:url("assets/fonts/lato-900.woff2") format("woff2")}
:root{
  --font-body:"Lato", Arial, Helvetica, sans-serif;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
strong,
button,
input,
select,
textarea,
option,
optgroup,
label,
summary,
details,
table,
th,
td,
nav,
header,
footer,
main,
section,
article,
aside,
dialog,
[role="button"],
.btn {
  font-family:var(--font-body);
}

/* Automation Centre */
.automation-admin-page .admin-shell {
  width: min(1400px, calc(100% - 32px));
  margin: 32px auto;
}

.automation-admin-page .admin-card {
  max-width: none;
}

/* SEO & Link Previews */
.seo-admin-page .admin-shell {
  width: min(1400px, calc(100% - 32px));
  margin: 32px auto;
  align-items: flex-start;
}

.seo-admin-page .admin-card {
  max-width: none;
}

.mobile-admin-page .admin-shell{max-width:1180px}
.mobile-admin-page .admin-card{min-height:70vh}
.mobile-admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.mobile-admin-tabs button{min-height:44px}
.mobile-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}
.mobile-stat-grid article{border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(0,0,0,.3)}
.mobile-stat-grid strong,.mobile-stat-grid span{display:block}
.mobile-stat-grid strong{font-size:1.75rem;color:var(--gold2)}
.mobile-stat-grid span{color:var(--muted);margin-top:5px}
.mobile-record-list{display:grid;gap:12px}
.mobile-record{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:16px;padding:16px;background:rgba(0,0,0,.28)}
.mobile-record p{margin:5px 0 0;color:var(--muted)}
.mobile-record-actions{display:flex;gap:8px;flex-wrap:wrap}
.mobile-preview-frame{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(0,0,0,.35)}
.mobile-preview-frame video{display:block;width:100%;max-height:420px;margin:14px 0;background:#000}
.mobile-preview-frame pre{max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--soft)}
@media(max-width:760px){.mobile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-record{align-items:flex-start;flex-direction:column}.mobile-record-actions{width:100%}.mobile-record-actions .btn{width:100%;min-height:44px}}
body.training-page .btn{min-height:44px}

.seo-layout {
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.7fr);
  gap: 20px;
  align-items: start;
}

.seo-page-list {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  max-height: 760px;
  overflow: auto;
}

.seo-page-list button {
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 10px;
  background: rgba(255, 255, 255, .04);
  color: inherit;
  padding: 12px;
  text-align: left;
  cursor: pointer;
}

.seo-page-list button.active {
  border-color: var(--gold);
  background: rgba(197, 161, 72, .12);
}

.seo-page-list span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: .78rem;
}

.seo-share-preview {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  background: #111;
}

.seo-share-preview img {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: contain;
  background: #050505;
}

.seo-share-preview div {
  padding: 16px;
}

.seo-share-preview p {
  margin: 7px 0;
}

@media (max-width: 780px) {
  .seo-layout {
    grid-template-columns: 1fr;
  }
}

#automationConnectors {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.automation-connector-form {
  min-width: 0;
}

.automation-three {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.automation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.automation-checklist {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.automation-checklist li {
  padding: 12px 14px;
  border: 1px solid rgba(31, 39, 50, .1);
  border-radius: 12px;
  background: #fff;
}

.automation-checklist li.ready {
  border-color: rgba(22, 163, 74, .32);
  background: rgba(22, 163, 74, .06);
}

.automation-checklist li.pending {
  border-color: rgba(217, 119, 6, .3);
  background: rgba(217, 119, 6, .06);
}

.automation-status {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef1f5;
  font-size: .75rem;
  font-weight: 800;
  text-transform: capitalize;
}

.automation-status-delivered {
  color: #166534;
  background: #dcfce7;
}

.automation-status-failed {
  color: #991b1b;
  background: #fee2e2;
}

.automation-status-retry,
.automation-status-pending,
.automation-status-processing {
  color: #92400e;
  background: #fef3c7;
}

@media (max-width: 900px) {
  #automationConnectors,
  .automation-three {
    grid-template-columns: 1fr;
  }
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
.nav a,
.nav,
.btn,
label,
input,
select,
option,
textarea,
button,
.card,
.footer,
.admin-card,
.admin-form,
.admin-mfa-setup,
.booklet-action-bar,
.calendar-export,
.policy-card,
.admin-body,
.pdf-pack-hero,
.flipbook-shell{
  font-family:var(--font-body);
}


/* Brightness lift only - 2026-06-19
   Keeps the existing Aaron Dwyer red/route accents, but lifts page brightness,
   surfaces and neutral panels so the site feels fresher without a colour redesign. */
:root{
  --black:#fbfcfd;
  --black2:#ffffff;
  --panel:#ffffff;
  --silver:#f7f8fa;
  --line:rgba(31,39,50,.09);
  --shadow:0 22px 60px rgba(15,23,42,.08);
}

body.client-redesign,
body:not(.home-gateway){
  background:
    radial-gradient(circle at 82% 8%,rgba(227,25,55,.055),transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#fbfcfd 48%,#f8fafc 100%) !important;
}

.section,
.section.alt,
.page-hero,
.home-purpose,
.home-energy,
.home-proof-gallery,
.home-audiences,
.home-opportunities,
.home-final-cta,
.customer-section,
.trust-ribbon,
.events-section,
.info-pack-section{
  background-color:#ffffff !important;
}

.section.alt,
.home-journey,
.home-audiences,
.home-opportunities,
.page-section-alt,
.light-panel,
.client-redesign .gateway-hero{
  background:
    radial-gradient(circle at 90% 0%,rgba(227,25,55,.04),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
}

.header{
  background:rgba(255,255,255,.96) !important;
  border-bottom-color:rgba(31,39,50,.08) !important;
  box-shadow:0 8px 24px rgba(15,23,42,.045) !important;
}

.nav{
  align-items:center !important;
}

.nav .nav-cta{
  min-height:40px !important;
  padding:0 17px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(227,25,55,.22) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.72) !important;
  color:#e31937 !important;
  box-shadow:0 10px 24px rgba(227,25,55,.075) !important;
  line-height:1 !important;
  letter-spacing:.14em !important;
  margin-top:0 !important;
  vertical-align:middle !important;
  transform:none;
}

.nav .nav-cta::after{
  display:none !important;
}

.nav .nav-cta:hover,
.nav .nav-cta:focus-visible{
  background:#e31937 !important;
  border-color:#e31937 !important;
  color:#fff !important;
  box-shadow:0 14px 32px rgba(227,25,55,.18) !important;
  transform:translateY(-1px);
}

.card,
.copy-block,
.notice-panel,
.form,
.event-card,
.journey-step,
.admin-card,
.admin-action,
.merch-card,
.home-pathway-card,
.home-opportunity-card,
.home-audience-grid article,
.home-proof-card,
.home-testimonial-card,
.proof-strip .proof-point,
.pack-card,
.info-pack-card,
.feature-card,
.value-card,
.faq-item,
details,
dialog{
  background:#ffffff !important;
  border-color:rgba(31,39,50,.085) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}

input,
select,
textarea{
  background:#ffffff !important;
  border-color:rgba(31,39,50,.14) !important;
  color:#171a20 !important;
  font-family:var(--font-body) !important;
}

.hero:not(.home-film-hero),
.page-hero,
.gateway-hero{
  background:
    radial-gradient(circle at 82% 12%,rgba(227,25,55,.06),transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
}

.proof-strip.section-slim{
  background:linear-gradient(90deg,#ffffff 0%,#fffbfc 45%,#ffffff 100%) !important;
  border-color:rgba(31,39,50,.075) !important;
}

.footer{
  background:#f8fafc !important;
  border-top-color:rgba(31,39,50,.09) !important;
}

.mobile-cta{
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 -14px 34px rgba(15,23,42,.08) !important;
}

/* Keep the cinematic homepage video dramatic but slightly clearer, not colour-shifted. */
.home-film-overlay{
  background:
    linear-gradient(90deg,rgba(5,7,12,.74),rgba(5,7,12,.38) 46%,rgba(5,7,12,.16)),
    linear-gradient(0deg,rgba(255,255,255,.22),transparent 34%) !important;
}


/* Mobile/customer-journey polish - 2026-06-19 */
.simple-start-strip{
  background:linear-gradient(90deg,#ffffff 0%,#fff7f8 48%,#ffffff 100%) !important;
  border-top:1px solid rgba(31,39,50,.08);
  border-bottom:1px solid rgba(31,39,50,.08);
  padding:16px 0;
}
.simple-start-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:center;
  flex-wrap:wrap;
}
.simple-start-inner strong{
  color:#171a20;
  font-weight:900;
}
.simple-start-inner span{
  color:#4b5563;
  max-width:680px;
  line-height:1.45;
}
.btn-small{
  padding:10px 16px !important;
  border-radius:999px !important;
  font-size:.88rem !important;
}

.mobile-page-jumps{
  display:none;
  background:#ffffff;
  border-bottom:1px solid rgba(31,39,50,.08);
  position:relative;
  z-index:8;
}
.mobile-page-jumps-inner{
  display:flex;
  align-items:center;
  gap:10px;
  overflow-x:auto;
  padding:10px 0 12px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.mobile-page-jumps-inner::-webkit-scrollbar{display:none;}
.mobile-page-jumps span{
  flex:0 0 auto;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b7280;
}
.mobile-page-jumps a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 14px;
  border:1px solid rgba(31,39,50,.11);
  border-radius:999px;
  background:#fff;
  color:#171a20;
  font-weight:800;
  box-shadow:0 8px 22px rgba(15,23,42,.055);
}
.form-reassurance{
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid rgba(227,25,55,.14);
  border-radius:18px;
  background:#fff7f8;
  color:#3d4550;
  line-height:1.5;
  font-weight:700;
}
.field-helper{
  color:#667085;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:0;
  line-height:1.35;
  text-transform:none;
}
.lead-capture-form{
  border-radius:26px !important;
  gap:16px !important;
}
.lead-capture-form .btn[type="submit"]{
  width:100%;
  min-height:56px;
  border-radius:999px;
}
.info-pack-consent{
  border:1px solid rgba(31,39,50,.10);
  border-radius:18px;
  display:grid;
  gap:10px;
  margin:4px 0 2px;
  padding:16px;
  background:linear-gradient(135deg,#fff,#fff7fc);
}
.info-pack-consent legend{
  color:#171a20;
  font-weight:900;
  padding:0 6px;
}
.info-pack-consent label{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
  margin:0;
  color:#364152;
  font-weight:700;
  line-height:1.45;
}
.info-pack-consent input{
  margin-top:.2em;
  width:18px;
  height:18px;
}
.info-pack-confirmation-card{
  background:#fff;
  border:1px solid rgba(31,39,50,.10);
  border-radius:28px;
  box-shadow:0 24px 70px rgba(31,39,50,.10);
  display:grid;
  gap:18px;
  margin:0 auto;
  max-width:760px;
  padding:clamp(24px,4vw,46px);
}
.info-pack-confirmation-card .actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.info-pack-compact-hero{
  padding:clamp(44px,6vw,76px) 0 clamp(34px,5vw,58px) !important;
  min-height:auto !important;
}
.info-pack-compact-hero h1{
  font-size:clamp(2.85rem,7vw,6.8rem) !important;
}
.info-pack-compact-hero .lead{
  max-width:720px;
}
.compact-proof-strip{
  padding:18px 0 !important;
}
.compact-proof-strip .proof-strip-inner{
  gap:12px;
}
.compact-proof-strip .proof-point{
  padding:16px 18px !important;
}
.compact-proof-strip .proof-point strong{
  font-size:clamp(1.35rem,2.4vw,2rem) !important;
}
.info-pack-form-panel{
  align-items:start;
  background:
    radial-gradient(circle at 85% 5%,rgba(227,25,55,.055),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
  border-color:rgba(31,39,50,.08) !important;
  gap:clamp(22px,4vw,46px);
  padding-top:clamp(30px,4vw,52px) !important;
  padding-bottom:clamp(42px,6vw,76px) !important;
  display:block;
}
.info-pack-form-wrap{
  margin-inline:auto;
  max-width:760px;
  width:100%;
}
.info-pack-form-wrap > .form-reassurance{
  margin:0 auto 16px;
  max-width:680px;
  text-align:center;
}
.info-pack-request-details{
  display:grid;
  gap:16px;
}
.info-pack-request-details > h2,
.info-pack-request-details > .lead{
  margin:0;
  text-align:center;
}
.info-pack-request-details > .lead{
  color:#667085;
  font-size:1rem;
}
.info-pack-request-details[hidden],
.info-pack-form-panel [hidden]{
  display:none !important;
}
.info-pack-form-panel .page-logo-medium{
  max-width:170px;
  margin-bottom:16px;
}
.info-pack-form-copy .lead{
  font-size:clamp(1rem,1.35vw,1.18rem);
  line-height:1.55;
  max-width:620px;
}
.info-pack-mini-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:20px;
}
.info-pack-mini-proof span{
  display:grid;
  gap:4px;
  min-width:0;
  padding:13px 14px;
  border:1px solid rgba(31,39,50,.09);
  border-radius:18px;
  background:#fff;
  color:#667085;
  font-size:.82rem;
  font-weight:800;
  line-height:1.2;
}
.info-pack-mini-proof strong{
  color:#e31937;
  font-size:1rem;
  font-weight:900;
}
.compact-info-guide{
  gap:10px !important;
  margin-top:18px;
}
.compact-info-guide article{
  padding:16px !important;
}
.compact-info-guide article p{
  margin-bottom:0;
}
.competition-enquiry-fields{
  border:1px solid rgba(227,25,55,.18);
  border-radius:16px;
  display:grid;
  gap:10px;
  margin:0;
  padding:16px;
}
.competition-enquiry-fields legend{font-weight:800;padding:0 6px}
.form-choice-row{display:flex;flex-wrap:wrap;gap:12px 24px}
.form-choice-row label{align-items:center;display:flex;gap:8px;margin:0}
.form-choice-row input{width:auto}
.field-error{color:#b42318;display:block;font-size:.82rem;min-height:1em}
.admin-enquiry-detail{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.admin-enquiry-detail summary{color:var(--gold2);cursor:pointer;font-weight:800}
.admin-enquiry-message{overflow-wrap:anywhere;white-space:pre-wrap}
.calendar-export{
  margin-top:12px;
  position:relative;
}
.calendar-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:flex-start;
  margin-top:12px;
}
.calendar-action-row .calendar-export{
  margin-top:0;
}
.calendar-export summary{
  align-items:center;
  background:#fff;
  border:1px solid rgba(227,25,55,.2);
  border-radius:999px;
  color:#e31937;
  cursor:pointer;
  display:inline-flex;
  font-family:var(--font-body) !important;
  font-size:.76rem;
  font-weight:900;
  justify-content:center;
  letter-spacing:.12em;
  min-height:38px;
  padding:0 14px;
  text-transform:none;
  user-select:none;
  white-space:nowrap;
}
.calendar-register-link{
  align-items:center;
  background:linear-gradient(135deg,#ff3b58,#e31937,#bf1230);
  border:1px solid transparent;
  border-radius:999px;
  color:#fff !important;
  display:inline-flex;
  font-family:var(--font-body) !important;
  font-size:.76rem;
  font-weight:900;
  justify-content:center;
  letter-spacing:.12em;
  min-height:38px;
  padding:0 15px;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 12px 26px rgba(227,25,55,.18);
}
.calendar-register-link:hover,
.calendar-register-link:focus-visible{
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 16px 32px rgba(227,25,55,.24);
}
.calendar-export summary::marker,
.calendar-export summary::-webkit-details-marker{
  display:none;
}
.calendar-export summary:after{
  content:"+";
  margin-left:8px;
}
.calendar-export[open] summary:after{
  content:"-";
}
.calendar-export-menu{
  background:#fff;
  border:1px solid rgba(31,39,50,.1);
  border-radius:16px;
  box-shadow:0 18px 42px rgba(15,23,42,.12);
  display:grid;
  gap:6px;
  margin-top:8px;
  min-width:190px;
  padding:8px;
  position:absolute;
  z-index:20;
}
.calendar-export-menu a,
.calendar-export-menu button{
  background:transparent;
  border:0;
  border-radius:10px;
  color:#171a20;
  cursor:pointer;
  display:block;
  font-family:var(--font-body) !important;
  font-size:.9rem;
  font-weight:800;
  letter-spacing:0;
  line-height:1.2;
  min-height:38px;
  padding:10px 12px;
  text-align:left;
  text-transform:none;
  width:100%;
}
.calendar-export-menu a:hover,
.calendar-export-menu a:focus-visible,
.calendar-export-menu button:hover,
.calendar-export-menu button:focus-visible{
  background:#fff4f5;
  color:#e31937;
  outline:0;
}
body.info-pack-pdf-body #pack-viewer{
  scroll-margin-top:110px;
}
.contact-cluster{
  position:fixed;
  right:18px;
  bottom:104px;
  z-index:78;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.contact-icon{
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(31,39,50,.12);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#171a20;
  box-shadow:0 14px 32px rgba(15,23,42,.12);
  backdrop-filter:blur(14px);
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.contact-icon svg{
  width:21px;
  height:21px;
  fill:currentColor;
}
.contact-icon:hover,
.contact-icon:focus-visible{
  background:#e31937;
  border-color:#e31937;
  color:#fff;
  transform:translateY(-2px);
}
.contact-icon-whatsapp{
  color:#128c4a;
}
.cookie-consent{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:220;
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-between;
  max-width:1080px;
  margin:0 auto;
  padding:18px;
  border:1px solid rgba(31,39,50,.12);
  border-radius:22px;
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 70px rgba(15,23,42,.18);
  backdrop-filter:blur(18px);
}
.cookie-consent__copy{
  max-width:620px;
}
.cookie-consent__copy strong{
  display:block;
  color:#171a20;
  font-size:1.05rem;
  margin-bottom:5px;
}
.cookie-consent__copy p{
  margin:0;
  color:#65717f;
  line-height:1.55;
}
.cookie-consent__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.cookie-consent__actions .btn{
  min-height:42px;
  padding-inline:14px;
}
.cookie-modal{
  position:fixed;
  inset:0;
  z-index:230;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(15,23,42,.42);
}
.cookie-modal.hidden{
  display:none !important;
}
.cookie-modal__panel{
  position:relative;
  width:min(100%,680px);
  max-height:min(720px,92vh);
  overflow:auto;
  border:1px solid rgba(31,39,50,.12);
  border-radius:24px;
  background:#fff;
  box-shadow:0 30px 90px rgba(15,23,42,.22);
  padding:clamp(22px,4vw,34px);
}
.cookie-modal__panel h2{
  font-size:clamp(2rem,5vw,3.4rem);
  margin-bottom:12px;
}
.cookie-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  width:42px;
  min-height:42px;
  border:1px solid rgba(31,39,50,.12);
  border-radius:999px;
  background:#fff;
  color:#171a20;
  cursor:pointer;
  font-weight:900;
}
.cookie-toggle-list{
  display:grid;
  gap:12px;
  margin:22px 0;
}
.cookie-toggle-list label{
  display:flex;
  grid-template-columns:none;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:72px;
  padding:14px 16px;
  border:1px solid rgba(31,39,50,.1);
  border-radius:16px;
  background:#f8fafc;
  color:#171a20;
  letter-spacing:0;
  text-transform:none;
}
.cookie-toggle-list strong,
.cookie-toggle-list small{
  display:block;
}
.cookie-toggle-list small{
  margin-top:4px;
  color:#65717f;
  font-size:.88rem;
  font-weight:700;
  line-height:1.35;
}
.cookie-toggle-list input{
  flex:0 0 auto;
  width:22px;
  height:22px;
  min-height:22px;
  accent-color:#e31937;
}
.footer-cookie-settings{
  display:flex;
  align-items:flex-start;
}
.footer-cookie-settings__button{
  min-height:44px;
  padding:8px 0;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font:inherit;
  line-height:1.75;
  text-align:left;
}
.footer-cookie-settings__button:hover,
.footer-cookie-settings__button:focus-visible{
  color:#e31937;
  outline:0;
  text-decoration:underline;
  text-underline-offset:4px;
}
.policy-card code{
  display:inline-block;
  padding:2px 6px;
  border-radius:6px;
  background:#f2f4f7;
  color:#171a20;
  font-family:var(--font-body);
  font-weight:900;
}
.policy-table-wrap{
  overflow-x:auto;
  margin:22px 0 28px;
  border:1px solid rgba(31,39,50,.12);
  border-radius:18px;
  background:#fff;
}
.policy-table{
  width:100%;
  min-width:820px;
  border-collapse:collapse;
}
.policy-table th,
.policy-table td{
  padding:14px 16px;
  border-bottom:1px solid rgba(31,39,50,.10);
  text-align:left;
  vertical-align:top;
  color:#4d5866;
  line-height:1.55;
}
.policy-table th{
  color:#171a20;
  background:#f6f8fb;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
.policy-table tr:last-child td{
  border-bottom:0;
}

.season-date-list strong,
#location-date{
  white-space:nowrap;
}

@media(max-width:520px){
  .season-date-list strong,
  #location-date{
    font-size:.95rem;
  }
}
.privacy-policy-section{
  padding-top:clamp(52px,8vw,96px);
}
.policy-layout{
  display:grid;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr);
  gap:clamp(18px,3vw,34px);
  align-items:start;
}
.policy-nav{
  position:sticky;
  top:112px;
  padding:24px;
  max-height:calc(100vh - 142px);
  overflow:auto;
}
.policy-nav .eyebrow{
  margin-bottom:12px;
}
.policy-nav h2{
  margin:0 0 16px;
  color:#171a20;
  font-size:1.18rem;
  letter-spacing:-.01em;
}
.policy-nav nav{
  display:grid;
  gap:2px;
}
.policy-nav a{
  display:block;
  padding:9px 0;
  border-bottom:1px solid rgba(31,39,50,.08);
  color:#4d5866;
  font-size:.92rem;
  font-weight:800;
  line-height:1.35;
}
.policy-nav a:hover,
.policy-nav a:focus-visible{
  color:#e31937;
}
.privacy-policy-card{
  padding:clamp(26px,5vw,58px);
}
.privacy-policy-card h2{
  margin:clamp(34px,5vw,56px) 0 16px;
  color:#171a20;
  font-size:clamp(1.65rem,3vw,2.75rem);
  line-height:.98;
  letter-spacing:-.035em;
}
.privacy-policy-card h2:first-child{
  margin-top:0;
}
.privacy-policy-card h3{
  margin:30px 0 12px;
  color:#171a20;
  font-size:clamp(1.15rem,1.9vw,1.55rem);
  line-height:1.08;
  letter-spacing:-.02em;
}
.privacy-policy-card p,
.privacy-policy-card li{
  color:#4d5866;
  font-size:1rem;
  line-height:1.75;
}
.privacy-policy-card p{
  margin:0 0 16px;
}
.privacy-policy-card ul{
  margin:0 0 20px;
  padding-left:20px;
}
.privacy-policy-card li{
  margin:6px 0;
}
.privacy-policy-card a{
  color:#e31937;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:4px;
}
.privacy-policy-card em,
.privacy-policy-card strong{
  color:#171a20;
  font-weight:900;
}
.privacy-policy-card .policy-table-wrap{
  margin:24px 0 32px;
}
.privacy-policy-card .policy-table{
  font-size:.92rem;
}
@media (max-width:980px){
  .policy-layout{
    grid-template-columns:1fr;
  }
  .policy-nav{
    position:static;
    max-height:none;
  }
  .policy-nav nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
  }
}
@media (max-width:620px){
  .privacy-policy-card,
  .policy-nav{
    padding:22px;
    border-radius:18px;
  }
  .policy-nav nav{
    grid-template-columns:1fr;
  }
  .privacy-policy-card p,
  .privacy-policy-card li{
    font-size:.96rem;
  }
}
.third-party-placeholder{
  margin:18px 0;
  padding:18px;
  border:1px solid rgba(31,39,50,.12);
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  color:#171a20;
}
.third-party-placeholder strong{
  display:block;
  color:#171a20;
  font-weight:900;
  margin-bottom:6px;
}
.third-party-placeholder p{
  margin:0 0 14px;
  color:#4d5866;
  line-height:1.55;
}
.third-party-placeholder .btn{
  min-height:42px;
  padding-inline:16px;
}
body.cookie-consent-active .language-floating-button,
body.cookie-modal-active .language-floating-button{
  display:none !important;
}

.analytics-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.analytics-header-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  min-width:min(100%,320px);
}
.analytics-header-actions .microcopy{
  flex:1 1 100%;
  text-align:right;
  margin:0;
}
.analytics-live-badge{
  align-self:center;
  border:1px solid rgba(28,135,88,.22);
  background:#f1fbf6;
  color:#1c8758;
  border-radius:999px;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  padding:9px 12px;
  text-transform:uppercase;
}
.analytics-live-badge[data-state="paused"]{
  border-color:rgba(101,113,127,.28);
  background:#f6f8fb;
  color:#65717f;
}
.analytics-filters{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:20px 0;
}
.analytics-filters label{
  color:#46566b !important;
  font-size:.84rem !important;
}
.analytics-filters select,
.analytics-filters input{
  min-height:44px;
}
.analytics-filter-actions{
  align-self:end;
  display:flex;
}
.analytics-filter-actions .btn{
  width:100%;
}
.analytics-status{
  border:1px solid rgba(31,39,50,.12);
  background:#fff;
  color:#46566b;
  border-radius:14px;
  padding:12px 14px;
  margin:0 0 18px;
}
.analytics-status[data-type="success"]{
  border-color:rgba(28,135,88,.26);
  color:#1c8758;
  background:#f1fbf6;
}
.analytics-status[data-type="error"]{
  border-color:rgba(227,25,55,.28);
  color:#b20f28;
  background:#fff5f6;
}
.analytics-metric-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin:18px 0 22px;
}
.analytics-metric-card,
.analytics-card,
.analytics-insight,
.analytics-recommendation{
  border:1px solid rgba(31,39,50,.12);
  background:linear-gradient(145deg,#fff,#f7f9fc);
  border-radius:18px;
  box-shadow:0 16px 38px rgba(31,39,50,.07);
}
.analytics-metric-card{
  padding:16px;
  min-height:126px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.analytics-metric-card span{
  color:#65717f;
  font-size:.84rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.analytics-metric-card strong{
  color:#171a20;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1;
}
.analytics-metric-card small{
  color:#65717f;
  line-height:1.35;
}
.analytics-metric-card[data-direction="up"] small{color:#1c8758}
.analytics-metric-card[data-direction="down"] small{color:#b20f28}
.analytics-grid{
  display:grid;
  gap:16px;
  margin:16px 0;
}
.analytics-grid-two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.analytics-card{
  padding:18px;
  min-width:0;
}
.analytics-card-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}
.analytics-card h4{
  margin:0 !important;
  color:#171a20 !important;
  font-size:1.2rem !important;
}
.analytics-card-head span{
  color:#65717f;
  font-size:.82rem;
  text-align:right;
}
.analytics-chart{
  min-height:260px;
}
.analytics-svg{
  width:100%;
  height:auto;
  display:block;
}
.analytics-chart-legend{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:8px;
  color:#46566b;
  font-size:.88rem;
}
.analytics-chart-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.analytics-chart-legend i{
  width:12px;
  height:12px;
  border-radius:999px;
  display:inline-block;
}
.analytics-funnel,
.analytics-bars{
  display:grid;
  gap:12px;
}
.analytics-funnel-row,
.analytics-bar-row{
  border:1px solid rgba(31,39,50,.10);
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  padding:12px;
  position:relative;
}
.analytics-funnel-row div,
.analytics-bar-row div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  position:relative;
  z-index:1;
}
.analytics-funnel-row strong,
.analytics-bar-row strong{
  color:#171a20;
}
.analytics-funnel-row span,
.analytics-bar-row span{
  color:#65717f;
  font-size:.86rem;
  text-align:right;
}
.analytics-funnel-row i,
.analytics-bar-row i{
  background:linear-gradient(90deg,rgba(227,25,55,.18),rgba(246,166,35,.2));
  border-radius:0 999px 999px 0;
  bottom:0;
  display:block;
  left:0;
  min-width:12px;
  position:absolute;
  top:0;
}
.analytics-table-wrap{
  overflow:auto;
}
.analytics-table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
}
.analytics-table th,
.analytics-table td{
  border-bottom:1px solid rgba(31,39,50,.10);
  padding:11px 10px;
  text-align:left;
  color:#46566b;
  font-size:.9rem;
  vertical-align:top;
}
.analytics-table th{
  color:#171a20;
  background:#f6f8fb;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.analytics-insights,
.analytics-recommendations{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.analytics-insight,
.analytics-recommendation{
  padding:16px;
}
.analytics-insight span,
.analytics-recommendation span{
  display:inline-block;
  color:#e31937;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.analytics-insight[data-severity="positive"] span{color:#1c8758}
.analytics-insight[data-severity="warning"] span{color:#b20f28}
.analytics-insight[data-severity="opportunity"] span{color:#6e44ff}
.analytics-recommendation span{
  color:#6e44ff;
}
.analytics-insight h5,
.analytics-recommendation h5{
  margin:0 0 8px;
  color:#171a20;
  font-size:1.08rem;
}
.analytics-insight p,
.analytics-insight small,
.analytics-recommendation p,
.analytics-recommendation small,
.analytics-empty{
  color:#65717f;
  line-height:1.55;
}
.analytics-insight p,
.analytics-recommendation p{margin:0 0 10px}
.analytics-insight small,
.analytics-recommendation small{display:block}
.analytics-recommendation small strong{
  color:#171a20;
}
.analytics-empty{
  margin:0;
  padding:12px 0;
}
.admin-attribution-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin:1rem 0;
}
.admin-attribution-tabs button{
  border:1px solid rgba(31,39,50,.14);
  border-radius:999px;
  background:#fff;
  color:#1f2732;
  cursor:pointer;
  font-weight:800;
  padding:.65rem 1rem;
}
.admin-attribution-tabs button.active{
  background:#1f2732;
  border-color:#1f2732;
  color:#fff;
}
.admin-attribution-breadcrumb{
  color:#65717f;
  font-size:.9rem;
  font-weight:800;
  margin-bottom:1rem;
}
.admin-attribution-dl{
  display:grid;
  gap:.75rem;
  margin:0;
}
.admin-attribution-dl-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-attribution-dl div{
  border-bottom:1px solid rgba(31,39,50,.08);
  padding-bottom:.65rem;
}
.admin-attribution-dl dt{
  color:#65717f;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-attribution-dl dd{
  margin:.25rem 0 0;
  overflow-wrap:anywhere;
}
.admin-attribution-timeline{
  display:grid;
  gap:.8rem;
  list-style:none;
  margin:0;
  padding:0;
}
.admin-attribution-timeline li{
  border-left:4px solid #ef3b24;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(31,39,50,.07);
  padding:.8rem 1rem;
}
.admin-attribution-timeline strong,
.admin-attribution-timeline span,
.admin-attribution-timeline small{display:block}
.admin-attribution-timeline small{
  color:#65717f;
  margin-top:.2rem;
}
.admin-attribution-advanced summary{
  cursor:pointer;
  font-weight:900;
}
@media(max-width:1040px){
  .analytics-filters,
  .analytics-metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .analytics-insights,
  .analytics-recommendations{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:760px){
  .analytics-header,
  .analytics-grid-two{
    grid-template-columns:1fr;
    display:grid;
  }
  .analytics-header-actions{
    justify-content:stretch;
  }
  .analytics-header-actions .btn{
    width:100%;
  }
  .analytics-header-actions .microcopy{
    text-align:left;
  }
  .analytics-live-badge{
    justify-content:center;
    text-align:center;
    width:100%;
  }
  .analytics-filters,
  .analytics-metric-grid,
  .analytics-insights,
  .analytics-recommendations{
    grid-template-columns:1fr;
  }
  .analytics-card,
  .analytics-metric-card{
    border-radius:16px;
  }
  .analytics-table{
    min-width:620px;
  }
}
.pdf-pack-actions .btn,
.pdf-pack-actions button,
.flipbook-actions .btn,
.flipbook-actions button,
.booklet-action-bar .btn,
.booklet-action-bar button,
.hero-actions button{
  font-family:var(--font-body) !important;
}
.nav a,
.mobile-cta a,
.whatsapp-toggle,
.contact-icon,
.language-floating-button,
button,
.btn{
  min-height:44px;
}
.mobile-cta{
  gap:10px;
}
.mobile-cta .btn{
  flex:1 1 0;
  justify-content:center;
  text-align:center;
  white-space:normal;
  line-height:1.15;
  padding:12px 12px !important;
}

@media(max-width: 820px){
  .nav .nav-cta{
    width:100%;
    justify-content:center;
    margin-top:4px;
  }
  .contact-cluster{
    right:12px;
    bottom:92px;
    gap:7px;
  }
  body.info-pack-pdf-body .mobile-cta,
  body.info-pack-pdf-body .contact-cluster,
  body.info-pack-pdf-body .language-floating-button{
    display:none !important;
  }
  .contact-icon{
    width:42px;
    height:42px;
  }
  .cookie-consent{
    display:grid;
    left:12px;
    right:12px;
    bottom:12px;
    padding:16px;
  }
  .cookie-consent__actions{
    justify-content:stretch;
  }
  .cookie-consent__actions .btn{
    flex:1 1 150px;
  }
  .info-pack-form-panel{
    padding-top:34px !important;
  }
  .info-pack-form-panel .info-pack-form-wrap{
    order:-1;
  }
  .info-pack-form-panel .page-logo-medium,
  .info-pack-form-panel .compact-info-guide{
    display:none;
  }
  .info-pack-form-copy .lead{
    display:none;
  }
  .info-pack-mini-proof{
    grid-template-columns:1fr 1fr 1fr;
    margin-top:0;
  }
  .info-pack-mini-proof span{
    padding:10px;
    font-size:.72rem;
  }
  .info-pack-mini-proof strong{
    font-size:.84rem;
  }
  .calendar-export-menu{
    position:static;
    width:min(100%,260px);
  }
  .mobile-page-jumps{display:block;}
  .simple-start-strip{padding:13px 0;}
  .simple-start-inner{
    align-items:stretch;
    text-align:left;
    justify-content:flex-start;
  }
  .simple-start-inner strong,
  .simple-start-inner span{
    flex:1 1 100%;
  }
  .simple-start-inner .btn{
    width:100%;
  }
  .home-film-content{
    padding-top:clamp(32px,7vh,70px);
    padding-bottom:clamp(84px,12vh,120px);
  }
  .home-film-copy .actions{
    gap:10px;
  }
  .home-film-copy .actions .btn{
    width:100%;
  }
  .nav.open a,
  .nav.open .btn,
  .nav a,
  .nav .btn{
    padding-top:14px;
    padding-bottom:14px;
  }
  .section{
    padding-top:clamp(50px,12vw,76px);
    padding-bottom:clamp(50px,12vw,76px);
  }
}

@media(max-width: 420px){
  .mobile-cta .btn{
    font-size:.86rem !important;
  }
  .mobile-page-jumps a{
    min-height:38px;
    padding:8px 12px;
    font-size:.86rem;
  }
}



/* Competition season dates presentation - 2026/2027 */
.competition-season-dates{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;border-top:1px solid rgba(31,39,50,.08);border-bottom:1px solid rgba(31,39,50,.08)}
.season-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1fr);gap:clamp(24px,5vw,64px);align-items:end;margin-bottom:34px}
.season-heading h2{margin:0;font-size:clamp(2.2rem,5vw,4.6rem);line-height:.94;letter-spacing:-.055em;color:#171a20}.season-heading-copy p{margin:0 0 18px;color:#4b5563;line-height:1.65}.season-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.season-table-card{background:#fff;border:1px solid rgba(31,39,50,.09);border-radius:28px;padding:clamp(22px,3vw,34px);box-shadow:0 18px 46px rgba(15,23,42,.065)}.season-table-card h3{margin:0 0 18px;color:#e31937;font-size:clamp(1.25rem,2vw,1.8rem)}.season-date-list{display:grid;gap:10px}.season-date-list article{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(150px,.9fr) minmax(180px,1.2fr);gap:12px;align-items:start;padding:13px 0;border-top:1px solid rgba(31,39,50,.08)}.season-date-list article:first-child{border-top:0}.season-date-list span{font-weight:900;color:#171a20;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem}.season-date-list strong{color:#e31937;font-weight:900}.season-date-list em{font-style:normal;color:#4b5563;line-height:1.45}.featured-date-card{border-color:rgba(227,25,55,.22) !important;background:linear-gradient(180deg,#fff 0%,#fff7f8 100%) !important}
.competition-season-dates .season-date-list article{align-items:center}
.competition-season-dates .season-date-list article{grid-template-columns:minmax(112px,.6fr) minmax(196px,.95fr) minmax(170px,1fr)}
.competition-season-dates .season-date-list strong{display:block;line-height:1.25;overflow-wrap:anywhere;white-space:normal}
.competition-season-dates .season-date-list em{display:block;line-height:1.4;overflow-wrap:anywhere}
.competition-season-dates .season-date-list .calendar-action-row{grid-column:2 / -1;display:flex;flex-wrap:nowrap;gap:8px;align-items:center;justify-content:flex-start;margin-top:4px}
.competition-season-dates .season-date-list .calendar-export{margin-top:0}
.competition-season-dates .season-date-list .calendar-export summary,
.competition-season-dates .season-date-list .calendar-register-link{min-width:116px;min-height:36px;padding:0 13px;font-size:.68rem;letter-spacing:.11em;line-height:1;white-space:nowrap;justify-content:center}
@media(max-width:900px){.competition-season-dates,.competition-season-dates *{min-width:0}.season-heading,.season-table-grid{grid-template-columns:minmax(0,1fr)}.season-heading-copy .actions{display:grid;grid-template-columns:minmax(0,1fr)}.season-heading-copy .btn{width:100%}.season-table-card{max-width:100%;overflow:hidden}.season-date-list article{grid-template-columns:minmax(0,1fr);gap:5px}.season-date-list span,.season-date-list strong,.season-date-list em{overflow-wrap:anywhere}.competition-season-dates .season-date-list .calendar-action-row{grid-column:auto;flex-wrap:wrap;margin-top:8px}.competition-season-dates .season-date-list .calendar-export summary,.competition-season-dates .season-date-list .calendar-register-link{min-width:0}}

/* Competitions: 2026 Season and Season 5 event carousels */
body.competition-hub #competition-dates .season-table-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:34px;
}
body.competition-hub #competition-dates .season-table-card{
  border:none;
  background:transparent;
  box-shadow:none;
  padding:0;
}
body.competition-hub #competition-dates .season-table-card h3{
  margin:0 0 16px;
  color:#171a20;
  font-size:clamp(1.7rem,2.3vw,2.25rem);
}
body.competition-hub #competition-dates .season-events-carousel{
  position:relative;
}
body.competition-hub #competition-dates .season-events-carousel .home-opportunity-shell{
  grid-template-columns:44px minmax(0,960px) 44px;
  justify-content:center;
  gap:12px;
}
body.competition-hub #competition-dates .season-events-carousel .home-opportunity-control{
  position:relative;
  z-index:8;
  width:44px;
  height:44px;
  border-color:rgba(227,25,55,.16);
  background:#fff;
  color:#111722;
  font-size:1.85rem;
  box-shadow:0 14px 30px rgba(31,39,50,.13);
}
body.competition-hub #competition-dates .season-events-carousel .home-opportunity-control:hover:not(:disabled),
body.competition-hub #competition-dates .season-events-carousel .home-opportunity-control:focus-visible{
  color:#e31937;
}
body.competition-hub #competition-dates .season-events-carousel .home-opportunity-control:disabled{
  background:#f7f8fa;
  border-color:rgba(31,39,50,.09);
  color:rgba(31,39,50,.26);
  opacity:1;
  box-shadow:none;
}
body.competition-hub #competition-dates .season-date-list{
  grid-auto-columns:calc((100% - 40px)/3);
  align-items:stretch;
  gap:20px;
  padding:14px 2px 22px;
  scroll-padding-inline:2px;
  mask-image:none;
}
body.competition-hub #competition-dates .season-date-list > .editable-opportunity-card{
  scroll-snap-align:start;
  min-height:360px;
  height:auto;
  align-self:stretch;
  padding:16px 20px 18px !important;
  border-radius:18px !important;
  border-color:rgba(31,39,50,.12) !important;
  background:linear-gradient(160deg,#fff 0%,#fbfcfd 100%) !important;
  transform:none;
  transform-origin:center center;
  box-shadow:0 22px 48px rgba(31,39,50,.10),0 1px 0 rgba(255,255,255,.88) inset !important;
  transition:transform .22s ease-out,box-shadow .22s ease-out,border-color .22s ease-out;
  will-change:transform;
  overflow:visible;
}
body.competition-hub #competition-dates .season-date-list > .editable-opportunity-card.is-active{
  z-index:2;
}
body.competition-hub #competition-dates .season-date-list > .editable-opportunity-card:focus-within{
  z-index:6;
  transform:translateY(-3px) scale(1.025);
  border-color:rgba(227,25,55,.22) !important;
  box-shadow:0 30px 62px rgba(31,39,50,.15),0 10px 24px rgba(227,25,55,.08),0 1px 0 rgba(255,255,255,.88) inset !important;
}
@media(hover:hover) and (pointer:fine){
  body.competition-hub #competition-dates .season-date-list > .editable-opportunity-card:hover{
    z-index:6;
    transform:translateY(-3px) scale(1.025);
    border-color:rgba(227,25,55,.22) !important;
    box-shadow:0 30px 62px rgba(31,39,50,.15),0 10px 24px rgba(227,25,55,.08),0 1px 0 rgba(255,255,255,.88) inset !important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.competition-hub #competition-dates .season-date-list > .editable-opportunity-card{
    transition:none;
    will-change:auto;
  }
  body.competition-hub #competition-dates .season-date-list > .editable-opportunity-card:hover,
  body.competition-hub #competition-dates .season-date-list > .editable-opportunity-card:focus-within{
    transform:none;
    border-color:rgba(227,25,55,.22) !important;
    box-shadow:0 24px 54px rgba(31,39,50,.14),0 1px 0 rgba(255,255,255,.88) inset !important;
  }
}
body.competition-hub #competition-dates .season-date-list > .editable-opportunity-card:before{
  width:3px;
  border-radius:18px 0 0 18px;
}
body.competition-hub #competition-dates .season-date-list .event-card-logo{
  width:140px;
  height:140px;
  margin:0 auto 18px;
}
body.competition-hub #competition-dates .season-date-list > .editable-opportunity-card > h3{
  display:none;
}
body.competition-hub #competition-dates .season-date-list article h3{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:0;
  min-height:1.04em !important;
  margin:0 0 8px !important;
  font-size:clamp(1.34rem,1.45vw,1.58rem) !important;
  line-height:1.04 !important;
  text-wrap:normal;
}
body.competition-hub #competition-dates .season-date-list .competition-title-main,
body.competition-hub #competition-dates .season-date-list .competition-title-place{
  display:block;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:0;
  text-transform:none;
}
body.competition-hub #competition-dates .season-date-list .competition-title-main{
  white-space:nowrap;
}
body.competition-hub #competition-dates .season-date-list .competition-title-place{
  overflow-wrap:anywhere;
}
body.competition-hub #competition-dates .season-date-list .event-card-details{
  gap:0;
  margin:0 0 12px;
}
body.competition-hub #competition-dates .season-date-list .event-card-details div{
  grid-template-columns:minmax(74px,.35fr) minmax(0,1fr);
  gap:10px;
  min-height:30px;
  padding:7px 0;
}
body.competition-hub #competition-dates .season-date-list .event-card-details dt{
  font-size:.66rem;
  line-height:1.1;
  letter-spacing:.11em;
}
body.competition-hub #competition-dates .season-date-list .event-card-details dd{
  font-size:.9rem;
  line-height:1.28;
  font-weight:700;
}
body.competition-hub #competition-dates .season-date-list .calendar-action-row{
  width:100%;
  margin-top:auto;
  padding-top:10px;
  border-top:0;
  gap:8px;
  flex-wrap:nowrap;
}
body.competition-hub #competition-dates .season-date-list .calendar-export summary,
body.competition-hub #competition-dates .season-date-list .calendar-register-link{
  min-width:0;
  min-height:36px;
  padding:0 12px;
  font-size:.66rem;
  letter-spacing:.1em;
}
body.competition-hub #competition-dates .season-date-list .calendar-export,
body.competition-hub #competition-dates .season-date-list .calendar-register-link{
  flex:1 1 0;
}
body.competition-hub #competition-dates .season-date-list .competition-card-action-row{
  display:flex;
  align-items:stretch;
  gap:8px;
  flex-wrap:nowrap;
}
body.competition-hub #competition-dates .season-date-list .competition-find-out-more-link,
body.competition-hub #competition-dates .season-date-list .competition-card-action-row .whatsapp-reminder-trigger{
  flex:1 1 0;
  width:auto;
  min-width:0;
  min-height:44px;
  height:auto;
  padding:7px 8px;
  line-height:1.18;
  text-align:center;
  white-space:normal;
  overflow-wrap:break-word;
}
body.competition-hub #competition-dates .season-date-list .competition-card-action-row .whatsapp-reminder-trigger{
  flex-basis:0;
}

body.competition-hub .competition-event-details{
  display:none;
  padding-block:clamp(48px,6vw,84px);
}

body.competition-hub .competition-event-details.is-visible,
body.competition-hub .competition-event-details:has(.competition-location-detail:target){
  display:block;
}

body.competition-hub .competition-event-details .intro{
  align-items:start;
  margin-bottom:clamp(18px,3vw,28px);
}

body.competition-hub .competition-event-detail-list{
  display:grid;
  gap:16px;
  max-width:760px;
  margin:0 auto;
}

body.competition-hub .competition-event-detail-list .competition-location-detail{
  margin:0;
  scroll-margin-top:calc(var(--header-offset, 120px) + 24px);
}

body.competition-hub .competition-event-detail-list .competition-location-detail[hidden],
body.competition-hub .competition-event-detail-list .competition-location-detail:not(:target){
  display:none;
}

body.competition-hub .competition-event-details.is-visible .competition-event-detail-list .competition-location-detail.is-active{
  display:block;
}

@media(max-width:1120px){
  body.competition-hub #competition-dates .season-date-list{
    grid-auto-columns:calc((100% - 20px)/2);
  }
}
@media(max-width:640px){
  body.competition-hub #competition-dates .season-events-carousel .home-opportunity-shell{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  body.competition-hub #competition-dates .season-date-list{
    grid-column:1/-1;
    grid-row:1;
    grid-auto-columns:100%;
    padding:10px 0 16px;
  }
  body.competition-hub #competition-dates .season-date-list > .editable-opportunity-card{
    height:auto;
    min-height:0;
    padding:16px 18px 18px !important;
  }
  body.competition-hub #competition-dates .season-date-list .competition-card-title{
    min-height:0 !important;
    font-size:clamp(1.36rem,7vw,1.62rem) !important;
  }
  body.competition-hub #competition-dates .season-date-list article h3{
    min-height:0 !important;
    font-size:clamp(1.36rem,7vw,1.62rem) !important;
  }
  body.competition-hub #competition-dates .season-date-list .event-card-details div{
    grid-template-columns:minmax(68px,.34fr) minmax(0,1fr);
  }
  body.competition-hub #competition-dates .season-date-list .competition-card-action-row{
    flex-wrap:wrap;
  }
  body.competition-hub #competition-dates .season-date-list .competition-find-out-more-link,
  body.competition-hub #competition-dates .season-date-list .competition-card-action-row .whatsapp-reminder-trigger{
    flex:1 1 150px;
  }
  body.competition-hub #competition-dates .season-events-carousel .home-opportunity-control{
    width:100%;
    height:48px;
    border-radius:999px;
  }
}
@media(max-width:360px){
  body.competition-hub #competition-dates .season-date-list .competition-card-title{
    font-size:1.02rem !important;
  }
  body.competition-hub #competition-dates .season-date-list article h3{
    font-size:1.02rem !important;
  }
}

/* Events page compact locations table */
body.events-page .competition-season-dates{
  padding-block:clamp(56px,6vw,92px) !important;
}
body.events-page .season-heading{
  grid-template-columns:minmax(260px,.72fr) minmax(420px,.9fr);
  gap:clamp(28px,5vw,64px);
  margin-bottom:34px;
}
body.events-page .season-heading h2{
  font-size:clamp(2.7rem,4.9vw,4.45rem);
  letter-spacing:-.052em;
}
body.events-page .season-heading-copy p{
  margin-bottom:18px;
  font-size:1.02rem;
  line-height:1.62;
}
body.events-page .season-heading-copy .actions{
  gap:10px;
}
body.events-page .season-heading-copy .btn{
  min-height:46px;
  padding:0 20px;
  font-size:.72rem;
  white-space:nowrap;
}
body.events-page .season-table-grid{
  gap:24px;
  align-items:start;
}
body.events-page .season-table-card{
  border-radius:24px;
  padding:clamp(24px,2.4vw,32px);
}
body.events-page .season-table-card h3{
  margin-bottom:18px;
  font-size:clamp(1.45rem,1.9vw,1.75rem);
}
body.events-page .season-date-list{
  gap:0;
}
body.events-page .season-date-list article{
  grid-template-columns:minmax(118px,.72fr) minmax(162px,.9fr) minmax(220px,1.18fr);
  gap:9px 18px;
  padding:14px 0;
}
body.events-page .season-date-list span{
  font-size:.78rem;
  letter-spacing:.055em;
  line-height:1.25;
}
body.events-page .season-date-list strong{
  font-size:.96rem;
  line-height:1.25;
  white-space:normal;
}
body.events-page .season-date-list em{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  color:#344054;
  font-size:.95rem;
  line-height:1.34;
}
body.events-page .season-date-list .calendar-action-row{
  grid-column:2 / -1;
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  align-items:center;
  margin-top:4px;
}
body.events-page .season-date-list .calendar-export{
  margin-top:0;
}
body.events-page .season-date-list .calendar-export summary,
body.events-page .season-date-list .calendar-register-link{
  min-height:34px;
  padding:0 13px;
  font-size:.67rem;
  letter-spacing:.11em;
  line-height:1;
  white-space:nowrap;
}
body.events-page .season-date-list .calendar-export summary:after{
  margin-left:6px;
}
body.events-page .season-date-list .calendar-export-menu{
  min-width:190px;
  margin-top:6px;
}

@media(max-width:1120px){
  body.events-page .season-heading,
  body.events-page .season-table-grid{
    grid-template-columns:minmax(0,1fr);
  }
  body.events-page .season-date-list article{
    grid-template-columns:minmax(72px,.7fr) minmax(118px,.85fr) minmax(130px,1fr);
  }
}

@media(max-width:640px){
  body.events-page .season-heading-copy .actions{
    grid-template-columns:minmax(0,1fr);
  }
  body.events-page .season-date-list article{
    grid-template-columns:minmax(0,1fr);
    gap:4px;
    padding:9px 0;
  }
}

@media(max-width:980px){
  .competition-hub .comp-layout,
  .competition-hub .comp-main,
  .competition-hub .quick-links,
  .competition-hub .location-card,
  .competition-hub .location-detail-grid,
  .competition-hub .ticket-panel{
    min-width:0 !important;
    max-width:100% !important;
  }
}

@media(max-width:640px){
  .competition-hub .page-hero .actions{
    width:calc(100% - 58px);
  }
}

.mobile-page-jumps-inner{
  max-width:100%;
  min-width:0;
}

.mobile-page-jumps-inner{
  padding-left:max(16px, env(safe-area-inset-left));
  padding-right:max(16px, env(safe-area-inset-right));
}

/* Mobile homepage video source support - 2026-06-19 */
@media (max-width: 700px){
  .home-film-video{
    object-fit: cover;
    object-position: center center;
  }
}

/* Admin mobile polish and public/admin separation - 2026-06-20 */
body.admin-body .mobile-cta,
body.admin-body .contact-cluster,
body.admin-body .whatsapp-contact,
body.admin-body .language-floating-button,
body.admin-body .language-overlay,
body.admin-body #google_translate_element{
  display:none !important;
}

.admin-mfa-details,
.admin-security-card,
.admin-mfa-setup{
  border:1px solid rgba(31,39,50,.12);
  border-radius:18px;
  background:#fff;
  padding:12px 14px;
}
.admin-mfa-details summary{
  cursor:pointer;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#1f2937;
}
.admin-password-note{
  margin:10px 0 0;
  color:#65717f;
}
.admin-security-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin:0 0 22px;
  padding:22px;
  background:linear-gradient(135deg,#ffffff 0%,#fff7f8 100%) !important;
  box-shadow:0 16px 40px rgba(31,39,50,.08);
}
.admin-security-card h3,
.admin-mfa-setup h3{
  color:#171a20;
  font-size:clamp(1.45rem,2.4vw,2.2rem);
  letter-spacing:-.03em;
  margin:0 0 10px;
}
.admin-security-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.admin-mfa-warning{
  margin:14px 0 0;
  padding:12px 14px;
  border:1px solid rgba(227,25,55,.24);
  border-radius:14px;
  background:#fff0f2;
  color:#a70f25;
  font-weight:900;
  line-height:1.45;
}
.admin-build-notice{
  margin:0 0 22px;
  padding:20px 22px;
  border:1px solid rgba(227,25,55,.18);
  border-radius:18px;
  background:linear-gradient(135deg,#fff7f8 0%,#ffffff 100%);
  box-shadow:0 16px 40px rgba(31,39,50,.08);
}
.admin-build-notice h3{
  margin:0 0 8px;
  color:#171a20;
  font-size:clamp(1.25rem,2vw,1.8rem);
  letter-spacing:-.02em;
}
.admin-build-notice p:not(.eyebrow){
  margin:0;
  color:#314052;
  font-weight:800;
  line-height:1.55;
}
.admin-test-mode-notice{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin:0 0 22px;
  padding:18px 22px;
  border:1px solid rgba(255,125,43,.22);
  border-radius:18px;
  background:linear-gradient(135deg,#fff7ef 0%,#ffffff 58%,#f8fbff 100%);
  box-shadow:0 18px 44px rgba(31,39,50,.09);
}
.admin-test-mode-notice > div:first-child{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  align-items:baseline;
}
.admin-test-mode-notice .eyebrow{
  margin:0;
  flex:0 0 auto;
}
.admin-test-mode-notice h3{
  margin:0;
  color:#171a20;
  font-size:clamp(1.05rem,1.55vw,1.35rem);
  letter-spacing:-.02em;
  white-space:nowrap;
}
.admin-test-mode-notice p:not(.eyebrow){
  margin:0;
  color:#314052;
  font-size:.92rem;
  font-weight:800;
  line-height:1.35;
  flex:1 1 420px;
}
.admin-test-mode-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-start;
  align-items:center;
}
.admin-test-mode-actions span{
  color:#d45f10;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-mfa-setup{
  margin:0 0 24px;
  padding:24px;
  background:#fff !important;
}
.admin-mfa-setup-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(280px,1fr);
  gap:22px;
  align-items:start;
  margin-top:18px;
}
.admin-mfa-qr{
  display:grid;
  gap:12px;
  margin-top:16px;
  padding:16px;
  border:1px solid rgba(31,39,50,.1);
  border-radius:18px;
  background:#f8fafc;
}
.admin-mfa-qr img{
  width:min(220px,100%);
  height:auto;
  background:#fff;
  border-radius:12px;
  padding:10px;
  border:1px solid rgba(31,39,50,.08);
}
.admin-mfa-qr code{
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
  padding:10px 12px;
  border-radius:12px;
  background:#171a20;
  color:#fff;
  font-family:var(--font-body);
  font-weight:800;
  letter-spacing:.05em;
}
body.admin-mfa-not-active .admin-action:not([data-admin-action="enquiries"]){
  opacity:.72;
}
@media(max-width:760px){
  .admin-security-card,
  .admin-test-mode-notice,
  .admin-mfa-setup-grid{
    grid-template-columns:1fr;
  }
  .admin-test-mode-actions{
    justify-content:stretch;
  }
  .admin-test-mode-actions .btn{
    width:100%;
  }
  .admin-security-actions{
    justify-content:stretch;
  }
  .admin-security-actions .btn{
    width:100%;
  }
}
.admin-role-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.admin-role-badges span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 11px;
  border:1px solid rgba(31,39,50,.12);
  border-radius:999px;
  background:#fff;
  color:#171a20;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}
body.admin-full-access .admin-role-badges span:first-child{
  border-color:rgba(227,25,55,.22);
  background:#fff1f3;
  color:#b3132f;
}
body.admin-client-access .admin-role-badges span:first-child{
  border-color:rgba(31,39,50,.14);
  background:#f8fafc;
  color:#374151;
}
.admin-quick-nav{
  display:flex;
  align-items:center;
  gap:10px;
  overflow-x:auto;
  padding:12px 0 18px;
  margin:0 0 12px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.admin-quick-nav::-webkit-scrollbar{display:none;}
.admin-quick-nav span{
  flex:0 0 auto;
  font-size:.76rem;
  font-weight:900;
  color:#6b7280;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-quick-nav button,
.admin-back-btn{
  flex:0 0 auto;
  min-height:42px;
  border:1px solid rgba(31,39,50,.12);
  border-radius:999px;
  background:#fff;
  color:#171a20;
  padding:10px 14px;
  font-family:var(--font-body);
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.admin-back-btn{
  margin:-4px 0 18px;
}
.admin-enquiry-card-list{
  display:none;
}
.admin-filter-actions{
  align-items:end;
}
.admin-filter-actions label{
  color:var(--ink);
  display:grid;
  flex:1 1 220px;
  font-size:.82rem;
  font-weight:900;
  gap:7px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-filter-actions input,
.admin-filter-actions select{
  background:#fff;
  border:1px solid rgba(16,24,40,.14);
  border-radius:14px;
  color:var(--ink);
  font:inherit;
  min-height:46px;
  padding:0 14px;
  text-transform:none;
}
.admin-filter-actions .btn{
  min-height:46px;
}
.admin-enquiry-card{
  border:1px solid rgba(31,39,50,.10);
  border-radius:24px;
  background:#fff;
  padding:18px;
  box-shadow:0 18px 42px rgba(15,23,42,.065);
  margin:0 0 14px;
}
.admin-enquiry-card-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}
.admin-enquiry-card h4{
  margin:0;
  font-size:1.25rem;
}
.admin-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:7px 10px;
  background:#fff7f8;
  color:#e31937;
  font-weight:900;
  font-size:.74rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.admin-enquiry-card dl{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 14px;
  margin:0;
}
.admin-enquiry-card dt{
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b7280;
  font-weight:900;
}
.admin-enquiry-card dd{
  margin:2px 0 0;
  color:#171a20;
  font-weight:700;
  overflow-wrap:anywhere;
}
.admin-enquiry-message{
  margin:14px 0 0;
  color:#4b5563;
  line-height:1.5;
}
.admin-enquiry-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.admin-status-btn{
  min-height:38px;
  border:1px solid rgba(31,39,50,.12);
  border-radius:999px;
  background:#fff;
  color:#171a20;
  padding:8px 11px;
  font-weight:900;
  cursor:pointer;
}
.admin-status-btn[data-status="contacted"],
.admin-status-btn[data-status="replied"]{
  border-color:rgba(227,25,55,.18);
  color:#e31937;
}
.admin-status-btn[data-status="archived"]{
  color:#6b7280;
}

.reset-password-hero{
  padding:clamp(48px,7vw,74px) 0 clamp(34px,5vw,52px) !important;
  min-height:auto !important;
}
.reset-password-hero h1{
  font-size:clamp(3.1rem,8vw,6.4rem) !important;
  letter-spacing:-.055em !important;
}
.reset-password-hero .lead{
  max-width:680px !important;
}
.reset-password-section{
  padding:clamp(34px,5vw,58px) 0 clamp(56px,7vw,82px) !important;
}
.reset-password-shell{
  max-width:980px !important;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.reset-password-shell .admin-card{
  margin-bottom:0 !important;
  min-height:100%;
}
.reset-password-shell .admin-card:not(.hidden){
  grid-column:1 / -1;
  width:min(100%,680px);
  margin-inline:auto !important;
  min-height:0;
}
.reset-password-shell .admin-card h2{
  font-size:clamp(1.75rem,3vw,2.55rem) !important;
  letter-spacing:-.035em !important;
}
.reset-password-shell > .microcopy{
  grid-column:1 / -1;
  margin:0;
  padding:14px 16px;
  border:1px solid rgba(31,39,50,.1);
  border-radius:16px;
  background:#fff;
}

@media(max-width: 820px){
  body.admin-body .page-hero.admin-hero{
    padding:46px 0 34px !important;
    min-height:auto !important;
  }
  body.admin-body .page-hero.admin-hero h1{
    font-size:clamp(3.1rem, 15vw, 5rem) !important;
    line-height:.94 !important;
  }
  body.admin-body .page-hero.admin-hero .lead{
    font-size:1.08rem !important;
    line-height:1.55 !important;
  }
  body.admin-body .section{
    padding-top:42px !important;
  }
  .admin-shell{
    width:min(100% - 28px, 980px) !important;
  }
  .admin-card{
    padding:22px !important;
    border-radius:24px !important;
  }
  .admin-card h2,
  .admin-panel h3{
    font-size:clamp(2.2rem, 10vw, 3.4rem) !important;
    line-height:.96 !important;
  }
  .admin-dashboard-head{
    align-items:flex-start !important;
    gap:16px !important;
  }
  .admin-dashboard-head .btn{
    width:100%;
  }
  .admin-action-grid-wide,
  .admin-action-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .admin-action{
    text-align:left !important;
    min-height:96px !important;
  }
  .admin-form .two,
  .two{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .admin-table-wrap{
    overflow:visible !important;
  }
  #adminEnquiries .admin-data-table{
    display:none !important;
  }
  #adminEnquiries .admin-enquiry-card-list{
    display:block !important;
  }
  .admin-export-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .admin-export-actions .btn,
  .admin-form .btn{
    width:100%;
  }
  .admin-list-block .admin-added-event{
    display:block !important;
  }
  .admin-list-block .admin-added-event .btn{
    width:100%;
    margin-top:12px;
  }
  body.admin-body .footer{
    display:none !important;
  }
  .reset-password-shell{
    grid-template-columns:1fr;
  }
}

@media(max-width: 420px){
  .admin-enquiry-card dl{
    grid-template-columns:1fr;
  }
  .admin-quick-nav button{
    font-size:.86rem;
  }
}

/* Admin UX modernisation - 2026-07-01 */
body.admin-body{
  --admin-red:#e31937;
  --admin-red-dark:#b3132f;
  --admin-ink:#171a20;
  --admin-text:#4d5866;
  --admin-muted:#738092;
  --admin-line:rgba(31,39,50,.12);
  --admin-soft:#f6f7f9;
  --admin-card:#ffffff;
  background:
    radial-gradient(circle at 82% 8%,rgba(227,25,55,.08),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f5f7fa 46%,#eef2f6 100%) !important;
}
body.admin-body .admin-shell{
  width:min(100% - 40px, 1240px) !important;
  max-width:1240px !important;
}
body.admin-body #adminDashboard.admin-dashboard-card{
  padding:clamp(22px,3vw,36px) !important;
  border-radius:34px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.92)),
    radial-gradient(circle at 85% 5%,rgba(227,25,55,.08),transparent 32%) !important;
  box-shadow:0 28px 90px rgba(17,24,39,.12) !important;
}
.admin-status-header{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:24px !important;
  align-items:start !important;
  padding:clamp(6px,1vw,10px) 0 24px;
  border-bottom:1px solid var(--admin-line);
}
.admin-status-header h2{
  max-width:720px;
  margin-bottom:12px;
  font-size:clamp(2.4rem,4.9vw,5.2rem) !important;
  line-height:.94 !important;
  letter-spacing:-.055em !important;
}
.admin-header-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  position:relative;
  z-index:4;
}
.admin-header-actions .btn{
  min-height:42px;
  padding:0 16px;
  white-space:nowrap;
  pointer-events:auto;
}
.admin-role-badges{
  gap:10px !important;
}
.admin-role-badges span{
  min-height:34px !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  background:#fff !important;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
#adminEmailBadge{
  max-width:min(100%,420px);
  overflow-wrap:anywhere;
  text-transform:none !important;
  letter-spacing:0 !important;
  color:#2f3a48 !important;
}
#adminMfaBadge.is-active{
  border-color:rgba(6,122,49,.18) !important;
  background:#eefaf2 !important;
  color:#067a31 !important;
}
#adminMfaBadge.is-warning{
  border-color:rgba(227,25,55,.22) !important;
  background:#fff1f3 !important;
  color:var(--admin-red-dark) !important;
}
#adminMfaBadge.is-muted{
  background:#f2f4f7 !important;
  color:#65717f !important;
}
.admin-client-note{
  display:none;
  margin:18px 0 0;
  padding:14px 16px;
  border:1px solid rgba(31,39,50,.1);
  border-radius:18px;
  background:#f8fafc;
}
body.admin-client-access .admin-client-note{
  display:block;
}
.admin-client-note p{
  margin:0;
  color:#405066;
  font-weight:800;
  line-height:1.45;
}
.admin-command-nav{
  position:sticky;
  top:88px;
  z-index:8;
  margin:0 0 22px !important;
  padding:14px !important;
  border:1px solid var(--admin-line);
  border-radius:22px;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 42px rgba(15,23,42,.08);
  backdrop-filter:blur(14px);
}
.admin-command-nav button{
  border-color:rgba(31,39,50,.12) !important;
  background:#fff !important;
  color:#263140 !important;
}
.admin-command-nav button.active,
.admin-command-nav button:hover,
.admin-command-nav button:focus-visible{
  border-color:rgba(227,25,55,.28) !important;
  background:linear-gradient(135deg,#fff7f8,#ffffff) !important;
  color:var(--admin-red) !important;
}
.admin-today-panel,
.admin-tools-panel{
  margin:0 0 24px;
  padding:clamp(18px,2.2vw,26px);
  border:1px solid var(--admin-line);
  border-radius:28px;
  background:linear-gradient(180deg,#ffffff 0%,#fafbfc 100%);
  box-shadow:0 18px 58px rgba(15,23,42,.08);
}
.admin-section-heading{
  display:grid;
  gap:8px;
  margin-bottom:18px;
}
.admin-section-heading h3{
  margin:0 !important;
  color:var(--admin-ink) !important;
  font-size:clamp(1.65rem,3vw,2.55rem) !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
}
.admin-section-heading p:not(.eyebrow){
  max-width:680px;
  margin:0;
  color:var(--admin-text);
  font-weight:700;
  line-height:1.55;
}
.admin-quick-action-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
.admin-action{
  position:relative;
  min-height:148px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:20px !important;
  border-radius:22px !important;
  text-align:left !important;
  overflow:hidden;
}
.admin-action:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#ff4a62,var(--admin-red));
  opacity:.72;
}
.admin-action.active{
  transform:translateY(-1px);
}
.admin-action strong{
  display:block;
  max-width:100%;
  font-size:1.08rem;
  line-height:1.1;
  letter-spacing:-.018em;
}
.admin-action span{
  display:block;
  line-height:1.45;
}
.admin-action-kicker{
  color:var(--admin-red) !important;
  font-size:.68rem !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  line-height:1 !important;
  text-transform:uppercase;
}
.admin-action[data-admin-action="competitionDates"]:before,
.admin-action[data-admin-action="notice"]:before,
.admin-action[data-admin-action="enquiries"]:before,
.admin-action[data-admin-action="analytics"]:before,
.admin-action[data-admin-action="infoPacks"]:before,
.admin-action[data-admin-action="testimonials"]:before{
  background:linear-gradient(180deg,#ff4a62,var(--admin-red));
}
.admin-action[data-admin-action="trainingDates"]:before{
  background:linear-gradient(180deg,#ff9c45,#ff7a2f);
}
.admin-action[data-admin-action="galleries"]:before,
.admin-action[data-admin-action="events"]:before{
  background:linear-gradient(180deg,#9b4cff,#7a36ff);
}
.admin-action[data-admin-action="homepage"]:before,
.admin-action[data-admin-action="wording"]:before,
.admin-action[data-admin-action="images"]:before,
.admin-action[data-admin-action="merch"]:before,
.admin-action[data-admin-action="orders"]:before{
  background:linear-gradient(180deg,#30a8e8,#087fc4);
}
.admin-tool-groups{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
.admin-tool-group{
  display:grid;
  gap:10px;
  min-width:0;
  padding:16px;
  border:1px solid rgba(31,39,50,.1);
  border-radius:24px;
  background:#fff;
}
.admin-tool-group-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  min-height:34px;
  padding:0 0 8px;
  border-bottom:1px solid rgba(31,39,50,.08);
}
.admin-tool-group-head span{
  color:var(--admin-ink);
  font-weight:900;
  letter-spacing:-.02em;
}
.admin-tool-group-head small{
  color:var(--admin-muted);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.admin-tool-group .admin-action{
  min-height:116px !important;
  padding:16px 16px 16px 18px !important;
  box-shadow:0 10px 30px rgba(15,23,42,.055) !important;
}
.admin-tool-group .admin-action strong{
  font-size:1rem;
}
.admin-panel{
  margin-top:26px !important;
  padding:clamp(20px,2.5vw,30px) !important;
  border:1px solid var(--admin-line) !important;
  border-radius:30px !important;
  background:#fff !important;
  box-shadow:0 22px 70px rgba(15,23,42,.1) !important;
  scroll-margin-top:130px;
}
.admin-panel h3{
  max-width:760px;
  margin:0 0 14px !important;
  font-size:clamp(1.95rem,3.5vw,3.6rem) !important;
  line-height:.98 !important;
  letter-spacing:-.052em !important;
}
.admin-back-btn{
  margin:0 0 18px !important;
  min-height:40px !important;
  background:#f8fafc !important;
}
.admin-form{
  display:grid;
  gap:18px !important;
  margin-top:18px !important;
}
.admin-form h4,
.admin-list-block h4{
  margin:8px 0 0;
  padding-top:18px;
  border-top:1px solid rgba(31,39,50,.08);
  color:var(--admin-ink);
  font-size:1.2rem;
  letter-spacing:-.02em;
}
.admin-form label{
  gap:8px !important;
  color:#283445 !important;
  font-size:.78rem !important;
  letter-spacing:.08em !important;
}
.admin-form input,
.admin-form select,
.admin-form textarea{
  min-height:50px !important;
  border-radius:16px !important;
  background:#fff !important;
}
.admin-form textarea{
  min-height:124px !important;
  padding-top:14px !important;
  resize:vertical;
}
.admin-form .two{
  gap:16px !important;
}
.admin-form button[type="submit"]{
  justify-self:start;
  min-width:min(100%,260px);
}
.admin-list-block{
  margin-top:24px;
  padding-top:10px;
}
.admin-added-events{
  display:grid;
  gap:12px;
}
.admin-added-event{
  border-radius:20px !important;
  padding:16px !important;
}
.admin-delete-record,
.admin-remove-event,
.admin-remove-merch{
  border-color:rgba(179,19,47,.28) !important;
  color:var(--admin-red-dark) !important;
}
.admin-table-wrap{
  max-width:100%;
  overflow:auto !important;
  border-radius:22px !important;
}
.admin-data-table{
  min-width:760px;
}
.analytics-header{
  gap:18px;
}
.analytics-header-actions{
  border:1px solid rgba(31,39,50,.1);
  border-radius:22px;
  background:#f8fafc;
  padding:12px;
}
@media(max-width:1180px){
  .admin-quick-action-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .admin-tool-groups{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:820px){
  body.admin-body .admin-shell{
    width:min(100% - 28px, 980px) !important;
  }
  .admin-status-header{
    grid-template-columns:1fr !important;
  }
  .admin-header-actions{
    justify-content:stretch;
  }
  .admin-header-actions .btn{
    flex:1 1 180px;
  }
  .admin-command-nav{
    top:72px;
    border-radius:18px;
    padding:10px !important;
  }
  .admin-quick-action-grid,
  .admin-tool-groups{
    grid-template-columns:1fr !important;
  }
  .admin-action{
    min-height:118px !important;
  }
  .admin-panel{
    border-radius:24px !important;
    scroll-margin-top:110px;
  }
  .admin-form button[type="submit"]{
    justify-self:stretch;
    width:100%;
  }
  .admin-table-wrap{
    overflow-x:auto !important;
  }
}


/* Info Pack PDF viewer */
.pdf-pack-hero .hero-actions,
.pdf-pack-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}
.pdf-viewer-section {
  padding-top: 2rem;
}
.pdf-frame-wrap {
  margin-top: 1.5rem;
  border: 1px solid rgba(20, 24, 35, 0.12);
  border-radius: 28px;
  overflow: hidden;
  background: #f4f4f5;
  box-shadow: 0 18px 50px rgba(20, 24, 35, 0.12);
}
.pdf-frame {
  display: block;
  width: 100%;
  min-height: 82vh;
  border: 0;
}
@media (max-width: 768px) {
  .pdf-pack-hero .hero-actions,
  .pdf-pack-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .pdf-pack-hero .hero-actions .btn,
  .pdf-pack-actions .btn {
    width: 100%;
    text-align: center;
  }
  .pdf-frame-wrap {
    border-radius: 18px;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .pdf-frame {
    min-height: 72vh;
  }
}

/* Live launch polish - booklet, navigation, reset and conversion flow */
.nav{
  align-items:center !important;
}
.nav a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:44px !important;
  line-height:1 !important;
}
.nav .nav-cta{
  align-self:center !important;
  min-height:40px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  border-color:rgba(227,25,55,.28) !important;
  background:linear-gradient(180deg,#fff,#fff6f7) !important;
  color:#e31937 !important;
  box-shadow:0 10px 24px rgba(227,25,55,.08) !important;
  transform:none !important;
}
.nav .nav-cta::after{
  display:none !important;
}
.nav .nav-cta:hover,
.nav .nav-cta:focus-visible{
  background:#e31937 !important;
  border-color:#e31937 !important;
  color:#fff !important;
}
.info-pack-compact-hero{
  padding:clamp(34px,5vw,58px) 0 clamp(26px,4vw,42px) !important;
}
.info-pack-compact-hero h1{
  max-width:920px !important;
}
.info-pack-form-panel{
  padding-top:clamp(36px,5vw,64px) !important;
  padding-bottom:clamp(46px,6vw,78px) !important;
}
.lead-capture-form button[type="submit"][disabled]{
  cursor:wait;
  opacity:.78;
}
body.info-pack-pdf-body .pdf-pack-hero{
  padding:clamp(36px,5vw,58px) 0 clamp(24px,4vw,38px) !important;
}
body.info-pack-pdf-body .pdf-viewer-section{
  padding-top:clamp(28px,4vw,48px) !important;
}
body.info-pack-pdf-body .intro{
  margin-bottom:clamp(18px,3vw,28px) !important;
}
body.info-pack-pdf-body .contact-cluster,
body.info-pack-pdf-body .language-floating-button{
  display:none !important;
}
.booklet-action-bar{
  position:relative !important;
  z-index:4 !important;
}
.booklet-action-bar .btn{
  border-radius:999px !important;
}
.reset-password-hero{
  padding:clamp(34px,5vw,54px) 0 clamp(22px,3vw,34px) !important;
}
.reset-password-hero h1{
  font-size:clamp(2.65rem,6.4vw,5.45rem) !important;
}
.reset-password-section{
  padding-top:clamp(22px,3vw,36px) !important;
}
.reset-password-shell{
  max-width:760px !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}
.reset-password-shell .admin-card{
  min-height:0 !important;
  padding:clamp(22px,3.5vw,34px) !important;
}
.reset-password-shell .admin-card:not(.hidden){
  width:100% !important;
}
.reset-password-shell > .microcopy{
  font-size:.88rem !important;
  line-height:1.55 !important;
}
@media(max-width:1040px){
  .nav.open .nav-cta,
  .nav .nav-cta{
    width:auto !important;
    justify-content:center !important;
  }
}
@media(max-width:820px){
  .nav.open .nav-cta{
    width:100% !important;
  }
  .info-pack-compact-hero{
    padding-top:32px !important;
  }
  .info-pack-form-panel{
    padding-top:24px !important;
  }
}

/* Development Programme content and image polish */
.development-programme-hero{
  padding:clamp(44px,6vw,82px) 0 clamp(38px,5vw,70px) !important;
  background:
    radial-gradient(circle at 78% 10%,rgba(227,25,55,.075),transparent 30%),
    linear-gradient(135deg,#fff 0%,#f8fafc 58%,#fff3f5 100%) !important;
}
.development-programme-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(320px,.78fr);
  gap:clamp(28px,5vw,64px);
  align-items:center;
}
.development-programme-hero h1{
  max-width:920px !important;
  font-size:clamp(3rem,7.4vw,7.2rem) !important;
}
.development-programme-hero-image,
.development-programme-image-card,
.development-programme-gallery figure{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(31,39,50,.1);
  border-radius:28px;
  background:#fff;
  box-shadow:0 22px 54px rgba(15,23,42,.11);
}
.development-programme-hero-image img,
.development-programme-image-card img,
.development-programme-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.development-programme-hero-image{
  aspect-ratio:4 / 5;
}
.development-programme-section{
  background:#fff !important;
}
.development-programme-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.development-programme-grid article{
  display:flex;
  flex-direction:column;
  min-height:260px;
  padding:clamp(22px,2.4vw,30px);
  border:1px solid rgba(31,39,50,.1);
  border-radius:22px;
  background:linear-gradient(155deg,#fff,#f8fafc);
  box-shadow:0 16px 34px rgba(15,23,42,.06);
}
.development-programme-grid strong,
.development-programme-grid h3{
  display:block;
  color:#171a20;
  font-size:clamp(1.32rem,1.7vw,1.68rem);
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.035em;
  margin:0 0 14px;
}
.development-programme-grid span,
.development-programme-grid p,
.development-programme-section p,
.development-mission-card p{
  color:#5f6873 !important;
  line-height:1.56;
}
.development-programme-grid p{
  margin:0;
  font-size:clamp(.92rem,1vw,1rem);
}
.development-programme-grid a{
  color:#f07a1a;
  font-weight:900;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.development-programme-grid a:hover,
.development-programme-grid a:focus-visible{
  text-decoration:underline;
}
.programme-summary-grid{
  gap:20px;
}
.programme-summary-grid article{
  min-height:220px;
}
.programme-summary-grid h3{
  max-width:13ch;
}
.development-programme-split{
  align-items:center;
}
.development-training-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:22px;
  border:1px solid rgba(31,39,50,.1);
  border-radius:28px;
  background:linear-gradient(155deg,#fff,#f6f8fb);
  box-shadow:0 18px 42px rgba(15,23,42,.07);
}
.development-training-list span{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:54px;
  padding:12px 14px;
  border:1px solid rgba(227,25,55,.12);
  border-radius:16px;
  background:#fff;
  color:#171a20;
  font-weight:900;
}
.development-programme-image-card{
  aspect-ratio:4 / 3;
}
.development-mission-section{
  background:linear-gradient(135deg,#f8fafc 0%,#fff 52%,#fff3f5 100%) !important;
}
.development-mission-card,
.development-download-card{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1fr);
  gap:clamp(22px,4vw,54px);
  align-items:center;
  padding:clamp(28px,5vw,54px);
  border:1px solid rgba(31,39,50,.1);
  border-radius:30px;
  background:#fff;
  box-shadow:0 24px 64px rgba(15,23,42,.09);
}
.development-mission-card h2,
.development-download-card h2{
  font-size:clamp(2.3rem,5vw,5.2rem) !important;
}
.development-programme-gallery{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:18px;
}
.development-programme-gallery figure{
  aspect-ratio:4 / 3;
}
.development-download-section{
  background:
    radial-gradient(circle at 20% 0%,rgba(227,25,55,.07),transparent 28%),
    linear-gradient(180deg,#fff,#f8fafc) !important;
}
.development-download-card{
  grid-template-columns:minmax(0,1fr) minmax(230px,.46fr) auto;
}
.development-download-card .btn{
  white-space:nowrap;
}
.development-final-image{
  width:100%;
  margin:0;
  aspect-ratio:4 / 3.15;
  overflow:hidden;
  border-radius:8px;
  background:#eef1f4;
  box-shadow:0 18px 42px rgba(15,23,42,.1);
}
.development-final-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.development-programme-date-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
#season-dates{
  padding-block:clamp(52px,5.5vw,82px) !important;
}
#season-dates .intro{
  grid-template-columns:minmax(0,.95fr) minmax(320px,.82fr);
  gap:clamp(28px,4vw,64px);
  align-items:end;
  margin-bottom:30px;
}
#season-dates .intro h2{
  max-width:760px;
  font-size:clamp(2.9rem,4.5vw,4.8rem);
  line-height:1;
  letter-spacing:-.055em;
}
#season-dates .intro p:not(.eyebrow){
  max-width:620px;
  font-size:1rem;
  line-height:1.62;
}
#season-dates .development-programme-date-grid{
  gap:16px;
}
#season-dates .development-date-card{
  min-height:168px;
  border-radius:18px;
  padding:24px 28px 22px;
  box-shadow:0 14px 34px rgba(24,31,42,.055);
}
#season-dates .development-date-card h3{
  max-width:none;
  margin:12px 0 16px;
  font-size:clamp(1.35rem,1.65vw,1.76rem);
  line-height:1.06;
  letter-spacing:-.025em;
}
#season-dates .development-date-card p{
  margin:0;
  font-size:.98rem;
  line-height:1.35;
}
.development-commitment-note{
  margin-top:22px !important;
  padding:24px 28px;
  border:1px solid rgba(227,25,55,.14);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 34px rgba(15,23,42,.06);
}
.development-commitment-note strong{
  display:block;
  margin-bottom:8px;
  color:#171a20;
  font-size:1.15rem;
  font-weight:900;
}
.development-pathway-table{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.development-pathway-table article,
.development-glance-card{
  padding:clamp(24px,3vw,34px);
  border:1px solid rgba(31,39,50,.1);
  border-radius:24px;
  background:linear-gradient(155deg,#fff,#f8fafc);
  box-shadow:0 16px 34px rgba(15,23,42,.06);
}
.development-pathway-table h3{
  margin:0 0 12px;
  color:#171a20;
  font-size:clamp(1.5rem,2.2vw,2.1rem);
}
.development-pathway-table p{
  margin:0;
}
.development-glance-card{
  display:grid;
  grid-template-columns:minmax(0,.7fr) minmax(0,1fr);
  gap:clamp(22px,4vw,54px);
  align-items:start;
}
.development-glance-list{
  display:grid;
  gap:10px;
  margin:0;
}
.development-glance-list div{
  display:grid;
  grid-template-columns:minmax(120px,.38fr) 1fr;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid rgba(31,39,50,.08);
}
.development-glance-list dt{
  color:#171a20;
  font-weight:900;
}
.development-glance-list dd{
  margin:0;
  color:#5f6873;
}
.development-apply-steps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  padding:0;
  margin:0 0 28px;
  list-style:none;
}
.development-apply-steps li{
  display:grid;
  gap:14px;
  padding:22px;
  border:1px solid rgba(31,39,50,.1);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 30px rgba(15,23,42,.055);
}
.development-apply-steps span{
  color:#f07a1a;
  font-weight:900;
  letter-spacing:.14em;
}
.development-apply-steps h3{
  margin:0 0 8px;
  color:#171a20;
  font-size:1.18rem;
}
.development-apply-steps p{
  margin:0;
}
.development-apply-panel .field-helper{
  color:#5f6873;
  line-height:1.55;
}
@media(max-width:1040px){
  .development-programme-hero-grid,
  .development-mission-card,
  .development-download-card,
  .development-programme-gallery,
  .development-glance-card{
    grid-template-columns:1fr;
  }
  .development-programme-grid,
  .development-programme-date-grid,
  .development-pathway-table{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .development-apply-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .development-programme-hero-image{
    aspect-ratio:16 / 10;
  }
  .development-conversion-page #what-dancers-build .development-build-grid{
    grid-template-columns:1fr;
  }
  .development-conversion-page #what-dancers-build .development-build-card{
    grid-template-columns:minmax(0,1fr) minmax(190px,.52fr);
  }
}
@media(max-width:640px){
  .development-programme-hero{
    padding-top:34px !important;
  }
  .development-programme-hero h1{
    font-size:clamp(2.8rem,14vw,4.7rem) !important;
  }
  .development-programme-grid,
  .development-programme-date-grid,
  .development-training-list,
  .development-pathway-table,
  .development-apply-steps{
    grid-template-columns:1fr;
  }
  .development-programme-grid article{
    min-height:auto;
  }
  .development-conversion-page #what-dancers-build .development-build-card{
    grid-template-columns:1fr;
    grid-template-areas:
      "media"
      "content";
    min-height:0;
  }
  .development-conversion-page #what-dancers-build .development-build-card__content{
    padding:22px 20px 20px;
  }
  .development-conversion-page #what-dancers-build .development-build-card__content::after{
    display:none;
  }
  .development-conversion-page #what-dancers-build .development-build-card__media{
    min-height:0;
    aspect-ratio:16 / 9;
  }
  .development-conversion-page #what-dancers-build .development-build-card__media::before{
    inset:auto 0 -1px 0;
    width:auto;
    height:42%;
    background:linear-gradient(180deg,rgba(255,250,244,0) 0%,rgba(255,250,244,.48) 44%,#fff 100%);
  }
  .development-mission-card,
  .development-download-card{
    padding:22px;
    border-radius:22px;
  }
  .development-download-card .btn{
    width:100%;
  }
  .development-glance-list div{
    grid-template-columns:1fr;
    gap:4px;
  }
}

/* Development Programme Season 3 conversion page */
.development-conversion-page h1,
.development-conversion-page h2,
.development-conversion-page h3{
  letter-spacing:0 !important;
}
.development-conversion-page .development-programme-hero{
  min-height:calc(100vh - 88px);
  padding:clamp(28px,3.4vw,48px) 0 clamp(28px,3.2vw,46px) !important;
  display:flex;
  align-items:center;
}
.development-conversion-page .development-programme-hero-grid{
  grid-template-columns:minmax(0,.9fr) minmax(360px,.64fr);
  gap:clamp(28px,4vw,54px);
}
.development-conversion-page .development-programme-hero h1{
  max-width:760px !important;
  font-size:clamp(2.85rem,4.35vw,4.95rem) !important;
  line-height:.98;
}
.development-conversion-page .lead{
  max-width:760px;
}
.development-conversion-page .development-programme-hero .lead{
  max-width:680px;
  margin-top:22px;
  font-size:clamp(1rem,1.18vw,1.22rem);
  line-height:1.48;
  font-weight:800;
}
.development-conversion-page .development-programme-hero p:not(.eyebrow):not(.lead):not(.development-hero-note){
  max-width:700px;
  margin-top:18px;
  font-size:clamp(.9rem,.98vw,1rem);
  line-height:1.52;
}
.development-conversion-page .development-programme-hero .actions{
  margin-top:22px;
}
.development-conversion-page .development-programme-hero-image{
  aspect-ratio:4 / 4.35;
  max-height:580px;
  border-radius:20px;
}
.development-conversion-page .section{
  padding-top:clamp(40px,4.5vw,64px) !important;
  padding-bottom:clamp(40px,4.5vw,64px) !important;
}
.development-hero-note{
  max-width:720px;
  margin:16px 0 0;
  padding:14px 18px;
  border-left:4px solid #f07a1a;
  background:rgba(240,122,26,.08);
  color:#171a20 !important;
  font-weight:900;
  font-size:clamp(.88rem,.94vw,.98rem);
  line-height:1.4;
}
.development-support-points{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:0;
  margin:20px 0 0;
}
.development-support-points li{
  min-height:74px;
  padding:14px 16px;
  border:1px solid rgba(31,39,50,.1);
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 28px rgba(15,23,42,.05);
  color:#24303f;
  font-size:.92rem;
  font-weight:900;
  line-height:1.4;
}
.development-hero-points{
  max-width:760px;
}
.development-programme-tight-intro{
  max-width:1120px;
  margin:0 auto 24px;
  text-align:left;
}
.development-programme-tight-intro h2{
  max-width:760px;
  margin:0;
  font-size:clamp(2.8rem,4.5vw,5rem) !important;
  line-height:.98;
  letter-spacing:-.035em;
  white-space:normal;
}
.development-programme-tight-intro .development-section-blurb{
  max-width:42ch;
  margin:16px 0 0;
  color:#4d5866 !important;
  font-size:clamp(1rem,1.08vw,1.08rem);
  line-height:1.65;
}
.development-info-pack-strip{
  position:relative;
  z-index:2;
  margin-top:-1px;
  padding:20px 0;
  background:#fffaf4;
  color:#171a20;
  border-top:1px solid rgba(240,122,26,.12);
  border-bottom:1px solid rgba(240,122,26,.16);
}
.development-info-pack-inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:clamp(20px,4vw,56px);
  align-items:center;
}
.development-info-pack-inner strong{
  font-size:1.02rem;
  font-weight:900;
  white-space:nowrap;
}
.development-info-pack-inner p{
  margin:0;
  color:#2f3b4a;
  font-weight:800;
  line-height:1.4;
  text-align:center;
}
.development-info-pack-inner .btn{
  background:#f07a1a;
  border-color:#f07a1a;
  color:#fff;
  white-space:nowrap;
  box-shadow:0 16px 34px rgba(240,122,26,.24);
}
.development-conversion-page #pathway{
  min-height:auto;
  display:block;
  scroll-margin-top:110px;
  padding-top:clamp(56px,6vw,88px) !important;
  padding-bottom:clamp(56px,6vw,88px) !important;
}
.development-conversion-page #pathway .development-programme-tight-intro h2{
  max-width:800px;
}
.development-conversion-page #pathway .development-programme-tight-intro .development-section-blurb{
  max-width:46ch;
}
.development-conversion-page #pathway .intro{
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:center;
  max-width:1120px;
  margin:0 auto clamp(24px,3vw,34px);
}
.development-conversion-page #pathway .intro h2{
  max-width:760px;
  margin-bottom:0;
  font-size:clamp(3rem,4.65vw,5rem);
  line-height:.98;
  letter-spacing:0;
  white-space:normal;
}
.development-conversion-page #pathway .intro p:not(.eyebrow){
  max-width:610px;
  margin:0 0 16px;
  font-size:1.05rem;
  line-height:1.65;
}
.development-pathway-positioning{
  display:inline-block;
  padding-left:18px;
  border-left:4px solid #f07a1a;
  color:#171a20;
}
.development-pathway-copy-card{
  padding:clamp(28px,3vw,38px);
  border:1px solid rgba(31,39,50,.1);
  border-radius:10px;
  background:#fff;
  box-shadow:0 22px 58px rgba(23,26,34,.075);
}
.development-conversion-page #pathway .development-pathway-copy-card p{
  max-width:none;
  margin:0 0 16px;
  color:#233044 !important;
  font-size:1rem;
  line-height:1.58;
}
.development-conversion-page #pathway .development-pathway-copy-card p:last-child{
  margin-bottom:0;
  color:#171a20 !important;
}
.development-pathway-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  max-width:1120px;
  margin:0 auto;
}
.development-pathway-steps article{
  min-height:136px;
  padding:20px 22px 18px;
  border:1px solid rgba(240,122,26,.18);
  border-bottom:3px solid #f07a1a;
  border-radius:10px;
  background:linear-gradient(180deg,#fff 0%,#fff8f0 100%);
  box-shadow:0 16px 38px rgba(23,26,34,.055);
}
.development-pathway-steps span{
  display:block;
  margin-bottom:16px;
  color:#f07a1a;
  font-weight:900;
}
.development-pathway-steps h3{
  margin:0 0 10px;
  color:#171a20;
  font-size:clamp(1.12rem,1.35vw,1.38rem);
  font-weight:900;
}
.development-pathway-steps p{
  margin:0;
  color:#303741 !important;
  font-size:.9rem;
  line-height:1.45;
}
.development-family-choice-section{
  scroll-margin-top:110px;
  background:#fff !important;
}
.development-family-choice-intro{
  grid-template-columns:1fr;
  gap:10px;
  max-width:980px;
  margin-bottom:clamp(18px,2.2vw,28px);
}
.development-family-choice-intro h2{
  max-width:none;
  margin:0;
  color:#171a20;
  font-size:clamp(2.2rem,4.2vw,4.6rem) !important;
  line-height:1.02;
}
.development-family-choice-intro p:not(.eyebrow){
  max-width:820px;
  margin:0;
  color:#303741;
  font-size:clamp(1.02rem,1.3vw,1.16rem);
  line-height:1.58;
}
.development-family-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,1.8vw,22px);
  align-items:stretch;
}
.development-family-choice-card{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-rows:auto auto auto 1fr;
  min-height:330px;
  overflow:hidden;
  padding:clamp(24px,2.35vw,30px);
  border:1px solid rgba(240,122,26,.26);
  border-radius:16px;
  background:#fffaf4;
  box-shadow:0 16px 34px rgba(15,23,42,.08);
}
.development-family-choice-card::before,
.development-family-choice-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
}
.development-family-choice-card::before{
  width:220px;
  height:220px;
  right:-112px;
  bottom:-112px;
  border:28px solid rgba(255,123,24,.24);
  border-radius:50%;
}
.development-family-choice-card::after{
  width:188px;
  height:188px;
  right:-66px;
  bottom:-66px;
  background:
    radial-gradient(circle at 76% 82%,rgba(255,123,24,.94) 0 34%,rgba(255,123,24,.48) 58%,rgba(255,123,24,.06) 72%,transparent 73%);
  border-radius:50%;
}
.development-family-choice-card__number{
  color:#f07a1a;
  font-size:clamp(1rem,1.1vw,1.12rem);
  font-weight:900;
  letter-spacing:.18em;
}
.development-family-choice-card__accent{
  display:block;
  width:44px;
  height:2px;
  margin:10px 0 16px;
  border-radius:999px;
  background:#ff7b18;
}
.development-family-choice-card__title{
  margin:0 0 14px;
  max-width:320px;
  color:#171a20 !important;
  font-size:clamp(1.28rem,1.52vw,1.55rem);
  line-height:1.12;
  letter-spacing:0;
}
.development-family-choice-card__lead,
.development-family-choice-card__body{
  margin:0;
  color:#303741 !important;
  font-size:clamp(.9rem,.96vw,.96rem);
  line-height:1.44;
}
.development-family-choice-card__lead{
  margin-bottom:8px;
  font-weight:900;
}
.development-family-choice-card__body + .development-family-choice-card__body{
  margin-top:8px;
}
.development-parent-testimonials-section{
  scroll-margin-top:110px;
  background:#fff !important;
}
.development-parent-testimonials-header{
  display:grid;
  justify-items:start;
  gap:14px;
  max-width:760px;
  margin:0 0 clamp(26px,3vw,36px);
  text-align:left;
}
.development-parent-testimonials-header h2{
  max-width:none;
  margin:0;
  color:#171a20;
  font-size:clamp(3.05rem,4.7vw,4.45rem) !important;
  line-height:.94;
  letter-spacing:0;
  text-transform:uppercase;
}
.development-parent-testimonials-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(20px,2vw,28px);
  align-items:stretch;
}
.development-parent-testimonial-card{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  min-height:382px;
  padding:clamp(26px,2.35vw,34px);
  border:1px solid rgba(15,23,42,.10);
  border-radius:12px;
  background:#fffdfb;
  box-shadow:0 18px 38px rgba(15,23,42,.07);
}
.development-parent-testimonial-card__accent{
  width:44px;
  height:2px;
  margin-bottom:12px;
  border-radius:999px;
  background:#ff7b18;
}
.development-parent-testimonial-card__label{
  margin:0 0 18px;
  color:#f07a1a !important;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
  line-height:1.35;
  text-transform:uppercase;
}
.development-conversion-page #development-parent-testimonials .development-parent-testimonial-card__label{
  color:#f07a1a !important;
}
.development-parent-testimonial-card__quote-mark{
  display:block;
  margin:0 0 8px;
  color:rgba(255,123,24,.30);
  font-family:var(--font-body);
  font-size:3.8rem;
  font-weight:900;
  line-height:.7;
}
.development-parent-testimonial-card__quote{
  display:flex;
  flex:1;
  flex-direction:column;
  margin:0;
}
.development-parent-testimonial-card__quote p{
  margin:0;
  color:#303741 !important;
  font-size:clamp(.98rem,1.05vw,1.06rem);
  line-height:1.68;
}
.development-parent-testimonial-card__footer{
  margin-top:auto;
  padding-top:20px;
}
.development-parent-testimonial-card__footer::before{
  content:"";
  display:block;
  width:100%;
  height:1px;
  margin-bottom:14px;
  background:rgba(17,24,39,.12);
}
.development-parent-testimonial-card__attribution{
  color:#667085;
  font-style:normal;
  font-size:.92rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}
.development-parent-testimonials-slideshow{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 56px;
  gap:clamp(12px,2vw,22px);
  align-items:center;
}
.development-parent-testimonials-viewport{
  min-width:0;
}
.development-parent-testimonials-slideshow .development-parent-testimonial-card{
  width:100%;
  min-height:clamp(330px,31vw,410px);
  padding:clamp(32px,5vw,62px);
  border-radius:18px;
  box-shadow:0 24px 58px rgba(15,23,42,.10);
}
.development-parent-testimonials-slideshow .development-parent-testimonial-card[hidden]{
  display:none;
}
.development-parent-testimonials-slideshow .development-parent-testimonial-card__quote p{
  max-width:920px;
  font-size:clamp(1.08rem,1.55vw,1.35rem);
  line-height:1.72;
}
.development-parent-testimonials-control{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border:1px solid rgba(240,122,26,.25);
  border-radius:999px;
  background:#fff;
  color:#f07a1a;
  box-shadow:0 14px 30px rgba(15,23,42,.11);
  font-family:"Lato",sans-serif;
  font-size:2.5rem;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.development-parent-testimonials-control:hover,
.development-parent-testimonials-control:focus-visible{
  background:#f07a1a;
  color:#fff;
  box-shadow:0 18px 38px rgba(240,122,26,.22);
  transform:translateY(-2px);
}
.development-parent-testimonials-status{
  grid-column:2;
  margin:2px 0 0;
  color:#667085 !important;
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.14em;
  text-align:center;
  text-transform:uppercase;
}
@media(max-width:640px){
  .development-parent-testimonials-slideshow{
    grid-template-columns:1fr 1fr;
  }
  .development-parent-testimonials-viewport{
    grid-column:1 / -1;
    grid-row:1;
  }
  .development-parent-testimonials-control{
    grid-row:2;
    width:100%;
    height:48px;
    border-radius:999px;
  }
  .development-parent-testimonials-control--previous{
    grid-column:1;
  }
  .development-parent-testimonials-control--next{
    grid-column:2;
  }
  .development-parent-testimonials-status{
    grid-column:1 / -1;
    grid-row:3;
  }
  .development-parent-testimonials-slideshow .development-parent-testimonial-card{
    min-height:430px;
    padding:28px 24px;
  }
}
.development-centred-action{
  display:flex;
  justify-content:center;
  margin-top:22px;
}
.development-conversion-page #what-dancers-build h2{
  max-width:none;
  margin:0;
  color:#171a20;
  font-size:clamp(2rem,3vw,3.25rem) !important;
  line-height:1.02;
}
.development-conversion-page #what-dancers-build{
  scroll-margin-top:110px;
  background:#fff !important;
  min-height:calc(100vh - 86px);
  display:flex;
  align-items:center;
}
.development-conversion-page #what-dancers-build .intro{
  grid-template-columns:1fr;
  gap:10px;
  max-width:1120px;
  margin-bottom:22px;
}
.development-conversion-page #what-dancers-build .intro p:not(.eyebrow){
  max-width:780px;
}
.development-conversion-page #what-dancers-build,
.development-conversion-page #what-dancers-build *{
  font-family:var(--font-body);
}
.development-conversion-page #what-dancers-build .development-build-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  grid-auto-rows:1fr;
}
.development-conversion-page #what-dancers-build .development-build-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(250px,.94fr);
  grid-template-areas:"content media";
  min-height:218px;
  height:100%;
  overflow:hidden;
  border:1px solid rgba(17,24,39,.08);
  border-radius:10px;
  background:linear-gradient(90deg,#fff 0%,#fffaf4 100%);
  box-shadow:0 18px 42px rgba(15,23,42,.07);
}
.development-conversion-page #what-dancers-build .development-build-card__content{
  position:relative;
  z-index:2;
  grid-area:content;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px 26px 28px 28px;
}
.development-conversion-page #what-dancers-build .development-build-card__content::after{
  display:none;
}
.development-conversion-page #what-dancers-build .development-build-card__accent{
  width:34px;
  height:3px;
  margin-bottom:16px;
  border-radius:999px;
  background:linear-gradient(90deg,#f07a1a,#ffb463);
}
.development-conversion-page #what-dancers-build .development-build-card__title{
  margin:0 0 10px;
  color:#171a20;
  font-size:clamp(1.3rem,1.65vw,1.72rem);
  line-height:1.04;
  font-weight:900;
  letter-spacing:0;
}
.development-conversion-page #what-dancers-build .development-build-card__copy{
  margin:0;
  color:#405064 !important;
  font-size:.97rem;
  line-height:1.55;
  font-weight:700;
}
.development-conversion-page #what-dancers-build .development-build-card__media{
  position:relative;
  grid-area:media;
  margin:0;
  min-width:0;
  width:100%;
  min-height:100%;
  overflow:hidden;
  background:#fff5ec;
}
.development-conversion-page #what-dancers-build .development-build-card__media::before{
  content:"";
  position:absolute;
  z-index:1;
  top:0;
  bottom:0;
  left:-1px;
  width:44%;
  background:linear-gradient(90deg,#fff 0%,rgba(255,250,244,.9) 38%,rgba(255,250,244,.44) 68%,rgba(255,250,244,0) 100%);
  pointer-events:none;
}
.development-conversion-page #what-dancers-build .development-build-card__image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.development-conversion-page #what-dancers-build .development-build-card__media--cleaner .development-build-card__image{object-position:58% 50%;}
.development-conversion-page #what-dancers-build .development-build-card__media--stronger .development-build-card__image{object-position:52% 50%;}
.development-conversion-page #what-dancers-build .development-build-card__media--confident .development-build-card__image{object-position:51% 48%;}
.development-conversion-page #what-dancers-build .development-build-card__media--discipline .development-build-card__image{object-position:52% 44%;}
.development-conversion-page #what-dancers-build .development-build-card__media--resilient .development-build-card__image{object-position:45% 50%;}
.development-conversion-page #what-dancers-build .development-build-card__media--direction .development-build-card__image{object-position:54% 48%;}
.development-big-left{
  display:block;
  max-width:none;
  margin:0 auto 22px;
  text-align:center;
}
.development-big-left h2{
  max-width:none;
  margin:0;
  font-size:clamp(1.45rem,1.75vw,1.95rem);
  line-height:1.12;
  white-space:nowrap;
}
.development-conversion-page #beyond-training{
  padding:clamp(30px,3.8vw,50px) 0;
  background:
    radial-gradient(circle at 2% 52%,rgba(239,126,26,.12) 0 1px,transparent 1.4px) 0 0/7px 7px,
    radial-gradient(circle at 98% 14%,rgba(239,126,26,.12),transparent 32%),
    linear-gradient(180deg,#fff 0%,#fffaf6 100%);
  color:#171a20;
  overflow:hidden;
}
.development-conversion-page #beyond-training .development-beyond-training{
  display:grid;
  gap:clamp(12px,1.55vw,18px);
  max-width:1040px;
}
.development-conversion-page #beyond-training .development-beyond-training__header{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.development-conversion-page #beyond-training .development-beyond-training__header .eyebrow{
  justify-content:center;
  margin-bottom:10px;
  color:#ef7e1a !important;
  font-size:.72rem;
}
.development-conversion-page #beyond-training .development-beyond-training__heading{
  display:grid;
  gap:0;
  max-width:760px;
  margin:0;
  color:#171a20 !important;
  font-family:var(--font-body);
  font-size:clamp(2.3rem,3.65vw,4rem) !important;
  font-weight:900;
  line-height:.9;
  letter-spacing:-.045em;
}
.development-conversion-page #beyond-training .development-beyond-training__heading > span{
  display:block;
}
.development-conversion-page #beyond-training .development-beyond-training__heading em{
  font-family:var(--font-body);
  font-style:italic;
  font-weight:400;
  color:#ef7e1a;
}
.development-conversion-page #beyond-training .development-beyond-training__intro{
  max-width:690px;
  margin:14px auto 0;
  color:#4d5866 !important;
  font-size:clamp(.94rem,1.05vw,1.04rem);
  line-height:1.55;
}
.development-conversion-page #beyond-training .development-beyond-training__media{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  width:100%;
  margin:0;
}
.development-conversion-page #beyond-training .development-beyond-training__media-slot{
  position:relative;
  min-width:0;
  margin:0;
  aspect-ratio:1040 / 253;
  overflow:hidden;
  border:1px solid rgba(18,23,31,.12);
  border-radius:8px;
  background:#071020;
  box-shadow:0 18px 38px rgba(15,23,42,.14);
}
.development-conversion-page #beyond-training .development-beyond-training__media-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.development-conversion-page #beyond-training .development-beyond-training__media-image--wide-stage{
  object-position:center bottom;
}
.development-conversion-page #beyond-training .development-beyond-training__badge{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:10px;
  max-width:calc(100% - 36px);
  min-height:34px;
  padding:6px 15px 6px 8px;
  border-radius:999px;
  background:#fff;
  color:#ef7e1a;
  font-family:var(--font-body);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 12px 26px rgba(15,23,42,.16);
}
.development-conversion-page #beyond-training .development-beyond-training__badge span,
.development-conversion-page #beyond-training .development-beyond-training__card-icon,
.development-conversion-page #beyond-training .development-beyond-training__criteria-heading span,
.development-conversion-page #beyond-training .development-beyond-training__cta-copy span{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(239,126,26,.36);
  color:#ef7e1a;
}
.development-conversion-page #beyond-training .development-beyond-training__badge span{
  width:26px;
  height:26px;
  border-radius:50%;
  background:#ef7e1a;
  color:#fff;
}
.development-conversion-page #beyond-training .development-beyond-training svg{
  width:1em;
  height:1em;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.development-conversion-page #beyond-training .development-beyond-training__badge svg{
  fill:currentColor;
  stroke:none;
  font-size:.95rem;
}
.development-conversion-page #beyond-training .development-beyond-training__cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.development-conversion-page #beyond-training .development-beyond-training__card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  min-height:190px;
  padding:24px 22px 22px;
  overflow:hidden;
  border:1px solid rgba(239,126,26,.28);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(239,126,26,.055),#fff 58%);
  box-shadow:0 16px 36px rgba(15,23,42,.07);
}
.development-conversion-page #beyond-training .development-beyond-training__card-icon{
  grid-row:1 / span 2;
  width:46px;
  height:46px;
  border-radius:50%;
  background:#fffaf5;
  font-size:1.35rem;
}
.development-conversion-page #beyond-training .development-beyond-training__card-number{
  display:block;
  color:#ef7e1a;
  font-size:1.55rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.02em;
}
.development-conversion-page #beyond-training .development-beyond-training__card-accent{
  display:block;
  width:38px;
  height:2px;
  margin:11px 0 15px;
  border-radius:999px;
  background:#ef7e1a;
}
.development-conversion-page #beyond-training .development-beyond-training__card-title{
  margin:0;
  color:#171a20;
  font-family:var(--font-body);
  font-size:clamp(.96rem,1.05vw,1.04rem);
  font-weight:900;
  line-height:1.18;
  text-align:center;
}
.development-conversion-page #beyond-training .development-beyond-training__card-copy{
  max-width:245px;
  margin:12px auto 0;
  color:#4d5866 !important;
  font-size:.86rem;
  line-height:1.48;
  text-align:center;
}
.development-conversion-page #beyond-training .development-beyond-training__criteria{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(220px,.44fr);
  gap:14px;
  align-items:center;
  padding:12px 18px;
  border:1px solid rgba(239,126,26,.18);
  border-radius:8px;
  background:#fffaf5;
}
.development-conversion-page #beyond-training .development-beyond-training__criteria-heading{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.development-conversion-page #beyond-training .development-beyond-training__criteria-heading span{
  width:40px;
  height:40px;
  border-radius:8px;
  background:#fff;
  font-size:1.28rem;
}
.development-conversion-page #beyond-training .development-beyond-training__criteria h3{
  margin:0;
  color:#ef7e1a;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.11em;
  line-height:1.2;
}
.development-conversion-page #beyond-training .development-beyond-training__criteria ul{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 14px;
  margin:0;
  padding:0;
  list-style:none;
}
.development-conversion-page #beyond-training .development-beyond-training__criteria li{
  display:flex;
  align-items:center;
  gap:12px;
  color:#171a20;
  font-size:.88rem;
  font-weight:700;
  white-space:nowrap;
}
.development-conversion-page #beyond-training .development-beyond-training__criteria li + li::before{
  content:"";
  width:4px;
  height:4px;
  border-radius:50%;
  background:#ef7e1a;
  box-shadow:0 0 0 2px rgba(239,126,26,.08);
}
.development-conversion-page #beyond-training .development-beyond-training__note{
  margin:0;
  padding-left:18px;
  border-left:1px solid rgba(18,23,31,.2);
  color:#5a6573 !important;
  font-size:.78rem;
  line-height:1.38;
}
.development-conversion-page #beyond-training .development-beyond-training__cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px 18px;
  border:1px solid rgba(239,126,26,.2);
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 30px rgba(15,23,42,.07);
}
.development-conversion-page #beyond-training .development-beyond-training__cta-copy{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.development-conversion-page #beyond-training .development-beyond-training__cta-copy span{
  width:38px;
  height:38px;
  border-radius:8px;
  background:#fffaf5;
  font-size:1.22rem;
}
.development-conversion-page #beyond-training .development-beyond-training__cta p{
  max-width:620px;
  margin:0;
  color:#4d5866 !important;
  font-size:.82rem;
  line-height:1.45;
}
.development-conversion-page #beyond-training .development-beyond-training__cta .btn{
  flex:0 0 auto;
  min-height:40px;
  padding:0 24px;
  background:linear-gradient(135deg,#ff8b2b,#d95b12);
  color:#fff;
  box-shadow:0 12px 26px rgba(239,126,26,.18);
}
.development-conversion-page #for-dance-studios{
  padding:clamp(42px,5vw,66px) 0 clamp(46px,5.4vw,70px);
  background:
    radial-gradient(circle at 7% 46%,rgba(239,126,26,.055),transparent 24%),
    radial-gradient(circle at 92% 18%,rgba(239,126,26,.055),transparent 26%),
    #fff;
  color:#171a20;
}
.development-conversion-page #for-dance-studios,
.development-conversion-page #for-dance-studios *{
  font-family:var(--font-body);
}
.development-conversion-page #for-dance-studios .development-studios-layout{
  max-width:1120px;
}
.development-conversion-page #for-dance-studios .development-studios-header{
  max-width:980px;
  margin:0 auto clamp(18px,2vw,24px);
  text-align:center;
}
.development-conversion-page #for-dance-studios .development-studios-header .eyebrow{
  justify-content:center;
  margin-bottom:10px;
  color:#ef7e1a !important;
  font-size:.72rem;
  line-height:1.1;
  letter-spacing:.26em;
}
.development-conversion-page #for-dance-studios .development-studios-header h2{
  max-width:1120px;
  margin:0 auto;
  color:#171a20 !important;
  font-size:clamp(2.15rem,3.15vw,3.55rem) !important;
  font-weight:900;
  line-height:1.02;
  letter-spacing:0;
}
.development-conversion-page #for-dance-studios .development-studios-header p:not(.eyebrow){
  max-width:660px;
  margin:12px auto 0;
  color:#4d5866 !important;
  font-size:clamp(.88rem,.94vw,.98rem);
  font-weight:400;
  line-height:1.48;
}
.development-conversion-page #for-dance-studios .development-studios-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  gap:14px;
  align-items:stretch;
  margin-top:0;
}
.development-conversion-page #for-dance-studios .development-studios-media{
  position:relative;
  min-width:0;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(239,126,26,.42);
  border-radius:8px;
  background:#fff7ef;
  box-shadow:0 18px 38px rgba(15,23,42,.06);
}
.development-conversion-page #for-dance-studios .development-studios-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.development-conversion-page #for-dance-studios .development-studios-copy-card{
  position:relative;
  min-width:0;
  height:100%;
  margin:0;
  padding:clamp(26px,3vw,42px);
  overflow:hidden;
  border:1px solid rgba(239,126,26,.34);
  border-radius:8px;
  background:#fffdfa;
  box-shadow:0 18px 38px rgba(15,23,42,.06);
}
.development-conversion-page #for-dance-studios .development-studios-copy-card::after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-90px;
  width:250px;
  height:250px;
  border-radius:50%;
  background:radial-gradient(circle at 100% 100%,rgba(214,74,0,.9) 0 27%,rgba(255,126,28,.6) 42%,rgba(255,185,116,.16) 56%,transparent 57%);
  pointer-events:none;
}
.development-conversion-page #for-dance-studios .development-studios-copy-card > *{
  position:relative;
  z-index:1;
}
.development-conversion-page #for-dance-studios .development-studios-copy-card p{
  max-width:none;
  margin:0;
  color:#3d4856 !important;
  font-size:clamp(.88rem,1vw,1rem);
  line-height:1.55;
}
.development-conversion-page #for-dance-studios .development-studios-copy-card p + p{
  margin-top:14px;
}
.development-conversion-page #for-dance-studios .development-studios-copy-card strong{
  color:#171a20;
  font-weight:900;
}
.development-conversion-page #for-dance-studios .development-studios-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:12px;
  min-width:0;
}
.development-conversion-page #for-dance-studios .development-studios-card{
  position:relative;
  min-width:0;
  min-height:0;
  padding:clamp(16px,1.65vw,22px);
  overflow:hidden;
  border:1px solid rgba(239,126,26,.34);
  border-radius:8px;
  background:#fffdfa;
  box-shadow:0 14px 30px rgba(15,23,42,.055);
}
.development-conversion-page #for-dance-studios .development-studios-card::after{
  content:"";
  position:absolute;
  right:-36px;
  bottom:-46px;
  z-index:0;
  width:150px;
  height:150px;
  border-radius:50%;
  background:
    radial-gradient(circle at 100% 100%,rgba(214,74,0,.98) 0 28%,rgba(255,126,28,.74) 43%,rgba(255,185,116,.24) 56%,transparent 57%);
  pointer-events:none;
}
.development-conversion-page #for-dance-studios .development-studios-card > *{
  position:relative;
  z-index:1;
}
.development-conversion-page #for-dance-studios .development-studios-card__number{
  display:block;
  color:#ef7e1a;
  margin-bottom:10px;
  font-size:1.05rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.04em;
}
.development-conversion-page #for-dance-studios .development-studios-card__title{
  margin:0;
  color:#171a20;
  max-width:14ch;
  font-size:clamp(1.02rem,1.25vw,1.25rem);
  font-weight:900;
  line-height:1.18;
}
.development-conversion-page #for-dance-studios .development-studios-card__copy{
  max-width:26ch;
  margin:8px 0 0;
  color:#4d5866 !important;
  font-size:clamp(.76rem,.78vw,.84rem);
  font-weight:400;
  line-height:1.42;
}
.development-conversion-page #for-dance-studios .development-studios-testimonial{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:22px;
  align-items:start;
  margin:14px 0 0;
  padding:clamp(18px,2vw,26px) clamp(22px,2.5vw,34px);
  overflow:hidden;
  border:1px solid rgba(239,126,26,.32);
  border-radius:8px;
  background:#fffaf5;
  box-shadow:0 14px 34px rgba(15,23,42,.055);
}
.development-conversion-page #for-dance-studios .development-studios-testimonial::after{
  content:"";
  position:absolute;
  right:-54px;
  bottom:-76px;
  z-index:0;
  width:260px;
  height:210px;
  border-radius:50%;
  background:
    radial-gradient(circle at 100% 100%,rgba(214,74,0,.95) 0 25%,rgba(255,126,28,.66) 42%,rgba(255,185,116,.18) 56%,transparent 57%);
  pointer-events:none;
}
.development-conversion-page #for-dance-studios .development-studios-testimonial > *{
  position:relative;
  z-index:1;
}
.development-conversion-page #for-dance-studios .development-studios-testimonial__label{
  grid-column:2;
  margin:0 0 6px;
  color:#ef7e1a;
  font-size:.76rem;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.development-conversion-page #for-dance-studios .development-studios-testimonial__mark{
  grid-row:1 / span 2;
  grid-column:1;
  align-self:center;
  color:rgba(239,126,26,.16);
  font-size:6.5rem;
  font-weight:900;
  line-height:.7;
}
.development-conversion-page #for-dance-studios .development-studios-testimonial__quote{
  grid-column:2;
  margin:0;
  padding:0;
  border:0;
}
.development-conversion-page #for-dance-studios .development-studios-testimonial__quote p{
  max-width:920px;
  margin:0;
  color:#2d3540 !important;
  font-size:clamp(.9rem,.98vw,1.05rem);
  font-style:italic;
  font-weight:400;
  line-height:1.48;
}
.development-conversion-page #for-dance-studios .development-studios-testimonial__footer{
  margin-top:8px;
}
.development-conversion-page #for-dance-studios .development-studios-testimonial__attribution{
  color:#697483;
  font-style:normal;
  font-size:.9rem;
  font-weight:700;
}
.development-conversion-page #for-dance-studios .development-studios-cta{
  display:flex;
  justify-content:center;
  margin-top:10px;
}
.development-conversion-page #for-dance-studios .development-studios-cta .btn{
  min-height:42px;
  padding:0 30px;
  border-radius:6px;
  background:linear-gradient(135deg,#ff8b2b,#e85f0c);
  color:#fff;
  box-shadow:0 12px 26px rgba(239,126,26,.18);
}
.development-conversion-page .development-training-list{
  border-radius:8px;
}
.development-conversion-page .development-glance-card{
  border-radius:8px;
}
.development-conversion-page #season-glance,
.development-conversion-page #season-glance *,
.development-conversion-page #season-details,
.development-conversion-page #season-details *{
  font-family:var(--font-body);
}
.development-conversion-page #season-glance,
.development-conversion-page #season-details{
  background:#fff;
}
.development-conversion-page #season-glance{
  padding:clamp(64px,7vw,96px) 0 clamp(34px,4vw,54px);
  border-bottom:0;
}
.development-conversion-page #season-details{
  padding:clamp(34px,4vw,54px) 0 clamp(70px,7vw,104px);
  border-top:0;
}
.development-season-glance__header,
.development-season-details__header{
  max-width:860px;
  margin:0 auto clamp(22px,2.8vw,34px);
  text-align:center;
}
.development-season-glance__header .eyebrow,
.development-season-details__header .eyebrow{
  justify-content:center;
  color:#f07a1a !important;
  font-weight:700;
  letter-spacing:.22em;
}
.development-season-details__header .eyebrow{
  color:#f07a1a !important;
}
.development-conversion-page #season-glance h2,
.development-conversion-page #season-details h2{
  max-width:980px;
  margin:0 auto;
  color:#171a20 !important;
  font-size:clamp(2.75rem,4.55vw,4.95rem) !important;
  font-weight:700;
  line-height:1.02;
  letter-spacing:0;
}
.development-conversion-page #season-details h2{
  max-width:1240px;
  font-size:clamp(2.5rem,3.55vw,4rem) !important;
}
.development-season-glance__intro,
.development-season-details__intro{
  max-width:680px;
  margin:14px auto 0;
  color:#4d5866 !important;
  font-size:clamp(1rem,1.12vw,1.12rem);
  font-weight:400;
  line-height:1.55;
}
.development-season-glance__panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(14px,1.8vw,18px);
  align-items:stretch;
}
.development-season-glance__media{
  position:relative;
  min-width:0;
  margin:0;
  width:100%;
  min-height:0;
  aspect-ratio:16 / 10.6;
  overflow:hidden;
  border:1px solid rgba(240,122,26,.2);
  border-radius:8px;
  background:#fff7ef;
  box-shadow:0 24px 56px rgba(15,23,42,.12);
}
.development-season-glance__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.development-season-glance__info,
.development-season-details__card,
.development-season-details__commitment{
  min-width:0;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(240,122,26,.28);
  border-radius:8px;
  background:linear-gradient(135deg,#fffaf6 0%,#fff 54%,#fff8f0 100%);
  box-shadow:0 22px 52px rgba(15,23,42,.09);
}
.development-season-glance__info{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(18px,2.2vw,30px);
}
.development-season-glance__info::after,
.development-season-details__fee::after,
.development-season-details__commitment::after{
  content:"";
  position:absolute;
  right:-96px;
  bottom:-118px;
  z-index:0;
  width:250px;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle at 70% 70%,rgba(240,103,18,.82),rgba(255,174,103,.28) 44%,rgba(255,255,255,0) 66%);
  border:1px solid rgba(240,122,26,.28);
  pointer-events:none;
}
.development-season-glance__info > *,
.development-season-details__fee > *,
.development-season-details__commitment > *{
  position:relative;
  z-index:1;
}
.development-season-glance__details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:0;
  border:1px solid rgba(240,122,26,.16);
  border-radius:8px;
  overflow:hidden;
  background:rgba(255,255,255,.62);
}
.development-season-glance__detail{
  min-width:0;
  padding:clamp(14px,1.45vw,18px) clamp(14px,1.45vw,20px);
  border-bottom:1px solid rgba(240,122,26,.16);
}
.development-season-glance__detail:nth-child(odd){
  border-right:1px solid rgba(240,122,26,.16);
}
.development-season-glance__detail:nth-last-child(-n+2){
  border-bottom:0;
}
.development-season-glance__detail dt,
.development-season-details__label,
.development-season-details__meta-label,
.development-season-details__payment-list strong{
  margin:0 0 8px;
  color:#f07a1a;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1.1;
}
.development-season-glance__detail dd{
  margin:0;
  color:#222a35;
  font-size:clamp(.96rem,1.02vw,1.06rem);
  font-weight:400;
  line-height:1.34;
}
.development-season-glance__opportunity{
  margin:16px 0 0;
  padding:10px 14px;
  border-radius:8px;
  background:rgba(240,122,26,.08);
  color:#f07a1a !important;
  font-size:.88rem;
  font-weight:700;
  line-height:1.45;
  text-align:center;
}
.development-season-glance__actions,
.development-season-details__actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin-top:16px;
  text-align:center;
}
.development-season-glance__actions .btn,
.development-season-details__actions .btn{
  min-height:46px;
  padding:0 28px;
  font-weight:700;
}
.development-season-glance__note,
.development-season-details__actions p,
.development-season-details__small-note{
  max-width:460px;
  margin:0;
  color:#697483 !important;
  font-size:.88rem;
  font-weight:400;
  line-height:1.48;
}
.development-season-details__grid{
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(0,1.3fr);
  gap:0;
  align-items:stretch;
}
.development-season-details__panel{
  overflow:hidden;
  border:1px solid rgba(240,122,26,.3);
  border-radius:12px;
  background:linear-gradient(135deg,#fffaf6 0%,#fff 54%,#fff8f0 100%);
  box-shadow:0 24px 54px rgba(15,23,42,.11);
}
.development-season-details__panel .development-season-details__card{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.development-season-details__panel .development-season-details__card + .development-season-details__card{
  border-left:1px solid rgba(240,122,26,.22);
}
.development-season-details__card{
  padding:clamp(16px,1.75vw,22px);
}
.development-season-details__label{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
}
.development-season-details__icon,
.development-season-details__commitment-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:#f07a1a;
}
.development-season-details__icon{
  width:30px;
  height:30px;
  border:1px solid rgba(240,122,26,.32);
  border-radius:50%;
}
.development-season-details__icon svg,
.development-season-details__commitment-icon svg{
  width:18px;
  height:18px;
  fill:currentColor;
}
.development-season-details__location img{
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
  border:1px solid rgba(240,122,26,.2);
  border-radius:8px;
  margin:0 0 14px;
}
.development-season-details__location h3{
  color:#171a20;
  font-size:clamp(1.55rem,2vw,2rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:0;
}
.development-season-details__location address{
  margin:10px 0 0;
  color:#4d5866;
  font-size:.98rem;
  font-style:normal;
  font-weight:400;
  line-height:1.45;
}
.development-season-details__date-list{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}
.development-season-details__date-list li{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:9px 0;
  border-bottom:1px solid rgba(240,122,26,.16);
  color:#303946;
  font-size:.94rem;
  line-height:1.35;
}
.development-season-details__date-list span{
  color:#f07a1a;
  font-weight:700;
}
.development-season-details__date-list time{
  font-weight:400;
}
.development-season-details__date-list b{
  font-weight:400;
  color:#303946;
  white-space:nowrap;
}
.development-season-details__small-note{
  max-width:none;
  margin:10px 0 0;
  text-align:center;
}
.development-season-details__price{
  margin:6px 0 8px;
  color:#171a20;
  font-size:clamp(3.4rem,5vw,5.4rem);
  font-weight:300;
  line-height:.9;
  text-align:center;
}
.development-season-details__fee-copy{
  max-width:260px;
  margin:0 auto 16px;
  color:#4d5866;
  font-size:1rem;
  font-weight:400;
  line-height:1.42;
  text-align:center;
}
.development-season-details__payment-list{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}
.development-season-details__payment-list li{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:11px 0;
  border-top:1px solid rgba(240,122,26,.18);
  color:#303946;
  font-size:.96rem;
  font-weight:400;
  line-height:1.35;
}
.development-season-details__payment-list strong{
  display:inline;
  margin:0;
  color:#171a20;
  font-size:inherit;
  letter-spacing:0;
  line-height:inherit;
}
.development-programme-notice{
  position:relative;
  overflow:hidden;
  margin-top:16px;
  padding:clamp(20px,2.5vw,32px);
  border:1px solid color-mix(in srgb,var(--orange) 42%,transparent);
  border-left:6px solid var(--orange);
  border-radius:12px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--orange) 9%,#fff) 0%,#fff 58%,color-mix(in srgb,var(--orange) 6%,#fff) 100%);
  box-shadow:0 24px 54px rgba(15,23,42,.11);
}
.development-season-details__panel .development-programme-notice{
  margin-top:0;
  border:0;
  border-top:1px solid rgba(240,122,26,.28);
  border-left:6px solid var(--orange);
  border-radius:0;
  background:rgba(255,255,255,.34);
  box-shadow:none;
}
.development-programme-notice__header{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:14px;
  align-items:center;
  padding-bottom:18px;
  border-bottom:1px solid color-mix(in srgb,var(--orange) 24%,transparent);
}
.development-programme-notice__accent{
  grid-row:1 / span 2;
  width:42px;
  height:42px;
  border:2px solid var(--orange);
  border-radius:50%;
  background:color-mix(in srgb,var(--orange) 10%,#fff);
}
.development-programme-notice__accent::before{
  content:"£";
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:#171a20;
  font-size:1.2rem;
  font-weight:900;
}
.development-programme-notice__header h3{
  margin:0;
  color:#171a20;
  font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:700;
  line-height:1.05;
}
.development-programme-notice__header p{
  margin:5px 0 0;
  color:#4d5866;
  font-size:.98rem;
  line-height:1.45;
}
.development-programme-notice__content{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  gap:clamp(18px,2.5vw,34px);
  align-items:stretch;
  padding-top:20px;
}
.development-programme-notice .development-season-details__fee{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  overflow:hidden;
  padding:clamp(18px,2vw,26px);
  border:1px solid color-mix(in srgb,var(--orange) 28%,transparent);
  border-radius:8px;
  background:rgba(255,255,255,.78);
}
.development-programme-notice .development-season-details__label{
  justify-content:center;
  margin-bottom:10px;
  color:#171a20;
}
.development-programme-notice .development-season-details__commitment{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:22px;
  align-items:center;
  margin:0;
  padding:clamp(18px,2vw,26px);
  box-shadow:none;
}
.development-season-details__commitment-icon{
  width:76px;
  height:76px;
  border:1px solid rgba(240,122,26,.34);
  border-radius:50%;
  background:rgba(240,122,26,.06);
}
.development-season-details__commitment-icon svg{
  width:38px;
  height:38px;
}
.development-season-details__commitment h3,
.development-season-details__commitment h4{
  margin:0 0 6px;
  color:#171a20;
  font-size:clamp(1.8rem,2.8vw,2.85rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:0;
}
.development-season-details__commitment p{
  margin:0;
  color:#303946;
  font-size:1rem;
  font-weight:400;
  line-height:1.52;
}
.development-season-details__actions{
  margin-top:16px;
}
.development-season-details__panel > .development-season-details__actions{
  margin-top:0;
  padding:18px 24px 22px;
  border-top:1px solid rgba(240,122,26,.22);
}
.development-conversion-page .development-download-card{
  border-radius:8px;
}
#download-pack .development-uniform__card{
  grid-template-columns:minmax(0,.9fr) minmax(320px,.76fr);
  gap:clamp(24px,3.4vw,44px);
  padding:clamp(28px,4vw,48px);
  align-items:center;
}
#download-pack .development-uniform__copy{
  max-width:580px;
}
#download-pack .development-uniform__heading{
  display:grid;
  gap:6px;
  max-width:12.5ch;
  margin:0 0 18px;
  font-family:var(--font-body);
  font-size:clamp(2.6rem,4.1vw,4.65rem) !important;
  line-height:1.16;
  letter-spacing:0;
}
#download-pack .development-uniform__heading span{
  display:block;
  line-height:1.16;
}
#download-pack .development-uniform__notice{
  max-width:44ch;
  margin:0;
  padding:14px 16px;
  border:1px solid rgba(240,122,26,.26);
  border-left:4px solid #f07a1a;
  border-radius:8px;
  background:#fff7ef;
  color:#2d3745;
  font-family:var(--font-body);
  font-size:.98rem;
  line-height:1.55;
}
#download-pack .development-uniform__actions{
  justify-content:flex-start;
  margin-top:24px;
}
#download-pack .development-uniform__actions .btn{
  min-width:0;
  width:max-content;
  max-width:100%;
  white-space:normal;
}
#download-pack .development-uniform__note{
  max-width:40ch;
  margin:12px 0 0;
  color:#697483;
  font-family:var(--font-body);
  font-size:.94rem;
  line-height:1.5;
}
#download-pack .development-uniform__media{
  position:relative;
  width:100%;
  margin:0;
  aspect-ratio:1.37 / 1;
  overflow:hidden;
  border:1px solid rgba(240,122,26,.2);
  border-radius:8px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(248,250,252,.94)),
    radial-gradient(circle at 82% 18%,rgba(240,122,26,.16),transparent 30%),
    #f3f5f7;
  box-shadow:0 22px 52px rgba(15,23,42,.1);
}
#download-pack .development-uniform__media::before,
#download-pack .development-uniform__media::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
#download-pack .development-uniform__media::before{
  inset:12%;
  border:1px solid rgba(31,39,50,.08);
  border-radius:8px;
  background:
    linear-gradient(90deg,transparent 0 46%,rgba(240,122,26,.24) 46% 54%,transparent 54%),
    linear-gradient(180deg,transparent 0 46%,rgba(31,39,50,.06) 46% 54%,transparent 54%);
}
#download-pack .development-uniform__media::after{
  width:42%;
  height:42%;
  right:8%;
  bottom:8%;
  border-radius:999px;
  background:rgba(240,122,26,.15);
}
#download-pack .development-uniform__media img{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#0d0b0a;
  display:block;
}
.development-conversion-page .development-programme-grid article{
  border-radius:8px;
}
.development-conversion-page #next-steps{
  min-height:calc(100vh - 86px);
  display:flex;
  align-items:center;
}
.development-conversion-page #next-steps .development-next-steps-layout{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(420px,1fr);
  gap:clamp(34px,6vw,84px);
  align-items:start;
  max-width:1120px;
  margin:0 auto;
}
.development-conversion-page #next-steps .development-big-left{
  margin:0;
  text-align:left;
}
.development-conversion-page #next-steps .development-big-left h2{
  max-width:560px;
  font-size:clamp(3rem,4.8vw,5rem);
  line-height:.98;
  white-space:normal;
}
.development-conversion-page #next-steps .development-big-left .btn{
  margin-top:22px;
}
.development-conversion-page #next-steps .development-apply-steps{
  grid-template-columns:1fr;
  gap:12px;
  margin:0;
}
.development-conversion-page #next-steps .development-apply-steps li{
  grid-template-columns:42px minmax(0,1fr);
  align-items:start;
  padding:18px 20px;
  gap:14px;
  border-radius:16px;
}
.development-conversion-page #next-steps .development-apply-steps span{
  color:#171a20;
  font-size:clamp(1rem,1.2vw,1.1rem);
  letter-spacing:0;
}
.development-conversion-page #next-steps .development-apply-steps h3{
  font-size:clamp(1rem,1.1vw,1.14rem);
  line-height:1.12;
  margin-bottom:6px;
}
.development-conversion-page #next-steps .development-apply-steps p{
  font-size:.9rem;
  line-height:1.42;
  color:#54606e;
}
.development-conversion-page .development-apply-steps li{
  border-radius:8px;
}
.development-conversion-page .menu{
  width:auto;
  min-width:74px;
  padding:0 16px;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.development-conversion-page .header .brand img{
  width:auto;
  max-width:76px;
  max-height:72px;
  object-fit:contain;
}
@media(max-width:640px){
  .development-conversion-page .header .brand img{
    max-width:62px;
    max-height:62px;
  }
}
@media(max-width:1040px){
  .development-conversion-page #beyond-training .development-beyond-training__media{
    grid-template-columns:minmax(0,1fr);
  }
  .development-conversion-page #beyond-training .development-beyond-training__media-slot:last-child{
    grid-column:auto;
    aspect-ratio:16 / 7;
  }
  .development-programme-notice__content{
    grid-template-columns:1fr;
  }
  .development-support-points{
    grid-template-columns:1fr;
  }
  .development-info-pack-inner,
  .development-conversion-page #pathway .intro{
    grid-template-columns:1fr;
  }
  .development-conversion-page #beyond-training .development-beyond-training__criteria{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
  .development-conversion-page #beyond-training .development-beyond-training__note{
    max-width:640px;
    padding-left:0;
    border-left:0;
  }
  .development-conversion-page #beyond-training .development-beyond-training__cta{
    align-items:flex-start;
    flex-direction:column;
  }
  .development-conversion-page #for-dance-studios .development-studios-panel{
    grid-template-columns:1fr;
  }
  .development-conversion-page #for-dance-studios .development-studios-media{
    min-height:0;
    aspect-ratio:16 / 9;
  }
  .development-family-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .development-family-choice-card:last-child{
    grid-column:1 / -1;
  }
  .development-parent-testimonials-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .development-parent-testimonial-card:last-child{
    grid-column:1 / -1;
  }
  .development-parent-testimonial-card{
    min-height:400px;
  }
  .development-season-glance__panel,
  .development-season-details__grid{
    grid-template-columns:1fr;
  }
  .development-season-glance__media{
    aspect-ratio:16 / 10;
  }
  .development-season-details__grid{
    max-width:760px;
    margin:0 auto;
  }
  .development-season-details__panel .development-season-details__card + .development-season-details__card{
    border-left:0;
    border-top:1px solid rgba(240,122,26,.22);
  }
  .development-conversion-page #next-steps .development-next-steps-layout{
    grid-template-columns:1fr;
    gap:24px;
  }
  #download-pack .development-uniform__card{
    grid-template-columns:1fr;
  }
  .development-download-card{
    grid-template-columns:1fr;
  }
  .development-conversion-page #pathway .intro h2,
  .development-conversion-page #next-steps .intro h2{
    white-space:normal;
  }
  .development-conversion-page #pathway .intro h2{
    max-width:620px;
    font-size:clamp(2.4rem,6.2vw,3.9rem);
  }
  .development-conversion-page #pathway .intro p:not(.eyebrow){
    max-width:760px;
    margin-bottom:0;
  }
  .development-info-pack-inner .btn{
    justify-self:start;
  }
  body.training-page .development-meet-aaron-top,
  body.training-page .development-meet-aaron-cards{
    grid-template-columns:1fr;
  }
  body.training-page .development-meet-aaron-top{
    grid-template-areas:
      "heading"
      "media"
      "body";
  }
  body.training-page .development-meet-aaron-heading h2{
    max-width:760px;
    font-size:clamp(2.4rem,7vw,3.8rem);
  }
  body.training-page .development-meet-aaron-figure{
    max-height:360px;
    aspect-ratio:16 / 10;
  }
  .development-conversion-page #next-steps .development-big-left h2{
    max-width:820px;
    font-size:clamp(2.6rem,6vw,4.2rem);
  }
  #download-pack .development-uniform__heading{
    max-width:820px;
    font-size:clamp(2.55rem,5.8vw,4.1rem) !important;
  }
  .development-pathway-steps,
  .development-family-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .development-parent-testimonial-card{
    min-height:443px;
  }
}
@media(max-width:640px){
  body.training-page .development-meet-aaron-section{
    padding-block:44px;
  }
  body.training-page .development-meet-aaron-top{
    grid-template-areas:
      "heading"
      "media"
      "body";
    gap:18px;
  }
  body.training-page .development-meet-aaron-heading h2{
    font-size:clamp(2.2rem,12vw,3.2rem);
  }
  body.training-page .development-meet-aaron-figure{
    width:100%;
    max-height:none;
    aspect-ratio:4 / 3.8;
  }
  body.training-page .development-meet-aaron-body{
    margin-top:0;
  }
  body.training-page .development-meet-aaron-cards{
    margin-top:22px;
  }
  body.training-page .development-meet-aaron-experience{
    padding:18px;
  }
  body.training-page .development-meet-aaron-experience-grid{
    grid-template-columns:1fr;
  }
  body.training-page .development-meet-aaron-experience-grid div:nth-child(odd){
    border-right:none;
  }
  body.training-page .development-meet-aaron-experience-grid div:nth-child(-n+3){
    border-bottom:1px solid rgba(240,122,26,.16);
  }
  body.training-page .development-meet-aaron-philosophy{
    grid-template-columns:1fr;
  }
  body.training-page .development-meet-aaron-philosophy div{
    padding:18px;
  }
  body.training-page .development-meet-aaron-philosophy div + div{
    border-left:none;
    border-top:1px solid rgba(240,122,26,.16);
  }
  .development-info-pack-inner,
  .development-pathway-steps,
  .development-family-choice-grid{
    grid-template-columns:1fr;
  }
  .development-family-choice-card:last-child{
    grid-column:auto;
  }
  .development-parent-testimonials-grid{
    grid-template-columns:1fr;
  }
  .development-parent-testimonial-card:last-child{
    grid-column:auto;
  }
  .development-family-choice-card{
    min-height:374px;
  }
  .development-parent-testimonial-card{
    min-height:496px;
  }
  .development-conversion-page #season-glance h2,
  .development-conversion-page #season-details h2{
    font-size:clamp(2.25rem,10vw,3.2rem) !important;
  }
  .development-season-glance__panel{
    gap:12px;
  }
  .development-season-glance__details{
    grid-template-columns:1fr;
  }
  .development-season-glance__detail,
  .development-season-glance__detail:nth-child(odd),
  .development-season-glance__detail:nth-last-child(-n+2){
    border-right:0;
    border-bottom:1px solid rgba(240,122,26,.16);
  }
  .development-season-glance__detail:last-child{
    border-bottom:0;
  }
  .development-season-glance__detail{
    padding:15px 14px;
  }
  .development-season-details__date-list li{
    grid-template-columns:28px minmax(0,1fr);
  }
  .development-season-details__date-list b{
    grid-column:2;
  }
  .development-programme-notice .development-season-details__commitment{
    grid-template-columns:1fr;
    text-align:left;
  }
  .development-programme-notice .development-season-details__commitment-icon{
    width:56px;
    height:56px;
  }
  .development-programme-notice{
    padding:18px;
    border-left-width:4px;
  }
  .development-programme-notice__header{
    grid-template-columns:1fr;
  }
  .development-programme-notice__accent{
    grid-row:auto;
    margin-bottom:10px;
  }
  .development-season-details__actions .btn{
    width:100%;
  }
  #download-pack .development-uniform__actions{
    align-items:flex-start;
  }
  #download-pack .development-uniform__actions .btn{
    width:100%;
    max-width:100%;
    white-space:normal;
  }
  #download-pack .development-uniform__copy{
    min-width:0;
  }
  .development-conversion-page #next-steps .development-apply-steps li{
    grid-template-columns:1fr;
    gap:8px;
    padding:18px;
  }
  .development-season-glance__actions .btn{
    width:100%;
  }
  .development-info-pack-inner .btn,
  .development-centred-action .btn,
  .development-conversion-page #beyond-training .development-beyond-training__cta .btn{
    width:100%;
  }
  .development-training-list span{
    align-items:flex-start;
    min-height:auto;
  }
  .development-conversion-page #beyond-training .development-beyond-training__heading{
    font-size:clamp(2.3rem,11vw,3.35rem) !important;
  }
  .development-conversion-page #beyond-training .development-beyond-training__media{
    grid-template-columns:1fr;
  }
  .development-conversion-page #beyond-training .development-beyond-training__media-slot:last-child{
    grid-column:auto;
    aspect-ratio:16 / 9;
  }
  .development-conversion-page #beyond-training .development-beyond-training__cards{
    grid-template-columns:1fr;
  }
  .development-conversion-page #beyond-training .development-beyond-training__card:last-child{
    grid-column:auto;
  }
  .development-conversion-page #for-dance-studios .development-studios-header h2{
    font-size:clamp(2.2rem,10vw,3.2rem) !important;
  }
  .development-conversion-page #for-dance-studios .development-studios-panel{
    padding:0;
  }
  .development-conversion-page #for-dance-studios .development-studios-cards{
    grid-template-columns:1fr;
  }
  .development-conversion-page #for-dance-studios .development-studios-testimonial{
    padding:22px 18px;
  }
  .development-conversion-page #for-dance-studios .development-studios-testimonial__mark{
    top:12px;
    right:18px;
    font-size:3.6rem;
  }
  .development-conversion-page #for-dance-studios .development-studios-cta .btn{
    width:100%;
  }
  .development-pathway-steps article{
    min-height:auto;
  }
  .development-big-left h2{
    font-size:clamp(2rem,9vw,3rem);
    white-space:normal;
  }
  .development-conversion-page .development-programme-hero{
    min-height:auto;
    padding-top:28px !important;
  }
  .development-conversion-page #pathway,
  .development-conversion-page #what-dancers-build,
  .development-conversion-page #next-steps{
    min-height:auto;
    display:block;
  }
  .development-conversion-page #what-dancers-build .development-build-grid{
    grid-template-columns:1fr;
  }
  .development-conversion-page #what-dancers-build .development-build-card{
    grid-template-columns:1fr;
    grid-template-areas:
      "media"
      "content";
    min-height:0;
  }
  .development-conversion-page #what-dancers-build .development-build-card__content{
    padding:22px 20px 20px;
  }
  .development-conversion-page #what-dancers-build .development-build-card__content::after{
    display:none;
  }
  .development-conversion-page #what-dancers-build .development-build-card__media{
    min-height:0;
    aspect-ratio:16 / 9;
  }
  .development-conversion-page #what-dancers-build .development-build-card__media::before{
    inset:auto 0 -1px 0;
    width:auto;
    height:42%;
    background:linear-gradient(180deg,rgba(255,250,244,0) 0%,rgba(255,250,244,.48) 44%,#fff 100%);
  }
  .development-family-choice-section{
    padding-bottom:calc(clamp(58px,7vw,94px) + 64px) !important;
  }
  .development-conversion-page .development-programme-hero h1{
    font-size:clamp(2.45rem,11vw,3.55rem) !important;
  }
  .development-conversion-page #pathway .intro h2{
    font-size:clamp(2.25rem,10vw,3.2rem);
    line-height:1.06;
  }
  .development-conversion-page .contact-cluster{
    display:none;
  }
}
@media(max-width:1180px){
  .development-conversion-page .contact-cluster{
    display:none;
  }
  .development-conversion-page #pathway .intro h2{
    white-space:normal;
  }
  .development-big-left h2{
    white-space:normal;
  }
}

/* Admin and contact launch polish - 2026-06-21 */
body.admin-body{
  background:#f7f8fa !important;
}
body.admin-body .header{
  background:rgba(3,3,3,.92);
}
body.admin-body .page-hero.admin-hero{
  padding:clamp(42px,5.8vw,70px) 0 clamp(24px,4vw,42px) !important;
  min-height:auto !important;
  background:
    radial-gradient(circle at 82% 6%,rgba(227,25,55,.13),transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f8fafc 62%,#fff5f6 100%) !important;
  border-bottom:1px solid rgba(31,39,50,.08) !important;
}
body.admin-body .page-hero.admin-hero .container{
  max-width:1040px;
}
body.admin-body .page-hero.admin-hero h1{
  color:#171a20 !important;
  font-size:clamp(2.9rem,7.2vw,6.7rem) !important;
  letter-spacing:-.055em !important;
  line-height:.96 !important;
}
body.admin-body .page-hero.admin-hero .lead{
  max-width:650px !important;
  margin-top:18px !important;
  color:#4b5563 !important;
  font-size:clamp(1rem,1.45vw,1.22rem) !important;
  line-height:1.62 !important;
}
body.admin-body main > .section{
  padding:clamp(24px,3.8vw,42px) 0 clamp(48px,6vw,78px) !important;
}
body.admin-body .admin-shell{
  max-width:980px !important;
}
body.admin-body #adminLoginPanel,
body.admin-body #adminMfaChallengePanel{
  width:min(100%,620px);
  margin:-18px auto 22px !important;
}
body.admin-body .admin-card{
  border:1px solid rgba(31,39,50,.1) !important;
  border-radius:26px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.1) !important;
  color:#171a20 !important;
}
body.admin-body .admin-card h2{
  color:#171a20 !important;
  font-size:clamp(2rem,3.8vw,3.25rem) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
}
body.admin-body .admin-card .microcopy,
body.admin-body .admin-panel .microcopy{
  color:#5f6873 !important;
  line-height:1.58 !important;
}
body.admin-body .admin-form{
  gap:16px !important;
  margin-top:22px !important;
}
body.admin-body .admin-form label{
  color:#b3132f !important;
  letter-spacing:.1em !important;
}
body.admin-body .admin-form input,
body.admin-body .admin-form select,
body.admin-body .admin-form textarea{
  min-height:54px !important;
  border:1px solid rgba(31,39,50,.14) !important;
  background:#fff !important;
  color:#171a20 !important;
  border-radius:14px !important;
}
body.admin-body .admin-password-note{
  padding:12px 14px;
  border:1px solid rgba(31,39,50,.08);
  border-radius:14px;
  background:#f8fafc;
}
body.admin-body .admin-password-note a{
  color:#b3132f;
  font-weight:900;
}
body.admin-body .footer{
  padding-top:38px !important;
  padding-bottom:46px !important;
}
.contact-form-panel{
  position:relative;
  scroll-margin-top:116px;
  align-items:start !important;
  gap:clamp(22px,4vw,42px) !important;
  padding-top:clamp(44px,5vw,68px) !important;
  padding-bottom:clamp(58px,7vw,94px) !important;
  background:
    radial-gradient(circle at 82% 12%,rgba(227,25,55,.08),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
  border-color:rgba(31,39,50,.08) !important;
}
.contact-form-copy h2{
  color:#171a20 !important;
  font-size:clamp(2.35rem,5vw,4.8rem) !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
}
.contact-form-copy .lead{
  max-width:650px !important;
  margin-top:20px !important;
  color:#4b5563 !important;
  font-size:clamp(1rem,1.35vw,1.18rem) !important;
  line-height:1.6 !important;
}
.contact-form-panel .copy-grid{
  gap:14px !important;
  margin-top:22px;
}
.contact-form-panel .copy-block{
  border:1px solid rgba(31,39,50,.09) !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 14px 36px rgba(15,23,42,.055);
  padding:20px !important;
}
.contact-form-panel .copy-block h3{
  color:#171a20 !important;
  font-size:clamp(1.35rem,2vw,1.9rem) !important;
}
.contact-form-panel .copy-block p{
  color:#5f6873 !important;
}
.contact-form-panel .form-reassurance{
  grid-column:2;
  align-self:start;
  margin:0 !important;
  border-color:rgba(179,19,47,.16) !important;
  background:linear-gradient(135deg,#fff7f8,#fff) !important;
  box-shadow:0 14px 34px rgba(179,19,47,.06);
}
.contact-form-panel .form{
  grid-column:2;
  margin-top:0 !important;
  border:1px solid rgba(31,39,50,.1) !important;
  border-radius:26px !important;
  background:linear-gradient(180deg,#ffffff,#fbfcfd) !important;
  box-shadow:0 26px 70px rgba(15,23,42,.1) !important;
  gap:16px !important;
}
.contact-form-panel .form label{
  color:#b3132f !important;
  letter-spacing:.1em !important;
}
.contact-form-panel .form input,
.contact-form-panel .form select,
.contact-form-panel .form textarea{
  min-height:54px !important;
  border:1px solid rgba(31,39,50,.14) !important;
  background:#fff !important;
  color:#171a20 !important;
  border-radius:14px !important;
}
.contact-form-panel .form textarea{
  min-height:138px !important;
  padding-top:14px !important;
}
.contact-form-panel .form button[type="submit"]{
  width:100%;
  min-height:56px;
}
@media(max-width:1040px){
  .contact-form-panel .form,
  .contact-form-panel .form-reassurance{
    grid-column:auto;
  }
  .contact-form-panel .form-reassurance{
    order:2;
  }
  .contact-form-panel .form{
    order:3;
  }
}
@media(max-width:760px){
  body.admin-body .page-hero.admin-hero{
    padding:34px 0 24px !important;
  }
  body.admin-body #adminLoginPanel,
  body.admin-body #adminMfaChallengePanel{
    margin:0 auto 18px !important;
  }
  body.admin-body .footer{
    display:block !important;
    padding-bottom:34px !important;
  }
  .contact-form-panel{
    scroll-margin-top:96px;
    padding-top:34px !important;
  }
  .contact-form-panel .copy-grid{
    grid-template-columns:1fr !important;
  }
  .contact-cluster{
    bottom:92px !important;
  }
  .contact-icon{
    width:42px !important;
    height:42px !important;
  }
  .language-floating-button{
    bottom:calc(92px + env(safe-area-inset-bottom,0px)) !important;
  }
}
@media(max-width:820px){
  body.admin-body .footer{
    display:block !important;
  }
}
@media(max-width:420px){
  body.admin-body .page-hero.admin-hero h1,
  .contact-form-copy h2{
    font-size:clamp(2.35rem,13vw,3.55rem) !important;
  }
  .contact-form-panel .form,
  body.admin-body .admin-card{
    padding:20px !important;
    border-radius:22px !important;
  }
  .contact-cluster{
    right:10px !important;
  }
}

/* Compact Compete-page AD energy band */
.compete-energy{
  background:#fff !important;
  border-bottom:1px solid var(--home-line);
}
.compete-energy-layout{
  display:grid;
  grid-template-columns:minmax(0,.7fr) minmax(300px,1fr);
  gap:34px;
  align-items:start;
}
.compete-energy .eyebrow{
  color:var(--home-red) !important;
  margin-bottom:12px;
}
.compete-energy h2{
  color:var(--home-ink) !important;
  font-size:clamp(2rem,3.4vw,3.8rem);
  line-height:.98;
  letter-spacing:-.045em;
  max-width:520px;
}
.compete-energy .lead{
  margin:0;
  color:var(--home-copy) !important;
  font-size:clamp(1rem,1.35vw,1.2rem);
  line-height:1.68;
}
@media(max-width:820px){
  .compete-energy-layout{grid-template-columns:1fr;gap:16px}
}

/* Manual accessible opportunities carousel */
.home-opportunity-carousel{position:relative}
.home-opportunity-shell{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;gap:14px;align-items:center}
.home-opportunity-control{width:54px;height:54px;display:inline-grid;place-items:center;border:1px solid rgba(31,39,50,.14);border-radius:50%;background:linear-gradient(145deg,#fff,#f3f4f6);color:var(--home-ink);box-shadow:0 16px 32px rgba(31,39,50,.16);font-family:var(--font-body);font-size:2.4rem;font-weight:900;line-height:1;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.home-opportunity-control:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 22px 42px rgba(31,39,50,.2)}
.home-opportunity-control:focus-visible{outline:3px solid rgba(179,19,47,.35);outline-offset:3px}
.home-opportunity-control:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}
.home-opportunity-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,calc((100% - 44px)/3));grid-template-columns:none !important;gap:22px;overflow-x:auto;overflow-y:visible;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:18px;padding:24px 18px 34px;scrollbar-width:none;-ms-overflow-style:none;perspective:1100px;mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
.home-opportunity-track::-webkit-scrollbar{display:none}
.home-opportunity-track > .home-opportunity-card{scroll-snap-align:center;box-shadow:0 28px 62px rgba(31,39,50,.12),0 1px 0 rgba(255,255,255,.85) inset;transform:translateY(6px) scale(.985);transition:transform .26s ease,box-shadow .26s ease}
.home-opportunity-track > .home-opportunity-card.is-active{z-index:2;box-shadow:0 34px 74px rgba(31,39,50,.18),0 10px 28px rgba(179,19,47,.08);transform:translateY(-6px) scale(1.015)}
@media(max-width:1040px){.home-opportunity-track{grid-auto-columns:minmax(280px,calc((100% - 22px)/2))}}
@media(max-width:620px){.home-opportunity-shell{grid-template-columns:1fr 1fr;gap:12px}.home-opportunity-track{grid-column:1/-1;grid-row:1;grid-auto-columns:100%;padding:18px 2px 24px;mask-image:none}.home-opportunity-control{grid-row:2;width:100%;height:48px;border-radius:999px;font-size:2rem}.home-opportunity-control-prev{grid-column:1}.home-opportunity-control-next{grid-column:2}}

/* Review-board polish: concise summaries for long information pages */
.section.tight{
  padding:clamp(40px,6vw,72px) 0;
}
.quick-summary{
  margin:0;
  padding:clamp(24px,4vw,36px);
  border:1px solid var(--line);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(216,170,67,.12),rgba(255,255,255,.025));
  box-shadow:var(--shadow);
}
.quick-summary h2{
  margin:0 0 18px;
}
.summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.summary-grid article{
  min-height:100%;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(0,0,0,.24);
}
.summary-grid strong{
  display:block;
  margin-bottom:8px;
  color:var(--gold2);
}
.summary-grid span{
  display:block;
  color:var(--muted);
  line-height:1.55;
}
@media(max-width:900px){
  .summary-grid{
    grid-template-columns:1fr;
  }
}

/* Multi-person review polish: mobile clarity and calmer action hierarchy */
.action-hierarchy{
  align-items:center;
}
.action-hierarchy .btn-primary{
  order:1;
}
.action-hierarchy .btn-secondary-action{
  order:2;
  border-color:rgba(227,25,55,.28);
}
.action-hierarchy .btn-support-action{
  order:3;
  min-height:44px;
  padding-inline:18px;
  opacity:.82;
  box-shadow:none;
}
.supporting-panel p,
.next-step-note{
  margin:12px 0 0;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.58;
}
.ticket-panel.supporting-panel{
  align-content:start;
  background:#171717;
}
.ticket-panel.supporting-panel p{
  margin:0;
  color:rgba(255,255,255,.72);
}
.ticket-purchase-menu{
  position:relative;
  width:100%;
  font-family:"Lato", sans-serif;
}
.ticket-purchase-trigger{
  position:relative;
  width:100%;
  min-height:48px;
  padding-right:38px;
  cursor:pointer;
  list-style:none;
  text-align:left;
}
.ticket-purchase-trigger::-webkit-details-marker{
  display:none;
}
.ticket-purchase-trigger::after{
  content:"⌄";
  position:absolute;
  top:50%;
  right:15px;
  translate:0 -54%;
  font-size:1.15rem;
  line-height:1;
  transition:transform .18s ease;
}
.ticket-purchase-menu[open] .ticket-purchase-trigger::after{
  transform:rotate(180deg);
}
.ticket-purchase-options{
  display:grid;
  overflow:hidden;
  margin-top:6px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:8px;
  background:#fff;
  box-shadow:0 16px 28px rgba(0,0,0,.2);
}
.ticket-purchase-options a,
.ticket-panel .ticket-purchase-options a{
  display:block;
  min-height:44px;
  padding:12px 14px;
  border:0;
  border-bottom:1px solid rgba(23,26,32,.12);
  color:#171a20 !important;
  font-family:"Lato", sans-serif;
  font-size:.82rem;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.06em;
  text-decoration:none;
  text-transform:uppercase;
}
.ticket-purchase-options a:last-child{
  border-bottom:0;
}

.ticket-purchase-options .ticket-option-unavailable{
  display:block;
  padding:.8rem 1rem;
  color:rgba(255,255,255,.62);
  font-family:"Lato", sans-serif;
  font-size:.78rem;
  font-weight:700;
}

.admin-enquiry-notes{
  display:grid;
  gap:.45rem;
  margin-top:1rem;
  font-family:"Lato", sans-serif;
  font-weight:700;
}

.admin-enquiry-notes textarea{
  min-height:6rem;
  resize:vertical;
  font-family:"Lato", sans-serif;
}
.ticket-purchase-options a:hover,
.ticket-purchase-options a:focus-visible{
  background:#f7e9ec;
  color:#b91630 !important;
}
.ticket-panel [data-competition-ticket-actions],
body.tickets-page [data-competition-ticket-actions]{
  display:grid;
  width:100%;
  gap:10px;
}
.form .next-step-note{
  margin:0;
}
@media(max-width:820px){
  .home-film-hero,
  .home-gateway .home-film-hero.hero{
    min-height:100svh !important;
    padding:112px 0 122px !important;
  }
  .home-film-copy h1{
    max-width:100% !important;
    font-size:clamp(2.35rem,11.5vw,3.8rem) !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    text-wrap:pretty;
    overflow-wrap:normal;
  }
  .home-film-copy .lead{
    max-width:34rem;
    font-size:.96rem !important;
    line-height:1.52 !important;
    margin-top:18px !important;
  }
  .home-film-copy .eyebrow{
    margin-bottom:16px !important;
    font-size:.68rem !important;
    letter-spacing:.18em !important;
  }
  .contact-cluster{
    bottom:82px !important;
  }
  .contact-icon{
    width:38px !important;
    height:38px !important;
  }
  .mobile-cta{
    padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px)) !important;
  }
  .mobile-cta .btn{
    min-height:42px;
    padding:10px 8px !important;
    font-size:.72rem !important;
    letter-spacing:.09em;
  }
  .cookie-consent{
    left:10px;
    right:10px;
    bottom:10px;
    gap:8px;
    padding:10px;
    border-radius:16px;
  }
  .cookie-consent__copy strong{
    font-size:.92rem;
    margin-bottom:2px;
  }
  .cookie-consent__copy p{
    font-size:.78rem;
    line-height:1.32;
  }
  .cookie-consent__actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  .cookie-consent__actions .btn{
    min-height:38px;
    padding:7px 6px !important;
    font-size:.58rem !important;
    letter-spacing:.12em;
    line-height:1.15;
  }
  body.cookie-consent-active .contact-cluster,
  body.cookie-consent-active .mobile-cta{
    display:none !important;
  }
  .action-hierarchy{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .action-hierarchy .btn{
    width:100%;
  }
}
@media(max-width:420px){
  .home-film-hero,
  .home-gateway .home-film-hero.hero{
    padding-top:98px !important;
    padding-bottom:112px !important;
  }
  .home-film-copy h1{
    font-size:clamp(2.2rem,10.7vw,3rem) !important;
    line-height:1.02 !important;
  }
  .home-film-copy .lead{
    font-size:.92rem !important;
  }
  .cookie-consent__actions .btn{
    font-size:.54rem !important;
    letter-spacing:.1em;
  }
}

/* Final mobile fit pass: prevent oversized headings from creating sideways scroll */
@media(max-width:820px){
  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }
  .page-hero h1{
    max-width:100% !important;
    font-size:clamp(2.2rem,10.4vw,3.45rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.035em !important;
    overflow-wrap:normal;
    text-wrap:balance;
  }
  .home-film-copy h1{
    font-size:clamp(2.08rem,9.5vw,3.35rem) !important;
    line-height:1.03 !important;
    letter-spacing:-.025em !important;
    text-wrap:balance;
  }
  .cookie-consent__actions{
    grid-template-columns:1fr 1fr;
  }
  .cookie-consent__actions .btn:nth-child(3){
    grid-column:1 / -1;
  }
}
@media(max-width:420px){
  .page-hero h1{
    font-size:clamp(1.82rem,8.3vw,2.35rem) !important;
    letter-spacing:-.015em !important;
  }
  .home-film-copy h1{
    font-size:clamp(1.82rem,8.45vw,2.42rem) !important;
    letter-spacing:-.015em !important;
  }
  .page-hero .lead,
  .home-film-copy .lead{
    max-width:100% !important;
    font-size:.88rem !important;
  }
  .cookie-consent__actions .btn{
    font-size:.48rem !important;
    letter-spacing:.055em;
  }
}

/* Main page hero consistency pass - scoped to Compete, Train, Intensives, Perform and Events */
.editable-site-notice:empty,
.editable-site-notice:has(+ .main-page-hero){
  display:none !important;
  margin:0 !important;
  border:0 !important;
}
.main-page-hero{
  padding:clamp(72px,6.6vw,90px) 0 clamp(54px,5.2vw,70px) !important;
}
.main-page-hero > .container,
.competition-hub .main-page-hero > .container{
  width:min(var(--max), calc(100% - 40px)) !important;
  max-width:min(var(--max), calc(100% - 40px)) !important;
  margin-inline:auto !important;
}
.main-page-hero .eyebrow{
  margin-bottom:20px !important;
}
.main-page-hero h1{
  max-width:1050px !important;
  font-size:clamp(3rem,7vw,7.4rem) !important;
  line-height:.9 !important;
  letter-spacing:-.055em !important;
}
.competition-hub .main-page-hero h1 .gold-word{
  font-weight:700;
  letter-spacing:-.04em;
}
.main-page-hero.train-hero h1 .gold-word{
  color:#f07a1a !important;
}
.main-page-hero.intensives-hero h1 .gold-word{
  color:#8e3dff !important;
}
.main-page-hero.addams-hero h1{
  color:#007fc8 !important;
}
.main-page-hero .lead{
  max-width:820px !important;
  margin-top:24px !important;
  font-size:clamp(1rem,1.45vw,1.22rem) !important;
  line-height:1.65 !important;
}
.main-page-hero .actions,
.main-page-hero .action-hierarchy{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:14px !important;
  width:100% !important;
  margin-top:32px !important;
}
.main-page-hero .actions .btn,
.main-page-hero .action-hierarchy .btn{
  width:auto !important;
}
.main-page-hero.addams-hero h1{
  max-width:1080px !important;
  font-size:clamp(2.75rem,5vw,4.85rem) !important;
  line-height:.94 !important;
  letter-spacing:-.045em !important;
}
.training-info-section .intro{
  align-items:center;
}
.training-info-section .intro > p{
  transform:translateY(-14px);
}
.training-info-section .cards-3 .card{
  display:flex;
  flex-direction:column;
}
.training-info-section .card .arrow{
  margin-top:auto;
  padding-top:18px;
}
body.intensives-page .main-page-hero.intensives-hero h1{
  max-width:980px !important;
  font-size:clamp(2.85rem,5.9vw,6.35rem) !important;
  line-height:.96 !important;
}
@media(max-width:820px){
  .main-page-hero{
    padding:clamp(56px,8vw,72px) 0 clamp(46px,7vw,58px) !important;
  }
  .main-page-hero h1{
    font-size:clamp(2.3rem,8.4vw,3.7rem) !important;
    line-height:1 !important;
    letter-spacing:-.025em !important;
  }
  .main-page-hero.addams-hero h1{
    font-size:clamp(2.05rem,7.2vw,3rem) !important;
    line-height:1.02 !important;
  }
  body.intensives-page .main-page-hero.intensives-hero h1{
    font-size:clamp(2.25rem,8vw,3.45rem) !important;
    line-height:1 !important;
  }
  .main-page-hero .lead{
    font-size:clamp(.94rem,2.1vw,1.05rem) !important;
    line-height:1.55 !important;
  }
  .training-info-section .intro > p{
    transform:none;
  }
}
@media(max-width:640px){
  .main-page-hero > .container,
  .competition-hub .main-page-hero > .container{
    width:min(100% - 28px, var(--max)) !important;
    max-width:min(100% - 28px, var(--max)) !important;
  }
  .main-page-hero .actions,
  .main-page-hero .action-hierarchy{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .main-page-hero .actions .btn,
  .main-page-hero .action-hierarchy .btn{
    width:100% !important;
  }
}
@media(max-width:420px){
  .main-page-hero h1{
    font-size:clamp(2rem,9.4vw,2.6rem) !important;
  }
  .main-page-hero.addams-hero h1{
    font-size:clamp(1.85rem,8vw,2.25rem) !important;
  }
  .main-page-hero.intensives-hero h1{
    font-size:clamp(1.95rem,8.8vw,2.45rem) !important;
  }
}

/* Training route colourway - keep the development page orange without changing other routes */
body.training-page{
  --gold:#f07a1a;
  --gold2:#f07a1a;
  --gold3:#b6530d;
  --line:rgba(240,122,26,.18);
}
body.training-page:before{
  background:
    radial-gradient(circle at 12% 2%,rgba(240,122,26,.12),transparent 30%),
    radial-gradient(circle at 88% 10%,rgba(180,187,197,.20),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f7f8fa 46%,#eef1f4 100%) !important;
}
body.training-page .announcement,
body.training-page .contact-icon:hover,
body.training-page .contact-icon:focus-visible{
  background:#f07a1a !important;
  border-color:#f07a1a !important;
}
body.training-page .nav a:after,
body.training-page .eyebrow:before{
  background:linear-gradient(90deg,#f07a1a,transparent) !important;
}
body.training-page .nav a:hover,
body.training-page .nav .nav-cta,
body.training-page .gold-word,
body.training-page .eyebrow,
body.training-page .card .arrow,
body.training-page .footer h4,
body.training-page .language-floating-button{
  color:#f07a1a !important;
}
body.training-page .nav .nav-cta,
body.training-page .menu,
body.training-page .language-floating-button{
  border-color:rgba(240,122,26,.28) !important;
}
body.training-page .nav .nav-cta:hover,
body.training-page .nav .nav-cta:focus-visible{
  background:#f07a1a !important;
  border-color:#f07a1a !important;
  color:#fff !important;
  box-shadow:0 14px 32px rgba(240,122,26,.20) !important;
}
body.training-page .btn-primary,
body.training-page .language-actions .btn-primary,
body.training-page .language-apply{
  background:linear-gradient(135deg,#ff9a3d,#f07a1a,#b6530d) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 16px 34px rgba(240,122,26,.24) !important;
}
body.training-page .page-hero,
body.training-page .gateway-hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(240,122,26,.12),transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#f8f9fb 58%,#eef1f4 100%) !important;
}
body.training-page .development-route-hero-image{
  position:relative;
  display:flex;
  align-items:center;
  min-height:clamp(500px,42vw,640px);
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 35%,rgba(255,255,255,.62) 56%,rgba(255,255,255,.18) 78%,rgba(255,255,255,.08) 100%),
    radial-gradient(circle at 18% 50%,rgba(255,255,255,.55),transparent 36%),
    url("assets/images/development/development-programme-hero.jpeg") right center/cover no-repeat !important;
}
body.training-page .development-route-hero-image > .container{
  position:relative;
  z-index:1;
}
@media(max-width:820px){
  body.training-page .development-route-hero-image{
    min-height:auto;
    background:
      linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.56) 100%),
      url("assets/images/development/development-programme-hero.jpeg") 68% center/cover no-repeat !important;
  }
}
@media(max-width:520px){
  body.training-page .development-route-hero-image{
    background:
      linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 58%,rgba(255,255,255,.78) 100%),
      url("assets/images/development/development-programme-hero.jpeg") 72% center/cover no-repeat !important;
  }
}
body.training-page .simple-start-strip{
  background:linear-gradient(90deg,#ffffff 0%,#fff7ef 48%,#ffffff 100%) !important;
}
body.training-page .development-pathway-images{
  align-items:stretch;
}
body.training-page .development-pathway-images .journey-step-image{
  position:relative;
  display:flex;
  min-height:190px;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  padding:22px 18px;
  border:1px solid rgba(255,255,255,.30) !important;
  border-radius:8px;
  background-color:#171b22 !important;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
}
body.training-page .development-pathway-images .journey-step-image:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,10,14,.12) 0%,rgba(8,10,14,.28) 44%,rgba(8,10,14,.78) 100%);
  z-index:0;
}
body.training-page .development-pathway-images .journey-step-image > *{
  position:relative;
  z-index:1;
}
body.training-page .development-pathway-images .journey-step-image b,
body.training-page .development-pathway-images .journey-step-image span{
  color:#fff !important;
  text-shadow:0 2px 14px rgba(0,0,0,.55);
}
body.training-page .development-pathway-images .journey-step-image b{
  font-size:1.45rem;
}
body.training-page .development-pathway-images .journey-step-image span{
  margin-top:8px;
  font-size:1.08rem;
}
body.training-page .development-pathway-images .journey-step-enquire{
  background-image:url("assets/images/development/pathway/pathway-enquire.jpg") !important;
}
body.training-page .development-pathway-images .journey-step-discuss{
  background-image:url("assets/images/development/pathway/pathway-discuss.jpg") !important;
}
body.training-page .development-pathway-images .journey-step-train{
  background-image:url("assets/images/development/pathway/pathway-train.jpg") !important;
}
body.training-page .development-pathway-images .journey-step-develop{
  background-image:url("assets/images/development/pathway/pathway-develop.jpg") !important;
}
body.training-page .development-pathway-images .journey-step-progress{
  background-image:url("assets/images/development/pathway/pathway-progress.jpg") !important;
}
body.training-page .simple-start-inner{
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) minmax(420px,1.35fr) minmax(190px,1fr);
  align-items:center;
  justify-items:center;
  gap:28px;
  text-align:center;
}
body.training-page .simple-start-inner strong,
body.training-page .simple-start-inner span,
body.training-page .simple-start-inner .btn{
  margin:0;
}
body.training-page .simple-start-inner span{
  max-width:640px;
}
body.training-page .main-page-hero .actions .btn-outline[href="intensives.html"]{
  color:#8e3dff !important;
  border-color:rgba(142,61,255,.30) !important;
  box-shadow:0 12px 30px rgba(142,61,255,.10) !important;
}
body.training-page .main-page-hero .actions .btn-outline[href="intensives.html"]:hover,
body.training-page .main-page-hero .actions .btn-outline[href="intensives.html"]:focus-visible{
  background:#8e3dff !important;
  color:#fff !important;
  border-color:#8e3dff !important;
  box-shadow:0 16px 34px rgba(142,61,255,.20) !important;
}
body.training-page .training-info-section .card:not(.train):not(.intensive):not(.perform):not(.compete){
  --accent:#f07a1a;
}
body.training-page .training-info-section .card.faculty{
  --accent:#e31937;
}
body.training-page .training-info-section .card.faculty .arrow{
  color:#e31937 !important;
}
body.training-page .training-info-section .card.faculty:before{
  background:#e31937 !important;
}
body.training-page .training-info-section .card.intensive,
body.training-page .training-info-section .card.intensive .arrow{
  --accent:#8e3dff;
  color:#8e3dff !important;
}
body.training-page .training-info-section .card.intensive:before{
  background:#8e3dff !important;
}
body.training-page .mobile-page-jumps a{
  border-color:rgba(240,122,26,.16) !important;
}
body.training-page .mobile-page-jumps a:hover,
body.training-page .mobile-page-jumps a:focus-visible{
  color:#f07a1a !important;
  border-color:rgba(240,122,26,.34) !important;
}
.development-date-seasons{
  display:grid;
  gap:34px;
}
.development-date-season{
  display:grid;
  gap:18px;
}
.development-date-season-head{
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  align-items:baseline;
}
.development-date-season-head .eyebrow{
  margin:0;
}
.development-date-season-head h3{
  margin:0;
  color:var(--home-ink,#181f2a);
  font-size:clamp(1.45rem,2.2vw,2.35rem);
  line-height:1;
  letter-spacing:0;
}
.development-date-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.development-date-card{
  position:relative;
  overflow:hidden;
  min-height:286px;
  border:1px solid rgba(240,122,26,.18);
  border-radius:24px;
  background:linear-gradient(155deg,#ffffff 0%,#fff7f0 100%);
  box-shadow:0 18px 52px rgba(24,31,42,.07);
  padding:clamp(22px,2.5vw,30px);
}
.development-date-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:#f07a1a;
}
.development-date-card > span{
  color:#f07a1a;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.development-date-card h3{
  max-width:12ch;
  margin:14px 0 22px;
  color:var(--home-ink,#181f2a);
  font-size:clamp(1.52rem,2vw,2rem);
  line-height:1;
  letter-spacing:0;
}
.development-date-card dl{
  display:grid;
  gap:13px;
  margin:0;
}
.development-date-card div{
  display:grid;
  gap:4px;
}
.development-date-card dt{
  color:#667085;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.development-date-card dd{
  margin:0;
  color:var(--home-copy,#304154);
  font-weight:800;
  line-height:1.35;
}
@media(max-width:1040px){
  body.training-page .simple-start-inner{
    grid-template-columns:1fr;
    gap:12px;
  }
}
@media(max-width:1120px){
  .development-date-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .development-date-grid{
    grid-template-columns:1fr;
  }
  .development-date-card{
    min-height:auto;
  }
  .development-date-card h3{
    max-width:none;
  }
}

/* Events page: clearer wording, editable image row and route-coloured cards */
body.events-page .events-hero h1{
  max-width:980px !important;
}
@media(min-width:821px){
  body.events-page .events-hero h1{
    white-space:nowrap;
  }
}
body.events-page .events-action-intro h2{
  font-size:clamp(2.45rem,4.25vw,4.9rem);
  line-height:.96;
  max-width:1120px;
}
@media(min-width:1121px){
  body.events-page .events-action-intro h2{
    white-space:nowrap;
  }
}
body.events-page .events-gallery-grid{
  margin:0 0 clamp(32px,5vw,58px);
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.events-page .events-gallery-grid .image-ready-card{
  min-height:300px;
}
body.events-page .image-ready-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
body.events-page .image-ready-card img + span,
body.events-page .image-ready-card img ~ h3{
  position:relative;
  z-index:2;
}
body.events-page .image-ready-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(10,13,20,.78),rgba(10,13,20,.18) 58%,rgba(10,13,20,.04));
  z-index:1;
}
body.events-page .image-ready-card span,
body.events-page .image-ready-card h3{
  color:#fff !important;
}
body.events-page .event-category-card{
  overflow:hidden;
}
body.events-page .event-category-grid{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  padding:4px 4px 14px;
  scroll-padding-inline:4px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
body.events-page .event-scroll-controls{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin:-6px 0 12px;
}
body.events-page .event-scroll-button{
  width:44px;
  height:44px;
  border:1px solid rgba(31,39,50,.18);
  border-radius:999px;
  background:#fff;
  color:#1f2732;
  cursor:pointer;
  font-size:1.7rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 12px 24px rgba(31,39,50,.1);
}
body.events-page .event-scroll-button:hover,
body.events-page .event-scroll-button:focus-visible{
  border-color:rgba(227,25,55,.38);
  color:#e31937;
  transform:translateY(-1px);
}
body.events-page .event-category-grid::-webkit-scrollbar{
  height:10px;
}
body.events-page .event-category-grid::-webkit-scrollbar-track{
  background:#eef1f5;
  border-radius:999px;
}
body.events-page .event-category-grid::-webkit-scrollbar-thumb{
  background:rgba(31,39,50,.28);
  border-radius:999px;
}
body.events-page .event-category-card{
  flex:0 0 min(440px,86vw);
  min-height:360px;
  scroll-snap-align:start;
}
body.events-page .event-category-card.tickets{
  --pack-accent:#e31937;
}
body.events-page .event-category-card .eyebrow,
body.events-page .event-category-card .btn-outline:hover,
body.events-page .event-category-card .btn-outline:focus-visible{
  color:var(--pack-accent,#e31937) !important;
}
body.events-page .event-category-card .eyebrow:before{
  background:linear-gradient(90deg,var(--pack-accent,#e31937),transparent) !important;
}
body.events-page .event-category-card .btn-primary{
  background:linear-gradient(135deg,color-mix(in srgb,var(--pack-accent,#e31937) 78%,#fff),var(--pack-accent,#e31937),color-mix(in srgb,var(--pack-accent,#e31937) 72%,#000)) !important;
  color:#fff !important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--pack-accent,#e31937) 24%,transparent) !important;
}
body.events-page .event-category-card .btn-outline{
  border-color:color-mix(in srgb,var(--pack-accent,#e31937) 24%,rgba(31,39,50,.16)) !important;
}
@media(max-width:900px){
  body.events-page .events-gallery-grid{
    grid-template-columns:1fr;
  }
  body.events-page .events-action-intro h2{
    white-space:normal;
  }
}

/* Intensives route: purple everywhere red was bleeding through */
body.intensives-page{
  --gold:#8e3dff;
  --gold2:#8e3dff;
  --gold3:#5d22b8;
  --line:rgba(142,61,255,.18);
}
body.intensives-page:before{
  background:
    radial-gradient(circle at 12% 2%,rgba(142,61,255,.10),transparent 30%),
    radial-gradient(circle at 88% 10%,rgba(142,61,255,.12),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f7f8fa 46%,#eef1f4 100%) !important;
}
body.intensives-page .announcement,
body.intensives-page .contact-icon:hover,
body.intensives-page .contact-icon:focus-visible{
  background:#8e3dff !important;
  border-color:#8e3dff !important;
}
body.intensives-page .nav a:after,
body.intensives-page .eyebrow:before{
  background:linear-gradient(90deg,#8e3dff,transparent) !important;
}
body.intensives-page .nav a:hover,
body.intensives-page .nav .nav-cta,
body.intensives-page .gold-word,
body.intensives-page .eyebrow,
body.intensives-page .card .arrow,
body.intensives-page .footer h4,
body.intensives-page .language-floating-button{
  color:#8e3dff !important;
}
body.intensives-page .nav .nav-cta,
body.intensives-page .menu,
body.intensives-page .language-floating-button{
  border-color:rgba(142,61,255,.30) !important;
}
body.intensives-page .nav .nav-cta:hover,
body.intensives-page .nav .nav-cta:focus-visible{
  background:#8e3dff !important;
  border-color:#8e3dff !important;
  color:#fff !important;
  box-shadow:0 14px 32px rgba(142,61,255,.20) !important;
}
body.intensives-page .btn-primary,
body.intensives-page .language-actions .btn-primary,
body.intensives-page .language-apply{
  background:linear-gradient(135deg,#b56cff,#8e3dff,#5d22b8) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 16px 34px rgba(142,61,255,.24) !important;
}
body.intensives-page .page-hero,
body.intensives-page .gateway-hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(142,61,255,.12),transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#f8f9fb 58%,#eef1f4 100%) !important;
}
body.intensives-page .main-page-hero.intensives-hero{
  position:relative;
  display:flex;
  align-items:center;
  min-height:clamp(500px,42vw,640px);
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 36%,rgba(249,245,255,.66) 57%,rgba(249,245,255,.22) 78%,rgba(249,245,255,.08) 100%),
    radial-gradient(circle at 20% 48%,rgba(255,255,255,.52),transparent 36%),
    url("assets/images/intensives/intensives-hero-aaron-purple-studio.webp") center right/cover no-repeat !important;
}
body.intensives-page .main-page-hero.intensives-hero > .container{
  position:relative;
  z-index:1;
}
body.intensives-page .main-page-hero.intensives-hero .intensive-hero-copy{
  max-width:760px;
}
body.intensives-page .main-page-hero.intensives-hero .intensives-hero-brand{
  gap:8px;
  color:#171a22 !important;
  letter-spacing:.24em;
}
body.intensives-page .main-page-hero.intensives-hero .intensives-hero-brand::before{
  background:#b000ff;
  opacity:1;
}
body.intensives-page .main-page-hero.intensives-hero .intensives-hero-brand span{
  color:#171a22;
  font-weight:900;
}
body.intensives-page .main-page-hero.intensives-hero .intensives-hero-brand strong{
  color:#b000ff;
  font-weight:900;
}
body.intensives-page .main-page-hero.intensives-hero .intensive-hero-support{
  font-weight:900 !important;
  color:#1f2732 !important;
}
body.intensives-page .main-page-hero.intensives-hero .intensive-hero-body{
  margin-top:18px;
  max-width:760px;
}
body.intensives-page .main-page-hero.intensives-hero .intensive-hero-body p{
  margin:0 0 14px;
  color:#24364c;
  font-size:1.05rem;
  line-height:1.72;
}
body.intensives-page .main-page-hero.intensives-hero .intensive-hero-emphasis{
  margin-top:18px;
  border-left-color:#b000ff;
  background:linear-gradient(135deg,rgba(176,0,255,.08),rgba(176,0,255,.02));
  font-weight:900;
}
body.intensives-page .main-page-hero.intensives-hero .intensive-hero-limited-note{
  margin-top:14px;
  max-width:640px;
  color:#526071;
  font-size:.94rem;
  line-height:1.55;
  font-weight:400;
}
body.intensives-page .main-page-hero.intensives-hero .intensive-hero-positioning{
  border-left-color:#b000ff;
  background:linear-gradient(135deg,rgba(176,0,255,.08),rgba(176,0,255,.02));
}
body.intensives-page .main-page-hero.intensives-hero .intensive-btn-primary{
  background:linear-gradient(135deg,#b000ff 0%,#ff00d4 100%);
  box-shadow:0 20px 42px rgba(176,0,255,.28);
}
body.intensives-page .main-page-hero.intensives-hero .intensive-btn-primary:hover,
body.intensives-page .main-page-hero.intensives-hero .intensive-btn-primary:focus-visible{
  background:linear-gradient(135deg,#c018ff 0%,#ff20dc 100%);
}
body.intensives-page .main-page-hero.intensives-hero .intensive-btn-secondary{
  border-color:rgba(176,0,255,.28);
}
@media(max-width:820px){
  body.intensives-page .main-page-hero.intensives-hero{
    min-height:auto;
    background:
      linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.91) 50%,rgba(249,245,255,.62) 100%),
      url("assets/images/intensives/intensives-hero-aaron-purple-studio.webp") 64% center/cover no-repeat !important;
  }
}
@media(max-width:520px){
  body.intensives-page .main-page-hero.intensives-hero{
    background:
      linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 58%,rgba(249,245,255,.80) 100%),
      url("assets/images/intensives/intensives-hero-aaron-purple-studio.webp") 62% center/cover no-repeat !important;
  }
}
body.intensives-page .simple-start-strip{
  background:linear-gradient(90deg,#ffffff 0%,#f7f0ff 48%,#ffffff 100%) !important;
}
body.intensives-page .card,
body.intensives-page .proof-card,
body.intensives-page .copy-block{
  --accent:#8e3dff;
}
body.intensives-page .card:before,
body.intensives-page .proof-card:before{
  background:#8e3dff !important;
}
body.intensives-page .photo-proof .home-section-heading .eyebrow,
body.intensives-page .photo-proof .home-section-heading > p,
body.intensives-page .photo-proof .home-section-heading > div:last-child p{
  color:#8e3dff !important;
}
body.intensives-page .photo-proof .home-section-heading .eyebrow:before{
  background:linear-gradient(90deg,#8e3dff,transparent) !important;
}
body.intensives-page .photo-proof .home-section-heading h2{
  font-size:clamp(2.35rem,4vw,4.65rem);
}
@media(min-width:1121px){
  body.intensives-page .photo-proof .home-section-heading h2{
    white-space:nowrap;
  }
}
body.intensives-page .image-ready-card:before,
body.intensives-page .pack-cover:before{
  background:linear-gradient(135deg,rgba(142,61,255,.14),rgba(142,61,255,.04)) !important;
}

/* Spectator tickets polish */
body.tickets-page .tickets-hero h1 .gold-word{
  color:#e31937 !important;
}
body.tickets-page .simple-start-strip{
  background:linear-gradient(90deg,#ffffff 0%,#fff7f8 48%,#ffffff 100%) !important;
}
body.tickets-page .ticket-summary-section{
  padding-top:clamp(54px,7vw,92px);
}
body.tickets-page .ticket-summary-card{
  background:#fff;
  border:1px solid rgba(31,39,50,.10);
  border-radius:28px;
  padding:clamp(24px,4vw,42px);
  box-shadow:0 24px 70px rgba(31,39,50,.10);
}
body.tickets-page .ticket-summary-card .eyebrow{
  margin-bottom:16px;
}
body.tickets-page .summary-grid article{
  background:linear-gradient(180deg,#fff 0%,#f8f9fb 100%) !important;
  border:1px solid rgba(31,39,50,.10);
  border-top:4px solid #e31937;
  border-radius:16px;
  padding:22px 18px;
}
body.tickets-page .summary-grid strong{
  color:#e31937 !important;
}
body.tickets-page .ticket-details-section{
  padding-top:clamp(56px,7vw,96px);
}
body.tickets-page .ticket-copy-grid .copy-block{
  background:#fff !important;
  border-color:rgba(31,39,50,.10) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065);
}
body.tickets-page .ticket-copy-grid .copy-block h3{
  color:#171a20 !important;
}

/* Final corrective pass: prevent route pages from overflowing and keep each route coherent */
body.events-page,
body.intensives-page,
body.perform-page,
body.info-pack-page{
  overflow-x:hidden;
}
body.events-page .events-hero h1,
body.events-page .events-action-intro h2,
body.intensives-page .photo-proof .home-section-heading h2{
  white-space:normal !important;
  overflow-wrap:normal;
  word-break:normal;
}
body.events-page .events-action-intro,
body.intensives-page .intensives-room-heading{
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);
  align-items:center;
}
body.events-page .events-action-intro > *,
body.intensives-page .intensives-room-heading > *{
  min-width:0;
}
body.events-page .events-action-intro h2{
  font-size:clamp(2.25rem,3.85vw,4.2rem);
  max-width:100%;
}
body.events-page .events-action-intro > p{
  max-width:520px;
  justify-self:end;
  font-size:1rem;
  line-height:1.65;
}
body.events-page .editable-opportunity-card.compete{
  --accent:#e31937;
}
body.events-page .editable-opportunity-card.train{
  --accent:#f07a1a;
}
body.events-page .editable-opportunity-card.intensive{
  --accent:#8e3dff;
}
body.events-page .editable-opportunity-card.perform{
  --accent:#007fc8;
}
body.events-page .editable-opportunity-card{
  min-height:365px !important;
  padding:24px !important;
  border-bottom-color:var(--accent,#e31937) !important;
}
body.events-page .editable-opportunity-card:before{
  background:var(--accent,#e31937) !important;
}
body.events-page .editable-opportunity-card .event-meta span:first-child,
body.events-page .editable-opportunity-card .opportunity-date,
body.events-page .editable-opportunity-card .opportunity-location{
  color:var(--accent,#e31937) !important;
}
body.events-page .editable-opportunity-card .event-meta{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start !important;
  gap:14px !important;
  min-height:0 !important;
  margin:0 0 18px !important;
  font-size:.72rem !important;
  line-height:1.2 !important;
  text-transform:uppercase;
  letter-spacing:.12em;
}
body.events-page .editable-opportunity-card h3{
  min-height:0 !important;
  margin:0 0 14px !important;
  color:#151a23 !important;
  font-size:clamp(1.16rem,1.28vw,1.42rem) !important;
  line-height:1.12 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
body.events-page .editable-opportunity-card .opportunity-date-summary{
  display:grid;
  gap:8px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid color-mix(in srgb,var(--accent,#e31937) 18%,rgba(31,39,50,.1));
  border-radius:12px;
  background:linear-gradient(180deg,#fff 0%,color-mix(in srgb,var(--accent,#e31937) 7%,#fff) 100%);
  color:#4b5563;
  font-size:.79rem;
  line-height:1.36;
}
body.events-page .editable-opportunity-card .opportunity-date-summary > div{
  display:grid;
  grid-template-columns:minmax(78px,.36fr) minmax(0,1fr);
  gap:10px;
  align-items:start;
}
body.events-page .editable-opportunity-card .opportunity-date-summary strong{
  display:block;
  color:var(--accent,#e31937);
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.events-page .editable-opportunity-card .opportunity-date-summary span{
  display:block;
}
body.events-page .editable-opportunity-card > p{
  margin:0 0 16px !important;
  color:#4a5565 !important;
  font-size:.92rem !important;
  line-height:1.48 !important;
}
body.events-page .editable-opportunity-card .actions{
  gap:9px !important;
}
body.events-page .editable-opportunity-card .btn{
  min-height:44px !important;
  font-size:.66rem !important;
  letter-spacing:.1em !important;
}
body.events-page .editable-opportunity-card .btn-primary{
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#e31937) 78%,#fff),var(--accent,#e31937),color-mix(in srgb,var(--accent,#e31937) 72%,#000)) !important;
  color:#fff !important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--accent,#e31937) 22%,transparent) !important;
}
body.events-page .editable-opportunity-card .btn-outline{
  color:#171a20 !important;
  border-color:color-mix(in srgb,var(--accent,#e31937) 28%,rgba(31,39,50,.16)) !important;
}
body.events-page .editable-opportunity-card .btn-outline:hover,
body.events-page .editable-opportunity-card .btn-outline:focus-visible{
  color:var(--accent,#e31937) !important;
}
@media(max-width:1120px){
  body.events-page .editable-opportunity-card h3{
    font-size:clamp(1.18rem,2vw,1.42rem) !important;
  }
}
@media(max-width:760px){
  body.events-page .editable-opportunity-card{
    min-height:0 !important;
  }
  body.events-page .editable-opportunity-card h3{
    white-space:normal !important;
  }
  body.events-page .editable-opportunity-card .opportunity-date-summary > div{
    grid-template-columns:1fr;
    gap:2px;
  }
}

/* Competition rules page: readable rule hub */
body.competition-rules-page{
  overflow-x:hidden;
  background:#f5f6f8;
}
body.competition-rules-page .rules-hero{
  padding:clamp(96px,11vw,150px) 0 clamp(68px,8vw,104px);
  border-bottom:1px solid rgba(31,39,50,.10);
  background:
    radial-gradient(circle at 82% 18%,rgba(227,25,55,.12),transparent 34%),
    linear-gradient(135deg,#fff 0%,#f6f7f9 100%);
}
body.competition-rules-page .rules-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.65fr);
  gap:clamp(34px,6vw,86px);
  align-items:end;
}
body.competition-rules-page .rules-hero h1{
  margin:0;
  max-width:980px;
  color:#171a20;
  font-size:clamp(3.4rem,8vw,7.7rem);
  line-height:.9;
  letter-spacing:0;
}
body.competition-rules-page .rules-hero h1 span{
  color:#e31937;
  font-style:italic;
}
body.competition-rules-page .rules-hero-copy{
  display:grid;
  gap:24px;
}
body.competition-rules-page .rules-hero-copy p{
  margin:0;
  color:#4d5866;
  font-size:clamp(1.05rem,1.35vw,1.32rem);
  line-height:1.62;
}
body.competition-rules-page .rules-subnav{
  position:sticky;
  top:0;
  z-index:18;
  padding:22px 0;
  border-bottom:1px solid rgba(31,39,50,.10);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
}
body.competition-rules-page .rules-subnav-grid{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:9px;
}
body.competition-rules-page .rules-subnav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 12px;
  border:1px solid rgba(227,25,55,.18);
  border-radius:999px;
  background:#fff;
  color:#171a20;
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(31,39,50,.045);
}
body.competition-rules-page .rules-subnav a:hover,
body.competition-rules-page .rules-subnav a:focus-visible{
  border-color:rgba(227,25,55,.46);
  color:#e31937;
}
body.competition-rules-page .rules-at-glance{
  padding:clamp(24px,4vw,36px);
  border:1px solid rgba(31,39,50,.10);
  border-radius:24px;
  background:linear-gradient(135deg,#fff,#f8f9fb);
  box-shadow:0 22px 56px rgba(31,39,50,.08);
}
body.competition-rules-page .rules-at-glance h2{
  margin:0 0 18px;
  font-size:clamp(1.65rem,2.4vw,2.4rem);
}
body.competition-rules-page .rules-glance-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.competition-rules-page .rules-glance-grid article{
  display:grid;
  gap:8px;
  min-height:176px;
  padding:20px;
  border:1px solid rgba(31,39,50,.10);
  border-top:4px solid #e31937;
  border-radius:16px;
  background:#fff;
}
body.competition-rules-page .rules-glance-grid span{
  color:#e31937;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
}
body.competition-rules-page .rules-glance-grid strong{
  color:#171a20;
  font-size:1.1rem;
  line-height:1.15;
}
body.competition-rules-page .rules-glance-grid p,
body.competition-rules-page .rule-card p,
body.competition-rules-page .rule-card li,
body.competition-rules-page .rules-definition-list dd{
  color:#4d5866;
  line-height:1.58;
}
body.competition-rules-page .rules-section{
  padding:clamp(64px,7vw,104px) 0;
}
body.competition-rules-page .rules-shell{
  display:grid;
  gap:28px;
}
body.competition-rules-page .rules-section-head{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(260px,.42fr);
  gap:24px;
  align-items:end;
}
body.competition-rules-page .rules-section-head h2{
  grid-column:1;
  margin:0;
  max-width:820px;
  color:#171a20;
  font-size:clamp(2.1rem,4.4vw,4.8rem);
  line-height:.96;
  letter-spacing:0;
}
body.competition-rules-page .rules-section-head .eyebrow{
  grid-column:1;
  margin:0 0 -12px;
  color:#e31937 !important;
}
body.competition-rules-page .rules-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
body.competition-rules-page .rules-two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
body.competition-rules-page .rules-tight-grid{
  margin-top:4px;
}
body.competition-rules-page .rule-card{
  position:relative;
  overflow:hidden;
  padding:clamp(22px,2.5vw,30px);
  border:1px solid rgba(31,39,50,.10);
  border-left:4px solid #e31937;
  border-radius:18px;
  background:linear-gradient(160deg,#fff,#fbfcfd);
  box-shadow:0 20px 50px rgba(31,39,50,.075);
}
body.competition-rules-page .rule-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,rgba(227,25,55,.35),transparent);
}
body.competition-rules-page .rule-card h3{
  margin:0 0 14px;
  color:#171a20;
  font-size:clamp(1.15rem,1.5vw,1.55rem);
  line-height:1.06;
}
body.competition-rules-page .rule-card p{
  margin:0 0 12px;
}
body.competition-rules-page .rule-card p:last-child{
  margin-bottom:0;
}
body.competition-rules-page .rule-card ul{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
body.competition-rules-page .rule-card li{
  position:relative;
  padding-left:18px;
}
body.competition-rules-page .rule-card li:before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:#e31937;
}
body.competition-rules-page .rules-pill-list li{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  min-height:42px;
  padding:10px 12px;
  border:1px solid rgba(227,25,55,.12);
  border-radius:12px;
  background:#fff;
}
body.competition-rules-page .rules-pill-list li:before,
body.competition-rules-page .rules-score-list li:before{
  content:none;
}
body.competition-rules-page .rules-pill-list strong,
body.competition-rules-page .rules-score-list strong,
body.competition-rules-page .rules-definition-list dt{
  color:#171a20;
  font-weight:900;
}
.development-training-list span strong{
  display:block;
  color:#171a20;
  font-size:.92rem;
  line-height:1.1;
}
.development-training-list span small{
  display:block;
  margin-top:6px;
  color:#5f6873;
  font-size:.82rem;
  font-weight:700;
  line-height:1.35;
}
body.competition-rules-page .rules-pill-list span,
body.competition-rules-page .rules-score-list span{
  color:#e31937;
  font-weight:900;
  text-align:right;
}
body.competition-rules-page .rules-definition-list{
  display:grid;
  gap:10px;
  margin:0;
}
body.competition-rules-page .rules-definition-list div{
  display:grid;
  grid-template-columns:minmax(120px,.38fr) minmax(0,1fr);
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid rgba(31,39,50,.08);
}
body.competition-rules-page .rules-definition-list div:last-child{
  border-bottom:0;
}
body.competition-rules-page .rules-definition-list dt,
body.competition-rules-page .rules-definition-list dd{
  margin:0;
}
body.competition-rules-page .rules-score-list{
  margin-top:14px !important;
}
body.competition-rules-page .rules-score-list li{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:9px 0;
  border-bottom:1px solid rgba(31,39,50,.08);
}
body.competition-rules-page .rule-card-compact{
  min-height:100%;
}
body.competition-rules-page .rules-final{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin-top:12px;
  padding:clamp(24px,4vw,36px);
  border:1px solid rgba(227,25,55,.16);
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#fff5f7);
  box-shadow:0 20px 48px rgba(31,39,50,.08);
}
body.competition-rules-page .rules-final h2{
  margin:0 0 8px;
  font-size:clamp(1.8rem,3vw,3rem);
}
body.competition-rules-page .rules-final p{
  margin:0;
  color:#4d5866;
}
@media(max-width:1180px){
  body.competition-rules-page .rules-subnav-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  body.competition-rules-page .rules-glance-grid,
  body.competition-rules-page .rules-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:860px){
  body.competition-rules-page .rules-hero-inner,
  body.competition-rules-page .rules-section-head,
  body.competition-rules-page .rules-two-col,
  body.competition-rules-page .rules-final{
    grid-template-columns:1fr;
  }
  body.competition-rules-page .rules-subnav{
    position:relative;
  }
  body.competition-rules-page .rules-subnav-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.competition-rules-page .rules-glance-grid,
  body.competition-rules-page .rules-card-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  body.competition-rules-page .rules-hero{
    padding-top:78px;
  }
  body.competition-rules-page .rules-hero h1{
    font-size:clamp(3rem,16vw,4.4rem);
  }
  body.competition-rules-page .rules-subnav-grid{
    grid-template-columns:1fr;
  }
  body.competition-rules-page .rules-definition-list div,
  body.competition-rules-page .rules-pill-list li,
  body.competition-rules-page .rules-score-list li{
    grid-template-columns:1fr;
    display:grid;
  }
  body.competition-rules-page .rules-pill-list span,
  body.competition-rules-page .rules-score-list span{
    text-align:left;
  }
}
body.intensives-page .intensives-room-heading{
  margin-bottom:34px;
}
body.intensives-page .intensives-room-heading h2{
  font-size:clamp(1.9rem,2.2vw,2.55rem);
  line-height:1.04;
  max-width:100%;
}
body.intensives-page .intensives-room-heading > p{
  max-width:520px;
  justify-self:end;
  color:#8e3dff !important;
  font-size:1rem;
  line-height:1.65;
}
@media(min-width:1180px){
  body.intensives-page .intensives-room-heading{
    grid-template-columns:1fr;
    gap:16px;
  }
  body.intensives-page .intensives-room-heading h2{
    white-space:nowrap !important;
  }
  body.intensives-page .intensives-room-heading > p{
    max-width:720px;
  }
}
body.intensives-page .intensives-room-grid{
  grid-template-columns:1.3fr .95fr .95fr;
}
body.intensives-page .intensives-room-grid .image-ready-card{
  min-height:310px;
}
body.intensives-page .intensives-room-grid .image-ready-card.large{
  grid-column:auto;
}
body.intensives-page .intensives-room-grid .image-ready-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
body.intensives-page .intensives-room-grid .image-ready-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(10,13,20,.74),rgba(10,13,20,.20) 58%,rgba(10,13,20,.04));
  z-index:1;
}
body.intensives-page .intensives-room-grid .image-ready-card span,
body.intensives-page .intensives-room-grid .image-ready-card h3{
  position:relative;
  z-index:2;
  color:#fff !important;
}
body.intensives-page .intensives-six-photo-section{
  margin-top:clamp(28px,4vw,52px);
  padding:clamp(24px,4vw,42px);
  border:1px solid rgba(142,61,255,.14);
  border-radius:30px;
  background:
    radial-gradient(circle at 18% 8%,rgba(142,61,255,.12),transparent 32%),
    linear-gradient(135deg,rgba(255,255,255,.95),rgba(247,240,255,.76));
  box-shadow:0 28px 80px rgba(31,39,50,.10);
}
body.intensives-page .intensives-six-photo-copy{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(300px,1fr);
  gap:clamp(18px,4vw,48px);
  align-items:end;
  margin-bottom:clamp(18px,3vw,28px);
}
body.intensives-page .intensives-six-photo-copy h3{
  margin:0;
  font-size:clamp(2.1rem,4.4vw,4.8rem);
  line-height:.94;
  letter-spacing:0;
  color:#171a20;
}
body.intensives-page .intensives-six-photo-copy p:not(.eyebrow){
  max-width:520px;
  margin:0;
  justify-self:end;
  color:#465464;
  font-size:1.02rem;
  line-height:1.7;
}
body.intensives-page .intensives-six-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.8vw,18px);
}
body.intensives-page .intensives-photo-tile{
  position:relative;
  min-height:0;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:22px;
  background:linear-gradient(135deg,#f7f0ff,#fff);
  border:1px solid rgba(142,61,255,.12);
  box-shadow:0 18px 46px rgba(31,39,50,.10);
  isolation:isolate;
}
body.intensives-page .intensives-photo-tile img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
}
body.intensives-page .intensives-photo-tile:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to top,rgba(10,13,20,.78),rgba(10,13,20,.18) 62%,rgba(10,13,20,.02));
}
body.intensives-page .intensives-photo-tile span{
  position:absolute;
  left:clamp(16px,2.4vw,24px);
  right:clamp(16px,2.4vw,24px);
  bottom:clamp(16px,2.4vw,24px);
  z-index:2;
  color:#fff;
  font-size:clamp(1.2rem,2.1vw,2rem);
  font-weight:900;
  line-height:1.02;
  letter-spacing:0;
  text-shadow:0 12px 32px rgba(0,0,0,.35);
}
body.intensives-page .intensives-photo-placeholder{
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(135deg,rgba(142,61,255,.16),rgba(255,255,255,.72)),
    repeating-linear-gradient(135deg,rgba(142,61,255,.08) 0 1px,transparent 1px 13px);
}
body.intensives-page .intensives-photo-placeholder:after{
  background:linear-gradient(to top,rgba(142,61,255,.18),rgba(255,255,255,.02));
}
body.intensives-page .intensives-photo-placeholder span{
  color:#171a20;
  text-shadow:none;
}
body.info-pack-page .info-pack-compact-hero{
  background:
    radial-gradient(circle at 78% 16%,rgba(227,25,55,.13),transparent 30%),
    radial-gradient(circle at 22% 82%,rgba(142,61,255,.08),transparent 28%),
    linear-gradient(135deg,#fff 0%,#f8f9fb 58%,#eef1f4 100%) !important;
  position:relative;
  overflow:hidden;
}
body.info-pack-page .info-pack-compact-hero .container{
  position:relative;
  z-index:2;
  padding-right:min(43vw,560px);
}
body.info-pack-page .info-pack-compact-hero:after{
  content:"";
  position:absolute;
  right:clamp(24px,6vw,120px);
  top:32px;
  width:min(34vw,570px);
  aspect-ratio:840/467;
  border-radius:0;
  background:#fff url("assets/images/info-pack/request-the-right-information-pack.png") center/contain no-repeat;
  box-shadow:0 24px 60px rgba(31,39,50,.1);
}
body.info-pack-page .info-pack-compact-hero:before{
  display:none;
}
body.info-pack-page .info-pack-compact-hero h1{
  max-width:900px;
}
body.info-pack-page .info-pack-form-panel{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1fr);
  gap:clamp(26px,5vw,64px);
  align-items:start;
  background:
    linear-gradient(110deg,#fff 0%,#fff7f8 52%,#f7f0ff 100%) !important;
  border-top:1px solid rgba(31,39,50,.10);
}
body.info-pack-page .info-pack-form-copy,
body.info-pack-page .info-pack-form-wrap{
  background:#fff;
  border:1px solid rgba(31,39,50,.10);
  border-radius:28px;
  padding:clamp(24px,3.4vw,42px);
  box-shadow:0 24px 70px rgba(31,39,50,.10);
}
body.info-pack-page .info-pack-form-panel .page-logo-medium{
  max-width:150px !important;
  margin-bottom:22px !important;
}
body.info-pack-page .info-pack-form-copy h2{
  font-size:clamp(2.35rem,4.5vw,4.5rem);
  line-height:.94;
}
body.info-pack-page .info-pack-mini-proof{
  background:transparent;
  border:0;
  gap:12px;
}
body.info-pack-page .info-pack-mini-proof span{
  background:linear-gradient(145deg,#171a20,#313944);
  border:1px solid rgba(31,39,50,.08);
  color:#fff !important;
  box-shadow:0 14px 34px rgba(31,39,50,.12);
}
body.info-pack-page .info-pack-mini-proof strong{
  color:#fff !important;
}
body.info-pack-page .compact-info-guide article{
  background:linear-gradient(180deg,#fff 0%,#f8f9fb 100%);
  border:1px solid rgba(31,39,50,.10);
}
body.info-pack-page #infoPackIntensiveBenefits article{
  text-align:left;
}
body.info-pack-page #infoPackIntensiveBenefits ul{
  margin:14px 0 0;
  padding-left:18px;
  color:var(--muted);
}
body.info-pack-page #infoPackIntensiveBenefits li + li{
  margin-top:6px;
}
body.info-pack-page .form-reassurance{
  background:linear-gradient(135deg,#fff7f8,#fff);
  border-color:rgba(227,25,55,.18);
}
body.perform-page{
  --gold:#007fc8;
  --gold2:#007fc8;
  --gold3:#075f96;
  --line:rgba(0,127,200,.18);
}
body.perform-page .addams-hero h1{
  color:#007fc8 !important;
}
body.perform-page .eyebrow,
body.perform-page .gold-word,
body.perform-page .card .arrow,
body.perform-page .footer h4,
body.perform-page .language-floating-button{
  color:#007fc8 !important;
}
body.perform-page .eyebrow:before,
body.perform-page .nav a:after{
  background:linear-gradient(90deg,#007fc8,transparent) !important;
}
body.perform-page .btn-primary,
body.perform-page .language-actions .btn-primary,
body.perform-page .language-apply{
  background:linear-gradient(135deg,#007ac0,#0077bb,#075f96) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 16px 34px rgba(0,127,200,.24) !important;
}
body.perform-page .nav .nav-cta,
body.perform-page .menu,
body.perform-page .language-floating-button{
  border-color:rgba(0,127,200,.30) !important;
  color:#007fc8 !important;
}
body.perform-page .simple-start-strip{
  background:linear-gradient(90deg,#ffffff 0%,#eef9ff 48%,#ffffff 100%) !important;
}
body.perform-page .key-info-bar span,
body.perform-page .key-info-bar strong{
  border-color:rgba(0,127,200,.16) !important;
}
body.perform-page .card:not(.compete):not(.train):not(.intensive){
  --accent:#007fc8;
}
@media(max-width:1040px){
  body.events-page .events-action-intro,
  body.intensives-page .intensives-room-heading,
  body.info-pack-page .info-pack-form-panel{
    grid-template-columns:1fr;
  }
  body.events-page .events-action-intro > p,
  body.intensives-page .intensives-room-heading > p{
    justify-self:start;
    max-width:760px;
  }
  body.intensives-page .intensives-room-grid{
    grid-template-columns:1fr;
  }
  body.intensives-page .intensives-six-photo-copy{
    grid-template-columns:1fr;
  }
  body.intensives-page .intensives-six-photo-copy p:not(.eyebrow){
    justify-self:start;
    max-width:760px;
  }
  body.intensives-page .intensives-six-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.info-pack-page .info-pack-compact-hero:before,
  body.info-pack-page .info-pack-compact-hero:after{
    display:none;
  }

  body.info-pack-page .info-pack-compact-hero .container{
    padding-right:0;
  }
}

@media(max-width:1180px){
  body.info-pack-page .info-pack-compact-hero:after{
    display:none;
  }

  body.info-pack-page .info-pack-compact-hero .container{
    padding-right:0;
  }
}
@media(max-width:560px){
  body.intensives-page .intensives-six-photo-section{
    padding:18px;
    border-radius:24px;
  }
body.intensives-page .intensives-six-photo-grid{
  grid-template-columns:1fr;
}
}

/* Intensives PDF rebuild - 2026-07-02 */
body.intensives-page .intensive-pdf-page {
  --intensive-purple: #8f35ff;
  --intensive-purple-dark: #6422c8;
  --intensive-ink: #171a22;
  --intensive-muted: #526071;
  --intensive-line: rgba(23, 26, 34, .12);
  --intensive-soft: #f7f8fb;
  background: #fff;
  color: var(--intensive-ink);
  overflow: hidden;
}

body.intensives-page .intensive-pdf-container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

body.intensives-page .intensive-pdf-hero {
  padding: clamp(76px, 10vw, 132px) 0 clamp(54px, 7vw, 88px);
  background:
    radial-gradient(circle at 86% 18%, rgba(143, 53, 255, .16), transparent 34%),
    linear-gradient(135deg, #fff 0%, #f7f8fb 54%, #f2edff 100%);
  border-bottom: 1px solid var(--intensive-line);
}

body.intensives-page .intensive-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .72fr);
  gap: clamp(32px, 6vw, 78px);
  align-items: center;
}

body.intensives-page .section-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 18px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--intensive-purple);
}

body.intensives-page .section-kicker::before {
  content: "";
  width: 54px;
  height: 1px;
  background: currentColor;
  opacity: .75;
}

body.intensives-page .intensive-pdf-page h1,
body.intensives-page .intensive-pdf-page h2,
body.intensives-page .intensive-pdf-page h3 {
  letter-spacing: 0;
  color: var(--intensive-ink);
}

body.intensives-page .intensive-pdf-page h1 {
  margin: 0 0 24px;
  max-width: 920px;
  font-size: clamp(52px, 8vw, 112px);
  line-height: .92;
  font-weight: 900;
}

body.intensives-page .intensive-pdf-page h1 span {
  color: var(--intensive-purple);
  font-style: italic;
}

body.intensives-page .intensive-pdf-page h2 {
  margin: 0 0 24px;
  font-size: clamp(38px, 5.8vw, 82px);
  line-height: 1;
  font-weight: 900;
  max-width: 850px;
}

body.intensives-page .intensive-pdf-page h3 {
  margin: 0 0 12px;
  font-size: clamp(25px, 2vw, 34px);
  line-height: 1;
  font-weight: 900;
}

body.intensives-page .intensive-hero-lead,
body.intensives-page .intensive-pdf-page p {
  font-size: 18px;
  line-height: 1.65;
  color: var(--intensive-muted);
}

body.intensives-page .intensive-hero-lead {
  max-width: 760px;
  margin: 0 0 10px;
  font-size: clamp(19px, 1.7vw, 24px);
  color: #2f3a49;
}

body.intensives-page .intensive-hero-subheading {
  margin: 0 0 18px;
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1.12;
  font-weight: 900;
  color: var(--intensive-purple-dark);
}

body.intensives-page .intensive-hero-positioning {
  max-width: 760px;
  margin: 18px 0 0;
  padding: 16px 18px;
  border-left: 4px solid var(--intensive-purple);
  background: linear-gradient(135deg, rgba(143, 53, 255, .07), rgba(143, 53, 255, .02));
  color: var(--intensive-ink);
  font-size: 15px;
  line-height: 1.55;
  font-weight: 900;
}

body.intensives-page .intensive-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

body.intensives-page .intensive-location-selector {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(240px, 1fr) auto;
  align-items: end;
  gap: 14px;
  max-width: 840px;
  margin: 24px 0 0;
  padding: 18px;
  border: 1px solid rgba(143, 53, 255, .18);
  border-left: 4px solid var(--intensive-purple);
  border-radius: 8px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 20px 48px rgba(23, 26, 34, .08);
}

body.intensives-page .intensive-location-selector .section-kicker {
  margin-bottom: 7px;
  font-size: 10px;
  letter-spacing: .2em;
}

body.intensives-page .intensive-location-selector .section-kicker::before {
  width: 34px;
}

body.intensives-page .intensive-location-selector h2 {
  margin: 0;
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1;
}

body.intensives-page .intensive-location-selector select {
  width: 100%;
  min-height: 46px;
  padding: 0 42px 0 14px;
  border: 1px solid var(--intensive-line);
  border-radius: 8px;
  background: #fff;
  color: var(--intensive-ink);
  font: 800 15px/1.2 var(--font-body);
}

body.intensives-page .intensive-info-pack-strip {
  padding: 26px 0;
  border-top: 1px solid rgba(23, 26, 34, .07);
  border-bottom: 1px solid rgba(23, 26, 34, .07);
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fc 100%);
}

body.intensives-page .intensive-info-pack-strip-inner {
  display: grid;
  grid-template-columns: minmax(180px, .34fr) minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}

body.intensives-page .intensive-info-pack-title,
body.intensives-page .intensive-info-pack-copy {
  margin: 0;
}

body.intensives-page .intensive-info-pack-title {
  color: var(--intensive-ink);
  font-size: 20px;
  line-height: 1.2;
  font-weight: 900;
}

body.intensives-page .intensive-info-pack-copy {
  max-width: 720px;
  font-size: 15px;
  line-height: 1.55;
}

body.intensives-page .intensive-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 14px 24px;
  border: 1px solid var(--intensive-line);
  background: #fff;
  color: var(--intensive-ink);
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .18em;
  box-shadow: 0 18px 38px rgba(23, 26, 34, .08);
  transition: transform .18s ease, box-shadow .18s ease;
}

body.intensives-page .intensive-btn-primary {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, #a84cff 0%, #6320c9 100%);
  box-shadow: 0 20px 42px rgba(143, 53, 255, .28);
}

body.intensives-page .intensive-btn-secondary:hover,
body.intensives-page .intensive-btn-primary:hover {
  transform: translateY(-1px);
}

body.intensives-page .intensive-hero-note,
body.intensives-page .intensive-lead-capture-line {
  margin: 18px 0 0;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 800;
  color: #303948;
}

body.intensives-page .intensive-hero-media,
body.intensives-page .intensive-feature-image {
  position: relative;
  overflow: hidden;
  margin: 0;
  border-radius: 8px;
  min-height: 360px;
  box-shadow: 0 28px 70px rgba(23, 26, 34, .18);
  background: #10131a;
}

body.intensives-page .intensive-hero-media img,
body.intensives-page .intensive-feature-image img,
body.intensives-page .intensive-photo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.intensives-page .intensive-hero-media::after,
body.intensives-page .intensive-feature-image::after,
body.intensives-page .intensive-photo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 8, 12, .06), rgba(7, 8, 12, .2));
  pointer-events: none;
}

body.intensives-page .intensive-section {
  padding: clamp(72px, 9vw, 122px) 0;
}

body.intensives-page .intensive-section + .intensive-section {
  border-top: 1px solid rgba(23, 26, 34, .07);
}

body.intensives-page .intensive-split,
body.intensives-page .intensive-image-copy {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  gap: clamp(34px, 6vw, 90px);
  align-items: center;
}

body.intensives-page .intensive-image-copy.reverse {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr);
}

body.intensives-page .intensive-coach-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr);
  gap: clamp(34px, 6vw, 90px);
  align-items: center;
}

body.intensives-page .intensive-coach-copy h2 {
  margin-top: 28px;
}

body.intensives-page .intensive-quick-facts {
  margin: 22px 0 0;
}

body.intensives-page .intensive-quick-facts h3 {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--intensive-purple);
}

body.intensives-page .intensive-quick-fact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.intensives-page .intensive-quick-fact-grid span,
body.intensives-page .intensive-coach-stat-grid article {
  display: flex;
  align-items: center;
  min-height: 58px;
  border: 1px solid rgba(168, 76, 255, .18);
  border-left: 4px solid var(--intensive-purple);
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, rgba(168, 76, 255, .07) 100%);
  box-shadow: 0 18px 44px rgba(23, 26, 34, .07);
  color: var(--intensive-ink);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 900;
}

body.intensives-page .intensive-quick-fact-grid span {
  padding: 14px 16px;
}

body.intensives-page .intensive-quick-fact-grid span:last-child {
  grid-column: 1 / -1;
}

body.intensives-page .intensive-coach-media {
  display: grid;
  gap: 14px;
}

body.intensives-page .intensive-coach-section .intensive-feature-image {
  min-height: 0;
  aspect-ratio: 4 / 5;
}

body.intensives-page .intensive-coach-section .intensive-feature-image img {
  object-position: center top;
}

body.intensives-page .intensive-coach-stat-grid {
  display: grid;
  gap: 12px;
}

body.intensives-page .intensive-coach-stat-grid article {
  padding: 16px 18px;
}

body.intensives-page .intensive-copy-card,
body.intensives-page .intensive-final-card {
  border: 1px solid var(--intensive-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, .88);
  padding: clamp(28px, 4vw, 48px);
  box-shadow: 0 28px 70px rgba(23, 26, 34, .08);
}

body.intensives-page .intensive-stat-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin-top: 42px;
}

body.intensives-page .intensive-stat-grid article,
body.intensives-page .intensive-location-grid a,
body.intensives-page .intensive-training-card,
body.intensives-page .intensive-faq-list details,
body.intensives-page .intensive-accordion-grid details {
  border: 1px solid var(--intensive-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 22px 54px rgba(23, 26, 34, .06);
}

body.intensives-page .intensive-stat-grid article {
  min-height: 132px;
  padding: 22px;
  border-bottom: 4px solid var(--intensive-purple);
}

body.intensives-page .intensive-stat-grid strong {
  display: block;
  font-size: clamp(28px, 2.4vw, 42px);
  line-height: 1;
  color: var(--intensive-purple);
}

body.intensives-page .intensive-stat-grid span {
  display: block;
  margin-top: 9px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #303948;
}

body.intensives-page .intensive-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 48px;
  align-items: end;
  margin-bottom: 36px;
}

body.intensives-page .intensive-section-heading p:not(.section-kicker) {
  max-width: 520px;
  margin: 0;
}

body.intensives-page .intensive-section-heading.compact {
  display: block;
  max-width: 850px;
}

body.intensives-page .intensive-training-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

body.intensives-page .intensive-training-card {
  min-height: 250px;
  padding: 30px;
  border-bottom: 4px solid var(--intensive-purple);
}

body.intensives-page .intensive-training-card p {
  margin: 0;
  font-size: 16px;
}

body.intensives-page .intensive-combined-outcome-section {
  padding: clamp(62px, 7vw, 104px) 0;
  background:
    radial-gradient(circle at 8% 22%, rgba(143, 53, 255, .08), transparent 26%),
    linear-gradient(180deg, #fff 0%, #fbf8ff 100%);
}

body.intensives-page .intensive-combined-outcome-layout {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(0, 1.04fr);
  gap: clamp(30px, 4.4vw, 58px);
  align-items: center;
}

body.intensives-page .intensive-outcome-image-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  overflow: hidden;
  border-radius: 8px;
  background: #15101f;
  box-shadow: 0 30px 76px rgba(35, 20, 62, .2);
}

body.intensives-page .intensive-outcome-image-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  height: auto;
  object-fit: cover;
  object-position: center;
}

body.intensives-page .intensive-outcome-image-grid.intensive-outcome-portrait {
  display: block;
  background: #f2f1ee;
}

body.intensives-page .intensive-outcome-image-grid.intensive-outcome-portrait img {
  width: 100%;
  aspect-ratio: 469 / 501;
  object-fit: cover;
  object-position: center top;
}

body.intensives-page .intensive-combined-outcome-copy {
  max-width: 650px;
}

body.intensives-page .intensive-combined-outcome-copy .section-kicker {
  margin-bottom: 16px;
  color: var(--intensive-purple);
  font-family: var(--font-body);
  font-weight: 900;
}

body.intensives-page .intensive-combined-outcome-copy h2 {
  max-width: 650px;
  margin-bottom: 18px;
  font-family: var(--font-body);
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 900;
  line-height: 1.07;
  color: var(--intensive-ink);
}

body.intensives-page .intensive-combined-outcome-copy p {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.62;
  color: var(--intensive-muted);
}

body.intensives-page .intensive-combined-outcome-copy .intensive-outcome-intro {
  margin-top: 20px;
  color: var(--intensive-ink);
  font-weight: 700;
}

body.intensives-page .intensive-outcome-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

body.intensives-page .intensive-outcome-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  min-height: 112px;
  padding: 16px;
  border: 1px solid rgba(143, 53, 255, .18);
  border-radius: 8px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 46px rgba(23, 26, 34, .06);
}

body.intensives-page .intensive-outcome-list li > span {
  color: var(--intensive-purple);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .14em;
}

body.intensives-page .intensive-outcome-list h3 {
  margin: 0 0 6px;
  font-family: var(--font-body);
  font-size: 19px;
  font-weight: 900;
  line-height: 1.12;
  color: var(--intensive-ink);
}

body.intensives-page .intensive-outcome-list p {
  font-size: 13.5px;
  line-height: 1.45;
}

body.intensives-page .intensive-outcome-closing {
  margin-top: 18px;
  padding: 14px 16px;
  border-left: 4px solid var(--intensive-purple);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(143, 53, 255, .09), rgba(143, 53, 255, .025));
  color: var(--intensive-ink) !important;
  font-weight: 900 !important;
}

body.intensives-page .intensive-training-gallery-section{
  background:linear-gradient(180deg,#fff 0%,#faf7ff 100%);
}
body.intensives-page .intensive-training-stage-grid{
  list-style:none;
  margin:32px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
body.intensives-page .intensive-training-stage-card{
  position:relative;
  display:grid;
  grid-template-rows:auto auto auto 1fr;
  align-content:start;
  min-height:238px;
  padding:24px;
  overflow:hidden;
  border:1px solid rgba(143,53,255,.22);
  border-radius:18px;
  background:
    radial-gradient(circle at 112% 112%,rgba(255,0,200,.12),rgba(143,53,255,.055) 30%,transparent 50%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(250,247,255,.92));
  box-shadow:0 18px 42px rgba(39,21,64,.11);
}
body.intensives-page .intensive-training-stage-number{
  position:relative;
  z-index:1;
  display:block;
  margin:0 0 10px;
  color:var(--intensive-purple);
  font-family:var(--font-body);
  font-size:1rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.08em;
}
body.intensives-page .intensive-training-stage-rule{
  position:relative;
  z-index:1;
  display:block;
  width:42px;
  height:2px;
  margin:0 0 24px;
  border-radius:999px;
  background:linear-gradient(90deg,#ff00c8,#8f35ff);
}
body.intensives-page .intensive-training-stage-card h3{
  position:relative;
  z-index:1;
  margin:0 0 12px;
  color:var(--intensive-ink) !important;
  font-family:var(--font-body);
  font-size:clamp(1.24rem,1.35vw,1.48rem);
  font-weight:700;
  line-height:1.12;
  letter-spacing:0;
}
body.intensives-page .intensive-training-stage-card p{
  position:relative;
  z-index:1;
  margin:0;
  color:var(--intensive-muted);
  font-family:var(--font-body);
  font-size:.98rem;
  font-weight:400;
  line-height:1.55;
}
body.intensives-page .intensive-training-closing{
  max-width:980px;
  margin:20px auto 0;
  padding:18px 22px;
  border:1px solid rgba(143,53,255,.22);
  border-left:4px solid var(--intensive-purple);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(143,53,255,.1),rgba(255,0,200,.035));
  color:var(--intensive-ink) !important;
  font-family:var(--font-body);
  font-size:1.02rem;
  font-weight:700;
  line-height:1.55;
  text-align:center;
}
@media(max-width:1100px){
  body.intensives-page .intensive-training-stage-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  body.intensives-page .intensive-training-stage-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  body.intensives-page .intensive-training-stage-card{
    min-height:0;
    padding:22px;
  }
  body.intensives-page .intensive-training-closing{
    text-align:left;
  }
}

body.intensives-page .intensive-difference-section,
body.intensives-page .intensive-upcoming-section {
  background: linear-gradient(135deg, #fff 0%, #f8f9fc 100%);
}

body.intensives-page .intensive-feature-image {
  min-height: 520px;
}

body.intensives-page .intensive-feature-image.portrait {
  min-height: 520px;
}

body.intensives-page .intensive-accordion-grid,
body.intensives-page .intensive-faq-list {
  display: grid;
  gap: 12px;
}

body.intensives-page .intensive-accordion-grid {
  grid-template-columns: repeat(2, 1fr);
}

body.intensives-page .intensive-accordion-grid details,
body.intensives-page .intensive-faq-list details {
  padding: 22px 24px;
}

body.intensives-page .intensive-accordion-grid summary,
body.intensives-page .intensive-faq-list summary {
  cursor: pointer;
  font-weight: 900;
  font-size: 20px;
  color: var(--intensive-ink);
}

body.intensives-page .intensive-accordion-grid p,
body.intensives-page .intensive-faq-list p {
  margin: 12px 0 0;
  font-size: 16px;
}

body.intensives-page .intensive-gain-section{
  padding-block:clamp(58px,6.5vw,92px);
}
body.intensives-page .intensive-gain-section .intensive-section-heading{
  display:block;
  max-width:940px;
  margin:0 auto 34px;
  text-align:center;
}
body.intensives-page .intensive-gain-section .section-kicker{
  justify-content:center;
}
body.intensives-page .intensive-gain-section h2{
  max-width:none;
  margin:0;
  font-size:clamp(3rem,4.8vw,5.2rem);
  line-height:1;
}
body.intensives-page .intensive-gain-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
body.intensives-page .intensive-gain-grid article{
  position:relative;
  min-height:190px;
  padding:24px 26px 26px;
  border:1px solid rgba(143,53,255,.16);
  border-radius:10px;
  background:linear-gradient(180deg,#fff 0%,#fbf8ff 100%);
  box-shadow:0 18px 42px rgba(23,26,34,.055);
}
body.intensives-page .intensive-gain-grid article:after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:3px;
  background:linear-gradient(90deg,var(--intensive-purple),rgba(143,53,255,.22));
}
body.intensives-page .intensive-gain-grid span{
  display:inline-flex;
  margin-bottom:18px;
  color:var(--intensive-purple);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
}
body.intensives-page .intensive-gain-grid h3{
  margin:0 0 12px;
  font-size:clamp(1.28rem,1.55vw,1.62rem);
  line-height:1.05;
}
body.intensives-page .intensive-gain-grid p{
  margin:0;
  font-size:.98rem;
  line-height:1.58;
}

/* Intensives: compact room photography section */
body.intensives-page .intensive-room-section{
  padding-block:clamp(34px,4vw,58px);
}
body.intensives-page .intensive-room-section .intensive-section-heading{
  display:block;
  margin-bottom:18px;
}
body.intensives-page .intensive-room-section .section-kicker{
  margin-bottom:14px;
}
body.intensives-page .intensive-room-section h2{
  max-width:none;
  margin:0 0 10px;
  font-size:clamp(2.35rem,3vw,3.35rem);
  line-height:1;
  white-space:nowrap;
}
body.intensives-page .intensive-room-section .intensive-section-heading p:not(.section-kicker){
  max-width:720px;
  margin:0;
  font-size:.98rem;
  line-height:1.5;
}
body.intensives-page .intensive-room-section .intensives-six-photo-grid{
  gap:10px;
}
body.intensives-page .intensive-room-section .intensive-photo-card{
  min-height:0;
  aspect-ratio:16 / 5.15;
  border-radius:8px;
  box-shadow:0 14px 34px rgba(23,26,34,.11);
}
body.intensives-page .intensive-room-section .intensive-photo-card figcaption{
  left:14px;
  right:14px;
  bottom:12px;
  font-size:clamp(.92rem,1.12vw,1.2rem);
}

body.intensives-page .intensive-for-compact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(340px, .98fr);
  gap: clamp(22px, 3.2vw, 46px);
  align-items: start;
}

body.intensives-page .intensive-for-section {
  padding-block: clamp(50px, 6vw, 82px);
}

body.intensives-page .intensive-for-copy {
  grid-column: 1;
}

body.intensives-page .intensive-for-panel {
  grid-column: 2;
  grid-row: 1 / span 2;
  border: 1px solid var(--intensive-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, .92);
  padding: clamp(22px, 2.8vw, 34px);
  box-shadow: 0 28px 70px rgba(23, 26, 34, .08);
}

body.intensives-page .intensive-for-panel h3 {
  margin: 0 0 14px;
  max-width: 420px;
  color: var(--intensive-ink);
  font-family: var(--font-body);
  font-size: clamp(22px, 1.8vw, 30px);
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: 0;
}

body.intensives-page .intensive-for-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.intensives-page .intensive-for-list li {
  position: relative;
  border-bottom: 1px solid var(--intensive-line);
  padding: 10px 0 10px 28px;
  color: var(--intensive-ink);
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 900;
}

body.intensives-page .intensive-for-list li:first-child {
  border-top: 1px solid var(--intensive-line);
}

body.intensives-page .intensive-for-list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 1.15em;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--intensive-purple);
  box-shadow: 0 0 0 5px rgba(143, 53, 255, .12);
}

body.intensives-page .intensive-for-intro,
body.intensives-page .intensive-for-studio-note {
  max-width: 640px;
}

body.intensives-page .intensive-for-notes {
  grid-column: 1;
  display: grid;
  gap: 10px;
  margin-top: 4px;
}

body.intensives-page .intensive-for-studio-note,
body.intensives-page .intensive-for-emphasis {
  margin: 0;
  border: 1px solid var(--intensive-line);
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, rgba(168, 76, 255, .06) 100%);
  padding: 15px 18px;
  color: #303948;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.5;
  font-weight: 800;
}

body.intensives-page .intensive-for-emphasis {
  border-left: 4px solid var(--intensive-purple);
  color: var(--intensive-ink);
  font-weight: 900;
}

body.intensives-page .intensive-check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.intensives-page .intensive-check-list article ul {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

body.intensives-page .intensive-check-list li {
  border: 1px solid var(--intensive-line);
  border-radius: 8px;
  padding: 16px 18px;
  background: #fff;
  font-weight: 800;
  color: #303948;
}

body.intensives-page .intensive-pdf-page .intensives-six-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

body.intensives-page .intensive-photo-card {
  position: relative;
  overflow: hidden;
  margin: 0;
  min-height: 260px;
  border-radius: 8px;
  background: #12131a;
  box-shadow: 0 24px 60px rgba(23, 26, 34, .14);
}

body.intensives-page .intensive-photo-card figcaption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  color: #fff;
  font-size: clamp(22px, 2vw, 32px);
  line-height: 1;
  font-weight: 900;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .55);
}

body.intensives-page .intensive-location-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

body.intensives-page .intensive-location-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 26px;
  border: 1px solid var(--intensive-line);
  border-radius: 8px;
  border-bottom: 4px solid var(--intensive-purple);
  background: #fff;
  box-shadow: 0 22px 54px rgba(23, 26, 34, .06);
}

body.intensives-page .intensive-location-card > .intensive-btn {
  align-self: flex-start;
  margin-top: auto;
}

body.intensives-page .intensive-location-card strong {
  display: block;
  font-size: 28px;
  line-height: 1;
  margin-bottom: 0;
}

body.intensives-page .intensive-location-grid a {
  min-height: 180px;
  padding: 26px;
  text-decoration: none;
  color: var(--intensive-ink);
  border-bottom: 4px solid var(--intensive-purple);
}

body.intensives-page .intensive-location-grid strong {
  display: block;
  font-size: 28px;
  line-height: 1;
  margin-bottom: 18px;
}

body.intensives-page .intensive-location-grid span {
  color: var(--intensive-muted);
  font-weight: 800;
}

body.intensives-page .intensive-more-cities-image {
  min-height: 0;
  border: 1px solid rgba(143, 53, 255, .18);
  background: linear-gradient(180deg, #161125 0%, #0f1017 100%);
}

body.intensives-page .intensive-more-cities-image::after {
  background: linear-gradient(180deg, rgba(9, 10, 17, .08), rgba(9, 10, 17, .18));
}

body.intensives-page .intensive-more-cities-section {
  padding-block: clamp(56px, 7vw, 92px);
}

body.intensives-page .intensive-more-cities-layout {
  display: grid;
  grid-template-columns: minmax(260px, .43fr) minmax(0, .57fr);
  grid-template-areas:
    "map copy"
    "map action";
  gap: clamp(24px, 4.5vw, 64px);
  align-items: center;
}

body.intensives-page .intensive-more-cities-copy {
  grid-area: copy;
  max-width: 560px;
}

body.intensives-page .intensive-more-cities-copy p:not(.section-kicker) {
  max-width: 540px;
}

body.intensives-page .intensive-more-cities-image {
  grid-area: map;
  width: 100%;
  max-width: none;
  min-height: 100%;
  align-self: stretch;
  justify-self: stretch;
  aspect-ratio: auto;
}

body.intensives-page .intensive-more-cities-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.intensives-page .intensive-more-cities-action-block {
  grid-area: action;
  align-self: start;
  max-width: 560px;
}

body.intensives-page .intensive-faq-list {
  grid-template-columns: repeat(2, 1fr);
}

body.intensives-page .intensive-final-cta {
  background: radial-gradient(circle at 80% 12%, rgba(143, 53, 255, .12), transparent 34%), #f8f9fc;
}

body.intensives-page .intensive-final-card {
  text-align: left;
  max-width: 920px;
}

body.intensives-page .intensive-final-card h2 {
  max-width: 760px;
}

body.intensives-page .intensive-hero-media {
  position: relative;
  aspect-ratio: 5 / 4;
  min-height: 0;
}

body.intensives-page .intensive-hero-media figcaption {
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 2;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: var(--intensive-purple-dark);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .11em;
  padding: 11px 15px;
  text-transform: uppercase;
}

body.intensives-page .intensive-credibility-badges {
  margin-top: 28px;
}

body.intensives-page .intensive-feature-list {
  display: grid;
  gap: 13px;
}

body.intensives-page .intensive-feature-list article,
body.intensives-page .intensive-testimonial-grid article {
  border: 1px solid rgba(143, 53, 255, .22);
  border-radius: 16px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 18px 45px rgba(31, 35, 48, .06);
  padding: 20px;
}

body.intensives-page .intensive-feature-list h3,
body.intensives-page .intensive-testimonial-grid strong {
  color: var(--intensive-ink);
}

body.intensives-page .intensive-feature-list p {
  margin-bottom: 0;
}

body.intensives-page .intensive-quote-card {
  margin-top: 24px;
}

body.intensives-page .intensive-check-card ul {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

body.intensives-page .intensive-check-card li {
  border-bottom: 1px solid var(--intensive-line);
  color: var(--intensive-ink);
  font-weight: 800;
  padding: 0 0 10px 28px;
  position: relative;
}

body.intensives-page .intensive-check-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--intensive-purple);
  box-shadow: 0 0 0 5px rgba(143, 53, 255, .12);
}

body.intensives-page .intensive-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(24px, 3vw, 34px);
}

body.intensives-page .intensive-testimonial-grid article {
  display: flex;
  flex-direction: column;
  min-height: 318px;
}

body.intensives-page .intensive-testimonial-grid blockquote {
  color: var(--intensive-ink);
  flex: 1;
  font-family: var(--font-body);
  font-size: clamp(.88rem, .82vw, .96rem);
  font-weight: 400;
  line-height: 1.62;
  margin: 0;
}

body.intensives-page .intensive-testimonial-grid footer {
  color: var(--intensive-ink);
  font-family: var(--font-body);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.2;
  margin-top: 22px;
  text-transform: uppercase;
}

body.intensives-page .intensive-trust-cta {
  align-items: center;
  border: 1px solid var(--intensive-line);
  border-radius: 16px;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-top: 22px;
  padding: 20px;
}

body.intensives-page .intensive-trust-cta strong {
  color: var(--intensive-ink);
  font-size: 1.15rem;
}

body.intensives-page .intensive-trust-cta .intensive-actions {
  margin-top: 0;
}

body.intensives-page .intensive-location-card p {
  margin: 12px 0;
}

body.intensives-page .intensive-location-card small {
  color: var(--intensive-purple-dark);
  display: block;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .11em;
  margin: 0 0 12px;
  text-transform: uppercase;
}

body.intensives-page .intensive-card-actions {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  margin-top: 0;
}

body.intensives-page .intensive-card-actions > a:not(.intensive-btn) {
  color: var(--intensive-purple-dark);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.intensives-page .intensive-location-card .intensive-card-actions a {
  min-height: 44px;
}

body.intensives-page .intensive-location-card .intensive-card-actions .intensive-btn {
  flex: 1 1 0;
  min-width: 0;
  padding: 13px 14px;
  text-align: center;
}

body.intensives-page #choose-your-location,
body.intensives-page .intensive-location-card {
  scroll-margin-top: 120px;
}

body.intensives-page .intensive-location-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

body.intensives-page .intensive-location-card {
  min-height: 0;
}

@media (max-width: 480px) {
  body.intensives-page .intensive-card-actions {
    align-items: stretch;
    flex-direction: column;
  }

  body.intensives-page .intensive-card-actions .intensive-btn {
    justify-content: center;
    width: 100%;
  }
}

body.intensives-page .intensive-feature-image {
  aspect-ratio: 5 / 4;
  min-height: 0;
}

body.intensives-page .intensive-feature-image.portrait {
  aspect-ratio: 4 / 5;
  min-height: 0;
}

body.intensives-page .intensive-more-cities-image {
  aspect-ratio: auto;
}

body.intensives-page .intensive-final-cta {
  background:
    radial-gradient(circle at 12% 12%, rgba(197, 87, 223, .1), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(167, 35, 196, .08), transparent 32%),
    linear-gradient(180deg, #fff 0%, #faf7fc 100%);
  padding-block: clamp(52px, 6.8vw, 86px);
}

body.intensives-page .intensive-final-card {
  display: grid;
  grid-template-columns: minmax(0, .56fr) minmax(300px, .44fr);
  grid-template-areas:
    "copy media"
    "actions media"
    "note media";
  gap: clamp(18px, 2.4vw, 28px) clamp(28px, 4.6vw, 58px);
  align-items: center;
  max-width: 1120px;
  border: 1px solid rgba(167, 35, 196, .18);
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 8%, rgba(197, 87, 223, .08), transparent 28%),
    #fff;
  box-shadow: 0 28px 68px rgba(59, 25, 75, .13);
  padding: clamp(28px, 4.2vw, 50px);
}

body.intensives-page .intensive-final-card .section-kicker {
  color: #A723C4;
}

body.intensives-page .intensive-final-cta .intensive-final-card h2 {
  color: #171a22 !important;
  max-width: 720px;
  font-size: clamp(38px, 4.35vw, 68px);
  line-height: .96;
  letter-spacing: -.045em;
}

body.intensives-page .intensive-final-card .section-kicker::before {
  opacity: .55;
}

body.intensives-page .intensive-final-copy {
  grid-area: copy;
}

body.intensives-page .intensive-final-copy p:not(.section-kicker) {
  max-width: 640px;
  margin: 18px 0 0;
  color: #3d4655;
  font-size: 16px;
  line-height: 1.66;
  font-weight: 400;
}

body.intensives-page .intensive-final-media {
  grid-area: media;
  align-self: stretch;
  margin: 0;
  min-height: 100%;
  border: 1px solid rgba(167, 35, 196, .2);
  border-radius: 16px;
  overflow: hidden;
  background: #f3edf6;
  box-shadow: 0 22px 46px rgba(96, 30, 116, .16);
}

body.intensives-page .intensive-final-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 310px;
  object-fit: cover;
  object-position: center;
}

body.intensives-page .intensive-final-actions {
  grid-area: actions;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  margin-top: 4px;
}

body.intensives-page .intensive-final-actions .intensive-btn {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding-inline: 16px;
  text-align: center;
}

body.intensives-page .intensive-final-note {
  grid-area: note;
  max-width: 650px;
  margin-top: 0;
  padding: 14px 16px;
  border-left: 4px solid #A723C4;
  border-radius: 8px;
  background: #f8f0fa;
  color: #303746;
  font-weight: 700;
}

body.intensives-page .intensive-final-card .intensive-btn-secondary {
  border-color: rgba(167, 35, 196, .2);
  background: #fff;
  color: #A723C4;
}

body.intensives-page .intensive-final-card .intensive-btn-secondary:hover,
body.intensives-page .intensive-final-card .intensive-btn-secondary:focus-visible {
  background: #f8f0fa;
}

@media (max-width: 980px) {
  body.intensives-page .intensive-final-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "media"
      "actions"
      "note";
  }

  body.intensives-page .intensive-final-media {
    min-height: 0;
  }

  body.intensives-page .intensive-final-media img {
    aspect-ratio: 16 / 10;
    height: auto;
  }
}

@media (max-width: 800px) {
  body.intensives-page .intensive-landing-hero .intensive-hero-grid {
    grid-template-columns: 1fr;
  }

  body.intensives-page .intensive-testimonial-grid {
    grid-template-columns: 1fr;
  }

  body.intensives-page .intensive-trust-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  body.intensives-page .intensive-credibility-badges {
    grid-template-columns: 1fr;
  }
}

/* Intensives: polish the why-choose proof section */
body.intensives-page .intensive-why-section{
  padding-block:clamp(56px,6vw,88px);
}
body.intensives-page .intensive-why-section .intensive-split{
  grid-template-columns:minmax(0,.94fr) minmax(360px,.78fr);
  gap:clamp(42px,6vw,86px);
  align-items:center;
}
body.intensives-page .intensive-why-section h2{
  max-width:720px;
  margin-bottom:20px;
  font-size:clamp(3rem,4.65vw,5rem);
  line-height:.98;
  letter-spacing:0;
}
body.intensives-page .intensive-why-section .intensive-split > div:first-child p:not(.section-kicker){
  max-width:610px;
  margin:0 0 16px;
  font-size:1.05rem;
  line-height:1.65;
}
body.intensives-page .intensive-why-section .intensive-copy-card{
  padding:clamp(30px,3.5vw,42px);
  border-radius:10px;
  box-shadow:0 22px 58px rgba(23,26,34,.075);
}
body.intensives-page .intensive-why-section .intensive-copy-card p{
  margin:0 0 18px;
  font-size:1.04rem;
  line-height:1.62;
}
body.intensives-page .intensive-why-section .intensive-copy-card p:last-child{
  margin-bottom:0;
  color:var(--intensive-ink);
}
body.intensives-page .intensive-why-section .intensive-stat-grid{
  gap:12px;
  margin-top:34px;
}
body.intensives-page .intensive-why-section .intensive-stat-grid article{
  min-height:116px;
  padding:20px 22px 18px;
  border-radius:10px;
  border-color:rgba(143,53,255,.18);
  border-bottom:3px solid var(--intensive-purple);
  background:linear-gradient(180deg,#fff 0%,#fbf8ff 100%);
  box-shadow:0 16px 38px rgba(23,26,34,.055);
}
body.intensives-page .intensive-why-section .intensive-stat-grid strong{
  font-size:clamp(1.85rem,2.05vw,2.45rem);
  letter-spacing:-.025em;
}
body.intensives-page .intensive-why-section .intensive-stat-grid span{
  max-width:16ch;
  margin-top:10px;
  font-size:.68rem;
  line-height:1.35;
  letter-spacing:.13em;
}
@media(max-width:980px){
  body.intensives-page .intensive-why-section .intensive-split{
    grid-template-columns:1fr;
  }
  body.intensives-page .intensive-room-section h2{
    white-space:normal;
  }
  body.intensives-page .intensive-why-section .intensive-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.intensives-page .intensive-why-section .intensive-stat-grid article:last-child{
    grid-column:1 / -1;
  }
}
@media(max-width:640px){
  body.intensives-page .intensive-why-section h2{
    font-size:clamp(2.45rem,12vw,3.45rem);
  }
  body.intensives-page .intensive-why-section .intensive-stat-grid{
    grid-template-columns:1fr;
  }
  body.intensives-page .intensive-room-section .intensive-photo-card{
    aspect-ratio:4 / 3;
  }
  body.intensives-page .intensive-why-section .intensive-stat-grid article:last-child{
    grid-column:auto;
  }
}

@media (max-width: 980px) {
  body.intensives-page .intensive-hero-grid,
  body.intensives-page .intensive-split,
  body.intensives-page .intensive-coach-layout,
  body.intensives-page .intensive-for-compact-layout,
  body.intensives-page .intensive-combined-outcome-layout,
  body.intensives-page .intensive-image-copy,
  body.intensives-page .intensive-image-copy.reverse {
    grid-template-columns: 1fr;
  }

  body.intensives-page .intensive-for-copy,
  body.intensives-page .intensive-for-panel,
  body.intensives-page .intensive-for-notes {
    grid-column: auto;
    grid-row: auto;
  }

  body.intensives-page .intensive-stat-grid,
  body.intensives-page .intensive-quick-fact-grid,
  body.intensives-page .intensive-training-grid,
  body.intensives-page .intensive-outcome-list,
  body.intensives-page .intensive-gain-grid,
  body.intensives-page .intensive-check-list,
  body.intensives-page .intensive-pdf-page .intensives-six-photo-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  body.intensives-page .intensive-location-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.intensives-page .intensive-location-selector {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  body.intensives-page .intensive-location-selector .intensive-btn {
    width: 100%;
  }

  body.intensives-page .intensive-section-heading {
    display: block;
  }

  body.intensives-page .intensive-info-pack-strip-inner {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body.intensives-page .intensive-more-cities-layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "map"
      "action";
    align-items: start;
  }

  body.intensives-page .intensive-more-cities-image {
    min-height: 0;
    align-self: auto;
    justify-self: stretch;
    aspect-ratio: 4 / 3;
  }

  body.intensives-page .intensive-hero-media,
  body.intensives-page .intensive-feature-image,
  body.intensives-page .intensive-feature-image.portrait {
    min-height: 0;
  }

  body.intensives-page .intensive-hero-media,
  body.intensives-page .intensive-feature-image {
    aspect-ratio: 4 / 3;
  }

  body.intensives-page .intensive-feature-image.portrait {
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 640px) {
  body.intensives-page .intensive-pdf-container {
    width: min(100% - 28px, 1180px);
  }

  body.intensives-page .intensive-pdf-hero {
    padding: 56px 0 46px;
  }

  body.intensives-page .intensive-pdf-page h1 {
    font-size: clamp(34px, 13vw, 56px);
    line-height: .94;
  }

  body.intensives-page .intensive-pdf-page h2 {
    font-size: clamp(34px, 13vw, 52px);
  }

  body.intensives-page .intensive-actions {
    flex-direction: column;
  }

  body.intensives-page .intensive-btn {
    width: 100%;
  }

  body.intensives-page .intensive-location-selector {
    margin-top: 20px;
    padding: 16px;
  }

  body.intensives-page .intensive-location-selector h2 {
    font-size: 26px;
  }

  body.intensives-page .intensive-hero-positioning {
    padding: 14px 16px;
    font-size: 14px;
  }

  body.intensives-page .intensive-stat-grid,
  body.intensives-page .intensive-quick-fact-grid,
  body.intensives-page .intensive-training-grid,
  body.intensives-page .intensive-outcome-list,
  body.intensives-page .intensive-gain-grid,
  body.intensives-page .intensive-check-list,
  body.intensives-page .intensive-pdf-page .intensives-six-photo-grid,
  body.intensives-page .intensive-accordion-grid,
  body.intensives-page .intensive-faq-list {
    grid-template-columns: 1fr;
  }

  body.intensives-page .intensive-location-grid {
    grid-template-columns: 1fr;
  }

  body.intensives-page .intensive-quick-fact-grid span:last-child {
    grid-column: auto;
  }

  body.intensives-page .intensive-combined-outcome-section {
    padding: 46px 0 58px;
  }

  body.intensives-page .intensive-outcome-image-grid {
    gap: 3px;
  }

  body.intensives-page .intensive-combined-outcome-copy h2 {
    font-size: clamp(34px, 10.8vw, 48px);
  }

  body.intensives-page .intensive-combined-outcome-copy p {
    font-size: 16px;
  }

  body.intensives-page .intensive-outcome-list li {
    min-height: 0;
  }

  body.intensives-page .intensive-photo-card {
    min-height: 230px;
  }

  body.intensives-page .intensive-training-card,
  body.intensives-page .intensive-for-panel {
    min-height: auto;
  }

  body.intensives-page .intensive-for-panel,
  body.intensives-page .intensive-for-studio-note,
  body.intensives-page .intensive-for-emphasis {
    padding: 20px;
  }

  body.intensives-page .intensive-hero-media,
  body.intensives-page .intensive-feature-image,
  body.intensives-page .intensive-more-cities-image {
    aspect-ratio: 4 / 3;
  }

  body.intensives-page .intensive-final-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "media"
      "actions"
      "note";
    padding: 28px 24px;
  }

  body.intensives-page .intensive-final-actions {
    grid-template-columns: 1fr;
  }

  body.intensives-page .intensive-final-cta .intensive-final-card h2 {
    font-size: clamp(34px, 10.8vw, 48px);
  }

  body.intensives-page .intensive-final-media img {
    min-height: 220px;
  }
}

body.intensives-page .photo-proof .home-section-heading.intensives-room-heading h2{
  font-size:clamp(1.9rem,2.2vw,2.55rem) !important;
  line-height:1.04 !important;
  max-width:100% !important;
}
body.intensives-page .photo-proof .home-section-heading.intensives-room-heading > p{
  color:#8e3dff !important;
}
@media(min-width:1180px){
  body.intensives-page .photo-proof .home-section-heading.intensives-room-heading{
    grid-template-columns:1fr;
    gap:16px;
  }
  body.intensives-page .photo-proof .home-section-heading.intensives-room-heading h2{
    white-space:nowrap !important;
  }
body.intensives-page .photo-proof .home-section-heading.intensives-room-heading > p{
    max-width:720px;
    justify-self:end;
  }
}

/* Homepage: consistent opportunity slides */
.home-opportunity-track > .home-opportunity-card{
  min-height:520px !important;
  width:100%;
  padding:0 !important;
  display:grid !important;
  grid-template-rows:minmax(315px,1fr) 160px;
  gap:0;
  border-radius:24px !important;
  overflow:hidden;
  color:inherit;
  text-decoration:none;
  transform:none !important;
}
.home-opportunity-track > .home-opportunity-card.is-active{
  transform:none !important;
}
.home-opportunity-copy{
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:28px;
}
.home-opportunity-card .home-opportunity-meta{
  min-height:34px;
  margin:0 0 24px !important;
  align-items:flex-start;
}
.home-opportunity-card .home-opportunity-meta span{
  max-width:48%;
}
.home-opportunity-card h3{
  min-height:84px;
  margin:0 0 16px;
  color:var(--home-ink) !important;
  font-size:clamp(1.85rem,2.05vw,2.18rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.home-opportunity-card .home-opportunity-copy > p:not(.home-opportunity-meta){
  min-height:116px;
  margin:0;
  color:var(--home-copy) !important;
  font-size:1rem;
  line-height:1.62;
}
.home-opportunity-link{
  margin-top:auto;
  color:var(--opportunity-accent,var(--home-red));
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.home-opportunity-image{
  position:relative;
  margin:0;
  min-height:160px;
  background:#eef1f4;
  border-top:1px solid rgba(31,39,50,.08);
  overflow:hidden;
}
.home-opportunity-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(10,13,20,.28),rgba(10,13,20,.04));
}
.home-opportunity-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-opportunity-card:hover .home-opportunity-image img,
.home-opportunity-card:focus-visible .home-opportunity-image img{
  transform:scale(1.035);
}
.home-opportunity-card .home-opportunity-image img{
  transition:transform .28s ease;
}
.home-opportunity-card.compete{--opportunity-accent:var(--home-red)}
.home-opportunity-card.train{--opportunity-accent:var(--home-orange)}
.home-opportunity-card.intensive{--opportunity-accent:var(--home-purple)}
.home-opportunity-card.perform{--opportunity-accent:var(--home-blue)}
.home-opportunity-card.train .home-opportunity-link{color:var(--home-orange)}
.home-opportunity-card.intensive .home-opportunity-link{color:var(--home-purple)}
.home-opportunity-card.perform .home-opportunity-link{color:var(--home-blue)}
@media(max-width:720px){
  .home-opportunity-track > .home-opportunity-card{
    min-height:500px !important;
    grid-template-rows:minmax(300px,1fr) 150px;
  }
  .home-opportunity-copy{
    padding:24px;
  }
  .home-opportunity-card h3{
    min-height:auto;
    font-size:clamp(1.75rem,8vw,2.1rem) !important;
  }
  .home-opportunity-card .home-opportunity-copy > p:not(.home-opportunity-meta){
    min-height:auto;
  }
}

/* Competition hero photo and live homepage opportunity summaries */
.competition-hub .competition-film-hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  padding:clamp(132px,15vh,190px) 0 clamp(118px,14vh,168px);
  background:#090a0e url("assets/media/adc-commercial-poster.jpg") center/cover no-repeat;
  color:#fff;
}
.competition-hub .competition-film-video{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  background:#090a0e;
  filter:saturate(1.06) contrast(1.04);
}
.competition-hub .competition-film-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(7,8,12,.91) 0%,rgba(7,8,12,.72) 43%,rgba(7,8,12,.24) 76%,rgba(7,8,12,.14) 100%),
    linear-gradient(180deg,rgba(5,6,9,.32),rgba(5,6,9,.08) 48%,rgba(5,6,9,.68));
}
.competition-hub .competition-film-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  z-index:-1;
  height:120px;
  background:linear-gradient(180deg,transparent,rgba(8,9,13,.62));
  pointer-events:none;
}
.competition-hub .competition-film-content{
  position:relative;
  z-index:1;
}
.competition-hub .competition-film-content .eyebrow{
  margin:0 0 24px;
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.5);
}
.competition-hub .competition-film-content .competition-hero-title{
  max-width:1120px;
  margin:0;
  color:#fff;
  font-size:clamp(4.25rem,9.5vw,9rem);
  line-height:.88;
  letter-spacing:-.065em;
  text-shadow:0 5px 36px rgba(0,0,0,.48);
}
.competition-hub .competition-film-content .competition-hero-title span{
  color:#e31937;
}
.competition-hub .competition-film-content .competition-hero-intro{
  max-width:760px;
  margin:30px 0 0;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.05rem,1.45vw,1.25rem);
  line-height:1.55;
  text-shadow:0 2px 18px rgba(0,0,0,.52);
}
.competition-hub .competition-hero-actions{
  margin-top:34px;
}
.competition-hub .competition-hero-actions .btn-primary{
  background:#e31937 !important;
  border-color:#e31937 !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(227,25,55,.34) !important;
}
.competition-hub .competition-hero-info-button{
  background:rgba(7,8,12,.34);
  border-color:rgba(255,255,255,.55);
  color:#fff;
  backdrop-filter:blur(10px);
}
.competition-hub .competition-hero-info-button:hover,
.competition-hub .competition-hero-info-button:focus-visible{
  background:rgba(255,255,255,.14);
  border-color:#fff;
}
.competition-hub .competition-film-control{
  position:absolute;
  left:max(24px,calc((100vw - 1240px)/2));
  bottom:24px;
  z-index:3;
  min-height:44px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(7,8,12,.44);
  color:#fff;
  font:900 .7rem/1 var(--font-body);
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  backdrop-filter:blur(10px);
}
.competition-hub .competition-scroll-cue{
  position:absolute;
  left:50%;
  bottom:22px;
  z-index:3;
  display:grid;
  justify-items:center;
  gap:8px;
  transform:translateX(-50%);
  color:#fff;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.competition-hub .competition-scroll-cue i{
  width:1px;
  height:28px;
  background:rgba(255,255,255,.68);
}
@media(max-width:760px){
  .competition-hub .competition-film-hero{
    min-height:100svh;
    align-items:end;
    padding:120px 0 132px;
  }
  .competition-hub .competition-film-video{
    object-position:58% center;
  }
  .competition-hub .competition-film-overlay{
    background:
      linear-gradient(180deg,rgba(7,8,12,.42),rgba(7,8,12,.18) 28%,rgba(7,8,12,.88) 82%),
      linear-gradient(90deg,rgba(7,8,12,.5),rgba(7,8,12,.12));
  }
  .competition-hub .competition-film-content .competition-hero-title{
    font-size:clamp(3.5rem,17vw,5.4rem);
    line-height:.9;
  }
  .competition-hub .competition-film-content .competition-hero-title span{
    display:block;
  }
  .competition-hub .competition-film-content .competition-hero-intro{
    margin-top:22px;
    font-size:1rem;
  }
  .competition-hub .competition-hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:25px;
  }
  .competition-hub .competition-hero-actions .btn{
    width:100%;
  }
  .competition-hub .competition-film-control{
    left:16px;
    bottom:20px;
  }
  .competition-hub .competition-scroll-cue{
    right:16px;
    left:auto;
    bottom:18px;
    transform:none;
  }
}
.competition-hub .main-page-hero.competition-hero-photo{
  position:relative;
  display:flex;
  align-items:center;
  min-height:0;
  padding:clamp(72px,6.5vw,96px) 0 clamp(56px,5vw,76px) !important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 34%,rgba(255,255,255,.58) 56%,rgba(255,255,255,.22) 78%,rgba(255,255,255,.08) 100%),
    radial-gradient(circle at 18% 50%,rgba(255,255,255,.54),transparent 36%),
    url("assets/images/competitions/competitions-hero-background.jpeg") right center / cover no-repeat !important;
}
.competition-hub .main-page-hero.competition-hero-photo:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 20%,rgba(227,25,55,.20),transparent 31%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.34));
  pointer-events:none;
}
.competition-hub .main-page-hero.competition-hero-photo > .container{
  position:relative;
  z-index:1;
}
.competition-hub .competition-hero-photo .competition-hero-title{
  max-width:none !important;
  margin:0 !important;
  font-size:clamp(4rem,9.5vw,8.5rem) !important;
  line-height:.88 !important;
  letter-spacing:-.065em !important;
  text-wrap:balance;
}
.competition-hub .competition-hero-photo .competition-hero-intro{
  max-width:760px !important;
  margin:clamp(20px,2vw,28px) 0 0 !important;
  font-size:clamp(1.05rem,1.45vw,1.25rem) !important;
  line-height:1.55 !important;
}
.home-gateway .editable-opportunity-card{
  min-height:500px;
  padding:26px !important;
  display:flex !important;
  flex-direction:column;
}
.home-gateway .editable-opportunity-card.compete{--opportunity-accent:var(--home-red)}
.home-gateway .editable-opportunity-card.train{--opportunity-accent:var(--home-orange)}
.home-gateway .editable-opportunity-card.intensive{--opportunity-accent:var(--home-purple)}
.home-gateway .editable-opportunity-card.perform{--opportunity-accent:var(--home-blue)}
.home-gateway .editable-opportunity-card h3{
  font-size:clamp(1.65rem,1.75vw,1.95rem) !important;
  line-height:1.04 !important;
  margin:8px 0 12px !important;
  overflow-wrap:normal !important;
  text-wrap:balance;
}
.home-gateway .editable-opportunity-card .event-meta{
  display:flex;
  justify-content:space-between;
  gap:14px;
  min-height:28px;
  margin:0 0 12px !important;
  color:#667085 !important;
  font-size:.78rem;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.home-gateway .editable-opportunity-card .editable-opportunity-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0 0 10px;
  color:#4b5563;
  font-size:.86rem;
  font-weight:900;
  line-height:1.35;
}
.home-gateway .editable-opportunity-card .opportunity-date-summary{
  display:grid;
  gap:7px;
  margin:0 0 12px;
  padding:12px 14px;
  border:1px solid color-mix(in srgb,var(--opportunity-accent,var(--home-red)) 24%,rgba(31,39,50,.1));
  border-radius:12px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--opportunity-accent,var(--home-red)) 5%,#fff),#fff 74%);
  color:#4b5563;
  font-size:.79rem;
  line-height:1.36;
}
.home-gateway .editable-opportunity-card .opportunity-date-summary > div{
  display:grid;
  grid-template-columns:minmax(78px,.44fr) minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.home-gateway .editable-opportunity-card .opportunity-date-summary strong{
  display:block;
  color:var(--opportunity-accent,var(--home-red));
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.home-gateway .editable-opportunity-card .opportunity-date-summary span{
  display:block;
}
.home-gateway .editable-opportunity-card.has-date-summary .editable-opportunity-details{
  display:none;
}
.home-gateway .editable-opportunity-card > p{
  margin:0 0 16px;
  color:#4b5563 !important;
  font-size:.92rem;
  line-height:1.5;
}
.home-gateway .editable-opportunity-card .actions{
  margin-top:auto;
  display:grid;
  gap:10px;
}
@media(max-width:760px){
  .competition-hub .main-page-hero.competition-hero-photo{
    min-height:auto;
    padding:clamp(58px,9vw,72px) 0 clamp(48px,8vw,62px) !important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 58%,rgba(255,255,255,.76) 100%),
      url("assets/images/competitions/competitions-hero-background.jpeg") 72% center / cover no-repeat !important;
  }
  .competition-hub .competition-hero-photo .competition-hero-title{
    font-size:clamp(3.25rem,9.5vw,4.5rem) !important;
    line-height:.92 !important;
    letter-spacing:-.05em !important;
  }
  .competition-hub .competition-hero-photo .competition-hero-intro{
    max-width:38rem !important;
    margin-top:20px !important;
  }
  .home-gateway .editable-opportunity-card{
    min-height:auto;
  }
}
@media(max-width:420px){
  .competition-hub .competition-hero-photo .competition-hero-title{
    font-size:clamp(2.9rem,12.5vw,3.25rem) !important;
  }
  .competition-hub .competition-hero-photo .competition-hero-intro{
    font-size:1rem !important;
    line-height:1.5 !important;
  }
}

/* Shared route colour map: footer columns and mixed route cards should not inherit the current page colour */
.footer .footer-grid > div:nth-child(2) h4{
  color:#e31937 !important;
}
.footer .footer-grid > div:nth-child(3) h4{
  color:#f07a1a !important;
}
.footer .footer-grid > div:nth-child(4) h4{
  color:#8e3dff !important;
}
.footer .footer-grid > div:nth-child(5) h4{
  color:#007fc8 !important;
}
.footer .footer-grid > div:nth-child(6) h4,
.footer .footer-grid > div:nth-child(7) h4{
  color:#f5d77a !important;
}
.footer .footer-grid > div:nth-child(2) h4:before,
.footer .footer-grid > div:nth-child(3) h4:before,
.footer .footer-grid > div:nth-child(4) h4:before,
.footer .footer-grid > div:nth-child(5) h4:before,
.footer .footer-grid > div:nth-child(6) h4:before,
.footer .footer-grid > div:nth-child(7) h4:before{
  content:"";
}

.event-category-card.compete,
body.events-page .event-category-card.compete{
  --pack-accent:#e31937 !important;
}
.event-category-card.train,
body.events-page .event-category-card.train{
  --pack-accent:#f07a1a !important;
}
.event-category-card.intensive,
body.events-page .event-category-card.intensive{
  --pack-accent:#8e3dff !important;
}
.event-category-card.perform,
body.events-page .event-category-card.perform{
  --pack-accent:#007fc8 !important;
}
.event-category-card.tickets,
body.events-page .event-category-card.tickets{
  --pack-accent:#e31937 !important;
}
body.events-page .event-category-card .btn-primary{
  background:linear-gradient(135deg,color-mix(in srgb,var(--pack-accent) 78%,#fff),var(--pack-accent),color-mix(in srgb,var(--pack-accent) 72%,#000)) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--pack-accent) 24%,transparent) !important;
}
body.events-page .event-category-card .btn-outline{
  border-color:color-mix(in srgb,var(--pack-accent) 28%,rgba(31,39,50,.16)) !important;
}
body.events-page .event-category-card .btn-outline:hover,
body.events-page .event-category-card .btn-outline:focus-visible,
body.events-page .event-category-card .eyebrow,
body.events-page .event-category-card a{
  color:var(--pack-accent) !important;
}
body.events-page .event-category-card:before{
  background:var(--pack-accent) !important;
}

/* Events secondary action pair: compact bridge into live updates */
body.events-page .events-secondary-actions{
  padding:clamp(42px,5vw,68px) 0 !important;
  background:
    radial-gradient(circle at 78% 0%,rgba(227,25,55,.055),transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
}
body.events-page .events-secondary-actions .cards-2{
  max-width:1120px;
  margin:0 auto;
  gap:18px;
  align-items:stretch;
}
body.events-page .events-secondary-actions .card{
  min-height:215px !important;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px 30px !important;
  border-radius:18px !important;
  background:#fff !important;
  border-color:rgba(31,39,50,.1) !important;
  box-shadow:0 20px 48px rgba(15,23,42,.075) !important;
}
body.events-page .events-secondary-actions .card.tickets{
  --accent:#e31937;
}
body.events-page .events-secondary-actions .card .eyebrow{
  margin:0 0 14px !important;
  color:var(--accent,#007fc8) !important;
  font-size:.66rem !important;
  letter-spacing:.22em !important;
}
body.events-page .events-secondary-actions .card .eyebrow:before{
  background:linear-gradient(90deg,var(--accent,#007fc8),transparent) !important;
}
body.events-page .events-secondary-actions .card h3{
  max-width:none;
  color:#111827;
  font-size:clamp(1.65rem,2.2vw,2.2rem);
  line-height:1.02;
  letter-spacing:-.045em;
  white-space:nowrap;
}
body.events-page .events-secondary-actions .card p:not(.eyebrow){
  max-width:620px;
  margin:14px 0 22px;
  color:#344054 !important;
  font-size:.96rem;
  line-height:1.55;
}
body.events-page .events-secondary-actions .actions.compact{
  width:100%;
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  align-items:center;
  margin-top:auto;
}
body.events-page .events-secondary-actions .btn{
  width:auto !important;
  min-height:40px !important;
  padding:0 16px !important;
  font-size:.62rem !important;
  letter-spacing:.12em !important;
  white-space:nowrap;
}
body.events-page .events-secondary-actions .btn-primary{
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#007fc8) 78%,#fff),var(--accent,#007fc8),color-mix(in srgb,var(--accent,#007fc8) 72%,#000)) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 14px 28px color-mix(in srgb,var(--accent,#007fc8) 20%,transparent) !important;
}
body.events-page .events-secondary-actions .btn-outline{
  border-color:color-mix(in srgb,var(--accent,#007fc8) 28%,rgba(31,39,50,.16)) !important;
  color:var(--accent,#007fc8) !important;
  background:#fff !important;
}
body.events-page .events-secondary-actions + .section{
  padding-top:clamp(48px,5vw,72px) !important;
}

@media(max-width:760px){
  body.events-page .events-secondary-actions .cards-2{
    grid-template-columns:1fr;
  }
  body.events-page .events-secondary-actions .card h3{
    white-space:normal;
  }
  body.events-page .events-secondary-actions .actions.compact{
    flex-wrap:wrap;
  }
}

/* Events action cards: inline premium carousel polish */
body.events-page .events-action-section{
  overflow:hidden;
}
body.events-page .event-scroll-controls{
  display:none !important;
}
body.events-page .event-category-grid{
  gap:18px !important;
  padding:4px 0 12px !important;
  scroll-padding-inline:0 !important;
}
body.events-page .event-category-grid::-webkit-scrollbar{
  height:8px !important;
}
body.events-page .event-category-card{
  flex:0 0 clamp(500px,33vw,540px) !important;
  min-height:340px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  padding:26px 28px !important;
}
body.events-page .event-category-card .eyebrow{
  margin:0 0 4px !important;
  font-size:.64rem !important;
  letter-spacing:.24em !important;
  white-space:nowrap !important;
}
body.events-page .event-category-card .eyebrow:before{
  width:42px !important;
}
body.events-page .event-category-card h3{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  color:#111827 !important;
  font-size:clamp(1.55rem,1.45vw,1.78rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.035em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}
body.events-page .event-category-card dl{
  display:grid !important;
  gap:10px !important;
  margin:4px 0 0 !important;
}
body.events-page .event-category-card dl div{
  display:grid !important;
  grid-template-columns:96px minmax(0,1fr) !important;
  align-items:start !important;
  gap:14px !important;
  padding:0 !important;
  border-bottom:0 !important;
}
body.events-page .event-category-card dt{
  color:#111827 !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  line-height:1.25 !important;
}
body.events-page .event-category-card dd{
  margin:0 !important;
  color:#111827 !important;
  font-size:.84rem !important;
  line-height:1.35 !important;
  text-align:right !important;
}
body.events-page .event-category-card > p:not(.eyebrow){
  max-width:none !important;
  margin:2px 0 0 !important;
  color:#253041 !important;
  font-size:.92rem !important;
  line-height:1.55 !important;
}
body.events-page .event-category-card .actions.compact{
  width:100% !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  align-items:center !important;
  margin-top:auto !important;
}
body.events-page .event-category-card .actions.compact .btn{
  width:auto !important;
  flex:0 0 auto !important;
  min-height:40px !important;
  padding:0 16px !important;
  font-size:.6rem !important;
  letter-spacing:.12em !important;
  white-space:nowrap !important;
}
body.events-page .event-category-card.tickets h3{
  font-size:clamp(1.42rem,1.3vw,1.62rem) !important;
}

@media(max-width:720px){
  body.events-page .event-category-card{
    flex-basis:calc(100vw - 40px) !important;
    padding:24px !important;
  }
  body.events-page .event-category-card h3{
    font-size:clamp(1.45rem,7vw,1.8rem) !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  body.events-page .event-category-card .actions.compact .btn,
  body.events-page .season-date-list .calendar-export summary,
  body.events-page .season-date-list .calendar-register-link{min-height:44px !important}
  body.events-page .event-category-card dl div{
    grid-template-columns:88px minmax(0,1fr) !important;
  }
}

/* Admin premium 3D depth polish - 2026-07-01 */
body.admin-body{
  perspective:1600px;
}
body.admin-body .admin-shell{
  position:relative;
  isolation:isolate;
}
body.admin-body .admin-shell:before{
  content:"";
  position:absolute;
  inset:54px -34px auto auto;
  width:min(34vw,420px);
  height:min(34vw,420px);
  border-radius:999px;
  background:radial-gradient(circle,rgba(227,25,55,.12),rgba(227,25,55,.04) 44%,transparent 70%);
  filter:blur(12px);
  pointer-events:none;
  z-index:-1;
}
@media(max-width:1040px){
  body.admin-body .admin-shell{
    overflow:hidden;
  }
  body.admin-body .admin-shell:before{
    right:0;
  }
}
body.admin-body .admin-card,
body.admin-body .admin-today-panel,
body.admin-body .admin-tools-panel,
body.admin-body .admin-security-card,
body.admin-body .admin-mfa-setup,
body.admin-body .admin-build-notice,
body.admin-body .admin-test-mode-notice,
body.admin-body .admin-panel{
  position:relative;
  transform-style:preserve-3d;
  border-color:rgba(255,255,255,.74) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 20px 42px rgba(15,23,42,.08),
    0 48px 110px rgba(15,23,42,.13) !important;
}
body.admin-body .admin-card:after,
body.admin-body .admin-today-panel:after,
body.admin-body .admin-tools-panel:after,
body.admin-body .admin-security-card:after,
body.admin-body .admin-mfa-setup:after,
body.admin-body .admin-build-notice:after,
body.admin-body .admin-test-mode-notice:after,
body.admin-body .admin-panel:after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:
    linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.18) 42%,rgba(227,25,55,.035));
  pointer-events:none;
  opacity:.68;
  z-index:0;
}
body.admin-body .admin-card > *,
body.admin-body .admin-today-panel > *,
body.admin-body .admin-tools-panel > *,
body.admin-body .admin-security-card > *,
body.admin-body .admin-mfa-setup > *,
body.admin-body .admin-build-notice > *,
body.admin-body .admin-test-mode-notice > *,
body.admin-body .admin-panel > *{
  position:relative;
  z-index:1;
}
body.admin-body #adminDashboard.admin-dashboard-card{
  transform:rotateX(.35deg) translateZ(0);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 28px 64px rgba(15,23,42,.10),
    0 80px 160px rgba(15,23,42,.16) !important;
}
body.admin-body .admin-action,
body.admin-body .admin-tool-group,
body.admin-body .admin-enquiry-card,
body.admin-body .admin-added-event,
body.admin-body .analytics-card{
  transform:translateZ(0);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease;
  box-shadow:
    0 1px 0 rgba(255,255,255,.92) inset,
    0 14px 28px rgba(15,23,42,.07),
    0 28px 64px rgba(15,23,42,.08) !important;
}
body.admin-body .admin-action:hover,
body.admin-body .admin-action:focus-visible,
body.admin-body .admin-tool-group:hover{
  transform:translateY(-4px) translateZ(24px);
  border-color:rgba(227,25,55,.26) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 22px 42px rgba(15,23,42,.10),
    0 44px 90px rgba(15,23,42,.14) !important;
}
body.admin-body .admin-action.active{
  transform:translateY(-5px) translateZ(30px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,
    0 22px 44px rgba(227,25,55,.10),
    0 52px 100px rgba(15,23,42,.15) !important;
}
body.admin-body .admin-action:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.72),transparent 50%);
  opacity:.72;
  pointer-events:none;
}
body.admin-body .admin-tool-group{
  background:
    linear-gradient(145deg,#ffffff 0%,#fbfcfd 58%,#f2f5f8 100%) !important;
}
body.admin-body .admin-role-badges span,
body.admin-body .admin-command-nav,
body.admin-body .admin-back-btn,
body.admin-body .admin-form input,
body.admin-body .admin-form select,
body.admin-body .admin-form textarea{
  box-shadow:
    0 1px 0 rgba(255,255,255,.88) inset,
    0 10px 24px rgba(15,23,42,.07) !important;
}
body.admin-body .admin-command-nav{
  border-color:rgba(255,255,255,.74) !important;
}
body.admin-body .admin-preview-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:-6px 0 20px;
}
body.admin-body .admin-panel-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 14px;
  border:1px solid rgba(179,19,47,.16);
  border-radius:999px;
  background:#fff;
  color:#b3132f;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.1;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:
    0 1px 0 rgba(255,255,255,.88) inset,
    0 10px 24px rgba(15,23,42,.07);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
body.admin-body .admin-panel-link:hover,
body.admin-body .admin-panel-link:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(227,25,55,.34);
  box-shadow:
    0 1px 0 rgba(255,255,255,.92) inset,
    0 14px 30px rgba(15,23,42,.09);
}
body.admin-body .admin-form input:focus,
body.admin-body .admin-form select:focus,
body.admin-body .admin-form textarea:focus{
  transform:translateY(-1px);
  box-shadow:
    0 0 0 4px rgba(227,25,55,.13),
    0 12px 28px rgba(15,23,42,.08) !important;
}
body.admin-body .btn-primary{
  box-shadow:
    0 1px 0 rgba(255,255,255,.32) inset,
    0 14px 28px rgba(227,25,55,.20),
    0 28px 58px rgba(227,25,55,.16) !important;
}
body.admin-body .btn-outline{
  box-shadow:
    0 1px 0 rgba(255,255,255,.88) inset,
    0 10px 24px rgba(15,23,42,.08) !important;
}
body.admin-body .btn:hover,
body.admin-body .btn:focus-visible,
body.admin-body .admin-back-btn:hover,
body.admin-body .admin-back-btn:focus-visible{
  transform:translateY(-2px);
}
body.admin-body .admin-media-slot-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
body.admin-body .admin-media-slot{
  min-width:0;
  border:1px solid rgba(31,39,50,.10);
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#f8f9fb);
  padding:12px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.94) inset,
    0 12px 26px rgba(15,23,42,.07);
}
body.admin-body .admin-media-slot > span{
  display:inline-flex;
  margin-bottom:8px;
  color:#b3132f;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.admin-body .admin-media-slot img,
body.admin-body .admin-gallery-thumb{
  display:block;
  width:100%;
  object-fit:cover;
  border-radius:14px;
  background:#eef1f5;
}
body.admin-body .admin-media-slot img{
  aspect-ratio:4/3;
}
body.admin-body .admin-media-slot strong{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:4/3;
  border-radius:14px;
  background:
    linear-gradient(135deg,rgba(142,61,255,.12),rgba(255,255,255,.72)),
    repeating-linear-gradient(135deg,rgba(142,61,255,.08) 0 1px,transparent 1px 12px);
  color:#465464;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
body.admin-body .admin-media-slot h4{
  margin:10px 0 4px !important;
  color:#171a20 !important;
  font-size:1rem !important;
}
body.admin-body .admin-media-slot p{
  margin:0;
  overflow-wrap:anywhere;
  color:#687586;
  font-size:.78rem;
  line-height:1.45;
}
body.admin-body .admin-gallery-record{
  align-items:center;
}
body.admin-body .admin-gallery-thumb{
  width:86px;
  height:64px;
  flex:0 0 auto;
}
@media(prefers-reduced-motion:reduce){
  body.admin-body .admin-action,
  body.admin-body .admin-tool-group,
  body.admin-body .admin-enquiry-card,
  body.admin-body .admin-added-event,
  body.admin-body .analytics-card,
  body.admin-body .btn,
  body.admin-body .admin-back-btn,
  body.admin-body .admin-form input,
  body.admin-body .admin-form select,
  body.admin-body .admin-form textarea{
    transition:none !important;
  }
  body.admin-body .admin-action:hover,
  body.admin-body .admin-action:focus-visible,
  body.admin-body .admin-tool-group:hover,
  body.admin-body .admin-action.active,
  body.admin-body .btn:hover,
  body.admin-body .btn:focus-visible,
  body.admin-body .admin-back-btn:hover,
  body.admin-body .admin-back-btn:focus-visible{
    transform:none !important;
  }
}
@media(max-width:820px){
  body.admin-body .admin-media-slot-grid{
    grid-template-columns:1fr;
  }
  body.admin-body #adminDashboard.admin-dashboard-card,
  body.admin-body .admin-action:hover,
  body.admin-body .admin-action:focus-visible,
  body.admin-body .admin-tool-group:hover,
  body.admin-body .admin-action.active{
    transform:none;
  }
  body.admin-body .admin-card,
  body.admin-body .admin-today-panel,
  body.admin-body .admin-tools-panel,
  body.admin-body .admin-security-card,
  body.admin-body .admin-mfa-setup,
  body.admin-body .admin-build-notice,
  body.admin-body .admin-panel{
    box-shadow:
      0 1px 0 rgba(255,255,255,.92) inset,
      0 16px 38px rgba(15,23,42,.09),
      0 32px 76px rgba(15,23,42,.11) !important;
  }
}

/* Development Programme pathway rebuild - 2026-07-02 */
body.training-page .development-journey-hero .container{
  padding-block:clamp(82px,9vw,132px);
}
body.training-page .development-journey-hero .development-hero-copy{
  margin-top:18px;
  max-width:760px;
}
body.training-page .development-journey-hero .development-hero-copy h2{
  margin:0 0 16px;
  color:#1f2732;
  font-size:clamp(1.35rem,1.7vw,1.5rem);
  line-height:1.22;
  font-weight:900;
}
body.training-page .development-journey-hero .lead{
  font-weight:400 !important;
  color:#4d5866 !important;
}
body.training-page .development-journey-hero .development-hero-copy p{
  margin:0 0 1em;
  color:#4d5866;
  font-size:1.05rem;
  line-height:1.72;
}
body.training-page .development-journey-hero .lead-secondary{
  margin-top:10px;
}
body.training-page .development-journey-hero .development-hero-emphasis{
  margin-top:18px;
}
/* Development hero viewport-fit hotfix - 2026-07-17 */
body.training-page{
  --site-header-height:79px;
}
@media(min-width:821px){
  body.training-page .development-journey-hero{
    min-height:calc(100vh - var(--site-header-height)) !important;
    min-height:calc(100svh - var(--site-header-height)) !important;
    height:calc(100vh - var(--site-header-height)) !important;
    height:calc(100svh - var(--site-header-height)) !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    overflow:hidden !important;
  }
  body.training-page .development-journey-hero > .container{
    padding-block:clamp(18px,3vh,40px) !important;
  }
  body.training-page .development-journey-hero .eyebrow{
    margin-bottom:clamp(10px,1.4vh,16px) !important;
  }
  body.training-page .development-journey-hero h1{
    max-width:660px !important;
    font-size:clamp(3.05rem,5vw,4.95rem) !important;
    line-height:.9 !important;
    margin:0 0 clamp(10px,1.3vh,16px) !important;
    letter-spacing:-.05em !important;
  }
  body.training-page .development-journey-hero .development-hero-copy{
    max-width:min(610px,48vw);
    margin-top:0;
  }
  body.training-page .development-journey-hero .development-hero-copy h2{
    margin:0 0 clamp(10px,1.4vh,16px);
    font-size:clamp(1rem,1.15vw,1.25rem);
    line-height:1.2;
  }
  body.training-page .development-journey-hero .development-hero-copy p{
    margin:0 0 clamp(8px,1.1vh,12px);
    font-size:clamp(.9rem,.95vw,1.02rem);
    line-height:1.45;
  }
  body.training-page .development-journey-hero .lead-secondary,
  body.training-page .development-journey-hero .development-hero-emphasis{
    margin-top:0;
  }
  body.training-page .development-journey-hero .actions{
    margin-top:clamp(12px,1.6vh,18px) !important;
    gap:12px !important;
  }
  body.training-page .development-journey-hero .actions .btn{
    min-height:46px;
    padding-inline:20px;
  }
}
@media(min-width:1100px) and (max-height:820px){
  body.training-page .development-journey-hero > .container{
    padding-block:14px !important;
  }
  body.training-page .development-journey-hero h1{
    max-width:620px !important;
    font-size:clamp(2.9rem,4.6vw,4.25rem) !important;
    line-height:.88 !important;
    margin-bottom:10px !important;
  }
  body.training-page .development-journey-hero .development-hero-copy h2{
    margin-bottom:10px;
    font-size:1rem;
    line-height:1.18;
  }
  body.training-page .development-journey-hero .development-hero-copy p{
    margin-bottom:8px;
    font-size:.9rem;
    line-height:1.4;
  }
  body.training-page .development-journey-hero .actions{
    margin-top:12px !important;
  }
  body.training-page .development-journey-hero .actions .btn{
    min-height:42px;
    padding-inline:18px;
  }
}
body.training-page .development-meet-aaron-section{
  padding-block:clamp(46px,5vw,76px);
  background:#f8fafc;
}
body.training-page .development-meet-aaron-top{
  display:grid;
  grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);
  grid-template-areas:
    "media heading"
    "media body";
  gap:clamp(24px,4vw,52px);
  align-items:center;
}
body.training-page .development-meet-aaron-heading{
  grid-area:heading;
}
body.training-page .development-meet-aaron-figure{
  grid-area:media;
  margin:0;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(17,24,39,.1);
  box-shadow:0 18px 44px rgba(15,23,42,.12);
  aspect-ratio:4 / 4.6;
  max-height:430px;
  background:#f5f0ea;
}
body.training-page .development-meet-aaron-figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
  display:block;
}
body.training-page .development-meet-aaron-heading h2{
  margin:0;
  max-width:560px;
  color:#171a20;
  font-size:clamp(2.35rem,4.4vw,4.2rem);
  line-height:.98;
  letter-spacing:0;
}
body.training-page .development-meet-aaron-body{
  grid-area:body;
  max-width:760px;
  margin-top:-26px;
}
body.training-page .development-meet-aaron-body p{
  margin:0 0 11px;
  color:#24364c;
  font-size:clamp(.98rem,1.05vw,1.08rem);
  line-height:1.58;
}
body.training-page .development-meet-aaron-lead-in{
  margin-top:16px !important;
  color:var(--gold2,#f07a1a) !important;
  font-weight:900;
}
body.training-page .development-meet-aaron-cards{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  align-items:stretch;
  gap:18px;
  margin-top:clamp(22px,3vw,34px);
}
body.training-page .development-meet-aaron-card{
  border:1px solid rgba(17,24,39,.1);
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 38px rgba(15,23,42,.08);
}
body.training-page .development-meet-aaron-experience{
  padding:22px;
}
body.training-page .development-meet-aaron-experience h3{
  margin:0 0 16px;
  color:#f07a1a;
  font-size:.82rem;
  line-height:1.2;
  letter-spacing:.18em;
}
body.training-page .development-meet-aaron-experience-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border:1px solid rgba(240,122,26,.16);
  border-radius:12px;
  overflow:hidden;
}
body.training-page .development-meet-aaron-experience-grid div{
  min-height:92px;
  padding:18px;
  background:linear-gradient(135deg,rgba(240,122,26,.07),#fff 54%);
}
body.training-page .development-meet-aaron-experience-grid div:nth-child(odd){
  border-right:1px solid rgba(240,122,26,.16);
}
body.training-page .development-meet-aaron-experience-grid div:nth-child(-n+2){
  border-bottom:1px solid rgba(240,122,26,.16);
}
body.training-page .development-meet-aaron-experience-grid strong{
  display:block;
  color:#171a20;
  font-size:clamp(1.18rem,1.65vw,1.55rem);
  line-height:1.08;
  font-weight:900;
}
body.training-page .development-meet-aaron-experience-grid span{
  display:block;
  margin-top:7px;
  color:#526173;
  font-size:.9rem;
  line-height:1.28;
  font-weight:800;
}
body.training-page .development-meet-aaron-philosophy{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-self:stretch;
  align-items:stretch;
  min-height:220px;
}
body.training-page .development-meet-aaron-philosophy div{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:220px;
  padding:28px 24px;
  text-align:center;
}
body.training-page .development-meet-aaron-philosophy div + div{
  border-left:1px solid rgba(240,122,26,.16);
}
body.training-page .development-meet-aaron-philosophy span{
  display:block;
  color:#f07a1a;
  font-size:clamp(1.25rem,1.45vw,1.6rem);
  line-height:1.12;
  letter-spacing:.16em;
  font-weight:900;
}
body.training-page .development-meet-aaron-philosophy span::after{
  content:"";
  display:block;
  width:34px;
  height:2px;
  margin:12px auto 0;
  background:rgba(240,122,26,.58);
}
body.training-page .development-meet-aaron-philosophy p{
  margin:15px auto 0;
  max-width:230px;
  color:#171a20;
  font-size:clamp(1.1rem,1.35vw,1.38rem);
  line-height:1.22;
  font-weight:900;
  text-align:center;
}
@media(max-width:820px){
  body.training-page .development-meet-aaron-top,
  body.training-page .development-meet-aaron-cards{
    grid-template-columns:1fr;
  }
  body.training-page .development-meet-aaron-top{
    grid-template-areas:
      "heading"
      "media"
      "body";
  }
  body.training-page .development-meet-aaron-heading h2{
    max-width:760px;
    font-size:clamp(2.4rem,7vw,3.8rem);
  }
  body.training-page .development-meet-aaron-body{
    margin-top:0;
  }
  body.training-page .development-meet-aaron-figure{
    max-height:360px;
    aspect-ratio:16 / 10;
  }
}
@media(max-width:640px){
  body.training-page .development-meet-aaron-section{
    padding-block:44px;
  }
  body.training-page .development-meet-aaron-top{
    gap:18px;
  }
  body.training-page .development-meet-aaron-heading h2{
    font-size:clamp(2.2rem,12vw,3.2rem);
  }
  body.training-page .development-meet-aaron-figure{
    max-height:none;
    aspect-ratio:4 / 3.8;
  }
  body.training-page .development-meet-aaron-cards{
    margin-top:22px;
  }
  body.training-page .development-meet-aaron-experience{
    padding:18px;
  }
  body.training-page .development-meet-aaron-experience-grid{
    grid-template-columns:1fr;
  }
  body.training-page .development-meet-aaron-experience-grid div:nth-child(odd){
    border-right:none;
  }
  body.training-page .development-meet-aaron-experience-grid div:nth-child(-n+3){
    border-bottom:1px solid rgba(240,122,26,.16);
  }
  body.training-page .development-meet-aaron-philosophy{
    grid-template-columns:1fr;
  }
  body.training-page .development-meet-aaron-philosophy div{
    min-height:180px;
    padding:24px 18px;
  }
  body.training-page .development-meet-aaron-philosophy div + div{
    border-left:none;
    border-top:1px solid rgba(240,122,26,.16);
  }
}
body.training-page .development-guest-faculty-section{
  padding-block:clamp(34px,4.2vw,56px) !important;
  background:#fff;
}
body.training-page .development-guest-faculty-section *,
body.training-page .development-who-section *{
  font-family:var(--font-body) !important;
}
body.training-page .development-guest-faculty-section .container{
  max-width:1160px;
}
body.training-page .development-guest-faculty-panel{
  --guest-faculty-copy-size:clamp(.88rem,.95vw,.98rem);
  overflow:hidden;
  padding:clamp(20px,2.6vw,30px);
  border:1px solid rgba(240,122,26,.16);
  border-radius:16px;
  background:#fff;
  box-shadow:
    0 1px 0 rgba(255,255,255,.92) inset,
    0 18px 42px rgba(15,23,42,.07);
}
body.training-page .development-guest-faculty-intro{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);
  gap:clamp(22px,3vw,42px);
  align-items:start;
}
body.training-page .development-guest-faculty-copy .eyebrow,
body.training-page .development-who-content .eyebrow{
  margin-bottom:8px;
}
body.training-page .development-guest-faculty-copy h2{
  max-width:560px;
  margin:0 0 14px;
  color:#171a20;
  font-size:clamp(2.1rem,3vw,3.12rem);
  line-height:1.02;
  letter-spacing:0;
}
body.training-page .development-guest-faculty-copy p:not(.eyebrow){
  max-width:560px;
  margin:0 0 10px;
  color:#24364c;
  font-size:var(--guest-faculty-copy-size);
  font-weight:400;
  line-height:1.6;
}
body.training-page .development-guest-faculty-figure{
  margin:0;
  overflow:hidden;
  border-radius:12px;
  border:1px solid rgba(17,24,39,.12);
  box-shadow:0 14px 30px rgba(15,23,42,.1);
  background:#f5f0ea;
  aspect-ratio:1.78 / 1;
  max-height:270px;
}
body.training-page .development-guest-faculty-figure img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
}
body.training-page .development-guest-faculty-credits{
  margin-top:clamp(20px,2.1vw,26px);
  padding-top:clamp(14px,1.6vw,20px);
  border-top:1px solid rgba(240,122,26,.2);
}
body.training-page .development-guest-faculty-credits-heading{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:clamp(12px,1.4vw,16px);
}
body.training-page .development-guest-faculty-credits-heading .eyebrow{
  margin:0;
}
body.training-page .development-guest-faculty-small-icon{
  position:relative;
  width:14px;
  height:14px;
  flex:0 0 14px;
  border:1.5px solid rgba(240,122,26,.6);
  border-radius:50%;
}
body.training-page .development-guest-faculty-small-icon::after{
  content:"";
  position:absolute;
  left:4px;
  top:3px;
  width:4px;
  height:7px;
  border-right:1.5px solid #f07a1a;
  border-bottom:1.5px solid #f07a1a;
  transform:rotate(40deg);
}
body.training-page .development-guest-faculty-credit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.8vw,24px);
  align-items:start;
}
body.training-page .development-guest-faculty-credit-grid article{
  min-width:0;
  padding:0 clamp(8px,1vw,12px) 0 0;
  border-left:0;
}
body.training-page .development-guest-faculty-credit-grid article:first-child{
  padding-left:0;
  border-left:0;
}
body.training-page .development-guest-faculty-credit-grid h4{
  margin:0 0 6px;
  color:#f07a1a;
  font-size:var(--guest-faculty-copy-size);
  line-height:1.45;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
body.training-page .development-guest-faculty-credit-grid p{
  margin:0;
  color:#26364a;
  font-size:var(--guest-faculty-copy-size);
  line-height:1.6;
  font-weight:400;
}
body.training-page .development-guest-faculty-benefits{
  margin-top:clamp(18px,2vw,24px);
  padding-top:clamp(14px,1.6vw,20px);
  border-top:1px solid rgba(240,122,26,.14);
}
body.training-page .development-guest-faculty-benefits > h3{
  margin:0 0 clamp(12px,1.4vw,16px);
  color:#171a20;
  font-size:var(--guest-faculty-copy-size);
  line-height:1.45;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.training-page .development-guest-faculty-benefits-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.6vw,20px);
  align-items:stretch;
}
body.training-page .development-guest-faculty-benefits-grid article{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:10px;
  align-items:start;
  min-height:0;
  height:100%;
  padding:clamp(11px,1.15vw,14px);
  border:1px solid rgba(240,122,26,.16);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(240,122,26,.035),#fff 58%);
}
body.training-page .development-guest-faculty-benefits-grid article:first-child{
  padding-left:clamp(11px,1.15vw,14px);
  border-left:1px solid rgba(240,122,26,.16);
}
body.training-page .development-guest-faculty-benefit-icon{
  position:relative;
  width:22px;
  height:22px;
  border:1.5px solid rgba(240,122,26,.62);
  border-radius:50%;
}
body.training-page .development-guest-faculty-benefit-icon::before{
  content:"";
  position:absolute;
  left:5px;
  top:9px;
  width:16px;
  height:1.5px;
  background:#f07a1a;
  transform:rotate(-35deg);
  transform-origin:left center;
}
body.training-page .development-guest-faculty-benefits-grid h4{
  margin:0 0 6px;
  color:#171a20;
  font-size:var(--guest-faculty-copy-size);
  line-height:1.45;
  font-weight:900;
}
body.training-page .development-guest-faculty-benefits-grid p{
  margin:0;
  color:#3d4f64;
  font-size:var(--guest-faculty-copy-size);
  line-height:1.6;
  font-weight:400;
}
body.training-page .development-guest-faculty-note{
  display:flex;
  justify-content:center;
  gap:7px;
  align-items:center;
  margin:clamp(12px,1.4vw,16px) 0 0;
  color:#566578;
  font-size:var(--guest-faculty-copy-size);
  line-height:1.6;
  font-weight:400;
  text-align:center;
}
body.training-page .development-guest-faculty-note span{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#f07a1a;
  box-shadow:0 0 0 4px rgba(240,122,26,.12);
}
body.training-page .development-who-section{
  overflow:hidden;
  padding-block:clamp(22px,2.2vw,28px) !important;
  background:#fff;
}
body.training-page .development-who-section .container{
  max-width:1240px;
}
body.training-page .development-who-layout{
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
  grid-template-areas:
    "content media"
    "action media";
  gap:clamp(26px,3.8vw,48px);
  align-items:start;
}
body.training-page .development-who-content{
  grid-area:content;
}
body.training-page .development-who-media{
  grid-area:media;
  display:grid;
  gap:clamp(14px,1.6vw,20px);
}
body.training-page .development-who-action{
  grid-area:action;
  justify-self:start;
  align-self:start;
}
body.training-page .development-who-content h2{
  max-width:620px;
  margin:0 0 8px;
  color:#171a20;
  font-size:clamp(2.1rem,3vw,3.35rem);
  line-height:1;
  letter-spacing:0;
}
body.training-page .development-who-intro{
  max-width:600px;
  margin:0 0 10px;
  color:#38485c;
  font-size:clamp(.94rem,1vw,1.02rem);
  line-height:1.48;
  font-weight:800;
}
body.training-page .development-who-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:20px 0 18px;
  padding:0;
  list-style:none;
}
body.training-page .development-who-list li{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:104px;
  padding:16px;
  border:1px solid rgba(240,122,26,.22);
  border-radius:18px;
  background:linear-gradient(145deg,#fff 20%,#fff5eb 100%);
  box-shadow:0 12px 28px rgba(37,29,20,.08);
  transition:transform .22s ease,box-shadow .22s ease;
}
body.training-page .development-who-list li:nth-child(2){
  background:linear-gradient(145deg,#fff 12%,#fff0e2 100%);
}
body.training-page .development-who-list li:nth-child(3){
  background:linear-gradient(145deg,#fff8f1,#ffe9d3);
}
body.training-page .development-who-list li:nth-child(4){
  background:linear-gradient(145deg,#fff,#f7efe7);
}
body.training-page .development-who-list li:nth-child(5){
  grid-column:1 / -1;
  min-height:88px;
  border-color:#171a20;
  background:linear-gradient(115deg,#171a20,#303946);
  box-shadow:0 16px 34px rgba(23,26,32,.18);
}
@media(hover:hover){
  body.training-page .development-who-list li:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 34px rgba(37,29,20,.13);
  }
}
body.training-page .development-who-list span{
  grid-column:1;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:15px;
  background:#f07a1a;
  color:#fff;
  font-size:1rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:0 8px 18px rgba(240,122,26,.24);
}
body.training-page .development-who-list li::before{
  content:"";
  position:absolute;
  top:-34px;
  right:-24px;
  width:92px;
  height:92px;
  border:1px solid rgba(240,122,26,.22);
  border-radius:50%;
  box-shadow:0 0 0 14px rgba(240,122,26,.05);
  pointer-events:none;
}
body.training-page .development-who-list p{
  grid-column:2;
  margin:0;
  color:#1f2732;
  font-size:clamp(.94rem,1vw,1.02rem);
  line-height:1.38;
  font-weight:900;
}
body.training-page .development-who-list li:nth-child(5) p{
  color:#fff;
}
body.training-page .development-who-list li:nth-child(5)::before{
  border-color:rgba(255,255,255,.18);
  box-shadow:0 0 0 14px rgba(255,255,255,.04);
}
body.training-page .development-who-note{
  margin:0;
  padding:10px 14px;
  border:1px solid rgba(240,122,26,.18);
  border-radius:12px;
  background:rgba(240,122,26,.08);
  color:#26364a;
  font-size:.88rem;
  line-height:1.32;
  font-weight:900;
}
body.training-page .development-who-figure{
  position:relative;
  margin:0;
  height:clamp(430px,54vh,520px);
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(240,122,26,.42);
  border-radius:28px;
  background:#fff2e6;
  box-shadow:0 24px 60px rgba(15,23,42,.12);
}
body.training-page .development-who-figure::after{
  content:"";
  position:absolute;
  right:-18%;
  bottom:-22%;
  width:58%;
  aspect-ratio:1;
  border:2px solid rgba(240,122,26,.35);
  border-radius:50%;
  box-shadow:0 0 44px rgba(240,122,26,.18);
  pointer-events:none;
}
body.training-page .development-who-figure img{
  width:100%;
  height:100%;
  min-height:0;
  display:block;
  object-fit:cover;
  object-position:center top;
}
body.training-page .development-helper{
  margin:18px 0 0;
  color:#405064;
  font-weight:800;
}
body.training-page .development-helper a{
  color:var(--theme);
  text-decoration:none;
}
body.training-page .development-two-column{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(320px,1fr);
  gap:clamp(42px,7vw,104px);
  align-items:center;
}
body.training-page .development-section-copy{
  align-items:start;
  margin-bottom:clamp(28px,4vw,46px);
}
body.training-page .development-section-copy p{
  margin:0 0 12px;
  color:#24364c;
  font-size:1.04rem;
  line-height:1.7;
}
body.training-page .development-parent-proof-section{
  padding-top:clamp(36px,4.6vw,56px) !important;
  padding-bottom:clamp(40px,5vw,64px) !important;
}
body.training-page .development-parent-proof-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  align-items:end;
  max-width:1120px;
  margin:0 auto 28px;
}
body.training-page .development-parent-proof-heading h2{
  max-width:12ch;
  color:#171a20;
  font-size:clamp(2.3rem,4.5vw,4.8rem);
  line-height:.95;
  letter-spacing:0;
}
body.training-page .development-parent-proof-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:1120px;
  margin:0 auto;
}
body.training-page .development-parent-proof-grid article{
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:30px;
  border-color:rgba(240,122,26,.18);
  box-shadow:0 20px 48px rgba(23,26,34,.07);
}
body.training-page .development-parent-proof-grid span{
  color:#f07a1a;
  background:rgba(240,122,26,.08);
}
body.training-page .development-parent-proof-grid h3{
  min-height:0;
  margin:0 0 14px;
  font-size:clamp(1.65rem,2vw,2.2rem) !important;
  line-height:1.02 !important;
}
body.training-page .development-parent-proof-grid p{
  margin:0;
  color:#435062 !important;
  flex:1;
}
body.training-page .development-parent-proof-grid strong{
  margin-top:18px;
  color:#171a20;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.training-page .development-pathway-section h2,
body.training-page .development-why-section h2,
body.training-page .development-next-step h2{
  max-width:720px;
}
body.training-page .development-step-grid{
  display:grid;
  border:1px solid rgba(15,23,42,.12);
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,255,255,.82);
  box-shadow:0 26px 76px rgba(15,23,42,.09);
}
body.training-page .development-step-card{
  display:grid;
  grid-template-columns:74px 1fr;
  gap:20px;
  padding:26px 30px;
  border-bottom:1px solid rgba(15,23,42,.1);
}
body.training-page .development-step-card:last-child{
  border-bottom:0;
}
body.training-page .development-step-card span{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:999px;
  background:rgba(255,124,44,.11);
  color:var(--theme);
  font-weight:900;
}
body.training-page .development-step-card h3{
  margin:0 0 6px;
  font-size:1.35rem;
}
body.training-page .development-step-card p{
  margin:0;
  color:#4a5a6b;
  line-height:1.55;
}
body.training-page .development-card-grid,
body.training-page .development-compact-grid,
body.training-page .development-signpost-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
body.training-page .development-card-grid.three-up{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.training-page .development-info-card,
body.training-page .development-compact-card,
body.training-page .development-signpost-card{
  border:1px solid rgba(15,23,42,.1);
  border-radius:18px;
  background:rgba(255,255,255,.9);
  box-shadow:0 22px 58px rgba(15,23,42,.08);
}
body.training-page .development-info-card{
  min-height:214px;
  padding:28px;
}
body.training-page .development-info-card h3,
body.training-page .development-compact-card h3{
  margin:0 0 12px;
  font-size:1.35rem;
}
body.training-page .development-info-card p,
body.training-page .development-compact-card p,
body.training-page .development-signpost-card p{
  margin:0;
  color:#405064;
  line-height:1.58;
}
body.training-page .development-compact-card{
  min-height:164px;
  padding:24px;
  border-bottom:4px solid var(--theme);
}
body.training-page .development-signpost-card{
  display:block;
  min-height:228px;
  padding:26px;
  color:#171a20;
  text-decoration:none;
  border-left:5px solid var(--theme);
}
body.training-page .development-signpost-card span{
  display:block;
  margin-bottom:22px;
  color:var(--theme);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.training-page .development-signpost-card strong{
  display:block;
  margin-bottom:12px;
  font-size:1.45rem;
  line-height:1.05;
}
body.training-page .development-signpost-card.compete{
  border-left-color:#ef1742;
}
body.training-page .development-signpost-card.compete span{
  color:#ef1742;
}
body.training-page .development-signpost-card.intensives{
  border-left-color:#8e3dff;
}
body.training-page .development-signpost-card.intensives span{
  color:#8e3dff;
}
body.training-page .development-signpost-card.perform{
  border-left-color:#0787d4;
}
body.training-page .development-signpost-card.perform span{
  color:#0787d4;
}
body.training-page .development-numbered{
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}
body.training-page .development-numbered li{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:18px;
  align-items:start;
  padding:22px;
  border:1px solid rgba(15,23,42,.1);
  border-radius:16px;
  background:rgba(255,255,255,.92);
}
body.training-page .development-numbered span{
  color:var(--theme);
  font-size:1.35rem;
  font-weight:900;
}
body.training-page .development-numbered h3{
  margin:0 0 6px;
  font-size:1.05rem;
  letter-spacing:0;
}
body.training-page .development-numbered p{
  margin:0;
  color:#405064;
  line-height:1.6;
}
@media(max-width:980px){
  body.training-page .development-two-column,
  body.training-page .development-card-grid,
  body.training-page .development-card-grid.three-up,
  body.training-page .development-compact-grid,
  body.training-page .development-signpost-grid{
    grid-template-columns:1fr;
  }
  body.training-page .development-guest-faculty-intro,
  body.training-page .development-who-layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "content"
      "media"
      "action";
  }
  body.training-page .development-guest-faculty-figure{
    max-height:440px;
  }
  body.training-page .development-who-figure,
  body.training-page .development-who-figure img{
    min-height:420px;
  }
  body.training-page .development-info-card,
  body.training-page .development-compact-card,
  body.training-page .development-signpost-card{
    min-height:0;
  }
}
@media(max-width:1040px){
  body.training-page .development-who-layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "content"
      "media"
      "action";
  }
  body.training-page .development-who-figure,
  body.training-page .development-who-figure img{
    min-height:420px;
  }
}
@media(max-width:640px){
  body.training-page .development-journey-hero .container{
    padding-block:58px;
  }
  body.training-page .development-guest-faculty-section{
    padding-block:30px !important;
  }
  body.training-page .development-guest-faculty-panel{
    padding:18px;
    border-radius:14px;
  }
  body.training-page .development-guest-faculty-copy h2{
    font-size:clamp(2rem,9.2vw,2.8rem);
  }
  body.training-page .development-guest-faculty-copy p:not(.eyebrow){
    font-size:var(--guest-faculty-copy-size);
  }
  body.training-page .development-guest-faculty-figure{
    max-height:260px;
    aspect-ratio:16 / 10;
  }
  body.training-page .development-guest-faculty-credit-grid,
  body.training-page .development-guest-faculty-benefits-grid{
    grid-template-columns:1fr;
  }
  body.training-page .development-guest-faculty-credit-grid article,
  body.training-page .development-guest-faculty-benefits-grid article{
    padding:12px 0;
    border-left:0;
    border-top:1px solid rgba(240,122,26,.14);
  }
  body.training-page .development-guest-faculty-credit-grid article:first-child,
  body.training-page .development-guest-faculty-benefits-grid article:first-child{
    padding-top:0;
    border-top:0;
  }
  body.training-page .development-guest-faculty-benefits-grid article{
    grid-template-columns:28px minmax(0,1fr);
    min-height:0;
  }
  body.training-page .development-who-section{
    padding-block:44px !important;
  }
  body.training-page .development-who-content h2{
    font-size:clamp(2.05rem,9vw,2.9rem);
  }
  body.training-page .development-who-list li{
    grid-template-columns:44px minmax(0,1fr);
    gap:13px;
    min-height:92px;
    padding:14px;
    border-radius:16px;
  }
  body.training-page .development-who-list{
    grid-template-columns:1fr;
  }
  body.training-page .development-who-list li:nth-child(5){
    grid-column:auto;
    min-height:92px;
  }
  body.training-page .development-who-list span{
    width:44px;
    height:44px;
    border-radius:13px;
  }
  body.training-page .development-who-figure{
    min-height:360px;
    border-radius:18px;
  }
  body.training-page .development-who-figure img{
    min-height:360px;
    object-position:center top;
  }
  body.training-page .development-step-card,
  body.training-page .development-numbered li{
    grid-template-columns:1fr;
  }
  body.training-page .development-info-card,
  body.training-page .development-compact-card,
  body.training-page .development-signpost-card{
    padding:22px;
  }
}

/* Keep the Development Programme hero title together on desktop. */
@media(min-width:821px){
  body.training-page .development-journey-hero h1{
    max-width:min(880px,58vw) !important;
    font-size:clamp(3rem,4.1vw,4.35rem) !important;
    line-height:.94 !important;
    white-space:nowrap;
  }
  body.training-page .development-journey-hero h1 .gold-word{
    white-space:nowrap;
  }
}

body.perform-page{
  --perform-accent:#0787d4;
  --perform-accent-soft:rgba(7,135,212,.12);
  --perform-accent-line:rgba(7,135,212,.34);
}
body.perform-page .site-header .btn,
body.perform-page .mobile-cta .btn,
body.perform-page .btn-primary{
  background:linear-gradient(135deg,#20b7ff,#0575bf);
  box-shadow:0 20px 40px rgba(7,135,212,.18);
}
body.perform-page .site-header .btn{
  color:#fff;
  border-color:rgba(7,135,212,.24);
}
body.perform-page .btn-outline{
  border-color:rgba(7,135,212,.24);
}
body.perform-page .eyebrow,
body.perform-page .footer-heading,
body.perform-page .language-toggle{
  color:var(--perform-accent);
}
body.perform-page .eyebrow::before{
  background:linear-gradient(90deg,var(--perform-accent),rgba(7,135,212,.08));
}
.perform-coming-hero{
  position:relative;
  min-height:clamp(560px,calc(100vh - 86px),760px);
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:clamp(82px,9vw,126px) 0;
  border-bottom:1px solid rgba(7,135,212,.16);
  background:#fff;
}
.perform-coming-hero::before,
.perform-coming-hero::after{
  content:"";
  position:absolute;
  inset:0;
}
.perform-coming-hero::before{
  background:url("assets/images/perform-hero-faded-stage.webp") 82% 50% / cover no-repeat;
}
.perform-coming-hero::after{
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.995) 42%,rgba(255,255,255,.94) 54%,rgba(255,255,255,.52) 68%,rgba(255,255,255,.10) 82%,rgba(255,255,255,0) 100%);
}
body.perform-page .perform-coming-hero .container{
  position:relative;
  z-index:2;
  max-width:1180px;
}
body.perform-page .perform-coming-hero h1{
  max-width:720px;
  margin:0;
  color:#171a20;
  font-size:clamp(4.2rem,7.6vw,8.35rem);
  line-height:.92;
  letter-spacing:-.06em;
}
body.perform-page .perform-coming-hero h1 span{
  color:#171a20;
  font-style:normal;
}
body.perform-page .perform-coming-hero h1 .perform-blue-word{
  color:var(--perform-accent);
}
.perform-coming-note{
  max-width:720px;
  margin:16px 0 0;
  color:#405064;
  font-size:clamp(1rem,1.18vw,1.18rem);
  line-height:1.62;
}
body.perform-page .perform-coming-hero .lead{
  max-width:720px;
  margin-top:24px;
  color:#253246;
}
body.perform-page .perform-coming-hero .actions{
  margin-top:34px;
}
body.perform-page .perform-coming-hero .btn-outline{
  background:rgba(255,255,255,.82);
  color:#050505;
  border-color:rgba(15,23,42,.16);
}
body.perform-page .perform-video-section{
  padding:clamp(42px,6vw,76px) 20px clamp(54px,7vw,88px);
  background:#fff;
}
body.perform-page .perform-video-section .container{
  max-width:1240px;
}
body.perform-page .perform-video-wrap{
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:clamp(18px,2.4vw,32px);
  background:#05070c;
  box-shadow:0 26px 70px rgba(7,38,79,.16);
}
body.perform-page .perform-video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:900px){
  .perform-coming-hero{
    min-height:auto;
    padding:clamp(66px,12vw,92px) 0;
  }
  .perform-coming-hero::before{
    background-position:72% 42%;
  }
  .perform-coming-hero::after{
    background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 54%,rgba(255,255,255,.86) 72%,rgba(255,255,255,.54) 100%);
  }
  body.perform-page .perform-coming-hero h1{
    font-size:clamp(3.2rem,15vw,5.5rem);
    max-width:680px;
  }
}
@media(max-width:640px){
  body.perform-page .perform-video-section{
    padding:34px 14px 52px;
  }
  body.perform-page .perform-video-wrap{
    border-radius:18px;
  }
}
@media(max-width:560px){
  .perform-coming-hero::before{
    background-position:68% 50%;
  }
  .perform-coming-hero::after{
    background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 64%,rgba(255,255,255,.72) 100%);
  }
  body.perform-page .perform-coming-hero .actions{
    flex-direction:column;
    align-items:stretch;
  }
  body.perform-page .perform-coming-hero .actions .btn{
    width:100%;
  }
}
.perform-start-strip{
  background:linear-gradient(90deg,#fff 0%,rgba(7,135,212,.06) 55%,#fff 100%);
}
.perform-coming-intro{
  align-items:end;
}
.perform-coming-grid,
.perform-route-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.perform-coming-card,
.perform-route-card,
.perform-interest-card{
  position:relative;
  overflow:hidden;
  min-height:230px;
  padding:28px;
  border:1px solid rgba(15,23,42,.09);
  border-radius:18px;
  background:#fff;
  box-shadow:0 26px 60px rgba(15,23,42,.08);
}
.perform-coming-card::after,
.perform-route-card::after,
.perform-interest-card::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:4px;
  background:var(--perform-accent);
}
.perform-coming-card span,
.perform-route-card span{
  display:block;
  margin-bottom:28px;
  color:var(--perform-accent);
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.perform-coming-card h3,
.perform-route-card strong,
.perform-interest-card h3{
  display:block;
  margin:0 0 12px;
  color:#171a20;
  font-size:1.45rem;
  line-height:1.05;
  letter-spacing:0;
}
.perform-coming-card p,
.perform-route-card p,
.perform-interest-card p{
  margin:0;
  color:#405064;
  line-height:1.6;
}
.perform-route-card{
  display:block;
  color:#171a20;
  text-decoration:none;
}
.perform-route-card.compete{
  --perform-accent:#ef1742;
}
.perform-route-card.train{
  --perform-accent:#ff7b18;
}
.perform-route-card.intensives{
  --perform-accent:#8e3dff;
}
.perform-interest-split{
  align-items:center;
}
.perform-interest-card{
  min-height:0;
}
.perform-interest-card .actions{
  margin-top:24px;
}
.perform-final-cta .container{
  max-width:980px;
  text-align:center;
}
.perform-final-cta h2{
  margin-bottom:18px;
}
.perform-final-cta p:not(.eyebrow){
  max-width:720px;
  margin:0 auto 26px;
  color:#405064;
  font-size:1.06rem;
  line-height:1.65;
}
.perform-final-cta .actions{
  justify-content:center;
}
@media(max-width:980px){
  .perform-coming-grid,
  .perform-route-grid,
  .perform-interest-split{
    grid-template-columns:1fr;
  }
  .perform-coming-card,
  .perform-route-card,
  .perform-interest-card{
    min-height:0;
  }
}
@media(max-width:640px){
  .perform-coming-hero .container{
    padding-block:58px;
  }
  .perform-coming-card,
  .perform-route-card,
  .perform-interest-card{
    padding:22px;
    border-radius:16px;
  }
  .perform-coming-card span,
  .perform-route-card span{
    margin-bottom:18px;
  }
  .perform-final-cta .actions,
  .perform-interest-card .actions{
    align-items:stretch;
  }
}

/* My Team advisory page */
.myteam-hero{
  min-height:68vh;
  background:radial-gradient(circle at 78% 20%,rgba(216,170,67,.18),transparent 34%),linear-gradient(115deg,rgba(0,0,0,.98),rgba(8,6,3,.86)),url("assets/ad-company-logo-transparent.png") 88% 48%/min(430px,42vw) auto no-repeat;
}
.myteam-intro{
  padding-bottom:44px;
}
.myteam-sections{
  display:grid;
  gap:54px;
}
.myteam-group{
  display:grid;
  gap:22px;
}
.myteam-group-heading{
  display:grid;
  gap:14px;
}
.myteam-group-heading h2{
  font-size:clamp(2.2rem,4.8vw,4.8rem);
}
.myteam-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.myteam-card{
  min-height:300px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.myteam-card h3{
  font-size:clamp(1.25rem,1.7vw,1.65rem);
  line-height:1.08;
}
.myteam-card p{
  margin:0;
}
.myteam-card strong{
  margin-top:auto;
  color:var(--gold2);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.myteam-marker{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(246,207,102,.12);
  color:var(--gold2);
  font-weight:900;
  letter-spacing:.06em;
}
.myteam-card.user-view{
  background:linear-gradient(150deg,rgba(255,255,255,.09),rgba(216,170,67,.04));
}
.myteam-close .notice-panel{
  max-width:980px;
}
@media(max-width:1120px){
  .myteam-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .myteam-hero{
    min-height:auto;
    background:linear-gradient(145deg,rgba(0,0,0,.98),rgba(9,7,3,.9));
  }
  .myteam-grid{
    grid-template-columns:1fr;
  }
  .myteam-card{
    min-height:0;
  }
}

/* My Team analysis board refresh */
.myteam-page{background:#f7f8fa}
.myteam-page .myteam-hero{position:relative;min-height:74vh;display:flex;align-items:center;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.66) 48%,rgba(0,0,0,.24)),url("assets/images/home-memories/packed-auditoriums-and-stage-energy.jpeg") center/cover no-repeat}
.myteam-page .myteam-hero:after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent);pointer-events:none}
.myteam-page .myteam-hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:36px;align-items:end;padding-top:110px;padding-bottom:70px}
.myteam-page .myteam-hero-copy{max-width:760px}
.myteam-page .myteam-hero h1{margin:0;color:#fff;font-size:clamp(4rem,12vw,9rem);line-height:.86;letter-spacing:0}
.myteam-page .myteam-hero .lead{max-width:720px;color:rgba(255,255,255,.88);font-size:clamp(1.1rem,2vw,1.5rem)}
.myteam-page .myteam-hero-panel{display:grid;gap:12px}
.myteam-page .myteam-hero-panel div{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.42);padding:18px 20px;backdrop-filter:blur(12px)}
.myteam-page .myteam-hero-panel strong{color:#d8aa43;font-size:2.4rem;line-height:1}
.myteam-page .myteam-hero-panel span{color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;text-align:right}
.myteam-page .myteam-intro{padding-bottom:44px}
.myteam-page .myteam-intro-grid,.myteam-page .myteam-method-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1fr);gap:34px;align-items:start}
.myteam-page .myteam-intro-grid p,.myteam-page .myteam-method-grid p{margin:0;color:#65717f;font-size:1.08rem;line-height:1.7}
.myteam-page .myteam-method-grid article,.myteam-page .myteam-card,.myteam-page .myteam-close-panel{border:1px solid rgba(31,39,50,.12);background:#fff;box-shadow:0 18px 44px rgba(31,39,50,.08)}
.myteam-page .myteam-method-grid article{padding:30px}
.myteam-page .myteam-method-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.myteam-page .myteam-method-list span{min-height:76px;display:flex;align-items:center;border-left:5px solid #e31937;background:#fff;padding:18px 20px;color:#1f2732;font-weight:900;box-shadow:0 14px 34px rgba(31,39,50,.07)}
.myteam-page .myteam-sections{display:grid;gap:58px}
.myteam-page .myteam-group{display:grid;gap:22px}
.myteam-page .myteam-group-heading{max-width:920px;display:grid;gap:12px}
.myteam-page .myteam-group-heading h2{color:#1f2732;font-size:clamp(2.2rem,4.4vw,4.5rem);line-height:.94;letter-spacing:0}
.myteam-page .myteam-group-heading p{margin:0;color:#65717f;font-size:1.02rem;line-height:1.6}
.myteam-page .myteam-grid,.myteam-page .myteam-grid.user-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.myteam-page .myteam-card{min-height:345px;display:flex;flex-direction:column;gap:12px;padding:24px;color:#65717f;overflow:hidden}
.myteam-page .myteam-card small{color:#e31937;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.myteam-page .myteam-card h3{color:#1f2732;font-size:clamp(1.22rem,1.45vw,1.55rem);line-height:1.08;letter-spacing:0}
.myteam-page .myteam-card p{margin:0;line-height:1.58}
.myteam-page .myteam-card strong{margin-top:auto;color:#1f2732;font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.myteam-page .myteam-marker{width:50px;height:50px;display:grid;place-items:center;border:0;border-radius:8px;background:linear-gradient(135deg,#e31937,#f07a1a);color:#fff;font-weight:900;letter-spacing:.06em}
.myteam-page .myteam-card.user-view{border-color:rgba(0,127,200,.18);background:linear-gradient(150deg,#fff,#f2f8fc)}
.myteam-page .myteam-card.user-view .myteam-marker{background:linear-gradient(135deg,#007fc8,#8e3dff)}
.myteam-page .myteam-close-panel{max-width:1020px;padding:38px}
.myteam-page .myteam-close-panel p{color:#65717f;line-height:1.68}
@media(max-width:1120px){
  .myteam-page .myteam-hero-layout,.myteam-page .myteam-intro-grid,.myteam-page .myteam-method-grid{grid-template-columns:1fr}
  .myteam-page .myteam-hero-panel{grid-template-columns:repeat(3,minmax(0,1fr))}
  .myteam-page .myteam-grid,.myteam-page .myteam-grid.user-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .myteam-page .myteam-hero{min-height:auto;background:linear-gradient(155deg,rgba(0,0,0,.94),rgba(0,0,0,.58)),url("assets/images/home-memories/packed-auditoriums-and-stage-energy.jpeg") center/cover no-repeat}
  .myteam-page .myteam-hero-layout{padding-top:96px;padding-bottom:46px}
  .myteam-page .myteam-hero-panel,.myteam-page .myteam-method-list,.myteam-page .myteam-grid,.myteam-page .myteam-grid.user-grid{grid-template-columns:1fr}
  .myteam-page .myteam-card{min-height:0}
}

/* Homepage opportunity cards: premium competition polish */
.home-gateway .home-events{
  padding-top:clamp(72px,8vw,112px);
  padding-bottom:clamp(74px,8vw,116px);
}
.home-gateway .home-events .home-section-heading{
  grid-template-columns:minmax(0,1fr) minmax(330px,430px);
  align-items:start;
  gap:clamp(34px,5vw,72px);
  margin-bottom:34px;
}
.home-gateway .home-events .home-section-heading h2{
  max-width:780px;
  font-size:clamp(4.2rem,7.3vw,6.9rem);
  line-height:.86;
  letter-spacing:0;
}
.home-gateway .home-events .home-section-heading > div:last-child{
  padding-top:8px;
}
.home-gateway .home-events .home-section-heading > div:last-child p{
  max-width:390px;
  color:#263241 !important;
  font-size:1.03rem;
  line-height:1.7;
}
.home-gateway .home-opportunity-shell{
  grid-template-columns:44px minmax(0,1fr) 44px;
  gap:18px;
}
.home-gateway .home-opportunity-control{
  width:44px;
  height:44px;
  border-radius:999px;
  background:#ffffff;
  color:#17202b;
  font-size:1.8rem;
  box-shadow:0 14px 28px rgba(31,39,50,.13);
}
.home-gateway .home-opportunity-track{
  grid-auto-columns:minmax(350px,calc((100% - 48px)/3));
  gap:24px;
  padding:18px 6px 30px;
  mask-image:none;
}
.home-gateway .home-opportunity-track > .editable-opportunity-card{
  scroll-snap-align:center;
}
.home-gateway .home-opportunity-track > .editable-opportunity-card.is-active{
  box-shadow:0 28px 62px rgba(31,39,50,.13),0 10px 24px color-mix(in srgb,var(--opportunity-accent,#e31937) 8%,transparent) !important;
}
.home-gateway .editable-opportunity-card{
  min-height:420px !important;
  padding:24px !important;
  border-radius:22px !important;
  border-color:rgba(31,39,50,.13) !important;
  background:linear-gradient(160deg,#fff 0%,#fafbfc 100%) !important;
  box-shadow:0 24px 54px rgba(31,39,50,.10),0 1px 0 rgba(255,255,255,.9) inset !important;
}
.home-gateway .editable-opportunity-card:before{
  width:4px;
  opacity:.88;
}
.home-gateway .editable-opportunity-card .event-meta{
  min-height:0;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:start;
  gap:12px;
  margin:0 0 28px !important;
  color:#667085 !important;
  font-size:.7rem;
  line-height:1.25;
  letter-spacing:.14em;
}
.home-gateway .editable-opportunity-card .event-meta span{
  min-width:0;
  overflow-wrap:normal;
  text-wrap:balance;
}
.home-gateway .editable-opportunity-card h3{
  min-height:68px;
  margin:0 0 14px !important;
  color:#151a23 !important;
  font-size:clamp(1.65rem,1.8vw,2rem) !important;
  line-height:1.02 !important;
  letter-spacing:0;
}
.home-gateway .editable-opportunity-card .opportunity-date-summary{
  gap:8px;
  margin:0 0 18px;
  padding:13px 14px;
  border-radius:10px;
  font-size:.78rem;
  line-height:1.36;
}
.home-gateway .editable-opportunity-card .opportunity-date-summary > div{
  grid-template-columns:minmax(78px,.38fr) minmax(0,1fr);
  gap:12px;
}
.home-gateway .editable-opportunity-card .opportunity-date-summary strong{
  font-size:.68rem;
  letter-spacing:.12em;
}
.home-gateway .editable-opportunity-card > p{
  margin:0 0 20px;
  color:#4a5565 !important;
  font-size:.94rem;
  line-height:1.58;
}
.home-gateway .editable-opportunity-card .actions{
  gap:9px;
}
.home-gateway .editable-opportunity-card .btn{
  min-height:46px;
  border-radius:0;
  font-size:.68rem;
  letter-spacing:.1em;
}
.home-gateway .editable-opportunity-card .btn-primary{
  box-shadow:0 12px 24px color-mix(in srgb,var(--opportunity-accent,#e31937) 18%,transparent) !important;
}
.home-gateway .editable-opportunity-card .btn-outline{
  background:#fff !important;
}
@media(max-width:1120px){
  .home-gateway .home-events .home-section-heading{
    grid-template-columns:1fr;
  }
  .home-gateway .home-opportunity-track{
    grid-auto-columns:minmax(330px,calc((100% - 24px)/2));
  }
}
@media(max-width:680px){
  .home-gateway .home-opportunity-shell{
    grid-template-columns:1fr 1fr;
  }
  .home-gateway .home-opportunity-track{
    grid-column:1/-1;
    grid-row:1;
    grid-auto-columns:100%;
    padding-inline:0;
  }
  .home-gateway .home-opportunity-control{
    grid-row:2;
    width:100%;
    height:46px;
  }
  .home-gateway .editable-opportunity-card{
    min-height:0 !important;
  }
  .home-gateway .editable-opportunity-card h3{
    min-height:0;
  }
}

/* Development pathway: desktop landscape rows, mobile stacked clarity */
@media(min-width:981px){
  body.training-page .development-pathway-section .development-two-column{
    grid-template-columns:1fr;
    gap:34px;
    align-items:start;
  }
  body.training-page .development-pathway-section h2{
    max-width:1160px;
    font-size:clamp(2.7rem,3.55vw,4.2rem);
    line-height:1;
    letter-spacing:0;
  }
  body.training-page .development-pathway-section .section-lead{
    max-width:860px;
  }
  body.training-page .development-step-grid{
    width:100%;
    max-width:none;
    justify-self:stretch;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  body.training-page .development-step-card{
    grid-template-columns:1fr;
    align-items:start;
    gap:14px;
    min-height:248px;
    padding:28px 30px;
    border-bottom:0;
    border-right:1px solid rgba(15,23,42,.1);
  }
  body.training-page .development-step-card:last-child{
    border-right:0;
  }
  body.training-page .development-step-card span{
    grid-column:1;
    grid-row:1;
    width:44px;
    height:44px;
  }
  body.training-page .development-step-card h3{
    grid-column:1;
    grid-row:2;
    margin:0;
    font-size:1.42rem;
    line-height:1.1;
    white-space:nowrap;
  }
  body.training-page .development-step-card p{
    grid-column:1;
    grid-row:3;
    max-width:100%;
    font-size:.98rem;
    line-height:1.55;
    overflow-wrap:normal;
    word-break:normal;
  }
}

/* Development ending: compact final content after connected-journey removal */
body.training-page .development-build-section{
  padding-top:clamp(48px,5vw,78px);
  padding-bottom:clamp(44px,5vw,70px);
}
body.training-page .development-build-section .intro{
  display:block;
  margin-bottom:36px;
}
body.training-page .development-build-section .eyebrow{
  justify-content:center;
}
body.training-page .development-build-section h2{
  max-width:none;
  width:100%;
  text-align:center;
  font-size:clamp(3rem,4.45vw,4.95rem);
  line-height:1;
  letter-spacing:-.055em;
  white-space:nowrap;
}
body.training-page .development-next-step{
  padding-block:clamp(46px,5vw,72px);
}
body.training-page .development-next-step h2{
  max-width:660px;
  font-size:clamp(2.6rem,4.4vw,4.55rem);
  line-height:1.02;
  letter-spacing:0;
}
body.training-page .development-next-step .actions{
  gap:12px;
  margin-top:28px;
}
@media(max-width:760px){
  body.training-page .development-parent-proof-heading{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:22px;
  }
  body.training-page .development-parent-proof-heading h2{
    max-width:none;
    font-size:clamp(2rem,10vw,3rem);
  }
  body.training-page .development-parent-proof-grid article{
    padding:24px;
  }
  body.training-page .development-parent-proof-grid{
    grid-template-columns:1fr;
  }
  body.training-page .development-next-step{
    padding-block:40px 50px;
  }
  body.training-page .development-next-step h2{
    font-size:clamp(2.25rem,11vw,3.35rem);
    line-height:1.05;
  }
  body.training-page .development-build-section h2{
    white-space:normal;
    font-size:clamp(2.3rem,10vw,3.4rem);
  }
}
@media(min-width:641px) and (max-width:980px){
  body.training-page .development-step-card p{
    grid-column:2;
  }
}
@media(max-width:640px){
  body.training-page .development-step-card{
    gap:12px;
  }
  body.training-page .development-step-card p{
    grid-column:1;
  }
}

/* Spectator tickets rebuilt page */
body.tickets-page{
  --ticket-red:#e31937;
  --ticket-dark:#171a20;
  --ticket-muted:#4b5565;
  --ticket-line:rgba(23,26,32,.12);
  --ticket-soft:#f6f7f9;
  background:#fff;
  color:var(--ticket-dark);
  overflow-x:hidden;
}
body.tickets-page .tickets-hero{
  border-bottom:1px solid var(--ticket-line);
  padding:clamp(58px,7vw,98px) 0;
  background:
    linear-gradient(110deg,rgba(255,255,255,.96),rgba(255,247,248,.9)),
    radial-gradient(circle at 84% 16%,rgba(227,25,55,.16),transparent 34%);
}
body.tickets-page .tickets-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.58fr);
  gap:clamp(34px,6vw,86px);
  align-items:center;
}
body.tickets-page .tickets-hero h1{
  margin:0;
  max-width:900px;
  color:var(--ticket-dark);
  font-size:clamp(3rem,6vw,6.2rem);
  line-height:.92;
  letter-spacing:0;
}
body.tickets-page .tickets-hero h1 span{
  color:var(--ticket-red);
  font-style:italic;
}
body.tickets-page .tickets-hero .lead{
  max-width:720px;
  margin:24px 0 0;
  color:#263246;
  font-size:clamp(1.08rem,1.35vw,1.35rem);
  line-height:1.58;
}
body.tickets-page .tickets-hero .actions,
body.tickets-page .ticket-final-card .actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
body.tickets-page .ticket-status-card{
  border:1px solid var(--ticket-line);
  border-radius:16px;
  background:rgba(255,255,255,.9);
  box-shadow:0 22px 55px rgba(15,23,42,.08);
  padding:clamp(24px,3vw,34px);
  border-bottom:4px solid var(--ticket-red);
}
body.tickets-page .ticket-status-card__label{
  margin:0 0 12px;
  color:var(--ticket-red);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}
body.tickets-page .ticket-status-card h2{
  margin:0 0 12px;
  font-size:clamp(1.65rem,2.3vw,2.25rem);
  line-height:1.05;
}
body.tickets-page .ticket-status-card p{
  margin:0;
  color:var(--ticket-muted);
  line-height:1.65;
}
body.tickets-page .ticket-status-list{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px 18px;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--ticket-line);
  font-size:.94rem;
}
body.tickets-page .ticket-status-list span{
  color:var(--ticket-muted);
}
body.tickets-page .ticket-status-list strong{
  color:var(--ticket-red);
  text-align:right;
}
body.tickets-page .ticket-help-strip{
  border-bottom:1px solid var(--ticket-line);
  background:linear-gradient(90deg,#fff,#fff5f6,#fff) !important;
}
body.tickets-page .ticket-help-strip__inner{
  display:grid;
  grid-template-columns:auto minmax(260px,1fr) auto;
  gap:18px;
  align-items:center;
  min-height:78px;
}
body.tickets-page .ticket-help-strip strong{
  font-size:1.03rem;
}
body.tickets-page .ticket-help-strip span{
  color:var(--ticket-muted);
  line-height:1.5;
  text-align:center;
}
body.tickets-page .ticket-section-head{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,.72fr);
  gap:clamp(24px,5vw,70px);
  align-items:end;
  margin-bottom:clamp(26px,4vw,44px);
}
body.tickets-page .ticket-section-head h2{
  margin:0;
  max-width:960px;
  color:var(--ticket-dark);
  font-size:clamp(2rem,4.2vw,4.5rem);
  line-height:1;
  letter-spacing:0;
}
body.tickets-page .ticket-section-head p{
  margin:0;
  color:var(--ticket-muted);
  line-height:1.7;
  font-size:1.03rem;
}
body.tickets-page .ticket-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.tickets-page .ticket-summary-grid article,
body.tickets-page .ticket-process article,
body.tickets-page .ticket-copy-card,
body.tickets-page .ticket-final-card{
  border:1px solid var(--ticket-line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 38px rgba(15,23,42,.06);
}
body.tickets-page .ticket-summary-grid article{
  min-height:190px;
  padding:22px;
  border-bottom:3px solid var(--ticket-red);
}
body.tickets-page .ticket-summary-grid span,
body.tickets-page .ticket-process span{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  margin-bottom:16px;
  background:rgba(227,25,55,.08);
  color:var(--ticket-red);
  font-weight:900;
  font-size:.78rem;
}
body.tickets-page .ticket-summary-grid strong{
  display:block;
  margin-bottom:10px;
  font-size:1.2rem;
  line-height:1.12;
}
body.tickets-page .ticket-summary-grid p,
body.tickets-page .ticket-process p,
body.tickets-page .ticket-copy-card p,
body.tickets-page .ticket-final-card p{
  margin:0;
  color:var(--ticket-muted);
  line-height:1.62;
}
body.tickets-page .ticket-photo-band{
  padding:0 0 clamp(54px,7vw,90px);
}
body.tickets-page .ticket-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
body.tickets-page .ticket-photo-grid article{
  position:relative;
  min-height:190px;
  overflow:hidden;
  border-radius:14px;
  box-shadow:0 18px 42px rgba(15,23,42,.12);
}
body.tickets-page .ticket-photo-grid article:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.74));
}
body.tickets-page .ticket-photo-grid img{
  width:100%;
  height:100%;
  min-height:190px;
  object-fit:cover;
  display:block;
}
body.tickets-page .ticket-photo-grid strong{
  position:absolute;
  left:22px;
  right:22px;
  bottom:20px;
  z-index:1;
  color:#fff;
  font-size:clamp(1.3rem,2vw,2rem);
  line-height:1.05;
}
body.tickets-page .ticket-process-section{
  background:var(--ticket-soft);
  border-top:1px solid var(--ticket-line);
  border-bottom:1px solid var(--ticket-line);
}
body.tickets-page .ticket-process{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.tickets-page .ticket-process article{
  padding:22px;
}
body.tickets-page .ticket-process h3{
  margin:0 0 10px;
  font-size:1.32rem;
  line-height:1.1;
}
body.tickets-page .ticket-copy-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
body.tickets-page .ticket-copy-card{
  padding:24px;
  border-bottom:3px solid var(--ticket-red);
}
body.tickets-page .ticket-copy-card h3{
  margin:0 0 12px;
  color:var(--ticket-dark) !important;
  font-size:1.35rem;
  line-height:1.1;
}
body.tickets-page .ticket-copy-card a{
  color:var(--ticket-red);
  font-weight:900;
}
body.tickets-page .ticket-final-cta{
  padding:clamp(54px,7vw,92px) 0;
  background:#fff;
}
body.tickets-page .ticket-final-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:clamp(26px,4vw,44px);
  border-bottom:4px solid var(--ticket-red);
}
body.tickets-page .ticket-final-card h2{
  margin:0 0 12px;
  color:var(--ticket-dark);
  font-size:clamp(2rem,3.6vw,3.6rem);
  line-height:1;
}
body.tickets-page .ticket-final-card .actions{
  margin-top:0;
}
@media(max-width:1040px){
  body.tickets-page .tickets-hero-grid,
  body.tickets-page .ticket-section-head,
  body.tickets-page .ticket-final-card{
    grid-template-columns:1fr;
  }
  body.tickets-page .ticket-summary-grid,
  body.tickets-page .ticket-process,
  body.tickets-page .ticket-copy-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:720px){
  body.tickets-page .tickets-hero{
    padding:46px 0 54px;
  }
  body.tickets-page .tickets-hero h1{
    font-size:clamp(2.45rem,12vw,3.85rem);
  }
  body.tickets-page .ticket-help-strip__inner,
  body.tickets-page .ticket-summary-grid,
  body.tickets-page .ticket-photo-grid,
  body.tickets-page .ticket-process,
  body.tickets-page .ticket-copy-grid{
    grid-template-columns:1fr;
  }
  body.tickets-page .ticket-help-strip__inner{
    padding:18px 0;
  }
  body.tickets-page .ticket-help-strip span{
    text-align:left;
  }
  body.tickets-page .tickets-hero .actions .btn,
  body.tickets-page .ticket-help-strip .btn,
  body.tickets-page .ticket-final-card .actions .btn{
    width:100%;
  }
}

/* West End Experiences polished page */
body.west-end-page{
  --west-blue:#0787d4;
  --west-blue-dark:#075f99;
  --west-dark:#171a20;
  --west-muted:#405064;
  --west-line:rgba(15,23,42,.12);
  --west-soft:#f3f8fc;
  background:#fff;
  color:var(--west-dark);
  overflow-x:hidden;
}
body.west-end-page .west-end-coming-soon{
  padding:clamp(42px,5vw,70px) 0 clamp(76px,9vw,118px);
  border-bottom:1px solid var(--west-line);
  background:
    linear-gradient(180deg,#fff 0%,#f7fbff 100%),
    radial-gradient(circle at 78% 16%,rgba(7,135,212,.14),transparent 34%);
}
body.west-end-page .west-end-coming-soon .container{
  max-width:1180px;
}
body.west-end-page .west-end-coming-soon h1{
  margin:0;
  color:var(--west-dark);
  font-size:clamp(2.9rem,4.6vw,4.8rem);
  line-height:.95;
  letter-spacing:0;
}
body.west-end-page .west-end-coming-soon .lead{
  max-width:760px;
  margin:22px 0 0;
  color:#253246;
  font-size:clamp(1.05rem,1.25vw,1.24rem);
  line-height:1.58;
}
body.west-end-page .west-end-hero{
  padding:clamp(58px,7vw,100px) 0;
  border-bottom:1px solid var(--west-line);
  background:
    linear-gradient(110deg,rgba(255,255,255,.97),rgba(243,249,254,.92)),
    radial-gradient(circle at 83% 18%,rgba(7,135,212,.18),transparent 34%);
}
body.west-end-page .west-end-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);
  gap:clamp(28px,4vw,58px);
  align-items:center;
}
body.west-end-page .west-end-hero h1{
  margin:0;
  color:var(--west-dark);
  font-size:clamp(3rem,4.4vw,4.75rem);
  line-height:.94;
  letter-spacing:0;
}
@media(min-width:1180px){
  body.west-end-page .west-end-hero h1{
    white-space:nowrap;
  }
}
body.west-end-page .west-end-hero .lead{
  max-width:760px;
  margin:24px 0 0;
  color:#253246;
  font-size:clamp(1.08rem,1.3vw,1.32rem);
  line-height:1.58;
}
body.west-end-page .west-end-hero .actions,
body.west-end-page .west-end-final-card .actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
body.west-end-page .west-end-status-card{
  border:1px solid var(--west-line);
  border-radius:16px;
  background:rgba(255,255,255,.92);
  box-shadow:0 22px 56px rgba(15,23,42,.08);
  padding:clamp(24px,3vw,34px);
  border-bottom:4px solid var(--west-blue);
}
body.west-end-page .west-end-status-card span{
  display:inline-flex;
  margin-bottom:16px;
  color:var(--west-blue);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.west-end-page .west-end-status-card h2{
  margin:0 0 12px;
  color:var(--west-dark);
  font-size:clamp(1.7rem,2.35vw,2.35rem);
  line-height:1.05;
}
body.west-end-page .west-end-status-card p{
  margin:0;
  color:var(--west-muted);
  line-height:1.65;
}
body.west-end-page .west-end-help-strip{
  border-bottom:1px solid var(--west-line);
  background:linear-gradient(90deg,#fff,rgba(7,135,212,.055),#fff);
}
body.west-end-page .west-end-help-inner{
  display:grid;
  grid-template-columns:auto minmax(260px,1fr) auto;
  gap:18px;
  align-items:center;
  min-height:78px;
}
body.west-end-page .west-end-help-inner span{
  color:var(--west-muted);
  line-height:1.5;
  text-align:center;
}
body.west-end-page .west-end-photo-band{
  padding:clamp(50px,6vw,76px) 0 0;
}
body.west-end-page .west-end-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
body.west-end-page .west-end-photo-grid article{
  position:relative;
  overflow:hidden;
  min-height:210px;
  border-radius:14px;
  box-shadow:0 18px 46px rgba(15,23,42,.12);
}
body.west-end-page .west-end-photo-grid article::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72));
}
body.west-end-page .west-end-photo-grid img{
  display:block;
  width:100%;
  height:100%;
  min-height:210px;
  object-fit:cover;
}
body.west-end-page .west-end-photo-grid strong{
  position:absolute;
  left:22px;
  right:22px;
  bottom:20px;
  z-index:1;
  color:#fff;
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1.05;
}
body.west-end-page .west-end-section-head{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,.72fr);
  gap:clamp(24px,5vw,70px);
  align-items:end;
  margin-bottom:clamp(26px,4vw,44px);
}
body.west-end-page .west-end-section-head h2{
  margin:0;
  color:var(--west-dark);
  font-size:clamp(2rem,4.15vw,4.45rem);
  line-height:1;
  letter-spacing:0;
}
body.west-end-page .west-end-section-head p{
  margin:0;
  color:var(--west-muted);
  line-height:1.7;
  font-size:1.03rem;
}
body.west-end-page .west-end-card-grid,
body.west-end-page .west-end-route-grid{
  display:grid;
  gap:14px;
}
body.west-end-page .west-end-card-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
body.west-end-page .west-end-route-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.west-end-page .west-end-card-grid article,
body.west-end-page .west-end-route-card,
body.west-end-page .west-end-final-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--west-line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 40px rgba(15,23,42,.06);
}
body.west-end-page .west-end-card-grid article,
body.west-end-page .west-end-route-card{
  min-height:205px;
  padding:22px;
  text-decoration:none;
  color:var(--west-dark);
  border-bottom:3px solid var(--route-accent,var(--west-blue));
}
body.west-end-page .west-end-card-grid span,
body.west-end-page .west-end-route-card span{
  display:inline-grid;
  place-items:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  margin-bottom:18px;
  background:rgba(7,135,212,.08);
  color:var(--route-accent,var(--west-blue));
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
body.west-end-page .west-end-card-grid h3,
body.west-end-page .west-end-route-card strong{
  display:block;
  margin:0 0 10px;
  color:var(--west-dark);
  font-size:1.32rem;
  line-height:1.1;
}
body.west-end-page .west-end-card-grid p,
body.west-end-page .west-end-route-card p,
body.west-end-page .west-end-final-card p{
  margin:0;
  color:var(--west-muted);
  line-height:1.62;
}
body.west-end-page .west-end-routes-section{
  background:var(--west-soft);
  border-top:1px solid var(--west-line);
  border-bottom:1px solid var(--west-line);
}
body.west-end-page .west-end-route-card.compete{
  --route-accent:#ef1742;
}
body.west-end-page .west-end-route-card.train{
  --route-accent:#ff7b18;
}
body.west-end-page .west-end-route-card.intensives{
  --route-accent:#8e3dff;
}
body.west-end-page .west-end-final-cta{
  padding:clamp(54px,7vw,92px) 0;
  background:#fff;
}
body.west-end-page .west-end-final-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:clamp(26px,4vw,44px);
  border-bottom:4px solid var(--west-blue);
}
body.west-end-page .west-end-final-card h2{
  margin:0 0 12px;
  color:var(--west-dark);
  font-size:clamp(2rem,3.6vw,3.55rem);
  line-height:1;
}
body.west-end-page .west-end-final-card .actions{
  margin-top:0;
}
@media(max-width:1040px){
  body.west-end-page .west-end-hero-grid,
  body.west-end-page .west-end-section-head,
  body.west-end-page .west-end-final-card{
    grid-template-columns:1fr;
  }
  body.west-end-page .west-end-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  body.west-end-page .west-end-hero{
    padding:46px 0 54px;
  }
  body.west-end-page .west-end-hero h1{
    font-size:clamp(2.35rem,11vw,3.55rem);
  }
  body.west-end-page .west-end-help-inner,
  body.west-end-page .west-end-photo-grid,
  body.west-end-page .west-end-card-grid,
  body.west-end-page .west-end-route-grid{
    grid-template-columns:1fr;
  }
  body.west-end-page .west-end-help-inner{
    padding:18px 0;
  }
  body.west-end-page .west-end-help-inner span{
    text-align:left;
  }
  body.west-end-page .west-end-hero .actions .btn,
  body.west-end-page .west-end-help-strip .btn,
  body.west-end-page .west-end-final-card .actions .btn{
    width:100%;
  }
}

/* Batch polish: Perform blue route, compact merchandise, black/silver support pages */
body.production-page,
body.perform-events-page{
  --perform-blue:#007fc8;
  --perform-blue-dark:#075f96;
  --perform-blue-soft:#eef7fc;
  --perform-line:rgba(0,127,200,.18);
}
body.production-page .gold-word,
body.perform-events-page .gold-word,
body.production-page .eyebrow,
body.perform-events-page .eyebrow{
  color:var(--perform-blue) !important;
}
body.production-page .eyebrow:before,
body.perform-events-page .eyebrow:before{
  background:linear-gradient(90deg,var(--perform-blue),transparent) !important;
}
body.production-page .page-hero,
body.perform-events-page .events-hero{
  background:radial-gradient(circle at 72% 12%,rgba(0,127,200,.13),transparent 34%),#fff !important;
  padding:clamp(58px,6.5vw,92px) 0 clamp(46px,5vw,70px) !important;
  border-bottom:1px solid var(--perform-line) !important;
}
body.production-page .page-hero h1{
  font-size:clamp(3.1rem,5.2vw,6.2rem) !important;
  white-space:nowrap;
  max-width:none;
}
body.perform-events-page .events-hero h1{
  font-size:clamp(3.4rem,6.4vw,7.2rem) !important;
  white-space:nowrap;
}
body.production-page .btn-primary,
body.perform-events-page .btn-primary,
body.perform-events-page .season-heading .btn-primary,
body.perform-events-page .events-secondary-actions .btn-primary{
  background:linear-gradient(135deg,#32b8ff,var(--perform-blue),var(--perform-blue-dark)) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(0,127,200,.2) !important;
}
body.production-page .btn-outline,
body.perform-events-page .btn-outline{
  border-color:rgba(0,127,200,.28) !important;
  color:var(--perform-blue) !important;
}
body.production-page .card.perform,
body.perform-events-page .card.perform,
body.perform-events-page .event-category-card.perform{
  --accent:var(--perform-blue) !important;
  --pack-accent:var(--perform-blue) !important;
}
body.production-page .section{
  padding:clamp(54px,6vw,86px) 0 !important;
}
body.production-page .cards-3 .card{
  min-height:190px;
  border-bottom:4px solid var(--perform-blue);
}

body.merchandise-page .hero.merchandise-hero{
  min-height:auto !important;
  padding:clamp(28px,3.8vw,54px) 0 18px !important;
  border-bottom:1px solid rgba(31,39,50,.1);
}
body.merchandise-page .hero.merchandise-hero .container{
  padding:0 !important;
}
body.merchandise-page .hero.merchandise-hero h1{
  font-size:clamp(2.55rem,4.7vw,4.95rem) !important;
  white-space:nowrap;
}
body.merchandise-page .hero.merchandise-hero .lead{
  margin-top:14px !important;
  font-size:1.08rem !important;
  line-height:1.55 !important;
  max-width:760px !important;
}
body.merchandise-page .hero.merchandise-hero .actions{
  margin-top:22px !important;
}
body.merchandise-page #merchandise-products{
  padding:24px 0 12px !important;
}
body.merchandise-page .section-intro{
  margin-bottom:16px !important;
}
body.merchandise-page .section-intro h2{
  font-size:clamp(2rem,3.4vw,3.45rem) !important;
}
body.merchandise-page .section-intro p:not(.eyebrow){
  font-size:1rem !important;
  line-height:1.45 !important;
  max-width:760px !important;
}
body.merchandise-page .merch-grid.container{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:12px !important;
}
body.merchandise-page .merch-card.card{
  min-height:0 !important;
  border-radius:12px !important;
}
body.merchandise-page .merch-product-image{
  height:104px !important;
  max-height:104px !important;
  padding:8px !important;
  object-fit:contain;
}
body.merchandise-page .merch-card-body{
  padding:12px 13px 14px !important;
  gap:6px !important;
}
body.merchandise-page .merch-card-body .eyebrow{
  margin-bottom:4px !important;
  font-size:.58rem !important;
  letter-spacing:.16em !important;
}
body.merchandise-page .merch-card-body .eyebrow:before{
  width:34px !important;
}
body.merchandise-page .merch-card-body h3{
  font-size:1.12rem !important;
  line-height:1 !important;
}
body.merchandise-page .merch-price{
  font-size:1.18rem !important;
  margin:0 !important;
}
body.merchandise-page .merch-card-body label{
  gap:5px !important;
  font-size:.58rem !important;
}
body.merchandise-page .merch-card-body select,
body.merchandise-page .merch-card-body input{
  min-height:32px !important;
  padding:0 8px !important;
  border-radius:9px !important;
}
body.merchandise-page .merch-card-body .btn{
  min-height:36px !important;
  margin-top:4px !important;
  padding:0 10px !important;
  font-size:.62rem !important;
}
body.merchandise-page #basket,
body.merchandise-page .basket-section{
  padding-top:18px !important;
}
body.merchandise-page #basket .section-intro{
  margin-bottom:14px !important;
}
body.merchandise-page #basket h2{
  font-size:clamp(2.1rem,3.5vw,3.8rem) !important;
}
body.merchandise-page .basket-layout.container{
  gap:16px !important;
}
body.merchandise-page .basket-layout .card{
  min-height:0 !important;
  padding:20px !important;
  border-radius:14px !important;
}

body.black-silver-page,
body.admin-body{
  --silver-accent:#8d96a3;
  --silver-strong:#c7ccd3;
  --silver-soft:#f4f5f7;
  --silver-line:rgba(23,26,32,.13);
  --silver-ink:#171a20;
  --silver-copy:#465263;
}
body.black-silver-page .gold-word,
body.black-silver-page .eyebrow,
body.admin-body .gold-word,
body.admin-body .eyebrow{
  color:var(--silver-accent) !important;
}
body.black-silver-page .eyebrow:before,
body.admin-body .eyebrow:before{
  background:linear-gradient(90deg,var(--silver-ink),var(--silver-strong),transparent) !important;
}
body.black-silver-page .page-hero,
body.admin-body .page-hero.admin-hero{
  padding:clamp(48px,5.5vw,82px) 0 clamp(40px,4.5vw,66px) !important;
  background:linear-gradient(135deg,#fff,#f6f7f8 62%,#eceff3) !important;
  border-bottom:1px solid var(--silver-line) !important;
}
body.black-silver-page .page-hero h1,
body.admin-body .page-hero.admin-hero h1{
  color:var(--silver-ink) !important;
  font-size:clamp(2.65rem,5.2vw,5.7rem) !important;
  letter-spacing:-.055em !important;
  max-width:1120px !important;
}
body.black-silver-page .page-hero .lead,
body.admin-body .page-hero.admin-hero .lead{
  color:var(--silver-copy) !important;
  max-width:860px !important;
}
body.black-silver-page .btn-primary,
body.admin-body .btn-primary{
  background:linear-gradient(135deg,#333840,#171a20,#050608) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(23,26,32,.18) !important;
}
body.black-silver-page .btn-outline,
body.admin-body .btn-outline{
  background:#fff !important;
  border-color:var(--silver-line) !important;
  color:var(--silver-ink) !important;
}
body.contact-page .simple-start-strip,
body.contact-page .contact-form-panel{
  background:#fff !important;
  border-color:var(--silver-line) !important;
}
body.contact-page .contact-form-panel{
  grid-template-columns:.82fr 1fr !important;
  gap:24px !important;
  padding:clamp(38px,5vw,70px) max(20px,calc((100vw - var(--max))/2)) !important;
}
body.contact-page .contact-form-copy h2{
  font-size:clamp(2rem,4vw,4.2rem) !important;
}
body.contact-page .copy-grid{
  grid-template-columns:1fr !important;
  gap:12px !important;
}
body.contact-page .copy-block,
body.black-silver-page .copy-block,
body.black-silver-page .card,
body.black-silver-page .legacy-card,
body.black-silver-page .policy-card,
body.black-silver-page .policy-nav{
  background:#fff !important;
  border:1px solid var(--silver-line) !important;
  border-radius:14px !important;
  box-shadow:0 18px 42px rgba(23,26,32,.08) !important;
}
body.black-silver-page .section{
  padding:clamp(42px,5.5vw,76px) 0 !important;
}
body.information-library-page .section{
  padding:34px 0 !important;
}
body.information-library-page .intro{
  margin-bottom:18px !important;
  gap:24px !important;
}
body.information-library-page .intro h2{
  font-size:clamp(2rem,3.4vw,3.5rem) !important;
}
body.information-library-page .cards-3{
  gap:14px !important;
}
body.information-library-page .card{
  min-height:0 !important;
  padding:18px 20px !important;
}
body.information-library-page .card h3{
  font-size:1.32rem !important;
}
body.information-library-page .card p{
  margin:8px 0 10px !important;
}
body.legal-page .policy-layout{
  grid-template-columns:minmax(220px,300px) minmax(0,1fr) !important;
  gap:22px !important;
}
body.legal-page .policy-nav,
body.legal-page .privacy-policy-card,
body.legal-page .copy-block{
  padding:22px !important;
}
body.legal-page .policy-nav h2{
  font-size:1.55rem !important;
  letter-spacing:-.02em !important;
}
body.legal-page .policy-nav nav{
  max-height:70vh !important;
  overflow:auto !important;
}
body.legal-page .policy-nav a{
  padding:7px 0 !important;
  font-size:.88rem !important;
}
body.legal-page .privacy-policy-card h2,
body.legal-page .copy-block h3{
  font-size:clamp(1.35rem,2.1vw,2rem) !important;
  line-height:1.08 !important;
  color:var(--silver-ink) !important;
}
body.legal-page .privacy-policy-card h3{
  font-size:1.1rem !important;
  color:var(--silver-ink) !important;
}
body.legal-page .privacy-policy-card p,
body.legal-page .privacy-policy-card li,
body.legal-page .copy-block p{
  color:var(--silver-copy) !important;
  font-size:.98rem !important;
  line-height:1.58 !important;
}
body.legal-page .copy-grid{
  gap:16px !important;
}
body.admin-body .footer h4:nth-child(n),
body.black-silver-page .footer h4:nth-child(n){
  color:var(--silver-ink) !important;
}
body.admin-body .footer h4:before,
body.black-silver-page .footer h4:before{
  background:var(--silver-accent) !important;
}
body.admin-body .admin-card label,
body.admin-body .admin-form label,
body.admin-body .admin-password-note a,
body.admin-body .form-message,
body.admin-body .admin-role-badges span,
body.admin-body .admin-action-kicker,
body.admin-body .admin-tool-group-head span{
  color:var(--silver-ink) !important;
}
body.admin-body .admin-card,
body.admin-body #adminLoginPanel,
body.admin-body #adminMfaChallengePanel{
  border-color:var(--silver-line) !important;
  box-shadow:0 22px 54px rgba(23,26,32,.1) !important;
}
body.admin-body .admin-card:before,
body.admin-body #adminLoginPanel:before,
body.admin-body #adminMfaChallengePanel:before{
  background:linear-gradient(90deg,var(--silver-ink),var(--silver-strong)) !important;
}

@media(max-width:1040px){
  body.production-page .page-hero h1,
  body.perform-events-page .events-hero h1,
  body.merchandise-page .hero.merchandise-hero h1{
    white-space:normal;
  }
  body.contact-page .contact-form-panel,
  body.legal-page .policy-layout{
    grid-template-columns:1fr !important;
  }
  body.merchandise-page .merch-grid.container{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:700px){
  body.merchandise-page .merch-grid.container{
    grid-template-columns:1fr !important;
  }
  body.merchandise-page .merch-product-image{
    height:150px !important;
  }
}

@media(max-width:640px){
  html,
  body{
    overflow-x:hidden;
  }
  body.legal-page .policy-layout,
  body.legal-page .policy-nav,
  body.legal-page .privacy-policy-card,
  body.legal-page .copy-block,
  body.legal-page .privacy-policy-section .container{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  body.legal-page .policy-nav,
  body.legal-page .privacy-policy-card,
  body.legal-page .copy-block{
    padding:18px !important;
  }
  body.legal-page .policy-nav nav{
    max-height:none !important;
    overflow:visible !important;
  }
  body.legal-page .privacy-policy-card h2,
  body.legal-page .privacy-policy-card h3,
  body.legal-page .privacy-policy-card p,
  body.legal-page .privacy-policy-card li,
  body.legal-page .policy-nav a{
    overflow-wrap:anywhere;
  }
  .development-programme-hero-image{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .development-programme-hero-grid{
    grid-template-columns:1fr !important;
  }
  .development-programme-hero-image,
  .development-programme-hero-image img{
    justify-self:stretch !important;
  }
}

body.policy-suite-page{
  --policy-accent:#e31937;
  --policy-accent-2:#ff7a1a;
  --policy-soft:#fff5f6;
  --policy-line:rgba(227,25,55,.18);
}
body.policy-suite-page .gold-word,
body.policy-suite-page .eyebrow{
  color:var(--policy-accent) !important;
}
body.policy-suite-page .eyebrow:before{
  background:linear-gradient(90deg,var(--policy-accent),var(--policy-accent-2),transparent) !important;
}
body.policy-suite-page .btn-primary{
  background:linear-gradient(135deg,#f72b53,var(--policy-accent),#c4092c) !important;
  color:#fff !important;
  box-shadow:0 18px 40px rgba(227,25,55,.22) !important;
}
body.policy-suite-page .btn-outline{
  border-color:rgba(227,25,55,.18) !important;
  color:var(--silver-ink) !important;
}
body.policy-suite-page .page-hero.policy-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(70px,7vw,118px) 0 clamp(58px,6vw,92px) !important;
  background:linear-gradient(135deg,#fff 0%,#f8fafc 58%,#fff4f6 100%) !important;
}
body.policy-suite-page .page-hero.policy-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 0 58%,rgba(227,25,55,.055) 58% 100%),
    repeating-linear-gradient(135deg,rgba(227,25,55,.04) 0 1px,transparent 1px 22px);
  opacity:.55;
}
body.policy-suite-page .policy-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,390px);
  gap:clamp(28px,6vw,86px);
  align-items:end;
}
body.policy-suite-page .policy-hero-copy .lead{
  max-width:720px !important;
}
body.policy-suite-page .policy-hero-note{
  background:linear-gradient(145deg,#fff,rgba(255,247,248,.96));
  border:1px solid var(--policy-line);
  border-radius:20px;
  padding:clamp(22px,3vw,32px);
  box-shadow:0 24px 60px rgba(23,26,32,.1);
}
body.policy-suite-page .policy-hero-note h2{
  font-size:clamp(1.45rem,2.1vw,2.25rem);
  line-height:1.05;
  margin:0 0 14px;
}
body.policy-suite-page .policy-hero-note p:not(.eyebrow){
  color:var(--silver-copy);
  line-height:1.62;
  margin:0;
}
body.policy-suite-page .policy-suite-section{
  background:linear-gradient(180deg,#fff,#f8fafc) !important;
}
body.policy-suite-page .legacy-content{
  max-width:none !important;
}
body.policy-suite-page .policy-suite-overview{
  padding-bottom:0 !important;
}
body.policy-suite-page .policy-highlight-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:clamp(28px,4vw,50px);
}
body.policy-suite-page .policy-highlight-grid article{
  position:relative;
  overflow:hidden;
  min-height:190px;
  padding:24px;
  border:1px solid var(--policy-line);
  border-radius:18px;
  background:linear-gradient(145deg,#fff 0%,#fff 64%,rgba(227,25,55,.045) 100%);
  box-shadow:0 18px 42px rgba(23,26,32,.07);
}
body.policy-suite-page .policy-highlight-grid article::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:42%;
  height:42%;
  background:linear-gradient(135deg,transparent,rgba(255,122,26,.14));
  clip-path:polygon(100% 0,100% 100%,0 100%);
}
body.policy-suite-page .policy-highlight-grid span{
  color:var(--policy-accent);
  font-weight:900;
  letter-spacing:.16em;
  font-size:.78rem;
}
body.policy-suite-page .policy-highlight-grid h2{
  font-size:clamp(1.25rem,2vw,1.85rem);
  line-height:1.08;
  margin:16px 0 10px;
  color:var(--silver-ink);
}
body.policy-suite-page .policy-highlight-grid p{
  color:var(--silver-copy);
  line-height:1.58;
  margin:0;
}
body.policy-suite-page .policy-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
body.policy-suite-page .policy-card-grid .copy-block{
  position:relative;
  overflow:hidden;
  min-height:240px;
  padding:26px !important;
  border-radius:18px !important;
}
body.policy-suite-page .policy-card-grid .copy-block::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--policy-accent),var(--policy-accent-2));
}
body.policy-suite-page .policy-content-card{
  padding:clamp(24px,4vw,46px) !important;
  border-radius:20px !important;
}
body.policy-suite-page .policy-content-card h3{
  margin-top:30px;
}
body.policy-suite-page .policy-legal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-bottom:clamp(28px,4vw,50px);
}
body.policy-suite-page .policy-info-card,
body.policy-suite-page .policy-table-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--policy-line);
  border-radius:20px;
  background:linear-gradient(145deg,#fff 0%,#fff 68%,rgba(227,25,55,.045) 100%);
  box-shadow:0 20px 48px rgba(23,26,32,.075);
  padding:clamp(22px,3vw,32px);
}
body.policy-suite-page .policy-info-card::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-52px;
  width:150px;
  height:150px;
  border:1px solid rgba(255,122,26,.18);
  border-radius:999px;
  background:radial-gradient(circle,rgba(255,122,26,.12),transparent 66%);
  pointer-events:none;
}
body.policy-suite-page .policy-info-card-wide{
  grid-column:span 2;
  background:linear-gradient(145deg,#fff 0%,#fff8f8 100%);
}
body.policy-suite-page .policy-info-card span{
  display:inline-flex;
  margin-bottom:14px;
  color:var(--policy-accent);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
body.policy-suite-page .policy-info-card h3,
body.policy-suite-page .policy-table-card h3{
  color:var(--silver-ink);
  font-size:clamp(1.45rem,2.2vw,2.25rem);
  line-height:1.05;
  margin:0 0 14px;
}
body.policy-suite-page .policy-info-card p,
body.policy-suite-page .policy-table-card p{
  color:var(--silver-copy);
  line-height:1.62;
  margin:0 0 12px;
}
body.policy-suite-page .policy-info-card code,
body.policy-suite-page .policy-table code{
  display:inline-block;
  padding:2px 6px;
  border-radius:7px;
  background:#f2f4f7;
  color:var(--silver-ink);
  font-family:var(--font-body);
  font-weight:900;
}
body.policy-suite-page .policy-table-card{
  padding:0;
  margin-bottom:clamp(28px,4vw,50px);
}
body.policy-suite-page .policy-table-card-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,420px);
  gap:22px;
  align-items:end;
  padding:clamp(22px,3vw,34px);
  border-bottom:1px solid rgba(23,26,32,.08);
}
body.policy-suite-page .policy-table-card-head .eyebrow{
  margin-bottom:14px;
}
body.policy-suite-page .policy-table-card-head p:last-child{
  margin:0;
}
body.policy-suite-page .policy-table-wrap{
  border:1px solid rgba(23,26,32,.1);
  border-radius:16px;
  overflow:auto;
  background:#fff;
}
body.policy-suite-page .policy-table-card .policy-table-wrap{
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
body.policy-suite-page .policy-table-card .policy-table{
  min-width:980px;
}
body.policy-suite-page .policy-table-card .policy-table th{
  background:#f8fafc;
  color:var(--silver-ink);
}
body.policy-suite-page .policy-cookie-actions{
  margin-top:0;
}
body.policy-suite-page .policy-cookie-actions .copy-block{
  min-height:220px;
}
body.policy-suite-page .policy-support-cta{
  margin-top:clamp(28px,4vw,50px);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:clamp(24px,4vw,38px);
  border:1px solid var(--policy-line);
  border-radius:20px;
  background:linear-gradient(135deg,#fff 0%,#fff7f8 100%);
  box-shadow:0 18px 42px rgba(23,26,32,.08);
}
body.policy-suite-page .policy-support-cta h2{
  font-size:clamp(1.65rem,3vw,3rem);
  line-height:1.02;
  margin:0 0 10px;
  color:var(--silver-ink);
}
body.policy-suite-page .policy-support-cta p:not(.eyebrow){
  margin:0;
  color:var(--silver-copy);
  line-height:1.55;
}
body.policy-suite-page.privacy-page .policy-layout{
  align-items:start;
}
body.policy-suite-page.privacy-page .policy-support-cta{
  grid-column:1 / -1;
}
body.policy-suite-page.privacy-page .privacy-policy-section{
  padding-top:clamp(28px,4vw,54px) !important;
}

@media(max-width:1040px){
  body.policy-suite-page .policy-hero-grid,
  body.policy-suite-page .policy-card-grid,
  body.policy-suite-page .policy-legal-grid,
  body.policy-suite-page .policy-table-card-head{
    grid-template-columns:1fr !important;
  }
  body.policy-suite-page .policy-info-card-wide{
    grid-column:auto;
  }
  body.policy-suite-page .policy-highlight-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  body.policy-suite-page .page-hero.policy-hero h1{
    font-size:clamp(3rem,18vw,5rem) !important;
  }
  body.policy-suite-page .policy-highlight-grid,
  body.policy-suite-page .policy-support-cta{
    grid-template-columns:1fr;
  }
  body.policy-suite-page .policy-support-cta .btn{
    justify-self:start;
  }
}
@media(max-width:640px){
  body.policy-suite-page .policy-hero-grid,
  body.policy-suite-page .policy-highlight-grid,
  body.policy-suite-page .policy-card-grid,
  body.policy-suite-page .policy-legal-grid,
  body.policy-suite-page .policy-hero-note,
  body.policy-suite-page .policy-support-cta,
  body.policy-suite-page .policy-content-card,
  body.policy-suite-page .policy-info-card,
  body.policy-suite-page .policy-table-card{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  body.policy-suite-page .policy-highlight-grid article,
  body.policy-suite-page .policy-card-grid .copy-block{
    min-height:0;
  }
}

/* Unified upcoming events cards */
.editable-opportunities-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

/* Merchandise page polish */
body.merchandise-page{
  --merch-accent:#f97316;
  --merch-accent-deep:#d65f0b;
  --merch-surface:#fffaf5;
  --merch-line:rgba(31,39,50,.1);
  --merch-copy:#4b5563;
}
body.merchandise-page .page-hero.merchandise-page-hero{
  padding:clamp(56px,7vw,96px) 0 clamp(44px,5vw,72px) !important;
  background:
    radial-gradient(circle at top left, rgba(249,115,22,.1), transparent 36%),
    linear-gradient(135deg, #fff, #fff8f1 56%, #fff 100%);
  border-bottom:1px solid var(--merch-line);
}
body.merchandise-page .merchandise-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:clamp(24px,4vw,40px);
  align-items:stretch;
}
body.merchandise-page .merchandise-hero-copy h1{
  font-size:clamp(3rem,6vw,5.8rem) !important;
  line-height:.94;
  letter-spacing:-.055em;
  max-width:10ch;
}
body.merchandise-page .merchandise-hero-copy .lead{
  font-size:clamp(1.15rem,2vw,1.4rem) !important;
  line-height:1.5 !important;
  max-width:58ch !important;
  margin:18px 0 14px !important;
}
body.merchandise-page .merchandise-hero-copy > p:not(.eyebrow):not(.lead){
  max-width:60ch;
  color:var(--merch-copy);
  line-height:1.7;
}
body.merchandise-page .merchandise-hero-panel{
  display:flex;
}
body.merchandise-page .merchandise-hero-panel-inner{
  width:100%;
  background:#111827;
  color:#fff;
  border-radius:22px;
  padding:clamp(24px,3vw,32px);
  box-shadow:0 26px 48px rgba(17,24,39,.18);
}
body.merchandise-page .merchandise-hero-panel-inner strong{
  display:block;
  margin-bottom:14px;
  font-size:1.1rem;
  letter-spacing:.02em;
}
body.merchandise-page .merchandise-hero-panel-inner ul{
  margin:0;
  padding-left:1.1rem;
  display:grid;
  gap:12px;
  color:rgba(255,255,255,.84);
  line-height:1.6;
}
body.merchandise-page .section{
  padding:clamp(54px,6vw,84px) 0;
}
body.merchandise-page .intro,
body.merchandise-page .section-intro{
  margin-bottom:24px !important;
}
body.merchandise-page .intro{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:24px;
  align-items:end;
}
body.merchandise-page .intro h2,
body.merchandise-page .section-intro h2,
body.merchandise-page #basket h2{
  font-size:clamp(2.2rem,4vw,4.3rem) !important;
  letter-spacing:-.045em;
  line-height:.98;
}
body.merchandise-page .intro p:not(.eyebrow),
body.merchandise-page .section-intro p:not(.eyebrow){
  color:var(--merch-copy) !important;
  font-size:1.02rem !important;
  line-height:1.7 !important;
  max-width:66ch !important;
}
body.merchandise-page .merch-grid.container{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
}
body.merchandise-page .merch-card.card{
  background:#fff;
  border:1px solid rgba(31,39,50,.08);
  border-radius:22px !important;
  box-shadow:0 22px 42px rgba(15,23,42,.08);
  overflow:hidden;
}
body.merchandise-page .merch-product-image{
  height:220px !important;
  max-height:none !important;
  padding:18px !important;
  object-fit:contain;
  background:linear-gradient(180deg,#fff,#fff8f1);
}
body.merchandise-page .merch-card-body{
  padding:22px !important;
  gap:12px !important;
}
body.merchandise-page .merch-card-body .eyebrow{
  font-size:.72rem !important;
  letter-spacing:.18em !important;
  margin:0 !important;
}
body.merchandise-page .merch-card-body h3{
  font-size:1.55rem !important;
  line-height:1.05 !important;
}
body.merchandise-page .merch-product-copy{
  color:var(--merch-copy);
  line-height:1.6;
  min-height:4.8em;
}
body.merchandise-page .merch-price{
  margin:0 !important;
  font-size:1.35rem !important;
  color:#111827;
}
body.merchandise-page .merch-card-body label{
  display:grid;
  gap:8px !important;
  font-size:.8rem !important;
  font-weight:700;
  color:#111827;
}
body.merchandise-page .merch-card-body select,
body.merchandise-page .merch-card-body input,
body.merchandise-page .merch-order-form input,
body.merchandise-page .merch-order-form textarea{
  width:100%;
  min-height:46px !important;
  padding:0 14px !important;
  border:1px solid rgba(31,39,50,.12);
  border-radius:14px !important;
  background:#fff;
}
body.merchandise-page .merch-order-form textarea{
  min-height:130px !important;
  padding:14px !important;
  resize:vertical;
}
body.merchandise-page .merch-card-body .btn,
body.merchandise-page .basket-actions .btn,
body.merchandise-page .merch-order-form .btn{
  min-height:48px !important;
  padding:0 18px !important;
  font-size:.82rem !important;
}
body.merchandise-page .merchandise-support-grid,
body.merchandise-page .merchandise-step-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
body.merchandise-page .merchandise-support-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.merchandise-page .merchandise-audience-grid .card,
body.merchandise-page .merchandise-support-grid .card,
body.merchandise-page .merchandise-step-grid .card,
body.merchandise-page .basket-layout .card{
  background:#fff;
  border:1px solid rgba(31,39,50,.08);
  border-radius:22px !important;
  box-shadow:0 22px 42px rgba(15,23,42,.06);
}
body.merchandise-page .basket-section{
  background:linear-gradient(180deg,#fff,#fffaf5);
}
body.merchandise-page .basket-layout.container{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:24px !important;
}
body.merchandise-page .basket-card,
body.merchandise-page .merch-order-form{
  padding:26px !important;
}
body.merchandise-page .basket-items{
  display:grid;
  gap:14px;
}
body.merchandise-page .basket-line{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:16px 0;
  border-bottom:1px solid rgba(31,39,50,.08);
}
body.merchandise-page .basket-line span,
body.merchandise-page .muted,
body.merchandise-page .stripe-note{
  color:var(--merch-copy);
  line-height:1.6;
}
body.merchandise-page .basket-line-controls{
  display:flex;
  align-items:center;
  gap:10px;
}
body.merchandise-page .basket-line-controls input{
  width:80px;
}
body.merchandise-page .remove-basket-item{
  border:0;
  background:none;
  color:var(--merch-accent-deep);
  font-weight:800;
  cursor:pointer;
}
body.merchandise-page .basket-summary{
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-top:18px;
}
body.merchandise-page .basket-summary strong{
  font-size:1.7rem;
}
body.merchandise-page .merch-order-form{
  display:grid;
  gap:14px;
}
body.merchandise-page .merch-order-form h3{
  font-size:1.65rem;
  letter-spacing:-.03em;
}
body.merchandise-page .form-message[data-type="error"]{
  color:#b91c1c;
}
body.merchandise-page .form-message[data-type="info"]{
  color:#374151;
}
@media(max-width:1040px){
  body.merchandise-page .merchandise-hero-layout,
  body.merchandise-page .intro,
  body.merchandise-page .basket-layout.container{
    grid-template-columns:1fr !important;
  }
  body.merchandise-page .merch-grid.container,
  body.merchandise-page .merchandise-step-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:760px){
  body.merchandise-page .merch-grid.container,
  body.merchandise-page .merchandise-support-grid,
  body.merchandise-page .merchandise-step-grid{
    grid-template-columns:1fr !important;
  }
  body.merchandise-page .merchandise-hero-copy h1{
    max-width:none;
  }
  body.merchandise-page .basket-line{
    flex-direction:column;
  }
  body.merchandise-page .basket-line-controls{
    width:100%;
  }
}

.editable-opportunity-card{
  position:relative;
  display:flex !important;
  flex-direction:column;
  min-height:360px;
  padding:24px !important;
  border-radius:22px !important;
  background:linear-gradient(160deg,#fff 0%,#fafbfc 100%) !important;
  border:1px solid rgba(31,39,50,.12) !important;
  box-shadow:0 20px 48px rgba(31,39,50,.10),0 1px 0 rgba(255,255,255,.88) inset !important;
}

.editable-opportunity-card.compete{--upcoming-accent:var(--home-red)}
.editable-opportunity-card.train{--upcoming-accent:var(--home-orange)}
.editable-opportunity-card.intensive{--upcoming-accent:var(--home-purple)}
.editable-opportunity-card.perform{--upcoming-accent:var(--home-blue)}

.editable-opportunity-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--upcoming-accent,var(--home-red));
  opacity:.9;
}

.editable-opportunity-card .event-card-logo{
  width:96px;
  height:96px;
  object-fit:contain;
  margin:0 0 18px;
}

.editable-opportunity-card h3{
  min-height:0 !important;
  margin:0 0 18px !important;
  color:#151a23 !important;
  font-size:clamp(1.45rem,1.7vw,1.9rem) !important;
  line-height:1.04 !important;
  letter-spacing:0 !important;
  text-wrap:balance;
  white-space:normal !important;
}

.event-card-details{
  display:grid;
  gap:10px;
  margin:0 0 20px;
}

.event-card-details div{
  display:grid;
  grid-template-columns:minmax(84px,.4fr) minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding-bottom:10px;
  border-bottom:1px solid rgba(31,39,50,.08);
}

.event-card-details dt{
  color:var(--upcoming-accent,var(--home-red));
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.event-card-details dd{
  margin:0;
  color:#4a5565;
  font-size:.95rem;
  line-height:1.45;
  font-weight:700;
}

.editable-opportunity-card .actions{
  margin-top:auto;
}

.editable-opportunity-card .actions .btn{
  width:100%;
  justify-content:center;
  min-height:46px;
}

.home-gateway .home-opportunity-track > .editable-opportunity-card{
  scroll-snap-align:center;
  min-height:420px;
}

/* Homepage event cards omit their public heading, so the event logo expands
   into the released space while card details and actions retain alignment. */
.home-gateway .home-opportunity-track > .editable-opportunity-card .event-card-logo{
  width:140px;
  height:140px;
  margin:0 0 18px;
}

/* The dedicated Events page follows the same logo-led card treatment as the
   homepage: public headings are omitted by the renderer and logos use the
   released space without affecting event details or actions. */
body.events-page .editable-opportunities-grid > .editable-opportunity-card .event-card-logo{
  width:140px;
  height:140px;
  margin:0 0 18px;
}

body.events-page .editable-opportunities-grid > .editable-opportunity-card > h3{
  display:none !important;
}

/* Match homepage event actions to the established Events-page category colours. */
.home-gateway .editable-opportunity-card.compete{--homepage-event-action:#e31937}
.home-gateway .editable-opportunity-card.train{--homepage-event-action:#f07a1a}
.home-gateway .editable-opportunity-card.intensive{--homepage-event-action:#8e3dff}
.home-gateway .editable-opportunity-card.perform{--homepage-event-action:#007fc8}

.home-gateway .editable-opportunity-card .btn-primary{
  background:linear-gradient(
    135deg,
    color-mix(in srgb,var(--homepage-event-action,#e31937) 78%,#fff),
    var(--homepage-event-action,#e31937),
    color-mix(in srgb,var(--homepage-event-action,#e31937) 72%,#000)
  ) !important;
  color:#fff !important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--homepage-event-action,#e31937) 22%,transparent) !important;
}

.home-gateway .editable-opportunity-card .btn-outline{
  color:#171a20 !important;
  border-color:color-mix(in srgb,var(--homepage-event-action,#e31937) 28%,rgba(31,39,50,.16)) !important;
}

.home-gateway .editable-opportunity-card .btn-outline:hover,
.home-gateway .editable-opportunity-card .btn-outline:focus-visible{
  color:var(--homepage-event-action,#e31937) !important;
}

.home-gateway .editable-opportunity-card{
  transform:none !important;
}

body.events-page .unified-events-section{
  padding-top:clamp(46px,6vw,78px);
}

body.events-page .unified-events-intro{
  max-width:980px;
}

@media(max-width:1120px){
  .editable-opportunities-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .editable-opportunities-grid{
    grid-template-columns:1fr;
  }

  .editable-opportunity-card{
    min-height:auto;
  }

  .editable-opportunity-card h3{
    font-size:clamp(1.3rem,7vw,1.7rem) !important;
  }

  .event-card-details div{
    grid-template-columns:1fr;
    gap:4px;
  }
}

/* Social link hub */
body.social-hub-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 82% 12%, rgba(255,123,24,.16), transparent 26%),
    radial-gradient(circle at 18% 0%, rgba(7,135,212,.12), transparent 24%),
    linear-gradient(180deg, #0a0c10 0%, #12161d 100%);
  color:#fff;
}

body.social-hub-page .skip{
  color:#fff;
}

.social-hub-main{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px 18px;
}

.social-hub-shell{
  width:min(100%, 720px);
  padding:clamp(26px,4vw,38px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,123,24,.12), transparent 28%),
    radial-gradient(circle at 0% 0%, rgba(7,135,212,.12), transparent 24%),
    linear-gradient(180deg, rgba(12,16,22,.94), rgba(18,24,33,.92));
  box-shadow:0 34px 90px rgba(0,0,0,.34);
  backdrop-filter:blur(14px);
}

.social-hub-brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:28px;
}

.social-hub-brand img{
  width:72px;
  height:auto;
}

.social-hub-brand p{
  margin:0;
  color:rgba(255,255,255,.74);
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.social-hub-intro{
  margin-bottom:26px;
}

.social-hub-kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  color:#ffb173;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.social-hub-kicker::before{
  content:"";
  width:44px;
  height:1px;
  background:currentColor;
  opacity:.8;
}

body.social-hub-page .social-hub-intro h1{
  margin:0 0 14px;
  color:#fff !important;
  font-size:clamp(2.8rem,8vw,5.1rem);
  line-height:.92;
  letter-spacing:0;
  text-shadow:0 8px 28px rgba(0,0,0,.28);
}

.social-hub-intro p{
  margin:0;
  max-width:56ch;
  color:rgba(255,255,255,.78);
  font-size:1.03rem;
  line-height:1.65;
}

.social-hub-grid{
  display:grid;
  gap:14px;
}

.social-hub-card{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:rgba(255,255,255,.04);
  text-decoration:none;
  color:#fff;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.social-hub-card:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.065);
}

.social-hub-card img{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:14px;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
}

.social-hub-card span{
  display:block;
  margin-bottom:6px;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.social-hub-card strong{
  display:block;
  margin-bottom:6px;
  font-size:1.35rem;
  line-height:1.05;
}

.social-hub-card p{
  margin:0;
  color:rgba(255,255,255,.72);
  line-height:1.5;
}

.social-hub-card.compete{border-left:4px solid #ef1742;}
.social-hub-card.train{border-left:4px solid #ff7b18;}
.social-hub-card.intensive{border-left:4px solid #8e3dff;}
.social-hub-card.perform{border-left:4px solid #0787d4;}

.social-hub-support{
  display:grid;
  gap:14px;
  margin-top:18px;
}

.social-hub-whatsapp{
  display:block;
  padding:22px;
  border-radius:18px;
  text-decoration:none;
  color:#fff;
  background:linear-gradient(135deg, rgba(25,199,94,.24), rgba(15,130,61,.16));
  border:1px solid rgba(37,211,102,.28);
  box-shadow:0 18px 44px rgba(0,0,0,.2);
}

.social-hub-whatsapp span{
  display:block;
  margin-bottom:8px;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#9af0bf;
}

.social-hub-whatsapp strong{
  display:block;
  margin-bottom:8px;
  font-size:1.5rem;
  line-height:1.05;
}

.social-hub-whatsapp p{
  margin:0;
  color:rgba(255,255,255,.82);
  line-height:1.55;
}

.social-hub-secondary{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

.social-hub-secondary-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.04);
  color:#fff;
  text-decoration:none;
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.social-hub-socials{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}

.social-hub-socials a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.82);
  text-decoration:none;
  font-size:.85rem;
  font-weight:800;
}

@media(max-width:640px){
  .social-hub-shell{
    padding:22px 16px;
    border-radius:18px;
  }

  .social-hub-brand img{
    width:62px;
  }

  .social-hub-card{
    grid-template-columns:58px minmax(0,1fr);
    padding:16px;
  }

  .social-hub-card img{
    width:58px;
    height:58px;
    border-radius:12px;
  }

  .social-hub-card strong{
    font-size:1.18rem;
  }

  .social-hub-secondary{
    grid-template-columns:1fr;
  }
}

/* Scoped accent refresh: Info Pack + Events keep red buttons, swap non-button red accents to approved pink */
body.info-pack-page{
  --page-accent-pink:var(--adc-pink);
}

body.info-pack-page,
body.info-pack-page *{
  font-family:"Lato",sans-serif !important;
}

body.info-pack-page .info-pack-consent-choice{
  grid-template-columns:20px minmax(0,1fr);
  column-gap:12px;
  align-items:start;
  color:#26303d;
  font-size:clamp(.94rem,1.25vw,1rem);
  font-weight:500;
  letter-spacing:0;
  line-height:1.58;
  text-transform:none;
}

body.info-pack-page .info-pack-consent-choice input[type="checkbox"]{
  margin-top:.22rem;
  width:20px;
  height:20px;
}

body.info-pack-page .info-pack-consent-copy{
  min-width:0;
  text-wrap:pretty;
}

body.info-pack-page .info-pack-consent-copy a{
  color:#b60075;
  font-weight:800;
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}

body.info-pack-page .info-pack-consent-copy a:hover{
  color:#850056;
}

body.info-pack-page .info-pack-consent-copy a:focus-visible{
  border-radius:3px;
  outline:3px solid rgba(255,0,160,.24);
  outline-offset:3px;
}

/* Keep every Info Pack variant inside one balanced, responsive form card. */
body.info-pack-page .info-pack-form-panel{
  display:block !important;
  padding-inline:clamp(16px,7vw,112px) !important;
}

body.info-pack-page .info-pack-form-wrap{
  width:min(100%,960px) !important;
  max-width:960px !important;
  margin-inline:auto !important;
  padding:clamp(22px,3vw,40px) !important;
}

body.info-pack-page .info-pack-form-wrap > .form-reassurance{
  max-width:820px;
}

body.info-pack-page .lead-capture-form{
  width:100%;
  min-width:0;
  padding:clamp(20px,3vw,34px) !important;
}

body.info-pack-page .info-pack-request-details,
body.info-pack-page .info-pack-request-details > *,
body.info-pack-page .lead-capture-form label,
body.info-pack-page .lead-capture-form fieldset,
body.info-pack-page .lead-capture-form input,
body.info-pack-page .lead-capture-form select,
body.info-pack-page .lead-capture-form textarea{
  min-width:0;
}

body.info-pack-page #infoPackFormTitle{
  width:100%;
  max-width:820px;
  margin-inline:auto;
  font-size:clamp(2.35rem,4vw,3.8rem);
  line-height:1.02;
  letter-spacing:-.045em;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}

body.info-pack-page .info-pack-request-details > .lead{
  max-width:720px;
  margin-inline:auto;
  line-height:1.55;
  text-wrap:pretty;
}

body.info-pack-page .lead-capture-form .two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

@media(max-width:700px){
  body.info-pack-page .info-pack-form-panel{
    padding-inline:12px !important;
  }

  body.info-pack-page .info-pack-form-wrap{
    padding:16px !important;
    border-radius:22px;
  }

  body.info-pack-page .lead-capture-form{
    padding:18px !important;
    border-radius:20px !important;
  }

  body.info-pack-page #infoPackFormTitle{
    font-size:clamp(2rem,10vw,3rem);
  }

  body.info-pack-page .lead-capture-form .two{
    grid-template-columns:1fr;
  }

  body.info-pack-page .form-choice-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
}

body.info-pack-page .gold-word,
body.info-pack-page .eyebrow{
  color:var(--page-accent-pink);
}

body.info-pack-page .eyebrow:before{
  background:linear-gradient(90deg,var(--page-accent-pink),transparent);
}

body.info-pack-page .info-pack-compact-hero{
  background:
    radial-gradient(circle at 78% 16%,rgba(255,0,160,.13),transparent 30%),
    radial-gradient(circle at 22% 82%,rgba(142,61,255,.08),transparent 28%),
    linear-gradient(135deg,#fff 0%,#f8f9fb 58%,#eef1f4 100%) !important;
}

body.info-pack-page .info-pack-form-panel{
  background:
    linear-gradient(110deg,#fff 0%,#fff5fc 52%,#f7f0ff 100%) !important;
}

body.info-pack-page .form-reassurance{
  background:linear-gradient(135deg,#fff5fc,#fff);
  border-color:rgba(255,0,160,.18);
}

body.info-pack-page .pack-card.compete:before{
  background:var(--page-accent-pink);
}

body.info-pack-page .pack-card.compete .pack-cover strong,
body.info-pack-page .pack-card.compete a:not(.btn){
  color:var(--page-accent-pink);
}

/* Terms page: match the Info Pack button to the grey used for “Conditions”. */
html body.terms-page.black-silver-page .header .nav a.nav-cta[href*="info-pack.html"],
html body.terms-page.black-silver-page .header .nav a.nav-cta[href*="info-pack.html"]:is(:hover,:focus-visible){
  background:var(--silver-accent) !important;
  border-color:var(--silver-accent) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(141,150,163,.25) !important;
}

body.events-page{
  --page-accent-pink:var(--adc-pink);
}

body.events-page .gold-word,
body.events-page .events-hero .eyebrow,
body.events-page .unified-events-intro .eyebrow{
  color:var(--adc-pink-hover) !important;
}

body.events-page .events-hero .eyebrow:before,
body.events-page .unified-events-intro .eyebrow:before{
  background:linear-gradient(90deg,var(--page-accent-pink),transparent) !important;
}

body.events-page .editable-opportunity-card.compete{
  border-bottom-color:var(--page-accent-pink) !important;
}

body.events-page .editable-opportunity-card.compete:before{
  background:var(--page-accent-pink) !important;
}

body.events-page .editable-opportunity-card.compete .event-meta span:first-child,
body.events-page .editable-opportunity-card.compete .opportunity-date,
body.events-page .editable-opportunity-card.compete .opportunity-location{
  color:var(--page-accent-pink) !important;
}

body.events-page .editable-opportunity-card.compete .opportunity-date-summary{
  border-color:color-mix(in srgb,var(--page-accent-pink) 18%,rgba(31,39,50,.1));
  background:linear-gradient(180deg,#fff 0%,color-mix(in srgb,var(--page-accent-pink) 7%,#fff) 100%);
}

body.events-page .editable-opportunity-card.compete .opportunity-date-summary strong{
  color:var(--page-accent-pink);
}

body.events-page .event-category-card.compete .eyebrow,
body.events-page .event-category-card.compete a:not(.btn),
body.events-page .event-category-card.tickets .eyebrow,
body.events-page .event-category-card.tickets a:not(.btn){
  color:var(--page-accent-pink) !important;
}

body.events-page .event-category-card.compete .eyebrow:before,
body.events-page .event-category-card.tickets .eyebrow:before{
  background:linear-gradient(90deg,var(--page-accent-pink),transparent) !important;
}

body.events-page .event-category-card.compete:before,
body.events-page .event-category-card.tickets:before{
  background:var(--page-accent-pink) !important;
}

body.events-page .events-secondary-actions{
  background:
    radial-gradient(circle at 78% 0%,rgba(255,0,160,.055),transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
}

body.events-page .events-secondary-actions .card.tickets .eyebrow{
  color:var(--page-accent-pink) !important;
}

body.events-page .events-secondary-actions .card.tickets .eyebrow:before{
  background:linear-gradient(90deg,var(--page-accent-pink),transparent) !important;
}

/* Competition support pages: rules and workshops */
body.competition-support-page{
  --competition-accent:#f21646;
  --competition-accent-dark:#bf0d2d;
  --competition-line:rgba(242,22,70,.2);
  background:#f7f8fa;
  color:#171a22;
}

body.competition-support-page .header{
  background:rgba(255,255,255,.95);
  border-bottom:1px solid rgba(20,24,32,.08);
  box-shadow:0 12px 34px rgba(20,24,32,.05);
}

body.competition-support-page .nav{
  color:#202631;
}

body.competition-support-page .nav a:hover{
  color:var(--competition-accent);
}

body.competition-support-page .nav a:after{
  background:var(--competition-accent);
}

body.competition-support-page .nav-cta{
  color:var(--competition-accent);
  border-color:rgba(242,22,70,.28);
  background:#fff;
}

body.competition-support-page .menu{
  color:var(--competition-accent);
  border-color:rgba(242,22,70,.24);
}

body.competition-support-page .btn-primary{
  background:linear-gradient(135deg,#ff315f,var(--competition-accent),var(--competition-accent-dark));
  color:#fff;
  border-color:transparent;
  box-shadow:0 18px 38px rgba(242,22,70,.22);
}

body.competition-support-page .btn-outline{
  background:#fff;
  color:#121722;
  border-color:rgba(22,28,40,.16);
}

body.competition-support-page .eyebrow{
  color:var(--competition-accent);
}

body.competition-support-page .eyebrow:before{
  background:linear-gradient(90deg,var(--competition-accent),transparent);
}

/* Homepage section labels use the approved Info Pack pink. */
body.home-gateway .home-purpose .eyebrow,
body.home-gateway .photo-proof .eyebrow,
body.home-gateway .home-opportunities .eyebrow{
  color:#D60086 !important;
}

body.home-gateway .home-purpose .eyebrow:before,
body.home-gateway .photo-proof .eyebrow:before,
body.home-gateway .home-opportunities .eyebrow:before{
  background:linear-gradient(90deg,#D60086,transparent) !important;
}

/* Match the selected homepage labels to the approved "The atmosphere" treatment. */
body.home-gateway .home-reference-kicker{
  margin:0 !important;
  color:#D60086 !important;
  font-size:1.04rem !important;
  line-height:1.75 !important;
}

body.home-gateway .home-reference-kicker:before{
  background:linear-gradient(90deg,#D60086,transparent) !important;
}

body.competition-support-page .gold-word{
  color:var(--competition-accent);
}

.competition-support-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(82px,8vw,128px) 0 clamp(60px,7vw,96px);
  border-bottom:1px solid rgba(20,24,32,.08);
  background:
    radial-gradient(circle at 78% 18%,rgba(242,22,70,.12),transparent 28%),
    linear-gradient(180deg,#fff,#f8f9fb);
}

.competition-support-hero:after{
  content:"";
  position:absolute;
  right:-10vw;
  top:8%;
  width:42vw;
  height:42vw;
  border:1px solid rgba(242,22,70,.1);
  border-radius:50%;
  pointer-events:none;
}

.competition-support-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);
  gap:clamp(34px,6vw,84px);
  align-items:center;
}

.competition-support-copy{
  max-width:760px;
}

.competition-support-copy h1{
  color:#171a22;
  font-size:clamp(4rem,7.8vw,7.8rem);
  letter-spacing:-.075em;
}

.competition-support-copy .lead{
  margin-top:24px;
  color:#263245;
  max-width:700px;
}

.competition-support-copy p:not(.eyebrow):not(.lead){
  max-width:660px;
  color:#344054;
  font-size:1.05rem;
  line-height:1.75;
}

.competition-support-panel,
.competition-support-media,
.support-card,
.support-cta-panel{
  border:1px solid rgba(242,22,70,.16);
  background:rgba(255,255,255,.9);
  border-radius:8px;
  box-shadow:0 28px 62px rgba(17,24,39,.08);
}

.competition-support-panel{
  padding:28px;
}

.panel-kicker{
  margin:0 0 18px;
  color:var(--competition-accent);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.priority-list{
  display:grid;
  gap:16px;
  list-style:none;
  margin:0;
  padding:0;
}

.priority-list li{
  padding:0 0 16px;
  border-bottom:1px solid rgba(20,24,32,.08);
}

.priority-list li:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.priority-list strong,
.priority-list span{
  display:block;
}

.priority-list strong{
  margin-bottom:5px;
  color:#151922;
  font-size:1.08rem;
}

.priority-list span{
  color:#4a5668;
  line-height:1.6;
}

.competition-support-media{
  overflow:hidden;
}

.competition-support-media img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

.support-media-caption{
  padding:18px 20px;
  color:#4a5668;
  font-weight:800;
  line-height:1.45;
}

.competition-support-section{
  padding:clamp(68px,8vw,112px) 0;
}

.support-section-soft{
  border-top:1px solid rgba(20,24,32,.07);
  border-bottom:1px solid rgba(20,24,32,.07);
  background:#fff;
}

.competition-support-intro{
  max-width:760px;
  margin-bottom:34px;
}

.competition-support-intro h2,
.support-cta-panel h2,
.support-split h2{
  color:#171a22;
  font-size:clamp(2.45rem,4.6vw,4.7rem);
  letter-spacing:-.06em;
}

.support-card-grid{
  display:grid;
  gap:18px;
}

.support-card-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.support-card{
  position:relative;
  min-height:220px;
  padding:28px;
  overflow:hidden;
}

.support-card:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg,var(--competition-accent),var(--competition-accent-dark));
}

.support-card span,
.rules-route-grid span{
  display:block;
  margin-bottom:18px;
  color:var(--competition-accent);
  font-weight:900;
  letter-spacing:.12em;
}

.support-card h3{
  color:#151922;
  font-size:1.55rem;
  letter-spacing:-.035em;
}

.support-card p,
.support-lead,
.support-cta-panel p{
  color:#455267;
  line-height:1.7;
}

.support-split{
  display:grid;
  grid-template-columns:.72fr 1fr;
  gap:clamp(32px,5vw,70px);
  align-items:start;
}

.support-split.reverse{
  grid-template-columns:1fr .72fr;
}

.support-split.reverse > div:first-child{
  order:2;
}

.support-details-list{
  display:grid;
  gap:12px;
}

.support-details-list.compact{
  margin-top:26px;
}

.support-details-list details{
  border:1px solid rgba(20,24,32,.1);
  background:#fff;
  border-radius:8px;
  box-shadow:0 16px 34px rgba(17,24,39,.045);
}

.support-details-list summary{
  cursor:pointer;
  padding:20px 22px;
  color:#151922;
  font-weight:900;
  font-size:1.05rem;
  list-style:none;
}

.support-details-list summary::-webkit-details-marker{
  display:none;
}

.support-details-list summary:after{
  content:"+";
  float:right;
  color:var(--competition-accent);
  font-weight:900;
}

.support-details-list details[open] summary:after{
  content:"-";
}

.support-details-list p{
  margin:0;
  padding:0 22px 18px;
  color:#455267;
  line-height:1.7;
}

.support-details-list a{
  color:var(--competition-accent);
  font-weight:800;
}

.rules-route-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}

.rules-route-grid a{
  display:block;
  min-height:180px;
  padding:24px;
  border:1px solid rgba(242,22,70,.16);
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 40px rgba(17,24,39,.055);
}

.rules-route-grid strong,
.rules-route-grid small{
  display:block;
}

.rules-route-grid strong{
  color:#151922;
  font-size:1.2rem;
  line-height:1.2;
}

.rules-route-grid small{
  margin-top:12px;
  color:#596679;
  line-height:1.5;
}

.support-cta-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:34px;
}

.support-cta-panel .actions{
  margin-top:0;
  justify-content:flex-end;
}

@media(max-width:1040px){
  body.competition-support-page .nav{
    background:rgba(255,255,255,.98);
    border-color:rgba(20,24,32,.1);
  }

  .competition-support-hero-grid,
  .support-split,
  .support-split.reverse,
  .support-card-grid.three,
  .rules-route-grid,
  .support-cta-panel{
    grid-template-columns:1fr;
  }

  .support-split.reverse > div:first-child{
    order:0;
  }

  .support-cta-panel{
    display:grid;
  }

  .support-cta-panel .actions{
    justify-content:flex-start;
  }
}

@media(max-width:640px){
  .competition-support-hero{
    padding-top:64px;
  }

  .competition-support-copy h1{
    font-size:clamp(3rem,17vw,4.6rem);
  }

  .competition-support-intro h2,
  .support-cta-panel h2,
  .support-split h2{
    font-size:clamp(2.15rem,11vw,3.35rem);
  }

  .support-card,
  .competition-support-panel,
  .support-cta-panel{
    padding:22px;
  }

  .rules-route-grid a{
    min-height:auto;
  }
}

/* Competition rules premium redesign */
body.rules-redesign-page{
  --rules-red:#f21646;
  --rules-red-dark:#b9092c;
  --rules-pink:#ff2f68;
  --rules-ink:#151922;
  --rules-muted:#4d5a6d;
  --rules-line:rgba(242,22,70,.16);
  --rules-shadow:0 24px 60px rgba(18,24,36,.08);
  background:
    radial-gradient(circle at 86% 8%,rgba(242,22,70,.11),transparent 27rem),
    linear-gradient(180deg,#fff 0%,#f8f9fb 48%,#fff 100%);
}

body.rules-redesign-page .rules-premium-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(72px,8vw,118px) 0 clamp(54px,7vw,86px);
  border-bottom:1px solid rgba(18,24,36,.08);
}

body.rules-redesign-page .rules-premium-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 42%,rgba(255,255,255,.58) 100%),
    url("assets/images/competitions/experience-grid/competition-experience-06.jpg") right center/cover no-repeat;
  opacity:.92;
}

body.rules-redesign-page .rules-premium-hero:after{
  content:"";
  position:absolute;
  right:-14rem;
  top:-18rem;
  width:36rem;
  height:36rem;
  border:1px solid rgba(242,22,70,.12);
  border-radius:50%;
  box-shadow:0 0 0 5rem rgba(242,22,70,.035);
}

body.rules-redesign-page .rules-hero-layout,
body.rules-redesign-page .rules-start-section .container,
body.rules-redesign-page .rules-journey-shell,
body.rules-redesign-page .rules-stage-layout,
body.rules-redesign-page .rules-final-panel{
  position:relative;
  z-index:1;
  max-width:1260px;
}

body.rules-redesign-page .rules-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(340px,.78fr);
  gap:clamp(34px,6vw,78px);
  align-items:center;
}

body.rules-redesign-page .rules-hero-copy{
  max-width:760px;
}

body.rules-redesign-page .rules-hero-copy h1{
  max-width:760px;
  margin:0;
  color:var(--rules-ink);
  font-size:clamp(4rem,7.2vw,7rem);
  line-height:.94;
  letter-spacing:-.075em;
}

body.rules-redesign-page .rules-hero-copy .lead{
  max-width:690px;
  margin-top:24px;
  color:#243044;
  font-size:clamp(1.08rem,1.45vw,1.28rem);
  line-height:1.7;
}

body.rules-redesign-page .rules-hero-card{
  overflow:hidden;
  border:1px solid rgba(242,22,70,.18);
  border-radius:10px;
  background:#10131a;
  box-shadow:0 34px 80px rgba(18,24,36,.18);
}

body.rules-redesign-page .rules-hero-card img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  filter:saturate(1.08) contrast(1.03);
}

body.rules-redesign-page .rules-hero-card-copy{
  display:grid;
  gap:8px;
  padding:22px 24px 24px;
  background:linear-gradient(135deg,#121722 0%,#260811 100%);
  color:#fff;
}

body.rules-redesign-page .rules-hero-card-copy span{
  color:#ff7f98;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

body.rules-redesign-page .rules-hero-card-copy strong{
  max-width:32ch;
  font-size:1.12rem;
  line-height:1.45;
}

body.rules-redesign-page .rules-start-section{
  padding:clamp(58px,7vw,94px) 0;
  background:#fff;
}

body.rules-redesign-page .rules-section-heading{
  max-width:790px;
  margin-bottom:32px;
}

body.rules-redesign-page .rules-section-heading.compact{
  max-width:720px;
}

body.rules-redesign-page .rules-section-heading h2,
body.rules-redesign-page .rules-stage-intro h2,
body.rules-redesign-page .rules-final-panel h2{
  margin:0;
  color:var(--rules-ink);
  font-size:clamp(2.8rem,5vw,5.15rem);
  line-height:1;
  letter-spacing:-.065em;
}

body.rules-redesign-page .rules-section-heading p:not(.eyebrow),
body.rules-redesign-page .rules-stage-intro p:not(.eyebrow),
body.rules-redesign-page .rules-final-panel p:not(.eyebrow){
  max-width:660px;
  color:var(--rules-muted);
  font-size:1.02rem;
  line-height:1.75;
}

body.rules-redesign-page .rules-priority-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

body.rules-redesign-page .rules-priority-grid article{
  position:relative;
  min-height:210px;
  padding:25px 24px 24px;
  overflow:hidden;
  border:1px solid rgba(18,24,36,.1);
  border-top:4px solid var(--rules-red);
  border-radius:10px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,246,248,.92)),
    radial-gradient(circle at 100% 100%,rgba(242,22,70,.1),transparent 52%);
  box-shadow:0 18px 46px rgba(18,24,36,.055);
}

body.rules-redesign-page .rules-priority-grid article:after{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-54px;
  width:150px;
  height:150px;
  border:1px solid rgba(242,22,70,.12);
  border-radius:50%;
}

body.rules-redesign-page .rules-priority-grid span{
  display:block;
  margin-bottom:18px;
  color:var(--rules-red);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
}

body.rules-redesign-page .rules-priority-grid h3{
  position:relative;
  margin:0 0 14px;
  color:#101522;
  font-size:1.25rem;
  letter-spacing:-.035em;
  line-height:1.18;
}

body.rules-redesign-page .rules-priority-grid p{
  position:relative;
  margin:0;
  color:#4a5668;
  line-height:1.65;
}

body.rules-redesign-page .rules-journey-section{
  padding:clamp(62px,7vw,96px) 0;
  border-top:1px solid rgba(18,24,36,.08);
  border-bottom:1px solid rgba(18,24,36,.08);
  background:linear-gradient(135deg,#151922 0%,#250711 100%);
  color:#fff;
}

body.rules-redesign-page .rules-journey-section .rules-section-heading h2,
body.rules-redesign-page .rules-journey-section .rules-section-heading p:not(.eyebrow){
  color:#fff;
}

body.rules-redesign-page .rules-journey-section .rules-section-heading p:not(.eyebrow){
  color:rgba(255,255,255,.74);
}

body.rules-redesign-page .rules-stage-nav{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:32px;
}

body.rules-redesign-page .rules-stage-nav a{
  display:grid;
  gap:18px;
  min-height:148px;
  padding:22px;
  align-content:space-between;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(255,255,255,.055);
  color:#fff;
  font-weight:900;
  line-height:1.18;
  box-shadow:0 20px 42px rgba(0,0,0,.18);
  transition:transform .2s ease-out, border-color .2s ease-out, background .2s ease-out;
}

body.rules-redesign-page .rules-stage-nav a:hover,
body.rules-redesign-page .rules-stage-nav a:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(255,47,104,.7);
  background:rgba(242,22,70,.18);
}

body.rules-redesign-page .rules-stage-nav span{
  color:#ff7892;
  font-size:.76rem;
  letter-spacing:.16em;
}

body.rules-redesign-page .rules-stage-block{
  padding:clamp(72px,8vw,116px) 0;
  background:
    radial-gradient(circle at 91% 10%,rgba(242,22,70,.06),transparent 28rem),
    #fff;
}

body.rules-redesign-page .rules-stage-feature{
  background:
    radial-gradient(circle at 8% 28%,rgba(242,22,70,.07),transparent 26rem),
    linear-gradient(180deg,#fbfcfe 0%,#fff 100%);
}

body.rules-redesign-page .rules-stage-layout{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);
  gap:clamp(32px,5.6vw,72px);
  align-items:start;
}

body.rules-redesign-page .rules-stage-layout.reverse{
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
}

body.rules-redesign-page .rules-stage-layout.reverse .rules-stage-intro{
  order:2;
}

body.rules-redesign-page .rules-stage-intro{
  position:sticky;
  top:132px;
}

body.rules-redesign-page .rules-accordion-stack{
  display:grid;
  gap:12px;
}

body.rules-redesign-page .rules-accordion-stack details{
  overflow:hidden;
  border:1px solid rgba(18,24,36,.1);
  border-radius:10px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 44px rgba(18,24,36,.06);
}

body.rules-redesign-page .rules-accordion-stack details[open]{
  border-color:rgba(242,22,70,.26);
  box-shadow:0 24px 60px rgba(18,24,36,.08);
}

body.rules-redesign-page .rules-accordion-stack summary{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  cursor:pointer;
  padding:22px 24px;
  color:#111622;
  font-size:1.18rem;
  font-weight:900;
  letter-spacing:-.025em;
  list-style:none;
}

body.rules-redesign-page .rules-accordion-stack summary::-webkit-details-marker{
  display:none;
}

body.rules-redesign-page .rules-accordion-stack summary:before{
  content:"";
  width:40px;
  height:2px;
  flex:0 0 auto;
  background:linear-gradient(90deg,var(--rules-red),transparent);
}

body.rules-redesign-page .rules-accordion-stack summary:after{
  content:"+";
  margin-left:auto;
  color:var(--rules-red);
  font-size:1.35rem;
  font-weight:900;
}

body.rules-redesign-page .rules-accordion-stack details[open] summary:after{
  content:"-";
}

body.rules-redesign-page .rules-accordion-stack p{
  margin:0;
  padding:0 24px 18px 86px;
  color:#445167;
  line-height:1.72;
}

body.rules-redesign-page .rules-final-cta{
  padding:clamp(66px,8vw,108px) 0;
  background:#fff;
}

body.rules-redesign-page .rules-final-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:center;
  padding:clamp(30px,4vw,48px);
  overflow:hidden;
  border:1px solid rgba(242,22,70,.18);
  border-radius:12px;
  background:
    linear-gradient(110deg,rgba(255,255,255,.96),rgba(255,244,247,.9)),
    radial-gradient(circle at 100% 100%,rgba(242,22,70,.15),transparent 34%);
  box-shadow:var(--rules-shadow);
}

body.rules-redesign-page .rules-final-panel h2{
  font-size:clamp(2.7rem,4vw,4.25rem);
}

body.rules-redesign-page .rules-final-panel .actions{
  margin-top:0;
  justify-content:flex-end;
}

@media(max-width:1120px){
  body.rules-redesign-page .rules-priority-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.rules-redesign-page .rules-stage-nav{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:980px){
  body.rules-redesign-page .rules-hero-layout,
  body.rules-redesign-page .rules-stage-layout,
  body.rules-redesign-page .rules-stage-layout.reverse,
  body.rules-redesign-page .rules-final-panel{
    grid-template-columns:1fr;
  }

  body.rules-redesign-page .rules-stage-layout.reverse .rules-stage-intro{
    order:0;
  }

  body.rules-redesign-page .rules-stage-intro{
    position:static;
  }

  body.rules-redesign-page .rules-final-panel .actions{
    justify-content:flex-start;
  }
}

@media(max-width:680px){
  body.rules-redesign-page .rules-premium-hero{
    padding-top:58px;
  }

  body.rules-redesign-page .rules-hero-copy h1{
    font-size:clamp(3.1rem,16vw,4.55rem);
  }

  body.rules-redesign-page .rules-section-heading h2,
  body.rules-redesign-page .rules-stage-intro h2{
    font-size:clamp(2.55rem,12vw,3.65rem);
  }

  body.rules-redesign-page .rules-priority-grid,
  body.rules-redesign-page .rules-stage-nav{
    grid-template-columns:1fr;
  }

  body.rules-redesign-page .rules-stage-nav a{
    min-height:108px;
  }

  body.rules-redesign-page .rules-accordion-stack summary{
    padding:20px;
    font-size:1.08rem;
  }

  body.rules-redesign-page .rules-accordion-stack summary:before{
    width:28px;
  }

body.rules-redesign-page .rules-accordion-stack p{
    padding:0 20px 17px;
  }
}

/* Approved ADC pink CTA standardisation. */
body:not(.admin-body) .nav .nav-cta{
  background:var(--adc-pink) !important;
  border-color:var(--adc-pink) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(255,0,160,.22) !important;
}

body:not(.admin-body) .nav .nav-cta:hover,
body:not(.admin-body) .nav .nav-cta:focus-visible{
  background:var(--adc-pink-hover) !important;
  border-color:var(--adc-pink-hover) !important;
  color:#fff !important;
  box-shadow:0 18px 38px rgba(214,0,134,.26) !important;
}

body.events-page:not(.perform-events-page) .events-hero .actions .btn-primary,
body.events-page:not(.perform-events-page) .simple-start-strip .btn-primary{
  background:var(--adc-pink) !important;
  border-color:var(--adc-pink) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(255,0,160,.22) !important;
}

body.events-page:not(.perform-events-page) .events-hero .actions .btn-primary:hover,
body.events-page:not(.perform-events-page) .events-hero .actions .btn-primary:focus-visible,
body.events-page:not(.perform-events-page) .simple-start-strip .btn-primary:hover,
body.events-page:not(.perform-events-page) .simple-start-strip .btn-primary:focus-visible{
  background:var(--adc-pink-hover) !important;
  border-color:var(--adc-pink-hover) !important;
  color:#fff !important;
  box-shadow:0 18px 38px rgba(214,0,134,.26) !important;
}

body.events-page:not(.perform-events-page) .events-hero .actions .btn-outline{
  background:#fff !important;
  border-color:var(--adc-pink) !important;
  color:var(--adc-pink) !important;
}

body.events-page:not(.perform-events-page) .events-hero .actions .btn-outline:hover,
body.events-page:not(.perform-events-page) .events-hero .actions .btn-outline:focus-visible{
  background:var(--adc-pink) !important;
  border-color:var(--adc-pink) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(255,0,160,.18) !important;
}
.competition-card-action-row .whatsapp-reminder-trigger {
  flex: 1 1 100%;
}

/* Preserve the approved three-line homepage hero statement responsively. */
.home-film-copy #home-title{
  max-width:1100px !important;
  font-size:clamp(3.25rem,6.1vw,6.6rem) !important;
}

.home-film-copy #home-title .home-hero-title-line{
  display:block;
  white-space:nowrap;
}

@media(max-width:820px){
  .home-film-copy #home-title{
    font-size:clamp(2.15rem,8.2vw,3.8rem) !important;
  }
}

@media(max-width:420px){
  .home-film-copy #home-title{
    font-size:clamp(1.65rem,7.8vw,2.2rem) !important;
  }
}

.whatsapp-reminders-admin-page .container {
  max-width: 1480px;
}

.whatsapp-admin-health {
  margin: 0 0 32px;
}

.whatsapp-admin-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
}

.whatsapp-admin-detail-row {
  display: grid;
  gap: 4px;
  padding: 12px;
  background: #f6f7f9;
  border-radius: 10px;
  overflow-wrap: anywhere;
}

.whatsapp-admin-job {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #e4e7eb;
  padding: 12px 0;
}

#whatsappEventConfiguration details {
  border: 1px solid #e4e7eb;
  border-radius: 12px;
  margin: 10px 0;
  padding: 14px;
}

#whatsappEventConfiguration summary {
  cursor: pointer;
  font-weight: 700;
}

@media (max-width: 700px) {
  .whatsapp-admin-detail-grid {
    grid-template-columns: 1fr;
  }
}

/* Public UI consistency tokens and shared navigation behaviour.
   These aliases deliberately reuse the established site values. */
:root {
  --site-content-width: var(--max);
  --page-padding-inline: 20px;
  --page-padding-inline-mobile: 14px;
  --space-section: clamp(76px, 9vw, 134px);
  --space-section-mobile: clamp(52px, 12vw, 76px);
  --space-grid: 22px;
  --space-grid-mobile: 16px;
  --card-padding: 28px;
  --card-padding-mobile: 22px;
  --card-radius: var(--radius);
  --card-shadow: var(--shadow);
  --button-min-height: 52px;
  --button-padding-inline: 24px;
  --button-radius: 0;
  --focus-outline: 3px solid var(--adc-pink);
  --site-header-height: 86px;
  --mobile-quick-links-height: 58px;
  --anchor-offset: calc(var(--site-header-height) + 24px);
}

body:not(.admin-body) .container {
  width: min(var(--site-content-width), calc(100% - (2 * var(--page-padding-inline))));
}

body:not(.admin-body) .btn {
  min-height: var(--button-min-height);
  padding-inline: var(--button-padding-inline);
  border-radius: var(--button-radius);
}

body:not(.admin-body) :where(a, button, input, select, textarea, summary):focus-visible {
  outline: var(--focus-outline);
  outline-offset: 4px;
}

body:not(.admin-body) main [id] {
  scroll-margin-top: var(--anchor-offset);
}

#google_translate_element[aria-hidden="true"] {
  display: none !important;
}

.mobile-page-jumps {
  display: none;
}

.mobile-page-jumps-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: var(--mobile-quick-links-height);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  white-space: nowrap;
}

.mobile-page-jumps-inner > span {
  flex: 0 0 auto;
  color: #232834;
  font-size: .73rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mobile-page-jumps a {
  position: relative;
  flex: 0 0 auto;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border: 1px solid rgba(19, 24, 34, .15);
  border-radius: 999px;
  color: #232834;
  background: #fff;
  font-size: .78rem;
  font-weight: 800;
}

.mobile-page-jumps a[aria-current="location"] {
  border-color: var(--adc-pink);
  box-shadow: inset 0 -3px 0 var(--adc-pink);
}

.home-opportunity-shell,
.home-opportunity-track {
  min-width: 0;
  max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

@media (max-width: 820px) {
  :root {
    --site-header-height: 76px;
    --anchor-offset: calc(var(--site-header-height) + var(--mobile-quick-links-height) + 18px);
  }

  body:not(.admin-body) .container {
    width: min(var(--site-content-width), calc(100% - (2 * var(--page-padding-inline-mobile))));
  }

  .mobile-page-jumps {
    position: sticky;
    top: var(--site-header-height);
    z-index: 44;
    display: block;
    min-height: var(--mobile-quick-links-height);
    border-block: 1px solid rgba(19, 24, 34, .1);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 24px rgba(19, 24, 34, .08);
    backdrop-filter: blur(14px);
  }

  .mobile-page-jumps-inner {
    width: 100%;
    max-width: none;
    padding-inline: max(var(--page-padding-inline-mobile), env(safe-area-inset-left));
    padding-right: max(var(--page-padding-inline-mobile), env(safe-area-inset-right));
  }

  body:not(.admin-body) .section {
    padding-block: var(--space-section-mobile);
  }

  body:not(.admin-body) :where(.cards-2, .cards-3, .cards-4) {
    gap: var(--space-grid-mobile);
  }
}

/* Final mobile interaction floor, placed after page-specific overrides. */
body.training-page .btn,
body.perform-events-page .btn,
.calendar-export summary,
.calendar-register-link,
.calendar-export-menu a,
.calendar-export-menu button{min-height:44px!important}
body.events-page.perform-events-page .events-secondary-actions .btn,
body.events-page.perform-events-page .event-category-card .actions.compact .btn{min-height:44px!important}

@media(max-width:820px){
  html[data-mobile-section-spacing="compact"] body:not(.admin-body) .section{padding-block:48px}
  html[data-mobile-section-spacing="spacious"] body:not(.admin-body) .section{padding-block:86px}
  html[data-mobile-card-gap="compact"] :where(.cards-2,.cards-3,.cards-4){gap:10px}
  html[data-mobile-card-gap="spacious"] :where(.cards-2,.cards-3,.cards-4){gap:26px}
  html[data-mobile-card-columns="two_when_space_allows"] :where(.cards-2,.cards-3,.cards-4){grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
  html[data-mobile-full-width-buttons="true"] body:not(.admin-body) .actions .btn{width:100%}
  html[data-mobile-text-alignment="centre"] body:not(.admin-body) :where(.intro,.section-heading){text-align:center}
}
/* Managed Intensive locations and concise Intensives-page rhythm */
body.intensives-page .main-page-hero.intensives-hero.intensive-pdf-hero{
  min-height:0;
  padding-block:clamp(52px,7vw,88px) clamp(44px,6vw,72px);
}
body.intensives-page .main-page-hero.intensives-hero .intensive-hero-body{
  margin-top:14px;
}
body.intensives-page .main-page-hero.intensives-hero .intensive-hero-body p{
  margin-bottom:10px;
}
body.intensives-page .intensive-upcoming-section{
  padding-block:clamp(52px,6vw,78px);
}
body.intensives-page .intensive-upcoming-section .intensive-section-heading{
  margin-bottom:24px;
}
body.intensives-page .intensive-location-dates{
  color:var(--intensive-ink);
  font-weight:800;
}
body.intensives-page .intensive-location-venue{
  color:#526071;
  font-size:.94rem;
}

.intensive-locations-admin-page .admin-shell{
  max-width:1180px !important;
}
.intensive-locations-admin-page .admin-added-event{
  align-items:center;
}
.intensive-location-admin-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.intensive-location-admin-actions .btn{
  min-height:44px;
}
.intensive-location-archived{
  opacity:.68;
}
.intensive-location-preview{
  width:min(560px,calc(100% - 28px));
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
  color:var(--soft);
  background:#101116;
}
.intensive-location-preview::backdrop{
  background:rgba(0,0,0,.72);
}
.intensive-location-preview .intensive-location-card{
  display:grid;
  gap:10px;
  margin-top:18px;
  padding:24px;
  border-radius:16px;
  background:#fff;
  color:#171a22;
}
.intensive-location-preview .intensive-location-card strong{
  font-size:1.7rem;
}

@media(max-width:768px){
  .intensive-locations-admin-page .admin-added-event{
    align-items:stretch;
    flex-direction:column;
  }
  .intensive-location-admin-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-content:stretch;
  }
}

@media(max-width:430px){
  .intensive-location-admin-actions{
    grid-template-columns:1fr;
  }
  body.intensives-page .main-page-hero.intensives-hero.intensive-pdf-hero{
    padding-block:42px 38px;
  }
}

/* Every public button-style Info Pack link uses the approved brand pink. */
:root{
  --info-pack-pink:#D60086;
}

body:not(.admin-body) .header .nav a.nav-cta[href*="info-pack.html"],
body:not(.admin-body) a[data-info-pack-pdf]:is(
  .btn,
  .nav-cta,
  .intensive-btn,
  .social-hub-secondary-link,
  .arrow
),
body:not(.admin-body) a[href*="info-pack.html"]:is(
  .btn,
  .nav-cta,
  .intensive-btn,
  .social-hub-secondary-link,
  .arrow
){
  background:var(--info-pack-pink) !important;
  border-color:var(--info-pack-pink) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(214,0,134,.24) !important;
}

body:not(.admin-body) .header .nav a.nav-cta[href*="info-pack.html"]:is(:hover,:focus-visible),
body:not(.admin-body) a[data-info-pack-pdf]:is(
  .btn,
  .nav-cta,
  .intensive-btn,
  .social-hub-secondary-link,
  .arrow
):is(:hover,:focus-visible),
body:not(.admin-body) a[href*="info-pack.html"]:is(
  .btn,
  .nav-cta,
  .intensive-btn,
  .social-hub-secondary-link,
  .arrow
):is(:hover,:focus-visible){
  background:var(--info-pack-pink) !important;
  border-color:var(--info-pack-pink) !important;
  color:#fff !important;
  box-shadow:0 18px 40px rgba(214,0,134,.34) !important;
}

/* Intensive booking actions mirror the balanced Events-card button row. */
body.intensives-page .intensive-upcoming-section .intensive-location-grid{
  grid-template-columns:repeat(3,minmax(0,350px));
  justify-content:center;
  gap:24px;
}

body.intensives-page .intensive-upcoming-section .intensive-location-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:459px;
  padding:24px;
  overflow:hidden;
  border:1px solid rgba(31,39,50,.12);
  border-left:4px solid var(--intensive-purple);
  border-bottom:1px solid rgba(31,39,50,.12);
  border-radius:22px;
  background:linear-gradient(160deg,#fff 0%,#fafbfc 100%);
  box-shadow:0 20px 48px rgba(31,39,50,.10),0 1px 0 rgba(255,255,255,.88) inset;
}

body.intensives-page .intensive-upcoming-section .intensive-location-logo{
  display:block;
  width:140px;
  height:140px;
  margin:0 0 18px;
  object-fit:contain;
}

body.intensives-page .intensive-upcoming-section .intensive-location-card > strong.visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

body.intensives-page .intensive-upcoming-section .intensive-location-details{
  display:grid;
  gap:10px;
  margin:0 0 12px;
}

body.intensives-page .intensive-upcoming-section .intensive-location-details div{
  display:grid;
  grid-template-columns:minmax(84px,.4fr) minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding-bottom:10px;
  border-bottom:1px solid rgba(31,39,50,.08);
}

body.intensives-page .intensive-upcoming-section .intensive-location-details dt{
  color:var(--intensive-purple);
  font-family:"Lato",sans-serif;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.intensives-page .intensive-upcoming-section .intensive-location-details dd{
  margin:0;
  color:#4a5565;
  font-family:"Lato",sans-serif;
  font-size:.95rem;
  line-height:1.45;
  font-weight:700;
}

/* Mandatory site typography lock: every website-owned element and generated
   text uses Lato, including controls, modals and dynamically rendered cards. */
html,
body,
body *,
body *::before,
body *::after{
  font-family:"Lato",sans-serif !important;
}

.phone-field-row{
  display:grid;
  grid-template-columns:minmax(132px,.38fr) minmax(0,1fr);
  align-items:start;
  gap:14px;
  width:100%;
}

/* Admin analytics workspace: first-party Wix-parity reporting */
body.admin-body[data-admin-panel="analytics"] .admin-shell{
  max-width:1440px;
}
body.admin-body[data-admin-panel="analytics"] #analyticsPanel{
  border-top:0;
}
.analytics-section-nav{
  position:sticky;
  top:10px;
  z-index:12;
  display:flex;
  gap:8px;
  overflow-x:auto;
  margin:0 0 24px;
  padding:9px;
  border:1px solid rgba(31,39,50,.12);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 34px rgba(31,39,50,.09);
  backdrop-filter:blur(16px);
}
.analytics-section-nav a{
  flex:0 0 auto;
  padding:10px 14px;
  border-radius:12px;
  color:#46566b;
  font-size:.82rem;
  font-weight:900;
  text-decoration:none;
}
.analytics-section-nav a:hover,
.analytics-section-nav a:focus-visible{
  background:#171a20;
  color:#fff;
}
.analytics-dashboard-section{
  scroll-margin-top:96px;
  margin:22px 0;
  padding:22px;
  border:1px solid rgba(31,39,50,.1);
  border-radius:24px;
  background:linear-gradient(155deg,rgba(255,255,255,.88),rgba(247,249,252,.72));
}
.analytics-section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:26px 0 16px;
}
.analytics-dashboard-section > .analytics-section-title{
  margin-top:0;
}
.analytics-section-title .eyebrow{
  margin:0 0 5px;
}
.analytics-section-title h4{
  margin:0 !important;
  color:#171a20 !important;
  font-size:clamp(1.45rem,2.5vw,2.25rem) !important;
}
.analytics-section-title > span{
  max-width:320px;
  color:#65717f;
  font-size:.88rem;
  line-height:1.45;
  text-align:right;
}
.analytics-grid-three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.analytics-business-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.analytics-export-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:16px;
}
.analytics-report-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.analytics-report-link{
  display:flex;
  min-height:132px;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  padding:18px;
  border:1px solid rgba(31,39,50,.12);
  border-radius:18px;
  background:#fff;
  color:#171a20;
  text-decoration:none;
  box-shadow:0 14px 34px rgba(31,39,50,.07);
}
a.analytics-report-link:hover,
a.analytics-report-link:focus-visible{
  border-color:rgba(227,25,55,.5);
  transform:translateY(-2px);
}
.analytics-report-link strong{
  font-size:1.05rem;
}
.analytics-report-link span{
  color:#65717f;
  line-height:1.5;
}
.analytics-report-unavailable{
  border-style:dashed;
  box-shadow:none;
}
@media(max-width:1050px){
  .analytics-grid-three,
  .analytics-report-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .analytics-business-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .analytics-dashboard-section{
    padding:16px;
    border-radius:18px;
  }
  .analytics-section-title{
    display:block;
  }
  .analytics-section-title > span{
    display:block;
    margin-top:8px;
    text-align:left;
  }
  .analytics-grid-three,
  .analytics-report-links,
  .analytics-business-grid{
    grid-template-columns:1fr;
  }
  .analytics-section-nav{
    top:4px;
    margin-inline:-8px;
  }
}

body.info-pack-page .lead-capture-form .phone-field-row > label{
  align-content:start;
}

body.info-pack-page .lead-capture-form .phone-field-row :is(input,select){
  min-height:50px;
  height:50px;
}

.contact-name-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  width:100%;
}

#contact-request-form{
  scroll-margin-top:116px;
}

@media(max-width:560px){
  .phone-field-row,
  .contact-name-row{
    grid-template-columns:1fr;
  }

  #contact-request-form{
    scroll-margin-top:96px;
  }
}

body.intensives-page .intensive-upcoming-section .intensive-location-card small{
  margin:0 0 14px;
}

body.intensives-page .intensive-upcoming-section .intensive-card-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:9px;
  width:100%;
  margin-top:auto;
}

body.intensives-page .intensive-upcoming-section .intensive-card-actions .intensive-btn {
  width:100%;
  min-width:0;
  min-height:50px;
  height:50px;
  padding:6px;
  border-radius:0;
  font-family:"Lato",sans-serif;
  font-size:.64rem;
  line-height:1.15;
  letter-spacing:.055em;
  text-align:center;
  text-wrap:balance;
  white-space:normal;
}

body.intensives-page .intensive-upcoming-section .intensive-card-actions .intensive-btn-primary {
  background:linear-gradient(135deg,#c557df,#A723C4,#68127e) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(167,35,196,.22) !important;
}

@media(max-width:1120px) {
  body.intensives-page .intensive-upcoming-section .intensive-location-grid{
    grid-template-columns:repeat(2,minmax(0,350px));
  }
}

@media(max-width:760px) {
  body.intensives-page .intensive-upcoming-section .intensive-location-grid{
    grid-template-columns:minmax(0,350px);
  }
}

@media(max-width:480px) {
  body.intensives-page .intensive-upcoming-section .intensive-location-card{
    min-height:0;
  }

  body.intensives-page .intensive-upcoming-section .intensive-card-actions {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Competition page film hero: final page-scoped overrides prevent legacy hero rules taking precedence. */
body.competition-hub .competition-film-hero{
  position:relative !important;
  min-height:100svh !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  isolation:isolate !important;
  padding:clamp(132px,15vh,190px) 0 clamp(118px,14vh,168px) !important;
  background:#090a0e url("assets/media/adc-commercial-poster.jpg") center/cover no-repeat !important;
  color:#fff !important;
}
body.competition-hub .competition-film-video{
  position:absolute !important;
  inset:0 !important;
  z-index:-3 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
}
body.competition-hub .competition-film-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  display:block !important;
}
body.competition-hub .competition-film-hero:after{
  z-index:-1 !important;
}
body.competition-hub .competition-film-content{
  position:relative !important;
  z-index:1 !important;
  color:#fff !important;
}
body.competition-hub .competition-film-content .eyebrow{
  color:#fff !important;
}
body.competition-hub .competition-film-content .competition-hero-title{
  color:#fff !important;
}
body.competition-hub .competition-film-content .competition-hero-title span{
  color:#e31937 !important;
}
body.competition-hub .competition-film-content .competition-hero-intro{
  color:rgba(255,255,255,.92) !important;
}
body.competition-hub .competition-film-control,
body.competition-hub .competition-scroll-cue{
  position:absolute !important;
}

@media(max-width:760px){
  body.competition-hub .competition-film-hero{
    min-height:100svh !important;
    align-items:end !important;
    padding:120px 0 248px !important;
  }
  body.competition-hub .competition-film-video{
    object-position:58% center !important;
  }
  body.competition-hub .competition-film-content .competition-hero-title span{
    display:block !important;
  }
}

/* Development Programme navigation uses the same orange as the Programme title. */
body.training-page .header .nav a.nav-cta[href*="info-pack.html"],
body.training-page .header .nav a.nav-cta[href*="info-pack.html"]:is(:hover,:focus-visible){
  background:#f07a1a !important;
  border-color:#f07a1a !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(240,122,26,.28) !important;
}

/* Intensives navigation uses the approved Intensives purple. */
body.intensives-page .header .nav a.nav-cta[href*="info-pack.html"],
body.intensives-page .header .nav a.nav-cta[href*="info-pack.html"]:is(:hover,:focus-visible){
  background:#A723C4 !important;
  border-color:#A723C4 !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(167,35,196,.28) !important;
}

/* Perform navigation uses the same blue as the Coming Soon title. */
body.perform-page .header .nav a.nav-cta[href*="info-pack.html"],
body.perform-page .header .nav a.nav-cta[href*="info-pack.html"]:is(:hover,:focus-visible),
body.perform-page .perform-coming-hero .actions a[data-info-pack-request],
body.perform-page .perform-coming-hero .actions a[data-info-pack-request]:is(:hover,:focus-visible){
  background:#0787D4 !important;
  border-color:#0787D4 !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(7,135,212,.28) !important;
}

/* Homepage hero pathway action matches the approved Info Pack pink. */
body.home-gateway .home-film-copy .actions a.btn-primary[href="#pathways"],
body.home-gateway .home-film-copy .actions a.btn-primary[href="#pathways"]:is(:hover,:focus-visible){
  background:#D60086 !important;
  border-color:#D60086 !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(214,0,134,.34) !important;
}

/* Homepage pathway cards: equal, box-filling logo artwork. */
body.home-gateway .home-pathway-card > img{
  display:block;
  width:100%;
  height:230px;
  margin:0;
  object-fit:contain;
  object-position:center center;
  border-radius:0;
}

body.home-gateway .home-pathway-card .home-pathway-link{
  margin-top:auto;
}

@media(max-width:720px){
  body.home-gateway .home-pathway-card > img{
    height:210px;
  }
}

/* Homepage pathway cards: compact four-card row. */
body.home-gateway .home-pathway-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

body.home-gateway .home-pathway-card{
  --path-photo:url("assets/images/home-pathways/competition-stage.jpg");
  min-height:330px;
  gap:0;
  padding:20px 20px 18px;
  border-color:rgba(31,39,50,.1) !important;
  border-radius:22px;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.6) 0%,rgba(255,255,255,.6) 41%,rgba(255,255,255,.68) 51%,rgba(255,255,255,.92) 69%,#fff 82%,#fff 100%),
    linear-gradient(135deg,color-mix(in srgb,var(--path-accent) 20%,transparent),rgba(16,20,28,.04)),
    var(--path-photo) !important;
  background-position:center top;
  background-size:cover;
  background-repeat:no-repeat;
  box-shadow:inset 0 5px 0 var(--path-accent),0 20px 60px rgba(24,31,42,.09) !important;
  isolation:isolate;
}

body.home-gateway .home-pathway-card.train{
  --path-photo:url("assets/images/home-pathways/development-studio.jpg");
  background-position:center center;
}

body.home-gateway .home-pathway-card.intensive{
  --path-photo:url("assets/images/home-pathways/intensives-studio.jpg");
  background-position:center center;
}

body.home-gateway .home-pathway-card.perform{
  --path-photo:url("assets/images/home-pathways/performance-stage.jpg");
  background-position:center center;
}

body.home-gateway .home-pathway-card:before{
  display:none;
}

body.home-gateway .home-pathway-card:after{
  z-index:-1;
  width:136px;
  height:136px;
  top:-66px;
  right:-60px;
  background:color-mix(in srgb,var(--path-accent) 9%,#fff);
}

body.home-gateway .home-pathway-card:hover{
  box-shadow:inset 0 5px 0 var(--path-accent),0 30px 74px rgba(24,31,42,.15) !important;
}

body.home-gateway .home-pathway-card .home-pathway-number{
  top:20px;
  right:20px;
  z-index:3;
  font-family:"Lato",sans-serif;
  font-size:.85rem;
  color:#87919d;
}

body.home-gateway .home-pathway-card > img{
  position:relative;
  z-index:2;
  width:min(66%,190px);
  height:185px;
  margin:4px auto 0;
  filter:drop-shadow(0 8px 15px rgba(7,12,20,.16));
}

body.home-gateway .home-pathway-tagline{
  position:relative;
  z-index:2;
  display:block;
  margin:-2px auto 0;
  color:#747d88;
  font-family:"Lato",sans-serif;
  font-size:.95rem;
  font-weight:700;
  line-height:1.4;
  text-align:center;
}

body.home-gateway .home-pathway-card .home-pathway-link{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  margin-top:auto;
  margin-bottom:0;
  color:#11151b !important;
  font-family:"Lato",sans-serif !important;
  font-size:.76rem;
  line-height:1.25;
}

body.home-gateway .home-pathway-card .home-pathway-link::after{
  content:"\2192";
  margin-left:9px;
  color:var(--path-accent);
  font-size:1.1rem;
  line-height:1;
}

@media(max-width:720px){
  body.home-gateway .home-pathway-grid{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(245px,82vw);
    gap:14px;
    overflow-x:auto;
    padding:0 0 14px;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin;
  }

  body.home-gateway .home-pathway-card{
    min-height:320px;
    padding:20px 20px 18px;
    scroll-snap-align:start;
  }

  body.home-gateway .home-pathway-card > img{
    width:min(66%,185px);
    height:180px;
  }

  body.home-gateway .home-pathway-tagline{
    font-size:.9rem;
  }
}

/* Competition hero: approved photograph with the Development Programme hero layout. */
body.competition-hub .competition-image-hero{
  position:relative;
  min-height:calc(100svh - 80px);
  height:calc(100svh - 80px);
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  padding:0;
  background:#fff url("assets/images/competitions/competition-fullscreen-hero.jpg") 58% center / cover no-repeat;
  color:#171a20;
}
body.competition-hub .competition-image-overlay{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 35%,rgba(255,255,255,.72) 55%,rgba(255,255,255,.24) 76%,rgba(255,255,255,.06) 100%),
    radial-gradient(circle at 18% 50%,rgba(255,255,255,.58),transparent 38%);
}
body.competition-hub .competition-image-content{
  position:relative;
  z-index:1;
  padding-block:clamp(24px,4vh,52px);
  color:#171a20;
}
body.competition-hub .competition-image-content .eyebrow{
  margin:0 0 clamp(12px,1.8vh,20px);
  color:#e31937 !important;
  text-shadow:none;
}
body.competition-hub .competition-image-content .competition-hero-title{
  max-width:min(780px,58vw);
  margin:0;
  color:#171a20 !important;
  font-size:clamp(3.4rem,5.35vw,5.7rem);
  line-height:.92;
  letter-spacing:-.055em;
  text-shadow:none;
}
body.competition-hub .competition-image-content .competition-hero-title span{
  color:#e31937 !important;
}
body.competition-hub .competition-image-content .competition-hero-intro{
  max-width:min(680px,48vw);
  margin:clamp(18px,2.6vh,28px) 0 0;
  color:#405064 !important;
  font-size:clamp(1rem,1.18vw,1.16rem);
  line-height:1.62;
  text-shadow:none;
}
body.competition-hub .competition-image-content .competition-hero-actions{
  margin-top:clamp(22px,3vh,32px);
}

/* Competition route actions use one red, never the site-wide Info Pack pink. */
body.competition-hub .header .nav a.nav-cta[href*="info-pack.html"],
body.competition-hub .header .nav a.nav-cta[href*="info-pack.html"]:is(:hover,:focus-visible),
body.competition-hub .competition-hero-actions .btn,
body.competition-hub .competition-hero-actions .competition-hero-info-button,
body.competition-hub .competition-hero-actions .btn:is(:hover,:focus-visible),
body.competition-hub .competition-hero-actions .competition-hero-info-button:is(:hover,:focus-visible){
  background:#e31937 !important;
  border-color:#e31937 !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(227,25,55,.28) !important;
}

@media(max-width:760px){
  body.competition-hub .competition-image-hero{
    min-height:auto;
    height:auto;
    align-items:center;
    padding:72px 0 96px;
    background-position:62% center;
  }
  body.competition-hub .competition-image-overlay{
    background:
      linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 54%,rgba(255,255,255,.68) 100%),
      linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.64));
  }
  body.competition-hub .competition-image-content{
    padding-block:0;
  }
  body.competition-hub .competition-image-content .competition-hero-title{
    max-width:100%;
    font-size:clamp(3.1rem,15vw,5rem);
    line-height:.92;
  }
  body.competition-hub .competition-image-content .competition-hero-title span{
    display:block;
  }
  body.competition-hub .competition-image-content .competition-hero-intro{
    max-width:34rem;
    margin-top:22px;
    font-size:1rem;
  }
  body.competition-hub .competition-image-content .competition-hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:25px;
  }
  body.competition-hub .competition-image-content .competition-hero-actions .btn{
    width:100%;
  }
}

/* Keep every visible Competition-page call to action in the Competition red. */
html body.competition-hub .header .nav a.nav-cta[href*="info-pack.html"],
html body.competition-hub .header .nav a.nav-cta[href*="info-pack.html"]:is(:hover,:focus-visible),
html body.competition-hub main .competition-image-hero .competition-hero-actions a.btn,
html body.competition-hub main .competition-image-hero .competition-hero-actions a.competition-hero-info-button,
html body.competition-hub main .competition-image-hero .competition-hero-actions a.btn:is(:hover,:focus-visible),
html body.competition-hub main .competition-image-hero .competition-hero-actions a.competition-hero-info-button:is(:hover,:focus-visible){
  background:#e31937 !important;
  border-color:#e31937 !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(227,25,55,.28) !important;
}

/* Competition experience titles sit above their existing image-overlay copy. */
body.competition-hub .competition-experience-tile{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:10px;
  min-height:0;
  padding:0;
  overflow:visible;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  isolation:auto;
}
body.competition-hub .competition-experience-tile::after{
  content:none;
}
body.competition-hub .competition-experience-title{
  margin:0;
  padding-top:12px;
  padding-bottom:6px;
  color:#171a20;
  font-family:var(--font-body);
  font-size:clamp(1.3rem,1.65vw,1.65rem) !important;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.15 !important;
}
body.competition-hub .competition-experience-media{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:clamp(310px,29vw,430px);
  overflow:hidden;
  padding:clamp(22px,2.8vw,32px);
  border-radius:24px;
  background:#111722;
  box-shadow:0 22px 58px rgba(24,31,42,.16);
  isolation:isolate;
}
body.competition-hub .competition-experience-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
body.competition-hub .competition-experience-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(8,12,18,.08) 0%,rgba(8,12,18,.18) 42%,rgba(8,12,18,.82) 100%);
}
body.competition-hub .competition-experience-media .competition-experience-copy{
  position:relative;
  z-index:2;
}
body.competition-hub .competition-experience-tile:hover .competition-experience-media img{
  transform:scale(1.035);
}
/* Approved About Competition page */
body.about-competition-redesign {
  --about-red: #f21646;
  --about-red-dark: #b9092c;
  --about-ink: #121827;
  --about-muted: #46536a;
  --about-soft: #f7f3fa;
  --about-line: #e4e0e9;
  color: var(--about-ink);
  font-family: Lato, Arial, sans-serif;
}

.about-competition-redesign .site-header {
  position: relative;
  z-index: 10;
}

.about-competition-redesign .competition-brand-logo {
  display: block;
  width: 72px;
  height: auto;
}

.about-hero {
  isolation: isolate;
  min-height: min(760px, calc(100vh - 90px));
  position: relative;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: #121015;
}

.about-hero-image,
.about-hero-image::after {
  position: absolute;
  inset: 0;
}

.about-hero-image {
  z-index: -2;
  background: url('assets/images/competitions/competition-fullscreen-hero.jpg') center / cover no-repeat;
}

.about-hero-image::after {
  content: '';
  background: linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .93) 34%, rgba(255, 255, 255, .55) 55%, rgba(255, 255, 255, .05) 80%);
}

.about-hero-content {
  max-width: 760px;
  padding-top: clamp(76px, 10vw, 130px);
  padding-bottom: clamp(76px, 10vw, 130px);
}

.about-eyebrow,
.about-section-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 17px;
  color: var(--about-red);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.about-eyebrow::before,
.about-section-kicker::before {
  content: '';
  width: 42px;
  height: 2px;
  flex: 0 0 auto;
  background: var(--about-red);
}

.about-hero h1,
.about-competition-redesign h2,
.about-competition-redesign h3 {
  color: var(--about-ink);
  font-family: Lato, Arial, sans-serif;
  font-weight: 900;
}

.about-hero h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(3.2rem, 7vw, 6.4rem);
  line-height: .94;
  letter-spacing: -.07em;
}

.about-hero p:not(.about-eyebrow) {
  max-width: 650px;
  margin: 30px 0 0;
  color: #2d3a50;
  font-size: clamp(1.05rem, 1.45vw, 1.25rem);
  line-height: 1.65;
}

.about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.about-competition-redesign .btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 0;
  font-family: Lato, Arial, sans-serif;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-align: center;
  text-transform: uppercase;
}

.about-btn-primary {
  background: var(--about-red);
  color: #fff;
  box-shadow: 0 14px 26px rgba(242, 22, 70, .25);
}

.about-btn-primary:hover,
.about-btn-primary:focus-visible {
  background: var(--about-red-dark);
  color: #fff;
}

.about-btn-secondary {
  border-color: var(--about-ink) !important;
  background: rgba(255, 255, 255, .78);
  color: var(--about-ink);
}

.about-btn-secondary:hover,
.about-btn-secondary:focus-visible {
  border-color: var(--about-red) !important;
  background: var(--about-red);
  color: #fff;
}

.about-quick-nav {
  background: var(--about-ink);
}

.about-quick-nav-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}

.about-quick-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 74px;
  padding: 12px;
  border-left: 1px solid rgba(255, 255, 255, .14);
  color: #fff;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}

.about-quick-nav a:last-child {
  border-right: 1px solid rgba(255, 255, 255, .14);
}

.about-quick-nav a:hover,
.about-quick-nav a:focus-visible {
  background: var(--about-red);
  color: #fff;
}

.about-section {
  padding: clamp(68px, 9vw, 128px) 0;
}

.about-split-layout,
.about-awards-layout {
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(38px, 7vw, 110px);
}

.about-split-reverse {
  grid-template-columns: minmax(0, 1fr) minmax(0, .98fr);
}

.about-copy-block h2,
.about-competition-redesign h2 {
  max-width: 800px;
  margin: 0;
  font-size: clamp(2.35rem, 4.4vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.06em;
}

.about-copy-block p {
  max-width: 690px;
  margin: 24px 0 0;
  color: var(--about-muted);
  font-size: clamp(1rem, 1.3vw, 1.17rem);
  line-height: 1.72;
}

.about-feature-image {
  min-height: 420px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 22px 44px rgba(18, 24, 39, .14);
}

.about-feature-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.about-why,
.about-judging {
  background: var(--about-soft);
}

.about-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 44px;
}

.about-benefit-card {
  min-height: 252px;
  padding: 30px;
  border: 1px solid var(--about-line);
  border-top: 4px solid var(--about-red);
  background: #fff;
  box-shadow: 0 14px 30px rgba(18, 24, 39, .06);
}

.about-benefit-card span {
  display: block;
  color: var(--about-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .15em;
}

.about-benefit-card h3 {
  margin: 28px 0 0;
  font-size: 1.5rem;
  line-height: 1.08;
  letter-spacing: -.03em;
}

.about-benefit-card p {
  margin: 14px 0 0;
  color: var(--about-muted);
  font-size: .98rem;
  line-height: 1.55;
}

.about-check-list {
  display: grid;
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.about-check-list li {
  position: relative;
  padding-left: 27px;
  color: var(--about-ink);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
}

.about-check-list li::before {
  content: '';
  position: absolute;
  top: .52em;
  left: 0;
  width: 10px;
  height: 10px;
  background: var(--about-red);
  border-radius: 50%;
}

.about-supporting-note a,
.about-text-link {
  color: var(--about-red-dark);
  font-weight: 900;
}

.about-awards-layout {
  align-items: start;
}

.about-text-link {
  display: inline-flex;
  gap: 8px;
  margin-top: 30px;
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.about-award-list {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 12px;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid var(--about-line);
  background: var(--about-soft);
}

.about-award-list span {
  padding: 12px 14px;
  border: 1px solid rgba(242, 22, 70, .25);
  background: #fff;
  color: var(--about-ink);
  font-size: .83rem;
  font-weight: 900;
}

.about-finals {
  background: var(--about-ink);
}

.about-finals .about-section-kicker,
.about-finals h2,
.about-finals p {
  color: #fff;
}

.about-finals .about-section-kicker::before {
  background: var(--about-red);
}

.about-finals .about-section-kicker {
  color: #fff;
}

.about-finals .about-feature-image {
  box-shadow: 0 22px 44px rgba(0, 0, 0, .3);
}

.about-final-cta {
  padding: clamp(40px, 6vw, 80px) 0;
  background: var(--about-red);
  color: #fff;
}

.about-final-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.about-final-cta .about-section-kicker,
.about-final-cta h2,
.about-final-cta p {
  color: #fff;
}

.about-final-cta .about-section-kicker::before {
  background: #fff;
}

.about-final-cta h2 {
  font-size: clamp(2.2rem, 4vw, 4rem);
}

.about-final-cta p:not(.about-section-kicker) {
  max-width: 690px;
  margin: 16px 0 0;
  font-size: 1.1rem;
  line-height: 1.55;
}

.about-final-cta .about-actions {
  flex: 0 0 auto;
  max-width: 400px;
  margin-top: 0;
}

.about-final-cta .about-btn-primary {
  background: var(--about-ink);
  box-shadow: none;
}

.about-final-cta .about-btn-primary:hover,
.about-final-cta .about-btn-primary:focus-visible {
  background: #000;
}

.about-final-cta .about-btn-secondary {
  border-color: #fff !important;
  background: transparent;
  color: #fff;
}

.about-final-cta .about-btn-secondary:hover,
.about-final-cta .about-btn-secondary:focus-visible {
  background: #fff;
  color: var(--about-red-dark);
}

.about-support {
  background: #fff;
}

.about-support-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.about-support-grid a {
  display: flex;
  min-height: 160px;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  border: 1px solid var(--about-line);
  border-bottom: 4px solid var(--about-red);
  background: #fff;
  color: var(--about-ink);
}

.about-support-grid a:hover,
.about-support-grid a:focus-visible {
  border-color: var(--about-red);
  background: var(--about-soft);
  color: var(--about-ink);
}

.about-support-grid strong {
  font-size: 1.05rem;
  line-height: 1.15;
}

.about-support-grid span {
  margin-top: 16px;
  color: var(--about-muted);
  font-size: .9rem;
  line-height: 1.45;
}

@media (max-width: 1000px) {
  .about-quick-nav-grid { grid-template-columns: repeat(3, 1fr); }
  .about-quick-nav a:nth-child(3) { border-right: 1px solid rgba(255, 255, 255, .14); }
  .about-quick-nav a:nth-child(n + 4) { border-top: 1px solid rgba(255, 255, 255, .14); }
  .about-split-layout,
  .about-split-reverse,
  .about-awards-layout { grid-template-columns: 1fr; }
  .about-split-reverse .about-feature-image { order: 2; }
  .about-benefit-grid { grid-template-columns: repeat(2, 1fr); }
  .about-support-grid { grid-template-columns: repeat(3, 1fr); }
  .about-final-cta-inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 680px) {
  .about-competition-redesign .competition-brand-logo { width: 56px; }
  .about-hero { min-height: auto; }
  .about-hero-image { background-position: 64% center; }
  .about-hero-image::after { background: linear-gradient(90deg, rgba(255, 255, 255, .97), rgba(255, 255, 255, .84) 67%, rgba(255, 255, 255, .44)); }
  .about-hero h1 { font-size: clamp(2.75rem, 13vw, 4.15rem); }
  .about-hero-content { padding-top: 70px; padding-bottom: 70px; }
  .about-quick-nav-grid { grid-template-columns: repeat(2, 1fr); }
  .about-quick-nav a { min-height: 62px; border-top: 1px solid rgba(255, 255, 255, .14); }
  .about-quick-nav a:nth-child(1),
  .about-quick-nav a:nth-child(2) { border-top: 0; }
  .about-quick-nav a:nth-child(odd) { border-left: 1px solid rgba(255, 255, 255, .14); }
  .about-quick-nav a:nth-child(even) { border-right: 1px solid rgba(255, 255, 255, .14); }
  .about-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .about-actions .btn { width: 100%; }
  .about-section { padding: 68px 0; }
  .about-feature-image,
  .about-feature-image img { min-height: 290px; }
  .about-benefit-grid,
  .about-support-grid { grid-template-columns: 1fr; }
  .about-benefit-card { min-height: 0; }
  .about-final-cta .about-actions { width: 100%; max-width: none; }
}
/* Approved Competition FAQ page */
body.competition-faq-redesign {
  --faq-red: #f21646;
  --faq-red-dark: #b9092c;
  --faq-ink: #121827;
  --faq-muted: #46536a;
  --faq-soft: #f7f3fa;
  --faq-line: #e3e0e8;
  background: #fff;
  color: var(--faq-ink);
  font-family: Lato, Arial, sans-serif;
}

.competition-faq-redesign .nav .nav-cta {
  border-color: var(--faq-red) !important;
  background: var(--faq-red) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(242, 22, 70, .2) !important;
}

.competition-faq-redesign .nav .nav-cta:hover,
.competition-faq-redesign .nav .nav-cta:focus-visible {
  border-color: var(--faq-red-dark) !important;
  background: var(--faq-red-dark) !important;
  color: #fff !important;
}

.competition-faq-redesign .competition-brand-logo { width: 72px; height: auto; }
.competition-faq-hero { position: relative; display: grid; min-height: min(720px, calc(100vh - 86px)); align-items: center; isolation: isolate; overflow: hidden; background: #1c161b; }
.competition-faq-hero-image, .competition-faq-hero-image::after { position: absolute; inset: 0; }
.competition-faq-hero-image { z-index: -2; background: url('assets/images/competitions/competition-fullscreen-hero.jpg') center / cover no-repeat; }
.competition-faq-hero-image::after { content: ''; background: linear-gradient(90deg, rgba(255,255,255,.985), rgba(255,255,255,.93) 35%, rgba(255,255,255,.56) 57%, rgba(255,255,255,.08) 82%); }
.competition-faq-hero-content { max-width: 770px; padding-top: clamp(75px, 10vw, 126px); padding-bottom: clamp(75px, 10vw, 126px); }
.competition-faq-kicker { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; color: var(--faq-red); font-size: .75rem; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.competition-faq-kicker::before { content: ''; width: 42px; height: 2px; background: var(--faq-red); }
.competition-faq-redesign h1, .competition-faq-redesign h2 { color: var(--faq-ink); font-family: Lato, Arial, sans-serif; font-weight: 900; }
.competition-faq-hero h1 { margin: 0; font-size: clamp(3.25rem, 7.5vw, 6.5rem); line-height: .93; letter-spacing: -.07em; }
.competition-faq-hero p:not(.competition-faq-kicker) { max-width: 640px; margin: 28px 0 0; color: #2c394e; font-size: clamp(1.05rem, 1.45vw, 1.25rem); line-height: 1.65; }
.competition-faq-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.competition-faq-redesign .btn { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 13px 21px; border: 1px solid transparent; border-radius: 0; font-family: Lato, Arial, sans-serif; font-size: .75rem; font-weight: 900; letter-spacing: .13em; text-align: center; text-transform: uppercase; }
.competition-faq-primary { background: var(--faq-red); color: #fff; box-shadow: 0 14px 26px rgba(242,22,70,.25); }
.competition-faq-primary:hover, .competition-faq-primary:focus-visible { background: var(--faq-red-dark); color: #fff; }
.competition-faq-outline { border-color: var(--faq-ink) !important; background: rgba(255,255,255,.75); color: var(--faq-ink); }
.competition-faq-outline:hover, .competition-faq-outline:focus-visible { border-color: var(--faq-red) !important; background: var(--faq-red); color: #fff; }

/* Competition FAQ hero actions always use the Competition red. */
body.competition-faq-redesign .competition-faq-hero .competition-faq-actions .btn,
body.competition-faq-redesign .competition-faq-hero .competition-faq-actions .btn:is(:hover,:focus-visible) {
  background:var(--faq-red) !important;
  border-color:var(--faq-red) !important;
  color:#fff !important;
  box-shadow:0 14px 26px rgba(242,22,70,.25) !important;
}
.competition-faq-nav { background: var(--faq-ink); }
.competition-faq-nav-grid { display: grid; grid-template-columns: repeat(5, 1fr); }
.competition-faq-nav a { display: flex; min-height: 72px; align-items: center; justify-content: center; padding: 12px; border-left: 1px solid rgba(255,255,255,.14); color: #fff; font-size: .74rem; font-weight: 900; letter-spacing: .095em; text-align: center; text-transform: uppercase; }
.competition-faq-nav a:last-child { border-right: 1px solid rgba(255,255,255,.14); }
.competition-faq-nav a:hover, .competition-faq-nav a:focus-visible { background: var(--faq-red); color: #fff; }
.competition-faq-intro { padding: clamp(62px, 8vw, 110px) 0 clamp(34px, 5vw, 58px); }
.competition-faq-intro h2, .competition-faq-heading h2, .competition-faq-cta h2 { margin: 0; font-size: clamp(2.4rem, 5vw, 4.7rem); line-height: .97; letter-spacing: -.06em; }
.competition-faq-intro p:not(.competition-faq-kicker) { max-width: 720px; margin: 20px 0 0; color: var(--faq-muted); font-size: 1.1rem; line-height: 1.65; }
.competition-faq-section { padding: clamp(44px, 6.5vw, 88px) 0; }
.competition-faq-section-soft { background: var(--faq-soft); }
.competition-faq-heading { margin-bottom: 26px; }
.competition-faq-redesign .faq-contact-actions { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 28px; padding: 22px 24px; border: 1px solid var(--faq-line); background: var(--faq-soft); }
.competition-faq-redesign .faq-contact-actions p { max-width: 570px; margin: 0; color: var(--faq-ink); font-size: .98rem; font-weight: 700; line-height: 1.5; }
.competition-faq-redesign .faq-contact-actions__links { display: flex; flex-wrap: wrap; gap: 10px; }
.competition-faq-redesign .faq-contact-actions__links .btn { min-height: 44px; padding: 10px 15px; font-size: .69rem; }
.competition-faq-list { display: grid; border-top: 1px solid var(--faq-line); }
.competition-faq-list details { border-bottom: 1px solid var(--faq-line); background: #fff; }
.competition-faq-section-soft .competition-faq-list details { background: transparent; }
.competition-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 30px; cursor: pointer; color: var(--faq-ink); font-size: clamp(1.05rem, 1.45vw, 1.27rem); font-weight: 900; line-height: 1.25; list-style: none; }
.competition-faq-list summary::-webkit-details-marker { display: none; }
.competition-faq-list summary::after { content: '+'; flex: 0 0 auto; color: var(--faq-red); font-size: 1.65rem; font-weight: 400; line-height: 1; }
.competition-faq-list details[open] summary { color: var(--faq-red-dark); }
.competition-faq-list details[open] summary::after { content: '−'; }
.competition-faq-list details > div { max-width: 900px; padding: 0 30px 25px; }
.competition-faq-list p { margin: 0; color: var(--faq-muted); font-size: 1rem; line-height: 1.7; }
.competition-faq-list p a { color: var(--faq-red-dark); font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }
.competition-faq-text-link { display: inline-flex; gap: 8px; margin-top: 25px; color: var(--faq-red-dark); font-size: .78rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.competition-faq-cta { padding: clamp(48px, 7vw, 88px) 0; background: var(--faq-red); color: #fff; }
.competition-faq-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.competition-faq-cta .competition-faq-kicker, .competition-faq-cta h2, .competition-faq-cta p { color: #fff; }
.competition-faq-cta .competition-faq-kicker::before { background: #fff; }
.competition-faq-cta p:not(.competition-faq-kicker) { max-width: 680px; margin: 16px 0 0; font-size: 1.1rem; line-height: 1.56; }
.competition-faq-cta .competition-faq-actions { max-width: 710px; margin-top: 0; }
.competition-faq-cta-primary { background: var(--faq-ink); color: #fff; }
.competition-faq-cta-primary:hover, .competition-faq-cta-primary:focus-visible { background: #000; color: #fff; }
.competition-faq-cta-outline { border-color: #fff !important; background: transparent; color: #fff; }
.competition-faq-cta-outline:hover, .competition-faq-cta-outline:focus-visible { background: #fff; color: var(--faq-red-dark); }
@media (max-width: 900px) { .competition-faq-nav-grid { grid-template-columns: repeat(3, 1fr); } .competition-faq-nav a:nth-child(3) { border-right: 1px solid rgba(255,255,255,.14); } .competition-faq-nav a:nth-child(n+4) { border-top: 1px solid rgba(255,255,255,.14); } .competition-faq-cta-inner { align-items: flex-start; flex-direction: column; } .competition-faq-cta .competition-faq-actions { max-width: none; } }
@media (max-width: 680px) { .competition-faq-redesign .competition-brand-logo { width: 56px; } .competition-faq-hero { min-height: auto; } .competition-faq-hero-image { background-position: 63% center; } .competition-faq-hero-image::after { background: linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.84) 68%,rgba(255,255,255,.43)); } .competition-faq-hero-content { padding-top: 68px; padding-bottom: 68px; } .competition-faq-hero h1 { font-size: clamp(2.75rem, 13vw, 4.25rem); } .competition-faq-nav-grid { grid-template-columns: repeat(2, 1fr); } .competition-faq-nav a { min-height: 62px; border-top: 1px solid rgba(255,255,255,.14); } .competition-faq-nav a:nth-child(1), .competition-faq-nav a:nth-child(2) { border-top: 0; } .competition-faq-nav a:nth-child(odd) { border-left: 1px solid rgba(255,255,255,.14); } .competition-faq-nav a:nth-child(even) { border-right: 1px solid rgba(255,255,255,.14); } .competition-faq-actions { display: grid; grid-template-columns: 1fr; width: 100%; } .competition-faq-actions .btn { width: 100%; } .competition-faq-list summary { padding: 20px; } .competition-faq-list details > div { padding: 0 20px 21px; } .competition-faq-redesign .faq-contact-actions { align-items: stretch; flex-direction: column; } .competition-faq-redesign .faq-contact-actions__links { display: grid; grid-template-columns: 1fr; } .competition-faq-redesign .faq-contact-actions__links .btn { width: 100%; } }

body.competition-faq-redesign.competition-support-page .header .nav .nav-cta {
  border-color: var(--faq-red) !important;
  background: var(--faq-red) !important;
  background-color: var(--faq-red) !important;
  background-image: none !important;
  color: #fff !important;
}

body.competition-faq-redesign.competition-support-page .header .nav .nav-cta:hover,
body.competition-faq-redesign.competition-support-page .header .nav .nav-cta:focus-visible {
  border-color: var(--faq-red-dark) !important;
  background: var(--faq-red-dark) !important;
  color: #fff !important;
}

body.competition-faq-redesign.competition-support-page:not(.admin-body) .header .nav a.nav-cta[href*="info-pack.html"] {
  border-color: var(--faq-red) !important;
  background: var(--faq-red) !important;
  background-color: var(--faq-red) !important;
  background-image: none !important;
  color: #fff !important;
}

/* Keep the shared header sticky on every page.
   `clip` prevents horizontal spill without creating the scroll container that
   breaks `position: sticky` when `overflow-x: hidden` is used on the root. */
html,
body {
  overflow-x: clip !important;
}

/* Match every public, non-homepage header logo to the approved Perform size. */
body:not(.home-gateway):not(.admin-body) .header .brand img {
  width:auto !important;
  height:auto !important;
  max-width:82px !important;
  max-height:73px !important;
  object-fit:contain !important;
}

@media (max-width:640px) {
  body:not(.home-gateway):not(.admin-body) .header .brand img {
    max-width:66px !important;
    max-height:64px !important;
  }
}

/* Competition hero: three equal actions on one evenly spaced row. */
body.competition-hub .competition-image-content .competition-hero-actions {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  width:min(50%,430px);
  max-width:100%;
}

body.competition-hub .competition-image-content .competition-hero-actions .btn {
  width:100%;
  min-width:0;
  min-height:52px;
  padding-inline:5px;
  border-radius:0;
  font-size:.6rem;
  letter-spacing:.08em;
  white-space:nowrap;
}

/* Competition proof points use the Competition red throughout. */
body.competition-hub .proof-strip .proof-point strong,
body.competition-hub .proof-strip .proof-point span {
  color:#e31937 !important;
  font-family:"Lato",sans-serif !important;
}

body.competition-hub .proof-strip .proof-point::before {
  background:#e31937 !important;
}

@media (max-width:760px) {
  body.competition-hub .competition-image-content .competition-hero-actions {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    width:100%;
  }

  body.competition-hub .competition-image-content .competition-hero-actions .btn {
    min-height:62px;
    padding-inline:6px;
    font-size:clamp(.56rem,2.35vw,.7rem);
    letter-spacing:.07em;
    white-space:normal;
  }
}

/* Competition Dates information-pack action uses the Competition red rather
   than the site-wide pink Info Pack treatment. */
body.competition-hub #competition-dates a.btn[data-competition-info-pack],
body.competition-hub #competition-dates a.btn[data-competition-info-pack]:is(:hover,:focus-visible) {
  background:#e31937 !important;
  border-color:#e31937 !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(227,25,55,.28) !important;
}

/* Development hero information-pack action matches the page's orange
   navigation Info Pack button. */
body.training-page .development-journey-hero .actions a.btn-primary[href*="info-pack.html"],
body.training-page .development-journey-hero .actions a.btn-primary[href*="info-pack.html"]:is(:hover,:focus-visible) {
  background:#f07a1a !important;
  border-color:#f07a1a !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(240,122,26,.28) !important;
}

/* Development hero supporting statement mirrors the Competition hero copy. */
body.training-page .development-journey-hero .development-hero-copy .development-hero-statement {
  max-width:min(680px,48vw) !important;
  margin:0 !important;
  color:#405064 !important;
  font-size:clamp(1rem,1.18vw,1.16rem) !important;
  font-weight:400 !important;
  line-height:1.62 !important;
  text-shadow:none;
}

@media(max-width:820px) {
  body.training-page .development-journey-hero .development-hero-copy .development-hero-statement {
    max-width:34rem !important;
    font-size:1rem !important;
  }
}

/* Meet Aaron philosophy: align and strengthen the numbered statements while
   echoing the adjacent experience-card gradient at a slightly deeper tone. */
body.training-page .development-meet-aaron-philosophy {
  overflow:hidden;
}

body.training-page .development-meet-aaron-philosophy > div {
  justify-content:center;
  padding:28px 24px;
  background:linear-gradient(135deg,rgba(240,122,26,.11),#fff 60%);
}

body.training-page .development-meet-aaron-philosophy > div > span {
  width:100%;
  font-size:clamp(2rem,2.7vw,2.65rem);
  line-height:1;
  text-align:center;
}

body.training-page .development-meet-aaron-philosophy > div > p {
  margin-top:18px;
}

@media (max-width:820px) {
  body.training-page .development-meet-aaron-philosophy > div {
    min-height:168px;
    padding:24px 18px;
  }
}

/* Development page typography: Lato is the sole font for every element and
   any generated text. This prevents component-level styles from substituting
   a different face while preserving all existing sizes and weights. */
#developmentPage,
#developmentPage *,
#developmentPage *::before,
#developmentPage *::after {
  font-family:"Lato" !important;
}

/* Competition page typography: Lato is the sole font for every element and
   any generated text. The page ID gives this safeguard precedence over
   legacy component-level font declarations without changing size or weight. */
#competitionPage,
#competitionPage *,
#competitionPage *::before,
#competitionPage *::after {
  font-family:"Lato" !important;
}

/* Application steps: a stronger, more energetic progression treatment. */
body.training-page #next-steps .development-route-apply-steps li {
  position:relative;
  overflow:hidden;
  grid-template-columns:58px minmax(0,1fr);
  gap:18px;
  min-height:108px;
  padding:20px 24px;
  border:1px solid rgba(240,122,26,.24);
  border-left:5px solid #f07a1a;
  border-radius:20px;
  background:linear-gradient(120deg,#fff 38%,#fff4e9 100%);
  box-shadow:0 16px 36px rgba(48,35,24,.1);
  transition:transform .22s ease,box-shadow .22s ease;
}

body.training-page #next-steps .development-route-apply-steps li:nth-child(even) {
  background:linear-gradient(120deg,#fff 30%,#ffead7 100%);
}

body.training-page #next-steps .development-route-apply-steps li:nth-child(3) {
  border-color:rgba(240,122,26,.52);
  background:linear-gradient(120deg,#fff8f1,#ffd9b8);
  box-shadow:0 18px 42px rgba(240,122,26,.18);
}

body.training-page #next-steps .development-route-apply-steps li::after {
  content:"";
  position:absolute;
  top:-52px;
  right:-38px;
  width:128px;
  height:128px;
  border:1px solid rgba(240,122,26,.2);
  border-radius:50%;
  box-shadow:0 0 0 18px rgba(240,122,26,.045);
  pointer-events:none;
}

body.training-page #next-steps .development-route-apply-steps span {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:18px;
  background:#f07a1a;
  color:#fff;
  font-size:1rem;
  font-weight:900;
  box-shadow:0 10px 22px rgba(240,122,26,.3);
}

body.training-page #next-steps .development-route-apply-steps li > div {
  position:relative;
  z-index:1;
  align-self:center;
}

body.training-page #next-steps .development-route-apply-steps h3 {
  font-size:clamp(1.05rem,1.2vw,1.2rem);
}

body.training-page #next-steps .development-route-apply-steps p {
  font-size:.94rem;
  line-height:1.5;
}

body.training-page #next-steps .development-application-email {
  display:inline-flex;
  margin-top:8px;
  color:#c65300;
  font-size:.94rem;
  font-weight:900;
  line-height:1.4;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
  overflow-wrap:anywhere;
}

body.training-page #next-steps .development-step-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin-top:14px;
  padding:0 18px;
  border:1px solid transparent;
  border-radius:999px;
  background:linear-gradient(135deg,#ff8c2a,#e85f0c);
  color:#fff !important;
  box-shadow:0 10px 24px rgba(232,95,12,.23);
  font-family:"Lato",sans-serif;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.11em;
  line-height:1;
  text-transform:uppercase;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

body.training-page #next-steps .development-step-action--apply {
  background:linear-gradient(135deg,#ff7a1a,#c94f00);
  box-shadow:0 12px 28px rgba(201,79,0,.28);
}

body.training-page #next-steps .development-step-action:hover,
body.training-page #next-steps .development-step-action:focus-visible {
  background:linear-gradient(135deg,#ff9b48,#d95300);
  box-shadow:0 15px 32px rgba(216,83,0,.3);
  transform:translateY(-2px);
}

.development-apply-panel .application-video-upload {
  display:grid;
  gap:10px;
  padding:18px;
  border:1px solid rgba(240,122,26,.28);
  border-radius:14px;
  background:#fff7ef;
}

.development-apply-panel .application-video-guidance {
  display:grid;
  gap:8px;
  padding:18px;
  border:1px solid rgba(240,122,26,.24);
  border-left:4px solid #f07a1a;
  border-radius:14px;
  background:#fff;
  color:#26364a;
  font-family:"Lato",sans-serif;
}

.development-apply-panel .application-video-guidance strong {
  color:#c95705;
  font-size:1rem;
  font-weight:900;
}

.development-apply-panel .application-video-guidance p,
.development-apply-panel .application-video-guidance ul {
  margin:0;
}

.development-apply-panel .application-video-guidance ul {
  display:grid;
  gap:5px;
  padding-left:22px;
}

.development-apply-panel .application-video-guidance li {
  color:#26364a;
  font-weight:700;
  line-height:1.45;
}

.development-apply-panel .application-video-upload input[type="file"] {
  width:100%;
  padding:12px;
  border:1px dashed rgba(240,122,26,.58);
  border-radius:10px;
  background:#fff;
  color:#26364a;
  font-family:"Lato",sans-serif;
}

.development-apply-panel .application-video-upload .field-helper {
  margin:0;
  color:#566578;
  font-size:.9rem;
  font-weight:400;
  line-height:1.5;
}

@media(hover:hover) {
  body.training-page #next-steps .development-route-apply-steps li:hover {
    transform:translateX(-6px);
    box-shadow:0 22px 46px rgba(48,35,24,.16);
  }
}

@media(max-width:640px) {
  body.training-page #next-steps .development-route-apply-steps li {
    grid-template-columns:48px minmax(0,1fr);
    gap:14px;
    min-height:0;
    padding:17px;
    border-radius:17px;
  }

  body.training-page #next-steps .development-route-apply-steps span {
    width:46px;
    height:46px;
    border-radius:14px;
  }
}

/* Homepage typography: Lato is the sole font for every element and any
   generated text. The page ID prevents legacy component rules from adding
   fallback or alternate typefaces while preserving size and weight. */
#homePage,
#homePage *,
#homePage *::before,
#homePage *::after {
  font-family:"Lato" !important;
}

/* Intensives page typography: Lato is the sole font for every element and
   any generated text. The page ID keeps legacy component declarations from
   substituting another typeface without changing size or weight. */
#intensivesPage,
#intensivesPage *,
#intensivesPage *::before,
#intensivesPage *::after {
  font-family:"Lato" !important;
}

/* Perform page typography: Lato is the sole font for every element and any
   generated text. The page ID prevents legacy component declarations from
   substituting another typeface without changing size or weight. */
#performPage,
#performPage *,
#performPage *::before,
#performPage *::after {
  font-family:"Lato" !important;
}

/* Events page typography: Lato is the sole font for every element and any
   generated text. The page ID prevents legacy component declarations from
   substituting another typeface without changing size or weight. */
#eventsPage,
#eventsPage *,
#eventsPage *::before,
#eventsPage *::after {
  font-family:"Lato" !important;
}

/* Development page actions: every filled button uses the approved programme
   orange instead of inheriting the site-wide pink CTA treatment. */
body#developmentPage :is(a,button).btn-primary,
body#developmentPage .header .nav .nav-cta {
  border-color:#f07a1a !important;
  background:#f07a1a !important;
  background-color:#f07a1a !important;
  background-image:none !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(240,122,26,.28) !important;
}

body#developmentPage :is(a,button).btn-primary:is(:hover,:focus-visible),
body#developmentPage .header .nav .nav-cta:is(:hover,:focus-visible) {
  border-color:#c95f0d !important;
  background:#c95f0d !important;
  background-color:#c95f0d !important;
  background-image:none !important;
  color:#fff !important;
}

/* Intensives hero: Competition proportions with the existing Intensives image and controls. */
body.intensives-page .main-page-hero.intensives-hero.intensive-competition-layout {
  position:relative;
  min-height:calc(100svh - 80px);
  height:calc(100svh - 80px);
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  padding:0 !important;
  border-bottom:1px solid var(--intensive-line);
  background:#fff url("assets/images/intensives/intensives-hero-aaron-purple-studio.webp") center right / cover no-repeat !important;
  color:#171a20;
  font-family:var(--font-body);
}

body.intensives-page .intensive-competition-layout .intensive-image-overlay {
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 35%,rgba(255,255,255,.72) 55%,rgba(255,255,255,.24) 76%,rgba(255,255,255,.06) 100%),
    radial-gradient(circle at 18% 50%,rgba(255,255,255,.58),transparent 38%);
}

body.intensives-page .intensive-competition-layout .intensive-image-content {
  position:relative;
  z-index:1;
  padding-block:clamp(24px,4vh,52px);
  color:#171a20;
}

body.intensives-page .intensive-competition-layout .intensive-hero-copy {
  max-width:min(840px,62vw);
}

body.intensives-page .intensive-competition-layout .eyebrow {
  margin:0 0 clamp(12px,1.8vh,20px);
  color:#A723C4 !important;
  text-shadow:none;
}

body.intensives-page .intensive-competition-layout .eyebrow::before {
  background:linear-gradient(90deg,#A723C4,transparent);
}

body.intensives-page .intensive-competition-layout .intensive-hero-title {
  max-width:min(780px,58vw) !important;
  margin:0 !important;
  color:#171a20 !important;
  font-family:var(--font-body) !important;
  font-size:clamp(3.4rem,5.35vw,5.7rem) !important;
  font-weight:900;
  line-height:.92 !important;
  letter-spacing:-.055em;
  text-shadow:none;
  white-space:nowrap;
}

body.intensives-page .intensive-competition-layout .intensive-hero-title span {
  color:#A723C4 !important;
}

body.intensives-page .intensive-competition-layout .intensive-hero-support {
  max-width:min(680px,52vw);
  margin:clamp(18px,2.6vh,28px) 0 0;
  color:#171a20 !important;
  font-family:var(--font-body) !important;
  font-size:clamp(1rem,1.18vw,1.16rem) !important;
  font-weight:900 !important;
  line-height:1.45 !important;
  text-shadow:none;
}

body.intensives-page .intensive-competition-layout .intensive-location-selector {
  width:min(840px,58vw);
  max-width:100%;
  margin-top:clamp(22px,3vh,32px);
  border-color:rgba(167,35,196,.2);
  border-left-color:#A723C4;
  background:rgba(255,255,255,.94);
}

body.intensives-page .intensive-competition-layout .intensive-location-selector .section-kicker {
  color:#A723C4;
}

body.intensives-page .intensive-competition-layout .intensive-location-selector h2,
body.intensives-page .intensive-competition-layout .intensive-location-selector select,
body.intensives-page .intensive-competition-layout .intensive-location-selector button {
  font-family:var(--font-body) !important;
}

body.intensives-page .intensive-competition-layout .intensive-btn-primary,
body.intensives-page .intensive-competition-layout .intensive-btn-primary:is(:hover,:focus-visible) {
  background:#A723C4 !important;
  border-color:#A723C4 !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(167,35,196,.28) !important;
}

@media(max-width:980px) {
  body.intensives-page .intensive-competition-layout .intensive-hero-copy {
    max-width:min(760px,72vw);
  }

  body.intensives-page .intensive-competition-layout .intensive-location-selector {
    width:min(720px,70vw);
    grid-template-columns:minmax(170px,.75fr) minmax(220px,1fr) auto;
  }
}

@media(max-width:760px) {
  body.intensives-page .main-page-hero.intensives-hero.intensive-competition-layout {
    min-height:auto;
    height:auto;
    align-items:center;
    padding:72px 0 96px !important;
    background-position:64% center !important;
  }

  body.intensives-page .intensive-competition-layout .intensive-image-overlay {
    background:
      linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 54%,rgba(255,255,255,.68) 100%),
      linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.64));
  }

  body.intensives-page .intensive-competition-layout .intensive-image-content {
    padding-block:0;
  }

  body.intensives-page .intensive-competition-layout .intensive-hero-copy {
    max-width:100%;
  }

  body.intensives-page .intensive-competition-layout .intensive-hero-title {
    max-width:100% !important;
    font-size:clamp(3.1rem,15vw,5rem) !important;
    line-height:.92 !important;
    white-space:normal;
  }

  body.intensives-page .intensive-competition-layout .intensive-hero-title span {
    display:block;
  }

  body.intensives-page .intensive-competition-layout .intensive-hero-support {
    max-width:34rem;
    margin-top:22px;
    font-size:1rem !important;
  }

  body.intensives-page .intensive-competition-layout .intensive-location-selector {
    width:100%;
    grid-template-columns:1fr;
    align-items:stretch;
    gap:12px;
    margin-top:25px;
  }

  body.intensives-page .intensive-competition-layout .intensive-location-selector .intensive-btn {
    width:100%;
  }
}

@media(max-width:520px) {
  body.intensives-page .main-page-hero.intensives-hero.intensive-competition-layout {
    padding:84px 0 68px !important;
    background-position:62% center !important;
  }

  body.intensives-page .intensive-competition-layout .intensive-image-content,
  body.intensives-page .intensive-competition-layout .intensive-hero-copy,
  body.intensives-page .intensive-competition-layout .intensive-location-selector {
    min-width:0;
    max-width:100%;
  }

  body.intensives-page .intensive-competition-layout .intensive-image-content {
    width:calc(100vw - 28px) !important;
    margin-inline:auto;
  }

  body.intensives-page .intensive-competition-layout .intensive-hero-copy,
  body.intensives-page .intensive-competition-layout .intensive-hero-title,
  body.intensives-page .intensive-competition-layout .intensive-hero-support,
  body.intensives-page .intensive-competition-layout .intensive-location-selector {
    width:100% !important;
    box-sizing:border-box;
  }

  body.intensives-page .intensive-competition-layout .eyebrow {
    font-size:.66rem;
    letter-spacing:.16em;
  }

  body.intensives-page .intensive-competition-layout .intensive-hero-support,
  body.intensives-page .intensive-competition-layout .intensive-hero-support strong {
    display:block;
    max-width:100%;
    white-space:normal !important;
    overflow-wrap:break-word;
  }

  body.intensives-page .intensive-competition-layout .intensive-image-overlay {
    background:
      linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 58%,rgba(249,245,255,.8) 100%),
      linear-gradient(90deg,rgba(255,255,255,.76),rgba(255,255,255,.28));
  }
}

/* Parent Trust: compact testimonial speech bubbles with a warmer gradient. */
body.intensives-page .intensive-trust-section .intensive-testimonial-grid {
  width:min(100%,980px);
  gap:16px;
  margin-inline:auto;
}

body.intensives-page .intensive-trust-section .intensive-testimonial-grid article {
  position:relative;
  isolation:isolate;
  min-height:205px;
  padding:20px 22px 22px;
  overflow:visible;
  border:1px solid rgba(167,35,196,.2);
  border-radius:18px 18px 18px 6px;
  background:linear-gradient(145deg,#ffffff 0%,#fbf7fd 68%,#f5eaf9 100%);
  box-shadow:0 14px 30px rgba(81,37,100,.08);
  transition:transform .22s ease,box-shadow .22s ease;
}

body.intensives-page .intensive-trust-section .intensive-testimonial-grid article::before {
  content:"“";
  position:absolute;
  top:8px;
  right:16px;
  z-index:0;
  color:rgba(167,35,196,.12);
  font-family:"Lato",sans-serif;
  font-size:4.4rem;
  font-weight:900;
  line-height:1;
  pointer-events:none;
}

body.intensives-page .intensive-trust-section .intensive-testimonial-grid article::after {
  content:"";
  position:absolute;
  left:24px;
  bottom:-8px;
  width:16px;
  height:16px;
  z-index:-1;
  border-right:1px solid rgba(167,35,196,.2);
  border-bottom:1px solid rgba(167,35,196,.2);
  background:#f5eaf9;
  transform:rotate(45deg);
}

body.intensives-page .intensive-trust-section .intensive-testimonial-grid blockquote,
body.intensives-page .intensive-trust-section .intensive-testimonial-grid footer {
  position:relative;
  z-index:1;
}

body.intensives-page .intensive-trust-section .intensive-testimonial-grid blockquote {
  font-size:clamp(.82rem,.84vw,.92rem);
  line-height:1.52;
}

body.intensives-page .intensive-trust-section .intensive-testimonial-grid footer {
  margin-top:14px;
  color:#6c297d;
}

body.intensives-page .intensive-trust-section .intensive-trust-cta {
  width:min(100%,980px);
  margin-inline:auto;
}

@media(hover:hover) {
  body.intensives-page .intensive-trust-section .intensive-testimonial-grid article:hover {
    transform:translateY(-4px);
    box-shadow:0 24px 48px rgba(81,37,100,.15);
  }
}

@media(max-width:800px) {
  body.intensives-page .intensive-trust-section .intensive-testimonial-grid article {
    min-height:auto;
  }
}

/* Intensives hero support copy and location selector beneath the full hero. */
body.intensives-page .intensive-competition-layout .intensive-hero-description {
  max-width:min(720px,54vw);
  margin:16px 0 0;
  color:#304154 !important;
  font-family:var(--font-body) !important;
  font-size:clamp(.98rem,1.15vw,1.12rem);
  font-weight:400;
  line-height:1.62;
}

body.intensives-page .intensive-location-selector-section {
  padding:26px 0;
  border-top:1px solid rgba(167,35,196,.1);
  border-bottom:1px solid rgba(167,35,196,.14);
  background:linear-gradient(135deg,#fff 0%,#fbf6ff 52%,#fff 100%);
}

body.intensives-page .intensive-location-selector-section .intensive-location-selector {
  width:100%;
  max-width:none;
  margin:0;
  padding:20px clamp(20px,3vw,34px);
  grid-template-columns:minmax(220px,.72fr) minmax(280px,1fr) auto;
  border-color:rgba(167,35,196,.22);
  border-left-color:#A723C4;
  background:#fff;
  box-shadow:0 18px 42px rgba(23,26,34,.09);
}

/* Keep every cookie decision visible in one balanced action row. */
.cookie-consent{
  max-width:1180px;
}

.cookie-consent__copy{
  min-width:0;
  max-width:530px;
}

.cookie-consent__actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  flex:0 1 594px;
  width:min(100%,594px);
  gap:10px;
  align-items:stretch;
}

.cookie-consent__actions .btn{
  width:100%;
  min-width:0;
  min-height:46px;
  padding:10px 12px !important;
  font-size:.68rem;
  letter-spacing:.08em;
  white-space:nowrap;
}

@media(max-width:820px){
  .cookie-consent__copy{
    max-width:none;
  }

  .cookie-consent__actions{
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    gap:6px;
  }

  .cookie-consent__actions .btn,
  .cookie-consent__actions .btn:nth-child(3){
    grid-column:auto;
    min-height:44px;
    padding:7px 5px !important;
    white-space:normal;
  }
}

body.intensives-page .intensive-location-selector-section .section-kicker {
  color:#A723C4;
}

body.intensives-page .intensive-location-selector-section .intensive-btn-primary,
body.intensives-page .intensive-location-selector-section .intensive-btn-primary:is(:hover,:focus-visible) {
  background:#A723C4 !important;
  border-color:#A723C4 !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(167,35,196,.24) !important;
}

@media(max-width:900px) {
  body.intensives-page .intensive-location-selector-section .intensive-location-selector {
    grid-template-columns:1fr;
    align-items:stretch;
    gap:12px;
  }

  body.intensives-page .intensive-location-selector-section .intensive-btn {
    width:100%;
  }

  body.intensives-page .intensive-competition-layout .intensive-hero-description {
    max-width:34rem;
  }
}

@media(max-width:520px) {
  body.intensives-page .intensive-competition-layout .intensive-hero-description {
    max-width:100%;
    font-size:.96rem;
  }

  body.intensives-page .intensive-location-selector-section {
    padding:18px 0;
  }

  body.intensives-page .intensive-location-selector-section .intensive-location-selector {
    padding:16px;
  }
}

/* Language chooser typography: every website-owned control and message uses Lato. */
.language-overlay,
.language-overlay *,
.language-overlay *::before,
.language-overlay *::after {
  font-family:"Lato",sans-serif !important;
}

/* Language chooser accents use the approved AD pink on every page. */
.language-overlay .eyebrow,
body#developmentPage .language-overlay .eyebrow {
  color:var(--adc-pink) !important;
}

.language-overlay .eyebrow::before,
body#developmentPage .language-overlay .eyebrow::before {
  background:linear-gradient(90deg,var(--adc-pink),transparent) !important;
}

.language-overlay .btn-primary,
.language-overlay .language-apply,
body#developmentPage .language-overlay .btn-primary,
body#developmentPage .language-overlay .language-apply {
  border-color:var(--adc-pink) !important;
  background:var(--adc-pink) !important;
  background-color:var(--adc-pink) !important;
  background-image:none !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(255,0,160,.24) !important;
}

.language-overlay .btn-primary:is(:hover,:focus-visible),
.language-overlay .language-apply:is(:hover,:focus-visible),
body#developmentPage .language-overlay .btn-primary:is(:hover,:focus-visible),
body#developmentPage .language-overlay .language-apply:is(:hover,:focus-visible) {
  border-color:var(--adc-pink-hover) !important;
  background:var(--adc-pink-hover) !important;
  background-color:var(--adc-pink-hover) !important;
}

/* Info Pack hero: use the complete approved artwork supplied for this panel. */
body.info-pack-page .info-pack-compact-hero {
  isolation:isolate;
  display:block !important;
  min-height:0 !important;
  padding:0 !important;
  background:#fff !important;
  border:0 !important;
}

body.info-pack-page .info-pack-compact-hero::before,
body.info-pack-page .info-pack-compact-hero::after {
  display:none !important;
}

body.info-pack-page .info-pack-hero-image {
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

body.info-pack-page .info-pack-hero-copy {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
body.admin-body .admin-permission-layout {
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.7fr);
  gap: 24px;
  align-items: start;
  margin-top: 22px;
}

body.admin-body .admin-permission-list {
  max-height: 760px;
  overflow: auto;
  padding: 8px;
  border: 1px solid rgba(19, 26, 36, .12);
  border-radius: 18px;
  background: #f7f8fa;
}

body.admin-body .admin-permission-group-choice {
  width: 100%;
  display: grid;
  gap: 5px;
  padding: 14px 15px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: #131a24;
  font-family: "Lato", sans-serif;
  text-align: left;
  cursor: pointer;
}

body.admin-body .admin-permission-group-choice:hover,
body.admin-body .admin-permission-group-choice.active {
  border-color: rgba(235, 0, 92, .35);
  background: #fff;
  box-shadow: 0 8px 22px rgba(19, 26, 36, .08);
}

body.admin-body .admin-permission-group-choice strong {
  font-size: .98rem;
  font-weight: 900;
}

body.admin-body .admin-permission-group-choice span {
  color: #667085;
  font-size: .78rem;
}

body.admin-body .admin-permission-form {
  margin: 0;
}

body.admin-body .admin-permission-capabilities {
  margin: 0;
  padding: 18px;
  border: 1px solid rgba(19, 26, 36, .12);
  border-radius: 16px;
}

body.admin-body .admin-permission-capabilities legend {
  padding: 0 7px;
  font-family: "Lato", sans-serif;
  font-weight: 900;
}

body.admin-body .admin-permission-capability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
}

body.admin-body .admin-permission-capability-option {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(19, 26, 36, .1);
  border-radius: 11px;
  background: #fff;
  font-family: "Lato", sans-serif;
  cursor: pointer;
}

body.admin-body .admin-permission-capability-option input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex: 0 0 auto;
  accent-color: #eb005c;
}

body.admin-body .admin-permission-capability-option span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

body.admin-body .admin-permission-capability-option strong {
  font-size: .82rem;
  line-height: 1.25;
}

body.admin-body .admin-permission-capability-option code {
  overflow-wrap: anywhere;
  color: #667085;
  font-size: .68rem;
}

@media (max-width: 840px) {
  body.admin-body .admin-permission-layout {
    grid-template-columns: 1fr;
  }

  body.admin-body .admin-permission-list {
    max-height: 330px;
  }

  body.admin-body .admin-permission-capability-grid {
    grid-template-columns: 1fr;
  }
}
.admin-ticket-location-fields {
  margin: 1.5rem 0;
  padding: 1.25rem;
  border: 1px solid rgba(22, 25, 33, 0.14);
  border-radius: 18px;
}

.admin-ticket-location-fields legend {
  padding: 0 0.45rem;
  font-family: "Lato", sans-serif;
  font-size: 1.05rem;
  font-weight: 900;
}
/* Homepage testimonial carousel restored in its original pre-contact position. */
.home-testimonials {
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(227, 25, 55, .07), transparent 30%),
    linear-gradient(180deg, #fff 0%, #fffafb 100%);
}

.home-testimonials-heading {
  margin-bottom: 34px;
}

.home-testimonials-carousel {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  grid-template-areas:
    "previous viewport next"
    ". status .";
  align-items: center;
  gap: 18px;
  max-width: 980px;
  margin: 0 auto;
}

.home-testimonials-viewport {
  grid-area: viewport;
  min-width: 0;
}

.home-testimonials-track.testimonial-grid {
  display: block;
}

.home-testimonials-track.testimonial-grid article {
  position: relative;
  min-height: 280px;
  padding: clamp(30px, 5vw, 58px);
  border: 1px solid rgba(227, 25, 55, .14);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(31, 39, 50, .10);
}

.home-testimonials-track.testimonial-grid article[hidden] {
  display: none !important;
}

.home-testimonials-track.testimonial-grid article::before {
  content: "\201C";
  position: absolute;
  top: 18px;
  right: 34px;
  color: rgba(227, 25, 55, .12);
  font-family: "Lato", sans-serif;
  font-size: clamp(72px, 10vw, 124px);
  font-weight: 900;
  line-height: 1;
}

.home-testimonials-track.testimonial-grid span,
.home-testimonials-track.testimonial-grid h3,
.home-testimonials-track.testimonial-grid p {
  position: relative;
  z-index: 1;
  font-family: "Lato", sans-serif;
}

.home-testimonials-track.testimonial-grid span {
  display: inline-block;
  margin-bottom: 20px;
  color: #e31937;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.home-testimonials-track.testimonial-grid h3 {
  max-width: 720px;
  margin: 0 0 18px;
  font-size: clamp(27px, 4vw, 44px);
  line-height: 1.06;
}

.home-testimonials-track.testimonial-grid p {
  max-width: 760px;
  margin: 0;
  color: #5e6878 !important;
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.65;
}

.home-testimonials-control {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(31, 39, 50, .14);
  border-radius: 50%;
  background: #fff;
  color: #171a20;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .09);
  cursor: pointer;
  font-family: "Lato", sans-serif;
  font-size: 31px;
  line-height: 1;
}

.home-testimonials-control--previous { grid-area: previous; }
.home-testimonials-control--next { grid-area: next; }

.home-testimonials-control:hover,
.home-testimonials-control:focus-visible {
  border-color: #e31937;
  background: #e31937;
  color: #fff;
}

.home-testimonials-status {
  grid-area: status;
  margin: 6px 0 0;
  color: #667085;
  font-family: "Lato", sans-serif;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 700px) {
  .home-testimonials-carousel {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    grid-template-areas:
      "viewport viewport viewport"
      "previous status next";
    gap: 14px;
  }

  .home-testimonials-track.testimonial-grid article {
    min-height: 330px;
    padding: 32px 26px;
    border-radius: 22px;
  }

  .home-testimonials-control {
    width: 44px;
    height: 44px;
  }

  .home-testimonials-control--previous { justify-self: end; }
  .home-testimonials-control--next { justify-self: start; }
}

/* Intensives buttons use the single approved Intensives brand purple. */
body.intensives-page {
  --intensives-brand-purple:#A723C4;
}

body.intensives-page :is(button,a.btn,a.intensive-btn),
body.intensives-page .header .nav .nav-cta,
body.intensives-page .contact-icon {
  border-color:var(--intensives-brand-purple) !important;
  background:var(--intensives-brand-purple) !important;
  background-color:var(--intensives-brand-purple) !important;
  background-image:none !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(167,35,196,.24) !important;
}

body.intensives-page :is(button,a.btn,a.intensive-btn):is(:hover,:focus-visible),
body.intensives-page .header .nav .nav-cta:is(:hover,:focus-visible),
body.intensives-page .contact-icon:is(:hover,:focus-visible) {
  border-color:var(--intensives-brand-purple) !important;
  background:var(--intensives-brand-purple) !important;
  background-color:var(--intensives-brand-purple) !important;
  background-image:none !important;
  color:#fff !important;
}

body#intensivesPage button,
body#intensivesPage a.btn,
body#intensivesPage a.intensive-btn,
body#intensivesPage .header .nav .nav-cta,
body#intensivesPage a.contact-icon,
body#intensivesPage :is(button,a).language-option,
body#intensivesPage :is(button,a).language-apply {
  border-color:#A723C4 !important;
  background:#A723C4 !important;
  background-color:#A723C4 !important;
  background-image:none !important;
  color:#fff !important;
}

body#intensivesPage :is(button,a.btn,a.intensive-btn,a.contact-icon,.language-option,.language-apply):is(:hover,:focus-visible) {
  border-color:#A723C4 !important;
  background:#A723C4 !important;
  background-color:#A723C4 !important;
  background-image:none !important;
  color:#fff !important;
}

body#intensivesPage .cookie-consent__choice {
  letter-spacing:.1em;
  white-space:normal;
}

/* Information Pack confirmation: compact, calm and complete in one screen. */
body.info-pack-confirmation-page {
  min-height:100svh;
  background:
    radial-gradient(circle at 18% 18%,rgba(227,25,55,.08),transparent 32%),
    radial-gradient(circle at 86% 78%,rgba(142,61,255,.09),transparent 34%),
    #f8f9fb;
}

body.info-pack-confirmation-page > .footer {
  display:none;
}

body.info-pack-confirmation-page [hidden] {
  display:none !important;
}

body.info-pack-confirmation-page .info-pack-confirmation-main {
  box-sizing:border-box;
  min-height:calc(100svh - 79px);
  display:grid;
  place-items:center;
  padding:clamp(24px,4vh,48px) 0;
}

body.info-pack-confirmation-page .info-pack-confirmation-shell,
body.info-pack-confirmation-page .info-pack-confirmation-container {
  width:100%;
}

body.info-pack-confirmation-page .info-pack-confirmation-card {
  position:relative;
  gap:14px;
  max-width:880px;
  padding:clamp(28px,4vw,52px);
  text-align:center;
  overflow:hidden;
}

body.info-pack-confirmation-page .info-pack-confirmation-card::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,#ff405b,#e31955,#a723c4);
}

body.info-pack-confirmation-page .info-pack-confirmation-mark {
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  margin:0 auto 2px;
  border-radius:50%;
  background:linear-gradient(135deg,#ff405b,#c50f32);
  color:#fff;
  font-size:1.75rem;
  font-weight:900;
  box-shadow:0 14px 34px rgba(227,25,55,.22);
}

body.info-pack-confirmation-page .eyebrow {
  justify-content:center;
  margin:0;
  color:#c50f32;
}

body.info-pack-confirmation-page .eyebrow::before {
  display:none;
}

body.info-pack-confirmation-page h1 {
  max-width:760px;
  margin:0 auto;
  font-size:clamp(2.35rem,5vw,4.6rem);
  line-height:.98;
  letter-spacing:-.045em;
}

body.info-pack-confirmation-page .lead {
  max-width:650px;
  margin:2px auto 0;
  color:#4a5565;
  font-size:clamp(1rem,1.5vw,1.16rem);
  line-height:1.55;
}

body.info-pack-confirmation-page .info-pack-confirmation-context,
body.info-pack-confirmation-page .info-pack-confirmation-note {
  max-width:700px;
  margin:2px auto;
  padding:12px 16px;
  border:1px solid rgba(227,25,55,.14);
  border-radius:14px;
  background:#fff7f8;
  color:#303846;
  font-weight:800;
  line-height:1.45;
}

body.info-pack-confirmation-page .info-pack-confirmation-note {
  border-color:rgba(167,35,196,.16);
  background:#fbf6ff;
  font-weight:700;
}

body.info-pack-confirmation-page .actions {
  justify-content:center;
  margin-top:4px;
}

body.info-pack-confirmation-page .actions .btn {
  min-width:190px;
}

body.info-pack-confirmation-page .info-pack-confirmation-help {
  margin:2px 0 0;
  color:#667085;
  font-size:.9rem;
}

body.info-pack-confirmation-page .info-pack-confirmation-help a {
  color:#c50f55;
  font-weight:800;
}

@media (max-width:640px) {
  body.info-pack-confirmation-page .info-pack-confirmation-main {
    min-height:calc(100svh - 79px);
    padding:18px 0 28px;
  }

  body.info-pack-confirmation-page .info-pack-confirmation-container {
    max-width:calc(100% - 24px);
  }

  body.info-pack-confirmation-page .info-pack-confirmation-card {
    gap:12px;
    padding:26px 18px;
    border-radius:22px;
  }

  body.info-pack-confirmation-page h1 {
    font-size:clamp(2.15rem,11vw,3.15rem);
  }

  body.info-pack-confirmation-page .actions {
    display:grid;
    grid-template-columns:1fr;
  }

  body.info-pack-confirmation-page .actions .btn {
    width:100%;
  }
}

/* Desktop Info Pack overview and initial request form fit in one viewport. */
@media (min-width:1181px) {
  body.info-pack-page .info-pack-compact-hero {
    height:auto !important;
    overflow:visible;
    width:min(75vw,960px);
    margin-inline:auto;
  }

  body.info-pack-page .info-pack-hero-image {
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin-inline:0;
    object-fit:contain !important;
    object-position:center;
  }

  body.info-pack-page .info-pack-form-panel {
    min-height:0 !important;
    padding:14px clamp(16px,7vw,112px) 18px !important;
  }

  body.info-pack-page .info-pack-form-wrap {
    padding:16px !important;
    border-radius:22px !important;
  }

  body.info-pack-page .info-pack-form-wrap > .form-reassurance {
    margin-bottom:10px;
    padding:10px 14px;
  }

  body.info-pack-page .lead-capture-form {
    padding:16px 20px !important;
  }

  body.info-pack-page .lead-capture-form > label:first-of-type {
    gap:6px;
  }

  body.info-pack-page .lead-capture-form select {
    min-height:46px;
  }

  body.info-pack-page .lead-capture-form .cf-turnstile {
    margin-block:10px;
  }

  body.info-pack-page #infoPackSubmitButton {
    min-height:50px;
  }
}
/* Public page visibility fails closed for the temporarily retired uniform area. */
html:not([data-uniform-pages-enabled="true"]) a[href^="merchandise.html"],
html:not([data-uniform-pages-enabled="true"]) a[href^="/merchandise"],
html:not([data-uniform-pages-enabled="true"]) a[href^="ad-uniform.html"],
html:not([data-uniform-pages-enabled="true"]) a[href^="/ad-uniform"] {
  display: none !important;
}

html:not([data-uniform-pages-enabled="true"]) body.merchandise-page,
html:not([data-uniform-pages-enabled="true"]) body.uniform-info-page,
html[data-uniform-page-pending="true"] body {
  visibility: hidden;
}

.mobile-page-visibility-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mobile-page-visibility-grid label {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(31, 39, 50, .12);
  border-radius: 14px;
  background: #fff;
}

@media (max-width: 680px) {
  .mobile-page-visibility-grid { grid-template-columns: 1fr; }
}
