:root{--ink:#211936;--muted:#6b617d;--violet:#7858f1;--violet-2:#9e81ff;--lavender:#e9e0ff;--lavender2:#f2edff;--peach:#ffc7b4;--pink:#ffe6f1;--surface:#fff;--bg:#faf8ff;--line:#e6def4;--rad:26px;--shell:1240px;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;font-family:Inter,'Arial Nova','Segoe UI',system-ui,sans-serif;font-size:16px;line-height:1.55;color:var(--ink);background:var(--bg);overflow-x:clip;-webkit-font-smoothing:antialiased}html.menu-locked,body.menu-locked{overflow:hidden;touch-action:none}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.055em;line-height:1.04}p{color:var(--muted)}h2{font-size:clamp(2.25rem,4.7vw,5rem)}h3{font-size:1.35rem}em{font-style:normal;color:var(--violet)}.shell{width:min(calc(100% - 76px),var(--shell));margin-inline:auto}.narrow{max-width:950px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.eyebrow{display:inline-block;font-size:11px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;color:var(--violet);line-height:1.5}.lead{font-size:clamp(1.02rem,1.35vw,1.2rem);max-width:510px}.quiet{font-size:13px;color:#867e92}.ink-accent{color:var(--violet)}:focus-visible{outline:3px solid #9f79ff;outline-offset:4px}.site-error{background:#faeaf0;color:#6b2450;padding:15px;border-radius:12px}
/* Shared header + off-canvas mobile system */
.skip-link{position:fixed;top:-100px;left:12px;z-index:9000;background:#fff;padding:12px;border-radius:12px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:250;background:rgba(250,248,255,.93);backdrop-filter:blur(20px);border-bottom:1px solid rgba(135,102,183,.14)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{flex:0 0 auto;max-width:240px}.brand img{width:min(210px,100%);height:auto}.desktop-nav{display:flex;align-items:center;gap:31px;margin:auto}.desktop-nav a{font-size:14px;font-weight:600;transition:color .25s}.desktop-nav a:hover,.footer-menu a:hover{color:var(--violet)}.header-actions{display:flex;gap:10px;align-items:center}.header-free{font-size:13px;font-weight:750;white-space:nowrap;background:var(--violet);color:white;padding:11px 17px;border-radius:999px;transition:transform .2s,background .2s}.header-free:hover{transform:translateY(-2px);background:#6243db}.mobile-toggle{display:none;border:1px solid var(--line);border-radius:14px;background:#fff;padding:8px;align-items:center;justify-content:center;width:44px;height:44px}.menu-backdrop{position:fixed;inset:0;background:rgba(26,12,57,.52);z-index:2000;opacity:0;pointer-events:none;transition:opacity .35s}.menu-backdrop.open{opacity:1;pointer-events:auto}.mobile-panel{position:fixed;right:0;top:0;bottom:0;height:100vh;height:100dvh;width:min(88vw,420px);background:linear-gradient(140deg,#faf6ff 0%,#e9ddff 100%);z-index:2001;transform:translateX(105%);visibility:hidden;pointer-events:none;transition:transform .48s var(--ease),visibility .48s;display:flex;flex-direction:column;padding:20px 26px 22px;overflow-y:auto;overscroll-behavior:contain;box-shadow:-18px 0 80px rgba(24,9,53,.2)}.mobile-panel.open{transform:translateX(0);visibility:visible;pointer-events:auto}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:24px}.panel-top img{max-width:170px;height:auto}.panel-top button{border:1px solid #d0baf8;background:white;border-radius:14px;width:42px;height:42px;display:grid;place-items:center}.panel-nav{display:grid;gap:0;margin:14px 0 auto}.panel-nav a{display:grid;grid-template-columns:28px 1fr 22px;align-items:center;gap:15px;padding:12px 1px;border-bottom:1px solid #d7c9ec;font-size:clamp(21px,4vw,30px);font-weight:760;letter-spacing:-.04em;line-height:1.15;min-height:50px}.panel-nav a span{font-size:11px;color:#735d96;font-weight:600;letter-spacing:0}.panel-free{margin-top:23px;justify-content:space-between}.panel-caption{font-size:12px;margin:13px 0 0;color:#665579}
/* Buttons and universal sections */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:48px;padding:12px 23px;border-radius:15px;font-size:14px;font-weight:750;white-space:nowrap;border:1px solid transparent;transition:transform .32s var(--ease),box-shadow .32s var(--ease),background .2s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(116,83,208,.16)}.btn-solid{background:var(--violet);color:#fff}.btn-solid:hover{background:#6445e0}.btn-outline{background:#fff;color:var(--ink);border-color:#bfaaf8}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.section{padding:clamp(68px,8vw,125px) 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:43px}.section-top h2{max-width:810px;margin:12px 0 0}.section-top p{width:min(300px,100%);margin:0 0 8px}.section-link{text-align:center;margin-top:34px}.inline-link{color:#6848de;border-bottom:1px solid currentColor;font-weight:700;font-size:14px;padding-bottom:3px}
/* Motion-led Interaction Canvas hero */
.hero{position:relative;min-height:min(850px,calc(100vh - 79px));min-height:min(850px,calc(100dvh - 79px));overflow:hidden;background:radial-gradient(ellipse at 82% 11%,rgba(255,197,199,.48),transparent 40%),radial-gradient(ellipse at 66% 73%,rgba(200,170,255,.44),transparent 48%),#fbfaff;isolation:isolate}.hero::before{content:"";position:absolute;left:-25%;top:18%;width:62vw;height:60vw;max-width:800px;max-height:800px;background:rgba(213,189,255,.24);border-radius:45% 55% 60% 40%;z-index:-1;filter:blur(20px)}.hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.12fr);align-items:center;gap:10px;min-height:700px;padding-top:30px;padding-bottom:115px}.hero-content{position:relative;z-index:10}.hero-content>.eyebrow{background:#eee6ff;padding:8px 12px;border-radius:100px;letter-spacing:.105em}.hero h1{font-size:clamp(3.25rem,6.2vw,6.65rem);letter-spacing:-.078em;font-weight:840;line-height:.98;margin:23px 0 27px;max-width:680px}.hero .lead{color:#554b67;line-height:1.6;margin:0 0 28px}.hero-micro{font-size:10px;letter-spacing:.15em;font-weight:800;color:#84729d;margin:55px 0 0}.hero-micro span{margin-left:25px;color:var(--violet)}.hero-art{position:relative;height:min(48vw,615px);min-height:435px;width:110%;margin-left:-5%;transform-style:preserve-3d;will-change:transform}.hero-art-bg,.hero-art-main,.hero-art-decor{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.hero-art-bg{transform:scale(1.17) translateX(1%);opacity:.92;mix-blend-mode:multiply}.hero-art-main{z-index:4;filter:drop-shadow(0 25px 31px rgba(105,70,167,.19));transform:translate3d(var(--px,0px),calc(var(--main-shift,0px) + var(--py,0px)),0) rotate(var(--main-spin,0deg)) scale(calc(1 - var(--scroll-p,0) * .06));transition:transform .1s linear}.hero-art-decor{z-index:6;opacity:.9;transform:translate3d(calc(var(--decor-shift,0px) * .35),calc(var(--decor-shift,0px) * -.42),0) rotate(calc(var(--scroll-p,0) * 12deg))}.hero-orbit{position:absolute;border:2px solid rgba(149,101,238,.42);border-radius:50%;width:88px;height:88px;right:6%;top:6%;z-index:8;transform:translateY(calc(var(--scroll-p,0)*-35px));pointer-events:none}.orbit-two{width:40px;height:40px;background:linear-gradient(145deg,#c3adff,#ffc4ae);border:0;right:1%;top:75%;box-shadow:0 10px 30px rgba(124,91,225,.18)}.hero-morph{position:absolute;left:50%;bottom:-38px;transform:translateX(-50%) scale(var(--morph-scale,.78));width:min(1100px,90%);height:95px;border-radius:var(--morph-radius,42%);background:linear-gradient(100deg,#b6a0ff,#7957f0 55%,#e0a2d9);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 50px;box-shadow:0 22px 38px rgba(111,69,180,.12);letter-spacing:.22em;font-size:12px;font-weight:850;z-index:12;will-change:transform,border-radius}.morph-star{font-size:26px;letter-spacing:0}
/* Home editorial blocks */
.who-section{background:#fff}.who-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:12%;align-items:start}.who-grid h2{margin:18px 0 35px}.graphic-marker{position:relative;width:175px;height:118px;background:linear-gradient(130deg,#e7dcff,#ffd8ce);border-radius:32px;transform:rotate(-9deg);display:grid;place-items:center;color:#795bd7;font-size:42px;font-weight:850;overflow:hidden}.graphic-marker i{position:absolute;background:#9d80ef;border-radius:20px;width:100px;height:65px;right:-30px;top:20px;transform:rotate(35deg)}.graphic-marker i:last-child{width:60px;height:110px;top:65px;right:50px;background:#e0b3e8}.graphic-marker span{position:relative;z-index:2}.body-copy p{font-size:clamp(16px,1.3vw,19px);line-height:1.72;color:#5e536b;margin-bottom:18px}.body-copy .btn{margin-top:14px}.banner-section{padding:0;background:white}.statement-banner{display:grid;grid-template-columns:1fr .88fr;min-height:335px;background:linear-gradient(110deg,#dfd1ff 0%,#f2deff 60%,#ffdddd 100%);border-radius:31px;overflow:hidden;position:relative;color:var(--ink)}.statement-banner>div:first-child{padding:50px 65px;position:relative;z-index:2}.statement-banner h2{font-size:clamp(2.4rem,4.8vw,5.2rem);margin:13px 0 16px;max-width:500px}.statement-banner p{max-width:340px}.banner-object{position:relative;isolation:isolate}.banner-sheet{position:absolute;width:62%;height:67%;top:17%;left:17%;border-radius:24px;background:#fff;box-shadow:0 18px 34px rgba(81,56,133,.17);transform:rotate(13deg);padding:22px}.banner-sheet.back{background:linear-gradient(150deg,#8e71e6,#ffbcca);transform:translate(22%,3%) rotate(-15deg)}.sheet-dots{color:#b19bef;letter-spacing:.3em}.sheet-line{height:12px;border-radius:50px;background:#9372ec;width:55%;margin:20px 0}.sheet-panel{width:75%;height:40%;background:#e8dbff;border-radius:15px}.sheet-card{position:absolute;width:34%;height:34%;bottom:18%;right:11%;background:#ffe2d7;border-radius:16px}.banner-sun{position:absolute;width:120px;height:120px;border-radius:50%;background:#ffc8ba;left:5%;top:8%;z-index:-1}.collection{background:#fff}.course-grid{display:grid;gap:22px}.featured-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.course-card{min-width:0}.course-cover{background:#f2eafa;border-radius:22px;overflow:hidden;position:relative;aspect-ratio:.82;border:1px solid #e8dcf7;box-shadow:0 8px 28px rgba(74,52,116,.04)}.course-cover img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}.course-card:hover .course-cover img{transform:scale(1.055) rotate(-1.2deg)}.cover-move{position:absolute;top:14px;right:14px;background:#fff;color:var(--violet);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;box-shadow:0 6px 19px #65539925;opacity:0;transform:translateY(8px);transition:.3s}.course-card:hover .cover-move{opacity:1;transform:translateY(0)}.course-meta{display:flex;justify-content:space-between;margin:16px 0 8px;gap:12px;font-size:12px;font-weight:750;color:#706282;letter-spacing:.04em}.course-meta span:last-child{color:#6145cc}.course-card h3{font-size:clamp(1.15rem,1.65vw,1.55rem);margin:0 0 6px}.course-card p{font-size:13px;margin:0}.mission-section{background:#281b4f;position:relative;overflow:hidden}.mission-section:after{content:"";position:absolute;width:54vw;height:54vw;max-width:700px;max-height:700px;left:-17%;bottom:-58%;border-radius:50%;background:rgba(170,129,255,.11)}.mission-section .eyebrow{color:#c9b2ff}.mission-section h2{color:#fff}.mission-section em{color:#bca6ff}.mission-grid{display:grid;grid-template-columns:.9fr 1.05fr;gap:14%;align-items:center}.mission-grid .body-copy p{color:#e4dafa}.benefits-section{background:#fcfaff}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.benefits-grid article{border:1px solid #e9e1f7;border-radius:24px;background:#fff;padding:27px;min-height:256px;transition:transform .3s var(--ease)}.benefits-grid article:hover{transform:translateY(-7px)}.benefits-grid img{margin-bottom:25px}.benefits-grid h3{font-size:19px;margin-bottom:10px}.benefits-grid p{font-size:14px;line-height:1.6}.free-section{background:#fff}.free-panel{display:grid;grid-template-columns:1fr 1fr;min-height:385px;border-radius:34px;overflow:hidden;background:radial-gradient(circle at 85% 30%,#ffccc4,transparent 38%),linear-gradient(125deg,#ece3ff,#dbd4ff)}.free-panel-copy{padding:65px;align-self:center}.free-panel h2{margin:14px 0}.free-panel p{max-width:470px;margin-bottom:26px}.free-panel-visual{position:relative;display:grid;place-items:center;perspective:700px}.free-panel-visual:before{content:"";position:absolute;width:300px;height:300px;border-radius:44%;background:#af91f0;transform:rotate(35deg)}.free-panel-visual img{height:310px;width:auto;object-fit:contain;border-radius:10px;position:relative;transform:rotate(12deg);box-shadow:0 26px 55px #6f51a642}.faq-section{background:#fff}.faq-list{border-top:1px solid #e6ddf0}.faq-item{border-bottom:1px solid #e6ddf0;background:transparent}.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:22px 6px;font-size:17px;font-weight:700;letter-spacing:-.015em}.faq-item summary::-webkit-details-marker{display:none}.faq-plus{font-size:24px;font-weight:400;color:var(--violet);transition:transform .2s}.faq-item[open] .faq-plus{transform:rotate(45deg)}.faq-answer{padding:0 40px 16px 6px;max-width:780px}.faq-answer p{font-size:15px;line-height:1.7}.paths-section{background:#f5efff}.paths-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.path-card{min-height:410px;background:#fff;border-radius:28px;padding:30px;display:flex;flex-direction:column;overflow:hidden;position:relative}.path-card:nth-child(2){background:#fbe8e4}.path-card:nth-child(3){background:#e7e4ff}.path-no{font-size:12px;color:#7451d6;font-weight:800;letter-spacing:.1em}.path-orbit{height:126px;position:relative}.path-orbit:before{content:"";border:2px solid #b39de9;border-radius:50%;width:92px;height:92px;position:absolute;top:13px;right:28%}.path-orbit span{display:block;width:77px;height:77px;position:absolute;right:19%;top:33px;background:linear-gradient(130deg,#a087f5,#fbc0b4);border-radius:23px;transform:rotate(-25deg)}.path-card h3{font-size:43px;margin:0}.path-card p{margin:8px 0 20px;font-size:14px}.path-products{margin-top:auto;display:grid;gap:4px}.path-products a{border-top:1px solid rgba(70,42,112,.14);display:flex;justify-content:space-between;gap:8px;padding:9px 0;font-size:14px;font-weight:650}.materials-section{background:#fff}.inside-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.inside-grid h2{margin:16px 0 25px}.inside-grid>div>p{font-size:16px;line-height:1.8}.materials-list{border-top:1px solid var(--line);padding-top:9px}.resource-line{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);font-size:16px;font-weight:690}.resource-icon{width:50px;height:50px;border-radius:16px;background:#eee7ff;display:grid;place-items:center;flex-shrink:0}.practice-section{background:#f9f5ff}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.practice-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;display:flex;flex-direction:column;min-height:425px}.practice-card .eyebrow{min-height:25px}.practice-card h3{margin:8px 0 11px}.practice-card p{font-size:14px;line-height:1.65}.practice-card .inline-link{margin:auto auto 0 0}.practice-graphic{height:145px;position:relative;margin:25px 0 18px;background:#f2eaff;border-radius:20px;overflow:hidden}.practice-card:nth-child(2) .practice-graphic{background:#ffe8eb}.practice-card:nth-child(3) .practice-graphic{background:#dfe5ff}.practice-graphic span{position:absolute;display:block;border-radius:17px;box-shadow:0 12px 23px #653ba51c}.p-graphic-a{background:linear-gradient(140deg,#a688ff,#e7b6ff);width:44%;height:75%;top:12%;left:18%;transform:rotate(-12deg)}.p-graphic-b{background:white;width:42%;height:64%;top:16%;right:19%;transform:rotate(9deg)}.p-graphic-c{background:#ffd0bf;width:55px;height:55px;border-radius:50%!important;bottom:0;left:44%}
/* Secondary pages */
.subhero{position:relative;overflow:hidden;background:radial-gradient(circle at 76% 56%,rgba(255,190,187,.44),transparent 30%),radial-gradient(circle at 92% 3%,rgba(168,143,249,.33),transparent 46%),#faf8ff;isolation:isolate}.subhero-inner{position:relative;min-height:380px;padding-block:94px 90px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.subhero h1{font-size:clamp(3rem,6.3vw,6.1rem);max-width:800px;margin:17px 0 23px;position:relative;z-index:2}.subhero p{font-size:16px;line-height:1.75;max-width:590px;margin:0;position:relative;z-index:2}.subhero-decor{position:absolute;right:5%;top:12%;width:260px;height:250px;opacity:.85;pointer-events:none}.deco-tiles span{position:absolute;width:132px;height:132px;background:linear-gradient(150deg,#bba6ff,#ffe0d8);border:1px solid white;border-radius:30px;transform:rotate(24deg);box-shadow:0 24px 25px rgba(99,65,177,.12)}.deco-tiles span:nth-child(1){top:20px;right:45px}.deco-tiles span:nth-child(2){right:20px;top:110px;transform:rotate(-15deg);background:#c3aff7}.deco-tiles span:nth-child(3){width:65px;height:65px;right:120px;top:110px;background:#fff}.catalog-section{background:#fff}.catalog-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}.filters{display:flex;gap:9px;flex-wrap:wrap}.filter{border:1px solid #ddd2f4;color:#6d568b;border-radius:100px;background:#fff;padding:11px 17px;font-weight:650;font-size:14px;white-space:nowrap}.filter:hover,.filter.active{background:#7959ed;border-color:#7959ed;color:#fff}.search-field{position:relative;display:block}.search-field input{border:1px solid #e4d8f4;border-radius:16px;background:#fbf9ff;padding:11px 48px 11px 17px;max-width:100%;width:275px;outline-offset:2px}.search-field img{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.catalog-count{font-size:13px;font-weight:750;color:#75698a;letter-spacing:.08em}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px;row-gap:45px}.empty-result{grid-column:1/-1;padding:42px;border:1px dashed #d1bbec;border-radius:20px;background:#faf8ff}.about-hero{background:radial-gradient(circle at 80% 32%,#f6c4d4,transparent 38%),#f7f3ff}.hero-art-mini{position:absolute;right:8%;top:30px;width:295px;height:290px}.mini-frame{position:absolute;display:block;border-radius:36px;width:210px;height:245px;top:0;right:5px;background:linear-gradient(140deg,#bba1fb,#e9dcff);transform:rotate(17deg);box-shadow:0 17px 32px #9a70bf27}.mini-frame.two{right:50px;top:55px;background:#fff;transform:rotate(-15deg)}.mini-circle{position:absolute;width:115px;height:115px;border-radius:50%;background:#ffc8b3;right:-12px;bottom:0}.editorial-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.editorial-trio article{border:1px solid #e7def2;border-radius:24px;padding:31px;min-height:250px;background:white}.editorial-trio span{color:var(--violet);font-size:12px;font-weight:800}.editorial-trio h3{font-size:23px;margin:27px 0 16px}.editorial-trio p{font-size:15px;line-height:1.7}.section-closing{max-width:710px;margin:40px 0 0;font-size:17px}.deco-steps i{position:absolute;border-radius:24px;height:190px;width:115px;transform:rotate(-22deg);background:linear-gradient(150deg,#eddfff,#8d6cf1);right:55px;top:20px}.deco-steps i:nth-child(2){transform:rotate(15deg);right:0;top:0;background:#ffccd0}.deco-steps i:nth-child(3){transform:rotate(-3deg);right:95px;top:50px;background:#fff}.curriculum-path{display:grid;grid-template-columns:280px 1fr;gap:55px;padding:40px 0 75px;border-bottom:1px solid var(--line)}.curriculum-path:first-child{padding-top:0}.path-aside h2{margin:13px 0 20px;font-size:clamp(2.5rem,4vw,4.5rem)}.path-aside p{font-size:15px}.curriculum-items{display:grid;gap:16px}.curriculum-item a{display:flex;align-items:center;gap:25px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:22px}.curriculum-item a:hover{box-shadow:0 18px 28px #9d81da20}.curriculum-item img{object-fit:cover;border-radius:12px;flex-shrink:0}.curriculum-item a>div{flex:1}.curriculum-item span{font-size:12px;color:#7757d5;font-weight:700}.curriculum-item h3{font-size:23px;margin:6px 0}.curriculum-item h3 small{font-size:15px;color:var(--violet)}.curriculum-item p{font-size:14px;margin:0 0 12px}.curriculum-item ul{display:flex;flex-wrap:wrap;gap:7px 18px;padding-left:17px;color:#7d7190;font-size:12px}.right-arrow{font-size:25px!important}.deco-question{font-size:240px;color:#aa8af5;line-height:1;transform:rotate(-16deg);font-weight:850;text-shadow:22px 18px #ffe4d7}.faq-hero .subhero-inner{min-height:330px}.note-card{padding:36px;border:1px solid var(--line);border-radius:28px;background:white}.note-card h2{font-size:clamp(2rem,3vw,3rem);margin:18px 0}.note-card p{font-size:17px;line-height:1.75}.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.deco-notes i{display:block;width:165px;height:200px;border:1px solid #fff;border-radius:23px;background:linear-gradient(150deg,#b7a3fa,#f6c2ca);position:absolute;right:15px;top:8px;transform:rotate(17deg)}.deco-notes i:nth-child(2){right:90px;top:55px;transform:rotate(-15deg);background:#fff}.deco-envelope{width:230px;height:155px;border-radius:25px;background:linear-gradient(125deg,#fff,#d7c6ff);transform:rotate(-13deg);top:90px;box-shadow:0 20px 38px #784bad20}.deco-envelope i{position:absolute;inset:0;background:linear-gradient(150deg,transparent 49%,#ba9efa 50%,transparent 52%);border-radius:25px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-layout h2{margin:13px 0 23px}.contact-info{background:#fff;border:1px solid var(--line);border-radius:24px;padding:38px}.contact-info p{margin:0;padding:11px 0;border-bottom:1px solid #eee8f7;word-break:break-word;color:var(--ink)}.contact-info p:last-child{border-bottom:0}.contact-info a,.policy-content a{color:#6544dc;text-decoration:underline;text-underline-offset:3px}.contact-layout>div:first-child p{font-size:15px}.loading-page{min-height:calc(100vh - 80px);min-height:calc(100dvh - 80px);display:grid;place-items:center;padding:50px 25px;background:radial-gradient(circle at 25% 25%,#e8dcff,transparent 30%),radial-gradient(circle at 82% 73%,#ffdbc9,transparent 25%),#fcfaff;position:relative;overflow:hidden}.loading-surface{position:relative;background:#fff;border:1px solid #e8dcf4;border-radius:34px;max-width:570px;width:100%;padding:58px 55px;text-align:center;box-shadow:0 30px 90px #68529c17}.loading-surface h1{font-size:clamp(2.2rem,4vw,3.4rem);margin:18px 0}.loading-surface p{font-size:15px;line-height:1.6}.loading-surface .btn{margin:8px}.spinner{width:75px;height:75px;border-radius:24px;margin:0 auto 28px;background:linear-gradient(130deg,#b697ff,#ffc5b3);transform:rotate(30deg);animation:loader 1.4s ease-in-out infinite alternate}.spinner.complete{animation:none;transform:rotate(0);background:#e6d9ff}.loading-surface .quiet{margin:22px 0 0}@keyframes loader{0%{transform:rotate(-25deg) scale(.83);border-radius:20px}100%{transform:rotate(55deg) scale(1.03);border-radius:50%}}
/* Reusable product detail: four content blocks */
.product-root{background:#fff;padding-top:39px}.breadcrumbs{font-size:13px;color:#796d86;margin-bottom:34px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.product-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.05fr);gap:7%;align-items:center;padding-bottom:83px}.product-cover-stage{background:linear-gradient(120deg,#f3ecff,#ffe4e5);min-height:640px;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:36px;isolation:isolate}.product-cover-stage img{width:min(75%,400px);height:auto;border-radius:12px;box-shadow:0 32px 52px #7052b63a;transform:rotate(-6deg);z-index:3}.product-cover-stage .image-index{position:absolute;top:25px;left:28px;font-size:11px;font-weight:850;letter-spacing:.15em;color:#795de4}.product-decor-orbit{border:2px solid #b49af8;width:340px;height:340px;position:absolute;border-radius:50%;top:20%;right:-140px}.product-hero-copy h1{font-size:clamp(3.2rem,6vw,6.7rem);margin:20px 0}.product-tagline{font-size:clamp(1.4rem,2vw,2rem);line-height:1.28;letter-spacing:-.025em;color:#54436f;margin:0 0 18px}.product-summary{max-width:580px;font-size:16px;line-height:1.75}.product-price{font-size:clamp(2.1rem,4vw,4rem);font-weight:850;color:var(--violet);margin:24px 0}.product-smallprint{font-size:12px;margin-top:18px;max-width:425px}.product-block{border-top:1px solid var(--line);padding:70px 0}.block-head{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-bottom:28px}.block-head h2{font-size:clamp(2.5rem,4vw,4.4rem);margin:0}.module-list{max-width:950px;margin-left:auto}.module-line{display:grid;grid-template-columns:46px 1fr 24px;align-items:center;gap:15px;padding:17px;border-bottom:1px solid var(--line);min-height:65px}.module-line span:first-child{font-size:12px;color:var(--violet);font-weight:800}.module-line img{opacity:.55}.more-module.is-hidden{display:none}.show-more{padding:13px 18px;border:1px solid #d7c3ed;border-radius:14px;background:#f7f1ff;color:#7250d1;font-weight:750;margin-top:20px}.fit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}.fit-grid>div{background:#f8f3ff;border-radius:25px;padding:38px}.fit-grid>div:nth-child(2){background:#fff1f2}.fit-grid h3{font-size:23px;margin:0 0 17px}.fit-grid p{font-size:15px;line-height:1.72}.fit-grid ul{margin:0 0 25px;padding-left:20px;color:#6e607b;line-height:1.8}.related-area{margin-top:68px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px;max-width:900px}.related-grid .course-cover{max-height:290px}
/* Policy pages: keep source formatting intact; typographic treatment only */
.policy-hero .subhero-inner{min-height:285px;padding-block:72px}.policy-hero h1{font-size:clamp(2.9rem,5vw,5.4rem)}.policy-section{background:#fff}.policy-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:39px}.policy-tabs a{padding:10px 13px;border:1px solid var(--line);border-radius:13px;font-size:13px;font-weight:700;background:#faf8ff}.policy-tabs .current{background:#7959e9;color:white;border-color:#7959e9}.policy-content{max-width:860px}.policy-content h2{font-size:clamp(1.45rem,2.1vw,2rem);letter-spacing:-.02em;margin:39px 0 14px;line-height:1.28}.policy-content h3{font-size:1.2rem;margin:26px 0 12px;letter-spacing:-.01em}.policy-content p,.policy-content li{color:#52495c;font-size:15px;line-height:1.83}.policy-content p{margin-bottom:15px}.policy-content ul,.policy-content ol{padding-left:27px;margin-bottom:22px}.policy-content li{margin-bottom:8px}.policy-content .policy-date{font-size:13px;color:#88719f}.policy-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.policy-content a:hover{color:#4f27c6}
/* One shared 3-column footer */
.site-footer{background:#f0eaff;border-top:1px solid #dcd0f1;padding:64px 0 27px}.footer-brand{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8ccef;padding-bottom:27px;margin-bottom:36px;gap:20px}.footer-brand img{width:210px;height:auto}.footer-brand span{font-size:12px;color:#7a6f8e;letter-spacing:.18em;text-transform:uppercase}.footer-grid{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr;gap:70px}.footer-grid h2{font-size:15px;letter-spacing:0;margin:0 0 23px;font-weight:800}.contact-lines p{font-size:13px;color:#5d5269;line-height:1.5;margin:0 0 9px;overflow-wrap:anywhere}.contact-lines a{color:#6041cb;text-decoration:underline;text-underline-offset:3px}.footer-menu{list-style:none;padding:0;margin:0;display:grid;gap:11px}.footer-menu a{font-size:13px;color:#65596f;transition:color .2s}.social-row{display:flex;gap:12px;margin-top:21px;align-items:center}.social-link{display:inline-flex;width:34px;height:34px;background:#fff;border-radius:11px;align-items:center;justify-content:center}.social-link img{width:24px;height:24px}.footer-end{display:flex;justify-content:space-between;flex-wrap:wrap;gap:13px;border-top:1px solid #d8ccef;margin-top:60px;padding-top:22px;color:#877a96;font-size:12px}
/* Scroll-linked motion + reveals */
.reveal-card{opacity:0;transform:translateY(42px) scale(.975);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--card-i,0)*72ms)}.reveal-card.seen{opacity:1;transform:translateY(0) scale(1)}.statement-banner .banner-object{transition:transform 1.1s var(--ease)}.statement-banner:hover .banner-object{transform:translateY(-12px) rotate(-3deg)}.statement-banner:hover .banner-sheet.front{transform:rotate(8deg) translateY(-9px)}
/* Responsive design */
@media(max-width:1120px){.shell{width:min(calc(100% - 50px),var(--shell))}.desktop-nav{gap:19px}.hero h1{font-size:clamp(3.1rem,6.1vw,5.6rem)}.hero-grid{min-height:620px}.hero-art{min-height:400px}.footer-grid{gap:35px}.product-cover-stage{min-height:545px}.featured-grid,.catalog-grid{gap:16px}.statement-banner>div:first-child{padding:43px 47px}}
@media(max-width:1120px){.desktop-nav{display:none}.mobile-toggle{display:inline-flex}.header-inner{min-height:69px}.site-header{top:0}.hero-grid{grid-template-columns:1fr 1fr;gap:0;min-height:660px}.hero-content{padding-top:12px}.hero-art{margin-left:-10%;width:120%;min-height:380px;height:480px}.hero h1{font-size:clamp(3.1rem,6.5vw,5rem)}.benefits-grid{grid-template-columns:repeat(2,1fr)}.featured-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-cover{aspect-ratio:1.02}.paths-grid{gap:10px}.path-card{padding:22px}.path-products a{font-size:12px}.product-cover-stage{min-height:450px}.curriculum-path{grid-template-columns:210px 1fr;gap:26px}}
@media(max-width:740px){.shell{width:min(calc(100% - 32px),var(--shell))}.header-free{padding:9px 13px}.header-inner{min-height:64px}.brand img{width:174px}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;min-height:0;padding-top:65px;padding-bottom:114px}.hero h1{font-size:clamp(3.15rem,12vw,5.8rem);max-width:620px;letter-spacing:-.07em}.hero .lead{max-width:530px;font-size:15px}.hero-micro{margin-top:25px}.hero-art{min-height:360px;height:min(94vw,500px);width:110%;margin-left:-5%;margin-top:17px}.hero-morph{height:76px;bottom:-25px;padding:0 20px;font-size:9px;letter-spacing:.09em}.section{padding:70px 0}.section-top{display:block;margin-bottom:26px}.section-top p{margin-top:16px}.who-grid,.mission-grid,.inside-grid,.contact-layout{grid-template-columns:1fr;gap:27px}.who-grid h2{margin-bottom:22px}.graphic-marker{display:none}.statement-banner{grid-template-columns:1fr;min-height:390px}.statement-banner>div:first-child{padding:37px 29px;position:relative;z-index:2}.statement-banner h2{max-width:400px}.banner-object{position:absolute;right:-40px;bottom:-15px;width:270px;height:240px;opacity:.8}.featured-grid,.catalog-grid{gap:16px}.course-cover{aspect-ratio:.83}.course-card h3{font-size:18px}.course-card p{font-size:12px}.course-meta{font-size:11px}.benefits-grid{grid-template-columns:1fr 1fr}.benefits-grid article{min-height:225px;padding:21px}.benefits-grid h3{font-size:17px}.benefits-grid p{font-size:13px}.free-panel{grid-template-columns:1fr;min-height:0}.free-panel-copy{padding:35px 29px 14px}.free-panel-visual{height:250px}.free-panel-visual img{height:225px}.paths-grid,.practice-grid{grid-template-columns:1fr}.path-card{min-height:280px}.path-orbit{height:75px}.path-orbit:before{top:-23px;right:0}.path-orbit span{top:0;right:8%}.practice-card{min-height:340px}.practice-graphic{height:120px;margin:18px 0}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-brand{align-items:flex-start;flex-direction:column;gap:10px}.footer-end{margin-top:37px}.subhero-inner{min-height:305px;padding-block:70px}.subhero h1{font-size:clamp(3rem,9vw,4.6rem)}.subhero-decor,.hero-art-mini{opacity:.3;right:-60px}.curriculum-path{grid-template-columns:1fr;gap:15px}.curriculum-item a{gap:15px}.curriculum-item img{width:78px;height:105px}.curriculum-item h3{font-size:19px}.curriculum-item ul{display:none}.product-hero{grid-template-columns:1fr;gap:28px}.product-cover-stage{min-height:450px}.product-cover-stage img{width:min(62%,310px)}.product-hero-copy h1{font-size:clamp(3.3rem,10vw,5rem)}.product-block{padding:49px 0}.block-head{display:block}.block-head h2{margin-top:10px}.fit-grid{grid-template-columns:1fr;gap:14px}.fit-grid>div{padding:26px}.related-grid{gap:11px}.related-grid .course-cover{max-height:220px}.related-grid h3{font-size:14px}.related-grid p{display:none}.notes-grid,.editorial-trio{grid-template-columns:1fr}.policy-tabs{gap:7px}.policy-tabs a{font-size:12px;padding:9px}.policy-content p,.policy-content li{font-size:14px}.loading-surface{padding:38px 23px}}
@media(max-width:420px){.brand img{width:156px}.header-free{font-size:11px;padding:9px 10px}.header-actions{gap:7px}.mobile-toggle{width:42px;height:42px}.hero-grid{padding-top:52px}.hero h1{font-size:clamp(3rem,12vw,4rem)}.hero-art{height:320px;min-height:320px}.hero-micro span{margin-left:8px}.btn{font-size:13px;padding:11px 16px}.course-meta{display:block}.course-meta span:last-child{display:block;margin-top:3px}.featured-grid .course-cover{aspect-ratio:.75}.benefits-grid{gap:12px}.benefits-grid article{padding:16px}.benefits-grid h3{font-size:16px}.benefits-grid p{font-size:12px}.filter{font-size:12px;padding:9px 11px}.catalog-tools{align-items:stretch}.search-field input{width:100%}.related-grid{grid-template-columns:1fr 1fr}.related-grid .course-card:last-child{display:none}.product-cover-stage{min-height:380px}.section-top h2,.block-head h2{font-size:clamp(2.3rem,9vw,3.3rem)}.panel-nav a{font-size:23px;padding:9px 0;min-height:46px}.panel-top{padding-bottom:15px}}
/* Phone landscape: keep fixed panel usable after scroll and orientation changes */
@media(max-height:460px) and (orientation:landscape) and (max-width:1120px){.mobile-panel{width:min(65vw,510px);padding:12px 22px;display:block}.panel-top{padding-bottom:4px}.panel-nav{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;margin:8px 0}.panel-nav a{font-size:17px;min-height:38px;padding:6px 0;grid-template-columns:18px 1fr 14px;gap:8px}.panel-nav a span{font-size:10px}.panel-free{display:inline-flex;margin-top:10px;min-height:36px}.panel-caption{display:none}.hero-grid{padding-top:25px}.hero h1{font-size:clamp(2.5rem,5vw,3.8rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-art-main,.hero-art-decor{transform:none!important}.hero-morph{transform:translateX(-50%)!important;border-radius:23px!important}.reveal-card{opacity:1!important;transform:none!important}.spinner{transform:none!important}}

@media(max-width:420px){.hero h1{font-size:clamp(2.78rem,11.45vw,3.4rem);overflow-wrap:normal}.hero .ink-accent{hyphens:none}}

/* Connected shape-to-collection reveal: one visual change, not an additional content section. */
@media(min-width:741px){body.js-motion .collection .featured-grid{clip-path:inset(0 44% 0 44% round 75px);filter:blur(5px);transition:clip-path 1.45s var(--ease),filter 1.1s var(--ease)}body.js-motion .collection.collection-open .featured-grid{clip-path:inset(0 0 0 0 round 0px);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){body.js-motion .collection .featured-grid{clip-path:none!important;filter:none!important}}


/* Prompt 11 motion extension — geometry storytelling after Mission, typographic gravity after Materials.
   Decorative motion never alters approved sections or canonical product data. */
.format-intro{position:absolute;inset:0;z-index:35;overflow:hidden;pointer-events:none;visibility:hidden;isolation:isolate}
.format-intro-vertical,.format-intro-horizontal,.format-intro-circle{position:absolute;display:block;will-change:transform,opacity}
.format-intro-vertical{inset:11% auto auto 43%;width:14%;height:74%;border-radius:6px;background:linear-gradient(170deg,#291840,#8a69f8);transform:translateY(125%)}
.format-intro-horizontal{left:50%;top:45%;width:13%;height:19%;border-radius:20px;background:linear-gradient(112deg,#9c7aff,#f6b7b5);transform:translate(-50%,-50%) scaleX(.2);opacity:0}
.format-intro-circle{top:50%;left:50%;height:19vmin;aspect-ratio:1;border-radius:50%;background:#faf8ff;box-shadow:0 0 0 2px #c1a9ff;transform:translate(-50%,-50%) scale(.05);opacity:0}
.format-intro-type{position:absolute;left:9%;top:20%;color:#281b45;display:flex;flex-direction:column;gap:30px;opacity:0;transform:translateY(26px)}
.format-intro-type>span,.format-intro-index{font-size:11px;letter-spacing:.26em;font-weight:800}
.format-intro-type strong{font-size:clamp(4rem,10vw,11rem);line-height:.84;letter-spacing:-.09em;font-weight:850}
.format-intro-index{position:absolute;right:6%;bottom:7%;color:#362555;opacity:0}
body.motion-intro .format-intro{visibility:visible;animation:format-curtain 2850ms both}
body.motion-intro .format-intro-vertical{animation:format-vertical 2850ms both}
body.motion-intro .format-intro-horizontal{animation:format-horizontal 2850ms both}
body.motion-intro .format-intro-circle{animation:format-circle 2850ms both}
body.motion-intro .format-intro-type{animation:format-type 2850ms both}
body.motion-intro .format-intro-index{animation:format-index 2850ms both}
@keyframes format-curtain{0%,68%{background:#f5efff}80%{background:rgba(250,248,255,.93)}100%{visibility:hidden;background:transparent}}
@keyframes format-vertical{0%{transform:translateY(125%);opacity:1}17%{transform:translateY(0)}32%{transform:translateY(0) scaleX(1)}48%,100%{transform:translateY(0) scaleX(7.4);opacity:0}}
@keyframes format-horizontal{0%,28%{transform:translate(-50%,-50%) scaleX(.15);opacity:0}35%{opacity:1}53%{transform:translate(-50%,-50%) scaleX(8);opacity:1}66%,100%{transform:translate(-50%,-50%) scaleX(8);opacity:0}}
@keyframes format-circle{0%,47%{opacity:0;transform:translate(-50%,-50%) scale(.1)}54%{opacity:1}76%{transform:translate(-50%,-50%) scale(13);opacity:1}100%{transform:translate(-50%,-50%) scale(15);opacity:0}}
@keyframes format-type{0%,22%{opacity:0;transform:translateY(26px)}35%,55%{opacity:1;transform:translateY(0)}66%,100%{opacity:0;transform:translateY(-50px)}}
@keyframes format-index{0%,38%{opacity:0}51%,68%{opacity:1}82%,100%{opacity:0}}
body.motion-intro .hero-content{animation:hero-type-arrive 1100ms 1400ms both}
body.motion-intro .hero-art{animation:hero-art-arrive 1300ms 1250ms both}
@keyframes hero-type-arrive{from{opacity:.3;transform:translateY(45px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes hero-art-arrive{from{opacity:.2;filter:blur(14px);transform:translateY(110px) scale(.84)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
.geometry-interlude{height:245vh;height:245svh;position:relative;background:#f9f6ff;isolation:isolate}
.geometry-sticky{height:100vh;height:100svh;position:sticky;top:0;overflow:hidden;background:radial-gradient(circle at 74% 49%,#e4d6ff 0%,#f7efff 41%,#fbf9ff 75%);display:flex;flex-direction:column;isolation:isolate}
.geometry-sticky:before{content:"";position:absolute;width:90vw;height:90vw;max-width:1000px;max-height:1000px;background:linear-gradient(130deg,rgba(220,206,255,.55),rgba(255,199,180,.45));border-radius:50%;right:-42%;top:-45%;pointer-events:none}
.geometry-topline,.geometry-bottomline{width:min(calc(100% - 76px),var(--shell));margin:auto;position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#5f4d7e;font-size:10px;letter-spacing:.18em;font-weight:750}
.geometry-topline{padding-top:24px;margin-bottom:0}
.geometry-bottomline{padding-bottom:24px;margin-top:0}
.geometry-layout{flex:1;display:grid;grid-template-columns:1fr 1.2fr;gap:0;max-width:var(--shell);width:min(calc(100% - 76px),var(--shell));margin:auto;align-items:center;position:relative}
.geometry-copy{position:relative;height:min(440px,65vh);z-index:3}
.geometry-copy-stage{position:absolute;left:0;top:50%;transform:translateY(calc(-50% + 30px));width:100%;opacity:0;will-change:opacity,transform}
.geometry-copy-stage p{font-size:clamp(3.2rem,5.2vw,6.5rem);font-weight:830;line-height:.99;letter-spacing:-.075em;color:#24193b;margin:18px 0 0}
.geometry-copy-stage em{color:#865cf2}
.geometry-copy-one{opacity:var(--geo-alpha1,1);transform:translateY(calc(-50% + var(--geo-p,0)*-70px))}
.geometry-copy-two{opacity:var(--geo-alpha2,0);transform:translateY(calc(-50% + (1 - var(--geo-p,0))*38px))}
.geometry-copy-three{opacity:var(--geo-alpha3,0);transform:translateY(calc(-50% + (1 - var(--geo-p,0))*45px))}
.geometry-copy-two{mask-image:linear-gradient(#000,#000)}
.geometry-art{height:min(72vh,690px);position:relative;display:grid;place-items:center;min-width:0}
.geometry-halo{width:80%;aspect-ratio:1;position:absolute;border:1px solid rgba(134,92,242,.28);border-radius:50%;transform:scale(calc(1 + var(--geo-p,0)*.29)) rotate(calc(var(--geo-p,0)*80deg));background:radial-gradient(circle at 60% 30%,rgba(255,202,193,.48),transparent 57%)}
.geometry-triangle{position:relative;z-index:2;width:min(100%,620px);height:auto;overflow:visible;transform:translate3d(0,calc(45px - var(--geo-p,0)*100px),0) rotate(calc(-24deg + var(--geo-p,0)*95deg)) scale(calc(.63 + var(--geo-p,0)*.45));transform-origin:50% 55%;filter:drop-shadow(0 20px 25px rgba(90,58,138,.12));will-change:transform}
.geometry-inner{transform-origin:50% 70%;transform:scale(calc(.9 + var(--geo-p,0)*.1))}
.geo-detail{position:absolute;color:#6d509d;letter-spacing:.21em;font-size:10px;font-weight:760;z-index:3}
.geo-detail-a{top:14%;right:18%}.geo-detail-b{bottom:14%;left:15%}
.geo-particle{position:absolute;z-index:1;background:linear-gradient(135deg,#ffbaa9,#9168f7);border-radius:50%;width:23px;aspect-ratio:1}
.gp-1{top:12%;left:16%;transform:translateY(calc(var(--geo-p,0)*100px))}.gp-2{bottom:20%;right:10%;width:51px;transform:translateY(calc(var(--geo-p,0)*-80px))}.gp-3{top:30%;right:5%;width:12px}
.geometry-progress{height:2px;flex:1;max-width:320px;background:#d3c2ef;overflow:hidden}
.geometry-progress span{display:block;height:100%;background:#805df1;transform:scaleX(var(--geo-p,0));transform-origin:left}
/* The triangle remains visually present as Benefits opens; Free Kit inherits its pointed motif. */
.benefits-section{position:relative;overflow:hidden;isolation:isolate}
.benefits-section:before{content:"";position:absolute;top:-65px;right:-50px;width:clamp(140px,26vw,380px);aspect-ratio:1;clip-path:polygon(50% 2%,98% 98%,2% 98%);transform:rotate(18deg);background:linear-gradient(135deg,rgba(175,148,255,.18),rgba(255,190,179,.22));z-index:-1}
.free-section .free-panel{position:relative;isolation:isolate}
.free-section .free-panel:after{content:"";position:absolute;right:26%;bottom:-8%;width:210px;aspect-ratio:1;clip-path:polygon(50% 2%,98% 98%,2% 98%);background:linear-gradient(130deg,rgba(255,196,188,.45),rgba(132,95,239,.23));z-index:-1;transform:rotate(-17deg)}
.gravity-interlude{height:230vh;height:230svh;background:#271841;position:relative;isolation:isolate}
.gravity-sticky{height:100vh;height:100svh;position:sticky;top:0;background:radial-gradient(ellipse at 80% 24%,#624b9a 0%,transparent 45%),radial-gradient(ellipse at 14% 87%,#493173,transparent 48%),#261940;color:#fff;display:flex;flex-direction:column;overflow:hidden}
.gravity-sticky:before,.gravity-sticky:after{content:"";position:absolute;border:1px solid rgba(209,193,255,.17);border-radius:50%;pointer-events:none}
.gravity-sticky:before{width:100vmin;height:100vmin;left:-35vmin;bottom:-58vmin}.gravity-sticky:after{width:70vmin;height:70vmin;right:-25vmin;top:-35vmin}
.gravity-topline,.gravity-bottomline{width:min(calc(100% - 76px),var(--shell));margin:auto;position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#cdbbea;font-size:10px;letter-spacing:.18em;font-weight:780}
.gravity-topline{padding-top:24px;margin-bottom:0}.gravity-bottomline{padding-bottom:24px;margin-top:0}
.gravity-center{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:min(calc(100% - 40px),1450px);margin:auto}
.gravity-kicker,.gravity-caption{color:#e1d4ff;letter-spacing:.22em;font-size:11px;font-weight:700;text-align:center;margin:0}
.gravity-kicker{position:absolute;top:12%}.gravity-caption{position:absolute;bottom:10%;font-size:clamp(12px,1.2vw,17px);letter-spacing:.06em}
.gravity-word-stage{height:min(48vh,450px);width:100%;position:relative;display:flex;align-items:center;justify-content:center}
.gravity-words{display:flex;align-items:center;justify-content:center;gap:clamp(88px,11vw,190px);width:100%;position:relative;z-index:2;pointer-events:none}
.gravity-words span{display:block;font-size:clamp(2.4rem,8vw,8rem);font-weight:850;letter-spacing:-.075em;line-height:1;white-space:nowrap;color:#f8f3ff}
.gravity-word-left{transform:translateX(calc(var(--gravity-p,0)*-24px))}
.gravity-word-right{transform:translateX(calc(var(--gravity-p,0)*24px))}
.gravity-ball{position:absolute;z-index:5;left:50%;top:0;width:clamp(58px,7vw,100px);height:clamp(58px,7vw,100px);border-radius:50%;background:radial-gradient(circle at 29% 24%,#fff3e7 0%,#ffbfbc 22%,#ec92c8 46%,#a273ff 75%,#6642e1 100%);box-shadow:16px 26px 45px rgba(12,5,39,.4),inset -13px -11px 20px rgba(74,33,153,.27);transform:translate3d(-50%,var(--ball-y,-250px),0) scaleX(var(--ball-sx,1)) scaleY(var(--ball-sy,1));transform-origin:50% 100%;will-change:transform}
.gravity-ball-shine{position:absolute;top:18%;left:19%;background:rgba(255,255,255,.7);filter:blur(5px);width:21%;aspect-ratio:1;border-radius:50%}
.gravity-floor{position:absolute;bottom:10px;left:50%;width:clamp(100px,15vw,220px);height:15px;background:#000;opacity:calc(.2 + var(--gravity-p,0)*.15);transform:translateX(-50%);filter:blur(16px);border-radius:50%}
.gravity-impact{position:absolute;left:50%;bottom:0;width:130px;height:30px;border:2px solid #c79dff;border-radius:50%;transform:translateX(-50%) scale(var(--impact-size,0));opacity:var(--impact-opacity,0);pointer-events:none}
@media(max-width:740px){
 .format-intro-type{left:7%;top:28%}.format-intro-type strong{font-size:clamp(3rem,13vw,6rem)}
 .geometry-interlude{height:200svh}.geometry-sticky{height:100svh}.geometry-topline,.geometry-bottomline,.gravity-topline,.gravity-bottomline{width:calc(100% - 32px);font-size:9px;letter-spacing:.07em}
 .geometry-layout{display:flex;flex-direction:column;width:calc(100% - 32px);justify-content:center;align-items:stretch;gap:0}
 .geometry-copy{height:180px;width:100%}.geometry-copy-stage{top:47%}.geometry-copy-stage p{font-size:clamp(2.4rem,8.9vw,4.6rem);margin:7px 0}
 .geometry-art{height:clamp(270px,48vh,460px);width:100%}.geometry-triangle{max-width:380px;max-height:100%}.geometry-halo{width:min(79%,320px)}
 .gravity-interlude{height:190svh}.gravity-word-stage{height:min(50vh,400px)}.gravity-words{gap:clamp(60px,11vw,90px)}.gravity-words span{font-size:clamp(2rem,8vw,4.8rem)}
 .gravity-kicker{top:8%;font-size:9px}.gravity-caption{bottom:7%;font-size:12px;max-width:300px}
}
@media(max-width:380px){.geometry-copy{height:160px}.geometry-art{height:40vh}.gravity-words{gap:62px}.gravity-words span{font-size:32px}}
@media(max-height:460px) and (orientation:landscape){.geometry-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center}.geometry-copy{height:190px}.geometry-copy-stage p{font-size:clamp(2rem,4.5vw,3.1rem)}.geometry-art{height:77vh}.gravity-kicker{top:3%}.gravity-caption{bottom:3%}.gravity-word-stage{height:58vh}.gravity-words span{font-size:clamp(2rem,6vw,4rem)}}
@media(prefers-reduced-motion:reduce){
 .format-intro{display:none!important}.geometry-interlude,.gravity-interlude{height:auto!important}
 .geometry-sticky,.gravity-sticky{position:relative;height:auto;min-height:65vh;min-height:65svh}
 .geometry-copy-one{opacity:1!important;transform:translateY(-50%)!important}.geometry-copy-two,.geometry-copy-three{display:none!important}
 .geometry-triangle{transform:rotate(0deg) scale(.82)!important}.gravity-ball{transform:translate3d(-50%,130px,0)!important}
 .gravity-words span{transform:none!important}
}

/* A directional handoff across the existing Benefits and Free Kit sections. */
body.js-motion .benefits-section .benefits-grid article{opacity:0;transform:translateY(70px) rotate(3deg);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0)*125ms)}
body.js-motion .benefits-section.benefits-in .benefits-grid article{opacity:1;transform:none}
body.js-motion .benefits-section:before{transition:transform 1.5s cubic-bezier(.16,1,.3,1);transform:rotate(-55deg) translateY(160px)}
body.js-motion .benefits-section.benefits-in:before{transform:rotate(18deg) translateY(0)}
body.js-motion .free-section .free-panel{clip-path:inset(0 0 100% 0 round 34px);transition:clip-path 1.25s cubic-bezier(.16,1,.3,1)}
body.js-motion .free-section.free-in .free-panel{clip-path:inset(0 0 0 0 round 34px)}
@media(prefers-reduced-motion:reduce){body.js-motion .benefits-section .benefits-grid article{opacity:1!important;transform:none!important}body.js-motion .free-section .free-panel{clip-path:none!important}}


/* PROMPT 11 TIMED MOTION REVISION: dedicated colored image icons */
.benefits-grid article img[src^="benefit-"]{
  display:block;width:72px;height:72px;object-fit:contain;margin:0 0 22px;
  border-radius:22px;filter:drop-shadow(0 8px 16px rgba(109,75,194,.09));
}
.benefits-grid article{padding:25px;min-height:256px}

/* Remove scroll-scrubbing sticky distances. Every transition now owns one viewport or less. */
.geometry-interlude{height:auto!important;min-height:660px;min-height:100svh}
.geometry-sticky{position:relative!important;top:auto;height:auto!important;min-height:660px;min-height:100svh}
.gravity-interlude{height:auto!important;min-height:620px;min-height:100svh}
.gravity-sticky{position:relative!important;top:auto;height:auto!important;min-height:620px;min-height:100svh}

/* Resting artwork: always visible even when JavaScript is unavailable. */
.geometry-copy-one{opacity:1;transform:translateY(-50%)}
.geometry-copy-two,.geometry-copy-three{opacity:0;transform:translateY(-50%)}
.geometry-halo{transform:none}
.geometry-triangle{transform:translateY(32px) rotate(-23deg) scale(.73)}
.geometry-progress span{transform:scaleX(0)}
.geo-particle{will-change:transform}
.gravity-word-left,.gravity-word-right{transform:none}
.gravity-ball{transform:translate3d(-50%,var(--fall-start,-120px),0) scale(1);will-change:transform}
.gravity-impact{opacity:0;transform:translateX(-50%) scale(.3)}
.gravity-floor{opacity:.33}

/* A 9-second triangle choreography: three distinct messages, one uninterrupted timeline. */
.geometry-interlude.is-playing .geometry-triangle{animation:triangleTimed 9s cubic-bezier(.55,.05,.28,1) infinite}
.geometry-interlude.is-playing .geometry-halo{animation:triangleHalo 9s ease-in-out infinite}
.geometry-interlude.is-playing .geometry-copy-one{animation:triangleTextOne 9s ease-in-out infinite}
.geometry-interlude.is-playing .geometry-copy-two{animation:triangleTextTwo 9s ease-in-out infinite}
.geometry-interlude.is-playing .geometry-copy-three{animation:triangleTextThree 9s ease-in-out infinite}
.geometry-interlude.is-playing .geometry-progress span{animation:triangleBar 9s linear infinite}
.geometry-interlude.is-playing .gp-1{animation:triangleOrbOne 9s ease-in-out infinite}
.geometry-interlude.is-playing .gp-2{animation:triangleOrbTwo 9s ease-in-out infinite}
@keyframes triangleTimed{
 0%,14%{transform:translateY(32px) rotate(-23deg) scale(.73)}
 34%,43%{transform:translateY(-9px) rotate(26deg) scale(.92)}
 69%,80%{transform:translateY(-36px) rotate(83deg) scale(1.06)}
 95%,100%{transform:translateY(32px) rotate(337deg) scale(.73)}
}
@keyframes triangleHalo{0%,100%{transform:scale(.92) rotate(0deg)}48%{transform:scale(1.1) rotate(85deg)}78%{transform:scale(1.2) rotate(140deg)}}
@keyframes triangleTextOne{0%,23%,98%,100%{opacity:1;transform:translateY(-50%)}31%,91%{opacity:0;transform:translateY(-65%)}}
@keyframes triangleTextTwo{0%,24%,66%,100%{opacity:0;transform:translateY(-43%)}35%,56%{opacity:1;transform:translateY(-50%)}}
@keyframes triangleTextThree{0%,59%,98%,100%{opacity:0;transform:translateY(-44%)}70%,88%{opacity:1;transform:translateY(-50%)}}
@keyframes triangleBar{0%{transform:scaleX(0)}94%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes triangleOrbOne{0%,100%{transform:translate(0,0)}50%{transform:translate(42px,95px)}}
@keyframes triangleOrbTwo{0%,100%{transform:translate(0,0)}60%{transform:translate(-28px,-85px)}}

/* Seven-second looping gravity drop: fall, squash, rebound twice, settle and repeat. */
.gravity-interlude.is-playing .gravity-ball{animation:gravityTimed 7s linear infinite}
.gravity-interlude.is-playing .gravity-impact{animation:gravityRing 7s ease-out infinite}
.gravity-interlude.is-playing .gravity-word-left{animation:gravityWordLeft 7s ease-in-out infinite}
.gravity-interlude.is-playing .gravity-word-right{animation:gravityWordRight 7s ease-in-out infinite}
@keyframes gravityTimed{
  0%,8%{transform:translate3d(-50%,var(--fall-start,-120px),0) scale(1,1)}
  27%{transform:translate3d(-50%,var(--fall-end,250px),0) scale(1.16,.82)}
  30%{transform:translate3d(-50%,var(--fall-end,250px),0) scale(.9,1.10)}
  41%{transform:translate3d(-50%,var(--fall-bounce,125px),0) scale(1,1)}
  52%{transform:translate3d(-50%,var(--fall-end,250px),0) scale(1.1,.88)}
  60%{transform:translate3d(-50%,var(--fall-small-bounce,195px),0) scale(1,1)}
  68%,94%{transform:translate3d(-50%,var(--fall-end,250px),0) scale(1,1)}
  100%{transform:translate3d(-50%,var(--fall-start,-120px),0) scale(1,1)}
}
@keyframes gravityRing{0%,25%,34%,50%,56%,68%,100%{opacity:0;transform:translateX(-50%) scale(.3)}28%{opacity:.7;transform:translateX(-50%) scale(1)}32%{opacity:0;transform:translateX(-50%) scale(2.3)}53%{opacity:.38;transform:translateX(-50%) scale(1.1)}55%{opacity:0;transform:translateX(-50%) scale(1.8)}}
@keyframes gravityWordLeft{0%,23%,100%{transform:none}28%{transform:translateX(-16px)}38%{transform:none}}
@keyframes gravityWordRight{0%,23%,100%{transform:none}28%{transform:translateX(16px)}38%{transform:none}}
.gravity-interlude.motion-still .gravity-ball{transform:translate3d(-50%,var(--fall-end,250px),0)}

@media(max-width:740px){
 .geometry-interlude,.gravity-interlude{min-height:700px;min-height:100svh;height:auto!important}
 .geometry-sticky,.gravity-sticky{min-height:700px;min-height:100svh;height:auto!important}
 .geometry-art{height:clamp(255px,42vh,440px)}
 .benefits-grid article img[src^="benefit-"]{width:64px;height:64px;margin-bottom:18px}
}
@media(max-height:460px) and (orientation:landscape){
 .geometry-interlude,.geometry-sticky,.gravity-interlude,.gravity-sticky{min-height:480px;min-height:100svh}
 .geometry-art{height:74vh}
}
@media(prefers-reduced-motion:reduce){
 .geometry-interlude.is-playing *,.gravity-interlude.is-playing *{animation:none!important;transition:none!important}
 .geometry-interlude,.gravity-interlude{height:auto!important;min-height:60svh}
 .geometry-sticky,.gravity-sticky{position:relative!important;height:auto!important;min-height:60svh}
 .geometry-copy-one{opacity:1!important;transform:translateY(-50%)!important}
 .geometry-copy-two,.geometry-copy-three{opacity:0!important}
 .geometry-triangle{transform:rotate(-14deg) scale(.82)!important}
 .gravity-ball{transform:translate3d(-50%,var(--fall-end,200px),0)!important}
 .gravity-word-left,.gravity-word-right{transform:none!important}
}


/* PROMPT 11.2 / Interaction Canvas refinement. Canonical content and triangle unchanged. */
:root{--signature-ball:radial-gradient(circle at 27% 21%,#fff4e6 0%,#ffd6c2 14%,#f2a4be 34%,#b387fa 69%,#6d4de5 100%);--signature-ball-shadow:14px 19px 33px rgba(74,44,152,.22),inset -9px -12px 20px rgba(96,48,175,.18)}
/* Typography, spacing and navigation hierarchy */
.hero h1{max-width:760px;text-wrap:balance}
.hero .lead{max-width:530px}
.section-top h2,.who-section h2{letter-spacing:-.068em;text-wrap:balance}
.statement-banner{box-shadow:0 32px 65px rgba(111,78,169,.1)}
.free-panel{box-shadow:0 24px 65px rgba(112,83,201,.12)}
/* Shorter cinematic intro; still opens into the approved Hero object */
body.motion-intro .format-intro,body.motion-intro .format-intro-vertical,body.motion-intro .format-intro-horizontal,body.motion-intro .format-intro-circle,body.motion-intro .format-intro-type,body.motion-intro .format-intro-index{animation-duration:2100ms}
body.motion-intro .hero-content{animation-duration:880ms;animation-delay:940ms}
body.motion-intro .hero-art{animation-duration:1050ms;animation-delay:830ms}
.hero-art-main{filter:drop-shadow(0 32px 41px rgba(104,71,177,.22))}
/* WHO — ball rolls behind headline and visual; never crosses interactive surfaces. */
.who-section{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fff 60%,#f9f4ff 100%)}
.who-section .shell{position:relative;z-index:3}
.who-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(32px,6vw,96px);align-items:center}
.who-grid>div:first-child{position:relative}
.who-grid h2{max-width:570px;font-size:clamp(3rem,5.6vw,6rem);line-height:.99}
.who-section .body-copy{background:rgba(255,255,255,.82);padding:clamp(10px,1.7vw,30px);border-radius:26px;backdrop-filter:blur(5px)}
.who-visual{height:clamp(250px,25vw,380px);position:relative;margin-top:34px;max-width:560px;border-radius:36px;isolation:isolate;overflow:hidden;background:linear-gradient(130deg,#f4edff 8%,#eee4ff 55%,#ffded9 100%);border:1px solid #e2d5fa;box-shadow:0 24px 65px rgba(93,61,156,.1)}
.who-visual:before{content:'';position:absolute;width:65%;aspect-ratio:1;border-radius:30%;right:-15%;top:-28%;background:#dabdff;transform:rotate(32deg)}
.who-visual img{position:absolute;z-index:2;width:107%;height:107%;object-fit:contain;left:-3%;top:-4%;transform:rotate(-8deg) scale(1.11);filter:drop-shadow(0 22px 22px rgba(77,56,144,.20))}
.who-visual-orbit{position:absolute;z-index:3;right:12%;top:12%;width:90px;aspect-ratio:1;border:2px solid #ad8bf0;border-radius:50%}
.who-visual-label{position:absolute;bottom:17px;left:19px;z-index:4;color:#55369f;font-size:10px;font-weight:850;letter-spacing:.16em;padding:9px 13px;border-radius:60px;background:rgba(255,255,255,.84)}
.signature-ball{display:block;width:84px;height:84px;border-radius:50%;background:var(--signature-ball);box-shadow:var(--signature-ball-shadow);pointer-events:none;will-change:transform}
.signature-ball-glint{position:absolute;left:20%;top:17%;width:20%;height:20%;border-radius:50%;background:rgba(255,255,255,.65);filter:blur(4px)}
.who-ball{position:absolute;z-index:2;left:-104px;top:52%;transform:translate3d(0,-160px,0) rotate(0deg)}
.who-ball-trail{position:absolute;left:0;top:calc(52% + 77px);width:100%;height:2px;background:linear-gradient(90deg,transparent,#bba7ff 20%,#f4b2b8 72%,transparent);opacity:.22;z-index:1}
.who-section.ball-running .who-ball{animation:ballWhoTravel 3.55s cubic-bezier(.24,.62,.22,1) 1 both}
@keyframes ballWhoTravel{0%{transform:translate3d(120px,-135px,0) rotate(0deg);opacity:0}3.2%{opacity:1}24%{transform:translate3d(15vw,15px,0) rotate(120deg)}32%{transform:translate3d(23vw,-25px,0) rotate(165deg)}43%{transform:translate3d(34vw,0,0) rotate(230deg)}73%{transform:translate3d(70vw,4px,0) rotate(560deg)}93%{opacity:1}100%{transform:translate3d(117vw,5px,0) rotate(810deg);opacity:0}}
/* BENEFITS — retain four cards, reserve a genuine runway for the second fall */
.benefits-section{position:relative;overflow:hidden;isolation:isolate}
.benefits-section .section-top{position:relative;z-index:2}
.benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(68px,80px) repeat(2,minmax(0,1fr));gap:clamp(10px,1.35vw,20px);align-items:stretch;position:relative}
.benefits-grid article{min-width:0;min-height:270px;padding:clamp(19px,2vw,29px);position:relative;z-index:2;box-shadow:0 14px 37px rgba(120,86,179,.055);transition:box-shadow .4s var(--ease),transform .4s var(--ease)}
.benefits-grid article:hover{transform:translateY(-7px);box-shadow:0 24px 44px rgba(110,77,171,.13)}
.benefits-grid article:nth-of-type(1){grid-column:1}.benefits-grid article:nth-of-type(2){grid-column:2}.benefits-grid article:nth-of-type(3){grid-column:4}.benefits-grid article:nth-of-type(4){grid-column:5}
.benefits-grid article img{width:72px;height:72px;transition:transform .4s var(--ease)}
.benefits-grid article:hover img{transform:rotate(-7deg) scale(1.05)}
.benefits-ball-lane{grid-column:3;grid-row:1;min-height:270px;position:relative;overflow:visible;align-self:stretch;z-index:1;pointer-events:none}
.benefits-lane-outline{position:absolute;inset:-28px 7px -28px;border-left:1px dashed rgba(135,101,235,.2);border-right:1px dashed rgba(135,101,235,.2)}
.benefit-ball{position:absolute;top:0;left:50%;margin-left:-33px;width:66px;height:66px;opacity:0;transform:translate3d(0,-150px,0) scale(.85)}
.benefits-section.ball-running .benefit-ball{animation:ballBenefitsDrop 3.45s cubic-bezier(.16,.67,.28,1) 1 both}
.benefits-ball-trail{position:absolute;inset:14px 50% 10px auto;border-left:1px dashed #af97f8;opacity:.4}
@keyframes ballBenefitsDrop{0%{transform:translate3d(0,-48px,0) scale(.84);opacity:0}4%{opacity:1}39%{transform:translate3d(0,145px,0) scale(1.13,.78)}49%{transform:translate3d(0,81px,0) scale(.96,1.06)}67%{transform:translate3d(0,183px,0) scale(1.04,.9)}89%{opacity:1}100%{transform:translate3d(0,435px,0) scale(.91);opacity:0}}
/* Collection split — existing four canonical product cards emerge from a central stack */
.collection{position:relative;isolation:isolate}
.collection-emergence{height:0;position:relative;z-index:0;pointer-events:none}
.collection-emergence-label{position:absolute;top:-26px;right:0;color:#9479bc;letter-spacing:.14em;font-weight:800;font-size:9px}
.collection-emergence-tiles{position:absolute;left:50%;top:-88px;transform:translateX(-50%);width:350px;height:175px;display:flex;justify-content:center;align-items:center;opacity:0}
.collection-emergence-tiles img{width:86px;height:118px;object-fit:cover;border-radius:11px;position:absolute;transform-origin:center bottom;box-shadow:0 10px 27px #6848ac30}
.collection.collection-open .collection-emergence-tiles{animation:emergenceOverlay 1.1s ease-out both}
.collection.collection-open .collection-emergence-tiles img:nth-child(1){animation:emergeTile1 1.1s var(--ease) both}
.collection.collection-open .collection-emergence-tiles img:nth-child(2){animation:emergeTile2 1.1s var(--ease) both}
.collection.collection-open .collection-emergence-tiles img:nth-child(3){animation:emergeTile3 1.1s var(--ease) both}
.collection.collection-open .collection-emergence-tiles img:nth-child(4){animation:emergeTile4 1.1s var(--ease) both}
@keyframes emergenceOverlay{0%{opacity:.8}68%{opacity:.8}100%{opacity:0}}
@keyframes emergeTile1{0%{transform:translate(0,-30px) rotate(-5deg) scale(.8)}100%{transform:translate(-270px,62px) rotate(-11deg) scale(.85)}}
@keyframes emergeTile2{0%{transform:translate(0,-30px) rotate(6deg) scale(.8)}100%{transform:translate(-90px,62px) rotate(-4deg) scale(.85)}}
@keyframes emergeTile3{0%{transform:translate(0,-30px) rotate(-3deg) scale(.8)}100%{transform:translate(90px,62px) rotate(4deg) scale(.85)}}
@keyframes emergeTile4{0%{transform:translate(0,-30px) rotate(9deg) scale(.8)}100%{transform:translate(270px,62px) rotate(11deg) scale(.85)}}
body.js-motion .collection .featured-grid{clip-path:none!important;filter:none!important;overflow:visible}
body.js-motion .collection .featured-grid .course-card{transition:opacity .9s var(--ease),transform 1.25s var(--ease);opacity:0;transform:translateY(52px) scale(.91)}
body.js-motion .collection.collection-open .featured-grid .course-card{opacity:1;transform:none}
body.js-motion .collection.collection-open .featured-grid .course-card:nth-child(1){transition-delay:.18s}body.js-motion .collection.collection-open .featured-grid .course-card:nth-child(2){transition-delay:.28s}body.js-motion .collection.collection-open .featured-grid .course-card:nth-child(3){transition-delay:.38s}body.js-motion .collection.collection-open .featured-grid .course-card:nth-child(4){transition-delay:.48s}
/* Covers — interaction quality, keyboard equal treatment */
.course-cover{transform:translateZ(0);transition:box-shadow .45s var(--ease),border-color .4s var(--ease);will-change:auto}
.course-card:hover .course-cover,.course-card:focus-within .course-cover{box-shadow:0 23px 43px rgba(91,59,152,.18);border-color:#bba4ef}
.course-card:focus-within .cover-move{opacity:1;transform:translateY(0)}
.course-card:hover .course-cover img,.course-card:focus-within .course-cover img{transform:scale(1.055) rotate(-1.3deg)}
.course-card:focus-within .course-cover:after{content:'';position:absolute;inset:0;border:2px solid #8263f5;border-radius:inherit;pointer-events:none}
/* Final sphere — same physical material, drops once and remains between words */
.gravity-ball{background:var(--signature-ball);box-shadow:var(--signature-ball-shadow)}
.gravity-interlude.is-playing .gravity-ball{animation:gravityTimed 4.6s cubic-bezier(.2,.6,.24,1) 1 forwards}
.gravity-interlude.is-playing .gravity-impact{animation:gravityRing 4.6s ease-out 1 forwards}
.gravity-interlude.is-playing .gravity-word-left{animation:gravityWordLeft 4.6s ease-in-out 1 forwards}
.gravity-interlude.is-playing .gravity-word-right{animation:gravityWordRight 4.6s ease-in-out 1 forwards}
.gravity-interlude.is-playing .gravity-floor{animation:gravityShadow 4.6s ease-out 1 forwards}
@keyframes gravityShadow{0%,18%{opacity:.08;transform:translateX(-50%) scale(.45)}29%,100%{opacity:.34;transform:translateX(-50%) scale(1)}}
.gravity-kicker{letter-spacing:.16em}
/* Product mobile conversion affordance */
.product-mobile-cta{display:none}
@media(max-width:1100px){.benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.benefits-grid article:nth-of-type(n){grid-column:auto}.benefits-ball-lane{grid-column:1/-1;grid-row:2;height:104px;min-height:104px;overflow:hidden}.benefits-grid article:nth-of-type(3),.benefits-grid article:nth-of-type(4){grid-row:3}.benefits-lane-outline{inset:8px 20px}.benefit-ball{top:-10px;left:50%;margin-left:-30px}.benefits-section.ball-running .benefit-ball{animation-name:ballBenefitsTablet}}
@keyframes ballBenefitsTablet{0%{transform:translate3d(0,-95px,0) scale(.7);opacity:0}17%{opacity:1}42%{transform:translate3d(0,53px,0) scale(1.09,.78)}52%{transform:translate3d(0,24px,0) scale(.9,1.05)}75%{opacity:1}100%{transform:translate3d(0,165px,0) scale(.9);opacity:0}}
@media(max-width:740px){
 .who-grid{gap:22px}.who-section .body-copy{padding:12px 0;background:transparent;backdrop-filter:none}
 .who-visual{margin-top:19px;height:270px;max-width:100%}.who-grid h2{font-size:clamp(3.2rem,9vw,4.5rem)}
 .who-ball{width:64px;height:64px;top:45%}.who-ball-trail{top:calc(45% + 58px)}
 .collection-emergence{display:none}.collection .featured-grid{will-change:auto}
 .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.benefits-grid article{padding:21px;min-height:0}
 .benefits-grid article:nth-of-type(1),.benefits-grid article:nth-of-type(2){grid-row:1}.benefits-grid article:nth-of-type(3),.benefits-grid article:nth-of-type(4){grid-row:3}
 .benefits-ball-lane{grid-row:2;height:106px;min-height:106px}
 .hero h1{line-height:1.02}
 .product-mobile-cta{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:12px;left:0;right:0;bottom:0;padding:12px 17px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #e5d9f7;backdrop-filter:blur(14px);box-shadow:0 -15px 33px rgba(49,27,100,.08);z-index:290;transform:translateY(110%);transition:transform .4s var(--ease);pointer-events:none}
 .product-mobile-cta.cta-visible{transform:translateY(0);pointer-events:auto}
 .product-mobile-cta-details{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.15}
 .product-mobile-cta-details span{font-size:12px;font-weight:650;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .product-mobile-cta-details strong{color:var(--violet);font-size:19px}
 .product-mobile-cta .btn{min-height:42px;font-size:13px;padding:10px 15px}
}
@media(max-width:520px){
 .benefits-grid{grid-template-columns:minmax(0,1fr);gap:13px}
 .benefits-grid article:nth-of-type(1){grid-row:1}.benefits-grid article:nth-of-type(2){grid-row:2}.benefits-ball-lane{grid-column:1;grid-row:3;height:100px;min-height:100px}
 .benefits-grid article:nth-of-type(3){grid-row:4}.benefits-grid article:nth-of-type(4){grid-row:5}
 .benefits-grid article{display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:14px;align-items:start;min-height:125px;padding:22px}
 .benefits-grid article img{width:58px!important;height:58px!important;margin:0!important;grid-column:1;grid-row:1/3}
 .benefits-grid article h3{grid-column:2;grid-row:1;font-size:18px;margin:0 0 5px}
 .benefits-grid article p{grid-column:2;grid-row:2;font-size:13px;line-height:1.52;margin:0}
 .who-visual{height:245px}
 .who-section.ball-running .who-ball{animation-name:ballWhoMobile}
 .section-top h2{line-height:1.04}
}
@keyframes ballWhoMobile{0%{transform:translate3d(-60px,-180px,0);opacity:0}12%{opacity:1}38%{transform:translate3d(22vw,-5px,0) rotate(110deg)}46%{transform:translate3d(28vw,-30px,0) rotate(180deg)}85%{opacity:1}100%{transform:translate3d(119vw,4px,0) rotate(630deg);opacity:0}}
@media(max-height:460px) and (orientation:landscape){.who-visual{height:255px}.benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefits-grid article:nth-of-type(n){grid-row:auto}.benefits-ball-lane{grid-column:1/-1;grid-row:2}}
@media(prefers-reduced-motion:reduce){
 .who-ball,.benefit-ball{animation:none!important;opacity:0!important}
 .collection-emergence{display:none!important}
 body.js-motion .collection .featured-grid .course-card{opacity:1!important;transform:none!important;transition:none!important}
 .product-mobile-cta{transition:none}
 .gravity-interlude.is-playing .gravity-ball{animation:none!important;transform:translate3d(-50%,var(--fall-end,250px),0)!important}
}
/* Last ball settles at the floor instead of resetting to the top. */
@keyframes gravityTimed{
  0%,8%{transform:translate3d(-50%,var(--fall-start,-120px),0) scale(1)}
  27%{transform:translate3d(-50%,var(--fall-end,250px),0) scale(1.16,.82)}
  30%{transform:translate3d(-50%,var(--fall-end,250px),0) scale(.9,1.1)}
  41%{transform:translate3d(-50%,var(--fall-bounce,125px),0) scale(1)}
  52%{transform:translate3d(-50%,var(--fall-end,250px),0) scale(1.1,.88)}
  60%{transform:translate3d(-50%,var(--fall-small-bounce,195px),0) scale(1)}
  68%,100%{transform:translate3d(-50%,var(--fall-end,250px),0) scale(1)}
}
/* Editorial rhythm after the collection — same sections, richer emphasis. */
.paths-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#f5efff 0%,#f8f5ff 70%,#fce9f1 100%)}
.paths-section::before{content:'';position:absolute;width:min(65vw,860px);height:min(65vw,860px);right:-19%;top:-47%;border:1px solid rgba(135,99,221,.17);border-radius:50%;pointer-events:none}
.paths-section .shell{position:relative;z-index:1}
.paths-grid .path-card{border:1px solid rgba(164,131,231,.18);box-shadow:0 18px 40px rgba(107,75,165,.055);transition:box-shadow .35s var(--ease),border-color .35s var(--ease)}
.paths-grid .path-card:hover,.paths-grid .path-card:focus-within{box-shadow:0 23px 50px rgba(106,67,178,.14);border-color:#ad90ea}
.materials-section{background:linear-gradient(180deg,#fff 0%,#fcfaff 100%)}
.materials-section .inside-grid{align-items:center;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(40px,9vw,140px)}
.materials-section .inside-grid h2{max-width:540px}
.materials-list{border-top:2px solid #b79bf7;box-shadow:0 25px 45px rgba(99,65,157,.05);border-radius:0 0 24px 24px;padding:18px 28px 16px;background:rgba(255,255,255,.86)}
.practice-section{background:linear-gradient(155deg,#f9f5ff,#fcfaff 70%)}
.practice-grid .practice-card{box-shadow:0 20px 43px rgba(105,78,159,.055);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.practice-grid .practice-card:hover,.practice-grid .practice-card:focus-within{transform:translateY(-7px);box-shadow:0 27px 52px rgba(102,71,172,.13)}
@media(min-width:1050px){.practice-grid .practice-card:nth-child(2){margin-top:26px}.practice-grid .practice-card:nth-child(3){margin-top:52px}}
@media(max-width:740px){.materials-section .inside-grid{grid-template-columns:1fr;gap:25px}.materials-list{padding:15px 18px}.paths-section::before{opacity:.5}}
@media(prefers-reduced-motion:reduce){.practice-grid .practice-card,.paths-grid .path-card{transition:none!important}}


/* PROMPT 11 / 22 OCT: pointer-activated ball, flowing Benefits, typography-led Hero.
   Geometry / triangle styles and timing above intentionally unchanged. */
/* Hero: remove the oversized image, keep meaningful heading and two CTAs. */
.hero{min-height:min(800px,calc(100dvh - 70px));background:radial-gradient(ellipse at 82% 30%,rgba(255,201,212,.40),transparent 40%),radial-gradient(ellipse at 54% 77%,rgba(213,185,255,.28),transparent 50%),#fbf9ff}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(200px,.42fr);align-items:center;gap:clamp(20px,5vw,90px);min-height:680px;padding-top:50px;padding-bottom:115px}
.hero-content{max-width:840px;position:relative;z-index:4}
.hero h1{max-width:830px;font-size:clamp(4.1rem,7.3vw,7.5rem);letter-spacing:-.087em;line-height:.965;text-wrap:balance}
.hero .lead{max-width:590px;font-size:clamp(16px,1.5vw,20px)}
.hero .actions{position:relative;z-index:12}
.hero-typographic-accent{position:relative;height:min(390px,38vw);min-height:260px;width:100%;pointer-events:none;opacity:.8}
.hero-accent-outline{position:absolute;top:16%;right:-15%;width:min(36vw,420px);height:min(36vw,420px);border:1.5px solid rgba(132,93,233,.42);border-radius:44%;transform:rotate(-28deg);box-shadow:inset 0 0 0 32px rgba(225,212,255,.23),0 0 0 45px rgba(243,226,252,.25)}
.hero-accent-small{position:absolute;right:4%;bottom:12%;font-size:10px;letter-spacing:.2em;font-weight:750;color:#8667c9;white-space:nowrap}
.hero-accent-star{position:absolute;right:19%;top:19%;font-size:clamp(70px,9vw,140px);line-height:1;color:#9875ee}
.hero-morph{display:none!important}
/* Larger time-based opening; no animation frames are scrubbed by scroll. */
body.motion-intro .format-intro,
body.motion-intro .format-intro-vertical,
body.motion-intro .format-intro-horizontal,
body.motion-intro .format-intro-circle,
body.motion-intro .format-intro-type,
body.motion-intro .format-intro-index{animation-duration:4800ms!important}
body.motion-intro .hero-content{animation:hero-type-arrive 1450ms 2550ms both!important}
body.motion-intro .hero-typographic-accent{animation:hero-art-arrive 1350ms 2800ms both}
/* Who We Are: the entire section, not individual text elements, is the hover target. */
.who-section{cursor:default}
/* Benefits: four equal natural cards; the ball overlay consumes zero grid space. */
.benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.55vw,22px);position:relative;align-items:stretch}
.benefits-grid article:nth-of-type(n){grid-column:auto;grid-row:1;min-width:0;z-index:2}
.benefits-ball-lane{position:absolute;left:calc(50% - 40px);top:0;bottom:0;width:80px;height:100%;min-height:0;grid-column:auto;grid-row:auto;z-index:4;pointer-events:none;overflow:visible}
.benefits-lane-outline,.benefits-ball-trail{display:none!important}
.benefit-ball{position:absolute;width:64px;height:64px;top:0;left:50%;margin-left:-32px;opacity:0}
.benefits-section.ball-running .benefit-ball{animation:ballBenefitOverlay 3.15s cubic-bezier(.2,.68,.22,1) 1 both!important}
.benefits-section.ball-running .benefits-grid article:nth-of-type(1){animation:benefitLeftOuter 3.15s ease-in-out 1 both}
.benefits-section.ball-running .benefits-grid article:nth-of-type(2){animation:benefitLeftInner 3.15s ease-in-out 1 both}
.benefits-section.ball-running .benefits-grid article:nth-of-type(3){animation:benefitRightInner 3.15s ease-in-out 1 both}
.benefits-section.ball-running .benefits-grid article:nth-of-type(4){animation:benefitRightOuter 3.15s ease-in-out 1 both}
@keyframes ballBenefitOverlay{0%{opacity:0;transform:translate3d(0,-48px,0) scale(.84)}4%{opacity:1}39%{transform:translate3d(0,var(--benefit-mid,145px),0) scale(1.12,.78)}49%{transform:translate3d(0,var(--benefit-bounce,88px),0) scale(.92,1.1)}69%{transform:translate3d(0,calc(var(--benefit-drop,390px) * .82),0) scale(1)}85%{opacity:1}100%{opacity:0;transform:translate3d(0,var(--benefit-drop,390px),0) scale(.8)}}
@keyframes benefitLeftOuter{0%,10%,92%,100%{transform:translateX(0)}25%,58%{transform:translateX(-7px)}74%{transform:translateX(-2px)}}
@keyframes benefitLeftInner{0%,10%,92%,100%{transform:translateX(0)}25%,58%{transform:translateX(-29px)}74%{transform:translateX(-7px)}}
@keyframes benefitRightInner{0%,10%,92%,100%{transform:translateX(0)}25%,58%{transform:translateX(29px)}74%{transform:translateX(7px)}}
@keyframes benefitRightOuter{0%,10%,92%,100%{transform:translateX(0)}25%,58%{transform:translateX(7px)}74%{transform:translateX(2px)}}
/* Final word scene: ball runs once on hover, keeps its settled state. */
.gravity-interlude{cursor:default}
/* Hoverable sections have readable keyboard focus without a forced focus ring on mouse. */
[data-ball-scene]:focus-visible,[data-gravity]:focus-visible{outline:3px solid #916efa;outline-offset:-5px}
@media(max-width:1120px){
 .hero-grid{grid-template-columns:minmax(0,1fr) minmax(150px,.38fr);min-height:580px}
 .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .benefits-grid article:nth-of-type(n){grid-row:auto}
 .benefits-grid article:nth-of-type(1),.benefits-grid article:nth-of-type(2){grid-row:1}
 .benefits-grid article:nth-of-type(3),.benefits-grid article:nth-of-type(4){grid-row:2}
 .benefits-ball-lane{top:0;bottom:0;height:100%;left:calc(50% - 35px);width:70px;grid-row:auto}
}
@media(max-width:740px){
 .hero-grid{grid-template-columns:1fr;gap:0;min-height:0;padding-top:65px;padding-bottom:62px}
 .hero-content{max-width:100%}
 .hero h1{font-size:clamp(3.15rem,12vw,5.6rem);line-height:.985}
 .hero-typographic-accent{display:none}
 .hero .lead{font-size:16px}
 .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
 .benefits-grid article:nth-of-type(1),.benefits-grid article:nth-of-type(2){grid-row:1}
 .benefits-grid article:nth-of-type(3),.benefits-grid article:nth-of-type(4){grid-row:2}
 .benefits-ball-lane{top:0;left:auto;right:4px;bottom:0;width:52px;height:100%;z-index:4}
 .benefit-ball{width:45px;height:45px;left:50%;margin-left:-22px}
 .benefits-section.ball-running .benefits-grid article:nth-of-type(n){animation:benefitMobileSway 3.15s ease-in-out 1 both}
 @keyframes benefitMobileSway{0%,10%,92%,100%{transform:translateY(0)}25%,58%{transform:translateY(-8px)}74%{transform:translateY(-2px)}}
}
@media(max-width:520px){
 .hero-grid{padding-top:42px}
 .hero h1{font-size:clamp(2.9rem,12vw,4.2rem);text-wrap:balance}
 .benefits-grid{grid-template-columns:1fr;gap:13px}
 .benefits-grid article:nth-of-type(1){grid-row:1}
 .benefits-grid article:nth-of-type(2){grid-row:2}
 .benefits-grid article:nth-of-type(3){grid-row:3}
 .benefits-grid article:nth-of-type(4){grid-row:4}
 .benefits-ball-lane{position:absolute;grid-column:auto;grid-row:auto;right:4px;top:0;height:100%;min-height:0}
 .benefits-grid article{padding-right:54px}
 .benefits-grid article img{width:58px!important;height:58px!important}
}
@media(max-height:460px) and (orientation:landscape){.hero-grid{min-height:0;padding-top:35px}.benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefits-grid article:nth-of-type(1),.benefits-grid article:nth-of-type(2){grid-row:1}.benefits-grid article:nth-of-type(3),.benefits-grid article:nth-of-type(4){grid-row:2}.benefits-ball-lane{grid-column:auto;grid-row:auto;position:absolute;right:4px;left:auto;height:100%}}
@media(prefers-reduced-motion:reduce){
 .who-section.ball-running .who-ball,.benefits-section.ball-running .benefit-ball{animation:none!important;opacity:0!important}
 .benefits-section.ball-running .benefits-grid article{animation:none!important;transform:none!important}
 body.motion-intro .format-intro{display:none!important}
 body.motion-intro .hero-content{animation:none!important}
 .hero-typographic-accent{animation:none!important}
}


/* PROMPT 11 / finishing details — source composition and products stay unchanged. */
/* Mission: reveal Observe, then Question, then Design. Each line stays visible. */
.mission-words .mission-word{display:block;max-width:max-content;white-space:nowrap}
body.js-motion .mission-words:not(.mission-words-visible) .mission-word{opacity:0;transform:translate3d(0,32px,0)}
body.js-motion .mission-words.mission-words-visible .mission-word{animation:missionWordSettle .8s cubic-bezier(.16,1,.3,1) both}
body.js-motion .mission-words.mission-words-visible .mission-word:nth-child(1){animation-delay:.08s}
body.js-motion .mission-words.mission-words-visible .mission-word:nth-child(2){animation-delay:.78s}
body.js-motion .mission-words.mission-words-visible .mission-word:nth-child(3){animation-delay:1.48s}
@keyframes missionWordSettle{from{opacity:0;transform:translate3d(0,32px,0);filter:blur(5px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
/* Progress numbers and line are intentionally no longer part of the triangle interlude. */
.geometry-bottomline,.geometry-progress{display:none!important}

/* Free Kit: actual cover opens and 3 illustrated PDF topic pages flip rapidly. */
.free-panel-visual{overflow:visible;isolation:isolate;perspective:1250px;min-height:385px}
.free-book{position:relative;width:clamp(185px,19.5vw,250px);aspect-ratio:1122/1402;perspective:1350px;transform:rotate(7deg);filter:drop-shadow(0 23px 22px rgba(70,37,119,.17));isolation:isolate;outline-offset:13px;cursor:pointer}
.free-book-front,.free-book-page,.free-book-back{position:absolute;inset:0;display:block;border-radius:11px;overflow:hidden;box-shadow:0 15px 28px rgba(94,65,149,.15);border:1px solid rgba(246,241,255,.9);backface-visibility:hidden;transform-origin:1% 50%;transform:rotateY(0deg);will-change:transform}
.free-book-front{z-index:6;background:#fff;box-shadow:0 22px 37px rgba(89,55,145,.28);}
.free-book-front img{width:100%;height:100%;display:block;object-fit:cover;border-radius:10px;transform:none!important;box-shadow:none!important}
.free-book-page,.free-book-back{padding:clamp(13px,1.55vw,24px);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(8px,.9vw,12px);background:linear-gradient(150deg,#fff 15%,#f8f2ff)}
.free-book-back{z-index:2;background:linear-gradient(145deg,#fff,#efe3ff);transform:none}
.free-page-three{z-index:3}
.free-page-two{z-index:4;background:linear-gradient(145deg,#fff7f9,#fff)}
.free-page-one{z-index:5}
.free-page-kicker{font-size:clamp(8px,.75vw,10px);letter-spacing:.14em;font-weight:850;color:#8969e2}
.free-book strong{font-size:clamp(17px,1.9vw,26px);line-height:1.03;letter-spacing:-.05em;color:#25183e}
.free-mini-toolbar{width:100%;height:17px;border-radius:5px;background:linear-gradient(to right,#8e65f5 0 20%,#d3c2ff 20% 100%);margin-top:5px}
.free-mini-image{width:100%;height:36%;border-radius:9px;background:linear-gradient(135deg,#c8b8ff,#eee3ff 55%,#ffcfc0);}
.free-mini-line,.free-hierarchy-copy{height:8px;width:90%;border-radius:8px;background:#d8cef4;display:block}
.free-mini-line.short,.free-hierarchy-copy.short{width:56%}
.free-page-note{margin-top:auto;font-size:10px;line-height:1.4;color:#765d9d}
.free-hierarchy-title{width:80%;height:18px;background:#7654e9;border-radius:5px;margin-top:12px}
.free-hierarchy-copy{height:9px}
.free-hierarchy-button{width:45%;height:24px;background:#9b7eff;border-radius:8px;margin-top:auto}
.free-check-item{font-size:clamp(9px,.86vw,12px);font-weight:700;color:#63547b;line-height:1.4;padding:8px 6px;border-radius:7px;background:#efe8fd;width:100%}
.free-wireframe-header{width:75%;height:13px;background:#9f82f6;border-radius:5px;margin-top:10px}
.free-wireframe-card{width:100%;height:29%;background:linear-gradient(135deg,#ccbbff,#ffd4c6);border-radius:10px}
.free-panel.book-flipping .free-book-front{animation:turnBookCover 4.05s cubic-bezier(.38,.02,.4,1) 1 both}
.free-panel.book-flipping .free-page-one{animation:turnBookPageOne 4.05s cubic-bezier(.38,.02,.4,1) 1 both}
.free-panel.book-flipping .free-page-two{animation:turnBookPageTwo 4.05s cubic-bezier(.38,.02,.4,1) 1 both}
.free-panel.book-flipping .free-page-three{animation:turnBookPageThree 4.05s cubic-bezier(.38,.02,.4,1) 1 both}
@keyframes turnBookCover{0%,7%{transform:rotateY(0)}18%,77%{transform:rotateY(-156deg)}94%,100%{transform:rotateY(0)}}
@keyframes turnBookPageOne{0%,19%{transform:rotateY(0)}29%,70%{transform:rotateY(-154deg)}88%,100%{transform:rotateY(0)}}
@keyframes turnBookPageTwo{0%,33%{transform:rotateY(0)}43%,64%{transform:rotateY(-151deg)}84%,100%{transform:rotateY(0)}}
@keyframes turnBookPageThree{0%,47%{transform:rotateY(0)}57%,59%{transform:rotateY(-147deg)}78%,100%{transform:rotateY(0)}}
/* FAQ: entire question row reacts on hover/focus; native details remain clickable. */
.faq-item{position:relative;transition:background .27s ease,border-color .27s ease,box-shadow .27s ease}
.faq-item summary{border-radius:14px;transition:padding-left .3s cubic-bezier(.2,.8,.3,1),color .24s ease,background .24s ease}
.faq-item:hover,.faq-item:focus-within{background:linear-gradient(100deg,rgba(238,230,255,.82),rgba(255,241,247,.42));border-color:#cdb8f7;box-shadow:inset 4px 0 #916af0}
.faq-item:hover summary,.faq-item:focus-within summary{padding-left:20px;color:#6746cc}
.faq-item:hover .faq-plus,.faq-item:focus-within .faq-plus{transform:scale(1.13) rotate(90deg)}
.faq-item[open] .faq-plus{transform:rotate(45deg)}
.faq-item[open]:hover .faq-plus{transform:rotate(45deg) scale(1.13)}
/* Final ball bounces, then rolls completely beyond the right edge of its stage. */
.gravity-interlude.is-playing .gravity-ball{animation:gravityBounceAndExit 4.55s linear 1 both}
.gravity-interlude.is-playing .gravity-impact{animation:gravityRing 4.55s ease-out 1 both}
.gravity-interlude.is-playing .gravity-word-left{animation:gravityWordLeft 4.55s ease-in-out 1 both}
.gravity-interlude.is-playing .gravity-word-right{animation:gravityWordRight 4.55s ease-in-out 1 both}
.gravity-interlude.is-playing .gravity-floor{animation:gravityFloorOut 4.55s linear 1 both}
@keyframes gravityBounceAndExit{
  0%,8%{transform:translate3d(-50%,var(--fall-start,-120px),0) rotate(0) scale(1);opacity:1}
  25%{transform:translate3d(-50%,var(--fall-end,250px),0) rotate(0) scale(1.17,.82)}
  29%{transform:translate3d(-50%,var(--fall-end,250px),0) rotate(0) scale(.9,1.1)}
  40%{transform:translate3d(-50%,var(--fall-bounce,125px),0) rotate(0) scale(1)}
  50%{transform:translate3d(-50%,var(--fall-end,250px),0) rotate(0) scale(1.08,.9)}
  59%{transform:translate3d(-50%,var(--fall-small-bounce,195px),0) rotate(0) scale(1)}
  68%{transform:translate3d(-50%,var(--fall-end,250px),0) rotate(0) scale(1)}
  84%{transform:translate3d(calc(-50% + var(--roll-exit,660px) * .48),var(--fall-end,250px),0) rotate(370deg) scale(1);opacity:1}
  100%{transform:translate3d(calc(-50% + var(--roll-exit,660px)),var(--fall-end,250px),0) rotate(760deg) scale(1);opacity:1}
}
@keyframes gravityFloorOut{0%,18%{opacity:.05}25%,65%{opacity:.3}84%,100%{opacity:0}}
.gravity-word-stage{overflow:hidden}
/* Responsive book size and accessibility. */
@media(max-width:740px){.free-panel-visual{min-height:300px;height:300px}.free-book{width:clamp(176px,45vw,220px)}.free-book-page,.free-book-back{padding:15px}.free-book strong{font-size:20px}.free-page-kicker{font-size:9px}.free-check-item{font-size:10px;padding:6px}}
@media(max-width:420px){.mission-words{font-size:clamp(3.25rem,12.5vw,4.6rem)}}
@media(prefers-reduced-motion:reduce){body.js-motion .mission-words .mission-word{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}.free-panel.book-flipping .free-book-front,.free-panel.book-flipping .free-book-page{animation:none!important}.gravity-interlude.is-playing .gravity-ball{animation:none!important}}

/* FINAL / Inside the Material staircase + continuous ball handoff.
   Uses one visual ball across two adjacent sections, without altering course data. */
.materials-gravity-flow{position:relative;isolation:isolate;overflow:hidden}
.materials-gravity-flow .materials-section{position:relative;z-index:1;padding-bottom:clamp(100px,9vw,164px)}
.materials-gravity-flow .gravity-interlude{position:relative;z-index:1}
.materials-gravity-flow .materials-list.materials-stairs{
  display:flex;flex-direction:column;gap:8px;
  background:none;box-shadow:none;border:0;padding:12px 0 0;
  border-radius:0;overflow:visible;
}
.materials-stairs .resource-line{
  box-sizing:border-box;
  min-height:92px;
  padding:18px 20px;
  background:linear-gradient(125deg,#fff 58%,#f8f2ff);
  border:1px solid #dcd0f1;
  border-top:2px solid #b7a1ef;
  border-radius:20px 20px 10px 10px;
  box-shadow:0 13px 27px rgba(76,50,126,.08);
  position:relative;
  transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease;
}
.materials-stairs .resource-line:nth-child(1){width:48%;margin-left:52%;background:linear-gradient(125deg,#fff 56%,#f1edff)}
.materials-stairs .resource-line:nth-child(2){width:63%;margin-left:37%;background:linear-gradient(125deg,#fff 56%,#fff2f0)}
.materials-stairs .resource-line:nth-child(3){width:78%;margin-left:20%;background:linear-gradient(125deg,#fff 56%,#f3efff)}
.materials-stairs .resource-line:nth-child(4){width:93%;margin-left:0;background:linear-gradient(125deg,#fff 56%,#fff0e8)}
.materials-stairs .resource-line:before{
  content:"";position:absolute;top:-2px;right:0;width:42%;border-top:3px solid rgba(127,83,235,.48);border-radius:100%;
}
.materials-stairs .resource-icon{background:#ede3ff;color:#5a39c5}
.materials-stairs .resource-line span:last-child{min-width:0;font-size:clamp(13px,1.12vw,16px)}
.materials-stairs .resource-line:hover{border-color:#b8a2f6;box-shadow:0 18px 30px rgba(76,50,126,.13);transform:translateY(-2px)}
.materials-stairs .resource-line:nth-child(even) .resource-icon{background:#ffe6e5}
.materials-gravity-flow .continuity-ball{
 position:absolute;left:0;top:0;width:clamp(44px,5vw,72px);height:clamp(44px,5vw,72px);
 border-radius:50%;z-index:12;pointer-events:none;opacity:0;
 background:var(--signature-ball);
 border:0;
 box-shadow:var(--signature-ball-shadow);
 box-sizing:border-box;
 will-change:transform,opacity;
}
.continuity-ball-glint{position:absolute;top:17%;left:20%;width:22%;aspect-ratio:1;border-radius:50%;background:#fff9;filter:blur(4px)}
.materials-gravity-flow .gravity-ball{visibility:hidden!important}
.materials-gravity-flow .gravity-floor{opacity:.2}
.materials-gravity-flow .gravity-sticky{overflow:visible}
.materials-gravity-flow .materials-section .inside-grid{align-items:center}
.materials-gravity-flow .gravity-interlude.is-playing .gravity-words span{animation-duration:4.55s}
@media(max-width:1100px){
 .materials-stairs .resource-line:nth-child(1){width:54%;margin-left:46%}
 .materials-stairs .resource-line:nth-child(2){width:68%;margin-left:32%}
 .materials-stairs .resource-line:nth-child(3){width:81%;margin-left:17%}
 .materials-stairs .resource-line:nth-child(4){width:95%;margin-left:0}
 .materials-gravity-flow .materials-section .inside-grid{gap:6%}
}
@media(max-width:740px){
 .materials-gravity-flow .materials-section{padding-bottom:85px}
 .materials-gravity-flow .materials-section .inside-grid{grid-template-columns:1fr;gap:35px}
 .materials-stairs .resource-line{min-height:76px;padding:12px 13px;gap:10px}
 .materials-stairs .resource-line:nth-child(1){width:60%;margin-left:40%}
 .materials-stairs .resource-line:nth-child(2){width:73%;margin-left:27%}
 .materials-stairs .resource-line:nth-child(3){width:85%;margin-left:15%}
 .materials-stairs .resource-line:nth-child(4){width:97%;margin-left:0}
 .materials-stairs .resource-icon{width:40px;height:40px;border-radius:12px}
 .materials-gravity-flow .materials-list.materials-stairs{gap:8px}
}
@media(prefers-reduced-motion:reduce){
 .materials-gravity-flow .continuity-ball{opacity:0!important;animation:none!important}
 .materials-stairs .resource-line{transition:none!important}
}

/* 2D side-view ball for staircase-to-words sequence; no rotating sphere or perspective. */
.materials-gravity-flow .continuity-ball-glint{display:block}
.materials-stairs .resource-line{box-shadow:0 3px 0 rgba(108,77,169,.10)}
.materials-stairs .resource-line:hover{transform:none}

/* Header now uses the exact Footer Main Menu links from the shared mainLinks list. */
@media(min-width:1121px){
  .site-header .header-inner{gap:clamp(12px,1.8vw,24px)}
  .site-header .desktop-nav{gap:clamp(12px,1.35vw,20px);margin-inline:auto;white-space:nowrap}
  .site-header .desktop-nav a{font-size:clamp(12px,1.06vw,14px)}
  .site-header .brand img{width:clamp(170px,16vw,210px)}
  .site-header .header-free{padding-inline:clamp(12px,1.1vw,17px)}
}
/* First ball is fully inside the Who We Are viewport at the FIRST animation frame. */
.who-section .who-ball{
  left:clamp(14px,3.2vw,52px);
  top:var(--who-start-y,23%);
  transform:translate3d(0,0,0);
  opacity:0;
}
@keyframes ballWhoTravel{
  0%{transform:translate3d(0,0,0) rotate(0deg);opacity:1;z-index:4}
  14%{transform:translate3d(8vw,54px,0) rotate(55deg);opacity:1;z-index:4}
  29%{transform:translate3d(23vw,160px,0) rotate(150deg);opacity:1;z-index:2}
  43%{transform:translate3d(34vw,133px,0) rotate(220deg);opacity:1}
  72%{transform:translate3d(70vw,144px,0) rotate(540deg);opacity:1}
  93%{transform:translate3d(98vw,145px,0) rotate(710deg);opacity:1}
  100%{transform:translate3d(117vw,148px,0) rotate(810deg);opacity:0}
}
@keyframes ballWhoMobile{
  0%{transform:translate3d(0,0,0) rotate(0deg);opacity:1;z-index:4}
  17%{transform:translate3d(13vw,58px,0) rotate(55deg);opacity:1;z-index:4}
  39%{transform:translate3d(27vw,150px,0) rotate(130deg);opacity:1;z-index:2}
  67%{transform:translate3d(60vw,155px,0) rotate(330deg);opacity:1}
  93%{transform:translate3d(97vw,155px,0) rotate(540deg);opacity:1}
  100%{transform:translate3d(125vw,155px,0) rotate(640deg);opacity:0}
}
@media(max-width:740px){
  .who-section .who-ball{left:10px;top:var(--who-start-y,20%)}
}

/* Prevent a later desktop grid override from squeezing Who We Are on phones. */
@media(max-width:740px){
  .who-section .who-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .who-section .who-grid > *{min-width:0}
  .who-section .who-visual{max-width:100%}
}

/* Ball peeks out at once, then passes BEHIND the artwork; text stays above it. */
.who-section .who-grid h2,.who-section .who-grid .body-copy{position:relative;z-index:5}
