/* ============================================================
   RIDLEY ACADEMY · crimson/wine funnel (reconstructed)
   Tanker + Switzer + Caveat · cream base · wine hero · ink band
   gold handwritten hero accents · poppy-red section accents
   ============================================================ */
@import url('https://api.fontshare.com/v2/css?f[]=tanker@400&f[]=switzer@300,400,500,600,700,800&display=swap');

:root{
  --cream:    #F8F6F2;
  --cream-2:  #F1EBDF;
  --paper:    #FFFBF4;
  /* deepened per Steven's note: the old cherry/ruby read slightly pink */
  --cherry:   #E81420;
  --ruby:     #E23237;
  --burgundy: #B00C19;
  --bordeaux: #6E0717;
  --ink:      #2A060D;
  --ink-soft: #7a3a40;
  --gold:     #FFB42B;
  --gold-acc: #FFC04A;
  --red:      #D90D1A;
  --line:     rgba(42,6,13,.14);
  --line-2:   rgba(42,6,13,.06);
  --cream-line:rgba(252,244,234,.16);

  --display: 'Tanker','Switzer',Georgia,serif;
  --body:    'Switzer',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --hand:    'Caveat',cursive;
  --serif:   'Playfair Display',Georgia,'Times New Roman',serif;

  --wrap: 1200px;
  --wrap-narrow: 860px;
  --gut: clamp(20px,5vw,60px);
  --radius: 18px;
  --radius-lg: 26px;
  --radius-sm: 12px;
  --shadow: 0 40px 80px -44px rgba(42,10,16,.5);
  --shadow-sm: 0 22px 46px -26px rgba(42,10,16,.4);
  --grad-fire: linear-gradient(105deg, var(--cherry), var(--ruby) 52%, var(--burgundy));
  --ease: cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;scroll-padding-top:90px}
body{font-family:var(--body);background:var(--cream);color:var(--ink);
  line-height:1.62;font-size:17px;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit;font-size:16px}
::selection{background:var(--cherry);color:var(--cream)}

h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.04;letter-spacing:-.01em}
.fire-text{color:var(--red);-webkit-text-fill-color:var(--red);font-weight:700}
.tnum{font-variant-numeric:tabular-nums}

.eyebrow,.eyebrow--center{font-family:var(--body);font-weight:700;text-transform:uppercase;
  letter-spacing:.16em;font-size:.74rem;color:var(--cherry);display:inline-flex;align-items:center;gap:.6em}
.center .eyebrow,.eyebrow--center{justify-content:center}
.lede{font-size:clamp(1.05rem,2.1vw,1.34rem);color:var(--ink-soft);line-height:1.55}
.muted{color:var(--ink-soft)}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.wrap--narrow{max-width:var(--wrap-narrow)}
section{position:relative}
.section{padding:clamp(56px,8vw,116px) 0}
.section--tight{padding:clamp(40px,5vw,72px) 0}
.center{text-align:center}
.h-xl{font-size:clamp(2.4rem,6.2vw,5rem);text-transform:uppercase;line-height:.98}
.h-lg{font-size:clamp(1.9rem,4.4vw,3.4rem);text-transform:uppercase}
.h-md{font-size:clamp(1.5rem,3vw,2.3rem);text-transform:uppercase}
.sec-intro{max-width:760px;margin:0 auto clamp(34px,5vw,60px)}
.sec-intro p{margin-top:.9em}

/* dark band (near-black ink · "pops") */
.band-dark{background:var(--ink);color:var(--cream)}
.band-dark .muted,.band-dark .lede{color:rgba(252,244,234,.72)}
.band-dark .eyebrow,.band-dark .eyebrow--center{color:var(--gold-acc)}
.band-dark .sec-intro .fire-text{color:#fff;-webkit-text-fill-color:#fff}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--body);font-weight:800;
  font-size:1.02rem;letter-spacing:.02em;padding:1.12em 2em;border-radius:60px;line-height:1.1;text-transform:uppercase;
  transition:transform .25s var(--ease),box-shadow .25s;text-align:center;position:relative;overflow:hidden}
.btn--fire{background:var(--grad-fire);color:#fff;box-shadow:0 20px 44px -16px rgba(165,28,48,.72)}
.btn--fire:hover{transform:translateY(-3px);box-shadow:0 28px 58px -16px rgba(165,28,48,.85)}
.btn--lg{font-size:clamp(1.2rem,2.1vw,1.42rem);padding:1.3em 2.9em}
/* idle motion on the big fire CTAs (Steven: "some motion before you touch it") */
.btn--fire.btn--lg{animation:bookGlow 2.6s infinite}
@media(prefers-reduced-motion:reduce){.btn--fire.btn--lg{animation:none}}
.btn--block{display:flex;width:100%}
.btn--fire::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-18deg);transition:left .6s}
.btn--fire:hover::after{left:130%}

.cta-note{margin-top:.85em;font-weight:800;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;gap:.4em;color:var(--bordeaux)}
.cta-note--dark{color:var(--bordeaux)}
.band-dark .cta-note{color:rgba(252,244,234,.7)}

.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:300;background:var(--grad-fire)}

