/* ---- v3.77: final sweep ---- */
/* enquiry form validation message */
.enq-form .form-err{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:#fdecec;color:#6b0d0d!important;font:var(--weight-semibold) var(--size-body-sm)/1.4 var(--font-body)}
/* v3.79 honeypot: off-screen, not display:none, so bots still fill it; people never see or tab to it. */
.enq-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
/* phone numbers never split across lines */
a[href^="tel:"]{white-space:nowrap}
/* breadcrumb: the separator ends a line instead of starting the next one */
nav.crumbs li+li::before{content:none}
nav.crumbs li:not(:last-child)::after{content:"/";margin-left:var(--space-2);color:var(--mint-400);opacity:.6}
/* home course list: stacked columns keep the same gap as the rows */
@media (max-width:899px){section.courses3 .courses3__card{gap:var(--space-3)}}
@media (max-width:767px){
/* ABC partner card: the handbook button fits the card on phones (inline button styles need !important) */
section.partner .partner__cta a{width:100%!important;padding-left:var(--space-4)!important;padding-right:var(--space-4)!important;white-space:nowrap!important;font-size:15px!important;justify-content:center}
}
@media (max-width:359px){section.partner .partner__cta a{white-space:normal!important}}
/* ---- v3.73: ABC booking calendar frame scrolls inside a fixed height (the list is 200+ rows) ---- */
section.calp .calp__frame{min-height:0;height:min(900px,80vh)}
/* ---- v3.71: "Email us" in place of the full address wherever the address would wrap (see EmailText in panels-b.jsx) ---- */
.em-full{display:none}
footer .ftr__contact span.em-full{display:none}footer .ftr__contact span.em-short{display:inline}
@media (min-width:640px){section.hero3--centered .enq3__contacts--row .em-full{display:inline}section.hero3--centered .enq3__contacts--row .em-short{display:none}}
@media (min-width:1280px){footer .ftr__contact span.em-full{display:inline}footer .ftr__contact span.em-short{display:none}}
/* ---- v3.71: contact banner tiles size to their content, so the email and address never break mid-word.
   640-1199: phone + email share the first row, address below. 1200+: all three in one row, spread edge to edge ---- */
@media (min-width:640px){
section.hero3--sub .enq3__contacts--row{justify-content:flex-start;column-gap:var(--space-12)}
section.hero3--sub .enq3__contact{flex:0 1 auto}
}
@media (min-width:1200px){
section.hero3--sub .enq3__contacts--row{flex-wrap:nowrap;justify-content:space-between;gap:var(--space-8)}
}
/* ---- v3.69h: enquiry heading holds two lines ("Tell us the site / & the numbers") at every width ---- */
.enq3__l{white-space:nowrap}
@media (min-width:1024px){section.enq3 .enq3__intro h2.shout--band{font-size:min(56px,4.05vw)}}
/* very narrow phones (<360): the logos step down so the phone icon and burger fit beside them */
@media (max-width:359px){header.hdr .hdr__logo{width:88px;height:30px}header.hdr .hdr__logo--abc{width:74px;height:26px}header.hdr .hdr__home{gap:var(--space-2)}header.hdr .hdr__row{gap:var(--space-1)}}

/* ---- v3.69f: home hero lead runs the full copy column on desktop (three lines rather than four, Carla 13 Oct) ---- */
@media (min-width:1024px){section.hero3:not(.hero3--sub) .hero3__copy .hero__lead{max-width:none}}

/* ---- v3.69d: logo cards on the ABC and About photos stack on phones (logo, then name and badge centred underneath) ---- */
@media (max-width:767px){
  .rto-photo .rto-partner{flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-5);width:max-content;min-width:min(240px,calc(100% - 2 * var(--gutter-mobile)))}
  .rto-photo .rto-partner > div{display:flex;flex-direction:column;align-items:center}
  .rto-photo .rto-partner [class*="badge"],.rto-photo .rto-partner > div > div > *{white-space:nowrap}
}

/* ---- v3.69: mobile sweep fixes. The location banner email wraps instead of clipping at 375; the home Courses panel steps its
   64/96 desktop padding down on phones. ---- */
.loc__details a,.loc__details span{overflow-wrap:break-word;min-width:0}
@media (min-width:1024px) and (max-width:1259px){.hdr .hdr__cta{margin-left:auto}}
@media (max-width:767px){section.courses3{padding:var(--space-12) 0 var(--space-16)}}

/* ---- v3.69: dropdown tabs (client feedback 8 Oct: shorter pages, detail kept for search and AI). Native <details>, styled to
   match the DS Accordion: course pages (sections after Units), FAQ panels and the policy pages. ---- */
.disc-list{border-top:1px solid var(--border-subtle)}
.disc{border-bottom:1px solid var(--border-subtle)}
.disc__sum{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:20px 0;cursor:pointer;list-style:none}
.disc__sum::-webkit-details-marker{display:none}
.disc__sum:focus-visible{outline:2px solid var(--mint-400);outline-offset:4px;border-radius:4px}
.disc__title{margin:0;font:var(--weight-semibold) var(--size-h4)/1.35 var(--font-display);color:var(--text-heading);text-transform:none;letter-spacing:0;transition:var(--transition-control)}
.disc[open] > .disc__sum .disc__title,.disc__sum:hover .disc__title{color:var(--blue-700)}
.disc__icon{flex:0 0 auto;position:relative;width:28px;height:28px;border-radius:var(--radius-circle);background:var(--ink-100);transition:var(--transition-control)}
.disc__icon::before,.disc__icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:var(--ink-700);border-radius:2px}
.disc__icon::after{transform:rotate(90deg)}
.disc[open] > .disc__sum .disc__icon{background:var(--blue-700)}
.disc[open] > .disc__sum .disc__icon::before{background:#fff}
.disc[open] > .disc__sum .disc__icon::after{display:none}
.disc__body{padding:0 48px var(--space-6) 0}
.disc__body .prose + .prose,.disc__body .prose + .coursep__checks,.disc__body .coursep__checks + .prose,.disc__body .prose + .opts,.disc__body .prose + .units{margin-top:var(--space-4)}
.disc--course .disc__title{font:var(--weight-bold) clamp(20px,2vw,24px)/1.25 var(--font-display);color:var(--blue-900)}
.coursep__sec.coursep__more{margin-top:var(--space-12);padding-top:0;border-top:0}
.coursep__sub{margin:var(--space-6) 0 0;font:var(--weight-semibold) var(--size-h4)/1.35 var(--font-display);color:var(--blue-900)}
.coursep__sub + .coursep__checks{margin-top:var(--space-3)}
.band--dark .disc-list,.band--dark .disc{border-color:rgba(255,255,255,.16)}
@media (max-width:767px){.disc__body{padding-right:0}.disc__sum{padding:16px 0}.coursep__sec.coursep__more{margin-top:var(--space-10)}}

/* ---- v3.69: mobile menu (client request 8 Oct). Below 1024px the desktop nav and Book button hide; a phone icon and a burger
   sit right of the logos, and the burger opens a panel under the sticky header listing every page (Courses and About expand). ---- */
.hdr__burger,.hdr__mcall,.mnav{display:none}
@media (max-width:1023px){
  .hdr .hdr__row{flex-wrap:nowrap;min-height:64px;gap:var(--space-2)}
  .hdr .hdr__nav,.hdr .hdr__cta{display:none}
  .hdr__brand{margin-right:auto;min-width:0}
  .hdr__mcall,.hdr__burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;border-radius:var(--radius-md);color:var(--blue-900);background:transparent;border:0;cursor:pointer;text-decoration:none}
  .hdr__mcall{color:var(--blue-700)}
  .hdr__burger{background:var(--blue-700);color:#fff}
  .hdr__burger:focus-visible,.hdr__mcall:focus-visible{outline:2px solid var(--mint-400);outline-offset:2px}
  .hdr__burger-bars,.hdr__burger-bars::before,.hdr__burger-bars::after{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,background-color .2s ease}
  .hdr__burger-bars{position:relative}
  .hdr__burger-bars::before,.hdr__burger-bars::after{content:"";position:absolute;left:0}
  .hdr__burger-bars::before{top:-6px}.hdr__burger-bars::after{top:6px}
  .hdr.is-menu .hdr__burger-bars{background:transparent}
  .hdr.is-menu .hdr__burger-bars::before{transform:translateY(6px) rotate(45deg)}
  .hdr.is-menu .hdr__burger-bars::after{transform:translateY(-6px) rotate(-45deg)}
  .mnav{display:block;position:absolute;top:100%;left:0;right:0;background:var(--surface-page);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);box-shadow:0 18px 32px rgba(10,20,60,.12);max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;padding:var(--space-2) var(--gutter-mobile) var(--space-6)}
  .mnav__list,.mnav__sub{list-style:none;margin:0;padding:0}
  .mnav__list > li{border-bottom:1px solid var(--border-subtle)}
  .mnav__link{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:0;background:none;border:0;cursor:pointer;text-align:left;font:var(--weight-semibold) 15px/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.01em;color:var(--ink-800);text-decoration:none}
  .mnav__link:hover,.mnav__group.is-open > .mnav__toggle{color:var(--blue-700)}
  .mnav__chev{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s ease;margin-right:6px}
  .mnav__group.is-open .mnav__chev{transform:translateY(2px) rotate(-135deg)}
  .mnav__sub{padding:0 0 var(--space-3)}
  .mnav__sub a{display:block;padding:11px var(--space-3);border-radius:6px;font:var(--weight-regular) 15px/1.4 var(--font-body);color:var(--ink-700);text-decoration:none}
  .mnav__sub a:hover{background:var(--blue-050);color:var(--blue-700)}
  .mnav__sub a.mnav__all{font-weight:var(--weight-semibold);color:var(--blue-700)}
  .mnav__foot{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5)}
  .mnav__call{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;font:var(--weight-semibold) 15px/1 var(--font-body);color:var(--blue-700);text-decoration:none}
  /* v3.72: lock html only. Locking body too made it a scroll container, so the sticky header stuck to body and opened off-screen once scrolled (BugHerd #16) */
  html.mnav-open{overflow:hidden}
}
@media (min-width:768px) and (max-width:1023px){.mnav{padding-left:var(--gutter-desktop,40px);padding-right:var(--gutter-desktop,40px)}}
@media (prefers-reduced-motion:reduce){.hdr__burger-bars,.hdr__burger-bars::before,.hdr__burger-bars::after,.mnav__chev{transition:none}}

/* ---- v3.67: blog post page loses its booking card, article runs full width (shares the v3.66 one-column rule) ---- */
/* ---- v3.66: privacy page is `LegalDetail plain`, one full-width column (rule below the .legalp__n line) ---- */
/* ---- v3.65: BugHerd round 2. #9 left accent bar gone from the FAQ and course filter menus (edited in place in the v3.38 and v3.44
   blocks). #11 contact banner h1 on one line from 1024 and a wider centred lead. #10 blog post template. #13 legal page template ---- */
@media (min-width:1024px){section.hero3.hero3--centered .shout--oneline{white-space:nowrap}}
section.hero3.hero3--sub.hero3--centered .hero__lead{max-width:min(100%,940px)}
.postp__body p.postp__intro{margin:0 0 var(--space-10);max-width:none;color:var(--text-body)}
section.hero3.hero3--sub .shout--hero.shout--compact{font-size:clamp(30px,3.6vw,52px)}
.postp__sec + .postp__sec{margin-top:var(--space-10)}
.postp__sec .prose + .prose{margin-top:var(--space-4)}
/* v3.78 blog rewrite: in-article CTA box, tables, FAQ block */
.postp__cta{margin-top:var(--space-12);padding:var(--space-8);border-radius:var(--radius-xl);background:var(--blue-900);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.postp__ctahead{margin:0;font:var(--weight-bold) var(--size-h4,1.375rem)/1.25 var(--font-display);color:#fff}
.postp__body .postp__cta .prose{margin:var(--space-2) 0 0;color:var(--mint-100)!important;max-width:none}
.postp__ctaactions{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}
.postp__cta .postp__ctacall{color:#fff;display:inline-flex;gap:var(--space-2);align-items:center;margin:0;padding:0}
@media (max-width:767px){.postp__cta{flex-direction:column;align-items:flex-start;padding:var(--space-6)}}
.postp__tablewrap{margin-top:var(--space-6);overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}
.postp__table{width:100%;border-collapse:collapse;font:var(--weight-regular) var(--size-body-sm,0.9375rem)/1.45 var(--font-body);color:var(--text-body)}
.postp__table th{text-align:left;font-weight:var(--weight-semibold);font-family:var(--font-display);color:var(--blue-900);background:var(--mint-100);padding:var(--space-3) var(--space-4);white-space:nowrap}
.postp__table td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle);vertical-align:top}
/* v3.80 (BugHerd #19): under 600px each row stacks as a card with its column headings as labels, so no column hides off the right edge. */
@media (max-width:599px){.postp__tablewrap{overflow-x:visible}.postp__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.postp__table,.postp__table tbody,.postp__table tr,.postp__table td{display:block}.postp__table tr{padding:var(--space-4);border-top:1px solid var(--border-subtle)}.postp__table tbody tr:first-child{border-top:0}.postp__table td{padding:0;border-top:0}.postp__table td + td{margin-top:var(--space-2)}.postp__table td:first-child{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--blue-900)}.postp__table td + td::before{content:attr(data-label);display:block;font:var(--weight-semibold) 12px/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}}
.postp__faqs{margin-top:var(--space-12)}
.postp__faqs .disc-list{margin-top:var(--space-6)}
.postp__foot{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--border-subtle)}
.postp__foot .textlink{margin-top:0;padding-top:0;display:inline-flex;gap:var(--space-2);align-items:center}
.coursep__card h2.postp__cardtitle{font:var(--weight-bold) 22px/1.2 var(--font-display);color:var(--blue-900);margin:0;text-transform:none;letter-spacing:0}
.coursep__card .postp__cardlead{margin:var(--space-3) 0 0;font-size:var(--size-body-sm)}
.legalp__flag{display:flex;gap:var(--space-3);align-items:flex-start;margin:0 0 var(--space-12);padding:var(--space-5) var(--space-6);border:1px solid var(--warn-500);background:var(--warn-100);border-radius:var(--radius-md);color:var(--ink-800)}
.legalp__flag svg{flex:0 0 auto;color:var(--warn-600);margin-top:2px}
.legalp__flag p{margin:0;font:var(--weight-regular) var(--size-body-sm)/1.55 var(--font-body)}
.legalp__n{color:var(--mint-400)}
.legalp--plain .coursep__grid,.postp--full .coursep__grid{grid-template-columns:minmax(0,1fr)}
.legalp .coursep__card + .coursep__card{margin-top:var(--space-6)}
.legalp__toc{box-shadow:none}
.legalp__toctitle{color:var(--text-muted)}
.legalp__toc ol{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);counter-reset:toc}
.legalp__toc li{counter-increment:toc}
.legalp__toc a{display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font:var(--weight-semibold) var(--size-body-sm)/1.35 var(--font-display);color:var(--blue-900);text-decoration:none;transition:var(--transition-control)}
.legalp__toc a::before{content:counter(toc) ".";color:var(--blue-700);min-width:1.4em}
.legalp__toc a:hover{background:var(--mint-050);color:var(--blue-700)}
.legalp__contact .coursep__facts{margin-top:var(--space-5);padding-top:var(--space-5)}
.legalp__contact .coursep__facts a{overflow-wrap:anywhere}
.coursep__chip.postp__tag{font-family:var(--font-body);letter-spacing:0}
@media (max-width:1023px){.legalp .coursep__side,.postp .coursep__side{order:0}.legalp__toc{display:none}}

