/* ==========================================================
   Sfera Akademia: design system v3 (editorial)
   ========================================================== */
:root{
  /* Colors */
  --wine:#4d2331;--wine-hover:#643244;--wine-deep:#3d1b27;
  --rose:#dfc7cc;--rose-soft:#ecdde1;
  --ink:#3a2a2f;--muted:#7d6e72;--line:rgba(77,35,49,.18);
  --paper:#efe8e5;--paper-light:#f7f3f1;--white:#fff;
  --blue:#dcecf2;--blue-ink:#4e6670;

  /* Type */
  --display:'Cormorant Garamond',Georgia,serif;
  --label:'Sofia Sans Condensed','Arial Narrow',Arial,sans-serif;
  --sans:'Inter Tight','Helvetica Neue',Arial,sans-serif;
  --hand:'Marck Script',cursive;
  --fs-h2:clamp(40px,6vw,96px);
  --fs-h3:clamp(22px,2vw,28px);
  --fs-body:15px;
  --fs-sm:14px;
  --fs-xs:12px;

  /* Spacing (4px base) */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --gutter:56px;
  --section:clamp(72px,9vw,140px);
  --header-h:72px;

  --ease:cubic-bezier(.2,.7,.3,1);
}
@media(max-width:1050px){:root{--gutter:32px}}
@media(max-width:760px){:root{--gutter:16px;--header-h:60px}}

/* Base */
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%}
body{margin:0;font-variant-numeric:lining-nums;background:var(--paper);color:var(--ink);font:300 var(--fs-body)/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
a,button,input,select,summary,label{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
::selection{background:var(--rose);color:var(--wine)}
:focus-visible{outline:1px solid var(--wine);outline-offset:4px}
h1,h2,h3,p{margin:0}
h1,h2{font-family:var(--display);font-weight:300;color:var(--wine);text-transform:uppercase}
h3{font-family:var(--display);font-weight:400;color:var(--wine)}
.wrap{width:calc(100% - var(--gutter)*2);max-width:1320px;margin-inline:auto}
.section{padding-block:var(--section)}
.skip{position:fixed;top:-100px;left:12px;z-index:200;background:var(--white);padding:var(--s4)}
.skip:focus{top:10px}
.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* Type roles */
h2{font-size:var(--fs-h2);line-height:.92;letter-spacing:-.01em;margin-bottom:var(--s7)}
h2>span{display:block}
h2 .indent{padding-left:1.4em}
h3{font-size:var(--fs-h3);line-height:1.15}
.label{font:500 var(--fs-xs)/1.2 var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s5)}
.hand{font:400 clamp(28px,3.4vw,52px)/1 var(--hand);color:var(--blue-ink);opacity:.75;transform:rotate(-6deg);pointer-events:none}
.section-head{margin-bottom:var(--s8)}
.section-head h2{margin-bottom:0}

/* ==========================================================
   Buttons: flat, thin border
   ========================================================== */
.button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 var(--s5);background:transparent;color:var(--wine);border:1px solid var(--wine);border-radius:0;font:500 13px/1 var(--label);letter-spacing:.1em;text-transform:uppercase;text-align:center;transition:background .3s,color .3s,border-color .3s}
.button-solid{background:var(--wine);color:var(--white)}
.button-light{background:var(--paper-light);color:var(--wine);border-color:var(--paper-light)}
.button-blue{background:var(--blue);color:var(--wine);border-color:#b9d2dc;font-weight:600;min-height:50px;padding:0 var(--s6)}
.button:disabled{opacity:.6;cursor:wait}
.button-solid,.button-blue,.button-light{animation:btn-pulse 2.8s ease-in-out infinite}
@keyframes btn-pulse{0%,70%,100%{transform:scale(1)}35%{transform:scale(1.035)}}
.button:disabled{animation:none}
@media(hover:hover){
  .button:hover{background:var(--wine);color:var(--white);animation-play-state:paused}
  .button-solid:hover{background:var(--wine-hover);border-color:var(--wine-hover)}
  .button-light:hover{background:var(--blue);border-color:var(--blue);color:var(--wine)}
  .button-blue:hover{background:var(--wine);border-color:var(--wine);color:var(--white)}
}
.ripple{position:absolute;border-radius:50%;pointer-events:none;background:rgba(77,35,49,.12);transform:scale(0);animation:ripple-wave .7s var(--ease) forwards}
.button-solid .ripple{background:rgba(255,255,255,.25)}
@keyframes ripple-wave{to{transform:scale(1);opacity:0}}
/* liquid shader fill (canvas from app.js), brand palette; falls back to the flat colour */
.button[data-shader]{isolation:isolate;border-color:transparent}
.button[data-shader]>.shader{position:absolute;z-index:-2;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);pointer-events:none;transition:opacity .4s cubic-bezier(.4,0,.6,1)}
.button[data-shader]:before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;mix-blend-mode:hard-light;transition:opacity .4s cubic-bezier(.4,0,.6,1)}
.button[data-shader]:after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.24)}
.button[data-shader=wine]:before{box-shadow:inset 0 0 16px rgba(220,236,242,.55)}
.button[data-shader=light]:before{box-shadow:inset 0 0 16px rgba(77,35,49,.28)}
.button[data-shader=light]:after{border-color:rgba(77,35,49,.18)}
@media(hover:hover){
  .button[data-shader]:hover>.shader,.button[data-shader]:hover:before{opacity:.4}
  .button[data-shader=wine]:hover{background:var(--wine)}
  .button[data-shader=light]:hover{background:var(--paper-light);color:var(--wine)}
}

