/* M6 layout. Color surfaces remain controlled by theme.php and the panel. */
.how .section-head{margin-bottom:38px}
.how .steps{counter-reset:step;align-items:stretch;gap:18px}
.how .step{position:relative;min-width:0;min-height:270px;padding:26px 25px 30px;border-radius:18px;overflow:hidden;box-shadow:0 18px 38px -32px #21192065}
.how .step::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--accent)}
.how .step::after{content:"";position:absolute;width:140px;height:140px;right:-60px;bottom:-70px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:50%;pointer-events:none}
.how .step:nth-child(2)::before,.how .step:nth-child(4)::before{background:color-mix(in srgb,var(--accent) 65%,#ffb491)}
.how .step-top>span:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--how-card-text);font-size:12px;opacity:1}
.how .step-top>span:last-child{width:52px;height:52px}
.how .step h3{margin:34px 0 12px;font-size:clamp(19px,1.7vw,23px);font-weight:750;line-height:1.3}
.how .step p{font-size:14px;line-height:1.8;opacity:.82}
.how{position:relative;isolation:isolate;box-shadow:inset 0 1px #ffffff12,inset 0 -1px #ffffff12}
.how::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 8% 0%,#ed405318,transparent 36%),radial-gradient(circle at 95% 100%,#f7b37b0b,transparent 34%)}
.how .step{background:color-mix(in srgb,var(--how-card-bg) 91%,#ffffff);border-color:var(--how-card-border);box-shadow:0 22px 45px -34px #000a}
.how .step-top>span:last-child{width:76px;height:76px;background:linear-gradient(145deg,#fce9df,#eeb8ae);border:1px solid #ffffff80;border-radius:18px;box-shadow:0 10px 25px #0004}
.how .step-top .icon{width:46px;height:46px}
.how .step:has(.op-step-3d-icon){min-height:305px}
.how .step-top>span:last-child:has(.op-step-3d-icon){width:122px;height:122px;border:0;border-radius:0;background:none;box-shadow:none}
.how .step-top .op-step-3d-icon{display:block;width:122px;height:122px;object-fit:contain;filter:drop-shadow(0 12px 17px #0005)}
.how .step:has(.op-step-3d-icon) h3{margin-top:18px}

.academy{position:relative;isolation:isolate;margin-top:35px;margin-bottom:35px}
.academy::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);pointer-events:none;background:radial-gradient(ellipse 42% 85% at 15% 8%,#ffe1d68c,transparent 78%),radial-gradient(ellipse 40% 90% at 91% 96%,#8e0f3499,transparent 80%),linear-gradient(112deg,#f8a5b2 0%,#f15163 48%,#c71d3e 100%)}
.academy-inner{border:0;box-shadow:0 30px 70px -55px #000}
.academy-art{color:#220a10;isolation:isolate;min-height:450px;background:linear-gradient(145deg,color-mix(in srgb,var(--academy-art) 65%,white),var(--academy-art) 62%,color-mix(in srgb,var(--academy-art) 75%,#a84f49))}
.academy-art::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(ellipse 46% 72% at 76% 75%,#fff8e9b3,transparent 72%),repeating-linear-gradient(90deg,transparent 0 78px,#9f5b5c10 79px 80px)}
.academy-art::after{content:"";position:absolute;z-index:1;right:4%;bottom:4%;width:42%;height:12%;border-radius:50%;background:radial-gradient(ellipse,#8d435643,transparent 70%);pointer-events:none}
.academy-art .academy-word{max-width:calc(100% - 10px);text-wrap:balance;text-shadow:0 1px 0 #ffffff38}
.academy-art .academy-word>span{max-width:24em;font-size:14px;letter-spacing:1.6px;font-weight:800;line-height:1.5}
.academy-art .orbit{border-color:color-mix(in srgb,#bb6570 22%,transparent);pointer-events:none}
.academy-art.op-academy-plum{color:#fff8f6;background:radial-gradient(ellipse at 70% 70%,#a2739555,transparent 58%),linear-gradient(145deg,#73517c 0%,#56375e 59%,#35233d 100%)}
.academy-art.op-academy-plum::before{background:repeating-linear-gradient(90deg,transparent 0 78px,#ffffff0a 79px 80px)}
.academy-art.op-academy-plum::after{background:radial-gradient(ellipse,#1e102b80,transparent 70%)}
.academy-art.op-academy-plum .academy-word{text-shadow:0 2px 16px #21132155}
.academy-art.op-academy-plum .orbit.one{left:18%;top:-85px;width:520px;height:520px;border-width:46px;border-color:#ffbbcf20}
.academy-art.op-academy-plum .orbit.two{left:8%;top:-145px;width:660px;height:660px;border-width:45px;border-color:#ffbbcf16}
.academy-art.op-academy-plum .orbit.three{display:none}
.academy-art .art-star{z-index:2;right:12%;bottom:7%;transform:none;line-height:0;filter:drop-shadow(0 18px 18px #672b3c45)}
.academy-art .art-star .op-image-icon{width:clamp(160px,18vw,230px);height:clamp(160px,18vw,230px);object-fit:contain}
.academy-art:has(.section-image) .art-star{display:none}
.academy-art:has(.section-image)::before,.academy-art:has(.section-image)::after{display:none}
.academy-copy{position:relative;isolation:isolate;overflow:hidden;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.academy-copy::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse 45% 100% at 18% -22%,#ffead146,transparent 72%),radial-gradient(ellipse 44% 100% at 81% -18%,#ec566038,transparent 76%),linear-gradient(115deg,transparent 55%,#ffffff08)}
.academy-copy::after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background-image:radial-gradient(circle,#fff9 1px,transparent 2px),radial-gradient(circle,#ffd4c199 1px,transparent 2px);background-size:102px 114px,139px 151px;background-position:12px 20px,73px 53px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}
.academy-copy .topic-tags>span{opacity:1;color:#e4dce2;background:transparent;border:1px solid #ee7a9d;border-radius:4px;padding:5px 10px;font-size:10px;font-weight:500;line-height:1.5;box-shadow:none}

.about-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(42px,7vw,110px)}
.about-copy{max-width:660px}
.about-copy h2{font-size:clamp(38px,4.1vw,62px);line-height:1.12;letter-spacing:-2.8px}
.about-copy p{margin-top:28px;max-width:590px;font-size:16px;line-height:1.9;opacity:.84}
.about{background:var(--about-surface,var(--about-bg));border-top:1px solid #eadbd2;border-bottom:1px solid #eadbd2;isolation:isolate}
.about::before{content:"";position:absolute;z-index:0;top:-175px;right:-110px;width:min(56vw,760px);aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 45% 48%,#f8d3d08c 0 29%,#ef9da46b 29.3% 29.6%,transparent 30% 49%,#eeb7b27d 49.3% 49.7%,transparent 50%),radial-gradient(circle,#fce9df99,transparent 72%)}
.about::after{content:"";position:absolute;z-index:0;left:-130px;bottom:-250px;width:min(44vw,620px);aspect-ratio:1;transform:rotate(-20deg);border:1px solid #eeb0aa99;border-radius:44% 56% 52% 48%;background:radial-gradient(circle at 72% 34%,#fce5d584,transparent 52%);box-shadow:0 0 0 44px #f7d9d033,0 0 0 93px #f8e8dc77;pointer-events:none}
.about .about-grid{position:relative;z-index:1}
.about-visual{position:relative;min-width:0;min-height:430px;border-radius:34px;overflow:hidden;background:linear-gradient(145deg,#f8d2c7,#f2aca7 60%,#ed7378);box-shadow:0 35px 70px -55px #52232d80}
.about-visual::before{content:"";position:absolute;inset:24px;border:1px solid #ffffff98;border-radius:22px;pointer-events:none;z-index:2}
.about-visual .section-image{width:100%;height:100%;min-height:430px;max-height:none;margin:0;border-radius:0;object-fit:cover}
.about-symbol{position:absolute;inset:0;overflow:hidden}
.about-symbol-core{position:absolute;width:42%;aspect-ratio:1;left:30%;top:28%;border-radius:44% 56% 51% 49%;background:#f63448;transform:rotate(-20deg);box-shadow:inset -28px -25px 0 #ce1e3b40,0 24px 50px #811e4144}
.about-symbol-core::before{content:"";position:absolute;width:28%;height:20%;top:-9%;left:39%;border-radius:60% 10% 60% 10%;background:#2b5f42;transform:rotate(-32deg)}
.about-symbol-orbit{position:absolute;width:76%;aspect-ratio:1;border:1px solid #ffffff9c;border-radius:50%;left:12%;top:8%}
.about-symbol-orbit-two{width:110%;left:-5%;top:-8%;border-color:#ffffff5c}
.about-symbol-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff8eb;left:15%;top:43%}
.about-symbol-dot-two{width:9px;height:9px;left:auto;right:17%;top:27%;background:#f63148}

.who-section{position:relative;overflow:hidden;border-top:1px solid color-mix(in srgb,var(--who-text) 19%,transparent);border-bottom:1px solid color-mix(in srgb,var(--who-text) 19%,transparent)}
.who-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 38% 140% at 86% 50%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 80%)}
.who{border-bottom:0;padding-top:56px;padding-bottom:56px}
.who>div{position:relative;z-index:1;min-width:0}
.who-route{position:relative;z-index:1;display:block;flex:1 1 230px;min-width:80px;height:64px;margin:0 16px 0 clamp(12px,3vw,42px);color:color-mix(in srgb,var(--who-text) 46%,transparent)}
.who-route svg{display:block;width:100%;height:100%;overflow:visible}
.who-route .route-edge{fill:none;stroke:currentColor;stroke-width:1.2;opacity:.62}
.who-route .route-center{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:1 11;opacity:.9}
.who-route .route-marker{fill:var(--accent)}
.who .round-link{position:relative;z-index:1;margin-left:0}
.faq{grid-template-columns:minmax(240px,.8fr) minmax(0,1.35fr);gap:clamp(36px,5vw,86px);align-items:start;min-width:0}
.faq-heading{position:static;min-width:0}
.faq-section .faq-heading .eyebrow{color:color-mix(in srgb,var(--accent) 70%,white);opacity:1}
.faq-heading p{max-width:330px;line-height:1.8}
.faq-tabs{max-width:none;gap:8px;margin-top:32px}
.faq-tabs button{min-height:44px;border-radius:10px;border:1px solid transparent;padding:10px 14px;align-items:center;color:color-mix(in srgb,var(--faq-text) 82%,transparent)}
.faq-tabs button.active{border-color:color-mix(in srgb,var(--faq-active) 24%,transparent);box-shadow:inset 3px 0 0 var(--faq-active)}
.faq-list{min-width:0;max-height:min(70vh,690px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 10px 0 0;background:transparent;border:0;border-radius:0;box-shadow:none;scrollbar-color:color-mix(in srgb,var(--faq-active) 65%,transparent) transparent;scrollbar-width:thin}
.faq-list details{padding:0 22px;margin:0 0 12px;border-radius:16px;box-shadow:0 9px 26px -23px #29202488;overflow:hidden}
.faq-list summary,.faq-list p{overflow-wrap:anywhere}
.faq-list details:last-child{border-bottom:1px solid var(--faq-border)}
.faq-list summary{min-height:70px;padding:18px 0;line-height:1.5}
.faq-list details[open]{box-shadow:0 16px 38px -30px #2516229a}
.faq-list p{padding:0 26px 0 0;margin:0 0 22px;opacity:.8;line-height:1.8}

.closing{isolation:isolate;background:var(--closing-surface,var(--closing-bg))}
.closing-cubes{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.closing-cube{position:absolute;display:block;width:var(--cube-size);height:var(--cube-size);left:var(--cube-x);top:var(--cube-y);opacity:var(--cube-opacity,.9);transform:translate(-50%,-50%) rotate(var(--cube-rotation,0deg));filter:drop-shadow(6px 13px 11px #37112755)}
.closing-cube svg{display:block;width:100%;height:100%;overflow:visible}
.closing-cube .cube-top{fill:var(--cube-top,#fff6ee)}
.closing-cube .cube-left{fill:var(--cube-left,#e9d8db)}
.closing-cube .cube-right{fill:var(--cube-right,#b7a5b2)}
.closing-cube:nth-child(3n + 2){--cube-top:#554050;--cube-left:#291e31;--cube-right:#130f1b}
.closing-cube:nth-child(3n + 3){--cube-top:#ffc5cb;--cube-left:#e78b9c;--cube-right:#9c425f}
.closing-cube:nth-child(1){--cube-x:6%;--cube-y:9%;--cube-size:65px;--cube-rotation:-16deg}
.closing-cube:nth-child(2){--cube-x:16%;--cube-y:23%;--cube-size:36px;--cube-rotation:21deg}
.closing-cube:nth-child(3){--cube-x:4%;--cube-y:51%;--cube-size:86px;--cube-rotation:13deg}
.closing-cube:nth-child(4){--cube-x:18%;--cube-y:77%;--cube-size:49px;--cube-rotation:-23deg}
.closing-cube:nth-child(5){--cube-x:28%;--cube-y:9%;--cube-size:29px;--cube-rotation:14deg;--cube-opacity:.7}
.closing-cube:nth-child(6){--cube-x:10%;--cube-y:91%;--cube-size:31px;--cube-rotation:-13deg}
.closing-cube:nth-child(7){--cube-x:91%;--cube-y:10%;--cube-size:68px;--cube-rotation:18deg}
.closing-cube:nth-child(8){--cube-x:83%;--cube-y:28%;--cube-size:37px;--cube-rotation:-19deg}
.closing-cube:nth-child(9){--cube-x:97%;--cube-y:52%;--cube-size:96px;--cube-rotation:10deg}
.closing-cube:nth-child(10){--cube-x:83%;--cube-y:77%;--cube-size:58px;--cube-rotation:-21deg}
.closing-cube:nth-child(11){--cube-x:92%;--cube-y:91%;--cube-size:40px;--cube-rotation:19deg}
.closing-cube:nth-child(12){--cube-x:73%;--cube-y:9%;--cube-size:28px;--cube-rotation:-17deg;--cube-opacity:.72}
.closing-inner{z-index:1;padding-top:110px;padding-bottom:110px}
.closing-inner>.closing-journey{position:absolute;inset:0;width:100%;height:100%;z-index:-1;fill:none;stroke:color-mix(in srgb,var(--closing-text) 24%,transparent);stroke-width:2;stroke-dasharray:7 11;pointer-events:none}
.closing-journey circle{fill:var(--accent);stroke:none}
.closing-inner>.eyebrow,.closing-inner>h2,.closing-inner>p,.closing-inner>.section-image,.closing-inner>.signup{position:relative;z-index:1}
.closing h2{text-wrap:balance}
.closing .signup{margin-top:34px}

.back-to-top{position:fixed;right:clamp(14px,2.5vw,34px);bottom:clamp(14px,2.5vw,34px);z-index:30;width:48px;height:48px;border:1px solid #ffffff36;border-radius:50%;display:grid;place-items:center;background:#20191eea;color:#fff;box-shadow:0 12px 34px #0b090b55;font-size:24px;line-height:1;transition:transform .2s,background .2s}
.back-to-top:hover{transform:translateY(-3px);background:#d3273e}
.back-to-top:focus-visible{outline:3px solid #ff626b;outline-offset:3px}

.message-page{max-width:1020px}
.message-card-illustrated{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,58px);align-items:center;min-height:440px}
.message-card-illustrated::before{grid-column:1/-1;margin-bottom:-8px}
.message-content{min-width:0}
.message-card-illustrated .message-copy{max-width:400px}
.message-art{min-width:0;align-self:center;border-radius:20px;overflow:hidden;background:#fae7dd}
.message-art img{display:block;width:100%;height:auto;object-fit:contain}
.message-card-illustrated .button{margin-top:20px}

@media(max-width:900px){
 .how .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .about-grid{gap:36px}
 .about-visual{min-height:350px}
 .about-visual .section-image{min-height:350px}
}
@media(max-width:760px){
 .how .step{min-height:230px;padding:22px}
 .how .step:has(.op-step-3d-icon){min-height:270px}
 .how .step-top>span:last-child:has(.op-step-3d-icon),.how .step-top .op-step-3d-icon{width:108px;height:108px}
 .academy-art .art-star .op-image-icon{width:150px;height:150px}
 .academy-art .academy-word>span{font-size:12px;letter-spacing:1.2px;margin-top:20px}
 .academy-copy .topic-tags>span{font-size:10px;padding:5px 10px}
 .about-grid{grid-template-columns:1fr;gap:30px}
 .about-copy h2{font-size:clamp(34px,8vw,47px);letter-spacing:-1.8px}
 .about-copy p{font-size:15px;margin-top:20px}
 .about-visual{min-height:300px}
 .about-visual .section-image{min-height:300px;max-height:420px}
 .about::before{top:16%;right:-28%;width:95vw}
 .about::after{left:-45%;bottom:-18%;width:90vw}
 .who-route{display:none}
 .faq{grid-template-columns:minmax(0,1fr);gap:24px}
 .faq-heading{position:static}
 .faq-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;min-width:0;padding-bottom:7px;scrollbar-width:thin}
 .faq-tabs button{flex:none;white-space:nowrap}
 .faq-list{max-height:60vh;width:100%}
 .faq-list details{padding:0 18px}
 .closing-inner{padding-top:80px;padding-bottom:80px}
 .closing-cube:nth-child(2),.closing-cube:nth-child(4),.closing-cube:nth-child(5),.closing-cube:nth-child(6),.closing-cube:nth-child(8),.closing-cube:nth-child(10),.closing-cube:nth-child(11),.closing-cube:nth-child(12){display:none}
 .closing-cube:nth-child(1){--cube-x:8%;--cube-y:8%;--cube-size:44px}
 .closing-cube:nth-child(3){--cube-x:2%;--cube-y:60%;--cube-size:58px}
 .closing-cube:nth-child(7){--cube-x:92%;--cube-y:11%;--cube-size:47px}
 .closing-cube:nth-child(9){--cube-x:99%;--cube-y:70%;--cube-size:65px}
 .message-card-illustrated{grid-template-columns:1fr;gap:24px}
 .message-card-illustrated::before{grid-column:1}
 .message-art{max-width:520px}
}
@media(max-width:580px){
 .how .steps{grid-template-columns:1fr}
 .how .step{min-height:0}
 .how .step h3{margin-top:22px}
 .academy-art .academy-word{max-width:100%}
 .academy-art .art-star{right:8%;bottom:5%}
 .back-to-top{width:44px;height:44px;right:14px;bottom:14px}
 .message-card-illustrated{padding:28px 22px}
}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