/* ---- v3.62: no pulse trace on the contact banner (the centred variant); the heart watermark stays ---- */
.hero3--centered .hero3__deco{display:none}

/* ---- v3.60: footer sub-page link (Townsville under Locations) ---- */
.ftr__sub{padding-left:var(--space-4);position:relative}
.ftr__sub::before{content:"";position:absolute;left:2px;top:50%;width:8px;height:1px;background:var(--mint-400);opacity:.7}

/* ---- v3.58: locations index: three cards, map embed on top, name, address, text, button ---- */
.locp{padding:var(--space-16) 0 var(--space-24)}
.locp__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.loccard{display:flex;flex-direction:column;transition:transform 260ms var(--ease-standard),box-shadow 260ms var(--ease-standard),border-color 260ms var(--ease-standard)}
.loccard:hover,.loccard:focus-within{transform:translateY(-6px);box-shadow:0 22px 40px -18px rgba(2,0,107,.35);border-color:var(--blue-700)}
.loccard__map{aspect-ratio:16/10;background:var(--ink-100);overflow:hidden}
.loccard__map iframe{display:block;width:100%;height:100%;border:0}
.loccard__name{margin:0;font:var(--weight-bold) 24px/1.2 var(--font-display);color:var(--blue-900);letter-spacing:-0.01em}
.loccard__addr{display:flex;align-items:flex-start;gap:var(--space-2);margin:var(--space-2) 0 0;font:var(--weight-semibold) var(--size-body-sm)/1.4 var(--font-body);color:var(--blue-700)!important}
.loccard__addr svg{flex:0 0 auto;margin-top:2px}
.loccard .post__excerpt{margin-top:var(--space-4)}
.loccard__cta{margin-top:auto;padding-top:var(--space-6)}
.loccard--dummy .loccard__addr{color:var(--ink-600)!important;font-style:italic}
@media (max-width:1023px){.locp__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.locp{padding:var(--space-12) 0 var(--space-16)}}
@media (max-width:599px){.locp__grid{grid-template-columns:1fr}}

/* ---- v3.57: Townsville location page. LocationHero: details list and CTAs left, map card right. LocationContact: soft band, intro and tiles left, form card right ---- */
section.hero3.hero3--location{min-height:0;padding:var(--space-16) 0}
.hero3--location .hero3__subgrid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--space-16)}
.loc__details{list-style:none;margin:var(--space-8) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.loc__details li{display:flex;align-items:center;gap:var(--space-3);font:var(--weight-semibold) var(--size-body)/1.4 var(--font-body);color:#fff}
.loc__details a{color:#fff;text-decoration:none}
.loc__details a:hover{color:var(--mint-400)}
.loc__icon{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--mint-400);display:inline-flex;align-items:center;justify-content:center}
.hero3__submedia.loc__mediawrap{width:min(100%,560px);justify-self:end}
.hero3__photo.loc__map{aspect-ratio:auto;display:block;opacity:1;transform:none;transition:none}
.hero3__photo.loc__map img,.loc__map iframe{display:block;width:100%;height:340px;border:0;border-radius:calc(var(--radius-xl) - 4px) calc(var(--radius-xl) - 4px) 0 0;background:var(--ink-100);object-fit:cover;object-position:50% 40%}
.loc__mapcap{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#fff;color:var(--blue-900);font:var(--weight-semibold) var(--size-body-sm)/1.3 var(--font-body);border-radius:0 0 calc(var(--radius-xl) - 4px) calc(var(--radius-xl) - 4px)}
.loc__mapcap svg{color:var(--blue-700);flex:0 0 auto}
.loc__mapcap span{flex:1 1 auto;min-width:0}
.loc__mapcap a{color:var(--blue-700);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.loc__contact .loc__intro .lead{color:var(--text-body)!important}
.loc__contact .enq3__cl{color:var(--blue-700)}
.loc__contact .enq3__cv{color:var(--blue-900)}
.loc__contact a.enq3__cv:hover{color:var(--blue-700)}
.loc__contact .enq3__tile{background:var(--surface-card);border:1px solid var(--border-subtle)}
@media (max-width:1023px){section.hero3.hero3--location{padding:var(--space-12) 0}.hero3--location .hero3__subgrid{grid-template-columns:1fr;gap:var(--space-10)}.hero3__submedia.loc__mediawrap{width:100%;justify-self:start;padding-right:14px}}
@media (max-width:767px){.hero3__photo.loc__map img,.loc__map iframe{height:260px}.loc__mapcap{flex-wrap:wrap}}

/* ---- v3.56: corporate and on-site page. CorpOverview: centred head, three link cards, industries chips. OnSite: copy and feature grid left, photo card right. CorpTraining: dark band, checks left, Group bookings card right ---- */
.corpov__head{max-width:64ch;margin:0 auto;text-align:center}
.corpov__head .lead{margin-left:auto;margin-right:auto}
.corpov__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin-top:var(--space-12)}
.corpov__card{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6) var(--space-6);text-decoration:none;color:inherit;transition:transform 260ms var(--ease-standard),box-shadow 260ms var(--ease-standard),border-color 260ms var(--ease-standard)}
.corpov__card:hover,.corpov__card:focus-visible{transform:translateY(-6px);box-shadow:0 22px 40px -18px rgba(2,0,107,.35);border-color:var(--blue-700)}
.corpov__title{margin:var(--space-5) 0 0;font:var(--weight-bold) 22px/1.2 var(--font-display);color:var(--blue-900);letter-spacing:-0.01em}
.corpov__card .prose{margin-top:var(--space-3)}
.corpov__card .textlink{margin-top:auto;padding-top:var(--space-6)}
.corpov__card:hover .textlink svg{transform:translateX(6px)}
.corpov__card .textlink svg{transition:transform 260ms var(--ease-standard)}
.corpov__industries{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--border-subtle)}
.corpov__indtitle{margin:0;font:var(--weight-bold) 22px/1.2 var(--font-display);color:var(--blue-900);letter-spacing:-0.01em;text-align:center}
.corpov__ind{list-style:none;margin:var(--space-6) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.corpov__indtile{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-4) var(--space-5);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}
.quote-orb.corpov__indicon{flex:0 0 auto;width:40px;height:40px}
.corpov__indlabel{min-width:0;font:var(--weight-semibold) var(--size-body)/1.3 var(--font-body);color:var(--blue-900);overflow-wrap:anywhere}
@media (max-width:1023px){.corpov__ind{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:479px){.corpov__ind{grid-template-columns:1fr}}
.onsite__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-16);align-items:center}
.onsite__grid .prose{margin-top:var(--space-5)}
.onsite__feats{list-style:none;margin:var(--space-8) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6)}
.onsite__feats li{display:flex;align-items:center;gap:var(--space-3);font:var(--weight-semibold) var(--size-body)/1.3 var(--font-display);color:var(--blue-900)}
.onsite__media{justify-self:end;width:min(100%,480px);padding:0 18px 18px 0}
.onsite__media .hero3__photo{aspect-ratio:4/3}
/* v3.78: two staggered photos, the second overlapping lower-left, so the column matches the copy's height */
.onsite__media--stack{width:min(100%,520px)}
.onsite__media--stack>.hero3__photo{aspect-ratio:1/1}
.onsite__second{position:relative;z-index:1;width:64%;margin:-24% 0 0 -6%}
.onsite__second .hero3__photo{aspect-ratio:4/3}
.onsite__second .hero3__photo::before{display:none}
.corpt__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-16);align-items:center}
.corpt__checks{margin-top:var(--space-8)}
.corpt__card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-lg);color:var(--text-body)}
.corpt__cardhead{display:flex;gap:var(--space-4);align-items:flex-start;padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}
.corpt__cardtitle{font:var(--weight-bold) 22px/1.2 var(--font-display);color:var(--blue-900)}
.corpt__cardsub{margin-top:var(--space-2);font:var(--weight-regular) var(--size-body-sm)/1.5 var(--font-body);color:var(--text-muted)}
.corpt__lines{list-style:none;margin:var(--space-6) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}
.corpt__lines li{display:flex;gap:var(--space-3);align-items:center;font:var(--weight-semibold) var(--size-body)/1.3 var(--font-display);color:var(--blue-900)}
.corpt__lines svg{flex:0 0 auto;color:var(--blue-700)}
.corpt__ctas{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}
.corpt__call{margin-top:0;padding-top:0}
/* v3.90 (client, 5 Nov): the Group bookings card carries the email under the phone */
.corpt__reach{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);min-width:0}
.corpt__mail{min-width:0}
.band--dark .corpt__card .check{color:var(--ink-900)}
@media (max-width:1023px){.corpov__cards{grid-template-columns:1fr}.onsite__grid,.corpt__grid{grid-template-columns:1fr;gap:var(--space-10)}.onsite__media{justify-self:start;width:min(100%,440px)}.onsite__second{margin-left:0}}
@media (max-width:599px){.onsite__feats{grid-template-columns:1fr}.corpt__card{padding:var(--space-6)}}

/* ---- v3.55: about page panels. AboutStory: 5/7 head, three staggered client photos with captions. AbcPartner: mint band, three numbered steps, ABC card ---- */
.story__head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-12);align-items:start}
.story__head .lead{margin-top:0}
.story__head .prose{margin-top:var(--space-5)}
.story__facts{list-style:none;margin:var(--space-8) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-8)}
.story__facts li{display:flex;align-items:center;gap:var(--space-3);font:var(--weight-semibold) var(--size-body)/1.3 var(--font-display);color:var(--blue-900)}
.story__fact-icon{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--mint-100);color:var(--blue-700);display:inline-flex;align-items:center;justify-content:center}
.story__strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin-top:var(--space-16);align-items:start}
.story__photo{margin:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transform:translateY(calc(var(--i) * 28px))}
.story__photo:nth-child(2){transform:translateY(56px)}
.story__photo:nth-child(3){transform:translateY(0)}
.story__photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.story__photo figcaption{padding:var(--space-3) var(--space-4);font:var(--weight-semibold) var(--size-body-sm)/1.3 var(--font-body);color:var(--ink-600)}
section.story{padding-bottom:calc(var(--section-y-desktop) + 56px)}
section.partner{background:var(--mint-100);color:var(--text-body)}
.partner .shout{color:var(--blue-900)}
.partner .shout .blue{color:var(--blue-700)}
.partner .lead{color:var(--text-body)!important}
.partner__head{max-width:64ch;margin:0 auto;text-align:center}
.partner__head .lead{margin-left:auto;margin-right:auto}
.partner__steps{list-style:none;margin:var(--space-12) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);counter-reset:none}
.partner__step{position:relative;background:var(--surface-card);border:1px solid var(--mint-200);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6) var(--space-6);box-shadow:var(--shadow-xs)}
.partner__num{display:inline-block;font:var(--weight-black) 44px/1 var(--font-display);color:var(--mint-400);letter-spacing:-0.03em}
.partner__title{margin:var(--space-3) 0 0;font:var(--weight-bold) 20px/1.25 var(--font-display);color:var(--blue-900);letter-spacing:-0.01em}
.partner__step .prose{margin-top:var(--space-3)}
.partner__card{margin-top:var(--space-8);background:var(--surface-card);border:1px solid var(--mint-200);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-8);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-8);align-items:center;box-shadow:var(--shadow-xs)}
.partner__brand{display:flex;align-items:center;gap:var(--space-5)}
.partner__brand img{height:44px;width:auto;display:block}
.partner__name{font:var(--weight-bold) var(--size-body)/1.3 var(--font-display);color:var(--blue-900)}
.partner__rto{margin:0;font:var(--weight-medium) var(--size-body-sm)/1.5 var(--font-body);color:var(--text-body)!important}
@media (max-width:1023px){.story__head{grid-template-columns:1fr;gap:var(--space-6)}.partner__steps{grid-template-columns:1fr}.partner__card{grid-template-columns:1fr;gap:var(--space-5)}}
@media (max-width:767px){.story__strip{grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-10);align-items:stretch}.story__photo{display:flex;flex-direction:column}.story__photo figcaption{flex:1}.story__photo,.story__photo:nth-child(2),.story__photo:nth-child(3){transform:none}.story__photo:nth-child(3){grid-column:1 / -1}section.story{padding-bottom:var(--section-y-mobile)}}

