/* Mobile composition and legibility pass. */
.w-orbit,.w-orbit::after{display:none!important}


/* Small labels should support the content, not require zooming. */
.w-section-label{font-size:11px}

.w-extra-top{font-size:11px}

.w-lesson-tag{font-size:10px}

.w-footer-bottom{font-size:11px}

.w-footer-location p{font-size:13px}

.w-tony-label small{font-size:10px}


@media(max-width:800px){
  .w-hero-top,.w-hero-bottom{font-size:10px}

  .w-section-label,.w-extra-top{font-size:10px;letter-spacing:.09em}

  .w-lesson-tag{font-size:10px}

  .w-footer-bottom{font-size:11px}

  .w-footer-location p{font-size:13px}

  .w-tony-label small{font-size:9px!important}


  /* Keep the contact copy in the open blue space—not above a separate photo. */
  body[data-page="contact"] .contact-hero{display:block;min-height:clamp(620px,160vw,780px);padding:0;isolation:isolate;background:var(--acid)}

  body[data-page="contact"] .contact-hero>img{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;max-width:none;object-fit:cover;object-position:58% center;z-index:0}

  body[data-page="contact"] .contact-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(198,232,245,.97) 0%,rgba(198,232,245,.92) 48%,rgba(198,232,245,.48) 63%,rgba(198,232,245,0) 80%)}

  body[data-page="contact"] .contact-hero .w-page-poster{position:relative;z-index:2;width:min(55%,360px);padding:34px 22px 0;margin:0 0 18px;font-size:clamp(60px,15vw,94px);line-height:.82}

  body[data-page="contact"] .contact-hero-copy{position:relative;z-index:2;width:min(55%,370px);padding:0 22px 30px}

  body[data-page="contact"] .contact-hero h1{font-size:clamp(24px,6.8vw,31px);line-height:1.32;margin-bottom:14px}

  body[data-page="contact"] .contact-hero .lede{font-size:15px;line-height:1.75;margin:0;color:#263b4c}


  /* Reading and form details on every child page. */
  .w-page-copy .lede,.course-copy>p,.course-split>div>p,.detail-card p,.schedule-card p,.price-card p,.price-note,.contact-privacy{font-size:15px!important;line-height:1.8}

  .w-page-copy .button,.course-cta>.button,.final-cta>.button,.contact-form>button{font-size:14px!important}

  .w-chapter{font-size:11px!important}

  .price-card>span,.schedule-card>b,.contact-form label>small,.youtube-card-meta b{font-size:12px!important}

  .contact-form label,.review-stack cite,.app-link small{font-size:13px!important}

}


@media(max-width:439px){
  /* A larger full-width Tony, sized from the actual content width to avoid head cropping. */
  .w-tony{height:calc((100vw - 40px) * 1.3)!important}

  .w-tony>img{width:195%!important;left:-47.5%!important}

}