/* ==========================================================
   Header and menu
   ========================================================== */
.header{position:sticky;top:0;z-index:50;background:rgba(239,232,229,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-in{height:var(--header-h);display:flex;align-items:center;gap:var(--s6)}
.brand{display:inline-flex;flex-direction:column;align-items:center;font:34px/.8 var(--display);letter-spacing:-.06em;color:var(--wine);margin-right:auto}
.brand span{font:500 8px/1 var(--label);letter-spacing:.42em;margin-top:6px;padding-left:4px}
.header nav{display:flex;gap:var(--s6);font:500 var(--fs-xs) var(--label);letter-spacing:.1em;text-transform:uppercase}
.header nav a{padding:var(--s2) 0;transition:opacity .2s}
@media(hover:hover){.header nav a:hover{opacity:.55}}
.header-cta{min-height:38px;padding:0 var(--s4);font-size:12px}
.menu-toggle,.menu-close{display:none}

/* ==========================================================
   Hero
   ========================================================== */
.hero{position:relative;overflow:hidden;--u:min(1vw,14.4px)}
/* layout from Figma "Hero · Desktop 1440": photo bleeds left and fades out, copy sits on the right */
.hero-in{display:grid;grid-template-columns:56.44% 1fr;align-content:start;min-height:max(calc(100svh - var(--header-h)),calc(56.3 * var(--u)));padding-block:clamp(48px,5.35vw,77px) var(--s8)}
.hero-label{grid-column:2;margin-bottom:var(--s5)}
.hero h1{grid-column:2;font-size:clamp(44px,5.4vw,78px);line-height:.9;letter-spacing:-.015em;margin-bottom:var(--s6)}
.hero h1 span{display:block;white-space:nowrap}
.hero h1 .l2{padding-left:1.1em}
.hero h1 .l3{padding-left:.45em}
.hero-copy{grid-column:2;display:flex;flex-direction:column}
.hero-desc{font-size:17px;max-width:460px;margin-bottom:clamp(32px,4.5vw,65px)}
.hero-copy .button{align-self:flex-end;width:84.5%;min-height:clamp(58px,6.2vw,89px);padding:0 var(--s7);font-size:14px}
.hero-label,.hero h1,.hero-copy{position:relative;z-index:1}
/* positions are the Figma 1440 canvas, scaled down below 1440 and centred above it */
.hero-figure{position:absolute;z-index:0;margin:0;left:calc(50% - 60.28 * var(--u));top:calc(-13.54 * var(--u));width:calc(75.76 * var(--u));aspect-ratio:1091/1322}
.hero-figure>img{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover}
.hero-reel{display:none}
.hero-figure:after{content:'';position:absolute;z-index:2;inset:0;background:linear-gradient(to bottom,rgba(239,232,229,0) 54.4%,var(--paper) 76.1%)}

/* ==========================================================
   Audience
   ========================================================== */
.audience{background:var(--paper-light)}
.audience-in{max-width:980px}
.audience-in{max-width:1320px}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.audience-grid article{background:var(--white);padding:var(--s6);box-shadow:0 30px 60px -50px rgba(77,35,49,.45)}
.icon{display:grid;place-items:center;width:64px;height:64px;background:var(--blue);color:var(--wine);margin-bottom:var(--s5)}
.icon.num{width:44px;height:44px;margin-bottom:var(--s4);font:600 20px/1 var(--display);font-variant-numeric:lining-nums;letter-spacing:.02em}
.audience-grid p{font-size:17px;line-height:1.55;color:var(--ink)}
.audience-foot{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s4);padding:var(--s5) var(--s6);background:var(--blue);font-size:var(--fs-sm);color:var(--ink)}
.audience-foot svg{width:26px;height:26px;flex:none;fill:none;stroke:var(--wine);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}

/* ==========================================================
   Programs: photo first, description after
   ========================================================== */
.course-list{display:grid;gap:var(--s6)}
.course{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;background:var(--white);box-shadow:0 30px 60px -50px rgba(77,35,49,.45)}
.course-photo{position:relative;margin:var(--s4);margin-right:0;min-height:420px;overflow:hidden;background:var(--rose-soft)}
.course-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
@media(hover:hover){.course:hover .course-photo img{transform:scale(1.03)}}
.course:nth-child(1) .course-photo img{object-position:50% 55%}
.course:nth-child(4) .course-photo img{object-position:50% 60%}
.course-body{display:flex;flex-direction:column;padding:var(--s7) var(--s7) var(--s6)}
.course h3{font-size:clamp(28px,2.8vw,40px);font-weight:600;line-height:1.05;letter-spacing:-.005em;margin-bottom:var(--s5)}
.course-body>p{font-size:var(--fs-sm);color:var(--muted);max-width:560px;margin-bottom:var(--s3)}
.course-body>.gift{display:flex;align-items:center;gap:var(--s3);margin:var(--s2) 0 0;padding:var(--s3) var(--s4);background:var(--blue);color:var(--wine);font-weight:500}
.gift svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.course-body>:nth-last-child(2){margin-bottom:var(--s6)}
.course-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--s5);border-top:1px solid var(--line);padding-top:var(--s5)}
.course-foot strong{font:600 clamp(28px,2.8vw,40px)/1 var(--display);font-variant-numeric:lining-nums;color:var(--wine)}
.program-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--s6);margin-top:var(--s7)}
.program-footer p{font-size:var(--fs-sm);max-width:540px}
.program-footer small{display:block;color:var(--muted);font-size:var(--fs-xs);margin-top:var(--s2)}