/* ---- v3.53: card imagery is a link too (blog cards to the post, course cards to the course); the heading link keeps the tab stop ---- */
.tile__medialink{display:block;height:100%;cursor:pointer}
.ccard .tile__medialink{position:absolute;inset:0}

/* ---- v3.51: ABC logo beside the Coast 2 Country logo in the header (128x44, ABC slightly smaller at 110x38 since v3.52); header wrap widened to 1400 ---- */
.hdr > .wrap{max-width:1400px}
.hdr__brand{display:flex;align-items:center;flex:0 0 auto}
.hdr__home{display:flex;align-items:center;gap:var(--space-4)}
.hdr .hdr__logo{height:44px;width:128px;object-fit:contain;object-position:left center;display:block}
.hdr__brand-rule{width:1px;height:36px;background:var(--border-subtle)}
.hdr .hdr__logo--abc{height:38px;width:110px}
@media (max-width:1319px){.hdr .hdr__logo{height:36px;width:104px}.hdr .hdr__logo--abc{height:31px;width:90px}.hdr__home{gap:var(--space-3)}.hdr__brand-rule{height:28px}.hdr__nav ul{gap:0 var(--space-3)}}
@media (max-width:1259px){.hdr__nav{order:3;flex:1 1 100%;margin-left:0}.hdr__nav ul{justify-content:flex-start}}

/* ---- v3.49: no pulse trace behind the course banner photo (the heart watermark stays) ---- */
.hero3--media .hero3__deco{display:none}

/* ---- v3.47: course banner carries the course photo: two columns, photo card right over a mint offset slab ---- */
.hero3__subgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-12);align-items:center}
.hero3__subgrid > *{min-width:0}
section.hero3.hero3--sub .hero3__subgrid .shout--hero{width:auto;max-width:none}
.hero3__submedia{justify-self:end;width:min(100%,460px);padding:0 14px 14px 0}
.hero3__photo{position:relative;margin:0;aspect-ratio:3/2;border-radius:var(--radius-xl);border:4px solid #fff;background:var(--blue-800);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(24px);transition:opacity 700ms var(--ease-standard),transform 700ms var(--ease-standard)}
.hero3__photo::before{content:"";position:absolute;inset:14px -18px -18px 14px;border-radius:var(--radius-xl);background:var(--mint-400);opacity:.9;z-index:-1}
.hero3__photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:calc(var(--radius-xl) - 4px)}
.hero3__photo.is-on{opacity:1;transform:none}
.hero3--media .hero3__pulse{opacity:.7}
@media (prefers-reduced-motion:reduce){.hero3__photo{transition:none}}
@media (max-width:1023px){.hero3__subgrid{grid-template-columns:1fr;gap:var(--space-10)}.hero3__submedia{justify-self:start;width:min(100%,420px)}}
@media (max-width:767px){.hero3__submedia{width:min(100% - 18px,340px)}.hero3__photo{border-width:3px}}

/* ---- v3.46: course detail template: breadcrumb and chips in the banner, nine sections left, sticky booking card right (jump nav removed v3.48) ---- */
.crumbs{margin-bottom:var(--space-5)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2);font:var(--weight-medium) var(--size-body-sm)/1.3 var(--font-body);color:var(--mint-100)}
.crumbs li+li::before{content:"/";margin-right:var(--space-2);color:var(--mint-400);opacity:.6}
.crumbs a{color:var(--mint-100);text-decoration:none}
.crumbs a:hover{color:var(--mint-400)}
.crumbs [aria-current]{color:#fff}
.coursep__chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-6)}
.coursep__chip{display:inline-flex;align-items:center;padding:8px 14px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.22);color:#fff;font:var(--weight-semibold) 13px/1 var(--font-body)}
.coursep__chip--code{font-family:var(--font-mono);letter-spacing:.03em;background:var(--mint-400);border-color:var(--mint-400);color:var(--blue-900)}
.coursep{padding:var(--space-16) 0 var(--space-24)}
.coursep__grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--space-16);align-items:start}
.coursep__sec{scroll-margin-top:calc(var(--header-height) + var(--space-8))}
.coursep__sec + .coursep__sec{margin-top:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--border-subtle)}
h2.coursep__title{font-size:clamp(24px,2.6vw,34px);margin:0 0 var(--space-4)}
.coursep__sec .prose + .prose{margin-top:var(--space-4)}
.coursep__sec .prose a{color:var(--blue-700);font-weight:var(--weight-semibold)}
.coursep__checks{list-style:none;margin:var(--space-6) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.coursep__checks .check{align-items:flex-start;font-weight:var(--weight-regular)}
.coursep__checks .check__icon{width:32px;height:32px}
.coursep__checks .check__icon svg{stroke-width:2.5}
.coursep__tbc{color:var(--ink-600)!important;font-style:italic}
.units{list-style:none;margin:var(--space-6) 0 0;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);overflow:hidden}
.units li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-5)}
.units li+li{border-top:1px solid var(--border-subtle)}
.units__code{font:var(--weight-medium) 14px/1.2 var(--font-mono);color:var(--blue-700);letter-spacing:.02em}
.units__name{font:var(--weight-semibold) var(--size-body)/1.35 var(--font-display);color:var(--blue-900)}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);margin-top:var(--space-6)}
.opt{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6)}
.opt__head{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}
.opt__title{margin:0;font:var(--weight-black) 22px/1.1 var(--font-display);text-transform:uppercase;letter-spacing:-0.01em;color:var(--blue-700)}
.opt .coursep__checks{margin-top:var(--space-5)}
.dtiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);margin:var(--space-6) 0 0}
.dtile{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-4);align-items:start}
.dtile__orb{grid-row:span 2}
.dtile dt{font:var(--weight-bold) var(--size-body)/1.3 var(--font-display);color:var(--blue-900)}
.dtile dd{margin:var(--space-2) 0 0;font:var(--weight-regular) var(--size-body-sm)/1.55 var(--font-body);color:var(--text-body)}
.coursep__side{position:sticky;top:calc(var(--header-height) + var(--space-8))}
.coursep__card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-md)}
.coursep__pricebox{display:flex;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}
.coursep__price{font:var(--weight-black) clamp(40px,3.4vw,52px)/1 var(--font-display);color:var(--blue-900);letter-spacing:-0.02em}
.coursep__pp{font:var(--weight-medium) var(--size-body)/1 var(--font-body);color:var(--text-muted)}
.coursep__ctas{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6)}
.coursep__ctas a,.coursep__ctas button{width:100%;justify-content:center}
.coursep__facts{list-style:none;margin:var(--space-6) 0 0;padding:var(--space-6) 0 0;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-3)}
.coursep__facts li{display:flex;gap:var(--space-3);align-items:flex-start;font:var(--weight-regular) var(--size-body-sm)/1.5 var(--font-body);color:var(--text-body)}
.coursep__facts svg{flex:0 0 auto;color:var(--blue-700);margin-top:1px}
.coursep__facts a{color:var(--blue-700);font-weight:var(--weight-semibold)}
.coursep__rto{margin:var(--space-6) 0 0;font:var(--weight-regular) 12px/1.5 var(--font-body);color:var(--text-muted)}
.coursep__rto a{color:var(--blue-700);font-weight:var(--weight-semibold)}
/* v3.80 (BugHerd #18): minmax(0,1fr), not 1fr, so a wide sidebar button cannot hold the column wider than the phone; the CTA text wraps instead. */
@media (max-width:1023px){.coursep__grid{grid-template-columns:minmax(0,1fr);gap:var(--space-10)}.coursep__ctas a,.coursep__ctas button{white-space:normal;text-align:center}.coursep__side{position:static;order:-1}.coursep__card{box-shadow:none}}
@media (max-width:767px){.coursep{padding:var(--space-12) 0 var(--space-16)}.opts,.dtiles{grid-template-columns:1fr}.units li{grid-template-columns:1fr;gap:var(--space-1)}.coursep__card{padding:var(--space-6)}}

/* ---- v3.45: course panel breaks out of the 1200 container to the full viewport (40px gutters, capped at 1800) so three cards fit beside the rail. Specificity bumped over the v3.44 block below ---- */
.coursesp > .wrap{max-width:1800px}
.coursesp .coursesp__grid{grid-template-columns:300px minmax(0,1fr);gap:var(--space-12)}
.coursesp .coursesp__cards{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1279px){.coursesp .coursesp__grid{grid-template-columns:280px minmax(0,1fr);gap:var(--space-8)}.coursesp .coursesp__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1023px){.coursesp .coursesp__grid{grid-template-columns:1fr}}
@media (max-width:599px){.coursesp .coursesp__cards{grid-template-columns:1fr}}

/* ---- v3.44: course overview page: sticky filter rail left (search, category buttons with counts), two-column course cards right ---- */
.coursesp{padding:var(--space-16) 0 var(--space-24)}
.coursesp__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:var(--space-12);align-items:start}
.coursesp__filter{position:sticky;top:calc(var(--header-height) + var(--space-8));padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card)}
.coursesp__cap{color:var(--text-muted);margin-top:var(--space-6)}
.coursesp__filter ul{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}
.coursesp__link{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius-md);background:transparent;font:var(--weight-semibold) var(--size-body)/1.3 var(--font-display);color:var(--blue-900);text-align:left;cursor:pointer;transition:var(--transition-control)}
.coursesp__link:hover{background:var(--mint-050);color:var(--blue-700)}
.coursesp__link.is-active{background:var(--mint-100);color:var(--blue-700)}
.coursesp__n{flex:0 0 auto;font:var(--weight-semibold) 12px/1 var(--font-body);color:var(--ink-600);background:var(--surface-subtle);border-radius:var(--radius-pill);padding:5px 8px;min-width:26px;text-align:center}
.coursesp__link.is-active .coursesp__n{background:#fff;color:var(--blue-700)}
.coursesp__clear{display:inline-block;margin-top:var(--space-5);border:0;background:none;padding:0;font:var(--weight-semibold) var(--size-body-sm)/1 var(--font-body);color:var(--blue-700);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.coursesp__clear:hover{color:var(--blue-900)}
.coursesp__count{margin-top:0}
.coursesp__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);margin-top:var(--space-6)}
.coursesp__cards .post3{display:flex;flex-direction:column;height:100%}
/* portrait photos would grow the media box past 16:10 because it stays overflow:visible for the chip; pin the image instead */
.ccard .tile__media{position:relative;aspect-ratio:16/10}
.ccard .tile__media img{position:absolute;inset:0;width:100%;height:100%}
.ccard__code{font:var(--weight-medium) 13px/1.2 var(--font-mono);color:var(--blue-700);letter-spacing:.02em}
.ccard .tile__body h3{margin-top:var(--space-2)}
.ccard__flag{position:absolute;right:var(--space-4);top:var(--space-4);display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius-pill);background:var(--blue-700);color:#fff;font:var(--weight-bold) 12px/1 var(--font-display);box-shadow:var(--shadow-xs);z-index:1}
.ccard__flag svg{fill:currentColor}
.ccard__foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:auto;padding-top:var(--space-6)}
.ccard__foot .textlink{margin-top:0;padding-top:0;flex:0 0 auto}
.ccard__price{font:var(--weight-black) 24px/1 var(--font-display);color:var(--blue-900);letter-spacing:-0.01em;min-width:0}
.ccard__tbc{font:var(--weight-medium) var(--size-body-sm)/1.2 var(--font-body);color:var(--ink-600);font-style:normal}
@media (max-width:1023px){.coursesp__grid{grid-template-columns:1fr;gap:var(--space-8)}.coursesp__filter{position:static}.coursesp__filter ul{flex-direction:row;flex-wrap:wrap;gap:var(--space-2)}.coursesp__link{width:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4)}.coursesp__link.is-active{border-color:var(--blue-700)}}
@media (max-width:767px){.coursesp{padding:var(--space-12) 0 var(--space-16)}}
@media (max-width:599px){.coursesp__cards{grid-template-columns:1fr}}