@media(max-width:800px){.w-about-photo>span{left:16px;bottom:16px;max-width:calc(100% - 32px);padding:13px 15px;background:linear-gradient(120deg,rgba(16,27,43,.94),rgba(16,27,43,.7));color:#fff!important;text-shadow:none;font-size:clamp(34px,10.5vw,55px);line-height:.84;box-shadow:4px 4px 0 rgba(16,27,43,.34)}
}


/* GOOD WORDS: an intentionally dark, high-contrast review block. */
.w-reviews{background:#10131b;color:#fff}

.w-reviews .w-section-label,.w-reviews .w-section-label a{color:var(--acid)}

.w-review-layout h2{color:#fff}

.w-review-layout h2 em{color:var(--acid)}

.w-review-layout h2>span{color:#dcedf4}

.w-review-quotes figure{border-color:#40516a}

.w-review-quotes figure>span{color:#f6c85f}

.w-review-quotes blockquote{color:#fff}

.w-review-quotes figcaption{color:#c9dce7}

.w-review-quotes .button.secondary{color:#fff;border-color:var(--acid)}

.w-review-quotes .button.secondary:hover{background:var(--acid);border-color:var(--acid);color:var(--ink)}


/* Highly visible native platform marks on the App and YouTube cards. */
.w-platform-mark{position:absolute;top:28px;right:28px;display:flex;align-items:center;gap:10px;z-index:2;filter:drop-shadow(0 4px 12px rgba(0,0,0,.28))}

.w-platform-mark svg{display:block;flex:none}

.w-platform-youtube{color:#fff;font:800 25px/1 var(--sans);letter-spacing:-.06em}

.w-platform-youtube svg{width:72px;height:50px}
.w-platform-youtube rect{fill:#ff0033}
.w-platform-youtube path{fill:#fff}

.w-platform-app{padding:8px 12px 8px 10px;border-radius:9px;background:#050505;color:#fff;gap:8px;line-height:1;box-shadow:0 2px 0 rgba(255,255,255,.18) inset}

.w-platform-app svg{width:22px;height:26px;fill:currentColor}
.w-platform-app span{display:grid;gap:2px;font:500 18px/1 var(--sans);letter-spacing:-.04em}
.w-platform-app small{font:700 7px/1 var(--sans);letter-spacing:.08em}

@media(max-width:700px){.w-platform-mark{top:20px;right:20px}
.w-platform-youtube{font-size:22px}
.w-platform-youtube svg{width:63px;height:44px}
.w-platform-app{padding:7px 10px 7px 9px}
.w-platform-app svg{width:20px;height:24px}
.w-platform-app span{font-size:16px}
.w-platform-app small{font-size:6px}
}


/* Google Reviews: full-image header with a calm, readable left-hand text panel. */
body[data-page="reviews"] .review-hero{display:block;min-height:clamp(570px,52vw,710px);padding:0;isolation:isolate;background:#063f80}

body[data-page="reviews"] .review-hero>img{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}

body[data-page="reviews"] .review-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(2,25,70,.98) 0%,rgba(2,25,70,.9) 34%,rgba(2,25,70,.44) 56%,rgba(2,25,70,.04) 82%)}

body[data-page="reviews"] .review-hero .w-page-poster{position:relative;z-index:2;width:min(50%,700px);padding:clamp(58px,7vw,112px) 0 0 clamp(36px,5vw,92px);margin:0;color:#fff;font-size:clamp(66px,9.8vw,155px);line-height:.77}

body[data-page="reviews"] .review-hero .w-page-poster em{color:#f6c85f}

body[data-page="reviews"] .review-hero .w-page-copy{position:relative;z-index:2;width:min(47%,610px);padding:clamp(34px,4vw,64px) 0 60px clamp(36px,5vw,92px);color:#fff}

body[data-page="reviews"] .review-hero .w-page-copy .kicker{display:block;color:#c6e8f5;margin:0 0 18px;font-size:12px;letter-spacing:.14em}

body[data-page="reviews"] .review-hero .w-page-copy h1{color:#fff;font-size:clamp(30px,3.2vw,52px);line-height:1.28}

body[data-page="reviews"] .review-hero .w-page-copy h1 em{color:#c6e8f5}

body[data-page="reviews"] .review-hero .w-page-copy .lede{color:#e8f4fa;font-size:16px;line-height:1.7}

body[data-page="reviews"] .reviews-rating strong,body[data-page="reviews"] .review-stack b{color:#f6c85f}

@media(max-width:800px){body[data-page="reviews"] .review-hero{min-height:clamp(570px,155vw,760px)}
body[data-page="reviews"] .review-hero>img{object-position:38% center}
body[data-page="reviews"] .review-hero::before{background:linear-gradient(90deg,rgba(2,25,70,.97) 0%,rgba(2,25,70,.87) 43%,rgba(2,25,70,.4) 61%,rgba(2,25,70,.06) 100%)}
body[data-page="reviews"] .review-hero .w-page-poster{width:min(82%,390px);padding:52px 22px 0;margin:0;font-size:clamp(63px,17vw,100px)}
body[data-page="reviews"] .review-hero .w-page-copy{width:min(78%,375px);padding:30px 22px 42px}
body[data-page="reviews"] .review-hero .w-page-copy .kicker{font-size:10px;margin-bottom:13px}
body[data-page="reviews"] .review-hero .w-page-copy h1{font-size:clamp(27px,7vw,35px);margin-bottom:12px}
body[data-page="reviews"] .review-hero .w-page-copy .lede{font-size:15px;line-height:1.65}
}


/* Free trial is the site's clearest next step. */
a[data-trial-cta]:not(.w-big-hello){display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:82px;padding:23px 44px!important;background:#ffdc3c!important;color:#141713!important;border:3px solid #141713!important;border-radius:0!important;box-shadow:8px 8px 0 #141713;font:900 clamp(18px,1.55vw,23px)/1 var(--sans)!important;letter-spacing:-.025em;text-align:center;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}

a[data-trial-cta]:not(.w-big-hello) span{color:inherit!important;font-size:1.25em}

a[data-trial-cta]:not(.w-big-hello):hover{background:#fff2a5!important;color:#141713!important;transform:translate(3px,3px) scale(1.015);box-shadow:3px 3px 0 #141713}

@media(max-width:700px){.w-hero-copy{padding-top:clamp(68px,18vw,90px)!important}
.w-hero-copy h1{font-size:clamp(142px,39vw,210px)!important}
a[data-trial-cta]:not(.w-big-hello){min-height:74px;padding:21px 30px!important;font-size:18px!important}
.w-menu-bottom a[data-trial-cta]{width:100%}
}

/* Use the familiar YouTube red at rest, with a darker press state. */
body[data-page="youtube"] .youtube-play{background:#ff0033!important;color:#fff!important}
body[data-page="youtube"] .youtube-card:hover .youtube-play{background:#c90024!important;color:#fff!important}

/* The HELLO layer sits behind Tony wherever the hero overlaps. */
.w-hero-copy{z-index:1}
.w-tony{z-index:2}

/* One stable mobile portrait composition from narrow phones through 700px. */
@media(max-width:700px){
  .w-tony{height:clamp(390px,110vw,480px)!important;margin-top:5px}
  .w-tony>img{width:180%!important;left:-40%!important;bottom:40px!important}
  .w-tony-label{bottom:52px!important}
}

/* Tablet: a single deliberate two-column poster, rather than competing crop rules. */
@media(min-width:701px) and (max-width:1100px){
  .w-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;min-height:clamp(570px,65vw,680px)!important}
  .w-hero-copy{grid-column:1;grid-row:1;padding:0!important}
  .w-hero-copy h1{position:absolute;top:40%!important;left:0;margin:0!important;transform:translateY(-50%);font-size:clamp(145px,17vw,205px)!important;line-height:.82}
  .w-tony{grid-column:2;grid-row:1;align-self:stretch;min-height:0}
  .w-tony>img{width:190%!important;left:-45%!important;bottom:0!important}
  .w-tony-label{left:4%!important;bottom:28px!important;font-size:clamp(28px,3vw,38px)!important}
  .w-hero-details{position:absolute;z-index:3;left:0;bottom:26px!important;width:45%!important;margin:0}
  .w-hero-details .w-jp-head{font-size:clamp(28px,3.2vw,36px)!important}
}

/* Large phones: let HELLO breathe above a deliberately smaller portrait. */
@media(min-width:440px) and (max-width:700px){
  .w-hero-copy{padding-top:clamp(54px,10vw,72px)!important}
  .w-hero-copy h1{font-size:clamp(142px,31vw,185px)!important}
  .w-tony{height:clamp(570px,100vw,680px)!important}
  .w-tony>img{width:160%!important;left:-30%!important;bottom:82px!important}
  .w-tony-label{left:8%!important;bottom:108px!important}
}

/* The trial CTA should read like the site's strongest invitation. */
.w-ticker .w-kid-letter{display:inline-block}.w-ticker .w-kid-letter:nth-child(1){color:#ffd54a}.w-ticker .w-kid-letter:nth-child(2){color:#ff8274}.w-ticker .w-kid-letter:nth-child(3){color:#82e5c2}.w-ticker .w-kid-letter:nth-child(4){color:#d8a4ff}
.w-ticker .w-gold-stars{display:inline-block;background:linear-gradient(105deg,#8c5a08 0%,#fff2a3 22%,#d79a19 43%,#fff7c3 60%,#b77809 82%,#ffd95f 100%);background-size:180% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none}
.w-ticker-link{color:inherit;text-decoration:none;display:inline-block;transition:transform .18s ease,color .18s ease}.w-ticker-link:hover{color:#fff;transform:translateY(-3px)}.w-ticker-link:focus-visible{outline:3px solid #fff;outline-offset:5px}.w-ticker:hover .w-ticker-track{animation-play-state:paused}
a[data-trial-cta]:not(.w-big-hello){font-family:var(--display)!important;font-weight:900!important;font-size:clamp(22px,1.8vw,28px)!important;letter-spacing:-.035em!important}
.w-header-cta[data-trial-cta]{min-width:220px;min-height:72px;padding:16px 24px!important;box-shadow:5px 5px 0 #141713!important;font:900 clamp(25px,2vw,30px)/.9 var(--display)!important;letter-spacing:-.04em!important}
@media(max-width:700px){
  a[data-trial-cta]:not(.w-big-hello){min-height:82px;padding-inline:32px!important;font-size:24px!important}
  .w-header-cta[data-trial-cta]{min-width:172px;min-height:64px;padding:13px 16px!important;box-shadow:4px 4px 0 #141713!important;font-size:24px!important}
}

/* Small desktops: retain the desktop idea, but keep portrait and wordmark in a stable frame. */
@media(min-width:1101px) and (max-width:1390px){
  .w-hero-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)!important;min-height:760px!important}
  .w-hero-copy h1{top:calc(var(--hello-center-y,52%) - 42px)!important;font-size:clamp(175px,16.5vw,225px)!important}
  .w-tony>img{width:176%!important;left:-39%!important;bottom:0!important}
  .w-tony-label{left:5%!important;bottom:42px!important}
  .w-hero-details{bottom:38px!important}
}

/* Restore the approved HELLO letterforms: bold, not horizontally stretched. */
@media(min-width:701px){
  .w-hero-copy h1{white-space:nowrap!important;letter-spacing:normal!important;font-size:clamp(126px,18vw,285px)!important;line-height:.86!important;transform:translateY(-50%)!important;transform-origin:left center!important}
}

/* Drag the homepage ticker to explore it; the animation resumes from the exact release point. */
.w-ticker{touch-action:pan-y;cursor:grab;user-select:none}
.w-ticker.is-dragging{cursor:grabbing}
.w-ticker.is-dragging .w-ticker-track{animation-play-state:paused!important}

/* Footer platforms are proper social marks—larger, cleaner, and no decorative rings. */
.w-socials{gap:28px!important}
.w-socials a{width:60px!important;height:60px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--acid)!important}
.w-socials a:hover{background:transparent!important;color:#fff!important;transform:translateY(-4px)}
.w-socials svg{width:37px!important;height:37px!important}
@media(max-width:700px){.w-socials{gap:20px!important}.w-socials a{width:54px!important;height:54px!important}.w-socials svg{width:34px!important;height:34px!important}}

/* App imagery is now the star: full-width, un-cropped visual bands rather than cramped tiles. */
body[data-page="app"] .app-showcase{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(32px,4vw,62px);align-items:start}
body[data-page="app"] .app-showcase>div{grid-column:1 / span 7;grid-row:1}
body[data-page="app"] .app-showcase .app-banner{grid-column:1 / -1;grid-row:2;width:100%;height:auto!important;min-height:0!important;margin:0;border:3px solid var(--ink);border-radius:0!important;box-shadow:none;background:#fff}
body[data-page="app"] .app-showcase .app-banner img{width:100%!important;height:auto!important;min-height:0!important;object-fit:contain!important;display:block}
body[data-page="app"] .app-showcase:has(.app-banner:first-child) .app-banner{grid-row:1}
body[data-page="app"] .app-showcase:has(.app-banner:first-child)>div{grid-column:6 / -1;grid-row:2}
body[data-page="app"] .app-showcase h2{font-size:clamp(46px,5.2vw,82px)!important;line-height:.96!important}
body[data-page="app"] .app-showcase>div>p:not(.kicker){font-size:17px!important;line-height:1.85!important}
@media(max-width:800px){body[data-page="app"] .app-showcase{display:flex;flex-direction:column;gap:28px}body[data-page="app"] .app-showcase>div,body[data-page="app"] .app-showcase:has(.app-banner:first-child)>div{width:100%;order:2}body[data-page="app"] .app-showcase .app-banner,body[data-page="app"] .app-showcase:has(.app-banner:first-child) .app-banner{width:100%;order:1;box-shadow:none}body[data-page="app"] .app-showcase h2{font-size:clamp(42px,11vw,58px)!important}body[data-page="app"] .app-showcase>div>p:not(.kicker){font-size:16px!important}}

/* The nameplate follows Tony’s chest, rather than sitting on the floor of the hero. */
.w-tony-label{top:68%!important;bottom:auto!important}
@media(min-width:701px) and (max-width:1100px){.w-tony-label{top:73%!important;bottom:auto!important}}
@media(max-width:700px){.w-tony-label{top:57%!important;bottom:auto!important}}
@media(min-width:440px) and (max-width:700px){.w-tony-label{top:55%!important;bottom:auto!important}}

/* Give Tony a proper hello: the nameplate lives beside his head like a speech bubble. */
.w-tony-label{top:10%!important;bottom:auto!important;left:65%!important;right:auto!important}
@media(min-width:701px) and (max-width:1100px){.w-tony-label{top:11%!important;left:62%!important;right:auto!important}}
@media(max-width:700px){.w-tony-label{top:3%!important;left:auto!important;right:-2%!important;font-size:clamp(21px,6vw,27px)!important;padding:12px 15px!important}}
@media(min-width:440px) and (max-width:700px){.w-tony-label{top:5%!important;right:1%!important}}

/* On desktop, tuck the greeting into the pocket between Tony’s ear and shoulder. */
@media(min-width:1101px){.w-tony-label{top:28%!important}}

/* A small, playable slice of Tony’s real Instagram archive. */
.w-instagram-spotlight{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);margin:0 auto 78px;background:#193b78;color:#fff;border:3px solid var(--ink);box-shadow:10px 10px 0 #ffdc3c;overflow:hidden}
.w-instagram-copy{padding:clamp(34px,5vw,76px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.w-instagram-copy .w-section-label{color:#c6e8f5;margin-bottom:22px}
.w-instagram-copy h2{margin:0;font:900 clamp(42px,5.5vw,82px)/.92 var(--display);letter-spacing:-.055em;color:#fff}
.w-instagram-copy h2 em{color:#ffdc3c;font-style:normal}
.w-instagram-copy>p:not(.w-section-label){max-width:34ch;margin:24px 0 30px;color:#e6f5fb;font-size:16px;line-height:1.8}
.w-instagram-copy .button{border-color:#fff;color:#fff}
.w-instagram-copy .button:hover{background:#ffdc3c;border-color:#ffdc3c;color:var(--ink)}
.w-instagram-embed{min-height:500px;background:#10131b}
.w-instagram-embed iframe{display:block;width:100%;height:100%;min-height:500px;border:0;background:#10131b}
@media(max-width:700px){.w-instagram-spotlight{grid-template-columns:1fr;margin-bottom:54px;box-shadow:6px 6px 0 #ffdc3c}.w-instagram-copy{padding:35px 24px}.w-instagram-copy h2{font-size:clamp(43px,13vw,64px)}.w-instagram-copy>p:not(.w-section-label){font-size:15px;margin:18px 0 25px}.w-instagram-copy .button{width:100%}.w-instagram-embed,.w-instagram-embed iframe{min-height:470px}}

/* Instagram reel: readable copy, a full portrait frame, and no decorative yellow shadow. */
.w-instagram-spotlight{grid-template-columns:minmax(0,1fr) minmax(360px,430px);box-shadow:none}
.w-instagram-copy{padding:clamp(46px,6vw,92px)}
.w-instagram-copy h2{font-family:var(--sans);font-weight:900;font-size:clamp(42px,4.7vw,72px);line-height:1.08;letter-spacing:-.045em}
.w-instagram-copy h2 em{display:inline-block;margin-top:.14em;letter-spacing:-.055em}
.w-instagram-copy>p:not(.w-section-label){margin:28px 0 36px;font-size:17px;line-height:1.9}
.w-instagram-embed{display:grid;place-items:center;min-height:660px;padding:22px;background:#10131b}
.w-instagram-embed iframe{width:min(100%,360px);height:620px;min-height:0}
@media(max-width:700px){.w-instagram-spotlight{grid-template-columns:1fr;box-shadow:none}.w-instagram-copy{padding:38px 24px}.w-instagram-copy h2{font-size:clamp(42px,12vw,60px);line-height:1.1}.w-instagram-copy>p:not(.w-section-label){margin:22px 0 28px;font-size:16px}.w-instagram-embed{min-height:580px;padding:16px}.w-instagram-embed iframe{width:min(100%,350px);height:548px;min-height:0}}

/* Flat image treatment: remove coloured cast shadows, keep typography and CTAs bold. */
.w-tony > img{filter:none!important}

/* The greeting sits just beyond Tony's right ear, never over his face. */
@media(max-width:700px){
  .w-tony-label{
    top:12%!important;
    left:64%!important;
    right:auto!important;
    bottom:auto!important;
    padding:10px 13px!important;
    font-size:clamp(18px,5.2vw,25px)!important;
    white-space:nowrap;
  }
  .w-tony-label small{font-size:7px!important;margin-top:8px!important}
}
@media(min-width:440px) and (max-width:700px){
  .w-tony-label{top:12%!important;left:66%!important;font-size:clamp(21px,4.5vw,27px)!important}
}
@media(min-width:701px) and (max-width:1100px){
  .w-tony-label{top:23%!important;left:70%!important;right:auto!important;bottom:auto!important}
}
@media(min-width:1101px){
  .w-tony-label{top:32%!important;left:68%!important;right:auto!important;bottom:auto!important}
}
