:root {
  --purple:#8471e8; --deep:#7360d6; --purple-ink:#5d4bc4; --mint:#8adcce;
  --ink:#2a2440; --muted:#756d85; --paper:#f8f7fb; --soft:#eeebf8;
  --line:#e4dfef; --dark:#282035; --radius:18px; --gallery-height:230px;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:104px }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Ghroob,Tahoma,sans-serif; font-weight:400; font-size:16px; line-height:1.9; font-synthesis:none; -webkit-font-smoothing:antialiased }
a { color:inherit; text-decoration:none }
button { font:inherit; color:inherit; cursor:pointer }
button,a,summary { -webkit-tap-highlight-color:transparent; touch-action:manipulation }
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--mint); outline-offset:5px }
p,h1,h2,h3,figure { margin:0 }
img { display:block; max-width:100%; height:auto }
strong,b { font-weight:500 }
button { border:0 }
.container { width:calc(100% - 96px); max-width:1240px; margin-inline:auto }
.section { padding-block:82px }
.icon-definitions { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none }
.icon { width:22px; height:22px; display:inline-block; vertical-align:middle; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0 }
.skip-link { position:fixed; top:-100px; right:20px; z-index:100; padding:12px; background:var(--mint) }
.skip-link:focus { top:12px }
.site-header { position:sticky; top:0; z-index:20; color:white; background:#7360d6f5; border-bottom:1px solid #ffffff25; backdrop-filter:blur(16px) }
.nav-wrap { height:86px; display:flex; align-items:center; gap:28px; position:relative }
.brand { display:flex; align-items:center; gap:10px; flex-shrink:0 }
.brand img { width:49px; height:42px; object-fit:contain }
.brand>span { font-size:21px; font-weight:500; line-height:1.65; white-space:nowrap }
.brand small { font-size:8px; font-weight:300; letter-spacing:1.8px; line-height:1; display:block; margin-top:3px }
.main-nav { display:flex; justify-content:center; align-items:center; flex:1; gap:22px }
.main-nav a { font-size:14px; opacity:.9; white-space:nowrap }
.main-nav a:hover { opacity:1; color:var(--mint) }
.nav-contact { display:flex; align-items:center; gap:14px; border:1px solid #ffffff66; border-radius:100px; padding:7px 16px; white-space:nowrap; font-size:14px }
.nav-contact .icon { width:18px; height:18px }
.nav-toggle { display:none; background:transparent; color:white; width:44px; height:44px; border:1px solid #ffffff55; border-radius:50%; align-items:center; justify-content:center }
.hero { position:relative; overflow:hidden; color:white; background:radial-gradient(ellipse at 16% 30%,#aa98ee 0%,transparent 48%),linear-gradient(118deg,#9782eb,#806cdd 68%,#7360d6) }
.hero-layout { display:grid; grid-template-columns:1.07fr 1fr; align-items:center; gap:64px; padding-block:58px; min-height:642px }
.hero-grain { position:absolute; inset:0; pointer-events:none; opacity:.03; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E") }
.hero-copy { position:relative }
.eyebrow { display:flex; align-items:center; gap:12px; color:var(--purple-ink); font-size:15px; font-weight:400; margin-bottom:14px }
.eyebrow>span:first-child:not(.eyebrow-line) { font-size:12px; direction:ltr; opacity:.65 }
.eyebrow.light { color:#eee9ff }
.eyebrow-line { display:block; width:24px; height:2px; background:var(--mint) }
.hero h1 { font-size:58px; font-weight:500; line-height:1.55; margin-bottom:16px; letter-spacing:0 }
.hero h1 span { color:var(--mint); white-space:nowrap }
.hero-copy>p { font-size:20px; font-weight:300; line-height:1.9; color:#f5f1ff }
.hero-actions { display:flex; align-items:center; gap:24px; margin-top:29px }
.button { display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:12px 24px; border-radius:100px; font-size:16px; font-weight:500; min-height:52px; line-height:1.6; white-space:nowrap; transition:transform .2s,background .2s,box-shadow .2s }
.button:hover { transform:translateY(-2px); box-shadow:0 8px 24px #24153d14 }
.button>span { display:inline-flex }
.mint { background:var(--mint); color:#143a32 }
.purple-button { background:var(--deep); color:white }
.purple-button:hover { background:#6250be }
.dark-button { background:var(--ink); color:white }
.text-link { display:inline-flex; align-items:center; gap:10px; font-size:14px; font-weight:400; padding-block:4px; border-bottom:1px solid #aa9bbd66; line-height:1.8 }
.text-link>span { display:inline-flex }
.text-link:hover { border-color:currentColor }
.text-link.light { color:#fff; border-color:#ffffff55 }
.text-link .icon { width:19px; height:19px }
.hero-proof { display:flex; align-items:center; gap:17px; margin-top:30px; width:fit-content }
.proof-number { font-size:40px; line-height:1.2; color:var(--mint); border-left:1px solid #ffffff3b; padding-left:17px; font-weight:500 }
.hero-proof strong { font-size:15px }
.hero-proof small { display:block; color:#ece5fc; font-size:12px; font-weight:300 }
.hero-art { position:relative; min-width:0; height:530px; direction:ltr }
.hero-course { display:block; background:#fff; border:1px solid #ffffff96; border-radius:15px; padding:7px; width:85%; max-width:390px; position:absolute; box-shadow:0 22px 45px #3a216530; transition:transform .25s }
.hero-course img { width:100%; border-radius:9px; height:auto; object-fit:contain }
.hero-course>span { display:flex; justify-content:space-between; align-items:center; gap:10px; color:var(--ink); font-size:16px; direction:rtl; padding:8px 8px 5px; font-weight:400 }
.hero-course .icon { width:18px; height:18px; color:var(--purple-ink) }
.hero-mindset { top:0; right:0; transform:rotate(3deg) }
.hero-presentation { top:190px; left:0; transform:rotate(-3deg) }
.hero-mindset:hover { transform:rotate(0deg) translateY(-3px) }
.hero-presentation:hover { transform:rotate(0deg) translateY(-3px) }
.hero-bottom { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #ffffff2c; height:58px; color:#e8e0fa; font-size:12px; font-weight:300; position:relative }
.hero-bottom>span:nth-child(2) { font-size:10px; letter-spacing:2px }
.hero-bottom>a { color:var(--mint); line-height:1 }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:30px }
h2 { font-size:38px; font-weight:500; line-height:1.65 }
.purple { color:var(--purple) }
.mint-text { color:var(--mint) }
.section-heading>p,.work-intro>p { font-size:16px; line-height:1.9; color:var(--muted); font-weight:300; padding-bottom:6px }
.course-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px }
.course-card { border:1px solid var(--line); border-radius:var(--radius); background:white; padding:14px 28px 20px; display:flex; flex-direction:column; min-width:0; overflow:hidden }
.course-card.mindset { border-color:#cabaf0 }
.course-cover { margin:0 -14px 23px; background:#f7f5ff; border-radius:12px; overflow:hidden; aspect-ratio:1600/1120 }
.course-cover img { width:100%; height:100%; object-fit:contain }
.course-top { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px }
.course-kind { color:var(--muted) }
.sale-badge { display:inline-flex; border-radius:100px; padding:4px 13px; color:#143a32; background:var(--mint); font-size:13px; font-weight:500; white-space:nowrap }
.course-title-row { margin-block:17px 13px }
.course-title-row h3 { font-size:28px; font-weight:500; line-height:1.6 }
.course-title-row h3>span { font-weight:400; color:var(--purple-ink) }
.course-description { color:var(--muted); font-size:16px; line-height:1.9; font-weight:300; min-height:60px }
.course-points { display:flex; flex-wrap:wrap; gap:8px 16px; list-style:none; padding:0; margin:18px 0 23px; font-size:13px; color:#62566f }
.course-points li { display:flex; align-items:center; gap:7px }
.course-points li:before { content:''; width:4px; height:4px; border-radius:50%; background:var(--purple) }
.bundle-note,.presentation-note { display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:12px; min-height:82px; margin-bottom:24px }
.bundle-note { background:#f0ebfa; color:#534171 }
.bundle-note>span { display:inline-flex; color:var(--purple-ink) }
.bundle-note strong,.presentation-note strong { font-size:15px }
.bundle-note small,.presentation-note small { display:block; color:var(--muted); font-size:12px; font-weight:300; line-height:1.8; margin-top:3px }
.presentation-note { background:#f5f5f0; color:var(--ink) }
.duration-number { font-size:42px; font-weight:300; line-height:1.2; color:#706476 }
.presentation-note>span:last-child { margin-right:auto; color:#8b8193; display:inline-flex }
.course-purchase { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:auto }
.price { display:flex; flex-direction:column; align-items:flex-start }
.price>div { display:flex; align-items:baseline; gap:8px }
.price strong { font-size:38px; font-weight:500; line-height:1.3; direction:ltr }
.price span { font-size:14px; color:var(--muted) }
.price del { font-size:19px; color:#948899; margin-right:5px; direction:ltr; font-weight:300 }
.price small { color:var(--purple-ink); font-size:11px; margin-top:4px; font-weight:300 }
.course-purchase .button { padding:12px 20px; gap:16px; font-size:15px }
.course-meta { display:flex; justify-content:space-between; gap:10px; border-top:1px solid var(--line); color:#877b93; font-size:11px; font-weight:300; margin-top:23px; padding-top:13px }
.rating { display:flex; align-items:center; gap:6px; direction:ltr; font-size:15px }
.rating small { color:var(--muted); font-size:11px; direction:rtl }
.rating .icon { width:17px; height:17px; color:var(--purple) }
.student-work { padding-block:66px 23px; color:white; background:var(--dark); overflow:hidden }
.student-work .eyebrow { color:#c4b5e4 }
.work-intro { display:flex; gap:23px; align-items:center }
.work-intro>p { color:#c5bbd2; font-size:14px }
.motion-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap; border:1px solid #ffffff3b; border-radius:100px; background:#ffffff08; color:#f3eefa; padding:8px 14px; min-height:42px; font-size:13px; line-height:1.6 }
.motion-icon { display:flex }
.motion-icon .icon { width:17px; height:17px }
.gallery-rows { display:flex; flex-direction:column; gap:12px; direction:ltr; overflow:hidden; contain:paint }
.marquee-row { display:flex; width:100%; overflow:hidden; position:relative }
.marquee-track { display:flex; width:max-content; animation:marquee 120s linear infinite; will-change:transform }
.marquee-row:nth-child(2) .marquee-track { animation-direction:reverse; animation-duration:138s }
.marquee-row:nth-child(3) .marquee-track { animation-duration:110s }
.marquee-group { display:flex; flex:none; gap:12px; padding-right:12px }
.gallery-card { position:relative; flex:none; width:calc(var(--gallery-height) * var(--image-ratio)); height:var(--gallery-height); background:#3e344e; padding:0; border-radius:9px; overflow:hidden }
.gallery-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s }
.gallery-card:focus-visible { outline-offset:-4px }
.gallery-credit { position:absolute; inset:auto 0 0; display:flex; justify-content:space-between; align-items:end; gap:12px; direction:rtl; text-align:right; font-size:12px; line-height:1.7; color:#fff; padding:30px 12px 10px; background:linear-gradient(transparent,#130b239e); opacity:0; transition:opacity .2s; pointer-events:none }
.gallery-credit strong { font-size:13px; font-weight:400 }
.gallery-card:focus-visible .gallery-credit { opacity:1 }
.marquee-row:has(:focus-visible) .marquee-track,.gallery-rows.paused .marquee-track,.dialog-open .marquee-track { animation-play-state:paused }
.work-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:19px; color:#b5a6c5; font-size:12px; font-weight:300 }
.work-bottom .text-link { font-size:13px; border:0 }
.review-tabs { display:flex; gap:13px; border-bottom:1px solid var(--line); margin-bottom:22px }
.review-tabs button { display:flex; align-items:center; gap:12px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; padding:12px 17px 16px; color:#8c809b; font-size:17px; margin-bottom:-1px }
.review-tabs button span { font-size:11px; background:#ede7f5; border-radius:100px; padding:2px 9px; font-weight:300; white-space:nowrap }
.review-tabs button[aria-selected=true] { color:var(--purple-ink); font-weight:500; border-color:var(--purple) }
.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px }
.review-grid[hidden] { display:none }
.mindset-reviews { grid-template-columns:repeat(2,minmax(0,1fr)) }
.review-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:23px; display:flex; flex-direction:column; min-height:260px }
.review-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px }
.review-course { color:#8a759e; font-size:12px; font-weight:300 }
.quote-mark { font-size:50px; line-height:.8; color:#baa6dc; height:26px; font-weight:300 }
.review-card blockquote { font-size:17px; line-height:1.9; margin:20px 0 24px; font-weight:400; flex:1 }
.review-card figcaption { display:flex; align-items:center; gap:12px }
.avatar { flex-shrink:0; width:38px; height:38px; border-radius:50%; background:#ede7f6; color:var(--purple-ink); font-size:18px; display:grid; place-items:center; padding-top:3px }
.review-card figcaption strong { display:block; font-size:14px; font-weight:500; line-height:1.8 }
.review-card figcaption div>span { display:block; font-size:11px; font-weight:300; color:var(--muted) }
.review-source { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:12px; color:#93869e; margin-top:20px; font-weight:300 }
.review-source .text-link { font-size:13px }
.reviews-mobile-hint { display:none }
.instagram-invite { margin-top:27px; padding:22px 27px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-block:1px solid #dfd4ee; color:var(--purple-ink) }
.instagram-invite strong { display:block; font-size:21px; font-weight:500 }
.instagram-invite small { display:block; font-size:14px; color:var(--muted); font-weight:300; margin-top:3px }
.invite-handle { display:flex; align-items:center; gap:18px; direction:ltr; font-size:17px; flex-shrink:0 }
.products { padding-bottom:12px }
.product-panel { background:#ede8f6; border-radius:var(--radius); padding:48px; display:grid; grid-template-columns:.95fr 1.05fr; gap:65px; align-items:center; direction:ltr; border:1px solid #dfd6ed }
.product-copy { direction:rtl; min-width:0 }
.product-copy h2 { font-size:37px; margin-bottom:14px }
.product-copy>p:not(.included-reminder) { font-size:16px; line-height:1.9; color:var(--muted); font-weight:300 }
.product-visual { min-width:0; width:100% }
.product-visual img { width:100%; height:auto; object-fit:contain; border-radius:12px }
.product-pricing { display:flex; align-items:center; gap:18px; margin-block:22px }
.product-pricing .price { flex-direction:row; align-items:baseline; gap:8px }
.product-pricing .price strong { font-size:36px }
.product-actions { display:flex; align-items:center; gap:24px }
.product-actions .button { font-size:15px; padding:11px 22px }
.product-actions .text-link { font-size:13px }
.included-reminder { display:flex; align-items:center; gap:7px; font-size:12px; color:#625071; margin-top:19px; font-weight:300; line-height:1.9 }
.included-reminder>span { display:flex; flex-shrink:0 }
.included-reminder .icon { width:17px; height:17px }
.about-layout { display:grid; grid-template-columns:1fr .58fr; gap:90px; align-items:center }
.about-copy h2 { font-size:35px; margin-bottom:16px }
.about-copy>p { font-size:17px; line-height:2; color:var(--muted); font-weight:300; margin-bottom:15px; max-width:720px }
.about-copy>p strong { color:var(--ink) }
.about-copy .text-link { font-size:14px }
.about-stats { display:grid; grid-template-columns:1fr 1fr; gap:30px; border-right:1px solid var(--line); padding-right:38px }
.about-stats strong { display:block; color:var(--purple-ink); font-size:50px; line-height:1.4; font-weight:400; direction:ltr; text-align:right }
.about-stats span { display:block; font-size:13px; color:var(--muted); font-weight:300; margin-top:6px }
.faq { border-top:1px solid var(--line); padding-top:66px }
.faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:75px }
.faq h2 { font-size:37px; margin-bottom:21px }
.faq-layout>div>p { color:var(--muted); font-size:16px; font-weight:300; margin-bottom:14px }
.faq-list details { border-bottom:1px solid var(--line); padding:20px 0 }
.faq-list details:first-child { padding-top:4px }
.faq-list summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:30px; font-size:17px; font-weight:400; line-height:1.9 }
.faq-list summary::-webkit-details-marker { display:none }
.faq-list summary>span { display:flex; color:var(--purple); flex-shrink:0; transition:transform .2s }
.faq-list details[open] summary>span { transform:rotate(45deg) }
.faq-list details p { color:var(--muted); font-size:16px; font-weight:300; line-height:2; margin-top:14px; padding-left:22px }
.final-cta { color:white; background:var(--deep) }
.final-cta>.container { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:42px }
.final-cta .eyebrow { font-size:14px; margin-bottom:8px }
.final-cta h2 { font-size:33px; font-weight:500 }
.final-cta .button { flex-shrink:0 }
footer { color:#e8e2f1; background:var(--dark); padding-top:35px }
.footer-main { display:flex; align-items:center; gap:28px; padding-bottom:31px }
.footer-main>p { color:#b6a9c3; font-size:13px; font-weight:300 }
.social-links { display:flex; gap:22px; margin-right:auto; font-size:13px }
.social-links a { display:flex; gap:5px; align-items:center }
.social-links .icon { width:15px; height:15px }
.social-links a:hover { color:var(--mint) }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #ffffff1c; padding-block:17px; color:#b4a8c0; font-size:11px; font-weight:300 }
.footer-bottom>span:last-child { color:#c4b2de }
.dialog-open { overflow:hidden }
dialog { width:1000px; max-width:calc(100vw - 40px); max-height:92dvh; border:1px solid #ffffff30; background:#251d30; color:white; border-radius:var(--radius); padding:0; overflow:auto; box-shadow:0 30px 120px #0008 }
dialog::backdrop { background:#130d1ddc; backdrop-filter:blur(10px) }
.dialog-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 24px; border-bottom:1px solid #ffffff1a }
.dialog-header h2 { font-size:25px; font-weight:400; line-height:1.7 }
.dialog-header>div>span { font-size:13px; color:#c5b5d5; font-weight:300 }
.dialog-close { width:42px; height:42px; border-radius:50%; border:1px solid #ffffff40; background:transparent; color:white; display:grid; place-items:center; flex-shrink:0 }
.dialog-image-wrap { display:grid; grid-template-columns:50px minmax(0,1fr) 50px; align-items:center; gap:10px; padding:18px }
.dialog-image-wrap img { width:100%; height:min(58dvh,650px); object-fit:contain; background:#211a28; border-radius:8px }
.dialog-image-wrap>button { width:42px; height:42px; border-radius:50%; border:1px solid #ffffff30; background:#ffffff0d; color:white; display:grid; place-items:center }
.dialog-footer { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:7px 24px 20px; color:#c5b9d2; font-size:13px; font-weight:300 }
.dialog-footer a { display:flex; gap:6px; align-items:center; border-bottom:1px solid #746982; padding-block:4px }
.dialog-footer .icon { width:17px; height:17px }
.dialog-dots { display:flex; gap:4px }
.dialog-dots button { width:26px; height:26px; padding:8px; border:0; background:transparent; position:relative }
.dialog-dots button:after { content:''; display:block; width:10px; height:10px; border-radius:50%; border:1px solid #bfb0d7; background:transparent }
.dialog-dots button[aria-current=true]:after { background:var(--mint); border-color:var(--mint) }
@keyframes marquee { from {transform:translateX(0)} to {transform:translateX(-50%)} }
@media(hover:hover) {
  .gallery-card:hover img { transform:scale(1.045) }
  .gallery-card:hover .gallery-credit { opacity:1 }
  .marquee-row:hover .marquee-track { animation-play-state:paused }
}
@media(max-width:1190px) {
  .container { width:calc(100% - 64px) }
  .nav-wrap { gap:20px }
  .main-nav { gap:14px }
  .main-nav a { font-size:13px }
  .brand>span { font-size:19px }
  .nav-contact { font-size:13px; padding-inline:13px }
  .hero-layout { gap:34px; min-height:590px }
  .hero h1 { font-size:50px }
  .hero-copy>p { font-size:18px }
  .hero-art { height:450px }
  .hero-course { width:88% }
  .hero-presentation { top:190px }
  .hero-course>span { font-size:15px }
  .course-card { padding-inline:24px }
  .course-purchase .button { font-size:14px; gap:12px; padding-inline:17px }
  .work-intro { gap:18px }
  h2,.student-work h2 { font-size:33px }
  .product-panel { padding:35px; gap:42px }
  .product-copy h2 { font-size:32px }
  .about-layout { gap:50px }
  .about-copy h2 { font-size:31px }
  .about-stats { gap:22px; padding-right:25px }
  .social-links { gap:15px }
  .footer-main { gap:20px }
}
@media(max-width:960px) {
  html { scroll-padding-top:91px }
  .container { width:calc(100% - 48px) }
  .section { padding-block:62px }
  .nav-wrap { height:76px; gap:16px }
  .nav-contact { margin-right:auto }
  .nav-toggle { display:flex; flex-shrink:0 }
  .main-nav { position:absolute; top:86px; inset-inline:0; background:#6551c1; border:1px solid #ffffff3b; box-shadow:0 20px 55px #25113e33; border-radius:16px; padding:18px; grid-template-columns:1fr 1fr; gap:0 }
  .main-nav:not(.open) { display:none }
  .main-nav.open { display:grid }
  .main-nav a { font-size:16px; padding:10px 12px; border-radius:8px }
  .main-nav a:hover { background:#ffffff0c }
  .hero-layout { padding-block:42px; gap:25px; min-height:540px }
  .hero h1 { font-size:41px }
  .hero-copy>p { font-size:17px }
  .hero-art { height:390px }
  .hero-course { width:90%; border-radius:12px }
  .hero-presentation { top:175px }
  .hero-course>span { font-size:13px; padding-inline:3px }
  .hero-course .icon { width:15px }
  .hero-actions { flex-wrap:wrap; gap:15px; margin-top:22px }
  .hero-proof { margin-top:23px }
  .hero-proof small { font-size:11px }
  .proof-number { font-size:34px }
  .hero-bottom { font-size:11px }
  .course-card { padding-inline:20px }
  .course-top { align-items:start; font-size:12px }
  .sale-badge { font-size:12px; padding-inline:10px }
  .course-title-row h3 { font-size:26px }
  .course-description { font-size:15px }
  .course-points { font-size:12px; gap:5px 13px }
  .bundle-note,.presentation-note { padding:13px; gap:11px }
  .bundle-note strong { font-size:14px }
  .bundle-note small { font-size:11px }
  .course-purchase { flex-direction:column; align-items:stretch; gap:16px }
  .course-purchase .price { flex-direction:row; justify-content:space-between; align-items:center }
  .course-purchase .price small { margin:0 }
  .course-purchase .button { width:100%; justify-content:space-between }
  .course-meta { font-size:10px }
  .section-heading { align-items:start; gap:23px }
  .section-heading>p { font-size:14px }
  .work-intro { flex-direction:column; align-items:flex-start; gap:12px }
  .work-intro>p { font-size:13px }
  .review-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .instagram-invite { padding-inline:15px }
  .product-panel { gap:29px; padding:28px }
  .product-copy h2 { font-size:29px }
  .product-copy>p:not(.included-reminder) { font-size:15px }
  .product-actions { gap:15px; flex-wrap:wrap }
  .about-layout { grid-template-columns:1.4fr 1fr; gap:35px }
  .about-copy h2 { font-size:30px }
  .about-stats { gap:20px; grid-template-columns:1fr }
  .about-stats strong { font-size:41px }
  .about-stats span { margin:0 }
  .faq-layout { gap:40px }
  .faq h2 { font-size:30px }
  .faq-list summary { font-size:16px }
  .final-cta h2 { font-size:28px }
  .footer-main { display:grid; grid-template-columns:1fr 1fr; gap:22px }
  .footer-main>p { text-align:left }
  .social-links { grid-column:1/-1; margin:0; justify-content:space-between }
}
@media(max-width:700px) {
  :root { --gallery-height:172px }
  .container { width:calc(100% - 36px) }
  .section { padding-block:48px }
  .brand { gap:8px }
  .brand img { width:41px; height:35px }
  .brand>span { font-size:18px }
  .brand small { font-size:6px; letter-spacing:1.7px }
  .nav-wrap { height:72px; gap:12px }
  .nav-contact { display:none }
  .nav-toggle { margin-right:auto; width:40px; height:40px }
  .main-nav { top:80px }
  .hero-layout { display:flex; flex-direction:column; align-items:stretch; gap:30px; padding-block:32px 26px; min-height:0 }
  .hero-copy { text-align:center }
  .hero .eyebrow { justify-content:center; font-size:14px; margin-bottom:15px }
  .hero h1 { font-size:38px; line-height:1.6; margin-bottom:15px; max-width:530px; margin-inline:auto }
  .hero-copy>p { font-size:17px; line-height:1.9 }
  .hero-actions { justify-content:center; gap:18px; margin-top:24px; flex-wrap:nowrap }
  .hero-actions .button { padding:11px 20px; font-size:15px; gap:16px; min-height:49px }
  .hero-actions .text-link { font-size:13px; gap:6px }
  .hero-proof { margin:24px auto 0; text-align:right; gap:13px }
  .proof-number { font-size:32px; padding-left:13px }
  .hero-proof strong { font-size:14px }
  .hero-proof small { font-size:12px }
  .hero-art { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; height:auto; width:100%; max-width:540px; margin:0 auto; direction:rtl; align-items:start; padding:8px 0 }
  .hero-course { width:100%; position:static; padding:4px; border-radius:11px; max-width:none; transform:none; box-shadow:0 10px 25px #39256129; background:#ffffff; overflow:hidden }
  .hero-course img { border-radius:7px; aspect-ratio:1600/1120; width:100%; object-fit:contain }
  .hero-course>span { font-size:12px; gap:4px; padding:6px 4px; justify-content:center; line-height:1.8; text-align:center }
  .hero-course .icon { display:none }
  .hero-mindset:hover,.hero-presentation:hover { transform:none }
  .hero-bottom { height:49px; font-size:10px }
  .hero-bottom>span:nth-child(2) { display:none }
  .hero-bottom .icon { width:19px }
  .eyebrow { font-size:14px; margin-bottom:10px; gap:10px }
  h2,.student-work h2 { font-size:30px; line-height:1.6 }
  .section-heading { flex-direction:column; align-items:stretch; gap:12px; margin-bottom:23px }
  .section-heading>p { font-size:15px; line-height:1.85 }
  .section-heading>p br { display:none }
  .course-grid { grid-template-columns:1fr; gap:23px }
  .course-card { padding:10px 20px 18px; border-radius:16px }
  .course-cover { margin:0 -10px 20px; border-radius:10px; aspect-ratio:1600/1120 }
  .course-top { align-items:center; font-size:13px }
  .sale-badge { font-size:13px; padding-inline:12px }
  .course-title-row { margin-block:15px 12px }
  .course-title-row h3 { font-size:28px; line-height:1.6 }
  .course-description { font-size:16px; line-height:1.9; min-height:0 }
  .course-points { font-size:13px; margin-block:18px; gap:8px 14px }
  .bundle-note,.presentation-note { padding:14px; min-height:79px; margin-bottom:22px }
  .bundle-note strong { font-size:15px }
  .bundle-note small { font-size:12px }
  .course-purchase .price strong { font-size:37px }
  .course-purchase .button { min-height:50px; font-size:16px; padding-inline:20px }
  .course-meta { margin-top:18px; padding-top:13px; font-size:11px }
  .student-work { padding-block:45px 21px }
  .student-work .section-heading { gap:16px; margin-bottom:22px }
  .student-work h2 { font-size:29px }
  .work-intro { flex-direction:row; justify-content:space-between; align-items:center; gap:12px }
  .work-intro>p { font-size:13px; padding:0 }
  .motion-button { font-size:12px; padding:8px 11px; min-height:40px }
  .gallery-rows { gap:9px }
  .marquee-group { gap:9px; padding-right:9px }
  .gallery-card { border-radius:7px }
  .gallery-credit { font-size:10px; padding-inline:8px }
  .gallery-credit strong { font-size:11px }
  .work-bottom { gap:13px; align-items:flex-start; font-size:10px; padding-top:18px }
  .work-bottom .text-link { font-size:11px; gap:6px; white-space:nowrap; padding:0 }
  .review-tabs { gap:7px; margin-bottom:20px }
  .review-tabs button { flex:1; flex-direction:column; gap:3px; padding:10px 6px 12px; font-size:16px; line-height:1.7; text-align:center }
  .review-tabs button span { font-size:10px; padding:1px 8px }
  .review-grid,.mindset-reviews { display:flex; gap:13px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#c1aedc transparent; padding:4px 2px 14px; scroll-padding-inline:2px; overscroll-behavior-x:contain }
  .review-card { flex:0 0 85%; padding:21px; min-height:275px; scroll-snap-align:start; border-radius:15px }
  .review-card blockquote { font-size:17px; line-height:1.9; margin-block:18px 22px }
  .review-card figcaption strong { font-size:14px }
  .review-card figcaption div>span { font-size:11px }
  .reviews-mobile-hint { display:block; font-size:12px; font-weight:300; color:#8c7f99; margin-top:6px }
  .review-source { flex-direction:column; align-items:flex-start; gap:8px; margin-top:14px }
  .review-source>span { font-size:11px }
  .review-source .text-link { font-size:14px }
  .instagram-invite { flex-direction:column; align-items:flex-start; padding:22px 0; gap:15px; margin-top:25px }
  .instagram-invite strong { font-size:22px }
  .instagram-invite small { font-size:15px; line-height:1.9 }
  .invite-handle { font-size:16px; gap:15px }
  .product-panel { display:flex; flex-direction:column; padding:17px 17px 25px; gap:23px; border-radius:16px }
  .product-visual img { border-radius:11px }
  .product-copy { width:100% }
  .product-copy h2 { font-size:31px; line-height:1.65; margin-bottom:12px }
  .product-copy>p:not(.included-reminder) { font-size:16px; line-height:1.9 }
  .product-pricing { justify-content:space-between; gap:10px; margin-block:22px }
  .product-pricing .price strong { font-size:35px }
  .product-pricing .price del { font-size:18px }
  .product-actions { flex-direction:column; align-items:stretch; gap:12px }
  .product-actions .button { font-size:16px; justify-content:space-between; min-height:50px }
  .product-actions .text-link { align-self:center; font-size:14px }
  .included-reminder { font-size:13px; align-items:flex-start; gap:5px; margin-top:19px }
  .included-reminder>span { padding-top:4px }
  .about-layout { grid-template-columns:1fr; gap:26px }
  .about-copy h2 { font-size:30px; margin-bottom:12px }
  .about-copy>p { font-size:16px; line-height:2 }
  .about-stats { grid-template-columns:1fr 1fr; gap:24px; padding:23px 0 0; border-right:0; border-top:1px solid var(--line) }
  .about-stats>div+div { border-right:1px solid var(--line); padding-right:23px }
  .about-stats strong { font-size:42px }
  .about-stats span { font-size:13px }
  .faq-layout { grid-template-columns:1fr; gap:25px }
  .faq h2 { font-size:30px; margin-bottom:12px }
  .faq-layout>div>p { display:inline; font-size:15px; margin-left:12px }
  .faq-layout>div>p br { display:none }
  .faq-layout>div>.text-link { font-size:14px }
  .faq-list details { padding-block:18px }
  .faq-list summary { font-size:16px; gap:16px; align-items:flex-start }
  .faq-list summary>span { padding-top:5px }
  .faq-list summary .icon { width:18px; height:18px }
  .faq-list details p { font-size:15px; padding-left:16px; margin-top:12px }
  .final-cta>.container { flex-direction:column; align-items:flex-start; gap:24px; padding-block:34px }
  .final-cta h2 { font-size:29px; line-height:1.7 }
  .final-cta .eyebrow { font-size:13px }
  .final-cta .button { width:100%; justify-content:space-between; font-size:17px }
  footer { padding-top:28px }
  .footer-main { display:flex; flex-direction:column; align-items:flex-start; gap:15px; padding-bottom:26px }
  .footer-main>p { text-align:right; font-size:13px }
  .social-links { width:100%; font-size:13px; gap:10px; margin-top:7px; flex-wrap:wrap }
  .social-links .icon { width:13px; height:13px }
  .footer-bottom { flex-wrap:wrap; gap:10px 20px; font-size:11px; padding-block:17px }
  .footer-bottom>span:last-child { display:none }
  .footer-bottom>a { font-size:13px }
  dialog { max-width:calc(100vw - 20px); width:calc(100vw - 20px); max-height:94dvh; border-radius:14px }
  .dialog-header { padding:13px 15px; gap:14px }
  .dialog-header h2 { font-size:21px; line-height:1.6 }
  .dialog-header>div>span { font-size:12px }
  .dialog-close { width:39px; height:39px }
  .dialog-image-wrap { display:block; position:relative; padding:12px 10px }
  .dialog-image-wrap img { height:58dvh; max-height:650px; border-radius:6px }
  .dialog-image-wrap>button { position:absolute; top:50%; transform:translateY(-50%); width:39px; height:39px; background:#21172ecc; z-index:2 }
  .image-prev { right:15px }
  .image-next { left:15px }
  .dialog-footer { padding:6px 15px 15px; gap:12px; flex-wrap:wrap; font-size:12px }
  .dialog-footer>a { width:100%; justify-content:center; font-size:13px; border:0 }
  .dialog-dots button { width:32px; height:32px; padding:11px }
}
@media(max-width:360px) {
  .container { width:calc(100% - 28px) }
  .hero h1 { font-size:33px }
  .hero-actions { flex-wrap:wrap; gap:12px }
  .hero-actions .button { width:100%; justify-content:space-between }
  .hero-course>span { font-size:11px }
  .course-card { padding-inline:16px }
  .course-top { font-size:12px }
  .sale-badge { font-size:12px }
  .bundle-note strong { font-size:14px }
  .bundle-note small { font-size:11px }
  .course-meta { font-size:10px }
  .student-work h2 { font-size:26px }
  .work-intro>p { font-size:12px }
  .motion-button { font-size:11px; padding-inline:8px }
  .review-tabs button { font-size:14px }
  .product-pricing { flex-wrap:wrap }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *,*:before,*:after { transition:none!important }
  .gallery-rows:not(.motion-active) .marquee-track { animation-play-state:paused }
  .gallery-rows:not(.motion-active) .marquee-row { overflow-x:auto; scrollbar-width:thin; scrollbar-color:#9886ad #33283f }
  .gallery-rows:not(.motion-active) .marquee-group[aria-hidden=true] { display:none }
  .gallery-credit { opacity:1 }
}

/* A bolder reading rhythm, with short, purposeful interactions. */
.hero h1,h2,.course-title-row h3,.final-cta h2,.instagram-invite strong { font-weight:700 }
.course-title-row h3>span { font-weight:500 }
.main-nav a { font-size:17px; font-weight:500; padding:7px 9px; border-radius:9px; opacity:1; transition:background .2s,color .2s }
.main-nav { gap:8px }
.main-nav a[aria-current="location"] { color:var(--purple-ink); background:#fff }
.main-nav a:hover { background:#ffffff20; color:white }
.main-nav a[aria-current="location"]:hover { color:var(--purple-ink); background:var(--mint) }
.nav-contact { font-size:16px; font-weight:500; padding:9px 17px; gap:9px; background:var(--mint); color:#173b34; border-color:transparent }
.nav-contact .icon { width:24px; height:24px }
.reading-progress { position:absolute; right:0; bottom:-1px; width:100%; height:3px; background:var(--mint); transform:scaleX(var(--page-progress,0)); transform-origin:right; pointer-events:none }
.button,.nav-contact,.nav-toggle,.motion-button,.social-link,.footer-contact,.hero-bottom>a,.dialog-close,.dialog-image-wrap>button { transition:background .2s,color .2s,transform .2s,box-shadow .2s,border-color .2s }
.button .icon,.text-link .icon { transition:transform .25s }
.button:active,.nav-contact:active,.social-link:active,.nav-toggle:active { transform:scale(.97) }
.button.is-pressed,.button:active,.button:focus-visible,.nav-contact.is-pressed,.nav-contact:active,.social-link.is-pressed,.social-link:active { background:white; color:var(--purple-ink); box-shadow:inset 0 0 0 1px #bbaee3 }
.button.mint.is-pressed,.button.mint:active,.nav-contact.is-pressed,.nav-contact:active { background:#5543ad; color:white; box-shadow:inset 0 0 0 1px #bdaefa }
.text-link { font-weight:500; transition:color .2s,background .2s,border-color .2s }
.text-link.is-pressed,.text-link:active { color:var(--purple-ink); background:#eee8ff; border-color:var(--purple-ink) }
.text-link.light.is-pressed,.text-link.light:active { color:var(--mint); background:#ffffff15 }
.hero-bottom>a { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#6d58cc; color:white; border:1px solid #ffffff3b }
.hero-bottom>a.is-pressed,.hero-bottom>a:active { background:white; color:var(--deep); transform:translateY(2px) }
.motion-button { background:var(--deep); border-color:transparent; color:white }
.motion-button[aria-pressed=true] { background:white; color:var(--purple-ink) }
.dialog-image-wrap>button,.dialog-close { background:var(--deep); color:white; border-color:#ffffff30 }
.dialog-image-wrap>button.is-pressed,.dialog-image-wrap>button:active,.dialog-close.is-pressed,.dialog-close:active { background:white; color:var(--deep) }
.course-facts { display:flex; flex-wrap:wrap; gap:10px 20px; margin:0 0 17px; color:var(--purple-ink); font-weight:500; font-size:15px }
.course-facts>span { display:inline-flex; align-items:center; gap:7px }
.course-facts .icon { width:20px; height:20px }
.course-meta { font-size:13px; font-weight:400; color:#70657b; flex-wrap:wrap }
.rating { font-weight:700 }
.rating small { font-weight:400; font-size:13px }
.rating .icon { fill:#8adcce55; color:var(--purple-ink) }
.discounted-purchase { flex-direction:column; align-items:stretch; gap:16px }
.discounted-purchase>.button { justify-content:space-between; width:100%; font-size:17px }
.offer-panel { background:linear-gradient(130deg,#f4f0ff,#effaf7); border:1px solid #c9baed; border-radius:14px; padding:17px 20px }
.offer-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px }
.offer-top .sale-badge { font-weight:500 }
.saving-label { color:var(--purple-ink); font-size:14px; font-weight:500 }
.offer-values { display:flex; align-items:end; justify-content:space-between; gap:22px }
.current-price>span,.former-price>span { display:block; font-size:13px; font-weight:500; line-height:1.7 }
.current-price { color:var(--purple-ink) }
.current-price>div { display:flex; align-items:baseline; gap:9px }
.current-price strong { font-size:52px; font-weight:700; line-height:1.35; direction:ltr }
.current-price small { font-size:17px; font-weight:400 }
.former-price { border-right:1px solid #cebfdf; padding-right:22px; padding-bottom:6px; color:#73697d }
.former-price del { display:block; font-size:24px; line-height:1.9; font-weight:400; text-decoration-thickness:2px; text-decoration-color:#81708f }
.price strong { font-weight:700 }
.proof-number,.about-stats strong { font-weight:700; font-variant-numeric:tabular-nums }
.proof-number { min-width:3.15ch }
.about-stats strong { min-height:1.4em }
.work-counts { display:flex; align-items:center; gap:15px; flex-wrap:wrap }
.work-counts>span { display:inline-flex; align-items:center; gap:8px }
.work-counts strong { font-size:25px; font-weight:700; color:var(--mint); min-width:2ch; font-variant-numeric:tabular-nums }
.work-counts .stat-separator { opacity:.5 }
.instagram-invite { border-radius:14px; transition:background .25s,box-shadow .25s; }
.instagram-invite.is-pressed { background:#e9e2f7; box-shadow:inset 0 0 0 1px #d4c7ed }
.instagram-invite .invite-handle>.icon:first-child { width:28px; height:28px; }
.social-links { gap:9px; flex-wrap:wrap; }
.social-link { padding:10px 13px; border:1px solid #ffffff2b; background:#ffffff06; border-radius:12px; font-size:15px; font-weight:500; min-height:46px }
.social-links .icon { width:23px; height:23px }
.social-links a { gap:9px }
.social-links .social-whatsapp { background:var(--mint); color:#143a32; border-color:var(--mint) }
.footer-contact { display:inline-flex; align-items:center; gap:9px; color:var(--mint); font-weight:500 }
.footer-contact .icon { width:20px; height:20px }
.faq-contact { gap:10px; font-size:16px; padding:11px 18px; margin-top:5px }
.faq-list details { padding:17px 16px; border:1px solid var(--line); border-radius:12px; margin-bottom:10px; background:white; transition:background .2s,border-color .2s }
.faq-list details:first-child { padding-top:17px }
.faq-list details[open] { background:#f1ecfc; border-color:#c3b4e6 }
.faq-list details[open] summary { color:var(--purple-ink) }
.faq-list summary { font-weight:500 }
.faq-list summary>span { background:var(--deep); color:white; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; padding:0; transition:transform .25s,background .25s,color .25s }
.faq-list details[open] summary>span { background:white; color:var(--deep) }
.faq-list summary .icon { width:18px; height:18px }
.faq-list details p { margin-bottom:2px; font-weight:400; }
.brand-intro { display:none; position:fixed; inset:0; z-index:80; background:linear-gradient(145deg,#8b75e5,#6f5bc9); color:white; place-items:center; pointer-events:none }
.intro-lockup { display:flex; flex-direction:column; align-items:center; text-align:center }
.intro-lockup img { width:100px; height:86px; object-fit:contain; margin-bottom:13px }
.intro-lockup>span { font-size:30px; font-weight:700 }
.intro-lockup>small { font-size:9px; letter-spacing:3px; margin-top:4px }
.intro-lockup>i { width:62px; height:2px; border-radius:2px; background:var(--mint); margin-top:25px; transform-origin:right; animation:intro-line .85s ease both }
.is-introducing .brand-intro { display:grid; animation:intro-exit 1.25s ease both }
.is-introducing .intro-lockup { animation:logo-arrive 1s cubic-bezier(.2,.7,.2,1) both }
.motion-enabled .hero-copy>* { animation:content-arrive .65s cubic-bezier(.2,.7,.2,1) backwards; animation-delay:var(--entry-delay,0ms) }
.motion-enabled .hero-copy>h1 { animation-delay:calc(var(--entry-delay,0ms) + 70ms) }
.motion-enabled .hero-copy>p { animation-delay:calc(var(--entry-delay,0ms) + 140ms) }
.motion-enabled .hero-actions { animation-delay:calc(var(--entry-delay,0ms) + 200ms) }
.motion-enabled .hero-proof { animation-delay:calc(var(--entry-delay,0ms) + 260ms) }
.motion-enabled .hero-art { animation:content-arrive .8s cubic-bezier(.2,.7,.2,1) backwards; animation-delay:calc(var(--entry-delay,0ms) + 130ms) }
.reveal-ready { opacity:0; transform:translateY(18px); transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1); transition-delay:var(--reveal-delay,0ms) }
.reveal-ready.is-visible,.reveal-ready:focus-within { opacity:1; transform:translateY(0) }
.review-grid:not([hidden]) { animation:tab-arrive .3s ease both }
.dialog-image-wrap img.image-arriving { animation:tab-arrive .25s ease both }
@keyframes content-arrive { from { opacity:0; transform:translateY(15px) } to { opacity:1; transform:translateY(0) } }
@keyframes tab-arrive { from { opacity:.2; transform:translateY(5px) } to { opacity:1; transform:translateY(0) } }
@keyframes logo-arrive { 0% { opacity:0; transform:translateY(8px) scale(.96) } 30%,100% { opacity:1; transform:translateY(0) scale(1) } }
@keyframes intro-exit { 0%,70% { opacity:1; visibility:visible } 100% { opacity:0; visibility:hidden } }
@keyframes intro-line { from { transform:scaleX(0) } to { transform:scaleX(1) } }
@media(hover:hover) {
  .button:hover .icon,.text-link:hover .icon { transform:translate(-2px,-2px) }
  .button.mint:hover,.nav-contact:hover { background:white; color:var(--purple-ink) }
  .purple-button:hover { background:var(--mint); color:#143a32 }
  .hero-bottom>a:hover,.dialog-image-wrap>button:hover,.dialog-close:hover { background:white; color:var(--deep) }
  .instagram-invite:hover { background:#eee8f8 }
  .social-link:hover { background:white; color:var(--purple-ink); transform:translateY(-2px) }
  .social-links .social-whatsapp:hover { background:white; color:var(--purple-ink) }
  .faq-list summary:hover { color:var(--purple-ink) }
}
@media(min-width:701px) {
  .section-heading>p,.course-description,.product-copy>p:not(.included-reminder),.faq-list details p { font-size:18px; font-weight:400 }
  .hero-copy>p { font-size:22px; font-weight:400 }
  .course-title-row h3 { font-size:32px }
  .course-points { font-size:15px; }
  .bundle-note strong,.presentation-note strong { font-size:17px }
  .bundle-note small,.presentation-note small { font-size:14px; font-weight:400 }
  .about-copy>p { font-size:19px; font-weight:400 }
  .faq-list summary { font-size:18px }
  .review-card blockquote { font-size:19px }
  .review-course { font-size:14px; font-weight:400 }
  .review-card figcaption strong { font-size:16px }
  .review-card figcaption div>span { font-size:13px }
  .text-link { font-size:16px }
  .review-source .text-link,.about-copy .text-link { font-size:15px }
  .hero-proof strong { font-size:17px }
  .hero-proof small { font-size:14px; font-weight:400 }
  .footer-main { flex-wrap:wrap }
  .footer-main>p { font-size:15px }
  .social-links { margin-right:auto }
}
@media(min-width:1121px) {
  .hero h1 { font-size:60px }
  h2 { font-size:42px }
}
@media(max-width:1120px) {
  .nav-wrap { gap:16px }
  .nav-toggle { display:flex; margin-right:auto; flex-shrink:0 }
  .nav-contact { margin-right:0 }
  .main-nav { position:absolute; top:calc(100% + 8px); inset-inline:0; background:#6551c1; border:1px solid #ffffff3b; box-shadow:0 20px 55px #25113e33; border-radius:16px; padding:16px; grid-template-columns:1fr 1fr; gap:4px }
  .main-nav:not(.open) { display:none }
  .main-nav.open { display:grid; animation:tab-arrive .2s ease }
  .main-nav a { font-size:18px; padding:10px 12px }
}
@media(max-width:700px) {
  .nav-contact { display:grid; place-items:center; width:40px; height:40px; min-width:40px; padding:0; border-radius:50% }
  .nav-contact-text { display:none }
  .nav-contact .icon { width:24px; height:24px }
  .nav-wrap { gap:9px }
  .main-nav a { font-size:17px }
  .hero h1 { font-size:36px; line-height:1.65 }
  .hero-copy>p { font-weight:400; font-size:18px }
  h2,.student-work h2 { font-size:30px }
  .hero-bottom>a { width:33px; height:33px }
  .course-facts { font-size:14px; gap:8px 14px; margin-bottom:15px }
  .course-facts .icon { width:18px; height:18px }
  .course-meta { font-size:12px; gap:7px }
  .course-top { gap:8px }
  .rating small { font-size:12px }
  .offer-panel { padding:15px 16px }
  .offer-top { gap:8px }
  .offer-top .sale-badge { font-size:12px; padding-inline:10px }
  .saving-label { font-size:13px }
  .current-price strong { font-size:49px }
  .former-price { padding-right:18px }
  .former-price del { font-size:22px }
  .discounted-purchase>.button { font-size:16px }
  .work-bottom { flex-wrap:wrap; gap:15px; font-size:12px; align-items:center }
  .work-bottom .text-link { font-size:13px }
  .work-counts { gap:10px }
  .work-counts strong { font-size:22px }
  .instagram-invite { padding-inline:12px }
  .instagram-invite strong { font-size:21px }
  .social-links { display:grid; grid-template-columns:1fr 1fr; gap:10px }
  .social-link { justify-content:center; font-size:15px }
  .social-links .icon { width:24px; height:24px }
  .faq-contact { margin-top:12px; font-size:15px; padding:11px 17px }
  .faq-list summary { font-size:17px; align-items:center }
  .faq-list details { padding:16px 13px }
  .faq-list summary>span { width:27px; height:27px }
  .faq-list summary .icon { width:17px; height:17px }
  .faq-list details p { font-size:16px; padding-left:4px }
  .footer-bottom { font-size:12px; gap:10px }
  .footer-bottom>a { font-size:14px }
}
@media(max-width:360px) {
  .hero h1 { font-size:31px }
  .hero-copy>p { font-size:17px }
  .brand>span { font-size:17px }
  .brand img { width:36px }
  .course-meta { font-size:11px }
  .course-kind { font-size:11px }
  .course-facts { font-size:13px; gap:9px }
  .course-facts .icon { width:16px }
  .rating { font-size:14px; gap:4px }
  .rating small { font-size:11px }
  .offer-panel { padding:13px }
  .saving-label { font-size:12px }
  .current-price strong { font-size:44px }
  .former-price del { font-size:21px }
}
@media(prefers-reduced-motion:reduce) {
  .brand-intro { display:none!important }
  .motion-enabled .hero-copy>*,.motion-enabled .hero-art,.review-grid,.main-nav,.dialog-image-wrap img { animation:none!important }
  .reveal-ready { opacity:1; transform:none; transition:none }
  .button:active,.nav-contact:active,.social-link:active { transform:none }
}

/* Alternating review cards inspired by the academy's card reference. */
.review-grid,.mindset-reviews { display:flex; align-items:stretch; gap:22px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:14px; padding:28px 14px 34px; margin-inline:-14px; scrollbar-width:none; overscroll-behavior-x:contain; animation:none!important }
.review-grid::-webkit-scrollbar { display:none }
.review-grid[hidden] { display:none }
.review-card { --card-tilt:1.2deg; --card-lift:13px; flex:0 0 calc((100% - 66px)/4); min-width:0; min-height:365px; padding:23px; border-radius:24px; background:white; color:var(--ink); border:1px solid #e7e0ed; box-shadow:0 8px 15px #37204c05; scroll-snap-align:start; transform:translateY(var(--card-lift)) rotate(var(--card-tilt)); transform-origin:center; transition:transform .25s ease,box-shadow .25s ease }
.review-card:nth-child(even) { --card-tilt:-2.4deg; --card-lift:0px; background:var(--deep); border-color:var(--deep); color:white }
.review-card:nth-child(4n) { --card-tilt:.4deg }
.review-card-top { margin-bottom:20px; min-height:38px }
.review-number { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:var(--purple-ink); background:#eee8f9; font-size:14px; font-weight:700; line-height:1; direction:ltr }
.review-card-link { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:var(--purple-ink); transition:background .2s,color .2s,transform .2s }
.review-card-link .icon { width:25px; height:25px; stroke-width:2 }
.review-card-link:active { background:var(--deep); color:white; transform:scale(.92) }
.review-course { display:block; color:var(--purple-ink); font-size:13px; font-weight:500; line-height:1.8 }
.review-card blockquote { font-size:18px; line-height:1.85; margin:12px 0 26px; font-weight:500 }
.review-card figcaption { padding-top:15px; border-top:1px solid #e6dfed; gap:9px; align-items:center }
.review-card figcaption strong { font-size:15px; font-weight:700 }
.review-card figcaption div>span { color:#776985; font-size:12px; font-weight:400 }
.review-card .avatar { width:32px; height:32px; font-size:16px }
.review-card:nth-child(even) .review-number { background:#ffffff20; color:white }
.review-card:nth-child(even) .review-course,.review-card:nth-child(even) figcaption div>span { color:white }
.review-card:nth-child(even) figcaption { border-color:#ffffff3b }
.review-card:nth-child(even) .avatar { background:white; color:var(--purple-ink) }
.review-card:nth-child(even) .review-card-link { color:white }
.review-card:nth-child(even) .review-card-link:active { color:var(--deep); background:white }
.review-card:focus-within,.review-card:active { transform:translateY(-3px) rotate(0deg); box-shadow:0 13px 25px #48336216 }
.mindset-reviews .review-card { flex-basis:calc((100% - 22px)/2); max-width:470px }
.review-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:5px; color:var(--muted); font-size:14px }
.review-controls[hidden] { display:none }
.review-control-buttons { display:flex; gap:9px }
.review-control-buttons button { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--deep); color:white; transition:background .2s,color .2s,opacity .2s,transform .2s }
.review-control-buttons button:active { background:white; color:var(--deep); transform:scale(.94); box-shadow:inset 0 0 0 1px var(--deep) }
.review-control-buttons button:disabled { background:#e8e2f2; color:#998da8; cursor:default; box-shadow:none; transform:none }
.review-controls.all-visible .review-control-buttons,.review-controls.all-visible>span { display:none }
.review-source { margin-top:18px }
.review-grid.reviews-entered .review-card { animation:review-card-arrive .55s cubic-bezier(.2,.7,.2,1) backwards }
.review-grid.reviews-entered .review-card:nth-child(2) { animation-delay:70ms }
.review-grid.reviews-entered .review-card:nth-child(3) { animation-delay:140ms }
.review-grid.reviews-entered .review-card:nth-child(4) { animation-delay:210ms }
.review-grid.reviews-entered .review-card:nth-child(5) { animation-delay:280ms }
.review-grid.reviews-entered .review-card:nth-child(6) { animation-delay:350ms }
@keyframes review-card-arrive { from { opacity:0; transform:translateY(30px) rotate(0deg) } to { opacity:1; transform:translateY(var(--card-lift)) rotate(var(--card-tilt)) } }
.faq-list details { background:var(--deep); border-color:var(--deep); color:white }
.faq-list details[open] { background:#5d4bc4; border-color:#5d4bc4 }
.faq-list summary,.faq-list details[open] summary,.faq-list summary:hover,.faq-list details p { color:white }
.faq-list summary>span { background:white; color:var(--deep) }
.faq-list details[open] summary>span { background:var(--mint); color:#173b34 }
@media(hover:hover) {
  .review-card:hover { transform:translateY(-3px) rotate(0deg); box-shadow:0 13px 25px #48336216 }
  .review-card-link:hover { background:#eee8f9 }
  .review-card:nth-child(even) .review-card-link:hover { background:white; color:var(--deep) }
  .review-control-buttons button:not(:disabled):hover { background:white; color:var(--deep); box-shadow:inset 0 0 0 1px var(--deep) }
}
@media(max-width:1279px) and (min-width:961px) {
  .review-card { flex-basis:calc((100% - 44px)/3) }
}
@media(max-width:960px) and (min-width:701px) {
  .review-card { flex-basis:calc((100% - 22px)/2) }
}
@media(max-width:700px) {
  .review-grid,.mindset-reviews { gap:19px; padding:24px 12px 31px; margin-inline:-12px; scroll-padding-inline:12px }
  .review-card,.mindset-reviews .review-card { flex:0 0 85%; max-width:none; min-height:338px; padding:22px; border-radius:22px }
  .review-card blockquote { font-size:18px; line-height:1.85; margin-block:13px 24px }
  .review-card-top { margin-bottom:17px }
  .review-course { font-size:13px }
  .review-card figcaption strong { font-size:15px }
  .review-card figcaption div>span { font-size:12px }
  .review-controls { font-size:13px; gap:10px; margin-top:0 }
  .review-control-buttons button { width:39px; height:39px }
}
@media(prefers-reduced-motion:reduce) {
  .review-grid.reviews-entered .review-card { animation:none!important }
  .review-card,.review-card:hover,.review-card:focus-within,.review-card:active { transform:none; transition:none }
}

/* A calmer rhythm: straight cards and one moving mint line for selection. */
.main-nav { position:relative }
.main-nav a { position:relative; border-radius:0; border-bottom:3px solid transparent }
.main-nav a[aria-current=location],.main-nav a[aria-current=location]:hover,.main-nav a.is-pressed,.main-nav a:active,.main-nav a:hover { background:transparent; color:var(--mint); box-shadow:none }
.main-nav a[aria-current=location] { border-color:var(--mint) }
.main-nav.has-indicator a[aria-current=location] { border-color:transparent }
.main-nav:after,.review-tabs:after { content:''; position:absolute; pointer-events:none; left:var(--indicator-left,0px); top:var(--indicator-top,100%); width:var(--indicator-width,0px); height:3px; border-radius:3px; background:var(--mint); opacity:var(--indicator-opacity,0); transition:left .42s cubic-bezier(.2,.7,.2,1),top .42s cubic-bezier(.2,.7,.2,1),width .42s cubic-bezier(.2,.7,.2,1),opacity .2s }
.site-header .brand img { width:58px; height:50px }
.review-tabs { position:relative; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:0; padding:8px 18px 11px; border:0; border-radius:16px; background:var(--deep); margin-bottom:12px }
.review-tabs button { min-width:0; margin:0; padding:13px 16px 16px; justify-content:center; gap:14px; background:transparent; color:white; border-bottom:3px solid transparent; font-size:19px; font-weight:500; transition:color .25s }
.review-tabs button[aria-selected=true] { color:var(--mint); border-color:var(--mint); font-weight:700 }
.review-tabs.has-indicator button[aria-selected=true] { border-color:transparent }
.review-tabs button:hover,.review-tabs button:active,.review-tabs button.is-pressed { color:var(--mint); background:transparent; box-shadow:none }
.review-tabs button span { color:white; background:#ffffff1c; font-size:12px; font-weight:400; padding:2px 10px }
.review-grid,.mindset-reviews { padding-block:18px 22px }
.review-card,.review-card:nth-child(even),.review-card:nth-child(4n) { --card-tilt:0deg; --card-lift:0px; transform:none; border-radius:20px }
.review-card:hover,.review-card:focus-within,.review-card:active { transform:none; box-shadow:0 10px 25px #48336212 }
@keyframes review-card-arrive { from { opacity:0; transform:translateY(18px) } to { opacity:1; transform:translateY(0) } }
.reveal-ready { transform:translateY(22px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1) }
.course-card:nth-child(2).reveal-ready { transition-delay:70ms }
.review-grid.reviews-entered .review-card { animation-duration:.65s }
.product-panel { background:var(--deep); border-color:var(--deep); color:white; border-radius:24px }
.product-copy .eyebrow,.product-copy>p:not(.included-reminder),.product-copy .included-reminder,.product-copy .price span,.product-copy .price del { color:white }
.product-copy h2 .purple,.product-copy .included-reminder .icon { color:var(--mint) }
.product-copy .price del { opacity:.75 }
.product-copy .product-actions .button { background:white; color:var(--purple-ink) }
.product-copy .product-actions .button:hover,.product-copy .product-actions .button:active,.product-copy .product-actions .button.is-pressed { background:var(--mint); color:#143a32 }
.product-copy .product-actions .text-link { color:white; border-color:#ffffff70 }
.product-copy .product-actions .text-link:active,.product-copy .product-actions .text-link.is-pressed { color:var(--mint); background:transparent }
.product-copy .included-reminder { border-top:1px solid #ffffff38; padding-top:18px; margin-top:24px; font-size:14px }
.product-visual img { box-shadow:0 14px 35px #37206522 }
.hero-layout { min-height:674px; gap:58px }
.hero-copy .eyebrow { display:inline-flex; border:1px solid #ffffff40; border-radius:100px; padding:5px 16px; margin-bottom:21px; background:#ffffff07 }
.hero h1 { line-height:1.55; margin-bottom:19px }
.hero h1 span { display:inline-block; position:relative }
.hero h1 span:after { content:''; display:block; width:35%; height:3px; margin-top:8px; background:var(--mint); border-radius:3px; opacity:.8 }
.hero-trust { display:flex; align-items:center; gap:27px; border-top:1px solid #ffffff35; padding-top:22px; margin-top:29px; width:fit-content }
.hero-trust .hero-proof { margin:0; gap:13px }
.hero-trust .proof-number { font-size:39px; padding-left:13px }
.hero-founder { display:block; padding-right:23px; border-right:1px solid #ffffff35 }
.hero-founder>span { display:block; font-size:12px; color:#eee9ff; font-weight:400 }
.hero-founder strong { display:flex; align-items:center; gap:9px; font-size:14px; font-weight:500; color:white; transition:color .2s }
.hero-founder .icon { width:16px; height:16px; color:var(--mint) }
.hero-founder:hover strong { color:var(--mint) }
.hero-art:before { content:''; position:absolute; width:89%; aspect-ratio:1; border:1px solid #ffffff26; border-radius:50%; top:3%; left:0; pointer-events:none }
.motion-enabled .hero-trust { animation:content-arrive .7s cubic-bezier(.2,.7,.2,1) backwards; animation-delay:calc(var(--entry-delay,0ms) + 230ms) }
@media(min-width:1121px) {
  .main-nav { gap:12px }
  .main-nav a { font-size:17px; padding-inline:12px }
}
@media(max-width:1120px) {
  .main-nav { position:absolute }
  .main-nav a,.main-nav a:hover,.main-nav a[aria-current=location] { background:transparent; border-radius:0 }
  .hero-trust { gap:17px }
  .hero-founder { padding-right:17px }
  .hero-founder strong { font-size:12px }
}
@media(max-width:960px) and (min-width:701px) {
  .hero-trust { flex-direction:column; align-items:flex-start; gap:14px }
  .hero-founder { border-right:0; padding-right:0 }
}
@media(max-width:700px) {
  .site-header .brand img { width:48px; height:42px }
  .review-tabs { padding:6px 8px 9px; border-radius:14px }
  .review-tabs button { flex-direction:column; padding:12px 5px 14px; gap:5px; font-size:16px; line-height:1.7 }
  .review-tabs button span { font-size:11px; padding:1px 8px }
  .review-grid,.mindset-reviews { padding-block:13px 19px }
  .hero-layout { min-height:0; gap:25px }
  .hero-copy .eyebrow { padding:4px 13px; font-size:13px; margin-bottom:17px }
  .hero h1 span:after { margin:5px auto 0; width:38%; height:2px }
  .hero-trust { margin:25px auto 0; width:100%; padding-top:18px; justify-content:center; gap:16px; text-align:right }
  .hero-trust .hero-proof { gap:10px; flex-shrink:0 }
  .hero-trust .proof-number { font-size:31px; padding-left:10px }
  .hero-trust .hero-proof strong { font-size:13px }
  .hero-trust .hero-proof small { font-size:10px }
  .hero-founder { padding-right:15px }
  .hero-founder>span { font-size:11px }
  .hero-founder strong { font-size:12px; gap:4px }
  .hero-founder .icon { display:none }
  .hero-art:before { display:none }
  .product-panel { border-radius:20px }
  .product-copy .included-reminder { font-size:13px; margin-top:20px; padding-top:16px }
}
@media(max-width:360px) {
  .review-tabs button { font-size:14px }
  .hero-trust { gap:10px }
  .hero-founder { padding-right:10px }
  .hero-founder strong { font-size:11px }
  .hero-founder>span { font-size:10px }
  .hero-trust .proof-number { font-size:29px }
}
@media(prefers-reduced-motion:reduce) {
  .main-nav:after,.review-tabs:after { transition:none }
  .reveal-ready { opacity:1; transform:none; transition:none }
  .review-card,.review-card:hover,.review-card:focus-within,.review-card:active { transform:none; transition:none }
  .motion-enabled .hero-trust { animation:none }
}

/* Academy and founder: one editorial composition, with no invented portrait. */
.academy-story { position:relative; padding-block:90px; }
.academy-story-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; }
.academy-story-copy { min-width:0; }
.academy-story-copy h2 { font-size:46px; font-weight:700; line-height:1.55; margin-bottom:22px; }
.academy-story-copy>p { max-width:530px; font-size:19px; font-weight:400; line-height:2; margin-bottom:21px; }
.academy-story-copy .text-link { font-size:16px; color:var(--purple-ink); }
.academy-story-stats { display:flex; gap:42px; margin-top:30px; padding-top:25px; border-top:1px solid var(--line); }
.academy-story-stats>div { min-width:0; }
.academy-story-stats>div+div { border-right:1px solid var(--line); padding-right:42px; }
.academy-story-stats strong { display:block; color:var(--purple-ink); font-weight:700; font-size:43px; line-height:1.4; }
.academy-story-stats span { display:block; color:var(--muted); font-size:15px; line-height:1.8; margin-top:4px; }
/* One unified profile card, with quiet dividers and a clear type hierarchy. */
.founder-profile { position:relative; min-width:0; padding:34px 38px 27px; color:white; background:linear-gradient(145deg,#7360d6,#6853c1); border:1px solid #ffffff28; border-radius:24px; box-shadow:0 18px 45px #4e398c12; overflow:hidden }
.founder-heading { margin-bottom:27px }
.founder-kicker { display:flex; align-items:center; gap:11px; color:#f0ecff; font-size:14px; margin-bottom:20px }
.founder-kicker:before { content:''; width:29px; height:2px; border-radius:2px; background:var(--mint) }
.founder-profile h3 { font-size:44px; font-weight:700; line-height:1.5; margin:0 0 6px }
.founder-profile h3>span { color:var(--mint); margin-inline-start:4px }
.founder-role { color:#f5f1ff; font-size:16px; line-height:1.85 }
.founder-credentials { margin:0 }
.founder-credentials>div { position:relative; display:grid; grid-template-columns:29px minmax(0,1fr); column-gap:17px; row-gap:3px; padding:18px 0; border-top:1px solid #ffffff32 }
.founder-credentials .icon { position:absolute; right:0; top:50%; transform:translateY(-50%); color:#d3f8ee; width:27px; height:27px; stroke-width:1.5 }
.founder-credentials dt { grid-column:2; font-size:13px; line-height:1.8; color:#eee8ff; font-weight:400 }
.founder-credentials dd { grid-column:2; margin:0; color:white; font-size:19px; line-height:1.8; font-weight:500 }
.founder-credentials bdi { font-weight:700; font-variant-numeric:tabular-nums }
.founder-note { font-size:13px; color:#eee8ff; margin-top:10px; padding-top:17px; border-top:1px solid #ffffff32 }
.academy-story-stats strong { direction:ltr; text-align:right; font-variant-numeric:tabular-nums }
.site-header .brand { min-width:44px; min-height:44px; justify-content:center }
.site-header .brand img { width:44px; height:38px }
.footer-main .brand img { width:42px; height:36px }
@media(max-width:1100px) {
  .academy-story-layout { gap:40px }
  .academy-story-copy h2 { font-size:39px }
  .academy-story-copy>p { font-size:18px }
  .academy-story-stats { gap:28px }
  .academy-story-stats>div+div { padding-right:28px }
  .founder-profile { padding:29px }
  .founder-profile h3 { font-size:40px }
  .founder-credentials dd { font-size:17px }
}
@media(max-width:760px) {
  .academy-story { padding-block:52px }
  .academy-story-layout { grid-template-columns:1fr; gap:30px }
  .academy-story-copy h2 { font-size:34px; margin-bottom:14px }
  .academy-story-copy>p { font-size:17px; line-height:1.95; margin-bottom:15px; max-width:none }
  .academy-story-copy .text-link { font-size:15px }
  .academy-story-stats { margin-top:24px; padding-top:20px; gap:28px }
  .academy-story-stats strong { font-size:38px }
  .academy-story-stats span { font-size:14px }
  .founder-profile { padding:27px 25px 24px; border-radius:21px }
  .founder-kicker { font-size:13px; margin-bottom:18px }
  .founder-profile h3 { font-size:38px }
  .founder-role { font-size:15px }
  .founder-heading { margin-bottom:24px }
  .founder-credentials>div { grid-template-columns:25px minmax(0,1fr); column-gap:13px; padding-block:16px }
  .founder-credentials .icon { width:25px; height:25px }
  .founder-credentials dt { font-size:12px }
  .founder-credentials dd { font-size:17px }
  .founder-note { font-size:12px; padding-top:15px }
  .site-header .brand img { width:37px; height:32px }
  .footer-main .brand img { width:37px; height:32px }
}
@media(max-width:360px) {
  .academy-story-copy h2 { font-size:31px }
  .academy-story-stats { gap:18px }
  .academy-story-stats>div+div { padding-right:18px }
  .academy-story-stats span { font-size:13px }
  .founder-profile { padding-inline:21px }
  .founder-profile h3 { font-size:35px }
  .founder-credentials dd { font-size:16px }
  .founder-credentials>div { column-gap:11px }
}
/* Keep the brand mint for the indicator; lighten small active labels for contrast. */
.main-nav a[aria-current=location],.main-nav a[aria-current=location]:hover,.main-nav a.is-pressed,.main-nav a:active,.main-nav a:hover,
.review-tabs button[aria-selected=true],.review-tabs button:hover,.review-tabs button:active,.review-tabs button.is-pressed { color:#d3f8ee }
.main-nav a[aria-current=location] { font-weight:700 }

/* Let the FAQ arrive quietly as one group; only the selected answer expands. */
.faq-layout>div.reveal-ready,.faq-layout>div.reveal-ready.is-visible,.faq-layout>div.reveal-ready:focus-within { transform:none; transition:opacity .4s ease-out }
.faq-list { overflow-anchor:none }
.faq-list details { transition:background .18s ease-out,border-color .18s ease-out }
.faq-list summary>span { transition:transform .18s ease-out,background .18s ease-out,color .18s ease-out }
.faq-list details.is-closing { background:var(--deep); border-color:var(--deep) }
.faq-list details.is-closing summary>span { transform:rotate(0deg); background:white; color:var(--deep) }
@media(prefers-reduced-motion:reduce) {
  .faq-layout>div.reveal-ready,.faq-layout>div.reveal-ready.is-visible,.faq-layout>div.reveal-ready:focus-within,.faq-list details,.faq-list summary>span { transition:none }
}