/* ==========================================================
   Approach (blue)
   ========================================================== */
.approach{background:var(--blue)}
.approach .label{color:var(--blue-ink)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}
.steps article{border-top:1px solid rgba(77,35,49,.25);padding-top:var(--s4)}
.steps h3{font-size:clamp(28px,2.6vw,40px);font-weight:600;margin:var(--s2) 0 var(--s3)}
.steps p{font-size:var(--fs-sm);color:var(--ink)}
.included{margin:var(--s8) 0 var(--s6)}
.included-title{font-size:clamp(36px,3.8vw,56px);font-weight:600;line-height:1;letter-spacing:-.005em;color:var(--wine);margin:0 0 var(--s6)}
.included ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.included li{display:flex;flex-direction:column;gap:var(--s5);background:var(--white);padding:var(--s6) var(--s5);font:400 clamp(19px,1.6vw,23px)/1.2 var(--display);color:var(--wine)}
.inc-icon{display:grid;place-items:center;width:56px;height:56px;border:1px solid rgba(77,35,49,.25);border-radius:50%;color:var(--wine)}
.inc-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}

/* ==========================================================
   Mentor
   ========================================================== */
.mentor-in{display:grid;grid-template-columns:.9fr 1fr;gap:var(--s9);align-items:center}
.mentor-photo{margin:0;padding:var(--s3);border:1px dashed rgba(77,35,49,.45)}
.mentor-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%}
.mentor-copy{position:relative}
.mentor h2{margin-bottom:var(--s3)}
.mentor-hand{display:inline-block;font-size:clamp(26px,2.6vw,38px);margin:0 0 var(--s6) 1.6em}
.credentials{list-style:none;padding:0;margin:0 0 var(--s6);display:grid;gap:var(--s2)}
.credentials li{position:relative;padding-left:var(--s5);font-size:var(--fs-sm)}
.credentials li:before{content:'';position:absolute;left:2px;top:.6em;width:5px;height:5px;background:var(--wine)}