/* ---- v3.43: course calendar page: the live booking iframe in a card ---- */
.calp{padding:var(--space-16) 0 var(--space-24)}
.calp__card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-md);overflow:hidden}
.calp__frame{display:block;width:100%;min-height:810px;border:0;border-radius:var(--radius-md)}
.calp__note{margin:var(--space-6) 0 0;color:var(--text-muted);font:var(--weight-regular) var(--size-body-sm)/1.5 var(--font-body);text-align:center}
.calp__note a{color:var(--blue-700);font-weight:var(--weight-semibold)}
.calcta{padding:var(--space-12) 0}
.calcta__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10)}
.calcta__text{min-width:0;max-width:64ch}
.calcta__text .shout{margin:0}
.calcta__text .lead{margin:var(--space-3) 0 0}
.calcta__action{flex:0 0 auto}
@media (max-width:1023px){.calcta__row{flex-direction:column;align-items:flex-start;gap:var(--space-6)}}
@media (max-width:767px){.calp{padding:var(--space-12) 0 var(--space-16)}.calp__card{padding:var(--space-2)}}

/* ---- v3.42: blog card hover: lift, deeper shadow, image zoom, chip and title flip to brand blue, arrow slides ---- */
.post3{transition:transform 260ms var(--ease-standard),box-shadow 260ms var(--ease-standard),border-color 260ms var(--ease-standard)}
.post3 .post3__media img{transition:transform 600ms var(--ease-standard);transform-origin:50% 100%}
.post3 .post3__chip{transition:background 260ms var(--ease-standard),color 260ms var(--ease-standard),transform 260ms var(--ease-standard);z-index:1}
.post3 h3 a{transition:color 200ms var(--ease-standard)}
.post3 .textlink svg{transition:transform 260ms var(--ease-standard)}
.post3:hover,.post3:focus-within{transform:translateY(-8px);box-shadow:0 22px 40px -18px rgba(2,0,107,.45),0 6px 14px -8px rgba(2,0,107,.25);border-color:var(--blue-700)}
.post3:hover .post3__media img,.post3:focus-within .post3__media img{transform:scale(1.07)}
.post3:hover .post3__chip,.post3:focus-within .post3__chip{background:var(--blue-700);color:#fff;transform:translateY(-2px)}
.post3:hover h3 a,.post3:focus-within h3 a{color:var(--blue-700)}
.post3:hover .textlink svg,.post3:focus-within .textlink svg{transform:translateX(6px)}
@media (prefers-reduced-motion:reduce){.post3,.post3 .post3__media img,.post3 .post3__chip,.post3 .textlink svg{transition:none}.post3:hover,.post3:focus-within{transform:none}.post3:hover .post3__media img{transform:none}}

/* ---- v3.40: blog page: search bar and a 3x2 card grid ---- */
.blogp{padding:var(--space-16) 0 var(--space-24)}
.blogp__search{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr) auto;gap:var(--space-4);align-items:end;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6)}
.blogp__search-btn{display:flex}
.blogp__count{margin:var(--space-6) 0 0;color:var(--text-muted);font:var(--weight-medium) var(--size-body-sm)/1.4 var(--font-body)}
.blogp__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin-top:var(--space-6)}
.blogp__grid .post3{display:flex;flex-direction:column;height:100%}
.blogp__empty{margin-top:var(--space-8)}
.blogp__empty a{color:var(--blue-700);font-weight:var(--weight-semibold)}
@media (max-width:1023px){.blogp__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blogp__search{grid-template-columns:1fr 1fr}.blogp__search-btn{grid-column:1 / -1}}
@media (max-width:599px){.blogp__grid{grid-template-columns:1fr}.blogp__search{grid-template-columns:1fr}}

/* ---- v3.39: inner-page banner decoration: faint heart mark right, an ECG pulse line that draws across and loops ---- */
section.hero3.hero3--sub{position:relative;overflow:hidden}
.hero3--sub::before{content:"";position:absolute;right:-6%;top:50%;width:min(46vw,560px);aspect-ratio:1;transform:translateY(-50%) rotate(-8deg);background:url("../assets/logo-heart-mint.png") center/contain no-repeat;opacity:.2;pointer-events:none}
.hero3--sub .wrap{position:relative;z-index:1}
.hero3__deco{position:absolute;inset:0;pointer-events:none}
.hero3__pulse{position:absolute;left:0;bottom:6%;width:100%;height:120px;overflow:visible}
.hero3--sub:not(.hero3--centered) .hero3__pulse{left:50%;width:50%;bottom:auto;top:50%;transform:translateY(-50%);height:160px}
.hero3--centered .hero3__pulse{bottom:-4%}
.hero3__pulse-line,.hero3__pulse-glow{stroke:var(--mint-400);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hero3__pulse-line{stroke-width:2.5px;opacity:.55;stroke-dasharray:2600;stroke-dashoffset:2600;animation:hero3-pulse 7s linear infinite}
.hero3__pulse-glow{stroke-width:10px;opacity:.12;filter:blur(6px);stroke-dasharray:2600;stroke-dashoffset:2600;animation:hero3-pulse 7s linear infinite}
@keyframes hero3-pulse{0%{stroke-dashoffset:2600;opacity:0}6%{opacity:.55}62%{stroke-dashoffset:0}82%{opacity:.55}100%{stroke-dashoffset:0;opacity:0}}
.hero3__pulse-glow{animation-name:hero3-pulse-glow}
@keyframes hero3-pulse-glow{0%{stroke-dashoffset:2600;opacity:0}6%{opacity:.14}62%{stroke-dashoffset:0}82%{opacity:.14}100%{stroke-dashoffset:0;opacity:0}}
@media (prefers-reduced-motion:reduce){.hero3__pulse-line,.hero3__pulse-glow{animation:none;stroke-dashoffset:0}.hero3__pulse-line{opacity:.35}}
@media (max-width:767px){.hero3--sub::before{width:70vw;right:-20%;opacity:.1}}

/* ---- v3.38: FAQ page: sticky category menu left, four accordion groups right ---- */
.faqp{padding:var(--space-20) 0 var(--space-24)}
.faqp__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:var(--space-16);align-items:start}
.faqp__menu{position:sticky;top:calc(var(--header-height) + var(--space-8));padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card)}
.faqp__menu ul{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}
.faqp__menu-title{color:var(--text-muted)}
.faqp__link{display:block;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font:var(--weight-semibold) var(--size-body)/1.3 var(--font-display);color:var(--blue-900);text-decoration:none;transition:var(--transition-control)}
.faqp__link:hover{background:var(--mint-050);color:var(--blue-700)}
.faqp__link.is-active{background:var(--mint-100);color:var(--blue-700)}
.faqp__cat{scroll-margin-top:calc(var(--header-height) + var(--space-8))}
.faqp__cat + .faqp__cat{margin-top:var(--space-16);padding-top:var(--space-12);border-top:1px solid var(--border-subtle)}
h2.faqp__cat-title{font-size:clamp(26px,3vw,40px);margin-bottom:var(--space-4)}
@media (max-width:1023px){.faqp__grid{grid-template-columns:1fr;gap:var(--space-10)}.faqp__menu{position:static}.faqp__menu ul{flex-direction:row;flex-wrap:wrap;gap:var(--space-2)}.faqp__link{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4)}.faqp__link.is-active{border-color:var(--blue-700)}}
@media (max-width:767px){.faqp{padding:var(--space-16) 0}}

/* ---- v3.37: contact form panel on the brand mint ---- */
section.band.enq4{background:var(--mint-400);border-top:0}
section.band.enq4 .enq3__card{border:1px solid var(--mint-500);box-shadow:var(--shadow-md)}

/* ---- v3.36: centred contact banner; form card alone on the band below ---- */
.hero3--centered .wrap{text-align:center}
section.hero3.hero3--centered .shout--hero{width:auto;margin:0 auto}
section.hero3.hero3--centered .hero__lead{margin:var(--space-6) auto 0;max-width:64ch;text-align:center}
.hero3--centered .enq3__contacts--row{justify-content:center;text-align:left}
.hero3--centered .hero__actions{justify-content:center} /* v3.74: 404 and thank-you buttons sit under the centred heading */
.enq4__card--solo{margin-top:0}

/* ---- v3.35: contact page: tiles in a row inside the banner; form panel on the dark band, centred head, three-column card ---- */
.hero3--sub .enq3__contacts--row{flex-direction:row;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-8)}
.hero3--sub .enq3__contact{flex:1 1 280px;min-width:0}
.hero3--sub .enq3__tile{background:var(--surface-card)}
.hero3--sub .enq3__cl{color:var(--mint-400)}
.hero3--sub .enq3__cv{color:#fff}
.hero3--sub a.enq3__cv:hover{color:var(--mint-400)}
section.hero3.hero3--sub{min-height:0}
.enq4{padding:var(--space-24) 0;border-top:1px solid rgba(255,255,255,.14)}
.enq4__head{text-align:center;max-width:64ch;margin:0 auto}
.enq4__head .shout{color:#fff}
.enq4__head .lead{margin-left:auto;margin-right:auto}
.enq4__card{max-width:960px;margin:var(--space-12) auto 0}
.enq4 .form-note{color:var(--text-muted)!important}
@media (max-width:767px){.enq4{padding:var(--space-16) 0}.enq4__card{padding:var(--space-6)}}

/* ---- v3.34: inner-page banner (contact.html), two thirds of the home hero ---- */
section.hero3.hero3--sub{min-height:min(calc(100vh - var(--header-height) - 1px),413px);padding:var(--space-10) 0}
.hero3--sub .wrap{width:100%}
.hero3--sub .hero__lead{max-width:60ch}
@media (max-width:767px){section.hero3.hero3--sub{min-height:0;padding:var(--space-12) 0}}

/* ============================================================================
   Homepage v2. Direction: Vodafone DESIGN.md (two-band dark/light rhythm, colossal uppercase 800 display
   against a calmer 500 secondary voice, flat hairline cards, pills only, one accent, editorial photography,
   a single brand orb). Every colour, face and radius below is a Coast 2 Country design-system token.
   Layout lives here in classes; panels carry class names and only the inline styles that are per-item.
   ========================================================================================================= */
body{margin:0;background:var(--surface-page)}
img{max-width:100%;height:auto}
.wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter-desktop)}
.band{padding:var(--section-y-desktop) 0}
.band--dark{background:var(--blue-900);color:var(--c2c-white)}
.band--light{background:var(--surface-page);color:var(--text-body)}
.band--rule{border-top:1px solid var(--border-subtle)}
.band--dark.band--rule{border-top-color:rgba(255,255,255,.14)}

/* Type roles */
.shout{font-family:var(--font-display);font-weight:var(--weight-black);text-transform:uppercase;letter-spacing:-0.02em;line-height:.95;margin:0}
.shout--hero{font-size:clamp(46px,7.4vw,108px)}
.shout--band{font-size:clamp(34px,4.8vw,64px)}
.calm{font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:-0.015em;line-height:1.12;margin:0}
.calm--lg{font-size:clamp(30px,3.4vw,46px)}
.calm--md{font-size:clamp(22px,2vw,28px)}
.lead{font:var(--weight-regular) 20px/1.55 var(--font-body);margin:var(--space-5) 0 0;max-width:58ch}
.band--light .lead{color:var(--text-muted)}
.band--dark .lead{color:var(--mint-100)}
.band--light .calm,.band--light .shout{color:var(--text-heading)}
.band--dark .calm,.band--dark .shout{color:var(--c2c-white)}
.mint{color:var(--mint-400)}
.blue{color:var(--blue-700)}
.cap{font:var(--weight-semibold) 12px/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.prose{font:var(--text-prose);margin:0}
.band--dark .prose{color:var(--mint-100)}

/* Flat tile: hairline, 8px, no shadow (Vodafone level 0/1) */
.tile{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;color:var(--text-body);transition:var(--transition-control)}
.tile:hover{border-color:var(--ink-400)}
.band--dark .tile{border-color:transparent}
.band--dark .tile:hover{border-color:var(--mint-400)}
.tile__media{aspect-ratio:16/10;overflow:hidden}
.tile__media img{width:100%;height:100%;object-fit:cover;display:block}
.tile__body{padding:var(--space-6);display:flex;flex-direction:column;flex:1}

/* Header: dark bar (Vodafone nav-bar on ink) */
.hdr{position:sticky;top:0;z-index:40;background:var(--blue-900);border-bottom:1px solid rgba(255,255,255,.12)}
.hdr__row{display:flex;align-items:center;gap:var(--space-4);min-height:var(--header-height);padding-top:var(--space-2);padding-bottom:var(--space-2);flex-wrap:wrap}
.hdr__logo{height:44px;width:auto;display:block}
.hdr__nav{margin-left:auto;min-width:0}
.hdr__nav ul{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-4);list-style:none;margin:0;padding:0}
.hdr__nav li{position:relative;display:flex;align-items:center;padding:10px 0}
.hdr__link{display:inline-flex;align-items:center;gap:6px;font:var(--weight-semibold) 13px/1 var(--font-body);text-transform:uppercase;letter-spacing:.01em;color:rgba(255,255,255,.88);text-decoration:none;padding-bottom:3px;border-bottom:2px solid transparent;white-space:nowrap}
.hdr__link:hover,.hdr__link.is-open{color:#fff;border-bottom-color:var(--mint-400)}
.hdr__chev{display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.hdr__menu{position:absolute;top:100%;left:0;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);display:grid;gap:2px var(--space-6);z-index:30;width:min(300px,88vw)}
.hdr__menu--wide{width:min(640px,88vw);grid-template-columns:1fr 1fr}
.hdr__menu a{font:var(--weight-regular) var(--size-body-sm)/1.4 var(--font-body);color:var(--ink-800);text-decoration:none;padding:8px 10px;border-radius:6px}
.hdr__menu a:hover{background:var(--blue-050);color:var(--blue-700)}
.hdr__cta{flex:0 0 auto}
/* v3.85 (Wayde, 30 Oct): nav text sat 2.5px above the Register now button's centre, because the 3px padding and 2px
   border kept free under each link for the hover underline had no twin on top. Mirror them so the text is centred. */
.hdr__nav .hdr__link{padding-top:3px;border-top:2px solid transparent}

/* Hero: full-bleed photo, protection gradient, headline bottom-left */
.hero{position:relative;background:var(--blue-900);color:#fff;overflow:hidden;min-height:min(82vh,820px);display:flex;align-items:flex-end}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero__scrim{position:absolute;inset:0;background:var(--protection-gradient)}
.hero__scrim2{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,0,107,.92) 0%,rgba(2,0,107,.55) 45%,rgba(2,0,107,.15) 100%)}
.hero__inner{position:relative;width:100%;padding-top:var(--space-24);padding-bottom:var(--space-24)}
.hero__copy{max-width:56rem}
.hero .shout{color:var(--c2c-white)}
.hero__lead{font:var(--weight-regular) 20px/1.5 var(--font-body);color:var(--mint-100);margin:var(--space-6) 0 0;max-width:52ch}
.hero__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-8)}
.hero__rto{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-10);font:var(--weight-medium) var(--size-body-sm)/1.5 var(--font-body);color:#fff}

