/* Erenext Display: Quantico with added Turkish letters, for headings (see assets/fonts/OFL-Erenext-Display.txt).
   DM Sans: running text and interface (see assets/fonts/OFL-DM-Sans.txt). */
@font-face{font-family:'Erenext Display';src:url('/assets/fonts/erenext-display-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Erenext Display';src:url('/assets/fonts/erenext-display-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}

:root{
  /* Brand: kiraz #B3123E, grafit #1F2226, kagit #F2F1F0, tas #E9E8E4. Kiraz carries white text; on grafit, accents are white. */
  --brand:#b3123e;--brand-hi:#9e0f36;--brand-text:#b3123e;--brand-ink:#9e0f36;--on-brand:#fff;
  --bg:#f2f1f0;--bg-soft:#e9e8e4;--surface:#fff;
  --ink:#1f2226;--nav:#33363b;--body:#55585d;--dark:#1f2226;--line:#dcdbd6;--dark-line:#3a3d42;--dark-text:#c9cbce;
  --pad-l:clamp(20px,9vw,118px);
  --radius:16px;--radius-sm:12px;--radius-lg:24px;
  --shadow:0 1px 2px rgba(31,34,38,.06),0 24px 48px -28px rgba(31,34,38,.32);
  --display:'Erenext Display','Arial Narrow',sans-serif;
  color-scheme:light
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:40px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.7 'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
a{color:var(--nav);text-decoration:none}
a:hover{color:#000}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
img,video{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.01em;line-height:.98;color:var(--ink)}
h1{font-size:clamp(40px,6.4vw,80px)}
h2{font-size:clamp(32px,4.6vw,56px)}
h3{font-size:1.3rem;line-height:1.1}
p{color:var(--body)}
p+p{margin-top:18px}
p,a,h1,h2,h3,dd{overflow-wrap:anywhere}
[hidden]{display:none!important}
::selection{background:var(--brand);color:var(--on-brand)}
:focus-visible{outline:2px solid var(--dark);outline-offset:4px}
.accent{color:var(--brand-text)}
.frame{width:min(calc(100% - 112px),1280px);margin-inline:auto}
.kicker{display:flex;align-items:center;gap:14px;font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:24px}
.kicker::before{content:'';width:22px;height:2px;background:var(--brand);flex:0 0 22px}
.intro{font-size:1.0625rem;line-height:1.75;color:var(--body);max-width:570px}
/* Visually hidden until focused: iOS Safari paints the area above the viewport, so moving it off screen is not enough. */
.skip{position:fixed;z-index:200;left:20px;top:12px;background:var(--brand);color:var(--on-brand);padding:12px 20px;border-radius:var(--radius-sm)}
.skip:not(:focus){width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%)}

/* Buttons: rounded like the karo tile, solid so they always read as clickable */
.button{max-width:100%;display:inline-flex;align-items:center;gap:14px;background:var(--brand);color:var(--on-brand);border:1px solid var(--brand);font-weight:600;letter-spacing:.01em;padding:17px 28px;font-size:clamp(15px,2.2vw,17px);line-height:1.2;text-align:left;border-radius:var(--radius-sm);transition:background .2s,border-color .2s,color .2s}
.button::after{content:'';flex:0 0 18px;width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s}
.button:hover{background:var(--brand-hi);border-color:var(--brand-hi);color:var(--on-brand)}
.button:hover::after{transform:translate(2px,-2px)}
.button:focus-visible{outline:2px solid var(--dark);outline-offset:3px}
.button.dark{background:var(--dark);border-color:var(--dark);color:#fff;box-shadow:none}
.button.dark:hover{background:#2f3336;color:#fff}
.button.dark:focus-visible{outline-color:#fff}
.button.small{padding:12px 20px;font-size:15px}
.button.ghost{background:transparent;border-color:#777;color:#fff;box-shadow:none}
.button.ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.button:disabled{opacity:.65;cursor:wait}
.text-link{display:inline-flex;max-width:100%;gap:14px;align-items:center;min-height:48px;border-bottom:2px solid var(--brand);font-size:1rem;font-weight:600;color:var(--ink)}
.text-link>span{display:inline-flex;transition:transform .25s}
.text-link:hover>span{transform:translate(3px,-3px)}
.icon-arrow{display:block;width:20px;height:20px;flex:0 0 20px;overflow:visible;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Navigation */
.site-header{position:relative;z-index:30}
.home .site-header{position:absolute;top:0;left:0;right:0}
/* Logo left, links centred on the page, contact right; text sits on the wordmark baseline. */
.nav-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:32px;padding:clamp(20px,3vw,38px) clamp(20px,4vw,48px) 0}
.nav-row>.brand{grid-column:1;grid-row:1;justify-self:start}
.nav-row>.nav{grid-column:2;grid-row:1}
.nav-row>.nav-end{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:22px}
.nav-row>.menu-toggle{grid-column:3;grid-row:1}
.site-header .brand img{height:44px}
.brand{display:flex;align-items:center;flex-shrink:0;line-height:1}
.brand img{height:40px;width:auto}
.nav{display:flex;align-items:center;gap:34px}
.nav a{display:flex;align-items:center;min-height:44px;font-weight:500;font-size:clamp(14px,2.4vw,16px);color:var(--nav);white-space:nowrap;text-decoration:underline 2px transparent;text-underline-offset:8px;transition:color .2s,text-decoration-color .2s}
.nav a:hover{color:#000}
.nav a[aria-current=page]{color:#000;text-decoration-color:var(--brand)}
.nav .nav-mobile{display:none}
.nav-contact{display:inline-flex;white-space:nowrap;align-items:center;gap:12px;background:var(--dark);border:0;color:#fff;font-weight:600;font-size:15px;line-height:1.2;padding:13px 20px;border-radius:var(--radius-sm);transition:background .2s,color .2s}
.nav-contact svg{width:17px;height:13px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.4}
.nav-contact:hover{background:var(--brand);color:var(--on-brand)}
.nav-contact:focus-visible{outline:2px solid var(--dark);outline-offset:3px}
.menu-toggle{display:none;align-self:center;justify-self:end;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:48px;min-height:48px;padding:12px;border:0;background:transparent}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--dark);transition:transform .25s,opacity .2s}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Home hero: copy on the left, the karo on the right. The karo is a still image until karo.js
   swaps in the live 3D tile (skipped for reduced motion and without WebGL). */
.hero{position:relative;background:var(--bg);overflow:hidden;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center;gap:clamp(24px,4vw,64px);padding:calc(clamp(20px,3vw,38px) + 88px) max(clamp(20px,4vw,64px),calc((100% - 1280px) / 2)) clamp(36px,4vw,56px)}
.hero-copy{min-width:0}
.hero h1{margin:0;font-size:clamp(38px,5vw,76px)}
.hero h1 .accent{display:block}
.hero-intro{margin-top:clamp(20px,2.4vw,30px);max-width:540px;font-size:clamp(16px,1.4vw,18px);line-height:1.65;color:var(--body)}
.hero-cta{margin-top:clamp(26px,3vw,38px)}
.hero-karo{position:relative;width:100%;max-width:620px;aspect-ratio:1;justify-self:end}
.hero-karo img,.hero-karo canvas{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 46px 40px rgba(60,20,30,.26))}
.hero-karo canvas{opacity:0;transition:opacity .35s}
.hero-karo.is-live canvas{opacity:1}
.hero-karo.is-live img{visibility:hidden}
.hero-karo img{animation:karo-in .5s .3s both}
.hero-karo.is-pending img{animation:none;opacity:0}
@keyframes karo-in{from{opacity:0}to{opacity:1}}
.stair>span{display:inline}

/* Home about */
.about-home{background:var(--surface);padding-block:clamp(64px,9vw,128px)}
.about-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,6vw,96px);align-items:start}
.about-home h2{font-size:clamp(34px,5.4vw,68px)}
.about-copy p{max-width:600px;font-size:clamp(16px,1.6vw,18px);line-height:1.75;color:var(--body)}
.about-copy .button{margin-top:32px}

/* Service selector */
.format-section{padding-block:clamp(60px,8vw,110px);background:var(--bg)}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:50px;margin-bottom:42px}
.section-heading .kicker{margin:6px 0 0}
.format-tabs{display:flex;width:fit-content;max-width:100%;padding:6px;border:1px solid var(--line);gap:4px;margin-bottom:26px;background:var(--surface);border-radius:var(--radius)}
.format-tabs button{border:0;background:transparent;padding:13px 22px;color:var(--nav);font-size:.9375rem;font-weight:600;min-height:48px;border-radius:var(--radius-sm);transition:background .2s,color .2s}
.format-tabs button:hover{color:#000}
.format-tabs button[aria-selected=true]{background:var(--dark);color:#fff}
.format-tabs button:focus-visible{outline-offset:-4px}
.format-stage{overflow:hidden;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.format-stage>section{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr);min-height:360px}
.format-copy{padding:44px 48px}
.format-number{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--body)}
.format-copy h3{font-size:clamp(26px,3vw,40px);line-height:.98;margin-top:22px;max-width:620px}
.format-copy p{font-size:1rem;line-height:1.75;max-width:590px;margin-top:22px}
.format-copy .text-link{margin-top:25px}
.format-spec{background:var(--brand);padding:40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;color:var(--on-brand)}
.spec-label{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.format-spec strong{font-family:var(--display);font-size:2rem;line-height:1;text-transform:uppercase;font-weight:700}
.format-spec>span:not(.spec-label){font-size:1.0625rem}
.round-link{display:grid;place-items:center;border:1px solid var(--on-brand);width:58px;height:58px;margin-top:10px;color:var(--on-brand);border-radius:50%;transition:background .2s,color .2s}
.round-link:hover{background:var(--on-brand);color:var(--brand)}
.round-link .icon-arrow{width:24px;height:24px}
.round-link:focus-visible{outline-color:var(--on-brand);outline-offset:3px}

/* Closing band */
.closing{background:var(--brand);color:var(--on-brand);padding-block:clamp(50px,6vw,80px)}
.closing>.frame{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:48px;align-items:center}
.closing h2,.closing .kicker{grid-column:1;color:var(--on-brand)}
.closing .kicker::before{background:var(--on-brand)}
.closing h2{font-size:clamp(32px,4.6vw,56px)}
.closing .kicker{margin-bottom:18px}
.closing .button{grid-column:2;grid-row:1/3;justify-self:end}

/* Inner page openings */
h1 br+span{color:var(--brand-text)}
.service-opening{padding-block:clamp(50px,7vw,100px) 70px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:75px;align-items:center}
.service-opening .intro{margin-top:30px}
.service-opening .button{margin-top:32px}
.service-art{height:490px;position:relative;overflow:hidden}
.service-art figcaption{position:absolute;left:0;bottom:12px;color:var(--body);font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.fact-band{background:var(--brand);color:var(--on-brand);padding-block:32px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.facts dt{font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.facts dd{font-family:var(--display);font-size:1.35rem;line-height:1.3;font-weight:700;text-transform:uppercase;color:inherit}
.service-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:85px;padding-block:clamp(60px,7vw,100px);align-items:start}
.service-body h2{margin-bottom:28px}
.service-body p{font-size:1rem;line-height:1.8;max-width:610px}
.steps{list-style:none;margin:0;padding:0}
.steps li{display:flex;gap:26px;padding:24px 0;border-top:1px solid var(--line)}
.steps li>span{font-size:.875rem;font-weight:700;color:var(--brand-ink);padding-top:2px;flex:0 0 28px}
.steps li>div{min-width:0}
.steps h3{font-size:1.2rem}
.steps p{margin-top:12px;font-size:1rem}
.live-opening{padding:clamp(50px,7vw,100px) 0 45px}
.live-opening h1{font-size:clamp(44px,7.4vw,96px);max-width:1000px}
.live-intro{display:flex;justify-content:space-between;align-items:center;gap:60px;margin-top:40px}
.live-intro p{max-width:650px;font-size:1.0625rem;line-height:1.8}
.live-intro .button{flex-shrink:0}
.curriculum-strip{display:flex;align-items:baseline;gap:45px;border-top:1px solid var(--line);margin-top:50px;padding-top:30px}
.curriculum-strip>span{font-family:var(--display);font-size:2rem;font-weight:700;text-transform:uppercase;color:var(--ink)}
.curriculum-strip>p{margin-left:auto;font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.booking-spec{background:var(--surface);padding:38px;border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.booking-spec>span{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.booking-spec>strong{display:block;font-family:var(--display);font-size:4rem;font-weight:700;line-height:1;margin-block:18px 10px;color:var(--ink)}
.booking-spec>.facts{grid-template-columns:1fr;margin-top:30px;gap:20px}
.booking-spec .facts>div{border-top:1px solid var(--line);padding-top:16px}
.booking-spec .facts dd{font-size:1rem}
.consulting-opening{padding-block:clamp(50px,7vw,100px) 55px}
.consulting-opening h1{font-size:clamp(38px,6vw,80px)}
.consulting-intro{display:flex;justify-content:space-between;gap:65px;align-items:center;margin-top:40px}
.consulting-intro p{max-width:680px;font-size:1.0625rem;line-height:1.8}
.consulting-intro .button{flex-shrink:0}
.roadmap-row{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:28px 32px;margin-top:50px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.roadmap-row>span:nth-child(even){color:var(--brand-ink)}
.consulting-scope{background:var(--dark);color:#fff}
.consulting-scope h2,.consulting-scope h3,.consulting-scope .kicker{color:#fff}
.consulting-scope p{color:var(--dark-text)}
.consulting-scope .steps li{border-color:var(--dark-line)}
.consulting-scope .steps li>span{color:#fff}
.consulting-scope :focus-visible{outline-color:#fff}
.about-opening{padding-block:clamp(50px,7vw,100px) 65px}
.about-opening .intro{margin-top:32px;max-width:770px}
.contact-opening{padding-block:clamp(50px,7vw,100px) 90px}
.contact-opening h1{font-size:clamp(48px,7.4vw,96px)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:48px}
.contact-layout .intro+.intro{margin-top:18px}
.contact-layout .button{margin-top:30px}
.contact-note{font-size:.875rem;margin-top:15px}
.contact-book{border-top:1px solid var(--line);padding-top:25px;display:flex;flex-direction:column;gap:22px}
.contact-book>a:first-child{font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:700;line-height:1.3;display:flex;gap:25px;justify-content:space-between;align-items:center;color:var(--ink)}
.contact-book>a:first-child>span{color:var(--brand-ink);display:inline-flex}
.contact-book>a:nth-child(2),.contact-book>.contact-whatsapp{font-size:1.2rem;min-height:44px;color:var(--ink)}
.contact-book>.contact-whatsapp{margin-top:-22px;color:var(--brand-ink);text-decoration:underline;text-underline-offset:5px}
.contact-book address{font-style:normal;color:var(--body);line-height:1.8}
.contact-book strong{color:var(--ink)}
.service-detail{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.service-detail h3{margin-bottom:12px}
.service-detail p{margin-top:0}
.consulting-scope .service-detail{border-color:var(--dark-line)}
.service-opening>*,.contact-layout>*,.footer-top>*{min-width:0}

/* Footer */
.footer{background:var(--dark);color:#fff;padding-top:48px}
.footer a{color:#fff}
.footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.footer :focus-visible{outline-color:#fff}
.footer-top{display:grid;grid-template-columns:.65fr 1fr 1.5fr;align-items:end;align-items:last baseline;gap:40px;padding-bottom:32px}
.footer-top>.brand{justify-self:start}
.footer .brand img{height:44px}
.footer-top p{font-family:var(--display);font-size:1.25rem;line-height:1.1;color:#fff;text-transform:uppercase;letter-spacing:.02em;font-weight:700}
.footer-mail{justify-self:end;font-size:clamp(1.2rem,2.2vw,1.9rem);font-weight:700;display:flex;align-items:center;gap:25px}
.footer-mail span{color:#fff;display:inline-flex}
.footer-middle{display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid var(--dark-line);padding-block:27px;color:var(--dark-text);font-size:.875rem}
.footer-middle address{font-style:normal;line-height:1.9}
.footer-middle strong{color:#fff}
.footer-phone{display:flex;flex-wrap:wrap;gap:0 22px}
.footer nav{display:flex;flex-wrap:wrap;gap:5px 23px}
.footer nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--dark-line);padding-block:16px;font-size:.8125rem;color:var(--dark-text)}

/* Policy pages */
.legal-shell{padding:clamp(50px,7vw,90px) 0 80px}
.legal-inner{width:min(calc(100% - 40px),850px);margin:auto}
.legal-shell h1{font-size:clamp(38px,5.4vw,64px);margin-bottom:35px}
.breadcrumbs{font-size:.9375rem;margin-bottom:35px;color:var(--body)}
.breadcrumbs a{text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}
.legal-content{line-height:1.8;color:var(--body)}
.legal-content strong{color:var(--ink)}
.legal-content h2,.legal-content h3{font-size:1.3rem;line-height:1.15;margin:36px 0 15px}
.legal-content p{margin:0 0 20px}
.legal-content ul,.legal-content ol{padding-left:22px;margin:0 0 20px}
.legal-note{margin:0 0 32px!important;padding:14px 18px;border-left:3px solid var(--brand);background:var(--surface);font-size:.9375rem}
.legal-content a{text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}

/* Contact dialog */
body.modal-open{overflow:hidden}
.dialog{border:0;background:var(--dark);color:#fff;padding:34px;width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;border-radius:var(--radius-lg);color-scheme:dark}
.dialog::backdrop{background:rgba(20,22,24,.72);backdrop-filter:blur(6px)}
.dialog :focus-visible{outline-color:#fff}
.dialog p{color:var(--dark-text)}
.dialog a{color:#fff}
.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:25px;margin-bottom:18px}
.dialog .eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bg-soft);margin-bottom:14px}
.dialog h2{font-size:2rem;color:#fff}
.close{border:1px solid #777;width:44px;height:44px;flex:0 0 44px;font-size:1.5rem;background:transparent;color:#fff;border-radius:var(--radius-sm)}
.close:focus-visible{outline-offset:-5px}
.dialog-intro{font-size:1rem;margin-bottom:24px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field{min-width:0}
.field.full{grid-column:1/-1}
.field label{display:block;font-size:.9375rem;font-weight:600;margin-bottom:7px}
.field input,.field select,.field textarea,.mail-fallback textarea{width:100%;background:#26292c;color:#fff;border:1px solid #6b6f72;border-radius:10px;padding:12px;min-height:49px;font-size:1rem}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.mail-fallback textarea:focus-visible{outline-offset:1px}
.field textarea{min-height:110px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#b7babc}
.check{display:flex;align-items:start;gap:12px;font-size:.875rem;line-height:1.7;margin-top:20px;color:var(--dark-text)}
.check input{width:18px;height:18px;flex:0 0 18px;margin:4px 0 0;accent-color:var(--brand)}
.check a{text-decoration:underline}
.submit{width:100%;margin-top:23px;justify-content:space-between}
.form-note{color:var(--dark-text);font-size:.875rem;line-height:1.7;margin-top:14px}
.form-status{padding:16px;margin-top:20px;background:#2a2d32;border-left:3px solid #fff;border-radius:6px;font-size:.9375rem}
.mail-fallback{margin-top:18px}
.mail-fallback p{font-size:.875rem}
.mail-fallback .button{margin-top:12px}
.mail-fallback textarea{min-height:140px;margin-top:10px}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.muted{color:#b7babc}

/* Responsive composition */
@media(max-width:1150px){
  .frame{width:calc(100% - 64px)}
  .nav{gap:24px}
  .service-opening,.service-body{gap:45px}
  .service-art{height:450px}
  .section-heading{gap:35px}
  .format-copy{padding:34px}
  .format-spec{padding:30px}
  .contact-layout{gap:55px}
  .footer-top{gap:30px}
  .live-intro,.consulting-intro{gap:40px}
}
@media(max-width:1320px){
  .menu-toggle{display:flex}
  .nav-contact{display:none}
  .nav-row{grid-template-columns:1fr auto auto;align-items:center;column-gap:8px}
  .nav-row>.nav-end{grid-column:2;align-self:center;margin-bottom:0}
  .nav-row>.menu-toggle{grid-column:3}
  .nav-row>.nav{display:none;grid-column:1/-1;grid-row:2;margin-top:16px;flex-direction:column;align-items:stretch;gap:18px;padding:22px 24px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}
  .nav-row>.nav.is-open{display:flex}
  .nav a{color:var(--dark);font-size:15px;min-height:44px}
  .nav .nav-mobile{display:flex}
}
@media(max-width:980px){
  .service-opening{grid-template-columns:1fr 1fr;gap:30px}
  .live-intro,.consulting-intro{display:block}
  .live-intro .button,.consulting-intro .button{margin-top:28px}
  .curriculum-strip{gap:25px;flex-wrap:wrap}
  .curriculum-strip>p{margin-left:0;width:100%}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-top p{justify-self:end}
  .footer-mail{grid-column:1/-1;justify-self:start}
}
@media(max-width:700px){
  .frame{width:calc(100% - 40px)}
  .site-header .brand img{height:44px}
  /* The karo sits above the heading on a phone. */
  .hero{grid-template-columns:1fr;gap:8px;min-height:0;padding:92px 20px 48px}
  .hero-karo{order:-1;max-width:min(76vw,360px);justify-self:center}
  .hero h1{font-size:clamp(34px,10vw,52px)}
  .format-section{padding-block:50px}
  .section-heading{grid-template-columns:1fr;gap:20px}
  .format-stage>section{grid-template-columns:1fr}
  .format-spec{display:grid;grid-template-columns:1fr auto;gap:12px 25px;padding:27px 30px}
  .format-spec .spec-label,.format-spec strong,.format-spec>span:not(.spec-label){grid-column:1}
  .format-spec strong{font-size:1.6rem}
  .round-link{grid-column:2;grid-row:1/4;margin:0}
  .format-copy{padding:30px 26px}
  .format-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .format-tabs button{padding:10px 6px;font-size:.875rem;line-height:1.25;overflow-wrap:normal;word-break:normal}
  .closing>.frame{grid-template-columns:minmax(0,1fr)}
  .closing .button{grid-column:1;grid-row:auto;justify-self:start;margin-top:25px}
  .service-opening{grid-template-columns:1fr;padding-block:40px 45px;gap:35px}
  .service-art{height:350px}
  .facts{gap:20px}
  .facts dd{font-size:1.1rem}
  .service-body{grid-template-columns:1fr;gap:35px;padding-block:50px}
  .live-opening,.consulting-opening,.about-opening,.contact-opening{padding-top:40px}
  .roadmap-row{gap:15px;padding:23px}
  .contact-layout{grid-template-columns:1fr;gap:35px}
  .contact-opening{padding-bottom:55px}
  .footer-top{gap:25px}
  .footer-middle{flex-wrap:wrap;gap:18px}
  .footer-bottom{flex-direction:column;align-items:start;gap:7px}
  .footer{padding-top:34px}
  .legal-shell{padding-top:40px}
  .dialog h2{font-size:1.7rem}
}
@media(max-width:480px){
  .expertise .expertise-head h2{font-size:min(7.4vw,40px)}
  .format-copy h3{font-size:1.75rem}
  .format-tabs button{min-height:60px}
  .facts{grid-template-columns:1fr;gap:16px}
  .facts>div+div{border-top:1px solid rgba(26,28,30,.3);padding-top:15px}
  .fact-band{padding-block:25px}
  .service-opening .button,.live-intro .button,.consulting-intro .button,.contact-layout .button{width:100%;justify-content:space-between}
  .service-art{height:310px}
  .curriculum-strip>span{font-size:1.6rem}
  .roadmap-row{flex-direction:column;align-items:start}
  .roadmap-row>span:nth-child(even){transform:rotate(90deg);line-height:1}
  .booking-spec{padding:28px}
  .booking-spec>strong{font-size:3.2rem}
  .footer-top{grid-template-columns:1fr}
  .footer-top p{justify-self:start}
  .footer-mail{font-size:1.4rem;gap:15px}
  .footer-middle{display:block}
  .footer-middle>a,.footer-phone a{display:block;padding-block:13px}
  .footer-middle nav{margin-top:7px}
  .footer nav{gap:4px 17px}
  .dialog{padding:26px 20px}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
}


/* Expertise */
.expertise{background:var(--bg);padding-block:clamp(70px,9vw,130px)}
.expertise-head{margin-bottom:48px}
.expertise h2{font-size:clamp(34px,5vw,64px)}
.expertise-head p{max-width:600px;margin-top:28px}
.expertise h2,.faq h2,.about-home h2,.hero h1{overflow-wrap:normal}
.expertise-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.expertise-grid li{position:relative;display:flex;flex-direction:column;background:var(--surface);padding:34px 28px 34px;border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.expertise-tag{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text)}
.expertise-grid h3{font-size:1.6rem;line-height:.98;margin:18px 0 14px}
.expertise-grid p{font-size:.9375rem;line-height:1.7}
.reach{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}
.reach-label{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.reach ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.reach li{padding:9px 18px;background:var(--surface);font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-radius:999px}

/* FAQ */
.faq{background:var(--surface);padding-block:clamp(70px,9vw,130px)}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:60px;align-items:start}
.faq h2{font-size:clamp(34px,5vw,64px)}
.faq-note{margin-top:28px;max-width:320px}
.faq-note a,.faq-list a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-size:1.1875rem;font-weight:600;line-height:1.4;color:var(--ink)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';flex:0 0 auto;font-size:1.6rem;line-height:1;color:var(--brand-ink);transition:transform .2s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list summary:hover{color:#000}
.faq-list details p{padding:0 48px 26px 0;max-width:680px}
@media(max-width:980px){
  .about-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .section-heading h2 br{display:none}
  .faq-grid{grid-template-columns:1fr}
  .expertise-head{margin-bottom:32px}
  .faq-grid{gap:30px}
  .faq-list details p{padding-right:0}
}

/* Track record */
.stats{background:var(--dark);color:#fff;padding-block:clamp(56px,7vw,96px)}
.stats-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.stats-grid li{border-top:2px solid var(--brand);padding-top:26px}
.stats-grid strong{display:block;font-family:var(--display);font-size:clamp(56px,7vw,96px);font-weight:700;line-height:.9;color:#fff}
.stats-grid span{display:block;margin-top:16px;max-width:300px;font-size:1rem;font-weight:500;line-height:1.5;color:#e4e6e7}
.stats-note{margin-top:40px;font-size:.8125rem;color:#9ea2a5}
@media(max-width:700px){.stats-grid{grid-template-columns:1fr;gap:28px}}

@view-transition{navigation:auto}
@media(prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation-duration:.13s}
  ::view-transition-new(root){animation-duration:.27s}
  .nav.is-open,.dialog[open]{animation:surface-in .3s cubic-bezier(.22,1,.36,1)}
  [data-format-panel]:not([hidden]){animation:surface-in .35s cubic-bezier(.22,1,.36,1)}
  @keyframes surface-in{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
@media(forced-colors:active){
  .button,.nav-contact,.format-tabs button,.round-link{border:1px solid ButtonText}
  .format-tabs button[aria-selected=true]{outline:2px solid Highlight}
  .hero-karo{display:none}
  .menu-toggle span{background:ButtonText}
}
@media print{
  body,main section,.format-spec,.consulting-scope,.stats{background:#fff!important;color:#000!important}
  .site-header,.footer,.button,.text-link,.hero-karo,.service-art,.dialog,.format-tabs,.closing{display:none!important}
  .frame{width:100%}
  .hero,.service-opening,.live-opening,.consulting-opening,.about-opening,.contact-opening{padding:20px 0;min-height:0}
  .hero h1{padding:0;margin:0;font-size:30pt}
  .format-stage>section,.format-stage>section[hidden],.service-body,.contact-layout{display:block!important}
  .format-stage,.booking-spec,.roadmap-row{clip-path:none}
  .format-copy{padding:20px 0}
}
@media(max-width:400px){
  .format-tabs{grid-template-columns:1fr}
  .format-tabs button{min-height:48px;font-size:.9375rem;letter-spacing:0}
}
/* hCaptcha verification inside the inquiry form */
.captcha{margin-top:20px}
.captcha:empty{margin-top:0}
.dialog.is-swapping{animation:none!important}
body.captcha-active::before{content:"";position:fixed;inset:0;z-index:1000;background:rgba(20,22,24,.72)}
body.captcha-active .dialog{position:fixed;inset:0;margin:auto;height:fit-content;z-index:1001}

/* Interactive video lessons: an example lesson screen instead of a background video */
.lesson-demo{height:auto;overflow:visible;display:grid;gap:16px;align-content:center}
.ld-screen{background:var(--dark);color:#fff;border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow)}
.ld-top{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:var(--dark-text)}
.ld-live{width:8px;height:8px;border-radius:50%;background:var(--brand)}
.ld-topic{margin-left:auto;padding:4px 10px;border-radius:999px;background:#2c3035;color:#fff}
.ld-stage{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-top:16px;padding:22px;border-radius:var(--radius);background:#2a2d32}
.ld-narrator{position:relative;width:64px;height:64px;border-radius:16px;background:var(--brand)}
.ld-narrator span{position:absolute;width:16px;height:32px}
.ld-narrator span:first-child{left:15px;top:21px;background:var(--dark);border-radius:16px 0 0 16px}
.ld-narrator span:last-child{left:34px;top:11px;background:#fff;border-radius:0 16px 16px 0}
.ld-caption{color:#fff;font-size:1rem;line-height:1.55}
.ld-bar{height:4px;margin-top:16px;border-radius:2px;background:#3a3d42}
.ld-bar span{display:block;width:46%;height:100%;border-radius:2px;background:var(--brand)}
.ld-actions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ld-actions li{padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);font-size:.9375rem;font-weight:600;color:var(--ink)}
.lesson-demo figcaption{position:static;font-size:.8125rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--body)}
@media(max-width:700px){.lesson-demo{height:auto}.ld-stage{grid-template-columns:1fr;gap:14px;padding:18px}.ld-actions li{font-size:.875rem;padding:11px 12px}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.footer-note{border-top:1px solid var(--dark-line);padding-block:16px 24px;font-size:.75rem;line-height:1.6;color:#9ea2a5}

/* Home: three services side by side, each with a small illustration */
.services{padding-block:clamp(40px,5vw,72px) clamp(64px,8vw,110px);background:var(--bg)}
.svc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.svc-card{display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:16px 16px 26px}
.svc-card>p,.svc-card>h3,.svc-card>.svc-meta{margin-inline:12px}
.svc-art{height:190px;border-radius:var(--radius);background:var(--bg-soft);position:relative;overflow:hidden;margin-bottom:22px}
.svc-kicker{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text)}
.svc-card h3{font-size:clamp(1.35rem,2vw,1.6rem);line-height:1.02;margin-top:12px}
.svc-card>p:not(.svc-kicker){margin-top:12px;font-size:.9375rem;line-height:1.65}
.svc-meta{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line)}
.svc-meta span{font-size:.9375rem;color:var(--body)}
.svc-meta strong{display:block;font-family:var(--display);font-size:1.5rem;color:var(--ink);text-transform:uppercase}
.svc-meta .round-link{margin:0;width:48px;height:48px;flex:0 0 48px;border-color:var(--line);color:var(--brand)}
.svc-meta .round-link:hover{background:var(--brand);border-color:var(--brand);color:#fff}
/* illustrations */
.mini-screen{position:absolute;left:22px;right:22px;top:22px;height:96px;border-radius:14px;background:var(--dark);display:flex;align-items:center;gap:14px;padding:0 16px}
.mini-narrator{position:relative;width:48px;height:48px;flex:0 0 48px;border-radius:12px;background:var(--brand)}
.mini-narrator i{position:absolute;width:12px;height:24px}
.mini-narrator i:first-child{left:11px;top:16px;background:var(--dark);border-radius:12px 0 0 12px}
.mini-narrator i:last-child{left:25px;top:8px;background:#fff;border-radius:0 12px 12px 0}
.mini-lines{display:grid;gap:7px;flex:1}
.mini-lines i{display:block;height:7px;border-radius:4px;background:#3d4147}
.mini-lines i:nth-child(1){width:90%}.mini-lines i:nth-child(2){width:70%}.mini-lines i:nth-child(3){width:46%;background:var(--brand)}
.mini-chips{position:absolute;left:22px;right:22px;bottom:20px;display:flex;gap:8px}
.mini-chips i{font-style:normal;font-size:.75rem;font-weight:600;padding:7px 10px;border-radius:999px;background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(31,34,38,.08)}
.mini-call{position:absolute;inset:22px 22px 58px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mini-call .who{border-radius:12px;display:grid;place-items:start;padding:10px;font-size:.75rem;font-weight:600;color:#fff}
.mini-call .you{background:var(--dark)}.mini-call .edu{background:var(--brand)}
.mini-call .board{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);white-space:nowrap;background:var(--surface);color:var(--ink);font-family:var(--display);font-weight:700;font-size:.9375rem;padding:6px 14px;border-radius:999px;box-shadow:0 6px 16px -8px rgba(31,34,38,.4)}
.mini-timer{position:absolute;left:22px;bottom:16px;display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;color:var(--body)}
.mini-timer i{width:8px;height:8px;border-radius:50%;background:var(--brand)}
.mini-road{list-style:none;margin:0;padding:24px 26px;display:grid;gap:12px;position:relative}
.mini-road::before{content:'';position:absolute;left:33px;top:34px;bottom:34px;width:2px;background:var(--line)}
.mini-road li{position:relative;display:flex;align-items:center;gap:14px;font-size:.875rem;font-weight:600;color:var(--body)}
.mini-road li i{width:16px;height:16px;border-radius:50%;background:var(--surface);border:2px solid var(--line);z-index:1}
.mini-road li.now{color:var(--ink)}.mini-road li.now i{background:var(--brand);border-color:var(--brand)}

/* Home: inside a video lesson */
.demo-band{background:var(--surface);padding-block:clamp(64px,8vw,110px)}
.demo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center}
.demo-band h2{font-size:clamp(32px,4.6vw,56px)}
.demo-copy>p{margin-top:22px;max-width:520px;font-size:1.0625rem}
.demo-list{list-style:none;margin:26px 0 28px;padding:0;display:grid;gap:2px}
.demo-list li{display:grid;gap:2px;padding:14px 0;border-top:1px solid var(--line)}
.demo-list strong{font-size:1rem;color:var(--ink)}
.demo-list span{font-size:.9375rem;color:var(--body)}
.demo-art{margin:0;display:grid;gap:12px}
.demo-art .ld-screen{padding:24px}
.demo-art .ld-caption{font-size:1.125rem}
.demo-art figcaption{font-size:.8125rem;color:var(--body)}

/* Home: how it works. Each step mark is a small karo; on the last step Next has moved up. */
.how{background:var(--bg);padding-block:clamp(64px,8vw,110px)}
.how-steps{list-style:none;margin:0 0 34px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.how-steps li{position:relative;padding-top:26px;border-top:2px solid var(--line)}
.how-steps li:last-child{border-top-color:var(--brand)}
.step-mark{position:relative;display:block;width:44px;height:44px;border-radius:11px;background:var(--brand);margin-bottom:18px}
.step-mark i{position:absolute;width:11px;height:22px}
.step-mark i:first-child{left:10px;top:14px;background:var(--dark);border-radius:11px 0 0 11px}
.step-mark i:last-child{left:23px;top:14px;background:#fff;border-radius:0 11px 11px 0;transition:top .4s}
.step-mark.is-up i:last-child{top:7px}
.step-no{font-size:.8125rem;font-weight:700;letter-spacing:.12em;color:var(--brand-text)}
.how-steps h3{margin-top:8px;font-size:1.4rem}
.how-steps p{margin-top:10px;font-size:.9375rem;max-width:340px}

@media(max-width:980px){
  .svc-grid{grid-template-columns:1fr;max-width:560px}
  .demo-grid{grid-template-columns:1fr}
  .how-steps{grid-template-columns:1fr;gap:12px}
}
@media(max-width:700px){
  .svc-art{height:170px}
  .how-steps li{display:grid;grid-template-columns:auto 1fr;column-gap:16px;padding-top:20px}
  .how-steps .step-mark{grid-row:1/4;margin:0}
  .how-steps h3,.how-steps p{grid-column:2}
  .demo-art .ld-screen{padding:16px}
}

/* Home: expertise as one compact strip */
.scope{background:var(--bg-soft);padding-block:clamp(56px,7vw,90px)}
.scope-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:50px;align-items:baseline;margin-bottom:36px}
.scope-head .kicker{margin:0}
.scope h2{font-size:clamp(30px,4vw,48px)}
.scope-grid{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.scope-grid>div{background:var(--surface);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow)}
.scope-grid dt{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text)}
.scope-grid dd{margin:8px 0 0;font-family:var(--display);font-weight:700;font-size:1.3rem;line-height:1.15;text-transform:uppercase;color:var(--ink)}
.scope .reach{margin-top:28px}
@media(max-width:980px){.scope-head{grid-template-columns:1fr;gap:16px}.scope-grid{grid-template-columns:1fr;gap:10px}}



/* Service card motion: each card plays one moment of its service on a loop while on screen.
   Base styles are the final frame, so reduced motion (animations off) still shows a complete picture. */
.mo{--t:9s}
.mo *{animation-duration:var(--t);animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.4,0,.2,1)}
.mo.is-paused *{animation-play-state:paused}
/* video: the narrator explains, the learner taps "Explain it differently", a new explanation appears */
.mo-video .mv-screen{position:absolute;left:20px;right:20px;top:20px;height:92px;border-radius:14px;background:var(--dark);display:flex;align-items:center;gap:14px;padding:0 16px}
.mo-video .mini-narrator{animation-name:mv-talk}
.mv-cap{position:relative;flex:1;height:52px;font-size:.875rem;line-height:1.35;color:#fff}
.mv-cap span{position:absolute;inset:0;display:flex;align-items:center}
.mv-cap .c1{opacity:0;animation-name:mv-c1}
.mv-cap .c2{animation-name:mv-c2}
.mv-chips{position:absolute;left:20px;right:20px;bottom:18px;display:flex;gap:8px}
.mo .chip{font-size:.75rem;font-weight:600;padding:8px 11px;border-radius:999px;background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(31,34,38,.1)}
.mo .ch1{animation-name:mv-press}
.mv-tap{position:absolute;left:92px;bottom:22px;width:22px;height:22px;border-radius:50%;background:rgba(31,34,38,.25);opacity:0;animation-name:mv-tap}
@keyframes mv-c1{0%,4%{opacity:0;clip-path:inset(0 100% 0 0)}10%{opacity:1;clip-path:inset(0 100% 0 0)}30%{clip-path:inset(0 0 0 0);opacity:1}46%{opacity:1}52%,100%{opacity:0}}
@keyframes mv-c2{0%,52%{opacity:0;clip-path:inset(0 100% 0 0)}56%{opacity:1;clip-path:inset(0 100% 0 0)}76%,94%{opacity:1;clip-path:inset(0 0 0 0)}100%{opacity:0}}
@keyframes mv-press{0%,40%{background:var(--surface);color:var(--ink)}44%,60%{background:var(--brand);color:#fff}66%,100%{background:var(--surface);color:var(--ink)}}
@keyframes mv-tap{0%,36%{opacity:0;transform:scale(.4)}42%{opacity:1;transform:scale(1)}50%,100%{opacity:0;transform:scale(1.6)}}
@keyframes mv-talk{0%,8%,32%,54%,78%,100%{transform:none}12%,22%,60%,70%{transform:translateY(-2px)}}
/* live: student and educator take turns, the step appears on the board, the student gets it */
.ml-tiles{position:absolute;inset:20px 20px 64px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mo-live .tile{position:relative;border-radius:12px;padding:10px;font-size:.75rem;color:#fff}
.mo-live .tile b{font-weight:600}
.mo-live .st{background:var(--dark)}.mo-live .ed{background:var(--brand)}
.mo-live .wave{position:absolute;inset:-3px;border-radius:15px;border:2px solid var(--brand);opacity:0}
.mo-live .ed .wave{border-color:var(--dark)}
.mo-live .ed .wave{animation-name:ml-ed}.mo-live .st .wave{animation-name:ml-st}
.ml-board{position:absolute;left:50%;top:86px;transform:translateX(-50%);background:var(--surface);border-radius:999px;padding:7px 14px;box-shadow:0 6px 16px -8px rgba(31,34,38,.4)}
.ml-board .eq{display:block;white-space:nowrap;font-family:var(--display);font-weight:700;font-size:.9375rem;color:var(--ink);animation-name:ml-write}
.ml-got{position:absolute;left:28px;top:56px;font-size:.75rem;font-weight:700;color:var(--dark);background:#fff;padding:5px 10px;border-radius:10px 10px 10px 2px;opacity:0;animation-name:ml-got}
.ml-live{position:absolute;left:20px;bottom:16px;display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;color:var(--body)}
.ml-live i{width:8px;height:8px;border-radius:50%;background:var(--brand);animation:ml-dot 1.6s infinite}
@keyframes ml-ed{0%,8%{opacity:0}12%,40%{opacity:1}46%,100%{opacity:0}}
@keyframes ml-st{0%,50%{opacity:0}54%,80%{opacity:1}86%,100%{opacity:0}}
@keyframes ml-write{0%,10%{clip-path:inset(0 100% 0 0)}40%,94%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@keyframes ml-got{0%,56%{opacity:0;transform:translateY(6px)}62%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes ml-dot{50%{opacity:.25}}
/* consulting: the plan fills in step by step and ends with an offer */
.mp-road{list-style:none;margin:0;padding:22px 26px;display:grid;gap:11px;position:relative}
.mp-road::before{content:'';position:absolute;left:33px;top:32px;bottom:32px;width:2px;background:var(--line)}
.mp-fill{position:absolute;left:33px;top:32px;bottom:32px;width:2px;background:var(--brand);transform-origin:top;animation-name:mp-fill}
.mp-road li{position:relative;display:flex;align-items:center;gap:14px;font-size:.875rem;font-weight:600;color:var(--ink)}
.mp-road li i{width:16px;height:16px;border-radius:50%;background:var(--brand);border:2px solid var(--brand);z-index:1}
.mp-road .s1 i{animation-name:mp-s1}.mp-road .s2 i{animation-name:mp-s2}.mp-road .s3 i{animation-name:mp-s3}.mp-road .s4 i{animation-name:mp-s4}
.mp-badge{position:absolute;right:22px;bottom:24px;font-size:.75rem;font-weight:700;color:#fff;background:var(--brand);padding:7px 12px;border-radius:999px;animation-name:mp-badge}
@keyframes mp-fill{0%,6%{transform:scaleY(0)}70%,94%{transform:scaleY(1)}100%{transform:scaleY(0)}}
@keyframes mp-s1{0%,6%{background:var(--surface);border-color:var(--line)}10%,94%{background:var(--brand);border-color:var(--brand)}100%{background:var(--surface);border-color:var(--line)}}
@keyframes mp-s2{0%,26%{background:var(--surface);border-color:var(--line)}30%,94%{background:var(--brand);border-color:var(--brand)}100%{background:var(--surface);border-color:var(--line)}}
@keyframes mp-s3{0%,48%{background:var(--surface);border-color:var(--line)}52%,94%{background:var(--brand);border-color:var(--brand)}100%{background:var(--surface);border-color:var(--line)}}
@keyframes mp-s4{0%,68%{background:var(--surface);border-color:var(--line);transform:none}72%{transform:scale(1.35)}76%,94%{background:var(--brand);border-color:var(--brand);transform:none}100%{background:var(--surface);border-color:var(--line)}}
@keyframes mp-badge{0%,72%{opacity:0;transform:translateY(8px)}78%,94%{opacity:1;transform:none}100%{opacity:0}}

/* Premium stage for the service card motion: a deep grafit scene with a slow kiraz glow and glass surfaces */
.svc-art.mo{height:206px;background:radial-gradient(120% 140% at 12% 0%,#30343b 0%,#1b1d21 55%,#141518 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.svc-art.mo::before{content:'';position:absolute;width:220px;height:220px;right:-60px;bottom:-90px;border-radius:50%;background:radial-gradient(circle,rgba(179,18,62,.55),rgba(179,18,62,0) 70%);filter:blur(6px);animation:mo-glow 9s ease-in-out infinite;pointer-events:none}
.svc-art.mo.is-paused::before{animation-play-state:paused}
@keyframes mo-glow{0%,100%{transform:translate(0,0)}50%{transform:translate(-40px,-24px)}}
.mo .chip{background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
@keyframes mv-press{0%,40%{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}44%,60%{background:var(--brand);box-shadow:0 0 0 1px var(--brand),0 8px 22px -6px rgba(179,18,62,.9)}66%,100%{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}}
.mo-video .mv-screen{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 18px 30px -18px rgba(0,0,0,.8);backdrop-filter:blur(2px)}
.mo-video .mini-narrator{background:linear-gradient(145deg,#d02152,#9e0f36);box-shadow:0 10px 20px -8px rgba(179,18,62,.8),inset 0 1px 0 rgba(255,255,255,.25)}
.mo-video .mini-narrator i:first-child{background:#141518}
.mv-tap{background:rgba(255,255,255,.35)}
.mo-live .st{background:linear-gradient(160deg,#3a3e45,#262a2f);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.mo-live .ed{background:linear-gradient(160deg,#d02152,#9e0f36);box-shadow:0 14px 26px -14px rgba(179,18,62,.9)}
.mo-live .wave{border-color:rgba(255,255,255,.85)}
.mo-live .ed .wave{border-color:rgba(255,255,255,.85)}
.ml-board{box-shadow:0 12px 26px -10px rgba(0,0,0,.7)}
.ml-got{color:var(--ink)}
.ml-live{color:rgba(255,255,255,.7)}
.mp-road::before{background:rgba(255,255,255,.14)}
.mp-fill{box-shadow:0 0 12px rgba(179,18,62,.9)}
.mp-road li{color:#fff}
@keyframes mp-s1{0%,6%{background:#1b1d21;border-color:rgba(255,255,255,.3)}10%,94%{background:var(--brand);border-color:var(--brand)}100%{background:#1b1d21;border-color:rgba(255,255,255,.3)}}
@keyframes mp-s2{0%,26%{background:#1b1d21;border-color:rgba(255,255,255,.3)}30%,94%{background:var(--brand);border-color:var(--brand)}100%{background:#1b1d21;border-color:rgba(255,255,255,.3)}}
@keyframes mp-s3{0%,48%{background:#1b1d21;border-color:rgba(255,255,255,.3)}52%,94%{background:var(--brand);border-color:var(--brand)}100%{background:#1b1d21;border-color:rgba(255,255,255,.3)}}
@keyframes mp-s4{0%,68%{background:#1b1d21;border-color:rgba(255,255,255,.3);transform:none}72%{transform:scale(1.35);box-shadow:0 0 16px rgba(179,18,62,1)}76%,94%{background:var(--brand);border-color:var(--brand);transform:none}100%{background:#1b1d21;border-color:rgba(255,255,255,.3)}}
.mp-badge{box-shadow:0 10px 24px -8px rgba(179,18,62,.95)}
@media(max-width:700px){.svc-art.mo{height:196px}}

/* Home: the example lesson plays its four actions in turn; the matching list item lights up on the left.
   Base styles show the first moment, which is also what reduced motion keeps. */
.mo-demo{--t:20s}
.dm-screen{position:relative;background:radial-gradient(120% 120% at 10% 0%,#30343b 0%,#1b1d21 60%,#141518 100%);color:#fff;border-radius:var(--radius-lg);padding:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),var(--shadow);display:grid;gap:14px;overflow:hidden}
.dm-screen::before{content:'';position:absolute;width:300px;height:300px;right:-110px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(179,18,62,.45),rgba(179,18,62,0) 70%);pointer-events:none;animation:mo-glow 12s ease-in-out infinite}
.mo-demo.is-paused .dm-screen::before{animation-play-state:paused}
.dm-screen .ld-topic{background:rgba(255,255,255,.08)}
.dm-stage{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:18px;border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.dm-narr{display:grid;justify-items:center;gap:8px;width:82px}
.dm-narr .ld-narrator{display:block;position:relative;width:64px;height:64px;border-radius:16px;background:linear-gradient(145deg,#d02152,#9e0f36);box-shadow:0 10px 20px -8px rgba(179,18,62,.8);animation-name:dm-narr}
.dm-narr .ld-narrator span{position:absolute;width:16px;height:32px}
.dm-narr .ld-narrator span:first-child{left:15px;top:21px;background:#141518;border-radius:16px 0 0 16px}
.dm-narr .ld-narrator span:last-child{left:34px;top:11px;background:#fff;border-radius:0 16px 16px 0}
.dm-narr b{font-size:.6875rem;font-weight:600;color:rgba(255,255,255,.7);grid-area:2/1}
.dm-narr .na{animation-name:dm-na}.dm-narr .nb{opacity:0;animation-name:dm-nb}
.dm-caps{position:relative;min-height:80px}
.dm-caps p{position:absolute;inset:0;color:#fff;font-size:1.0625rem;line-height:1.5}
.dm-caps .k1{animation-name:dm-k1}.dm-caps .k2{opacity:0;animation-name:dm-k2}.dm-caps .k3{opacity:0;animation-name:dm-k3}
.dm-board{position:relative;height:150px;border-radius:var(--radius);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);padding:10px 14px}
.dm-graph{width:100%;height:100%;overflow:visible}
.dm-graph path{fill:none;stroke-linecap:round}
.dm-graph .axis{stroke:rgba(255,255,255,.18);stroke-width:1.5}
.dm-graph .arc{stroke:#fff;stroke-width:2.5;stroke-dasharray:420;stroke-dashoffset:0;animation-name:dm-arc}
.dm-graph .vx{stroke:#fff;stroke-width:3;animation-name:dm-vec}.dm-graph .vy{stroke:var(--brand);stroke-width:3;filter:drop-shadow(0 0 4px rgba(179,18,62,.9));animation-name:dm-vec}
.dm-graph .ball{fill:var(--brand);offset-path:path("M14 116Q160 -86 306 116");animation-name:dm-ball}
.dm-q{position:absolute;inset:10px;border-radius:12px;background:#fff;color:var(--ink);padding:16px 18px;display:grid;align-content:center;gap:6px;opacity:0;transform:translateY(16px);animation-name:dm-q}
.dm-q b{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text)}
.dm-q span{font-size:1rem;line-height:1.45}
.dm-ask{position:relative;height:46px;border-radius:12px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);padding:0 16px;display:flex;align-items:center;font-size:.9375rem}
.dm-ask .ph{color:rgba(255,255,255,.45);animation-name:dm-ph}
.dm-ask .typed{position:absolute;left:16px;right:16px;white-space:nowrap;overflow:hidden;color:#fff;clip-path:inset(0 100% 0 0);animation-name:dm-type}
.dm-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dm-chips .chip{text-align:center;padding:10px 8px;animation-name:dm-press}
.dm-chips .chip:nth-child(2),.mo-demo .demo-list li:nth-child(2){animation-delay:5s}
.dm-chips .chip:nth-child(3),.mo-demo .demo-list li:nth-child(3){animation-delay:10s}
.dm-chips .chip:nth-child(4),.mo-demo .demo-list li:nth-child(4){animation-delay:15s}
.mo-demo .demo-list li{position:relative;padding-left:16px;border-radius:2px;animation-name:dm-li}
.mo-demo .demo-list li::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:2px;background:var(--line)}
@keyframes dm-press{0%,3%{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}5%,20%{background:var(--brand);box-shadow:0 0 0 1px var(--brand),0 8px 22px -6px rgba(179,18,62,.9)}24%,100%{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}}
@keyframes dm-li{0%,3%{background:transparent}5%,22%{background:linear-gradient(90deg,var(--brand) 0 3px,rgba(179,18,62,.06) 3px)}25%,100%{background:transparent}}
@keyframes dm-na{0%,7%{opacity:1}9%,96%{opacity:0}100%{opacity:1}}
@keyframes dm-nb{0%,7%{opacity:0}9%,96%{opacity:1}100%{opacity:0}}
@keyframes dm-narr{0%,7%{filter:none}9%,96%{filter:hue-rotate(-12deg) brightness(1.1)}100%{filter:none}}
@keyframes dm-k1{0%{opacity:1;clip-path:inset(0 100% 0 0)}5%,26%{opacity:1;clip-path:inset(0 0 0 0)}28%,100%{opacity:0}}
@keyframes dm-k2{0%,28%{opacity:0;clip-path:inset(0 100% 0 0)}29%{opacity:1;clip-path:inset(0 100% 0 0)}36%,52%{opacity:1;clip-path:inset(0 0 0 0)}54%,100%{opacity:0}}
@keyframes dm-k3{0%,88%{opacity:0;clip-path:inset(0 100% 0 0)}89%{opacity:1;clip-path:inset(0 100% 0 0)}96%,99%{opacity:1;clip-path:inset(0 0 0 0)}100%{opacity:0}}
@keyframes dm-arc{0%{stroke-dashoffset:420}14%,99%{stroke-dashoffset:0}100%{stroke-dashoffset:420}}
@keyframes dm-vec{0%,12%{opacity:0}16%,99%{opacity:1}100%{opacity:0}}
@keyframes dm-ball{0%{offset-distance:0%}14%,99%{offset-distance:100%}100%{offset-distance:0%}}
@keyframes dm-q{0%,52%{opacity:0;transform:translateY(16px)}56%,74%{opacity:1;transform:none}77%,100%{opacity:0;transform:translateY(16px)}}
@keyframes dm-ph{0%,78%{opacity:1}79%,98%{opacity:0}100%{opacity:1}}
@keyframes dm-type{0%,79%{clip-path:inset(0 100% 0 0)}87%,98%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@media(max-width:700px){.dm-screen{padding:14px}.dm-stage{grid-template-columns:1fr;padding:14px}.dm-narr{grid-template-columns:auto auto;justify-items:start;align-items:center;width:auto}.dm-narr b{grid-area:1/2}.dm-caps{min-height:96px}.dm-caps p{font-size:1rem}.dm-board{height:130px}.dm-chips .chip{font-size:.75rem}}

/* Video card caption alignment */
.mo-video .mv-screen{height:96px;align-items:center}
/* Demo caption for the new question step */
.dm-caps .k4{opacity:0;animation-name:dm-k4}
@keyframes dm-k4{0%,54%{opacity:0;clip-path:inset(0 100% 0 0)}55%{opacity:1;clip-path:inset(0 100% 0 0)}60%,75%{opacity:1;clip-path:inset(0 0 0 0)}77%,100%{opacity:0}}
@keyframes dm-k2{0%,28%{opacity:0;clip-path:inset(0 100% 0 0)}29%{opacity:1;clip-path:inset(0 100% 0 0)}36%,51%{opacity:1;clip-path:inset(0 0 0 0)}53%,100%{opacity:0}}
/* Live card: an illustrated educator and student take turns; the speaker's ring glows and sound bars move */
.mo-live .ml-tiles{inset:18px 18px 60px}
.mo-live .tile{display:grid;grid-template-rows:1fr auto;justify-items:center;align-items:center;overflow:visible;padding:8px 8px 9px}
.mo-live .tile b{justify-self:start;font-size:.6875rem;color:rgba(255,255,255,.75)}
.mo-live .face{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12)}
.mo-live .ed .face{background:rgba(255,255,255,.2)}
.mo-live .av{width:34px;height:34px;fill:rgba(255,255,255,.9);margin-top:6px}
.mo-live .ring{position:absolute;inset:-5px;border-radius:50%;border:2px solid #fff;opacity:0}
.mo-live .ed .ring{animation-name:ml-ed}.mo-live .st .ring{animation-name:ml-st}
.mo-live .wave{display:none}
.mo-live .bubble{position:absolute;top:-12px;white-space:nowrap;font-size:.6875rem;font-weight:700;color:var(--ink);background:#fff;padding:5px 9px;opacity:0;box-shadow:0 8px 18px -8px rgba(0,0,0,.7)}
.mo-live .be{left:10px;border-radius:10px 10px 10px 2px;animation-name:ml-be}
.mo-live .bs{right:10px;border-radius:10px 10px 2px 10px;animation-name:ml-bs}
.mo-live .bars{position:absolute;right:9px;bottom:9px;display:flex;gap:2px;align-items:end;height:12px}
.mo-live .bars i{width:3px;border-radius:2px;background:#fff;height:3px}
.mo-live .ed .bars i{animation-name:ml-bar-ed}.mo-live .st .bars i{animation-name:ml-bar-st}
.mo-live .bars i:nth-child(2){animation-delay:.15s}.mo-live .bars i:nth-child(3){animation-delay:.3s}
.ml-board{top:auto;bottom:44px}
.ml-got{display:none}
@keyframes ml-be{0%,8%{opacity:0;transform:translateY(6px)}13%,42%{opacity:1;transform:none}47%,100%{opacity:0}}
@keyframes ml-bs{0%,55%{opacity:0;transform:translateY(6px)}60%,88%{opacity:1;transform:none}93%,100%{opacity:0}}
@keyframes ml-bar-ed{0%,10%{height:3px}12%,16%,20%,24%,28%,32%,36%,40%{height:12px}14%,18%,22%,26%,30%,34%,38%{height:5px}44%,100%{height:3px}}
@keyframes ml-bar-st{0%,56%{height:3px}58%,62%,66%,70%,74%,78%,82%,86%{height:12px}60%,64%,68%,72%,76%,80%,84%{height:5px}90%,100%{height:3px}}
/* Live card avatars: an educator with glasses and a student in a hoodie, drawn in brand colours */
.mo-live .face{width:50px;height:50px}
.mo-live .av{width:44px;height:44px;margin-top:4px;fill:none}
.mo-live .av .skin{fill:#f4e7df}.mo-live .av .hair{fill:#1f2226}
.mo-live .av-ed .body{fill:#fff}.mo-live .av-ed .collar{fill:none;stroke:#b3123e;stroke-width:1.6;stroke-linejoin:round}
.mo-live .av-ed .lens{fill:none;stroke:#1f2226;stroke-width:1.3}
.mo-live .av-st .body{fill:#b3123e}.mo-live .av-st .strings{stroke:#fff;stroke-width:1.4;stroke-linecap:round}
.mo-live .av-st .bun{fill:#1f2226}
.mo-live .ml-tiles{inset:18px 18px 56px}
.ml-board{left:auto;right:18px;bottom:12px;transform:none;padding:6px 12px}
.ml-board .eq{font-size:.875rem}
.mo-live .face{width:60px;height:60px}.mo-live .av{width:54px;height:54px;margin-top:6px}
@media(max-width:700px){.mo-live .face{width:54px;height:54px}.mo-live .av{width:48px;height:48px}}

/* Video lesson card: a small lesson player. The keys below are real buttons; they also take turns on their own
   while the card is on screen, so the interaction is visible without a click. */
.svc-art.pv{height:auto;padding:14px;display:grid;gap:10px;background:radial-gradient(120% 140% at 12% 0%,#30343b 0%,#1b1d21 55%,#141518 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.pv-video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,#2c3036,#1d2024);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.pv-presenter{position:absolute;left:6%;bottom:0;width:46%;height:82%}
.pv-av{position:absolute;inset:0;width:100%;height:100%;transition:opacity .35s,transform .35s}
.pv-av .skin{fill:#f1dfd4}.pv-av .hair{fill:#1f2226}.pv-av .neck{fill:#e6cfc1}
.pv-av .top{fill:#b3123e}.pv-av .top2{fill:#e9e8e4}.pv-av .tie{fill:#b3123e}
.pv-av .lens{fill:none;stroke:#1f2226;stroke-width:2.2}
.pv[data-narr="a"] .pv-b,.pv[data-narr="b"] .pv-a{opacity:0;transform:translateY(8px)}
.pv-tag{position:absolute;left:8px;top:8px;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.45);font-size:.625rem;font-weight:600;color:#fff;letter-spacing:.02em}
.pv-tag i{width:6px;height:6px;border-radius:50%;background:var(--brand)}
.pv[data-narr="a"] .tb,.pv[data-narr="b"] .ta{display:none}
.pv-board{position:absolute;right:5%;top:12%;width:44%;height:52%;border-radius:8px;background:rgba(255,255,255,.95);padding:6px;overflow:hidden}
.pv-arc{width:100%;height:100%}
.pv-arc path{fill:none;stroke:#1f2226;stroke-width:2;stroke-linecap:round}
.pv-arc .a{stroke:var(--brand);stroke-width:3;stroke-dasharray:160;stroke-dashoffset:0;transition:stroke-dashoffset .9s}
.pv-q,.pv-ask{position:absolute;inset:0;padding:8px 9px;background:#fff;display:grid;align-content:center;gap:3px;opacity:0;transition:opacity .3s}
.pv-q b,.pv-ask b{font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-text)}
.pv-q span,.pv-ask span{font-size:.6875rem;line-height:1.3;color:var(--ink);font-weight:600}
.pv[data-state="question"] .pv-q,.pv[data-state="ask"] .pv-ask{opacity:1}
.pv-sub{position:absolute;left:8px;right:8px;bottom:26px;text-align:center}
.pv-sub span{display:none;font-size:.6875rem;line-height:1.35;color:#fff;background:rgba(0,0,0,.6);padding:3px 7px;border-radius:4px}
.pv[data-state="explain"] .s-explain,.pv[data-state="narrator"] .s-explain,.pv[data-state="other"] .s-other,.pv[data-state="question"] .s-question,.pv[data-state="ask"] .s-ask{display:inline}
.pv-bar{position:absolute;left:8px;right:8px;bottom:7px;display:flex;align-items:center;gap:7px}
.pv-bar .play{width:0;height:0;border-left:7px solid #fff;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent}
.pv-bar .track{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.2);overflow:hidden}
.pv-bar .track i{display:block;height:100%;width:42%;background:var(--brand)}
.pv-bar .time{font-size:.5625rem;color:rgba(255,255,255,.7)}
.pv-keys{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pv-keys button{min-height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);color:#fff;font-size:.8125rem;font-weight:600;transition:background .2s,box-shadow .2s,transform .1s}
.pv-keys button:hover{background:rgba(255,255,255,.14)}
.pv-keys button[aria-pressed="true"]{background:var(--brand);box-shadow:0 0 0 1px var(--brand),0 8px 20px -6px rgba(179,18,62,.9)}
.pv-keys button:active{transform:scale(.97)}
.pv-keys button:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* All three card stages share the lesson player's height so the titles line up */
.svc-art.mo,.svc-art.pv{height:324px}
.svc-art.pv{align-content:center}
.mo-live .ml-tiles{inset:46px 22px 74px}
.mo-plan .mp-road{position:absolute;inset:0;align-content:center;gap:18px;padding:0 26px}
.mo-plan .mp-road::before,.mo-plan .mp-fill{top:calc(50% - 74px);bottom:calc(50% - 74px)}
@media(max-width:980px){.svc-art.mo{height:250px}.svc-art.pv{height:auto}}
/* Demo narrator: the same illustrated AI narrators as the lesson card */
.dm-face{position:relative;display:block;width:72px;height:72px;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#3a3e45,#24272c);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.dm-av{position:absolute;left:-4px;bottom:-2px;width:80px;height:68px}
.dm-av .skin{fill:#f1dfd4}.dm-av .hair{fill:#1f2226}.dm-av .neck{fill:#e6cfc1}.dm-av .top{fill:#b3123e}.dm-av .top2{fill:#e9e8e4}.dm-av .tie{fill:#b3123e}
.dm-av .lens{fill:none;stroke:#1f2226;stroke-width:2.2}
.dm-a{animation-name:dm-na}.dm-b{opacity:0;animation-name:dm-nb}
.dm-narr{width:88px}
.dm-av{left:-10px;bottom:-6px;width:92px;height:80px}

/* Consulting card: a roadmap that ticks itself off, a deadline in view, and an offer letter at the end.
   Base styles are the finished roadmap with the offer, which is what reduced motion shows. */
.mo-plan .rp-card{position:absolute;left:20px;right:20px;top:52px;border-radius:14px;padding:16px 16px 14px;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 20px 34px -22px rgba(0,0,0,.9)}
.rp-head{display:flex;justify-content:space-between;align-items:baseline;color:#fff}
.rp-head b{font-size:.875rem;font-weight:700}
.rp-pct{position:relative;width:40px;height:16px;font-family:var(--display);font-weight:700;font-size:.875rem;text-align:right}
.rp-pct span{position:absolute;right:0;top:0;opacity:0}
.rp-pct .p4{opacity:1}
.rp-pct .p0{animation-name:rp-p0}.rp-pct .p1{animation-name:rp-p1}.rp-pct .p2{animation-name:rp-p2}.rp-pct .p3{animation-name:rp-p3}.rp-pct .p4{animation-name:rp-p4}
.rp-bar{height:4px;border-radius:2px;background:rgba(255,255,255,.14);margin:10px 0 12px;overflow:hidden}
.rp-bar i{display:block;height:100%;width:100%;border-radius:2px;background:var(--brand);box-shadow:0 0 10px rgba(179,18,62,.9);transform-origin:left;animation-name:rp-bar}
.rp-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.rp-list li{display:flex;align-items:center;gap:10px;font-size:.8125rem;font-weight:600;color:#fff}
.rp-list .ck{width:18px;height:18px;flex:0 0 18px;border-radius:6px;display:grid;place-items:center;background:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.rp-list .ck svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rp-list .r1 .ck{animation-name:rp-c1}.rp-list .r2 .ck{animation-name:rp-c2}.rp-list .r3 .ck{animation-name:rp-c3}.rp-list .r4 .ck{animation-name:rp-c4}
.rp-list .r1{animation-name:rp-t1}.rp-list .r2{animation-name:rp-t2}.rp-list .r3{animation-name:rp-t3}.rp-list .r4{animation-name:rp-t4}
.rp-due{position:absolute;right:20px;top:16px;display:flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);font-size:.6875rem;font-weight:600;color:#fff}
.rp-due i{width:7px;height:7px;border-radius:50%;background:var(--brand);animation:ml-dot 1.4s infinite}
.rp-offer{position:absolute;left:34px;right:34px;bottom:16px;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#fff;box-shadow:0 22px 40px -14px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.4);animation-name:rp-offer}
.rp-offer .seal{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d02152,#9e0f36);box-shadow:0 6px 14px -4px rgba(179,18,62,.9)}
.rp-offer .seal svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rp-offer .txt{display:grid;gap:1px}
.rp-offer b{font-size:.875rem;color:var(--ink)}
.rp-offer .txt span{font-size:.75rem;color:var(--body)}
@keyframes rp-bar{0%,6%{transform:scaleX(0)}16%{transform:scaleX(.25)}30%{transform:scaleX(.5)}44%{transform:scaleX(.75)}58%,94%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes rp-c1{0%,10%{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}13%,94%{background:var(--brand);box-shadow:0 0 0 1px var(--brand)}100%{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}}
@keyframes rp-c2{0%,24%{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}27%,94%{background:var(--brand);box-shadow:0 0 0 1px var(--brand)}100%{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}}
@keyframes rp-c3{0%,38%{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}41%,94%{background:var(--brand);box-shadow:0 0 0 1px var(--brand)}100%{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}}
@keyframes rp-c4{0%,52%{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}55%,94%{background:var(--brand);box-shadow:0 0 0 1px var(--brand)}100%{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}}
@keyframes rp-t1{0%,10%{opacity:.55}13%,100%{opacity:1}}
@keyframes rp-t2{0%,24%{opacity:.55}27%,100%{opacity:1}}
@keyframes rp-t3{0%,38%{opacity:.55}41%,100%{opacity:1}}
@keyframes rp-t4{0%,52%{opacity:.55}55%,100%{opacity:1}}
@keyframes rp-p0{0%,13%{opacity:1}14%,100%{opacity:0}}
@keyframes rp-p1{0%,13%{opacity:0}14%,27%{opacity:1}28%,100%{opacity:0}}
@keyframes rp-p2{0%,27%{opacity:0}28%,41%{opacity:1}42%,100%{opacity:0}}
@keyframes rp-p3{0%,41%{opacity:0}42%,55%{opacity:1}56%,100%{opacity:0}}
@keyframes rp-p4{0%,55%{opacity:0}56%,96%{opacity:1}100%{opacity:0}}
@keyframes rp-offer{0%,62%{opacity:0;transform:translateY(40px) rotate(-2deg)}70%,93%{opacity:1;transform:none}99%,100%{opacity:0;transform:translateY(20px)}}
@media(max-width:980px){.mo-plan .rp-card{top:48px}.rp-offer{left:24px;right:24px}}

/* Lesson demo, interactive: data-state on .dm decides what the screen shows; buttons and list items set it */
.dm *{animation:none}
.dm .dm-screen::before{animation:mo-glow 12s ease-in-out infinite}
.dm .dm-caps p{opacity:0;clip-path:none;transition:opacity .35s}
.dm[data-state="narrator"] .k1,.dm[data-state="other"] .k2,.dm[data-state="question"] .k4,.dm[data-state="ask"] .k3{opacity:1}
.dm .dm-a,.dm .dm-b,.dm .na,.dm .nb{transition:opacity .35s}
.dm[data-narr="a"] .dm-b,.dm[data-narr="b"] .dm-a,.dm[data-narr="a"] .nb,.dm[data-narr="b"] .na{opacity:0}
.dm[data-narr="a"] .dm-a,.dm[data-narr="b"] .dm-b,.dm[data-narr="a"] .na,.dm[data-narr="b"] .nb{opacity:1}
.dm .dm-q{transition:opacity .35s,transform .35s}
.dm[data-state="question"] .dm-q{opacity:1;transform:none}
.dm .dm-ask .typed{transition:clip-path 1.2s steps(40)}
.dm[data-state="ask"] .dm-ask .typed{clip-path:inset(0 0 0 0)}
.dm[data-state="ask"] .dm-ask .ph{opacity:0}
.dm .dm-graph .arc{transition:stroke-dashoffset 1s}
.dm .dm-chips .chip{border:0;font:inherit;font-size:.8125rem;font-weight:600;color:#fff;cursor:pointer;transition:background .2s,box-shadow .2s}
.dm .dm-chips .chip:hover{background:rgba(255,255,255,.14)}
.dm .dm-chips .chip[aria-pressed="true"]{background:var(--brand);box-shadow:0 0 0 1px var(--brand),0 8px 22px -6px rgba(179,18,62,.9)}
.dm .dm-chips .chip:focus-visible{outline:2px solid #fff;outline-offset:2px}
.dm .demo-list li{padding:0;border-top:1px solid var(--line)}
.dm .demo-list li::before{display:none}
.dm .demo-list button{display:grid;gap:2px;width:100%;text-align:left;border:0;background:transparent;padding:14px 0 14px 16px;cursor:pointer;font:inherit;position:relative;border-radius:2px;transition:background .2s}
.dm .demo-list button::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:2px;background:var(--line);transition:background .2s}
.dm .demo-list button:hover{background:rgba(179,18,62,.04)}
.dm .demo-list button[aria-pressed="true"]{background:rgba(179,18,62,.06)}
.dm .demo-list button[aria-pressed="true"]::before{background:var(--brand)}
.dm .demo-list strong{font-size:1rem;color:var(--ink)}
.dm .demo-list span{font-size:.9375rem;color:var(--body)}
/* Consulting card on phones: room for the offer letter below the list */
@media(max-width:980px){.svc-art.mo.mo-plan{height:318px}}
.dm .dm-screen>*,.dm .dm-chips .chip{min-width:0}
.dm .dm-chips .chip{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);border-radius:999px;padding:10px 8px;line-height:1.25}
.dm-narr b{white-space:nowrap}

/* Lesson demo diagram: a real projectile path. Dots are equal time steps; arrows are velocity components. */
.dm .dm-board{height:178px;padding:8px 10px}
.dm-graph .lab{font-family:'DM Sans',sans-serif;font-size:8px;fill:rgba(255,255,255,.55)}
.dm-graph .axis{stroke:rgba(255,255,255,.3)}
.dm-graph .hmax{stroke:rgba(255,255,255,.3);stroke-width:1;stroke-dasharray:3 3}
.dm-graph .arc{stroke:rgba(255,255,255,.35);stroke-width:1.5}
.dm-graph .dots circle{fill:#fff}
.dm-graph .vx path{stroke:#fff;stroke-width:1.6;fill:none}
.dm-graph .vy path{stroke:#e0305f;stroke-width:1.6;fill:none}
.dm-graph .key text{font-family:'DM Sans',sans-serif;font-size:7.5px;font-weight:600}
.dm-graph .kx{fill:#fff}.dm-graph .ky{fill:#e0305f}
.dm-graph .vx,.dm-graph .vy,.dm-graph .key{opacity:0;transition:opacity .4s}
.dm[data-state="other"] .dm-graph .vx,.dm[data-state="other"] .dm-graph .vy,.dm[data-state="other"] .dm-graph .key,
.dm[data-state="ask"] .dm-graph .vx,.dm[data-state="ask"] .dm-graph .key{opacity:1}
.dm[data-state="ask"] .dm-graph .vy{opacity:.25}
.dm[data-state="ask"] .dm-graph .ky{opacity:.4}
.dm .ld-live{width:0;height:0;border-radius:0;background:none;border-left:8px solid var(--brand);border-top:5px solid transparent;border-bottom:5px solid transparent}
/* Video lesson versus live tutoring, side by side */
.vs{margin:24px 0 6px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vs>div{border-radius:var(--radius);padding:14px 16px;background:var(--bg)}
.vs .vs-video{background:var(--dark)}
.vs dt{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-text)}
.vs .vs-video dt{color:rgba(255,255,255,.7)}
.vs dd{margin:6px 0 0;font-size:.9375rem;font-weight:600;color:var(--ink);line-height:1.4}
.vs .vs-video dd{color:#fff}
@media(max-width:480px){.vs{grid-template-columns:1fr}}

/* How it works: three cards that play in turn (12 s loop). A kiraz line runs under the active card. */
.how-intro{max-width:620px;margin:-18px 0 30px;font-size:1.0625rem}
.how-flow{--t:12s;list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hf{position:relative;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:14px 14px 24px}
.hf::after{content:'';position:absolute;left:24px;right:24px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--brand);transform:scaleX(1);transform-origin:left}
.hf1::after{animation-name:hf-on1}.hf2::after{animation-name:hf-on2}.hf3::after{animation-name:hf-on3}
.hf>.step-no,.hf>h3,.hf>p{margin-inline:10px}
.hf .step-no{display:block;margin-top:20px}
.hf-art{position:relative;height:190px;border-radius:var(--radius);overflow:hidden;background:radial-gradient(120% 140% at 12% 0%,#30343b 0%,#1b1d21 55%,#141518 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.hf-art .row{display:flex;justify-content:space-between;gap:10px;font-size:.75rem;padding:6px 0;border-bottom:1px solid rgba(31,34,38,.08)}
.hf-art .row span{color:var(--body)}.hf-art .row b{color:var(--ink);font-weight:700}
/* 01 message */
.msg{position:absolute;inset:20px 20px 20px;background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 20px 34px -20px rgba(0,0,0,.9)}
.msg b{white-space:nowrap;overflow:hidden}
.msg .w1{animation-name:hf-w1}.msg .w2{animation-name:hf-w2}.msg .w3{animation-name:hf-w3}
.msg .send{position:absolute;right:14px;bottom:10px;font-size:.75rem;font-weight:700;color:#fff;background:var(--brand);padding:6px 12px;border-radius:999px;animation-name:hf-send}
/* 02 written scope */
.doc{position:absolute;inset:14px 20px;background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 20px 34px -20px rgba(0,0,0,.9)}
.doc-t{display:block;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text);margin-bottom:2px}
.doc .row{padding:4px 0}.doc .total b{font-family:var(--display);font-size:.9375rem}
.approve{position:absolute;right:12px;top:8px;display:flex;align-items:center;gap:6px;font-size:.6875rem;font-weight:700;color:#fff;background:var(--brand);padding:5px 10px 5px 6px;border-radius:999px;transform:rotate(-4deg);box-shadow:0 8px 18px -6px rgba(179,18,62,.9);animation-name:hf-ok}
.approve i{width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.25);display:grid;place-items:center}
.approve svg,.promises svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
/* 03 the karo takes its step, then the outcomes appear */
.big-karo{position:absolute;left:22px;top:50%;width:84px;height:84px;margin-top:-42px;border-radius:21px;background:linear-gradient(145deg,#d02152,#9e0f36);box-shadow:0 18px 30px -12px rgba(179,18,62,.9)}
.big-karo i{position:absolute;width:21px;height:42px}
.big-karo i:first-child{left:19.5px;top:28px;background:#141518;border-radius:21px 0 0 21px}
.big-karo i:last-child{left:44px;top:14px;background:#fff;border-radius:0 21px 21px 0;animation-name:hf-next}
.outs{list-style:none;margin:0;padding:0;position:absolute;left:126px;right:16px;top:50%;transform:translateY(-50%);display:grid;gap:8px}
.outs li{font-size:.75rem;font-weight:700;color:#fff;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.outs .o1{animation-name:hf-o1}.outs .o2{animation-name:hf-o2}.outs .o3{animation-name:hf-o3}
.promises{list-style:none;margin:0 0 30px;padding:18px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 28px}
.promises li{display:flex;align-items:center;gap:9px;font-size:.9375rem;font-weight:600;color:var(--ink)}
.promises svg{width:16px;height:16px;padding:3px;box-sizing:content-box;border-radius:50%;background:var(--brand);color:#fff}
@keyframes hf-on1{0%{transform:scaleX(0)}30%,33%{transform:scaleX(1)}36%,100%{transform:scaleX(0)}}
@keyframes hf-on2{0%,33%{transform:scaleX(0)}63%,66%{transform:scaleX(1)}69%,100%{transform:scaleX(0)}}
@keyframes hf-on3{0%,66%{transform:scaleX(0)}96%,99%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes hf-w1{0%,2%{max-width:0}9%,100%{max-width:140px}}
@keyframes hf-w2{0%,9%{max-width:0}16%,100%{max-width:140px}}
@keyframes hf-w3{0%,16%{max-width:0}23%,100%{max-width:140px}}
@keyframes hf-send{0%,25%{transform:none;box-shadow:none}27%{transform:scale(.92)}29%,100%{transform:none;box-shadow:0 8px 18px -6px rgba(179,18,62,.9)}}
@keyframes hf-ok{0%,46%{opacity:0;transform:rotate(-4deg) scale(1.6)}50%,100%{opacity:1;transform:rotate(-4deg) scale(1)}}
@keyframes hf-next{0%,70%{transform:translateY(14px)}76%,100%{transform:none}}
@keyframes hf-o1{0%,78%{opacity:0;transform:translateX(10px)}81%,100%{opacity:1;transform:none}}
@keyframes hf-o2{0%,82%{opacity:0;transform:translateX(10px)}85%,100%{opacity:1;transform:none}}
@keyframes hf-o3{0%,86%{opacity:0;transform:translateX(10px)}89%,100%{opacity:1;transform:none}}
@media(max-width:980px){.how-flow{grid-template-columns:1fr;max-width:560px}}
.how-flow .hf::after{animation-duration:12s;animation-iteration-count:infinite;animation-timing-function:linear}
.how-flow.is-paused .hf::after{animation-play-state:paused}
.msg b{display:inline-block}
.demo-band h2 .accent{display:block}
/* How it works, retimed: each card plays its own moment early in the loop and then holds the finished state,
   so a card is complete whenever it is seen (phones show the cards one at a time). */
.hf::after{display:none}
.doc{inset:12px 20px 32px}
.approve{top:auto;bottom:-25px;right:4px}
@keyframes hf-w1{0%,4%{max-width:0}12%,97%{max-width:140px}100%{max-width:0}}
@keyframes hf-w2{0%,12%{max-width:0}20%,97%{max-width:140px}100%{max-width:0}}
@keyframes hf-w3{0%,20%{max-width:0}28%,97%{max-width:140px}100%{max-width:0}}
@keyframes hf-send{0%,30%{transform:none}32%{transform:scale(.9)}35%,100%{transform:none}}
@keyframes hf-ok{0%,22%{opacity:0;transform:rotate(-4deg) scale(1.6)}27%,97%{opacity:1;transform:rotate(-4deg) scale(1)}100%{opacity:0}}
@keyframes hf-next{0%,10%{transform:translateY(14px)}18%,97%{transform:none}100%{transform:translateY(14px)}}
@keyframes hf-o1{0%,22%{opacity:0;transform:translateX(10px)}27%,97%{opacity:1;transform:none}100%{opacity:0}}
@keyframes hf-o2{0%,30%{opacity:0;transform:translateX(10px)}35%,97%{opacity:1;transform:none}100%{opacity:0}}
@keyframes hf-o3{0%,38%{opacity:0;transform:translateX(10px)}43%,97%{opacity:1;transform:none}100%{opacity:0}}

/* Lesson section with two modes: the switch shows either the video lesson or the live session */
.dm[data-mode="video"] [data-pane="live"],.dm[data-mode="live"] [data-pane="video"]{display:none!important}
.vs button{display:grid;gap:6px;text-align:left;border:0;cursor:pointer;font:inherit;border-radius:var(--radius);padding:14px 16px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);transition:background .2s,box-shadow .2s,transform .1s}
.vs button b{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-text)}
.vs button span{font-size:.9375rem;font-weight:600;color:var(--ink);line-height:1.4}
.vs button:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.vs button[aria-selected="true"]{background:var(--dark);box-shadow:0 14px 28px -16px rgba(31,34,38,.8)}
.vs button[aria-selected="true"] b{color:rgba(255,255,255,.7)}
.vs button[aria-selected="true"] span{color:#fff}
.vs button:focus-visible{outline:2px solid var(--dark);outline-offset:3px}
.vs button:active{transform:scale(.99)}
/* Live session screen */
.lv-screen{position:relative;background:radial-gradient(120% 120% at 10% 0%,#30343b 0%,#1b1d21 60%,#141518 100%);color:#fff;border-radius:var(--radius-lg);padding:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),var(--shadow);display:grid;gap:14px;overflow:hidden}
.lv-screen>*{min-width:0}
.lv-screen .ld-topic{background:rgba(255,255,255,.08)}
.lv-dot{width:8px;height:8px;border-radius:50%;background:#e0305f;box-shadow:0 0 0 4px rgba(224,48,95,.2)}
.lv-call{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lv-tile{position:relative;height:118px;border-radius:14px;display:grid;place-items:center;padding:8px}
.lv-ed{background:linear-gradient(160deg,#d02152,#9e0f36)}
.lv-st{background:linear-gradient(160deg,#3a3e45,#262a2f);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.lv-tile b{position:absolute;left:10px;bottom:8px;font-size:.6875rem;font-weight:600;color:rgba(255,255,255,.8)}
.lv-face{position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16)}
.lv-av{width:58px;height:58px;margin-top:6px}
.lv-av .skin{fill:#f4e7df}.lv-av .hair{fill:#1f2226}.lv-av .body-e{fill:#fff}.lv-av .collar{fill:none;stroke:#b3123e;stroke-width:1.6}
.lv-av .lens{fill:none;stroke:#1f2226;stroke-width:1.3}.lv-av .body-s{fill:#b3123e}.lv-av .strings{stroke:#fff;stroke-width:1.4;stroke-linecap:round}
.lv-face .ring{position:absolute;inset:-6px;border-radius:50%;border:2px solid #fff;opacity:0;transition:opacity .3s}
.dm[data-state="think"] .lv-st .ring,.dm[data-state="work"] .lv-st .ring,.dm[data-state="share"] .lv-ed .ring,.dm[data-state="askl"] .lv-ed .ring{opacity:1}
.lv-say{position:relative;min-height:52px}
.lv-say p{position:absolute;inset:0;margin:0;font-size:1rem;line-height:1.45;color:#fff;opacity:0;transition:opacity .35s}
.lv-say b{display:block;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:2px}
.dm[data-state="think"] .sy-think,.dm[data-state="share"] .sy-share,.dm[data-state="askl"] .sy-askl,.dm[data-state="work"] .sy-work{opacity:1}
.lv-board{position:relative;height:118px;border-radius:var(--radius);background:#fff;padding:12px 16px;color:var(--ink)}
.lv-label{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--body)}
.bd{position:absolute;left:16px;right:16px;top:34px;display:grid;gap:6px;opacity:0;transition:opacity .35s}
.bd .ln{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--ink)}
.bd .ok{color:var(--brand)}
.bd .mark{position:absolute;right:0;top:4px;width:30px;height:30px;border-radius:50%;border:2px solid var(--brand);display:grid;place-items:center;font-weight:700;color:var(--brand)}
.dm[data-state="share"] .bd-share,.dm[data-state="askl"] .bd-askl,.dm[data-state="work"] .bd-work{opacity:1}
.dm .lv-screen .dm-chips .chip{border:0;font:inherit;font-size:.8125rem;font-weight:600;color:#fff;cursor:pointer;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);border-radius:999px;padding:10px 8px;min-width:0}
.dm .lv-screen .dm-chips .chip[aria-pressed="true"]{background:var(--brand);box-shadow:0 0 0 1px var(--brand),0 8px 22px -6px rgba(179,18,62,.9)}
@media(max-width:700px){.lv-tile{height:100px}.lv-face{width:54px;height:54px}.lv-av{width:48px;height:48px}.lv-say{min-height:70px}.bd .ln{font-size:.9375rem}}
.vs button:not([aria-selected="true"]){background:var(--bg)}
.vs button:not([aria-selected="true"]) b{color:var(--brand-text)}
.vs button:not([aria-selected="true"]) span{color:var(--ink)}
.demo-copy [data-pane]>p{margin-top:22px;max-width:540px;font-size:1.0625rem}
.bd .ln{font-family:'DM Sans',system-ui,sans-serif;font-weight:700;letter-spacing:0}
@media(max-width:700px){.lv-tile{height:116px;place-items:start center;padding-top:12px}}
/* Live tutoring page opening: copy on the left, the interactive live session on the right */
.live-hero .curriculum-strip{margin-top:36px;padding-top:22px;gap:22px;flex-wrap:wrap}
.live-hero .curriculum-strip>span{font-size:1.5rem}
.live-hero .curriculum-strip>p{margin-left:0;width:100%}


/* Inline inquiry form on the contact page (the same form as the dialog on other pages) */
.form-card{background:var(--dark);color:#fff;padding:34px;border-radius:var(--radius-lg);color-scheme:dark;box-shadow:var(--shadow);align-self:start}
.form-card :focus-visible{outline-color:#fff}
.form-card p{color:var(--dark-text)}
.form-card a{color:#fff}
.form-card .eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bg-soft);margin-bottom:14px}
.form-card h2{font-size:2rem;color:#fff}
.contact-layout:has(.form-card){grid-template-areas:"intro form" "book form";grid-template-rows:auto 1fr;row-gap:36px}
.contact-intro{grid-area:intro}.contact-layout>.form-card{grid-area:form}.contact-layout>.contact-book{grid-area:book;align-self:start}
/* WhatsApp button, phones only */
.wa-float{display:none}
@media(max-width:700px){
  .form-card{padding:26px 20px}
  .contact-layout:has(.form-card){grid-template-areas:"intro" "form" "book"}
  .form-card h2{font-size:1.7rem}
  .wa-float{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:900;display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 15px 0 13px;border-radius:999px;background:var(--brand);color:#fff;font-size:14px;font-weight:600;box-shadow:0 12px 26px -12px rgba(179,18,62,.75)}
  .wa-float svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linejoin:round}
  body.modal-open .wa-float,body.captcha-active .wa-float{display:none}
  .footer{padding-bottom:72px}
  /* Lesson screen: diagram labels at least 11px and the header line kept whole */
  .dm-graph .lab{font-size:12.5px}
  .dm-graph .key text{font-size:12.5px}
  .dm-graph .ky{transform:translateY(7px)}
  .dm-graph .key text,.dm-graph .lab{paint-order:stroke;stroke:#1d1f23;stroke-width:4px;stroke-linejoin:round}
  .dm-graph>text.lab:nth-of-type(1){transform:translate(-26px,4px)}
  .dm-graph>text.lab:nth-of-type(3){transform:translate(26px,-3px)}
  .ld-top{flex-wrap:wrap;row-gap:8px}
  .ld-top>span{white-space:nowrap}
}