/* Details (shared) */
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s4);min-height:64px;padding:var(--s3) 0;cursor:pointer;font:400 clamp(19px,1.7vw,24px)/1.25 var(--display);color:var(--wine)}
summary::-webkit-details-marker{display:none}
summary>span{position:relative;width:14px;height:14px;flex:none}
summary>span:before,summary>span:after{content:'';position:absolute;left:0;top:50%;width:100%;height:1px;background:var(--wine);transition:transform .3s var(--ease)}
summary>span:after{transform:rotate(90deg)}
details[open]>summary>span:after{transform:rotate(0)}
details[open]>summary~*{animation:reveal-down .4s var(--ease)}
@keyframes reveal-down{from{opacity:0;transform:translateY(-6px)}}

/* ==========================================================
   Results gallery
   ========================================================== */
.results{background:var(--paper-light);--track-pad:max(var(--gutter),calc((100vw - 1320px)/2))}
.results .section-head{margin-bottom:var(--s7)}
.results-track{position:relative;display:flex;gap:var(--s4);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-inline:var(--track-pad);scroll-padding-inline:var(--track-pad);scrollbar-width:none}
.results-track::-webkit-scrollbar{display:none}
.result{position:relative;flex:none;height:clamp(340px,34vw,460px);margin:0;scroll-snap-align:start;background:var(--white);padding:var(--s2);border:1px dashed rgba(77,35,49,.35)}
.result img{height:100%;width:auto;max-width:none}
.result span{position:absolute;top:var(--s4);padding:6px 10px;background:rgba(255,255,255,.9);color:var(--wine);font:500 11px var(--label);letter-spacing:.1em;text-transform:uppercase}
.tag-before{left:var(--s4)}
.tag-after{right:var(--s4)}
.results-bar{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s5)}
.results-count{font:500 var(--fs-xs) var(--label);letter-spacing:.08em;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}
.results-count b{font-weight:500;color:var(--wine)}
.results-progress{flex:1;height:1px;background:var(--line);overflow:hidden}
.results-progress i{display:block;height:100%;width:0;background:var(--wine)}
.results-progress i.run{animation:results-progress 4s linear forwards}
@keyframes results-progress{to{width:100%}}

/* ==========================================================
   FAQ
   ========================================================== */
.faq-in{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--s8)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list p{font-size:var(--fs-sm);color:var(--muted);max-width:560px;padding-right:var(--s6);margin-bottom:var(--s5)}

/* ==========================================================
   Application form + footer (dark wine)
   ========================================================== */