/* Orb: the brand mark as the anchor between the hero and the first white band */
.orb-row{position:relative;height:0}
.orb{position:absolute;left:var(--gutter-desktop);top:-64px;width:128px;height:128px;border-radius:50%;box-shadow:0 0 0 8px var(--surface-page);display:block}

/* USP row: flat, hairline top and bottom */
.usp-row{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.usp{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-6);border-left:1px solid var(--border-subtle)}
.usp:first-child{border-left:0;padding-left:0}
.usp__icon{flex:0 0 auto;color:var(--blue-700);display:inline-flex}
.usp__label{font:var(--weight-bold) 20px/1.2 var(--font-display);color:var(--text-heading);letter-spacing:-0.01em}

/* Split layouts */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}
.split--form{align-items:start;grid-template-columns:.85fr 1.15fr}
.media{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3}
.media img{width:100%;height:100%;object-fit:cover;display:block}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-6)}
.actions{margin-top:var(--space-8);display:flex;gap:var(--space-3);flex-wrap:wrap}
.band-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-8);flex-wrap:wrap}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);margin-top:var(--space-12)}
/* v3.78: tighter tick lists (smaller ticks, less space between rows), every page that uses .checks */
.checks{list-style:none;margin:var(--space-8) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}
.check{display:flex;gap:var(--space-3);align-items:center;font:var(--weight-semibold) var(--size-body)/1.4 var(--font-body);color:var(--ink-900)}
.check__icon{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--mint-100);color:var(--blue-700);display:inline-flex;align-items:center;justify-content:center}
.band--dark .check{color:#fff}
.band--dark .check__icon{background:rgba(99,219,191,.16);color:var(--mint-400)}
.checks .check__icon svg{width:16px;height:16px}

/* Course tile specifics */
.price{display:flex;align-items:baseline;gap:var(--space-2);margin-top:auto;padding-top:var(--space-6)}
.price__num{font:var(--weight-black) 30px/1 var(--font-display);color:var(--blue-700);letter-spacing:-0.02em}
.price__unit{font:var(--weight-regular) var(--size-caption)/1 var(--font-body);color:var(--text-muted)}
.price__tbc{font:var(--weight-semibold) var(--size-body-sm)/1.3 var(--font-body);color:var(--warn-600)}
.tile h3{font:var(--weight-semibold) var(--size-h4)/1.25 var(--font-display);color:var(--text-heading);margin:var(--space-4) 0 0;letter-spacing:-0.01em}
.tile p{font:var(--weight-regular) var(--size-body-sm)/1.6 var(--font-body);color:var(--text-muted);margin:var(--space-3) 0 0}

/* Filler tile that closes the last course row */
.tile--cta{grid-column:span 2;background:var(--mint-400);border-color:var(--mint-400);color:var(--blue-900);display:flex;flex-direction:column;justify-content:center;padding:var(--space-8)}
.tile--cta:hover{border-color:var(--mint-400)}
.tile--cta h3{color:var(--blue-900);font:var(--weight-black) clamp(26px,2.4vw,34px)/1.05 var(--font-display);text-transform:uppercase;letter-spacing:-0.02em;margin:0}
.tile--cta p{color:var(--blue-900);font:var(--weight-regular) var(--size-body)/1.55 var(--font-body);margin:var(--space-4) 0 0;max-width:40ch}

/* Stats: numbers row with hairline dividers */
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--space-12);border-top:1px solid var(--border-subtle)}
.stat{padding:var(--space-8) var(--space-6) 0;border-left:1px solid var(--border-subtle)}
.stat:first-child{border-left:0;padding-left:0}
.stat__num{font:var(--weight-black) clamp(44px,5.2vw,72px)/1 var(--font-display);color:var(--blue-700);letter-spacing:-0.03em;white-space:nowrap}
.stat__num small{font-size:.5em;font-weight:var(--weight-bold);letter-spacing:0;margin-left:.08em}
.stat__label{margin-top:var(--space-3);color:var(--ink-600)}

/* RTO card */
.rto{padding:var(--space-10);text-align:center}
.rto__logo{height:96px;width:auto;display:block;margin:0 auto}
.rto h3{font:var(--weight-semibold) var(--size-h4)/1.3 var(--font-display);color:var(--text-heading);margin:var(--space-6) 0 0}
.rto hr{border:0;border-top:1px solid var(--border-subtle);margin:var(--space-6) 0}

/* Corporate: photo band */
.photo-band{position:relative;overflow:hidden;background:var(--blue-900);color:#fff}
.photo-band__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.photo-band__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,0,107,.96) 0%,rgba(2,0,107,.7) 55%,rgba(2,0,107,.35) 100%)}
.photo-band__inner{position:relative;padding-top:var(--space-24);padding-bottom:var(--space-24)}
.features{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-8);margin-top:var(--space-8);max-width:44rem}
.feature{display:flex;gap:var(--space-3);align-items:center;font:var(--weight-medium) var(--size-body)/1.4 var(--font-body);color:#fff}
.feature__icon{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--mint-400);color:var(--blue-900);display:inline-flex;align-items:center;justify-content:center}

/* Testimonials */
.quote-orb{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--mint-400);color:var(--blue-900);display:inline-flex;align-items:center;justify-content:center}
.testi{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-8)}
.testi__head{display:flex;justify-content:space-between;align-items:center}
.testi__who{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);margin-top:auto}
.testi__avatar{width:40px;height:40px;border-radius:50%;background:var(--blue-050);color:var(--blue-700);display:inline-flex;align-items:center;justify-content:center}
.gbadge{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;padding:10px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--surface-card)}
.gbadge--dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}
.gbadge__t{font:var(--weight-semibold) 17px/1.1 var(--font-body);color:var(--ink-800)}
.gbadge--dark .gbadge__t{color:#fff}
.gbadge__t span{font-weight:var(--weight-regular);color:var(--ink-500)}
.gbadge--dark .gbadge__t span{color:var(--mint-100)}

/* Contact rows, form */
.contact-rows{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-8)}
.contact-row{display:flex;gap:var(--space-3);align-items:center;font:var(--weight-medium) var(--size-body)/1.5 var(--font-body);color:var(--ink-800);min-width:0;overflow-wrap:anywhere}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.form-grid .span{grid-column:1 / -1}
.form-foot{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap}
.form-note{font:var(--weight-regular) var(--size-caption)/1.5 var(--font-body);color:var(--ink-600)}

/* Footer */
.ftr{background:var(--blue-900);color:#fff;padding:var(--space-16) 0 var(--space-8);border-top:1px solid rgba(255,255,255,.14)}
.ftr__grid{display:grid;grid-template-columns:1.45fr 1.35fr .7fr .7fr;gap:var(--space-10)}
.ftr__logos{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-5);width:fit-content;max-width:100%;background:#fff;border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}
.ftr__rule{width:1px;align-self:stretch;background:var(--border-subtle)}
.ftr__col-title{margin-bottom:var(--space-4);color:var(--mint-400)}
.ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.ftr ul a{font:var(--weight-regular) var(--size-body-sm)/1.4 var(--font-body);color:#fff;text-decoration:none;opacity:.85}
.ftr ul a:hover{opacity:1;color:var(--mint-400)}
.ftr__rto{font:var(--weight-regular) var(--size-body-sm)/1.6 var(--font-body);color:var(--mint-100);margin:var(--space-5) 0 0;max-width:40ch}
.ftr__rto a{color:var(--mint-400);font-weight:var(--weight-semibold)}
/* v3.96: footer about paragraph above the RTO statement; the address is now a link like phone and email, same style */
.ftr__about{font:var(--text-prose)!important;color:var(--mint-100);margin:var(--space-5) 0 0;max-width:40ch}
.ftr__about+.ftr__rto{margin-top:var(--space-3)}
/* v3.96: carousel post titles are <p class="post__title">, styled exactly as the card h3 */
.tile p.post__title{font:var(--weight-semibold) var(--size-h4)/1.25 var(--font-display)!important;color:var(--blue-700)!important;margin:var(--space-2) 0 0;letter-spacing:-0.01em}
.post p.post__title a{color:inherit;text-decoration:none}
.post3 p.post__title a{transition:color 200ms var(--ease-standard)}
.ftr__contact{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5);font:var(--weight-medium) var(--size-body-sm)/1.5 var(--font-body)}
.ftr__contact>a,.ftr__contact>span{display:flex;gap:var(--space-2);align-items:center;color:#fff;text-decoration:none;min-width:0;overflow-wrap:break-word}
.ftr__social{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap}
.social{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.10);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:var(--transition-control)}
.social:hover{background:var(--mint-400);color:var(--blue-900)}
.ftr__bar{margin-top:var(--space-12);padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.14);font:var(--weight-regular) var(--size-micro)/1.5 var(--font-body);color:var(--mint-100);display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}


/* ---- v3.26: closing enquiry panel on a pale mint band, so it neither runs into the navy footer nor blends with the light blog band above ---- */
section.enq3{background:linear-gradient(150deg,var(--mint-100) 0%,var(--mint-050) 100%)}
section.enq3 .shout{color:var(--blue-900)}
section.enq3 .shout .blue{color:var(--blue-700)}
.enq3 .enq3__intro .lead{color:var(--text-body)!important}
.enq3 .unique__tile{background:var(--surface-card);border:1px solid var(--mint-200)}
.enq3 .enq3__cl{color:var(--blue-700)}
.enq3 .enq3__cv{color:var(--blue-900)}
.enq3 a.enq3__cv:hover{color:var(--blue-700)}
.enq3 .enq3__card{border:1px solid var(--mint-200);box-shadow:var(--shadow-md)}