/* fixed logo · light over dark sections, dark over cream */
.sitelogo{position:fixed;top:clamp(13px,1.8vw,20px);left:clamp(16px,3.5vw,42px);z-index:200;
  display:inline-flex;align-items:center;gap:9px;font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;
  font-size:1.12rem;color:#fff;transition:color .3s;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}
.sitelogo__mark{width:25px;height:25px;flex:none}
.sitelogo.is-dark{color:var(--ink);filter:drop-shadow(0 1px 2px rgba(255,255,255,.55))}
@media(max-width:520px){.sitelogo{font-size:1rem}.sitelogo span{display:none}}

/* ============================================================
   HERO · wine gradient, Tanker caps + gold handwritten accents
   ============================================================ */
.herox{position:relative;overflow:hidden;color:var(--ink);text-align:center;
  background:radial-gradient(125% 90% at 50% -10%, #FDFCFA 0%, #F8F6F2 58%, #F1EFEA 100%);
  padding:clamp(54px,6vw,70px) 0 clamp(30px,4vw,46px)}
.herox::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 40% at 50% 4%, rgba(255,255,255,.55), transparent 60%)}
.herox .wrap{position:relative;z-index:1;max-width:var(--wrap)}
.herox h1{font-size:clamp(1.9rem,5vw,3.6rem);text-transform:uppercase;line-height:1.05;letter-spacing:-.01em;
  max-width:none;margin:0 auto;color:var(--ink)}
/* accent words: same Tanker display font as the rest of the headline, just red */
.herox h1 .fire-text{font-family:var(--display);text-transform:uppercase;font-weight:400;color:var(--red);
  -webkit-text-fill-color:var(--red);font-size:1em;letter-spacing:inherit;line-height:inherit;margin:0;padding:0;text-shadow:none}
.herox h1 .fire-text::after{content:none}
.herox__sub{max-width:580px;margin:clamp(10px,1.3vw,15px) auto 0;font-size:clamp(.98rem,1.6vw,1.1rem);line-height:1.45;color:var(--ink-soft)}
.herox__sub b{color:var(--ink);font-weight:800}
.herox h1,.herox__sub{animation:heroIn .8s var(--ease) both}
.herox__sub{animation-delay:.12s}
@keyframes heroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.herox h1,.herox__sub{animation:none}.herox h1 .fire-text::after{transform:none;animation:none}}

/* video */
.vwrap{margin:clamp(14px,1.8vw,20px) auto 0;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);border:1px solid var(--line);
  /* fit-to-viewport: on short laptop screens the player shrinks so the
     headline, video AND the booking button share the first screen */
  max-width:clamp(470px,calc((100svh - 440px) * 1.7778),1200px)}
@media(max-width:760px){.vwrap{max-width:none}}
/* short laptop screens: trim hero air so headline + video + button all fit */
@media(min-width:761px) and (max-height:800px){.herox{padding-top:34px}}
.vbar{display:flex;align-items:center;justify-content:center;gap:.5em;background:#9E1B2A;color:#fff;
  font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;padding:.55em 1em}
.vembed{position:relative;width:100%;aspect-ratio:16/9;display:block;overflow:hidden;background:radial-gradient(circle at 50% 42%,#4a0c14,#160308)}
.vembed iframe,.vembed video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000;object-fit:contain}
.vfacade{position:absolute;inset:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border:0;background:transparent;overflow:hidden}
.vfacade::before{content:"";position:absolute;inset:0;z-index:0;background:#160308 url("images/video-thumb.jpg?v=2") center 42%/cover no-repeat;filter:brightness(1.32) contrast(1.05) saturate(1.1)}
.vfacade::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,2,3,.52) 0%,rgba(8,2,3,.04) 34%,rgba(8,2,3,.42) 100%)}
.vfacade__title{position:absolute;top:5.5%;left:50%;transform:translateX(-50%);z-index:2;width:95%;text-align:center;
  font-family:var(--display);text-transform:uppercase;color:#fff;font-size:clamp(2rem,7.4vw,4.7rem);line-height:.98;
  text-shadow:0 4px 24px rgba(0,0,0,.85),0 2px 6px rgba(0,0,0,.8)}