.application{background:var(--wine-deep);color:var(--rose-soft);padding-bottom:0}
.application-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--s9);align-items:start;padding-bottom:var(--section)}
.application .label{color:var(--rose)}
.application h2{color:var(--paper-light);margin-bottom:var(--s5)}
.application .h2-long{font-size:clamp(28px,3.2vw,48px);line-height:1.05;text-transform:none}
.application-desc{font-size:var(--fs-sm);color:var(--rose);max-width:400px}
form>label{display:block;font:500 11px var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--rose);margin-bottom:var(--s1)}
form>input,form>select,.iti input#phone{display:block;width:100%;height:52px;background:transparent;color:var(--white);border:0;border-bottom:1px solid rgba(255,255,255,.28);border-radius:0;padding:var(--s2) 0;margin-bottom:var(--s5);font-size:16px;transition:border-color .3s}
form>input:focus,form>select:focus,.iti input#phone:focus{outline:none;border-bottom-color:var(--white)}
form input::placeholder{color:#a98a95}
form>select{appearance:none;-webkit-appearance:none;cursor:pointer;color:#f2e6ea;padding-right:var(--s6);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f7f1ee' stroke-width='1.2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;background-size:18px}
form option{background:var(--wine);color:var(--white)}
form>select.picked{animation:field-pick 1.1s ease}
@keyframes field-pick{0%,40%{background-color:rgba(220,236,242,.16);border-bottom-color:var(--white)}100%{background-color:transparent}}
.consent{display:flex;align-items:flex-start;gap:var(--s3);margin:var(--s2) 0 var(--s5);font-size:var(--fs-xs);line-height:1.55;color:var(--rose);cursor:pointer}
.consent input{width:16px;height:16px;margin:2px 0 0;accent-color:#cda4b2;flex:none;cursor:pointer}
form .button-light{width:100%}
#form-status{font-size:var(--fs-sm);margin-top:var(--s3)}
#form-status:empty{display:none}
.form-alternative{font-size:var(--fs-xs);color:var(--rose);margin-top:var(--s4)}
.form-alternative a{text-decoration:underline;text-underline-offset:4px}

/* Phone field (intl-tel-input) */
.iti{display:block;width:100%;margin-bottom:var(--s5);--iti-path-flags-1x:url('/assets/flags.webp');--iti-path-flags-2x:url('/assets/flags@2x.webp');--iti-path-globe-1x:url('/assets/globe.webp');--iti-path-globe-2x:url('/assets/globe@2x.webp');--iti-border-color:#94717f;--iti-dialcode-color:#75656b;--iti-hover-color:#eaf2f5;--iti-spacer-horizontal:12px}
.iti input#phone{margin-bottom:0}
.iti__selected-country{color:var(--white)}
.iti__selected-country-primary{background:transparent}
.iti__selected-dial-code{font-size:16px}
.iti__arrow{border-top-color:var(--white)}
.iti__arrow--up{border-bottom-color:var(--white)}
.iti__dropdown-content{color:var(--ink);background:var(--white);border-radius:0}
.iti__search-input{color:var(--ink);background:var(--white);min-height:48px;font-size:16px}
.iti__search-input::placeholder{color:var(--muted)}
.iti__country{font-size:var(--fs-sm);min-height:44px}
.iti__country-name{white-space:normal}

.footer-in{display:flex;justify-content:space-between;align-items:center;gap:var(--s5);padding-block:var(--s6);border-top:1px solid rgba(255,255,255,.14);font:500 var(--fs-xs) var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--rose)}
.footer-in .brand{color:var(--paper-light);margin-right:0;text-transform:none;letter-spacing:-.06em}
.footer-in>a:not(.brand){min-height:44px;display:inline-flex;align-items:center}

/* ==========================================================
   Scroll reveal
   ========================================================== */
.js-reveal :is(.course,.audience-grid article,.steps article,.included li,.faq-list details){opacity:0;transform:translateY(16px);transition:opacity .9s ease var(--d,0ms),transform .9s ease var(--d,0ms)}
.js-reveal :is(.course,.audience-grid article,.steps article,.included li,.faq-list details).in{opacity:1;transform:none}

/* ==========================================================
   Tablet
   ========================================================== */
@media(max-width:1050px){
  .included ul{grid-template-columns:1fr 1fr}
  .header nav{gap:var(--s5)}
  .course{grid-template-columns:1fr 1.2fr}
  .course-body{padding:var(--s6)}
  .mentor-in{gap:var(--s7)}
  .application-grid{gap:var(--s7)}
}
@media(max-width:900px){
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:0 0 0 14px;background:none;border:0}
  .menu-toggle i{display:block;width:26px;height:1px;background:var(--wine)}
  .header nav{display:none;position:fixed;inset:0;z-index:100;flex-direction:column;justify-content:center;gap:var(--s3);min-height:100dvh;padding:96px 28px 48px;background:var(--paper);overflow-y:auto}
  .header nav.open{display:flex;animation:menu-in .35s var(--ease)}
  .header nav>a{font:300 40px/1.1 var(--display);letter-spacing:0;color:var(--wine);padding:var(--s1) 0}
  .menu-close{display:block;position:absolute;top:var(--s4);right:var(--s4);min-height:44px;padding:0 var(--s3);background:none;border:0;color:var(--wine);font:500 var(--fs-xs) var(--label);letter-spacing:.1em;text-transform:uppercase}
  .menu-open{overflow:hidden}
}

/* ==========================================================
   Mobile
   ========================================================== */
@media(max-width:760px){
  h2{margin-bottom:var(--s6)}
  h2 .indent{padding-left:.9em}
  .section-head{margin-bottom:var(--s7)}
  .button{width:100%}
  .header-in{gap:var(--s3)}
  .brand{font-size:30px}
  .brand span{font-size:7px;letter-spacing:.36em}
  .header-cta{width:auto;min-height:34px;padding:0 var(--s3);font-size:11px}

  /* Hero */
  .hero-in{display:flex;flex-direction:column;min-height:0;padding-block:0 var(--s7)}
  .hero-label{margin-bottom:var(--s3);font-size:11px}
  .hero h1{font-size:min(calc((100vw - var(--gutter)*2) / 8.4),52px);margin-bottom:var(--s3)}
  .hero h1 .l2{padding-left:.8em}
  .hero h1 .l3{padding-left:0}
  .hero-desc{font-size:15px;max-width:none;margin-bottom:var(--s4)}
  .hero-copy .button{align-self:stretch;width:100%;min-height:50px;padding:0 var(--s5);font-size:13px}
  /* Figma "Hero · Mobile 375": photo on top, wider than the screen, fading into the copy */
  .hero-figure{order:-1;position:relative;left:auto;top:auto;width:118.4vw;margin:calc(-1 * var(--header-h) - 3.47vw) 0 -42.13vw calc(-13.07vw - var(--gutter));aspect-ratio:444/538}
  /* muted, endless strip of programme cards behind Iryna; the sides melt into a blur */
  .hero-reel{display:block;position:absolute;z-index:0;left:11.04%;top:18%;width:84.46%;height:54%;overflow:hidden;opacity:.8;filter:saturate(.65) brightness(.9);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%);mask-image:linear-gradient(to bottom,transparent,#000 22%)}
  .reel-card :is(b,p,.reel-price,.reel-btn){filter:blur(1.6px)}
  .hero-reel-track{display:flex;align-items:flex-start;width:max-content;padding-top:14px;animation:hero-reel 36s linear infinite}
  .reel-card{flex:none;width:168px;margin-right:12px;padding:6px 6px 10px;background:var(--white);display:flex;flex-direction:column;box-shadow:0 18px 30px -24px rgba(77,35,49,.5)}
  .reel-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
  .reel-card b{font:600 13px/1.15 var(--display);color:var(--wine);margin:8px 4px 5px}
  .reel-card p{font-size:7.5px;line-height:1.5;color:var(--muted);margin:0 4px 8px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .reel-price{font:600 16px/1 var(--display);color:var(--wine);margin:0 4px 7px;padding-top:7px;border-top:1px solid var(--line)}
  .reel-btn{margin:0 4px;padding:6px 0;text-align:center;background:var(--blue);border:1px solid #b9d2dc;font:600 7px/1 var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--wine)}
  .hero-reel:before,.hero-reel:after{content:'';position:absolute;z-index:1;top:0;bottom:0;width:22%;pointer-events:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
  .hero-reel:before{left:0;background:linear-gradient(to right,var(--paper),rgba(239,232,229,0));-webkit-mask-image:linear-gradient(to right,#000 30%,transparent);mask-image:linear-gradient(to right,#000 30%,transparent)}
  .hero-reel:after{right:0;background:linear-gradient(to left,var(--paper),rgba(239,232,229,0));-webkit-mask-image:linear-gradient(to left,#000 30%,transparent);mask-image:linear-gradient(to left,#000 30%,transparent)}

  /* Sections */
  .audience-grid{grid-template-columns:1fr;gap:var(--s3)}
  .audience-grid article{padding:var(--s5)}
  .icon{width:56px;height:56px;margin-bottom:var(--s4)}
  .audience-foot{align-items:flex-start;padding:var(--s4)}
  .course{grid-template-columns:1fr}
    .course-photo{margin:var(--s3) var(--s3) 0;min-height:0;aspect-ratio:4/3}
  .course-body{padding:var(--s5) var(--s4) var(--s5)}
  .course-foot{flex-direction:column;align-items:stretch;gap:var(--s4)}
  .program-footer{flex-direction:column;align-items:stretch;gap:var(--s4)}
  .steps{grid-template-columns:1fr;gap:var(--s5)}
  .included{margin:var(--s7) 0 var(--s5)}
  .included ul{grid-template-columns:1fr 1fr;gap:var(--s2)}
  .included li{padding:var(--s4);gap:var(--s4);font-size:18px}
  .inc-icon{width:46px;height:46px}
  .inc-icon svg{width:22px;height:22px}
  .mentor-in{grid-template-columns:1fr;gap:var(--s6)}
  .mentor-hand{display:none}
  .mentor h2{margin-bottom:var(--s5)}
  .result{height:min(340px,calc(100vw - var(--gutter)*2))}
  .faq-in{grid-template-columns:1fr;gap:0}
  .application-grid{grid-template-columns:1fr;gap:var(--s6)}
  .footer-in{flex-wrap:wrap;gap:var(--s3) var(--s4)}
  .footer-in>span{margin-left:auto}
}
@keyframes menu-in{from{opacity:0}}
@keyframes hero-reel{to{transform:translateX(-50%)}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .js-reveal :is(.course,.audience-grid article,.steps article,.included li,.faq-list details){opacity:1;transform:none}
}