/* ---- v3.25: dark bands carry a soft diagonal gradient (blue-900 into blue-800); wordmarks overhang the cards; smoother watermark ---- */
:root{--band-dark-gradient:linear-gradient(150deg,var(--blue-900) 0%,var(--blue-900) 30%,#030090 100%)}
section.hero3,.band.band--dark,section.courses3,section.corp,footer.ftr{background:var(--band-dark-gradient)}
.courses3__word{overflow:visible}

/* ---- v3.24: no ink headings anywhere: blog band heading to blue-700, card labels and closed FAQ questions to blue-900 ---- */
.band--soft .shout.shout--band{color:var(--blue-700)}
.rto-partner .rto-partner__name{color:var(--blue-900)}
#faqs button[style*="--text-heading"]{color:var(--blue-900)!important}

/* ---- v3.33: stat tiles without icons, tighter padding to match ---- */
.stats3 .stat3{padding:var(--space-6) var(--space-5);gap:var(--space-2)}
.stats3 .stat3__num{margin-top:0}

/* ---- v3.31: hero shorter, less empty navy above and below the content ---- */
@media (min-width:1024px){section.hero3{min-height:min(calc(100vh - var(--header-height) - 1px),620px);padding:var(--space-10) 0}}

/* ---- v3.28: headline line breaks pinned; hero h1 two lines; dashed arcs gone ---- */
.nowrap{white-space:nowrap}
h2.about__head{font-size:clamp(28px,calc(4.8vw - 3px),44px)}
h2.abc__head{font-size:clamp(28px,calc(4.8vw - 3px),56px)}
h2.corp__head{font-size:clamp(28px,calc(4.8vw - 3px),53px)}
@media (max-width:479px){.nowrap{white-space:normal}}

/* ---- v3.27 (rest): headings 3px smaller, RTO line on one line, courses list unscrolled, stat tiles centred, white Five by Five credit ---- */
.shout--band,section.stats3 .stats3__title{font-size:clamp(31px,calc(4.8vw - 3px),61px)}
section.hero3 .shout--hero{font-size:clamp(30px,4.45vw,64px);letter-spacing:-0.03em;width:calc(100% + 60px);max-width:none}
@media (min-width:1024px){.hero3 .hero3__grid{grid-template-columns:minmax(0,7.5fr) minmax(0,4.5fr);gap:var(--space-12)}}
@media (max-width:1023px){section.hero3 .shout--hero{width:auto}}
.hero3 .hero__rto{font-size:12px}
@media (min-width:1280px){.hero3 .hero__rto{white-space:nowrap}}
.courses3 .clist{max-height:none;overflow:visible;padding-right:0}
.stat3{align-items:center;text-align:center}
.ftr .ftr__credit{color:#fff}
.ftr .ftr__credit:hover{color:var(--mint-400)}

/* ---- v3.27: hero collage in the reference format: wide card top right, second card lower left, logo orb lower right with dashed arcs; heart beats ---- */
.hero3__collage{position:relative;width:min(100% - 28px,520px);aspect-ratio:1/0.95;justify-self:end;margin:16px 14px 16px 0;--drift:6px}
.hero3__collage::before{content:"";position:absolute;left:50%;top:50%;width:150%;aspect-ratio:1;transform:translate(-50%,-50%);background:url("../assets/logo-heart-mint.png") center/contain no-repeat;opacity:0;transition:opacity 900ms var(--ease-standard) 300ms;pointer-events:none}
.hero3__collage.is-on::before{opacity:.18}
.hero3__card{position:absolute;margin:0;border-radius:var(--radius-xl);border:4px solid #fff;background:var(--blue-800);overflow:hidden;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(28px);transition:opacity 700ms var(--ease-standard),transform 700ms var(--ease-standard);transition-delay:calc(var(--i) * 140ms);z-index:1}
.hero3__card img{display:block;width:100%;height:100%;object-fit:cover}
.hero3__card--top{right:0;top:0;width:64%;aspect-ratio:4/3}
.hero3__card--left{left:0;top:44%;width:54%;aspect-ratio:4/3;z-index:2}
.hero3__orb{position:absolute;right:3%;bottom:0;width:40%;aspect-ratio:1;z-index:3;opacity:0;transform:scale(.7);transition:opacity 600ms var(--ease-standard) 420ms,transform 600ms var(--ease-standard) 420ms}
.hero3__disc{position:absolute;inset:0;border-radius:50%;background:var(--mint-400);border:4px solid #fff;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center}
.hero3__heart{width:66%;height:auto;display:block;transform-origin:50% 55%}
.hero3__collage.is-on .hero3__card{opacity:1;transform:none}
.hero3__collage.is-on .hero3__orb{opacity:1;transform:none}
.hero3__collage.is-on .hero3__card--top{animation:hero3-drift 8.5s ease-in-out 1.2s infinite}
.hero3__collage.is-on .hero3__card--left{animation:hero3-drift 7s ease-in-out 1.6s infinite}
.hero3__collage.is-on .hero3__heart{animation:hero3-beat 2.4s ease-in-out 1s infinite}
@keyframes hero3-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(var(--drift) * -1))}}
@keyframes hero3-beat{0%,100%{transform:scale(1)}12%{transform:scale(1.09)}24%{transform:scale(1)}36%{transform:scale(1.06)}52%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.hero3__card,.hero3__orb,.hero3__collage::before{transition:none}.hero3__collage.is-on .hero3__card,.hero3__collage.is-on .hero3__heart{animation:none}}
@media (max-width:767px){.hero3__collage{--drift:4px}.hero3__card,.hero3__disc{border-width:3px}}

/* ---- v3.20: one stroke weight for every icon that sits in a disc or tile: a 2px line on screen whatever the icon size (the enquiry contact icons are the reference) ---- */
.unique__tile svg,.stat3__icon svg,.feature__icon svg,.check__icon svg,.testi3__quote svg,.quote-orb svg,.crow3__arrow svg,.carousel__btn svg{stroke-width:2}
.unique__tile svg *,.stat3__icon svg *,.feature__icon svg *,.check__icon svg *,.testi3__quote svg *,.quote-orb svg *,.crow3__arrow svg *,.carousel__btn svg *{vector-effect:non-scaling-stroke}

/* ---- v3.19: icon discs centred in their tiles, icons centred in their discs ---- */
.unique__tile.unique__tile::before{top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px}
.enq3 .enq3__tile::before{width:36px;height:36px}
@media (max-width:767px){.unique__tile.unique__tile::before{width:36px;height:36px}}

/* ---- v3.15: every panel heading in the Corporate heading's style (shout--band): Poppins 800 uppercase, blue-900 on light with a blue-700 accent, white on dark with a mint accent ---- */
.band--light .shout,.band--soft .shout,.stats3 .stats3__title{color:var(--blue-700)}
.band--light .shout .blue,.band--soft .shout .blue,.stats3 .stats3__title .blue{color:var(--mint-400)}
.band-head .shout{max-width:18ch}
.stats3 .stats3__title{font-size:clamp(34px,4.8vw,64px);max-width:20ch}

/* ---- v3.13: hero lead a step smaller with two CTAs; About and ABC photos span the text column; bold mint stats band ---- */
.hero3 .hero__lead{font-size:15px!important;line-height:1.6!important}
/* Photo columns match the text column top and bottom; the white card straddles the photo's bottom edge */
@media (min-width:1024px){
  .about-split.about-split--card,.wrap.rto-split{align-items:stretch}
  .about-split.about-split--card .about-photo,.rto-split .rto-photo{padding-bottom:0}
  .about-split.about-split--card .about-photo .media,.rto-split .rto-photo .media{position:absolute;inset:0;aspect-ratio:auto;max-height:none}
  .about-split.about-split--card .rto-partner,.rto-split .rto-partner{bottom:0;transform:translate(-50%,50%)}
}
/* Stats: white band, centred heavy heading, four blue-900 tiles with a mint icon disc and a colossal white number */
.stats3{background:var(--surface-page);color:var(--text-body)}
.stats3__head{text-align:center}
.stats3__title{color:var(--blue-900);font-size:clamp(34px,4.2vw,58px);max-width:18ch;margin:0 auto}
.stats3__title .blue{white-space:nowrap}
.stats3__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-top:var(--space-12)}
.stat3{background:var(--blue-900);color:var(--c2c-white);border-radius:var(--radius-md);padding:var(--space-8) var(--space-6) var(--space-8);display:flex;flex-direction:column;gap:var(--space-4);min-width:0}
.stat3__icon{width:56px;height:56px;border-radius:999px;background:var(--mint-400);color:var(--blue-900);display:inline-flex;align-items:center;justify-content:center}
.stat3__num{font:var(--weight-black) clamp(48px,4.6vw,72px)/1 var(--font-display);color:var(--c2c-white);letter-spacing:-0.03em;white-space:nowrap;margin-top:var(--space-2)}
.stat3__suffix{color:var(--mint-400);font-size:.6em;margin-left:.06em}
.stat3__label{font:var(--weight-semibold) var(--size-body)/1.35 var(--font-body);color:var(--mint-100)}
@media (max-width:1023px){.stats3__grid{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.stats3{padding:var(--space-16) 0}}
@media (max-width:599px){.stats3__grid{grid-template-columns:1fr}}

/* ---- v3.10: blog feed bleeds off both edges; tag chip straddles the image edge ---- */
.blog3{overflow:hidden}
.blog3 .carousel__viewport{overflow:visible}
.post3__media{position:relative;overflow:visible}
.post3__media img{border-radius:var(--radius-md) var(--radius-md) 0 0}
.post3__chip{position:absolute;left:var(--space-4);bottom:-14px;display:inline-flex;align-items:center;padding:7px 14px;border-radius:var(--radius-pill);background:var(--mint-400);color:var(--blue-700);font:var(--weight-bold) 13px/1 var(--font-display);letter-spacing:-0.005em;box-shadow:var(--shadow-xs)}
.post3 .tile__body{padding-top:var(--space-8)}
/* ---- v3.9: Five by Five credit in the footer bar ---- */
.ftr__credit{display:inline-flex;align-items:center;gap:8px;color:var(--mint-100);text-decoration:none;font:var(--weight-medium) var(--size-micro)/1.5 var(--font-body);white-space:nowrap}
.ftr__credit img{width:auto;height:18px;display:block}
.ftr__credit:hover{color:var(--mint-400)}
/* ---- v3.8: testimonials wordmark behind the cards, arrows beside the track ---- */
.testi3{padding:var(--space-16) 0 var(--space-24);overflow:hidden}
.courses3__word.testi3__word{margin-bottom:-0.3em}
.testi3__carousel{position:relative;z-index:1;margin-top:0}
.testi3__btn{position:absolute;top:calc(50% - 22px - 20px);z-index:2}
.testi3__btn--prev{left:-60px}
.testi3__btn--next{right:-60px}
.testi3 .carousel__dots{margin-top:var(--space-6)}
@media (max-width:1300px){
  .testi3__btn{position:static;transform:none}
  .testi3__carousel{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}
  .testi3__carousel .carousel__viewport{flex:1 1 100%;order:0}
  .testi3__btn--prev{order:1}.testi3__btn--next{order:2}
  .testi3 .carousel__dots{flex:1 1 100%;order:3;margin-top:var(--space-2)}
}
/* ---- v3.6: closing enquiry panel on blue-900, contact tiles left, white form card right ---- */
.enq3{padding:var(--space-24) 0;overflow:hidden;background:var(--blue-700)}
.enq3 .unique__tile{background:var(--surface-card)}
.enq3__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-16);align-items:center}
.enq3__intro .lead{color:var(--mint-100)!important}
.enq3__contacts{list-style:none;margin:var(--space-10) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-5)}
.enq3__contact{display:flex;align-items:center;gap:var(--space-4)}
.enq3__tile{width:64px;height:64px}
.enq3__tile::before{width:30px;height:30px;top:14px;left:20px}
.enq3__ct{display:flex;flex-direction:column;min-width:0}
.enq3__cl{font:var(--weight-semibold) 12px/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--mint-400)}
.enq3__cv{font:var(--weight-semibold) 16px/1.3 var(--font-display);color:#fff;text-decoration:none;overflow-wrap:break-word;margin-top:2px;letter-spacing:-0.02em}
a.enq3__cv:hover{color:var(--mint-400)}
.enq3__cardwrap{position:relative}
.enq3__card{position:relative;background:var(--surface-card);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-lg)}
.enq3__cardhead{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}
.enq3__orb{width:48px;height:48px;flex:0 0 auto;border-radius:50%}
.enq3__cardtitle{font:var(--weight-bold) 22px/1.2 var(--font-display);color:var(--blue-900);letter-spacing:-0.015em}
.enq3__cardsub{margin-top:2px;color:var(--text-muted);font:var(--weight-regular) var(--size-body-sm)/1.4 var(--font-body)}
.enq3 .form-foot{margin-top:var(--space-6)}
.enq3 .form-note{color:var(--text-muted)!important}
@media (max-width:1023px){.enq3__grid{grid-template-columns:1fr;gap:var(--space-12)}}
@media (max-width:767px){.enq3{padding:var(--space-16) 0}.enq3__card{padding:var(--space-6)}}
/* ---- v3.5: About photo in the RTO-panel format: 4:3, rounded, white card overlapping bottom-centre ---- */
.about-split--card .about-photo .media{aspect-ratio:4/3;max-height:none}
.about-photo{padding-bottom:var(--space-12)}
/* ---- v3.4: testimonials on blue-900, white tiles, mint accents, matching hero / courses / different ---- */
.testi3{padding:var(--space-24) 0}
.testi3 .band-head .unique__head{max-width:14ch}
.testi3 .band-head .lead{color:var(--mint-100)!important}
.testi3__card{background:var(--surface-card);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);height:100%;box-shadow:var(--shadow-xs);transition:var(--transition-control)}
.testi3__card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.testi3__card .prose{color:var(--ink-800)!important;flex:1}
.testi3__quote{width:40px;height:40px;border-radius:50%;background:var(--mint-400);color:var(--blue-900);display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.testi3__card .testi__who{border-top-color:var(--border-subtle)}
.testi3__avatar{width:40px;height:40px;border-radius:50%;background:var(--blue-050);color:var(--blue-700);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.testi3__name{display:block;font:var(--weight-bold) var(--size-body-sm)/1.3 var(--font-display);color:var(--blue-900)}
.testi3__meta{display:block;font:var(--weight-regular) var(--size-caption)/1.4 var(--font-body);color:var(--ink-600);margin-top:2px}
.testi3 .carousel__dot{background:rgba(255,255,255,.25)}
.testi3 .carousel__dot.is-on{background:var(--mint-400)}
/* ---- v3.3: solid blue hero, copy left, image circle right with a slow crossfade ---- */
.hero3{background:var(--blue-900);color:#fff;min-height:min(calc(100vh - var(--header-height) - 1px),720px);display:flex;align-items:center;overflow:hidden;padding:var(--space-12) 0}
.hero3__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-16);align-items:center;width:100%}
.hero3__grid > *{min-width:0}
.hero3 .shout--hero{font-size:clamp(38px,4.7vw,72px);color:#fff}
.hero3 .hero__lead{margin:var(--space-6) 0 0;max-width:52ch}
.hero3 .hero__actions{margin-top:var(--space-8)}
.hero3 .hero__rto{margin-top:var(--space-5)}
@media (min-width:1024px) and (max-height:760px){.hero3{padding:var(--space-10) 0}section.hero3 .shout--hero{font-size:clamp(30px,3.4vw,48px)}.hero3 .hero__actions{margin-top:var(--space-6)}.hero3__collage{width:min(100% - 28px,440px)}}
@media (max-width:1023px){.hero3__grid{grid-template-columns:1fr;gap:var(--space-12)}.hero3__collage{justify-self:center;width:min(100%,420px)}.hero3{min-height:0}}
@media (max-width:767px){.hero3{padding:var(--space-12) 0 var(--space-16)}.hero3__collage{width:min(100% - 28px,320px)}}
/* ---- v3.2: "What makes us different" replaces the USP stripe, sits under About ---- */
.unique{padding:var(--space-24) 0}
.unique__grid{display:grid;grid-template-columns:5fr 7fr;gap:var(--space-16);align-items:start}
.unique__head{font:var(--weight-black) clamp(34px,3.6vw,52px)/1.05 var(--font-display);letter-spacing:-0.025em;color:#fff;margin:0}
.unique__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10) var(--space-8)}
.unique__item{display:flex;align-items:center;gap:var(--space-5)}
.unique__tile{flex:0 0 auto;width:88px;height:88px;border-radius:var(--radius-md);background:var(--surface-card);color:var(--blue-700);display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.unique__tile::before{content:"";position:absolute;width:40px;height:40px;border-radius:50%;background:var(--mint-300);top:20px;left:28px;opacity:.9}
.unique__tile svg{position:relative}
.unique__label{font:var(--weight-semibold) 18px/1.3 var(--font-display);color:#fff;letter-spacing:-0.01em}
@media (max-width:1023px){.unique__grid{grid-template-columns:1fr;gap:var(--space-10)}}
@media (max-width:767px){.unique{padding:var(--space-16) 0}.unique__list{gap:var(--space-6)}.unique__tile{width:64px;height:64px}.unique__tile::before{width:30px;height:30px;top:14px;left:20px}.unique__label{font-size:16px}}
@media (max-width:599px){.unique__list{grid-template-columns:1fr}}
/* ---- v3.1: courses as a giant wordmark with a two-column list card ---- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.courses3{background:var(--blue-900);color:#fff;padding:var(--space-16) 0 var(--space-24);overflow:hidden}
.courses3__word{font:var(--weight-black) clamp(80px,19.5vw,290px)/.82 var(--font-display);letter-spacing:0;color:var(--mint-400);text-align:left;margin:0 0 -0.2em;position:relative;z-index:0;user-select:none;white-space:nowrap;overflow:visible}
.fitword__t{display:inline-block;line-height:.82;letter-spacing:0;font-weight:var(--weight-black);font-family:var(--font-display)}
.courses3__card{position:relative;z-index:1;background:var(--surface-subtle);border-radius:var(--radius-lg);padding:var(--space-8);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);box-shadow:var(--shadow-lg)}
.clist{list-style:none;margin:0;padding:0 var(--space-2) 0 0;display:flex;flex-direction:column;gap:var(--space-3);max-height:calc(6 * 104px + 5 * var(--space-3));overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--blue-700) transparent}
.clist::-webkit-scrollbar{width:4px}.clist::-webkit-scrollbar-thumb{background:var(--blue-700);border-radius:2px}
.crow3{display:grid;grid-template-columns:120px 1fr 44px;gap:var(--space-4);align-items:center;background:var(--surface-card);border-radius:var(--radius-md);overflow:hidden;min-height:104px;text-decoration:none;color:inherit;transition:var(--transition-control);box-shadow:var(--shadow-xs)}
.crow3:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.crow3__thumb{display:block;height:104px;overflow:hidden}
.crow3__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.crow3__body{display:flex;flex-direction:column;gap:4px;padding:var(--space-3) 0;min-width:0}
.crow3__code{font:var(--weight-regular) var(--size-body-sm)/1.2 var(--font-body);color:var(--ink-600)}
.crow3__title{font:var(--weight-bold) 18px/1.25 var(--font-display);color:var(--blue-900);letter-spacing:-0.01em}
.crow3__arrow{width:36px;height:36px;border-radius:50%;background:var(--mint-400);color:var(--blue-900);display:inline-flex;align-items:center;justify-content:center;margin-right:var(--space-4);transition:var(--transition-control)}
.crow3:hover .crow3__arrow{background:var(--blue-700);color:#fff}
.courses3__foot{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-10)}
@media (max-width:899px){
  .courses3__card{grid-template-columns:1fr;padding:var(--space-4)}
  .clist{max-height:none;overflow:visible;padding-right:0}
}
@media (max-width:479px){
  .crow3{grid-template-columns:88px 1fr 40px}
  .crow3__thumb{height:96px}.crow3{min-height:96px}
  .crow3__title{font-size:16px}
}
/* ---- v2.6: lighter hero overlay so the photo reads ---- */
.hero .hero__img{opacity:1;object-position:50% 22%}
.hero .hero__scrim{background:linear-gradient(180deg,rgba(2,0,107,.42) 0%,rgba(2,0,107,.5) 55%,rgba(2,0,107,.78) 100%)}
.hero .hero__scrim2{display:none}
/* ---- v2.5: course calendar teaser ---- */
.cal-photo{position:relative;padding-bottom:var(--space-8)}
.cal-photo .media{aspect-ratio:3/2}
.cal-photo__chip{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:var(--space-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:12px 20px;box-shadow:var(--shadow-md);color:var(--blue-700);font:var(--weight-semibold) var(--size-body-sm)/1.2 var(--font-body);white-space:nowrap}
.cal-grid{display:grid;grid-template-columns:5fr 7fr;gap:var(--space-16);align-items:center}
.cal{padding:var(--space-6)}
.cal__week{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2)}
.cal__day{text-align:center;padding:var(--space-3) 0;border-radius:var(--radius-md);border:1px solid var(--border-subtle);color:var(--ink-700)}
.cal__day b{display:block;font:var(--weight-black) 22px/1 var(--font-display);color:var(--text-heading);margin-top:4px}
.cal__day.is-on{background:var(--blue-700);border-color:var(--blue-700);color:#fff}
.cal__day.is-on b{color:#fff}
.cal__day{padding-bottom:calc(var(--space-3) + 12px)}
.cal__dot{display:block;width:6px;height:6px;border-radius:50%;background:var(--blue-700);margin:6px auto -12px}
.cal__day.is-on .cal__dot{background:var(--mint-400)}
.cal__list{list-style:none;margin:var(--space-5) 0 0;padding:0;border-top:1px solid var(--border-subtle)}
.cal__row{display:grid;grid-template-columns:64px 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle)}
.cal__date{text-align:center;border-radius:var(--radius-md);background:var(--blue-050);color:var(--blue-700);padding:8px 0;font:var(--weight-semibold) 11px/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.06em}
.cal__date b{display:block;font:var(--weight-black) 20px/1 var(--font-display);letter-spacing:-0.02em;margin-top:2px}
.cal__title{font:var(--weight-semibold) var(--size-body)/1.3 var(--font-display);color:var(--text-heading);margin:0;letter-spacing:-0.01em}
.cal__meta{margin:4px 0 0;color:var(--text-muted);font:var(--weight-regular) var(--size-body-sm)/1.4 var(--font-body)}
.cal__link{font:var(--weight-semibold) var(--size-body-sm)/1 var(--font-body);color:var(--blue-700);text-decoration:none;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.cal__link:hover{color:var(--blue-900)}
/* ---- v2.4: lighter bands, more imagery, rebalanced panels ---- */
/* Band heads: intro takes the free space, nav stays on the right on desktop */
@media (min-width:900px){
  .band-head{flex-wrap:nowrap;align-items:flex-end}
  .band-head > div:first-child{flex:1 1 0;min-width:0}
  .band-head .carousel__nav{flex:0 0 auto;padding-bottom:var(--space-2)}
  .band-head .calm{max-width:20ch}
}
.band--soft{background:var(--surface-subtle);color:var(--text-body)}
.band--soft .calm,.band--soft .shout{color:var(--text-heading)}
.band--soft .lead{color:var(--text-muted)}
/* About: balanced 50/50, photo fills the column height, text centred against it */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}
.about-split .media{aspect-ratio:4/5;max-height:640px}
/* Stats: intro centred against the numbers (specificity beats the later v2.1 rule) */
.wrap.stats-grid{align-items:stretch}
.stats-intro{display:flex;flex-direction:column;justify-content:center}
/* Courses: light list with a thumbnail per row */
.course-list--light{border-bottom-color:var(--border-subtle)}
.course-list--light .crow{grid-template-columns:132px 1fr auto;border-top-color:var(--border-subtle);align-items:center}
.course-list--light .crow:hover{background:linear-gradient(90deg,rgba(4,0,208,.04),transparent)}
.crow__thumb{aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;background:var(--ink-200)}
.crow__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.crow__body{min-width:0}
.course-list--light .crow__title{color:var(--text-heading);margin:var(--space-2) 0 0}
.crow__excerpt{margin:var(--space-2) 0 0;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* RTO: photo-led split with the partner card overlapping the photo */
.rto-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}
.rto-photo{position:relative;padding-bottom:var(--space-12)}
.rto-photo .media{aspect-ratio:4/3}
.rto-partner{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:max-content;max-width:100%;white-space:nowrap;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);display:flex;align-items:center;gap:var(--space-5);box-shadow:var(--shadow-md)}
.rto-partner img{height:52px;width:auto;display:block}
.rto-partner__name{font:var(--weight-semibold) var(--size-body-sm)/1.3 var(--font-body);color:var(--ink-900)}
.rto-quote{margin:var(--space-6) 0 0;padding:var(--space-5) var(--space-6);border-left:4px solid var(--mint-400);background:var(--mint-050);border-radius:0 var(--radius-md) var(--radius-md) 0;font:var(--weight-medium) var(--size-body)/var(--leading-relaxed) var(--font-body);color:var(--ink-900)}
/* Blog cards, reference style: tag over the image, date, title, clamped excerpt, text link */
.post{position:relative}
.post__tag{position:absolute;top:var(--space-4);left:var(--space-4);z-index:1}
.post__date{color:var(--text-muted);font:var(--weight-medium) var(--size-body-sm)/1.3 var(--font-body)}
.post .tile__body h3{margin-top:var(--space-2);color:var(--blue-700)}
.post .tile__body h3 a{color:inherit;text-decoration:none}
.post__excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:var(--space-3)}
.textlink{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--weight-semibold) var(--size-body)/1 var(--font-body);color:var(--blue-700);text-decoration:none;margin-top:auto;padding-top:var(--space-6)}
.textlink:hover{color:var(--blue-900)}
/* FAQ intro gets a photo */
.faq-photo{margin-top:var(--space-8)}
.faq-photo .media{aspect-ratio:4/3}
/* ---- v2.3 ---- */
button{line-height:var(--leading-relaxed)} /* <button> pills match <a> pills at 56px */
@media (max-height:760px){
  .hero.hero--fold .hero__inner{padding-top:var(--space-8);padding-bottom:var(--space-8)}
  .hero.hero--fold .shout--hero{font-size:clamp(36px,5vw,68px)}
  .hero.hero--fold .hero__row{margin-top:var(--space-5)}
}
/* One body size AND one body colour everywhere: the DS prose role, ink-700 on light, mint-100 on dark */
.band--light p,.band--soft p,.tile p,.lead,.prose,.rto-quote,.crow__excerpt,.post__excerpt,.form-note{color:var(--text-body)!important}
.band--dark p,.hero p,.corp p,.ftr p{color:var(--mint-100)!important}
.lead,.prose,.hero__lead,.tile p,.post-feature p,.form-note,.ftr__rto,.testi .prose,.rto-card p,.feat p{font:var(--text-prose)!important}
.lead{max-width:60ch}
/* Hero: everything centred and stacked */
.hero.hero--fold{align-items:center}
.hero--fold .hero__copy{max-width:64rem;margin:0 auto;text-align:center}
.hero--fold .shout--hero{font-size:clamp(38px,5.6vw,80px)}
.hero--fold .hero__row{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);margin-top:var(--space-6)}
.hero--fold .hero__lead{max-width:62ch;margin:0}
.hero--fold .hero__side{align-items:center;gap:var(--space-4)}
.hero--fold .hero__rto{justify-content:center;text-align:left}
/* Stats: both columns the same height, intro vertically centred against the numbers */
.stats-grid{align-items:stretch}
.stats-intro{display:flex;flex-direction:column;justify-content:center}
/* RTO: certificate card + three feature tiles */
.rto-grid{display:grid;grid-template-columns:5fr 7fr;gap:var(--space-16);align-items:center;margin-top:var(--space-10)}
.rto-card{position:relative;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-10);overflow:visible}
.rto-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--mint-400);border-radius:var(--radius-md) 0 0 var(--radius-md)}
.rto-card__logo{height:64px;width:auto;display:block}
.rto-card__label{color:var(--ink-500);margin-top:var(--space-8)}
.rto-card__statement{font:var(--weight-medium) clamp(20px,1.7vw,24px)/1.3 var(--font-display);letter-spacing:-0.01em;color:var(--ink-900);margin:var(--space-3) 0 0}
.rto-card hr{border:0;border-top:1px dashed var(--ink-300);margin:var(--space-6) 0}
.rto-card__issuer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}
.rto-stamp{position:absolute;right:-22px;top:-22px;width:112px;height:112px;border-radius:50%;background:var(--blue-700);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 6px var(--surface-page);transform:rotate(8deg)}
.rto-stamp b{font:var(--weight-black) 26px/1 var(--font-display);letter-spacing:-0.02em}
.rto-stamp span{font:var(--weight-semibold) 11px/1.2 var(--font-body);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;color:var(--mint-300)}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);margin-top:var(--space-8)}
.feat{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-6)}
.feat__icon{width:48px;height:48px;border-radius:50%;background:var(--blue-700);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.feat h3{font:var(--weight-semibold) 18px/1.3 var(--font-display);color:var(--text-heading);margin:var(--space-4) 0 0;letter-spacing:-0.01em}
.feat p{margin:var(--space-2) 0 0;color:var(--text-muted)}
/* Carousel: dots centred, dark variant for the blog band */
.carousel__dots{justify-content:center;margin-left:0}
.carousel__btn--dark{border-color:rgba(255,255,255,.5);background:transparent;color:#fff}
.carousel__btn--dark:hover{background:rgba(255,255,255,.12)}
.carousel__btn--dark:disabled{border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.35);background:transparent}
.band--dark .carousel__dot{background:rgba(255,255,255,.25)}
.band--dark .carousel__dot.is-on{background:var(--mint-400)}
.post{display:flex;flex-direction:column;height:100%}
.post .tile__media{aspect-ratio:16/10}
/* ---- v2.2: white header, above-the-fold hero, carousel ---- */
.hdr--white{background:var(--surface-page);border-bottom:1px solid var(--border-subtle)}
.hdr--white .hdr__link{color:var(--ink-700)}
.hdr--white .hdr__link:hover,.hdr--white .hdr__link.is-open{color:var(--blue-700);border-bottom-color:var(--mint-400)}
.hero.hero--fold{min-height:min(calc(100vh - var(--header-height) - 72px),720px)}
.hero--fold .hero__inner{padding-top:var(--space-12);padding-bottom:var(--space-12)}
.hero--fold .shout--hero{font-size:clamp(40px,6.2vw,88px)}
.hero--fold .hero__row{margin-top:var(--space-8)}
.hero--fold .hero__lead{font-size:18px;max-width:52ch}
.carousel{position:relative;margin-top:var(--space-10)}
.carousel__viewport{overflow:hidden}
.carousel__track{display:flex;gap:var(--grid-gap);transition:transform var(--duration-slow) var(--ease-standard)}
.carousel__item{flex:0 0 calc((100% - 2 * var(--grid-gap)) / 3);min-width:0}
.carousel__nav{display:flex;gap:var(--space-2);align-items:center}
.carousel__btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--blue-700);background:var(--surface-card);color:var(--blue-700);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-control)}
.carousel__btn:hover{background:var(--blue-050)}
.carousel__btn:disabled{border-color:var(--ink-200);color:var(--ink-400);cursor:not-allowed;background:var(--surface-card)}
.carousel__dots{display:flex;gap:6px;margin-left:var(--space-3)}
.carousel__dot{width:8px;height:8px;border-radius:50%;background:var(--ink-200)}
.carousel__dot.is-on{background:var(--blue-700)}
.testi--sm{padding:var(--space-6);gap:var(--space-4);height:100%}
.testi--sm .prose{font-size:var(--size-body-sm);line-height:1.6}
/* ---- v2.1: recomposed panels ---- */
.tile .calm--md{font:var(--weight-medium) clamp(22px,2vw,28px)/1.25 var(--font-display);letter-spacing:-0.015em;color:var(--ink-900)}
.tile .prose{font:var(--text-prose)}
.courses-intro .shout{font-size:clamp(34px,4vw,56px)}
.band-head .shout{max-width:18ch}
/* Header overlays the hero, then pins solid once the page scrolls */
.hdr--overlay{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom:1px solid rgba(255,255,255,.14)}
.hdr--overlay.is-solid{position:fixed;background:var(--blue-900)}
/* Hero: full viewport, headline across the full width, lead and CTA on a bottom row */
.hero{min-height:min(100vh,880px);align-items:flex-end}
.hero__inner{padding-top:calc(var(--header-height) + var(--space-16));padding-bottom:var(--space-16)}
.hero__copy{max-width:none}
.shout--hero{font-size:clamp(48px,8.6vw,136px);line-height:.92}
.hero__row{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-10) var(--space-16);align-items:end;margin-top:var(--space-10)}
.hero__lead{margin:0;max-width:48ch}
.hero__side{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-5)}
.hero__actions{margin:0}
.hero__rto{margin:0}
/* Mint stripe: the USPs as one edge-to-edge brand band (Vodafone hero-band-red, in mint) */
.stripe{background:var(--mint-400);color:var(--blue-900)}
.stripe__list{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6) var(--space-8);list-style:none;margin:0;padding:var(--space-5) 0;flex-wrap:wrap}
.stripe__item{display:inline-flex;align-items:center;gap:var(--space-3);font:var(--weight-bold) 15px/1.2 var(--font-display);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.stripe__item svg{color:var(--blue-900)}
/* About: headline over the top, then 5/7 text and a 3:2 photo */
.about-head{max-width:24ch}
.about-grid{display:grid;grid-template-columns:5fr 7fr;gap:var(--space-16);align-items:start;margin-top:var(--space-12)}
.media--wide{aspect-ratio:3/2}
/* Courses: dark price list. Sticky intro on the left, hairline rows on the right */
.courses-grid{display:grid;grid-template-columns:4fr 8fr;gap:var(--space-16);align-items:start}
.courses-intro{position:sticky;top:calc(var(--header-height) + var(--space-8))}
.course-list{list-style:none;margin:0;padding:0;border-bottom:1px solid rgba(255,255,255,.16)}
.crow{display:grid;grid-template-columns:200px 1fr auto auto;gap:var(--space-6);align-items:center;padding:var(--space-5) 0;border-top:1px solid rgba(255,255,255,.16)}
.crow__title{font:var(--weight-semibold) 20px/1.25 var(--font-display);color:#fff;letter-spacing:-0.01em;margin:0}
.crow__price{font:var(--weight-black) 26px/1 var(--font-display);color:var(--mint-400);letter-spacing:-0.02em;white-space:nowrap;text-align:right;min-width:96px}
.crow__price small{display:block;font:var(--weight-regular) var(--size-caption)/1.2 var(--font-body);color:var(--mint-100);margin-top:4px;letter-spacing:0}
.crow__tbc{font:var(--weight-semibold) var(--size-body-sm)/1.2 var(--font-body);color:var(--mint-200);text-align:right}
.crow:hover{background:linear-gradient(90deg,rgba(255,255,255,.04),transparent)}
/* Stats: headline left, 2x2 numbers right */
.stats-grid{display:grid;grid-template-columns:5fr 7fr;gap:var(--space-16);align-items:start}
.stats{grid-template-columns:1fr 1fr;margin-top:0;border-top:0}
.stat{border-left:0;border-top:1px solid var(--border-subtle);padding:var(--space-6) 0 var(--space-8)}
.stat:nth-child(even){padding-left:var(--space-8);border-left:1px solid var(--border-subtle)}
.stat__num{font-size:clamp(56px,6.4vw,96px)}
/* RTO: one partner strip instead of a split */
.rto-strip{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-12);align-items:center;padding:var(--space-10);margin-top:var(--space-10)}
.rto-strip__logo{height:80px;width:auto;display:block}
.rto-strip__points{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}
/* Corporate: photo bleeds to the left edge, copy on the right */
.corp{display:grid;grid-template-columns:1fr 1fr;background:var(--blue-900);color:#fff}
.corp__img{position:relative;min-height:520px}
.corp__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.corp__body{padding:var(--space-24) var(--gutter-desktop) var(--space-24) var(--space-16);max-width:calc(600px + var(--gutter-desktop));display:flex;flex-direction:column;justify-content:center}
/* Testimonials: one featured quote, two supporting */
.testi-grid{display:grid;grid-template-columns:5fr 7fr;gap:var(--space-16);align-items:start}
.quote-big{font:var(--weight-medium) clamp(22px,2.2vw,30px)/1.35 var(--font-display);color:var(--ink-900);letter-spacing:-0.01em;margin:var(--space-6) 0 0}
.testi-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap);margin-top:var(--space-12)}
/* FAQ: intro left, accordion right */
.faq-grid{display:grid;grid-template-columns:4fr 8fr;gap:var(--space-16);align-items:start}
/* Blog: featured post plus a list */
.blog-grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--space-16);align-items:start;margin-top:var(--space-12)}
.post-feature h3{font:var(--weight-medium) clamp(24px,2.4vw,34px)/1.15 var(--font-display);color:#fff;letter-spacing:-0.015em;margin:var(--space-5) 0 0}
.post-feature p{font:var(--weight-regular) var(--size-body)/1.6 var(--font-body);color:var(--mint-100);margin:var(--space-4) 0 0}
.post-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.16)}
.post-row{display:grid;grid-template-columns:132px 1fr;gap:var(--space-5);align-items:center;padding:var(--space-5) 0;border-bottom:1px solid rgba(255,255,255,.16);text-decoration:none;color:#fff}
.post-row__thumb{aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden}
.post-row__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.post-row h4{font:var(--weight-semibold) 18px/1.3 var(--font-display);color:#fff;margin:var(--space-2) 0 0;letter-spacing:-0.01em}
.post-row:hover h4{color:var(--mint-400)}
/* Enquiry: headline, contact strip, then a wide three-column form */
.enq-head{display:grid;grid-template-columns:1fr auto;gap:var(--space-10);align-items:end}
.contact-strip{display:flex;gap:var(--space-8);flex-wrap:wrap;margin:0;padding:var(--space-5) 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin-top:var(--space-10)}
.contact-strip .contact-row{margin:0}
.form-grid--3{grid-template-columns:repeat(3,1fr)}
.form-grid--3 .span-2{grid-column:span 2}
.form-grid--3 .span{grid-column:1 / -1}
/* Responsive */
@media (max-width:1180px){.hdr__nav{order:3;flex:1 1 100%;margin-left:0}.hdr__nav ul{justify-content:flex-start}}
@media (max-width:1023px){
  .cal-grid{grid-template-columns:1fr;gap:var(--space-10)}
  .about-split,.rto-split{grid-template-columns:1fr;gap:var(--space-10)}
  .about-split .media{aspect-ratio:4/3;max-height:none}
  .rto-grid{grid-template-columns:1fr}
  .feats{grid-template-columns:1fr 1fr}
  .carousel__item{flex-basis:calc((100% - var(--grid-gap)) / 2)}
  .courses-grid,.stats-grid,.testi-grid,.faq-grid,.blog-grid,.about-grid{grid-template-columns:1fr;gap:var(--space-10)}
  .courses-intro{position:static}
  .crow{grid-template-columns:160px 1fr auto;grid-template-areas:"code title price" "code title btn"}
  .course-list--light .crow{grid-template-columns:132px 1fr auto;grid-template-areas:"thumb body btn"}
  .crow__thumb{grid-area:thumb}.crow__body{grid-area:body}.course-list--light .crow__btn{grid-area:btn}
  .crow__code{grid-area:code}.crow__title{grid-area:title}.crow__price{grid-area:price}.crow__btn{grid-area:btn}
  .rto-strip{grid-template-columns:1fr;gap:var(--space-8)}
  .corp{grid-template-columns:1fr}
  .corp__img{min-height:0;aspect-ratio:16/10}
  .corp__body{padding:var(--space-16) var(--gutter-desktop);max-width:none}
  .form-grid--3{grid-template-columns:1fr 1fr}
  .form-grid--3 .span-2{grid-column:span 2}
  .enq-head{grid-template-columns:1fr}
}
@media (max-width:899px){
  .split,.split--form{grid-template-columns:1fr;gap:var(--space-10)}
  .form-grid{grid-template-columns:1fr}
  .ftr__grid{grid-template-columns:1fr 1fr;gap:var(--space-8)}
  .features{grid-template-columns:1fr 1fr}
  .hero__row{grid-template-columns:1fr}
  .testi-pair{grid-template-columns:1fr}
}
@media (max-width:767px){
  .carousel__item{flex-basis:100%}
  .feats{grid-template-columns:1fr}
  .rto-stamp{right:8px;top:-28px;width:88px;height:88px}
  .hero--fold{min-height:0}
  .wrap{padding:0 var(--gutter-mobile)}
  .band{padding:var(--section-y-mobile) 0}
  .hdr--overlay{position:relative;background:var(--blue-900)}
  .hdr--overlay.is-solid{position:relative}
  .hdr__logo{height:38px}
  .hero{min-height:0}
  .hero__inner{padding-top:var(--space-16);padding-bottom:var(--space-12)}
  .stripe__list{flex-direction:column;align-items:flex-start;gap:var(--space-3)}
  .crow{grid-template-columns:1fr auto;grid-template-areas:"code code" "title title" "price btn";gap:var(--space-3) var(--space-4);padding:var(--space-4) 0}
  .course-list--light .crow{grid-template-columns:96px 1fr;grid-template-areas:"thumb body" "btn btn"}
  .crow__thumb{grid-area:thumb}.crow__body{grid-area:body}.course-list--light .crow__btn{grid-area:btn}
  .rto-photo{padding-bottom:var(--space-16)}
  .rto-partner{white-space:normal;width:max-content;max-width:calc(100% - 2 * var(--gutter-mobile))}
  .crow__price{text-align:left}
  .corp__body{padding:var(--space-12) var(--gutter-mobile)}
  .stats{grid-template-columns:1fr}
  .stat:nth-child(even){padding-left:0;border-left:0}
  .form-grid--3{grid-template-columns:1fr}
  .form-grid--3 .span-2{grid-column:auto}
  .ftr__rule{display:none}
  .grid-3{grid-template-columns:1fr}
}
@media (max-width:599px){.ftr__grid{grid-template-columns:1fr}}
@media (max-width:479px){.features{grid-template-columns:1fr}.cal__row{grid-template-columns:56px 1fr}.cal__row .cal__link{grid-column:2}.cal__week{gap:4px}.cal__day b{font-size:18px}}