.vfacade__btn{position:relative;z-index:2;width:clamp(64px,9vw,92px);height:clamp(64px,9vw,92px);border-radius:50%;
  background:#9E1B2A;display:grid;place-items:center;box-shadow:0 18px 44px -10px rgba(110,15,27,.85);transition:transform .25s var(--ease)}
.vfacade:hover .vfacade__btn{transform:scale(1.08)}
.vfacade__btn svg{width:38%;height:38%;fill:#fff;margin-left:8%}
.vfacade__hint{position:relative;z-index:2;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  font-size:clamp(.82rem,1.6vw,1rem);text-shadow:0 2px 12px rgba(0,0,0,.8)}

/* featured video (self-hosted clip) facade */
.ytvid{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#160308;box-shadow:var(--shadow);border:1px solid var(--line)}
.ytvid iframe,.ytvid video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.ytfacade{position:absolute;inset:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border:0;background:transparent;overflow:hidden}
.ytfacade::before{content:"";position:absolute;inset:0;z-index:0;background:#160308 url("images/yt-thumb.jpg") center 28%/cover no-repeat}
.ytfacade::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,2,3,.6) 0%,rgba(8,2,3,.3) 42%,rgba(8,2,3,.66) 100%)}
.ytfacade__q{position:absolute;top:8%;left:50%;transform:translateX(-50%);z-index:2;width:90%;text-align:center;font-family:var(--display);text-transform:uppercase;color:#fff;font-size:clamp(1.3rem,3.6vw,2.5rem);line-height:1.04;text-shadow:0 4px 24px rgba(0,0,0,.9);transition:opacity .4s}
.ytfacade__cite{position:absolute;bottom:7.5%;left:50%;transform:translateX(-50%);z-index:2;width:90%;text-align:center;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(.74rem,1.5vw,.95rem);text-shadow:0 2px 12px rgba(0,0,0,.85);transition:opacity .4s}
.ytfacade__btn{position:relative;z-index:2;width:clamp(64px,9vw,92px);height:clamp(64px,9vw,92px);border-radius:50%;background:var(--grad-fire);display:grid;place-items:center;box-shadow:0 18px 44px -10px rgba(165,28,48,.85);transition:transform .25s var(--ease)}
.ytfacade:hover .ytfacade__btn{transform:scale(1.08)}
.ytfacade__btn svg{width:38%;height:38%;fill:#fff;margin-left:8%}

/* book CTA */
.bookcta{text-align:center;margin-top:clamp(16px,2vw,24px)}
.btn-book{display:inline-flex;flex-direction:column;align-items:center;gap:.25em;cursor:pointer;
  background:var(--grad-fire);color:#fff;padding:1.15em 3.2em;border-radius:60px;border:0;position:relative;
  box-shadow:0 22px 48px -16px rgba(165,28,48,.7);transition:transform .25s var(--ease),box-shadow .25s;animation:bookGlow 2.6s infinite}
.btn-book:hover{transform:translateY(-3px)}
.btn-book__main{display:inline-flex;align-items:center;gap:.5em;font-family:var(--display);text-transform:uppercase;font-size:clamp(1.2rem,2.3vw,1.55rem);letter-spacing:.01em;line-height:1}
.btn-book__main svg{width:1.05em;height:1.05em;fill:none;stroke:#fff;stroke-width:2;flex:none}
.btn-book__sub{font-family:var(--body);font-weight:700;font-size:.78rem;color:rgba(255,255,255,.9);text-transform:uppercase;letter-spacing:.06em}
.btn-book__sub b{color:#fff}
@keyframes bookGlow{0%{box-shadow:0 22px 48px -16px rgba(165,28,48,.7),0 0 0 0 rgba(255,74,79,.55)}70%{box-shadow:0 22px 48px -16px rgba(165,28,48,.7),0 0 0 20px rgba(255,74,79,0)}100%{box-shadow:0 22px 48px -16px rgba(165,28,48,.7),0 0 0 0 rgba(255,74,79,0)}}
@media(prefers-reduced-motion:reduce){.btn-book{animation:none}}
.herox .cta-note{color:var(--bordeaux)}

/* booking widget */
.book{max-width:980px;margin:clamp(26px,3.5vw,42px) auto 0;background:#FFFBF4;border:1px solid rgba(42,6,13,.1);border-radius:var(--radius);overflow:hidden;box-shadow:0 44px 100px -44px rgba(0,0,0,.7);color:var(--ink);text-align:left}
.book__tabs{display:flex;align-items:center;justify-content:center;gap:1.8em;padding:.85em 1em;border-bottom:1px solid var(--line-2);font-size:.84rem;font-weight:700;background:linear-gradient(180deg,#FFF4E6,#FFFBF4)}
.book__tab{display:flex;align-items:center;gap:.5em;color:var(--ink-soft);opacity:.6}
.book__tab.is-active{opacity:1;color:var(--ink)}
.book__tab::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--line)}
.book__tab.is-active::before{background:var(--cherry)}
.book__body{display:grid;grid-template-columns:1fr 1fr;align-items:start}
.book__form{padding:clamp(18px,2.4vw,26px);border-right:1px solid var(--line-2);display:flex;flex-direction:column;gap:.6em}
.book__form h3{font-size:1.4rem;text-transform:none;margin-bottom:-.1em}
.book__form .muted{font-size:.88rem;margin-bottom:.5em}
.book__phone{display:flex;gap:.5em}
.book__flag{flex:none;width:74px;display:flex;align-items:center;justify-content:center;gap:.3em;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.9rem;font-weight:600}
.book__field{width:100%;padding:.82em 1em;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.book__field::placeholder{color:rgba(42,6,13,.38)}
.book__field:focus{outline:none;border-color:var(--cherry);box-shadow:0 0 0 3px rgba(255,34,48,.12)}
.book__consent{display:flex;gap:.6em;align-items:flex-start;font-size:.74rem;color:var(--ink-soft);line-height:1.4;margin:.15em 0 .2em}
.book__consent input{margin-top:.2em;accent-color:var(--cherry)}
.book__consent a{color:var(--cherry);text-decoration:underline}
.book__form .btn{margin-top:auto}
.qual{display:grid;gap:1em;background:#FFF4E6;border:1px solid rgba(255,34,48,.22);border-radius:12px;padding:1em 1.1em;box-shadow:0 14px 30px -18px rgba(42,6,13,.4);transform-origin:top;animation:qualOpen .4s var(--ease)}
@keyframes qualOpen{from{opacity:0;transform:translateY(-10px) scaleY(.92)}to{opacity:1;transform:none}}
.qual__intro{font-family:var(--display);text-transform:uppercase;font-size:.72rem;letter-spacing:.06em;color:var(--cherry);display:flex;align-items:center;gap:.5em}
.qual__intro::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cherry)}
.qual__q{display:grid;gap:.5em}
.qual__label{font-size:.82rem;font-weight:600;color:var(--ink);line-height:1.34}
.qual__label b{color:var(--cherry);font-weight:800}
.qual__opts{display:grid;gap:.4em}
.qual__opt{text-align:left;padding:.7em .9em;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:.84rem;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:.6em;transition:border-color .18s,background .18s,color .18s}
.qual__opt::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--line);flex:none;transition:all .18s}
.qual__opt:hover{border-color:var(--cherry)}
.qual__opt.is-sel{background:var(--cherry);color:#fff;border-color:var(--cherry)}
.qual__opt.is-sel::before{border-color:#fff;background:#fff;box-shadow:inset 0 0 0 3px var(--cherry)}
.book__cal{position:relative;background:#fff;min-height:700px;display:flex;flex-direction:column}
.book__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:rgba(255,251,244,.62);backdrop-filter:blur(7px) saturate(.9);-webkit-backdrop-filter:blur(7px) saturate(.9);padding:1.5em;z-index:2;transition:opacity .25s}
.book__overlay[hidden]{opacity:0}
.book[hidden] .book__overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.book__overlay span{background:var(--ink);color:var(--cream);padding:.95em 1.3em;border-radius:12px;max-width:260px;font-weight:600;font-size:.92rem;line-height:1.35;box-shadow:var(--shadow-sm)}
.book__overlay[hidden],.calendly-inline-widget[hidden],.qual[hidden]{display:none!important}
.book[hidden]{max-height:0!important;overflow:hidden!important;opacity:0!important;margin-top:0!important;pointer-events:none!important}
.book--open{animation:bookOpen .45s var(--ease)}
@keyframes bookOpen{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}
.calendly-inline-widget{min-width:280px;width:100%;flex:1;min-height:700px;position:relative}
.cal-fallback{position:absolute;inset:0;margin:auto;width:max-content;height:max-content;display:flex;flex-direction:column;align-items:center;gap:.8em;text-align:center;color:var(--ink-soft);font-size:.9rem}
.book__powered{text-align:center;font-size:.72rem;color:var(--ink-soft);opacity:.7;letter-spacing:.04em;padding:.7em;border-top:1px solid var(--line-2);background:#FFFBF4}
@media(max-width:760px){.book__body{grid-template-columns:1fr}.book__form{border-right:none;border-bottom:1px solid var(--line-2)}.book__cal{min-height:0}.calendly-inline-widget{min-height:880px}}

/* trustpilot bar */
.tpx{display:flex;align-items:center;justify-content:center;gap:.6em;flex-wrap:wrap;margin-top:clamp(22px,3vw,30px);font-weight:700;font-size:.95rem;color:var(--ink)}
.tpx__stars{display:inline-flex;gap:3px}
.tpx__stars i{width:22px;height:22px;background:#00b67a;display:inline-grid;place-items:center}
.tpx__stars i::before{content:"★";color:#fff;font-style:normal;font-size:14px;line-height:1}

/* hero trust block */
.herox__trust{max-width:900px;margin:clamp(28px,4vw,46px) auto 0}
.logorow{display:flex;align-items:center;justify-content:center;gap:clamp(26px,5vw,64px);flex-wrap:wrap}
.logorow span{font-family:var(--display);text-transform:uppercase;font-size:clamp(1rem,1.8vw,1.4rem);letter-spacing:.04em;color:var(--ink);opacity:.55;white-space:nowrap}
.herox .eyebrow{color:var(--cherry)}

/* award seals */
.awards{display:flex;flex-wrap:wrap;gap:clamp(14px,3vw,32px);justify-content:center;align-items:flex-start}
.awards--hero{margin:clamp(30px,4vw,44px) auto 0;max-width:760px}
.award{width:200px;text-align:center;display:flex;flex-direction:column;align-items:center}
.award__seal{position:relative;width:clamp(152px,37vw,184px);aspect-ratio:1;margin:0 auto;filter:drop-shadow(0 18px 32px rgba(20,3,7,.55))}
.award__img{width:100%;height:100%;object-fit:contain;display:block}
.award__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
.award__num,.award__best,.award__ttl,.award__lbl{color:#42200b;text-shadow:0 1px 0 rgba(255,247,224,.55)}
.award__num{font-family:var(--display);line-height:.84;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.award__lbl{font-family:var(--display);text-transform:uppercase;font-size:.55rem;letter-spacing:.04em;line-height:1.04;margin-top:3px}
.award__overlay .award__star{font-size:.64rem;letter-spacing:1.5px;color:#a06d12;line-height:1;margin-bottom:2px;text-shadow:0 1px 0 rgba(255,247,224,.55)}
.award__best{font-family:var(--display);text-transform:uppercase;font-size:1.4rem;line-height:.82;letter-spacing:.02em}
.award__ttl{font-family:var(--display);text-transform:uppercase;font-size:.82rem;line-height:1.06;margin-top:4px}
.award__seal--star{transform:scale(1.07)}.award__seal--laurel{transform:scale(1.13)}
/* the award badge leads from the middle, larger than its neighbours */
.award--lead .award__seal{width:clamp(184px,44vw,232px)}
.award--lead .award__best{font-size:1.72rem}.award--lead .award__ttl{font-size:1rem}
.award--lead .award__seal--laurel .award__lbl{font-size:1rem}
@media(max-width:520px){.awards--hero .award--lead .award__seal{width:clamp(116px,34vw,150px)}
  .awards--hero .award--lead .award__best{font-size:1.3rem}.awards--hero .award--lead .award__ttl{font-size:.74rem}
  .awards--hero .award--lead .award__seal--laurel .award__lbl{font-size:.72rem}}
.award__seal--star .award__num{font-size:1.4rem}.award__seal--coin .award__num{font-size:1.7rem}
.award__seal--star .award__overlay{padding:0 22%}.award__seal--coin .award__overlay{padding:0 14%}
/* laurel: BEST PIANO COURSE centered on the coin face, 2025 in cream ON the ribbon */
.award__seal--laurel .award__overlay{justify-content:center;padding:9% 19% 17%}
.award__seal--laurel .award__lbl{position:absolute;left:0;right:0;top:72.5%;margin-top:0;font-size:.82rem;letter-spacing:.16em;
  color:var(--cream);text-shadow:0 1px 3px rgba(0,0,0,.6)}
.award__cap{margin-top:.6rem;font-size:.78rem;color:var(--ink-soft);line-height:1.3;max-width:150px}
@media(max-width:520px){.awards--hero{gap:9px}.awards--hero .award{width:31.5%;min-width:0}.awards--hero .award__seal{width:clamp(92px,28vw,124px)}
  .awards--hero .award__seal--star .award__num{font-size:1.12rem}.awards--hero .award__seal--coin .award__num{font-size:1.3rem}
  .awards--hero .award__best{font-size:1.08rem}.awards--hero .award__ttl{font-size:.62rem}.awards--hero .award__lbl{font-size:.56rem}
  .awards--hero .award__seal--laurel .award__lbl{font-size:.6rem;letter-spacing:.12em}.award__cap{font-size:.68rem}}

/* stat line (in dark band) */
.statline{display:flex;align-items:flex-start;justify-content:center;gap:clamp(24px,4vw,54px);flex-wrap:wrap}
.statline__item{text-align:center;min-width:90px}
.statline__n{font-family:var(--display);font-size:clamp(2rem,4vw,3.2rem);line-height:1;text-transform:uppercase;color:#fff;-webkit-text-fill-color:#fff}
.statline__l{font-weight:600;font-size:.86rem;color:rgba(252,244,234,.66);margin-top:.4em;text-transform:uppercase;letter-spacing:.08em}

/* real Trustpilot screenshot cards: 2 per row so each capture displays close
   to its NATIVE 820px size = big, effortlessly readable text. Phones get one
   full-width card per row. */
.shots{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.5vw,24px);align-items:start;
  width:min(1660px,97vw);position:relative;left:50%;transform:translateX(-50%)}
.shot{margin:0;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.shot:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.shot img{width:100%;height:auto;display:block}
@media(max-width:640px){.shots{grid-template-columns:1fr;gap:14px;width:calc(100vw - 20px)}}

/* marquee rows of real screenshots: fixed display height keeps rows tidy;
   only SHORT reviews ride the marquee so the type stays large while moving */
.mqshot{flex:0 0 auto}
.mqshot img{height:clamp(200px,21vw,262px);width:auto;display:block}

/* story wall of real screenshots: 2 wide columns at near-native capture size */
.wallshots{columns:2;column-gap:clamp(16px,1.6vw,26px);
  width:min(1660px,97vw);position:relative;left:50%;transform:translateX(-50%)}
.wallshots .shot{break-inside:avoid;margin:0 0 clamp(16px,1.6vw,26px)}
@media(max-width:640px){.wallshots{columns:1;width:calc(100vw - 20px)}.mqshot img{height:200px}}

/* "click for sound" overlay on muted-autoplay videos: catches the first
   click anywhere on the player and hands back an unmuted restart.
   Dead-CENTER and huge per Steven: impossible to ignore. */
.vsound{position:absolute;inset:0;z-index:5;background:none;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:opacity .45s}
.vsound.is-off{opacity:0;pointer-events:none}
.vsound__pill{display:inline-flex;align-items:center;gap:.55em;background:var(--grad-fire);color:#fff;
  font-family:var(--display);text-transform:uppercase;font-weight:400;
  font-size:clamp(1.15rem,2.6vw,1.7rem);letter-spacing:.03em;padding:.9em 1.9em;border-radius:80px;
  box-shadow:0 24px 60px -14px rgba(120,10,20,.95),0 0 0 6px rgba(255,255,255,.14);
  animation:soundPulse 1.6s ease-in-out infinite}
@keyframes soundPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.vsound__pill{animation:none}}
.ytfacade{transition:opacity .45s}
.ytfacade.is-off{opacity:0;pointer-events:none}

/* review cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px)}
.rcard{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px 24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.rcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.rcard__metric{font-family:var(--display);font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.02;color:var(--bordeaux);text-transform:uppercase;margin-bottom:.5em}
.rcard__metric .fire-text{display:inline}
.rcard__quote{font-size:.98rem;color:var(--ink-soft);line-height:1.55;flex:1}
.rcard__foot{display:flex;align-items:center;gap:.75em;margin-top:1.3em;padding-top:1.1em;border-top:1px solid var(--line-2)}
.rcard__name{font-weight:800;font-size:.95rem;line-height:1.2}
.rcard__name small{display:block;font-weight:500;color:var(--ink-soft);font-size:.84rem}
.rcard__stars{margin-left:auto;color:var(--gold);font-size:.82rem;flex:none}
.rcard__init,.wcard__init{flex:none;border-radius:50%;display:grid;place-items:center;font-family:var(--display);color:#fff;background:var(--grad-fire);position:relative}
.rcard__init{width:48px;height:48px;font-size:1.25rem}
.wcard__init{width:38px;height:38px;font-size:1rem}
.rcard__init::after,.wcard__init::after{content:"";position:absolute;right:-3px;bottom:-3px;width:17px;height:17px;border-radius:50%;border:2px solid var(--cream);background:#00b67a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.4-1.4z'/%3E%3C/svg%3E") center/72% no-repeat}
.tp-tag{color:#00966b;font-weight:700}
.band-dark .tp-tag{color:#3fe0a5}
.band-dark .rcard{background:#fff;color:var(--ink)}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cards{grid-template-columns:1fr}}

/* wall */
.wall{columns:3;column-gap:clamp(16px,2vw,24px)}
.wcard{break-inside:avoid;margin:0 0 clamp(16px,2vw,24px);background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px 20px 18px;box-shadow:var(--shadow-sm)}
.wcard__metric{font-family:var(--display);font-size:1.3rem;color:var(--bordeaux);text-transform:uppercase;line-height:1.05;margin-bottom:.4em}
.wcard__quote{font-size:.92rem;color:var(--ink-soft);line-height:1.5}
.wcard__foot{display:flex;align-items:center;gap:.6em;margin-top:1em}
.wcard__name{font-weight:800;font-size:.86rem;line-height:1.15}
.wcard__name small{display:block;font-weight:500;color:var(--ink-soft);font-size:.78rem}
@media(max-width:900px){.wall{columns:2}}
@media(max-width:560px){.wall{columns:1}}

/* marquee */
.tmarquee{overflow:hidden;margin-top:clamp(18px,2.4vw,28px);-webkit-mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.tmarquee+.tmarquee{margin-top:clamp(14px,1.8vw,22px)}
.tmarquee__track{display:flex;gap:clamp(14px,1.6vw,20px);width:max-content;animation:tmarquee 48s linear infinite}
.tmarquee--rev .tmarquee__track{animation-direction:reverse}
.tmarquee:hover .tmarquee__track{animation-play-state:paused}
@keyframes tmarquee{to{transform:translateX(-50%)}}
.tcard{flex:0 0 auto;width:clamp(238px,26vw,300px);background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow-sm)}
.tcard__stars{color:var(--gold);font-size:.9rem;letter-spacing:.05em;margin-bottom:.5em}
.tcard__q{font-size:.97rem;line-height:1.5;color:var(--ink);font-weight:500}
.tcard__who{margin-top:.9em;font-weight:700;font-size:.85rem;color:var(--ink)}
.tcard__v{display:block;margin-top:.25em;font-weight:600;font-size:.75rem;color:var(--ink-soft)}

/* carousel */
.tcarousel{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px);transition:opacity .4s}
.tcarousel.is-fading{opacity:0}
.tc-card{background:#fff}
.tc-card .rcard__metric{color:var(--gold);font-size:1rem;letter-spacing:.08em;margin-bottom:.6em}
.tc-card .rcard__init{background:var(--grad-fire)}
.tc-card .rcard__init::after{display:none}
@media(max-width:900px){.tcarousel{grid-template-columns:1fr}.tcarousel .tc-card:nth-child(n+2){display:none}}

/* sticky CTA */
.stickycta{position:fixed;left:0;right:0;bottom:0;z-index:240;transform:translateY(120%);transition:transform .35s var(--ease);
  background:color-mix(in srgb, var(--ink) 94%, transparent);backdrop-filter:blur(10px);border-top:1px solid rgba(252,244,234,.12);padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom))}
.stickycta.show{transform:translateY(0)}
.stickycta .btn{width:100%}
@media(min-width:861px){.stickycta{display:none}}
/* bottom padding only on pages that still HAVE a sticky bar (tripwire); the
   VSL page's bar was removed so it never covers popups or the calendar */
@media(max-width:600px){body:has(.stickycta){padding-bottom:72px}}

/* footer */
.foot{background:var(--ink);color:rgba(252,244,234,.62);padding:clamp(40px,6vw,64px) 0 40px;font-size:.84rem;line-height:1.7}
.foot__top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid rgba(252,244,234,.12)}
.foot__brand{display:flex;align-items:center;gap:10px;color:var(--cream);font-family:var(--display);text-transform:uppercase;font-size:1.1rem}
.foot__links{display:flex;gap:20px;flex-wrap:wrap}
.foot__links a:hover{color:var(--cream)}
.foot__fine{max-width:880px}
.foot__fine p+p{margin-top:.8em}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.tmarquee__track{animation:none}}

/* VSL cover art: sits over the PRELOADED player, purely visual (clicks pass
   through to the real play button), fades out on first click. No filters,
   no color push, the photo is shown exactly as shot. */
.vfacade--cover{pointer-events:none;transition:opacity .45s ease}
.vfacade--cover.is-off{opacity:0}
.vfacade--cover::before{background:#0a0d14 url("images/vsl-cover.jpg") center 32%/cover no-repeat;filter:none}

/* swapped sections: statline now lives in the light hero, awards in the dark band */
.herox .statline__n{color:var(--ink);-webkit-text-fill-color:var(--ink)}
.herox .statline__l{color:var(--ink-soft)}
.band-dark .award__cap{color:rgba(252,244,234,.66)}

/* fast-then-slow video progress strip (sits under the player, never covers controls) */
.vprog{height:6px;background:rgba(42,6,13,.12);position:relative}
.vprog__fill{position:absolute;top:0;bottom:0;left:0;width:0;background:var(--grad-fire)}

/* 20-minute offer timer: slides in ~10 minutes into the masterclass */
.urgency20{position:fixed;top:14px;right:14px;z-index:250;display:flex;align-items:center;gap:.7em;
  background:#fff;border:1.5px solid var(--cherry);border-radius:60px;padding:.6em 1.2em;
  box-shadow:var(--shadow-sm);transform:translateY(-180%);transition:transform .5s var(--ease)}
.urgency20.show{transform:none}
.urgency20 b{font-family:var(--display);color:var(--red);font-size:1.2rem;font-variant-numeric:tabular-nums}
.urgency20 span{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}
@media(max-width:560px){.urgency20 span{display:none}}

/* press / brand features row */
.logorow--press span{font-size:clamp(1.15rem,2.6vw,1.8rem);opacity:.65}

/* platform trust row shown inside the dark band */
.band-dark .logorow span{color:var(--cream)}

/* red headline words slide in from the left, staggered, after the headline lands */
.herox h1 .fire-text{display:inline-block;opacity:0;transform:translateX(-44px);animation:fireSlide .65s cubic-bezier(.2,.7,.2,1) forwards}
.herox h1 .fire-text:nth-of-type(1){animation-delay:.55s}
.herox h1 .fire-text:nth-of-type(2){animation-delay:.85s}
@keyframes fireSlide{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.herox h1 .fire-text{opacity:1;transform:none;animation:none}}

/* subline highlights in the same red as the headline */
.herox__sub b{color:var(--red)}

/* bigger, emphasized count-up numbers in the hero */
.herox .statline{gap:clamp(20px,5vw,64px)}
.herox .statline__n{font-size:clamp(2.5rem,6.2vw,4.6rem)}
.herox .statline__l{font-size:.92rem}
/* mobile: exactly two rows of two, never a 3+1 wrap */
@media(max-width:600px){
  .herox .statline{display:grid;grid-template-columns:1fr 1fr;gap:22px 12px;max-width:340px;margin-left:auto;margin-right:auto}
  .herox .statline__item{min-width:0}
  .herox .statline__n{font-size:clamp(2.1rem,9.5vw,2.7rem)}
  .herox .statline__l{font-size:.78rem}
}

/* mobile: video players keep their rounded frame but stand TALLER (4:3)
   so they read bigger without going edge-to-edge */
@media(max-width:760px){
  .vembed{aspect-ratio:4/3}
  .ytvid{aspect-ratio:4/3}
}

/* ============================================================
   INSTRUCTOR · stage/audience photo proof + key stats
   ============================================================ */
.instrx__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.2vw,18px);
  width:min(1400px,94vw);position:relative;left:50%;transform:translateX(-50%)}
.instrx__ph{margin:0;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm);aspect-ratio:4/5;background:#160308}
.instrx__ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.instrx__ph:hover img{transform:scale(1.05)}
.instrx .statline__n{color:var(--ink);-webkit-text-fill-color:var(--ink);font-size:clamp(2.3rem,5vw,3.8rem)}
.instrx .statline__l{color:var(--ink-soft)}
@media(max-width:760px){.instrx__grid{grid-template-columns:1fr 1fr;width:100%;left:0;transform:none}
  .instrx .statline{display:grid;grid-template-columns:1fr 1fr;gap:20px 12px;max-width:340px;margin-left:auto;margin-right:auto}
  .instrx .statline__item{min-width:0}}

/* ============================================================
   INSTAGRAM SCROLL-SCRUB · page scroll scrubs a capture of
   Stephen's real Instagram, like scrolling the feed yourself.
   Mobile: full-screen pin. Desktop: framed phone, partial view.
   ============================================================ */
.igscrub{position:relative;height:320vh;background:var(--ink)}
.igscrub__stage{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;gap:clamp(10px,1.6vh,22px)}
.igscrub__head{text-align:center;color:var(--cream);padding:0 20px}
.igscrub__head .eyebrow{color:var(--gold-acc)}
.igscrub__head h2{color:#fff}
.igscrub__phone{position:relative;height:min(72svh,740px);aspect-ratio:416/848;border-radius:26px;overflow:hidden;
  border:1px solid rgba(252,244,234,.2);box-shadow:0 50px 110px -40px rgba(0,0,0,.9)}
.igscrub__phone video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.igscrub__chip{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap;
  font-size:.72rem;font-weight:800;letter-spacing:.05em;color:#fff;background:rgba(0,0,0,.55);
  padding:.45em 1em;border-radius:60px;backdrop-filter:blur(6px)}
.igscrub__hint{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap;
  font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fff;
  background:var(--grad-fire);padding:.55em 1.2em;border-radius:60px;box-shadow:0 12px 30px -10px rgba(165,28,48,.8);
  animation:hintBob 1.6s ease-in-out infinite;transition:opacity .4s}
.igscrub__hint.off{opacity:0}
@keyframes hintBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}
@media(max-width:760px){
  /* heading sits ABOVE the phone (never over the video), and the video
     stays inside a framed phone with the ink background visible around it */
  .igscrub__stage{gap:14px;padding:calc(12px + env(safe-area-inset-top)) 0 calc(12px + env(safe-area-inset-bottom))}
  .igscrub__head h2{font-size:1.28rem;max-width:320px;margin-left:auto;margin-right:auto}
  .igscrub__head .eyebrow{font-size:.62rem}
  .igscrub__phone{height:min(62svh,560px);border-radius:30px;
    border:5px solid rgba(252,244,234,.22);outline:1px solid rgba(0,0,0,.6);
    box-shadow:0 34px 80px -30px rgba(0,0,0,.9)}
  .igscrub__chip{font-size:.64rem;top:10px}
  .igscrub__hint{bottom:12px;font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){
  .igscrub{height:auto}
  .igscrub__stage{position:static;height:auto;padding:56px 0}
  .igscrub__hint{display:none}
}

/* ============================================================
   PLAYABLE PIANO · pick a song, follow the glowing key
   ============================================================ */
.pianox{position:relative;overflow:hidden}
.pianox__songs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:14px}
.songbtn{padding:.8em 1.5em;border-radius:60px;border:1.5px solid var(--line);background:#fff;font-weight:800;
  font-size:.95rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ink);cursor:pointer;
  transition:transform .2s var(--ease),border-color .2s,background .2s,color .2s;box-shadow:var(--shadow-sm)}
.songbtn:hover{transform:translateY(-2px);border-color:var(--cherry)}
.songbtn.is-sel{background:var(--grad-fire);color:#fff;border-color:transparent;box-shadow:0 14px 30px -12px rgba(165,28,48,.7)}
.pianox__status{text-align:center;font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.07em;
  color:var(--ink-soft);margin-bottom:18px;min-height:1.4em}
.pianox__status b{color:var(--red)}
.pianox__stage{max-width:760px;margin:0 auto;background:var(--ink);border-radius:var(--radius);padding:clamp(12px,2vw,20px);
  box-shadow:var(--shadow)}
.pianox__kb{position:relative;display:flex;height:clamp(150px,26vw,220px);gap:4px}
.pkey{position:relative;flex:1;background:#FFFBF4;border-radius:0 0 8px 8px;cursor:pointer;border:1px solid rgba(42,6,13,.18);
  border-top:none;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;
  font-weight:800;font-size:.72rem;color:rgba(42,6,13,.45);user-select:none;-webkit-user-select:none;touch-action:none;
  transition:background .12s,transform .08s}
.pkey:active,.pkey.is-down{background:#F3E7D2;transform:translateY(2px)}
.pkey--black{position:absolute;top:0;width:9%;height:58%;background:#241318;border-radius:0 0 6px 6px;z-index:2;
  color:rgba(252,244,234,.4);border:1px solid #000;box-shadow:0 6px 12px -4px rgba(0,0,0,.6)}
.pkey--black:active,.pkey--black.is-down{background:#3a2026;transform:translateY(2px)}
.pkey.is-target{background:linear-gradient(180deg,#FFE8E6 0%,#FFD3CF 100%);box-shadow:inset 0 -6px 0 var(--red)}
.pkey--black.is-target{background:linear-gradient(180deg,#7a1620,#C20D1C);box-shadow:inset 0 -6px 0 #FF5A4E}
.pkey.is-target::before{content:"";position:absolute;top:-16px;left:50%;transform:translateX(-50%);
  width:12px;height:12px;border-radius:50%;background:var(--red);animation:targetBob 1s ease-in-out infinite;
  box-shadow:0 0 0 5px rgba(245,12,28,.25)}
@keyframes targetBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,5px)}}
.pianox__done{max-width:560px;margin:26px auto 0;text-align:center;background:#fff;border:1.5px solid var(--line);
  border-radius:var(--radius);padding:clamp(20px,3vw,32px);box-shadow:var(--shadow-sm);animation:qualOpen .45s var(--ease)}
.pianox__done-big{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.3rem,3vw,1.9rem);color:var(--ink)}
.pianox__done-big b{color:var(--red)}
.pianox__done-sub{color:var(--ink-soft);margin-top:.4em}
.pianox__confetti{position:absolute;inset:0;pointer-events:none;z-index:5}
@media(max-width:560px){.pianox__kb{height:150px}.pkey{font-size:.6rem;padding-bottom:5px}}

/* ---- real press logos (Featured In & Collaborated With) ---- */
.logorow--press{gap:clamp(30px,5.5vw,70px);row-gap:26px}
.logorow--press .presslogo{display:flex;flex-direction:column;align-items:center;gap:9px;opacity:.8}
.presslogo img{display:block;width:auto}
.presslogo--omega img{height:clamp(46px,5.6vw,64px)}
.presslogo--lofficiel img{height:clamp(17px,2.2vw,26px)}
.presslogo--vogue img{height:clamp(22px,2.8vw,33px)}
.presslogo--gq img{height:clamp(37px,4.6vw,54px)}
.presslogo i{font-style:normal;font-family:var(--display);text-transform:uppercase;font-size:.64rem;letter-spacing:.42em;margin-right:-.42em;color:var(--ink);opacity:.8;line-height:1}
@media(max-width:640px){.logorow--press{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;align-items:center;justify-items:center;column-gap:44px;row-gap:28px}}

/* ---- platform logos (dark band), width-normalized to match press row scale ---- */
.logorow--plat{gap:clamp(28px,4.6vw,58px);row-gap:26px}
.logorow--plat .presslogo{display:flex;flex-direction:column;align-items:center;gap:9px;opacity:.85}
.logorow--plat .presslogo img{height:auto}
.presslogo--tp img{width:clamp(112px,12vw,138px)}
.presslogo--sj img{width:clamp(112px,12vw,138px)}
.presslogo--goog img{width:clamp(86px,9.2vw,106px)}
.presslogo--yt img{width:clamp(108px,11.6vw,132px)}
.presslogo--ig img{width:clamp(96px,10.4vw,120px)}
.logorow--plat .presslogo i{color:var(--cream)}
@media(max-width:640px){
  .logorow--plat{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;align-items:center;justify-items:center;column-gap:40px;row-gap:26px}
  .logorow--plat .presslogo:last-child{grid-column:1/-1}
}

/* ---- mobile awards: laurel on its own row, rosette + coin beneath (fixes badge overlap) ---- */
@media(max-width:520px){
  .awards--hero{flex-wrap:wrap;row-gap:24px;justify-content:space-evenly}
  .awards--hero .award--lead{order:-1;flex:0 0 100%;width:100%}
  .awards--hero .award{width:38%;min-width:0}
  .awards--hero .award--lead .award__seal{width:clamp(148px,42vw,168px)}
  .awards--hero .award__seal{width:clamp(106px,30vw,128px)}
  .awards--hero .award__seal--star .award__num{font-size:1.24rem}
  .awards--hero .award__seal--coin .award__num{font-size:1.42rem}
  .awards--hero .award--lead .award__seal--laurel .award__lbl{font-size:.8rem}
  .awards--hero .award--lead .award__cap{margin-top:14px}
}

/* ============ editorial press pull-quote (London Lifestyle Magazine) ============ */
.pquote-sec{padding:clamp(40px,6vw,84px) 0 clamp(48px,7vw,90px);background:var(--ink)}
.pquote{max-width:780px;margin:0 auto;position:relative}
.pquote__mark{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(4.6rem,11vw,8rem);line-height:1;color:var(--gold-acc);height:.52em;margin:0 auto;user-select:none}
.pquote__text{font-family:var(--serif);font-weight:500;font-size:clamp(1.68rem,4.6vw,3.05rem);line-height:1.2;color:var(--cream);margin:0 auto;max-width:17ch;letter-spacing:-.005em}
.pquote__em{font-style:italic;color:var(--red)}
.pquote__by{display:flex;flex-direction:column;align-items:center;gap:.5em;margin-top:clamp(26px,3.6vw,42px)}
.pquote__by::before{content:"";width:54px;height:2px;border-radius:2px;background:var(--gold-acc);margin-bottom:.8em}
.pquote__mast{font-family:var(--serif);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:clamp(1rem,2vw,1.34rem);color:var(--cream);line-height:1.05}
.pquote__name{font-family:var(--body);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:rgba(252,244,234,.6)}
