@font-face{font-family:Inter;src:url('fonts/inter-latin.woff2');font-weight:100 900;font-display:swap}@font-face{font-family:RacodeScript;src:url('fonts/RACODEScript.woff2?v=1.100') format('woff2'),url('fonts/RACODEScript.ttf?v=1.100') format('truetype');font-display:swap}:root{--copper:#cca893;--red:#710101;--white:#f6eeea;--muted:#c1b1a7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#080605;color:var(--white);font:300 17px/1.65 Inter,sans-serif;overflow-x:hidden}body:before{content:'';position:fixed;inset:0;background:linear-gradient(#08060595,#080605ba),url('assets/night.webp') center/cover;z-index:-1}a{color:inherit;text-decoration:none}header{max-width:1240px;margin:auto;padding:26px 5%;display:flex;align-items:center;justify-content:space-between}header img{width:140px}header>a:last-child{font-size:14px;color:var(--copper);border-bottom:1px solid #cca89360}section{max-width:1160px;margin:auto;padding:85px 40px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.17em;color:var(--copper);margin:0 0 22px}h1,h2,p{margin-top:0}h1,h2{font-weight:300;letter-spacing:-.045em;line-height:1.16}h1{font-size:clamp(38px,5.1vw,70px);margin-bottom:25px}h2{font-size:clamp(37px,4.7vw,62px);margin-bottom:25px}.script{font-family:RacodeScript,cursive;font-weight:400;letter-spacing:0;color:var(--copper);font-size:1.28em;line-height:1.35}h1 .script,h2 .script{display:block;margin-top:8px}.button{display:inline-flex;justify-content:center;align-items:center;background:linear-gradient(120deg,#950707,#620000);border:1px solid #ae5540;border-radius:12px;padding:17px 28px;font-size:16px;font-weight:500;line-height:1.4;min-height:58px;box-shadow:0 12px 55px #71010140}.small{font-size:13px;color:var(--muted);margin-top:15px}.opening{text-align:center;padding-top:50px;padding-bottom:0}.intro{font-size:21px;color:var(--muted);margin-bottom:27px}.hero-stage{height:640px;position:relative;max-width:800px;margin:60px auto 0;isolation:isolate}.hero-stage:before{content:'';position:absolute;inset:50px -80px 0;background:radial-gradient(ellipse,#71010185,transparent 68%);z-index:-1}.device{background:#100d0b;border:2px solid #7e6454;border-radius:39px;padding:7px;box-shadow:0 25px 70px #0009;position:relative;overflow:hidden}.device:after{content:'';position:absolute;top:13px;left:50%;transform:translateX(-50%);width:27%;height:15px;background:#050403;border-radius:100px}.device img{display:block;width:100%;height:auto;border-radius:30px}.hero-stage .device{position:absolute;width:265px;top:30px;left:50%;transform:translateX(-50%)}.hero-stage .side{width:220px;top:90px;filter:brightness(.78)}.hero-stage .left{left:25%;transform:translateX(-50%) rotate(-13deg)}.hero-stage .right{left:75%;transform:translateX(-50%) rotate(13deg)}.main-phone{z-index:2}.annotation{position:absolute;font-size:37px}.hero-stage .annotation{bottom:25px;right:25px;transform:rotate(-7deg);z-index:3}.floating-label{position:absolute;bottom:85px;left:50%;transform:translateX(-50%);z-index:3;background:#34271fd9;border:1px solid #cca89355;backdrop-filter:blur(20px);border-radius:99px;padding:12px 24px;font-size:14px;white-space:nowrap}.sos{max-width:none;text-align:center;padding-inline:0;background:transparent;border-block:1px solid #cca89320;overflow:hidden}.sos p:not(.eyebrow){max-width:570px;margin-inline:auto;padding:0 24px;color:var(--muted)}.ribbons{overflow:hidden;margin-top:38px}.track{display:flex;gap:12px;width:max-content;animation:flow 44s linear infinite;margin:12px 0}.reverse{animation-direction:reverse;animation-duration:54s}.track span{padding:10px 27px;border:1px solid #cca89340;background:#ffffff08;border-radius:99px;font-size:16px;white-space:nowrap}@keyframes flow{to{transform:translateX(-50%)}}.rablick{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;padding-block:110px}.rab-copy>p:not(.eyebrow){font-size:20px}.rab-copy .muted{color:var(--muted);font-size:16px;max-width:410px}.rab-stage{position:relative;padding:20px 30px 60px}.rab-stage .device{width:245px;margin:auto;transform:rotate(7deg)}.glass-bubble{position:absolute;bottom:105px;left:-25px;padding:20px 26px;border:1px solid #cca89355;background:#362a23d9;backdrop-filter:blur(18px);border-radius:18px;box-shadow:0 20px 40px #0007;font-size:16px}.rab-stage .annotation{bottom:0;right:-10px;transform:rotate(-6deg)}.body-section{position:relative;border:1px solid #cca89330;border-radius:30px;background:radial-gradient(ellipse at 80% 90%,#71010175,transparent 60%),#ffffff03;min-height:650px;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}.body-copy{position:relative;z-index:2}.body-copy p:not(.eyebrow){color:var(--muted);max-width:440px}.body-stage{height:470px;position:relative}.body-stage .device{position:absolute;width:230px;top:40px}.cycle{left:-5px;transform:rotate(-11deg);z-index:2}.moon{right:-55px;top:0!important;transform:rotate(13deg);filter:brightness(.85)}.glass-tag{position:absolute;z-index:3;bottom:0;left:-20px;background:#30251ede;border:1px solid #cca89360;border-radius:100px;padding:12px 20px;font-size:14px;white-space:nowrap}.practice{position:relative;padding-bottom:0;margin-top:55px}.practice-head{max-width:630px;position:relative;z-index:2}.practice-head p:not(.eyebrow){color:var(--muted)}.practice-window{height:350px;overflow:hidden;border:1px solid #cca89345;border-radius:25px 25px 0 0;background:#160908;position:relative;max-width:760px;margin:40px auto 0}.practice-window img{width:100%;display:block;transform:translateY(-24%)}.practice-window:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#080605)}.practice-words{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;position:relative;margin-top:-20px;z-index:2}.practice-words span{border:1px solid #cca89350;background:#302018;padding:9px 18px;border-radius:99px;font-size:14px}.games{padding-top:115px;max-width:1280px}.games>p:not(.eyebrow){color:var(--muted);font-size:20px}.carousel-head{display:flex;justify-content:space-between;align-items:center;margin:36px 0 18px;color:var(--copper);font-size:14px}.carousel-head button{width:42px;height:42px;border:1px solid #cca89360;background:#ffffff05;color:var(--copper);border-radius:50%;font-size:28px;cursor:pointer}.game-carousel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:12px 0 28px}.game-carousel::-webkit-scrollbar{display:none}.game-art{flex:0 0 300px;height:382px;border:1px solid #cca89355;border-radius:26px;background-repeat:no-repeat;scroll-snap-align:center;box-shadow:0 15px 40px #0006;transition:transform .2s;background-size:452px auto;background-position:-76px -298px}.game-art:hover{transform:translateY(-7px)}.evening{background-image:url('assets/game-evening.jpg');background-position:-14px -298px}.love{background-image:url('assets/game-love.jpg')}.intimacy{background-image:url('assets/game-intimacy.jpg')}.friends{background-image:url('assets/game-friends.jpg')}.child{background-image:url('assets/game-child.jpg');background-position:-136px -298px}.games .swipe-note{font-size:13px;color:var(--muted)}.journals{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;align-items:center;padding-top:35px}.journal-crop{height:350px;overflow:hidden;border:1px solid #cca89345;border-radius:28px;transform:rotate(-6deg);box-shadow:0 25px 80px #0008}.journal-crop img{width:100%;transform:translateY(-23%)}.journals p:not(.eyebrow){color:var(--muted)}.teaser{text-align:center;padding-top:35px}.teaser h2{font-size:65px}.more{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:650px;margin:30px auto 0}.more span{border:1px solid #cca89330;padding:10px 20px;border-radius:100px;color:var(--muted);font-size:15px}.signup{text-align:center;max-width:none;background:radial-gradient(ellipse at bottom,#7101018c,transparent 70%);padding-bottom:100px}.signup>p:not(.eyebrow):not(.small){color:var(--muted);font-size:20px}footer{text-align:center;padding:45px 20px 100px;border-top:1px solid #cca89330}footer img{width:140px}footer p{font-size:33px;margin:15px 0 30px}footer div{display:flex;gap:25px;justify-content:center;font-size:13px;color:var(--muted)}.sticky{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#710101ef;border:1px solid #b97660;border-radius:100px;padding:14px 27px;font-size:15px;font-weight:500;white-space:nowrap;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s}.sticky.visible{opacity:1;pointer-events:auto}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--copper);outline-offset:5px}
@media(max-width:700px){body{font-size:16px}header{padding:22px 24px}header img{width:116px}section{padding:65px 25px}.opening{padding-top:35px;overflow:hidden}.opening h1{font-size:38px}.opening h1 .script{font-size:1.14em}.eyebrow{font-size:10px;letter-spacing:.13em}.intro{font-size:18px}.hero-stage{height:460px;margin-top:42px}.hero-stage .device{width:195px;top:18px}.hero-stage .side{width:155px;top:65px}.hero-stage .left{left:12%}.hero-stage .right{left:88%}.hero-stage .annotation{font-size:32px;right:2px;bottom:7px}.floating-label{font-size:11px;padding:10px 15px;bottom:64px}h2{font-size:37px}.sos{padding-top:65px;padding-bottom:45px}.rablick{display:block;padding-block:65px;overflow:hidden}.rab-copy h2{font-size:44px}.rab-copy>p:not(.eyebrow){font-size:18px}.rab-copy .muted{font-size:16px}.rab-stage{margin-top:25px;padding:20px 20px 65px}.rab-stage .device{width:210px;margin-left:auto;margin-right:0}.glass-bubble{left:0;bottom:125px;font-size:14px;padding:17px 19px;max-width:235px}.rab-stage .annotation{font-size:32px;right:0}.body-section{margin:0 15px;padding:42px 23px 20px;display:block;min-height:0;border-radius:25px}.body-copy h2{font-size:35px}.body-stage{height:360px;margin-top:28px}.body-stage .device{width:180px;top:25px}.cycle{left:0}.moon{right:-28px}.glass-tag{font-size:12px;left:0;bottom:12px;padding:10px 14px}.practice{margin-top:0}.practice-window{height:285px;margin:25px -10px 0}.practice-window img{width:100%;transform:translateY(-22%)}.practice-words{gap:8px}.practice-words span{font-size:12px;padding:8px 12px}.games{padding-top:75px;padding-right:0}.games h2,.games>p,.carousel-head{margin-right:25px}.games h2{font-size:35px}.games>p:not(.eyebrow){font-size:17px}.game-carousel{gap:16px;padding-right:25px;margin-left:-10px;padding-left:10px}.game-art{flex-basis:270px;height:343px;background-size:407px auto;background-position:-68px -268px}.evening{background-position:-12px -268px}.child{background-position:-122px -268px}.journals{display:flex;flex-direction:column-reverse;gap:25px;padding-block:35px 70px}.journal-crop{width:88%;height:290px;align-self:flex-start;margin-left:10px}.journals h2{font-size:34px}.teaser{padding-top:25px}.teaser h2{font-size:45px}.more{gap:8px}.more span{font-size:13px;padding:8px 14px}.signup h2{font-size:37px}.signup h2 .script{font-size:1.12em}.signup>p:not(.eyebrow):not(.small){font-size:18px}.button{font-size:15px;padding:17px 22px}.small{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.track{animation:none}.ribbons{overflow-x:auto}.game-art,.sticky{transition:none}}
/* Interactive art scenes */
.art-opening{text-align:center;max-width:1400px;padding-top:40px;padding-bottom:65px}.art-opening h1{font-size:clamp(52px,7.2vw,104px);margin-bottom:20px}.art-opening h1 .script{font-size:1.2em}.art-opening>p:not(.eyebrow):not(.small){color:var(--muted);font-size:19px}.clutch-scene{position:relative;max-width:820px;height:570px;margin:5px auto 0;isolation:isolate}.clutch-scene:before{content:'';position:absolute;inset:80px -50px 0;background:radial-gradient(ellipse,#71010199,transparent 65%);z-index:-1}.clutch-toggle{position:absolute;inset:0;border:0;background:none;cursor:pointer;width:100%;padding:0;perspective:1000px}.clutch-toggle img{position:absolute;width:100%;height:100%;object-fit:contain;inset:0;transition:opacity .7s,transform 1s;filter:drop-shadow(0 25px 35px #0009)}.clutch-open{opacity:0;transform:translateY(15px) scale(.94)}.clutch-scene.open .clutch-closed{opacity:0;transform:translateY(15px) scale(.97)}.clutch-scene.open .clutch-open{opacity:1;transform:none}.clutch-hint{position:absolute;bottom:25px;right:30px;font-size:45px;pointer-events:none;transition:opacity .3s}.open .clutch-hint{opacity:0}.clutch-contents{position:absolute;inset:0;pointer-events:none}.treasure{position:absolute;top:49%;left:43%;width:142px;height:178px;border:1px solid #d1ac8560;border-radius:18px;background:linear-gradient(140deg,#43271e,#130808);box-shadow:0 20px 50px #0008;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:16px 10px;color:var(--copper);font-size:12px;opacity:0;transform:translateY(30px) scale(.3);transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .4s;overflow:hidden}.treasure-symbol{font:55px/1.4 RacodeScript,cursive}.t-two img{width:100%;height:110px;object-fit:cover;object-position:center 45%;border-radius:8px}.open .treasure{opacity:1;pointer-events:auto}.open .t-one{transform:translate(-210px,-125px) rotate(-15deg)}.open .t-two{transform:translate(0,-190px) rotate(3deg);transition-delay:.1s}.open .t-three{transform:translate(210px,-120px) rotate(15deg);transition-delay:.2s}.treasure:hover{border-color:#edceb2;filter:brightness(1.18)}.mirror-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px;padding-block:95px}.mirror-copy>p:not(.eyebrow){font-size:20px}.mirror-copy .muted{font-size:16px;color:var(--muted);max-width:400px}.mirror-object{position:relative;display:block;width:100%;height:660px;background:none;border:0;padding:0;cursor:pointer;isolation:isolate}.mirror-object>img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 50px #0009)}.mirror-message{position:absolute;inset:27% 19% 25%;display:flex;align-items:center;justify-content:center;color:var(--white)}.mirror-prompt{font-size:44px;transition:opacity .5s}.mirror-reveal{position:absolute;font:300 29px/1.4 Inter,sans-serif;text-align:center;opacity:0;transform:translateY(15px);transition:opacity .8s,transform .8s;color:#f5e3d4;text-shadow:0 0 30px #cca89380}.mirror-reveal small{display:block;font-size:13px;color:var(--copper);margin-top:25px}.mirror-object.revealed .mirror-prompt{opacity:0}.mirror-object.revealed .mirror-reveal{opacity:1;transform:none}.question-experience{text-align:center;padding:45px 0 10px;perspective:1200px}.question-card{position:relative;width:270px;height:345px;padding:0;background:none;border:0;cursor:pointer;transform-style:preserve-3d;transition:transform .8s}.question-card.flipped{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;inset:0;border:1px solid #b88864;border-radius:20px;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:radial-gradient(ellipse at top,#902319,#240b08 65%);box-shadow:0 25px 60px #0009;color:var(--copper)}.card-front:before{content:'';position:absolute;inset:12px;border:1px solid #cca89350;border-radius:12px}.card-front img{width:65px;margin-bottom:30px}.card-front .script{font-size:35px}.card-back{transform:rotateY(180deg);font:300 21px/1.5 Inter,sans-serif;color:var(--white)}.card-back small{margin-top:28px;font-size:11px;color:var(--copper)}.games{background:radial-gradient(ellipse at 50% 55%,#71010145,transparent 65%)}@media(max-width:700px){.art-opening{padding:35px 22px 60px;overflow:hidden}.art-opening h1{font-size:52px}.art-opening h1 .script{font-size:1.1em}.art-opening>p:not(.eyebrow):not(.small){font-size:16px}.clutch-scene{height:355px;margin-top:5px;margin-inline:-40px}.clutch-hint{font-size:35px;right:35px;bottom:14px}.treasure{width:90px;height:124px;padding:12px 5px;border-radius:12px;left:39%;top:51%;font-size:10px}.treasure-symbol{font-size:35px}.t-two img{height:75px}.open .t-one{transform:translate(-105px,-75px) rotate(-15deg)}.open .t-two{transform:translate(0,-130px) rotate(3deg)}.open .t-three{transform:translate(105px,-75px) rotate(15deg)}.mirror-section{display:block;padding:65px 25px 25px}.mirror-copy h2{font-size:42px}.mirror-copy>p:not(.eyebrow){font-size:18px}.mirror-copy .muted{font-size:16px}.mirror-object{height:510px;margin-top:10px}.mirror-message{inset:28% 19% 26%}.mirror-prompt{font-size:35px}.mirror-reveal{font-size:25px}.mirror-reveal small{font-size:12px}.question-experience{margin-right:25px}.question-card{width:230px;height:300px}.card-back{font-size:19px}}@media(prefers-reduced-motion:reduce){.clutch-toggle img,.treasure,.mirror-prompt,.mirror-reveal,.question-card{transition:none}}
.clutch-toggle img{mask-image:radial-gradient(ellipse 68% 65% at center,#000 50%,transparent 90%)}.mirror-object>img{mask-image:radial-gradient(ellipse 68% 70% at center,#000 62%,transparent 99%)}
/* Asymmetric editorial compositions */
.art-opening{position:relative;min-height:860px;text-align:left;padding:110px 6% 80px;max-width:none;background:radial-gradient(ellipse at 86% 50%,#90251890,transparent 50%),linear-gradient(125deg,#080504,#210505);overflow:hidden}.art-opening>h1,.art-opening>p,.art-opening>.button{position:relative;z-index:4;max-width:53%}.art-opening h1{font-size:clamp(43px,5.2vw,76px)}.art-opening h1 .script{font-size:1.15em}.art-opening .clutch-scene{position:absolute;right:-80px;top:210px;width:62%;height:570px;margin:0;transform:rotate(-9deg)}.clutch-hint{font-size:37px;right:100px;bottom:30px;max-width:280px;text-align:right}.clutch-phone{position:absolute;width:175px;left:43%;top:20%;opacity:0;transform:translateY(130px) rotate(4deg) scale(.7);transition:opacity .5s,transform 1.1s cubic-bezier(.2,.8,.2,1);pointer-events:none}.clutch-phone .device{display:block;border-radius:27px;padding:5px}.clutch-phone .device img{border-radius:21px}.clutch-phone .device:after{height:10px;top:10px}.open .clutch-phone{opacity:1;transform:translateY(-50px) rotate(4deg);pointer-events:auto}.clutch-scene.open .clutch-toggle{transform:translateY(55px)}.clutch-toggle{transition:transform .8s}.sos{text-align:left;padding:80px 0 45px;background:transparent}.sos>h2,.sos>p{max-width:1160px;margin-inline:auto;padding-inline:40px}.sos>p:not(.eyebrow){max-width:1160px;margin-left:auto;margin-right:auto}.mirror-section{max-width:none;background:#c7a68e;color:#231811;grid-template-columns:1fr 1fr;padding:95px 9%;gap:0;position:relative;overflow:hidden}.mirror-copy{max-width:520px;position:relative;z-index:2}.mirror-copy .eyebrow,.mirror-copy .script{color:#710101}.mirror-copy .muted{color:#523c31}.mirror-object{height:700px;transform:rotate(9deg);width:120%;margin-left:5%}.mirror-message{transform:rotate(-3deg)}.body-section{margin:100px 6% 20px;max-width:none;border-radius:0;border:0;background:radial-gradient(ellipse at 75% 50%,#71010190,transparent 65%);padding:60px 4%;transform:none}.body-copy{max-width:480px}.body-stage{transform:translateX(45px)}.practice{overflow:hidden;max-width:none;min-height:720px;padding:100px 10%;background:linear-gradient(125deg,#430b0a,#0e0806);margin-top:0}.practice-head{max-width:50%;position:relative;z-index:3}.practice-window{display:none}.tray-detail{position:absolute;width:520px;height:660px;right:-25px;top:10px;transform:rotate(15deg);isolation:isolate}.tray-detail>img{width:100%;height:100%;object-fit:cover;mask-image:radial-gradient(ellipse 64% 70% at center,#000 52%,transparent 96%)}.tray-screen{position:absolute;left:36%;top:25%;width:30%;transform:rotate(-6deg);border:5px solid #100c09;border-radius:23px;overflow:hidden;box-shadow:15px 20px 35px #0009}.tray-screen img{width:100%;display:block}.practice-words{justify-content:flex-start;max-width:50%;margin-top:25px}.games{padding-block:95px;background:none}.question-experience{text-align:left;margin-left:25%;display:flex;flex-wrap:wrap;align-items:center;gap:25px;padding-top:15px}.question-experience>.eyebrow{width:100%;margin-bottom:0}.question-experience>.small{max-width:100px}.journals{padding-block:100px}.journal-crop{transform:rotate(-11deg);margin-left:-80px;width:120%}.journals>div:last-child{position:relative;z-index:2}.teaser{text-align:left;margin-left:9%;max-width:850px}.more{justify-content:flex-start;margin-left:0}.signup{text-align:left;padding-inline:10%;background:radial-gradient(ellipse at right,#710101aa,transparent 75%)}.signup h2{max-width:700px}.signup .small{max-width:500px}
@media(max-width:700px){.art-opening{padding:48px 25px 45px;min-height:900px}.art-opening>h1,.art-opening>p,.art-opening>.button{max-width:100%}.art-opening h1{font-size:41px}.art-opening>p:not(.eyebrow):not(.small){font-size:16px;max-width:95%}.art-opening .clutch-scene{width:125%;height:390px;right:-22%;top:360px;transform:rotate(-11deg)}.art-opening>.button{margin-top:410px}.art-opening>.small{margin-bottom:0}.clutch-hint{font-size:30px;right:80px;bottom:25px;max-width:230px}.clutch-phone{width:120px;left:39%;top:22%}.open .clutch-phone{transform:translateY(-45px) rotate(-5deg)}.clutch-scene.open .clutch-toggle{transform:translateY(40px)}.sos{padding-top:60px}.sos>h2,.sos>p{padding-inline:25px}.sos>p:not(.eyebrow){padding-inline:25px}.mirror-section{padding:60px 25px 0}.mirror-copy h2{font-size:38px}.mirror-object{height:530px;width:120%;margin-left:10%;margin-top:0;transform:rotate(12deg)}.mirror-message{inset:28% 22% 26%;transform:rotate(-5deg)}.mirror-reveal{font-size:22px}.body-section{margin:50px 0 0;padding:35px 25px 20px;border-radius:0}.body-stage{transform:translateX(25px);height:350px}.practice{min-height:690px;padding:60px 25px 25px}.practice-head{max-width:100%}.practice-head h2{font-size:37px;max-width:85%}.practice-head p{max-width:82%}.tray-detail{width:330px;height:470px;top:240px;right:-80px;transform:rotate(20deg)}.practice-words{max-width:45%;margin-top:40px;display:flex;flex-direction:column;align-items:flex-start}.practice-words span{font-size:12px}.question-experience{margin-left:0;margin-right:25px;gap:20px;justify-content:flex-start}.question-card{width:210px;height:280px}.question-experience>.small{max-width:65px;font-size:12px}.journals{padding-top:70px;padding-bottom:70px;gap:35px}.journal-crop{width:100%;margin-left:-45px;height:310px}.journals h2{font-size:33px}.teaser{margin-left:0;padding:40px 25px}.teaser h2{font-size:43px}.signup{padding:65px 25px}.signup h2{font-size:37px}}
/* Collected corrections */
.art-opening>.eyebrow{text-transform:none;letter-spacing:.065em;font-size:12px}.art-opening h1{font-family:Inter,sans-serif;font-size:clamp(26px,3.65vw,54px);line-height:1.24;letter-spacing:-.035em;color:var(--white);max-width:59%}.clutch-hint{bottom:-4px;right:140px;font-size:44px;max-width:none;white-space:nowrap}.mirror-section{padding-bottom:0;position:relative;min-height:790px;grid-template-columns:1fr 1.1fr;align-items:start}.mirror-copy{padding-top:60px;max-width:460px;padding-right:25px}.mirror-object{align-self:end;transform:none;margin:0;width:115%;height:790px;position:relative;bottom:-3px}.mirror-object>img{mask-image:none;filter:none;object-position:center bottom}.mirror-message{transform:none;inset:26% 24% 26%}.mirror-reveal{font-size:29px;line-height:1.45}.mirror-reveal small{font-size:16px;line-height:1.5}.body-section{background:#300706;margin:0; padding-top:80px;padding-bottom:55px}.practice{min-height:790px;padding-bottom:60px}.practice-head{max-width:43%;padding-top:45px}.practice-head p:not(.eyebrow){max-width:100%;font-size:18px}.tray-detail{width:57%;height:790px;right:-4%;top:0;transform:none}.tray-detail>img{object-fit:cover;object-position:left center;mask-image:linear-gradient(to right,transparent,#000 12%)}.tray-screen{left:47.6%;top:39.7%;width:32.3%;height:46.4%;transform:rotate(-2deg);border:0;border-radius:22px;background:#070403;overflow:hidden}.tray-screen img{width:100%;height:100%;object-fit:fill}.teaser{padding:65px 40px 40px;max-width:1050px}.teaser h2{font:300 clamp(25px,3.2vw,42px)/1.25 Inter,sans-serif;letter-spacing:-.02em;color:var(--white);margin-bottom:22px}.teaser>p{font-size:clamp(24px,3.1vw,40px);line-height:1.3;color:var(--copper);max-width:850px}.games .carousel-head{margin-top:25px}.signup .button{max-width:100%}
@media(max-width:700px){.art-opening{min-height:820px}.art-opening h1{font-size:clamp(22px,6.05vw,34px);max-width:100%;line-height:1.3}.art-opening>.eyebrow{font-size:10px;letter-spacing:.02em;max-width:100%}.art-opening>p:not(.eyebrow):not(.small){max-width:100%}.art-opening .clutch-scene{top:280px;height:380px}.art-opening>.button{margin-top:390px}.clutch-hint{right:110px;bottom:-2px;font-size:36px}.mirror-section{display:block;min-height:730px;padding:48px 22px 0;overflow:hidden}.mirror-copy{padding:0;max-width:100%}.mirror-copy h2{font-size:35px}.mirror-copy>p:not(.eyebrow){font-size:16px;max-width:100%}.mirror-copy .muted{font-size:15px}.mirror-object{float:right;width:75%;height:490px;margin-top:-5px;margin-right:-30px;bottom:-3px}.mirror-message{inset:27% 22% 25%}.mirror-reveal{font-size:18px}.mirror-reveal small{font-size:12px;margin-top:15px}.mirror-prompt{font-size:30px}.mirror-section:after{content:'';display:block;clear:both}.body-section{padding-top:55px}.practice{min-height:700px;padding:50px 22px 20px}.practice-head{max-width:100%;padding-top:0}.practice-head h2{font-size:34px;max-width:100%}.practice-head p:not(.eyebrow){max-width:44%;font-size:15px;line-height:1.6;margin-top:34px}.tray-detail{width:65%;height:490px;right:-8%;top:205px}.tray-screen{border-radius:13px}.teaser{padding:50px 25px 20px;margin-left:0}.teaser h2{font-size:26px}.teaser>p{font-size:28px}.art-opening>.button{font-size:14px}.games .carousel-head{margin-top:20px}}
@media(max-width:700px){.mirror-section{min-height:790px;position:relative}.mirror-copy>p:not(.eyebrow){max-width:45%;font-size:15px;line-height:1.65}.mirror-object{position:absolute;right:-40px;bottom:0;width:64%;height:550px;margin:0;float:none}.mirror-copy h2{margin-bottom:40px}.mirror-reveal{font-size:16px}.mirror-reveal small{font-size:11px}}
.mirror-object>img{clip-path:polygon(47% 0%,56% 1%,60% 8%,70% 10%,78% 15%,81% 20%,84% 25%,90% 33%,93% 38%,92% 44%,88% 48%,91% 61%,88% 73%,90% 82%,94% 91%,98% 94%,96% 100%,88% 100%,83% 97%,78% 91%,70% 92%,59% 92%,53% 95%,46% 92%,35% 93%,24% 92%,17% 97%,12% 100%,2% 100%,2% 94%,8% 91%,12% 85%,15% 77%,13% 69%,12% 56%,11% 48%,7% 42%,8% 37%,6% 33%,12% 30%,15% 25%,19% 20%,21% 15%,30% 10%,41% 8%)}
/* Consistent spacing and responsive art alignment */
:root{--section-space:80px;--heading-size:clamp(34px,4.7vw,62px);--script-size:clamp(32px,4.6vw,58px)}
section,.sos,.games,.journals,.signup,.teaser,.body-section,.practice{padding-top:var(--section-space);padding-bottom:var(--section-space)}
h2,.mirror-copy h2,.practice-head h2,.body-copy h2,.games h2,.journals h2,.signup h2{font-size:var(--heading-size);line-height:1.2}
h2 .script,.signup h2 .script{font-size:var(--script-size);line-height:1.5;margin:10px 0 0;padding:0 .15em;max-width:100%;overflow:visible;white-space:normal;overflow-wrap:normal}
.script{overflow:visible}
.art-opening>.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--copper)}
.art-opening .clutch-hint{right:20%;bottom:0;font-size:var(--script-size);white-space:normal;max-width:65%;padding:.15em;text-align:center;transform:rotate(9deg)}
.mirror-section{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:0 30px;align-items:stretch;min-height:0;padding:var(--section-space) 7% 0}
.mirror-copy{display:contents}.mirror-copy>.eyebrow,.mirror-copy>h2{grid-column:1/-1}
.mirror-copy>h2{margin-bottom:30px}.mirror-body{grid-column:1;grid-row:3;align-self:start;padding-bottom:45px;min-width:0}
.mirror-body p{font-size:18px;line-height:1.65;max-width:none}.mirror-body .muted{color:#523c31}
.mirror-object{grid-column:2;grid-row:3;position:relative;right:auto;bottom:0;float:none;align-self:stretch;width:100%;height:100%;min-height:430px;margin:0;transform:none}
.mirror-object>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.mirror-message{inset:25% 20% 24%;transform:none}.mirror-prompt{font:400 32px/1.25 Inter,sans-serif;text-align:center;color:var(--copper)}
.mirror-reveal{font-size:22px}.mirror-reveal small{font-size:14px}
.practice{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;min-height:0;padding-inline:7%;background:#300706}
.practice-head{display:contents}.practice-head>.eyebrow,.practice-head>h2{grid-column:1/-1;max-width:100%}
.practice-head>h2{margin-bottom:0}.practice-head>p:not(.eyebrow){grid-column:2;grid-row:3;max-width:none;margin:0;font-size:18px;line-height:1.65;align-self:center}
.tray-detail{grid-column:1;grid-row:3;position:relative;top:auto;right:auto;width:100%;height:auto;aspect-ratio:848/1242;transform:none;align-self:center}
.tray-detail>img{width:100%;height:100%;object-fit:fill;mask-image:none;display:block}
.tray-screen{left:48.1%;top:41.1%;width:30.8%;height:46.4%;transform-origin:top left;transform:rotate(-2deg) skewX(.4deg);border:0;border-radius:16px;box-shadow:none;background:#070403}
.tray-screen img{display:block;width:100%;height:100%;object-fit:fill}
.journals h2 .script{max-width:100%}.journals>div:last-child{min-width:0}.signup h2 .script{max-width:100%}
@media(max-width:700px){
:root{--section-space:56px;--heading-size:34px;--script-size:32px}
section,.games,.journals,.signup,.teaser,.body-section,.practice{padding-inline:22px}
.eyebrow{font-size:11px}.art-opening>.eyebrow{font-size:10px;line-height:1.7;letter-spacing:.045em}
.art-opening{padding-top:48px;padding-bottom:56px}.art-opening .clutch-hint{right:20%;bottom:-3px;font-size:32px}
.mirror-section{padding:56px 22px 0;grid-template-columns:1fr 1fr;gap:0 12px;min-height:0}
.mirror-copy>h2{margin-bottom:26px}.mirror-body{padding-bottom:32px}.mirror-body p{font-size:16px;line-height:1.6;margin-bottom:22px}.mirror-body p:last-child{margin-bottom:0}
.mirror-object{height:100%;min-height:0;width:100%;right:auto;bottom:0;margin:0}
.mirror-message{inset:25% 18% 24%}.mirror-prompt{font-size:21px;line-height:1.35}.mirror-reveal{font-size:16px;line-height:1.4}.mirror-reveal small{font-size:12px;line-height:1.4;margin-top:12px}
.practice{padding:56px 22px;gap:24px 14px;grid-template-columns:1fr 1fr;min-height:0}
.practice-head>p:not(.eyebrow){font-size:16px;line-height:1.6;max-width:none;margin:0}
.tray-detail{width:100%;height:auto;right:auto;top:auto;align-self:start;position:sticky;top:24px}
.tray-screen{border-radius:7px}
.journals{gap:30px}.journals h2,.signup h2{font-size:var(--heading-size)}
}
/* Full visible text, balanced lines, larger art */
h1,h2,p{text-wrap:pretty;overflow-wrap:normal;word-break:normal}h1,h2{text-wrap:balance}
h2 .script,.signup h2 .script{font-size:clamp(68px,7.6vw,100px);line-height:1.2;padding:.1em .2em;margin:0 -.1em;box-sizing:border-box}
.art-opening h1{font-size:clamp(28px,3.5vw,52px);line-height:1.25;max-width:63%;letter-spacing:-.04em}
.hero-line{display:block;white-space:nowrap}
.art-opening>.clutch-hint{position:relative;transform:none;right:auto;bottom:auto;max-width:100%;width:100%;font-size:58px;line-height:1.4;margin:360px 0 12px;padding:0 .3em;white-space:normal;text-align:center;z-index:5;pointer-events:none;color:var(--copper)}
.art-opening>.button{margin-top:0}.art-opening:has(.clutch-scene.open)>.clutch-hint{opacity:0}
.mirror-section{display:block;position:relative;min-height:0;padding-top:56px;overflow:hidden}
.mirror-copy{display:block;max-width:none;padding:0}.mirror-copy>h2{margin-bottom:20px}.mirror-copy>h2 .script{max-width:50%}
.mirror-body{max-width:46%;padding-bottom:32px;position:relative;z-index:2}
.mirror-object{position:absolute;right:0;top:160px;bottom:0;width:52%;height:calc(100% - 160px);min-height:0;margin:0}
.mirror-object>img{object-fit:fill}.mirror-message{inset:25% 18% 24%}
.practice{display:block;position:relative;min-height:780px;overflow:hidden;padding-bottom:56px}
.practice-head{display:block;max-width:none;padding:0}.practice-head>h2{max-width:100%;margin-bottom:28px}
.practice-head>h2 .script{max-width:48%}.practice-head>p:not(.eyebrow){max-width:44%;font-size:18px;margin:0;position:relative;z-index:2}
.tray-detail{position:absolute;left:auto;right:-8%;top:110px;width:62%;height:calc(100% - 110px);aspect-ratio:auto;margin:0}
.tray-detail>img{object-fit:fill}.tray-screen{left:48.1%;top:41.1%;width:30.8%;height:46.4%}
footer .script{font-size:52px;max-width:100%;padding-inline:.25em;text-wrap:balance}
@media(max-width:700px){
.art-opening h1{font-size:clamp(23px,6.8vw,32px);max-width:100%;line-height:1.3;letter-spacing:-.045em}
.art-opening .clutch-scene{top:275px;height:380px}
.art-opening>.clutch-hint{margin-top:355px;font-size:58px;text-align:center;padding-inline:12px}
.art-opening>.button{margin-top:0}
h2 .script,.signup h2 .script{font-size:68px;line-height:1.22;margin:4px -.1em 0;padding:.1em .22em}
.mirror-copy>h2{margin-bottom:18px}.mirror-copy>h2 .script{max-width:51%;font-size:64px}
.mirror-object{top:135px;height:calc(100% - 135px);width:53%;right:-2%}
.mirror-body{max-width:47%;padding-bottom:32px}.mirror-body p{font-size:16px;text-wrap:pretty}
.practice{min-height:660px;padding-top:56px;padding-bottom:56px}
.practice-head>h2 .script{max-width:55%;font-size:64px}
.practice-head>p:not(.eyebrow){max-width:46%;font-size:16px;line-height:1.6}
.tray-detail{top:125px;width:68%;right:-16%;height:calc(100% - 125px);position:absolute}
.journals h2 .script,.games h2 .script,.signup h2 .script{max-width:100%}
}
/* Hero correction: close gap, readable invitation beside the clasp scene. */
.art-opening .clutch-scene{top:155px}
.art-opening>.clutch-hint{font-size:290px;line-height:1;max-width:100%;width:100%;margin-top:275px;margin-bottom:14px;padding:0;text-align:right;white-space:nowrap;transform:none;letter-spacing:0}
@media(max-width:700px){
.art-opening .clutch-scene{top:230px}
.art-opening>.clutch-hint{font-size:290px;line-height:1;margin-top:280px;margin-bottom:16px;text-align:right;width:100%;max-width:100%;padding:0}
.art-opening{min-height:0;padding-bottom:48px}
}
.art-opening>p.clutch-hint.script{font-size:80px;line-height:1.1;text-align:right;max-width:100%;width:100%;margin-top:280px;margin-bottom:10px;padding:0 4px;color:var(--copper)}
@media(min-width:701px){.art-opening>p.clutch-hint.script{font-size:110px;margin-top:275px}}

/* Mobile opening: large clutch close to the copy, invitation on its lower edge. */
@media(max-width:700px){
.art-opening{padding-top:18px}
.art-opening .clutch-scene{position:relative;top:auto;right:auto;margin:-38px 0 -115px -20px;width:145%;height:380px}
.art-opening>p.clutch-hint.script{margin-top:0;margin-bottom:-4px}
}

.art-opening>p:has(+.clutch-scene){margin-bottom:0}

/* Tue es für dich follows the SOS hierarchy; the app screen sits beside the copy as a phone.
   The .mirror-art rules below serve the mirror, which now lives in the waitlist section. */
.tue-section{max-width:none;background:#c7a68e;color:#231811;padding:var(--section-space) max(40px,calc((100vw - 1080px)/2));overflow:clip}
.tue-section>.eyebrow{margin-bottom:22px;color:#710101}
.tue-section>h2{font-size:var(--heading-size);line-height:1.2;letter-spacing:-.045em;margin-bottom:30px;text-wrap:balance}
.tue-content{display:flow-root}
.tue-copy{display:contents}
.tue-copy p{font-size:18px;line-height:1.65;color:#34251c;margin:0 0 24px;text-wrap:pretty}
.tue-copy p:last-child{margin-bottom:0}
/* The app screen is a phone in the site's device frame (like Rafeel and the clutch), floated
   right as a plain rectangle: no shape-outside, so WebKit and Chrome wrap the copy alike. */
.tue-phone{float:right;width:min(300px,calc(37% - 40px));margin:4px 26px 30px 64px;rotate:5deg}
.tue-phone .device{display:block;box-shadow:0 24px 60px #42170a59,0 6px 18px #42170a33}
.mirror-art{display:block;position:relative;top:auto;width:100%;max-width:none;margin:-12px 0 0;transform:rotate(6deg);transform-origin:36% 50%;border:0;padding:0;background:none;cursor:pointer;container-type:inline-size;isolation:isolate}
.mirror-art>img{display:block;width:100%;height:auto;filter:none}
.tue-mirror-message{position:absolute;inset:23% 20%;display:flex;align-items:center;justify-content:center;color:var(--copper);text-align:center;transform:none}
.tue-mirror-prompt{font:400 clamp(44px,14cqw,68px)/1.2 RacodeScript,cursive;letter-spacing:0;white-space:nowrap;padding:.1em .2em;transition:opacity .35s}
.mirror-art .mirror-quote{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;font:italic 300 clamp(17px,5.8cqw,30px)/1.55 Inter,sans-serif;letter-spacing:-.02em;color:#ead3c1;text-wrap:balance;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .45s,transform .45s,visibility .45s}
.mirror-art.revealed .tue-mirror-prompt{opacity:0;visibility:hidden}
.mirror-art.revealed .mirror-quote{opacity:1;visibility:visible;transform:none}
@media(max-width:700px){
.tue-section{padding:var(--section-space) 25px}
.tue-section>.eyebrow{font-size:11px;letter-spacing:.17em}
.tue-section>h2{margin-bottom:26px}
/* Phones: the app phone stands at the right edge, tilted 10deg and partly off screen, and the
   copy wraps along its left edge. The float is the tilted phone's bounding box (phone height
   h = 2.1667w - 15.17px with its 13px frame) plus 12px of top padding, the phone is centred
   below that padding, and the shape is the tilted outline. Safari shifts a float's shape by
   its margin-top, so the float has none: its top is the copy's top, or up to 32px lower below
   a zero-width float (--tue-drop, set by landing.js when a line beside the lowest corner would
   hold a single word). The leftmost corner leaves 50% of the column to the lines beside it;
   the 12px left margin and top padding keep the shape-margin from being clipped at the left
   and top corners. Beside the phone the lines hold three or four words; the copy stays justified (site
   rule, no hyphenation), wide gaps included. */
.tue-content{display:flow-root}
.tue-content:before{content:'';float:right;width:0;height:var(--tue-drop,0px)}
.tue-phone{--tue-w:min((100vw - 50px)*.55,240px);float:right;clear:right;position:relative;width:calc(1.3611*var(--tue-w) - 2.63px);height:calc(2.3074*var(--tue-w) - 2.94px);margin:0 calc(50% - 9.37px - 1.3611*var(--tue-w)) 8px 12px;padding-top:12px;rotate:none;shape-outside:polygon(27% 12px,100% calc(12px + (100% - 12px)*.0775),73% 100%,0 calc(12px + (100% - 12px)*.9225)) border-box;shape-margin:12px}
.tue-phone .device{position:absolute;left:50%;top:calc(50% + 6px);width:var(--tue-w);translate:-50% -50%;rotate:10deg}
.tue-phone .device{padding:5px;border-width:1.5px;border-radius:31px}
.tue-phone .device img{border-radius:26px}
.tue-phone .device:after{top:10px;height:11px}
.tue-copy p{font-size:16px;line-height:1.65;margin-bottom:24px}
.mirror-art{position:relative;top:auto;width:100%;max-width:none;margin:-12px 0 0;transform:rotate(6deg)}
.tue-mirror-message{inset:23% 20%}
.tue-mirror-prompt{font-size:clamp(44px,17cqw,62px)}
.mirror-art .mirror-quote{font-size:clamp(16px,5.7cqw,21px);line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.tue-mirror-prompt,.mirror-art .mirror-quote{transition:none;transform:none}}

/* Rafeel: copy above four phones rising from the section edge. */
.body-section.rafeel-section{display:block;max-width:none;width:100%;min-height:0;margin:0;border:0;border-radius:0;background:#300706;padding:var(--section-space) max(40px,calc((100vw - 1080px)/2)) 0;overflow:hidden}
.rafeel-section .body-copy{max-width:900px;margin:0}
.rafeel-section .body-copy .eyebrow{max-width:100%;margin-bottom:22px;color:var(--copper)}
.rafeel-section .body-copy h2{font-size:var(--heading-size);line-height:1.2;margin-bottom:28px;text-wrap:balance}
.rafeel-section .body-copy p:not(.eyebrow){max-width:none;font-size:18px;line-height:1.65;margin-bottom:24px;color:var(--muted);text-wrap:pretty}
.rafeel-section .body-copy p:last-child{margin-bottom:0}
.rafeel-section .body-stage{height:auto;min-height:460px;aspect-ratio:1080/660;max-width:1080px;margin:8.5px auto 0;transform:none;position:relative;isolation:isolate;overflow:hidden}
.rafeel-section .body-stage .device{position:absolute;top:auto!important;bottom:-80px;width:27%;padding:7px;border-radius:39px;transform-origin:center 85%;filter:none;box-shadow:0 16px 45px #0008}
.rafeel-section .body-stage .cycle{left:0;right:auto;bottom:-105px;transform:rotate(-10deg);z-index:1}
.rafeel-section .body-stage .rafeel-recommendations{left:24%;right:auto;width:29%;bottom:-38px;transform:rotate(-3deg);z-index:4}
.rafeel-section .body-stage .moon{left:49%;right:auto;bottom:-88px;transform:rotate(6deg);z-index:2}
.rafeel-section .body-stage .rafeel-history{left:73%;right:auto;width:26%;bottom:-60px;transform:rotate(11deg);z-index:3}
@media(max-width:700px){
.body-section.rafeel-section{padding:var(--section-space) 22px 0}
.rafeel-section .body-copy h2{margin-bottom:26px}
.rafeel-section .body-copy p:not(.eyebrow){font-size:16px;line-height:1.65;margin-bottom:22px}
.rafeel-section .body-copy p:last-child{margin-bottom:0}
.rafeel-section .body-stage{width:calc(100% + 44px);max-width:none;min-height:0;aspect-ratio:auto;height:clamp(300px,94vw,660px);margin:calc(-5px - 3vw) 0 0 -22px;transform:none}
.rafeel-section .body-stage .device{width:36%;padding:4px;border-width:1.5px;border-radius:24px}
.rafeel-section .body-stage .device img{display:block;width:100%;height:auto;object-fit:contain;border-radius:18px}
.rafeel-section .body-stage .device:after{top:8px;height:9px}
.rafeel-section .body-stage .cycle{left:-1%;bottom:-62px;transform:rotate(-11deg)}
.rafeel-section .body-stage .rafeel-recommendations{left:20%;width:40%;bottom:-12px;transform:rotate(-4deg)}
.rafeel-section .body-stage .moon{left:44%;bottom:-45px;transform:rotate(-5deg)}
.rafeel-section .body-stage .rafeel-history{left:65%;width:35%;bottom:-31px;transform:rotate(10deg)}
}
/* Desktop: the outer phones reach into the side space; only the bottom edge stays cropped. */
@media(min-width:1024px){
.rafeel-section .body-stage{overflow:visible;overflow-y:clip}
}

/* Neurocodes: a bounded float traces the tray; reviews stay below the copy. */
.practice.neuro-section{display:block;min-height:0;max-width:none;margin:0;padding:var(--section-space) max(40px,calc((100vw - 1080px)/2)) 0;background:#300706;overflow:hidden}
.neuro-section .practice-head{display:block;max-width:1080px;padding:0}
.neuro-section .practice-head>.eyebrow{margin-bottom:22px}
.neuro-section .practice-head>h2{max-width:100%;margin-bottom:24px;font-size:var(--heading-size)}
.neuro-section .practice-head>.neuro-intro{max-width:100%;margin:0;font-size:18px;line-height:1.65;color:var(--muted)}
.neuro-feature{position:relative;display:flow-root;max-width:1000px;margin:20px auto 0;isolation:isolate}
.neuro-copy{display:contents}
.neuro-copy p{position:relative;z-index:1;margin:0;font-size:18px;line-height:1.65;color:var(--muted);text-wrap:wrap;hyphens:none}
.neuro-section .tray-detail{float:right;position:relative;left:auto;right:auto;top:auto;bottom:auto;width:65%;height:auto;aspect-ratio:848/1093;margin:16px -4% 0 0;transform:none;z-index:0;shape-outside:polygon(70% 0,100% 0,100% 100%,32% 100%,26% 90%,21% 80%,17% 70%,15% 60%,16% 50%,18% 40%,23% 30%,30% 20%,42% 10%) border-box;shape-margin:10px}
.neuro-section .tray-detail>img{position:absolute;top:-13.636%;left:0;display:block;width:100%;height:auto;object-fit:contain;mask-image:none}
.neuro-section .tray-screen{left:48.1%;top:33.07%;width:30.8%;height:52.73%;transform-origin:top left;transform:rotate(-2deg) skewX(.4deg);border:0;border-radius:10px;background:#070403;box-shadow:none}
.neuro-section .tray-screen>img{display:block;width:100%;height:100%;object-fit:fill}
/* Safari places a float's shape-outside at the top of its margin box, so the tray is never
   lowered with margin-top (the copy wrapped beside empty space): a zero-width float (:before,
   height --tray-drop from landing.js) stands above it and the tray clears it. */
.neuro-feature:before{content:'';float:right;width:0;height:var(--tray-drop,0px)}
.neuro-section .tray-detail{clear:right}
.neuro-feature-reviews{position:absolute;inset:0;z-index:2;display:block;width:100%;padding:0}
.neuro-review{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:center;margin:0;padding:0;border:0;background:none;box-shadow:none;color:#f2e2d2;text-align:left;max-width:none}
.neuro-review blockquote{margin:0;padding:12px 16px 13px;border:1px solid #edcdadbf;border-radius:20px;background:linear-gradient(135deg,#161210eb,#080706dc);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);box-shadow:inset 0 1px 0 #ffedda24,0 4px 16px #0005}
.neuro-review blockquote p{margin:0;color:inherit;font:400 15px/1.5 Inter,sans-serif;letter-spacing:-.1px;text-wrap:pretty;overflow-wrap:normal}
.neuro-review figcaption{display:flex;flex-direction:column;align-items:center;gap:5px;width:56px;margin:0;font:400 11px/1.3 Inter,sans-serif;color:#ead3bd;white-space:nowrap}
.neuro-review figcaption img{display:block;width:46px;height:46px;object-fit:cover;border-radius:50%;border:1px solid #eed1b4a6}
.neuro-feature .neuro-review{position:absolute;grid-column:auto;grid-row:auto;margin:0;transform:none}
.neuro-feature .review-susanne{width:min(470px,56%)}
.neuro-feature .review-katharine{width:min(370px,46%)}
.neuro-feature .review-marigona,.neuro-feature .review-caro{width:min(430px,52%)}
@media(max-width:700px){
.practice.neuro-section{padding:var(--section-space) 22px 0}
.neuro-section .practice-head>.neuro-intro{font-size:16px;line-height:1.6}
/* Phones: the copy wraps around the tray's crest on the left; the tray starts beside it, held
   down by the zero-width float (before landing.js runs: 64px). As on wider screens the box
   starts at the crest (row 153 of the image); the image is 7/6 of the box width and runs past
   the screen edge, and the shape is the >=701 trace scaled by 7/6. */
.neuro-feature{width:100%;margin:20px 0 0}
.neuro-feature:before{height:var(--tray-drop,64px)}
.neuro-copy p{font-size:16px;line-height:1.6}
.neuro-section .tray-detail{width:min(105%,420px);aspect-ratio:5088/7819;margin:0 -28px 0 0;shape-outside:polygon(72.33% 0,100% 0,100% 100%,36.17% 100%,29.17% 90%,21% 82%,17.85% 70.6%,16.8% 60%,17.97% 48.4%,21% 38.6%,23.8% 34.2%,26.25% 32%,28.58% 29.8%,30.1% 27.6%,31.27% 25.4%,32.67% 23.3%,34.18% 21%,35.7% 19.6%,37.8% 18.2%,40.48% 16.6%,43.05% 15.2%,45.38% 13.7%,47.83% 12.3%,49.82% 10.8%,51.33% 9.3%,52.5% 8.6%,56% 7.8%,57.17% 7.2%,57.17% 5.7%,57.63% 4.9%,58.1% 4.1%,58.92% 3.5%,59.73% 2.7%,61.25% 2%,63.82% 1.2%) border-box;shape-margin:12px}
.neuro-section .tray-detail>img{top:-11.191%;width:116.667%}
.neuro-section .tray-screen{left:56.117%;top:34.508%;width:35.933%;height:51.597%;border-radius:5.5px}
.neuro-feature-reviews{inset:0;width:100%}
.neuro-review{grid-template-columns:40px minmax(0,1fr);gap:6px}
.neuro-review blockquote{padding:8px 11px 9px;border-radius:16px}
.neuro-review blockquote p{font-size:13px;line-height:1.38;letter-spacing:-.15px}
.neuro-review figcaption{width:40px;font-size:10px;gap:3px}
.neuro-review figcaption img{width:34px;height:34px}
.neuro-feature .review-susanne{width:calc((100vw - 44px)*.61)}
.neuro-feature .review-katharine{width:calc((100vw - 44px)*.58)}
.neuro-feature .review-marigona{display:none}
.neuro-feature .review-caro{width:calc((100vw - 44px)*.61)}
}
/* Neurocodes, wider screens: the float box starts at the crest's top and its shape traces the
   crest, so the copy wraps beside it instead of running under it. Same image position as before. */
@media(min-width:701px){
.neuro-section .tray-detail{aspect-ratio:848/1117;margin-top:0;shape-outside:polygon(62% 0,100% 0,100% 100%,31% 100%,25% 90%,18% 82%,15.3% 70.6%,14.4% 60%,15.4% 48.4%,18% 38.6%,20.4% 34.2%,22.5% 32%,24.5% 29.8%,25.8% 27.6%,26.8% 25.4%,28% 23.3%,29.3% 21%,30.6% 19.6%,32.4% 18.2%,34.7% 16.6%,36.9% 15.2%,38.9% 13.7%,41% 12.3%,42.7% 10.8%,44% 9.3%,45% 8.6%,48% 7.8%,49% 7.2%,49% 5.7%,49.4% 4.9%,49.8% 4.1%,50.5% 3.5%,51.2% 2.7%,52.5% 2%,54.7% 1.2%) border-box}
.neuro-section .tray-detail>img{top:-11.191%}
.neuro-section .tray-screen{top:34.508%;height:51.597%}
}

/* A compact calendar interlude between Rafeel and Neurocodes. */
.energy-calendar-section{position:relative;max-width:none;margin:0;padding:48px max(40px,calc((100vw - 1080px)/2)) 44px;background:radial-gradient(ellipse at 78% 28%,#71010132,transparent 65%);overflow:hidden}
.energy-calendar-section>.eyebrow{margin-bottom:22px}
.energy-calendar-section>h2{font-size:var(--heading-size);margin-bottom:10px}
.energy-calendar-stage{position:relative;max-width:740px;height:280px;margin:0 auto 16px;isolation:isolate}
.energy-calendar-art{position:absolute;right:7%;top:10px;width:300px;transform:rotate(7deg);animation:calendar-hover 9s ease-in-out infinite;filter:drop-shadow(0 16px 26px #0007)}
.energy-calendar-crop{aspect-ratio:1260/1100;overflow:hidden;border-radius:18px;border:1px solid #cca89350;background:#181515}
.energy-calendar-crop img{display:block;width:104.762%;height:auto;max-width:none;margin-left:-2.381%;transform:translateY(-10.469%);opacity:.88}
.calendar-number-rain{position:absolute;inset:0 62% 0 0;z-index:2;pointer-events:none}
.calendar-number-rain span{position:absolute;color:#dbb77b;font:300 45px/1 Inter,sans-serif;opacity:.72;text-shadow:0 0 18px #dfae6140;animation:calendar-number-drift 10s linear infinite}
.calendar-number-rain span:nth-child(1){left:3%;top:3%;font-size:58px;animation-delay:-2s}
.calendar-number-rain span:nth-child(2){left:57%;top:11%;font-size:29px;animation-delay:-7s}
.calendar-number-rain span:nth-child(3){left:27%;top:28%;font-size:41px;animation-delay:-4s}
.calendar-number-rain span:nth-child(4){left:77%;top:37%;font-size:23px;animation-delay:-1s}
.calendar-number-rain span:nth-child(5){left:1%;top:52%;font-size:32px;animation-delay:-8s}
.calendar-number-rain span:nth-child(6){left:56%;top:64%;font-size:49px;animation-delay:-5s}
.calendar-number-rain span:nth-child(7){left:18%;top:79%;font-size:25px;animation-delay:-3s}
.calendar-number-rain span:nth-child(8){left:85%;top:83%;font-size:31px;animation-delay:-9s}
.calendar-number-rain span:nth-child(9){left:86%;top:4%;font-size:21px;animation-delay:-6s}
.calendar-number-rain span:nth-child(10){left:39%;top:47%;font-size:22px;animation-delay:-.5s}
.energy-calendar-copy{position:relative;max-width:900px;z-index:3}
.energy-calendar-copy p{font-size:18px;line-height:1.65;color:var(--muted);margin:0 0 18px}
.energy-calendar-copy p:last-child{margin-bottom:0}
@keyframes calendar-hover{0%,100%{transform:translateY(0) rotate(7deg)}50%{transform:translateY(-8px) rotate(7deg)}}
@keyframes calendar-number-drift{0%{transform:translateY(-18px);opacity:0}20%{opacity:.65}75%{opacity:.8}100%{transform:translateY(30px);opacity:0}}
@media(max-width:700px){
.energy-calendar-section{padding:38px 22px 36px}
.energy-calendar-section>.eyebrow{margin-bottom:22px}
.energy-calendar-section>h2{margin-bottom:8px}
.energy-calendar-stage{height:clamp(215px,64vw,280px);margin:0 0 18px}
.energy-calendar-art{right:0;top:12px;width:74%;max-width:300px}
.calendar-number-rain{right:72%}
.calendar-number-rain span:nth-child(1){font-size:41px}
.calendar-number-rain span:nth-child(3){font-size:31px}
.calendar-number-rain span:nth-child(6){font-size:35px}
.energy-calendar-copy p{font-size:16px;line-height:1.65;margin-bottom:18px}
}
@media(prefers-reduced-motion:reduce){.energy-calendar-art,.calendar-number-rain span{animation:none}}

/* Calendar and its complete legend on the right, original copy on the left. */
.energy-calendar-section>h2{margin-bottom:26px}
.energy-calendar-content{position:relative;display:flow-root;isolation:isolate}
.energy-calendar-stage{float:right;position:relative;width:48%;height:auto;max-width:470px;margin:0 0 14px 24px;isolation:auto}
.energy-calendar-art{position:relative;right:auto;top:auto;width:100%;transform:rotate(-5deg);animation:calendar-hover 9s ease-in-out infinite}
.energy-calendar-crop{aspect-ratio:auto;overflow:visible;border:0;border-radius:0;background:none}
.energy-calendar-crop img{display:block;width:100%;height:auto;max-width:100%;margin:0;transform:none;opacity:1}
.energy-calendar-copy{display:contents}
.energy-calendar-copy p{position:relative;z-index:3;hyphens:none;text-wrap:wrap}
.energy-calendar-content>.calendar-number-rain{inset:0 78% 0 0;z-index:0;opacity:.2}
@keyframes calendar-hover{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(-5deg)}}
@media(max-width:700px){
.energy-calendar-section>h2{margin-bottom:24px}
.energy-calendar-stage{width:58%;height:auto;max-width:none;margin:0 -5% 14px 10px}
.energy-calendar-art{right:auto;top:auto;width:100%;max-width:none}
.energy-calendar-copy p{font-size:16px;line-height:1.65;margin-bottom:18px}
.energy-calendar-content>.calendar-number-rain{right:78%;opacity:.15}
}

@media(prefers-reduced-motion:reduce){.energy-calendar-art{animation:none}}

/* Calendar left, copy right, gold numbers shimmering behind the copy. */
.energy-calendar-stage{float:left;margin:0 24px 14px 0}
.energy-calendar-content>.calendar-number-rain{inset:0 0 0 50%;height:auto;max-height:none;z-index:2;opacity:1}
.calendar-number-rain span{color:#dfb66e;text-shadow:0 0 10px #eecb8b70,0 0 22px #e6ac4640;animation-name:calendar-number-shimmer;animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
@keyframes calendar-number-shimmer{0%,100%{transform:translateY(-6px);opacity:.18}50%{transform:translateY(10px);opacity:.5}}
@media(max-width:700px){
.energy-calendar-stage{margin:0 10px 14px -5%}
.energy-calendar-content>.calendar-number-rain{inset:0 0 0 53%;height:auto;opacity:1}
}
@media(prefers-reduced-motion:reduce){.calendar-number-rain span{animation:none;opacity:.65}}
/* The calendar follows the dark games section: its red glow fades in instead of starting at a hard top edge. */
.energy-calendar-section{background:none;isolation:isolate}
.energy-calendar-section:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 78% 28%,#71010132,transparent 65%);-webkit-mask-image:linear-gradient(transparent,#000 180px);mask-image:linear-gradient(transparent,#000 180px)}
/* Tablet and up: the copy is its own column beside the calendar, so no last line drops below the art. */
@media(min-width:701px){.energy-calendar-copy{display:flow-root}}

/* A single, staggered entrance from the left as the reviews enter view. */
.neuro-feature.review-reveal-ready .neuro-review{opacity:0;transform:translateX(-48px);transition:opacity .65s ease var(--review-delay,0ms),transform .65s cubic-bezier(.22,1,.36,1) var(--review-delay,0ms)}
.neuro-feature.review-reveal-ready.reviews-visible .neuro-review{opacity:1;transform:translateX(0)}
@media(prefers-reduced-motion:reduce){.neuro-feature.review-reveal-ready .neuro-review{opacity:1;transform:none;transition:none}}

/* The mirror is only the transparent object, with mutually exclusive messages. */
.signup-mirror .mirror-art{appearance:none;-webkit-appearance:none;border:0;background:transparent;box-shadow:none;outline:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
.signup-mirror .mirror-art>img{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
.signup-mirror .mirror-art:focus-visible>img{filter:brightness(1.06)}
.signup-mirror .mirror-art .tue-mirror-message{z-index:2;inset:23% 18%;pointer-events:none}
.signup-mirror .mirror-art .tue-mirror-prompt[hidden],.signup-mirror .mirror-art .mirror-quote[hidden]{display:none!important}
.signup-mirror .mirror-art .mirror-quote{flex-direction:column;font-size:clamp(13px,4.7cqw,23px);line-height:1.5;text-wrap:initial;transform:none;transition:none}
.signup-mirror .mirror-art .mirror-quote>span{display:block;white-space:nowrap}
/* Phones: the same words in five short lines (.quote-phone), centred in the glass (the whole
   mirror is on screen, see the waitlist rules). Wider screens keep the three lines; splitting
   their text nodes would shift a pixel of antialiasing. */
.signup-mirror .mirror-art .mirror-quote>.quote-phone{display:none}
@media(max-width:700px){
.signup-mirror .mirror-art .mirror-quote{font-size:clamp(13px,6cqw,19px);line-height:1.45}
.signup-mirror .mirror-art .mirror-quote>span{display:none}
.signup-mirror .mirror-art .mirror-quote>.quote-phone{display:block}
}
.signup-mirror .mirror-art.revealed .mirror-quote{animation:mirror-message-in .45s ease both}
@keyframes mirror-message-in{from{opacity:0}to{opacity:1}}
/* A soft travelling reflection is confined to the oval glass. */
.signup-mirror .mirror-art:after{content:'';position:absolute;inset:13.4% 13.3% 13%;clip-path:ellipse(50% 50% at 50% 50%);border-radius:50%;pointer-events:none;z-index:1;background:linear-gradient(135deg,transparent 30%,#f7d1c600 36%,#f7d1c625 43%,#1e000016 50%,transparent 58%);background-size:210% 210%;animation:mirror-glass-sheen 10s ease-in-out infinite}
@keyframes mirror-glass-sheen{0%,100%{background-position:40% 40%;opacity:.45}50%{background-position:60% 60%;opacity:.75}}
/* Retain the phone composition while bringing two in from each side. */
.rafeel-section .body-stage.phones-reveal-ready .device{opacity:0;translate:-55% 0;transition:translate .9s cubic-bezier(.22,1,.36,1),opacity .7s ease}
.rafeel-section .body-stage.phones-reveal-ready .device:nth-child(n+3){translate:55% 0}
.rafeel-section .body-stage.phones-reveal-ready .device:nth-child(2),.rafeel-section .body-stage.phones-reveal-ready .device:nth-child(3){transition-delay:.13s}
.rafeel-section .body-stage.phones-reveal-ready.phones-visible .device{opacity:1;translate:0 0}
/* An almost imperceptible movement keeps the clutch alive. */
.art-opening .clutch-scene{animation:none}
.art-opening .clutch-scene:not(.open) .clutch-closed{animation:clutch-soft-motion 8s ease-in-out infinite}
@keyframes clutch-soft-motion{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -3px;rotate:.3deg}}
@media(prefers-reduced-motion:reduce){
 .signup-mirror .mirror-art:after,.signup-mirror .mirror-art.revealed .mirror-quote,.art-opening .clutch-scene,.art-opening .clutch-closed{animation:none}
 .rafeel-section .body-stage.phones-reveal-ready .device{opacity:1;translate:0 0;transition:none}
}

/* Short editorial pauses retain RACODE's copper, burgundy and brand typography. */
.daily-timeline-section{max-width:none;padding:var(--section-space) max(40px,calc((100vw - 1080px)/2));background:radial-gradient(ellipse at 15% 70%,#71010138,transparent 65%);overflow:hidden}
.daily-timeline-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.daily-timeline-head .eyebrow{margin-bottom:22px}
.daily-timeline-head h2{font-size:var(--heading-size);margin-bottom:0}
.daily-timeline{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 2px 10px;overscroll-behavior-x:contain}
.daily-timeline::-webkit-scrollbar{display:none}
.daily-step{flex:0 0 280px;min-width:0;scroll-snap-align:start;position:relative}
.daily-step-marker{display:flex;align-items:center;gap:12px;height:30px;margin-bottom:18px;color:var(--copper);font:400 12px/1 Inter,sans-serif;letter-spacing:.12em}
.daily-step-marker i{position:relative;display:block;flex:1;height:1px;background:linear-gradient(90deg,#cca893aa,#cca89335)}
.daily-step-marker i:before{content:'';position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:50%;background:#d8b892;box-shadow:0 0 12px #cda67533}
.daily-step>img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:17px 17px 0 0}
.daily-step-copy{padding:21px 20px 22px;background:linear-gradient(140deg,#cca89312,#cca89305);border:1px solid #cca89338;border-top:0;border-radius:0 0 17px 17px;min-height:160px}
.daily-step-copy h3{font:300 25px/1.2 Inter,sans-serif;letter-spacing:-.025em;margin:0 0 13px;color:var(--white)}
.daily-step-copy p{font-size:16px;line-height:1.55;color:var(--muted);margin:0;text-wrap:pretty}
.rada-moment-section{display:grid;grid-template-columns:1.15fr 1fr;gap:0;align-items:center;max-width:none;padding:0;background:#1c0b08;overflow:hidden}
.rada-moment-image{position:relative;min-width:0}
.rada-moment-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.rada-moment-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,#1c0b08)}
.rada-moment-copy{position:relative;z-index:1;padding:38px 40px 38px 28px;max-width:650px}
.rada-moment-copy .eyebrow{margin-bottom:22px}
.rada-moment-copy h2{font:300 clamp(25px,3.1vw,42px)/1.28 Inter,sans-serif;letter-spacing:-.035em;margin:0}
.rada-moment-copy h2 .script{display:block;font-size:clamp(38px,4.1vw,58px);line-height:1.4;max-width:none;margin:14px 0 0;padding:0}
.personal-support-section{max-width:none;padding:var(--section-space) max(40px,calc((100vw - 1080px)/2));background:#c7a68e;color:#231811}
.personal-support-head{max-width:780px;margin-bottom:34px}
.personal-support-head .eyebrow{color:#710101;margin-bottom:22px}
.personal-support-head h2{font-size:var(--heading-size);margin-bottom:26px}
.personal-support-head>p:last-child{font-size:18px;line-height:1.65;color:#34251c;margin:0}
.personal-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}
.personal-support-item{display:grid;grid-template-columns:36px 1fr;gap:16px;border-top:1px solid #71010130;padding-top:20px}
.personal-support-mark{width:33px;height:33px;border:1px solid #71010165;border-radius:50%;display:grid;place-items:center;font:400 10px/1 Inter,sans-serif;color:#710101}
.personal-support-item h3{font:500 18px/1.4 Inter,sans-serif;margin:0 0 9px;letter-spacing:-.015em}
.personal-support-item p{font-size:16px;line-height:1.6;color:#493327;margin:0;text-wrap:pretty}
@media(max-width:700px){
 .daily-timeline-section{padding:var(--section-space) 22px 32px}
 .daily-timeline-head{display:block;margin-bottom:25px}
 .daily-timeline-head h2{font-size:var(--heading-size)}
 .daily-timeline{width:calc(100% + 22px);gap:16px;padding-right:22px}
 .daily-step{flex-basis:76vw;max-width:330px}
 .daily-step-copy{min-height:149px;padding:19px 18px 21px}
 .daily-step-copy h3{font-size:24px}
 .daily-step-copy p{font-size:16px}
 .rada-moment-section{display:block;padding:0}
 .rada-moment-image img{aspect-ratio:3/2;object-position:65% center}
 .rada-moment-image:after{background:linear-gradient(0deg,#1c0b08,transparent 32%)}
 .rada-moment-copy{padding:17px 25px 36px;text-align:center;max-width:none}
 .rada-moment-copy .eyebrow{font-size:10px;margin-bottom:16px}
 .rada-moment-copy h2{font-size:28px}
 .rada-moment-copy h2 .script{font-size:39px;margin-top:5px;line-height:1.35}
 .personal-support-section{padding:var(--section-space) 22px 38px}
 .personal-support-head{margin-bottom:28px}
 .personal-support-head>p:last-child{font-size:16px}
 .personal-support-grid{grid-template-columns:1fr;gap:23px}
 .personal-support-item{gap:14px;padding-top:19px}
 .personal-support-item h3{font-size:17px}
 .personal-support-item p{font-size:15px}
}

/* A low photo-and-quote interlude immediately after SOS. */
.rada-moment-section{display:block;max-width:none;padding:0;background:#1c0b08;overflow:hidden}
.rada-moment-image{width:100%;max-width:860px;margin:0 auto}
.rada-moment-image img{display:block;width:100%;height:clamp(180px,25vw,260px);aspect-ratio:auto;object-fit:cover;object-position:65% 34%}
.rada-moment-image:after{background:linear-gradient(0deg,#1c0b08,transparent 23%)}
.rada-moment-copy{max-width:860px;margin:0 auto;padding:20px 25px 26px;text-align:center}
.rada-moment-copy blockquote{max-width:710px;margin:0 auto;color:var(--copper);font:400 clamp(17px,4.3vw,21px)/1.6 Inter,sans-serif;letter-spacing:.055em;text-transform:uppercase;text-wrap:balance}
@media(max-width:700px){
 .rada-moment-copy{padding:18px 25px 24px}
 .rada-moment-image img{height:clamp(180px,48vw,235px)}
}
/* Who says it: two small spaced capitals lines under the quote, in a quieter copper. */
.rada-moment-copy figure{margin:0}
.rada-moment-caption{margin:14px 0 0;color:var(--copper);opacity:.72;font:400 13px/1.6 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.rada-moment-caption>span{display:block}
@media(max-width:700px){.rada-moment-caption{margin-top:12px;font-size:12px}}
@media(min-width:1024px){.rada-moment-caption{font-size:14px}}

/* A compact, swipeable day timeline ending at the evening. */
.daily-timeline-section{padding-top:48px;padding-bottom:36px}
.daily-timeline-head{margin-bottom:24px}
.daily-timeline-head>div:first-child{max-width:850px}
.daily-timeline-section .daily-timeline{gap:22px;padding:0 0 4px}
.daily-timeline-section .daily-step{flex-basis:44%;max-width:none}
.daily-timeline-section .daily-step-marker{height:34px;gap:12px;margin-bottom:14px}
.daily-step-marker svg{display:block;flex:none;width:32px;height:32px;fill:none;stroke:var(--copper);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.daily-timeline-section .daily-step-marker i{height:1px;background:linear-gradient(90deg,#cca89395,#cca89338)}
.daily-timeline-section .daily-step-marker i:before{width:4px;height:4px;top:-1.5px;box-shadow:none}
.daily-timeline-section .daily-step-copy{padding:0 12px 0 0;background:none;border:0;border-radius:0;min-height:0}
.daily-timeline-section .daily-step-copy h3{color:var(--copper);font-size:21px;margin-bottom:9px}
.daily-timeline-section .daily-step-copy p{max-width:285px;font-size:15px;line-height:1.6}
@media(max-width:700px){
 .daily-timeline-section{padding-top:32px;padding-bottom:28px}
 .daily-timeline-section .daily-timeline{width:calc(100% + 22px);gap:16px;padding-right:22px}
 .daily-timeline-section .daily-step{flex-basis:66vw;max-width:none}
 .daily-timeline-section .daily-step-copy{padding-right:12px}
 .daily-timeline-section .daily-step-copy h3{font-size:20px}
 .daily-timeline-section .daily-step-copy p{font-size:14px}
}

/* Personal support unfolds on tap, keeping the quiet beige surface. */
.personal-support-grid{display:block;max-width:900px}
.personal-support-item{display:block;padding:0;border-top:1px solid #71010130}
.personal-support-item:last-child{border-bottom:1px solid #71010130}
.personal-support-item h3{margin:0;font-size:18px}
.personal-support-toggle{display:grid;grid-template-columns:36px 1fr 18px;align-items:center;gap:16px;width:100%;padding:20px 0;border:0;background:transparent;text-align:left;font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.personal-support-toggle:focus-visible{outline:2px solid #710101;outline-offset:4px;border-radius:4px}
.support-plus{position:relative;width:16px;height:16px;justify-self:end}
.support-plus:before,.support-plus:after{content:'';position:absolute;background:#71010199;left:1px;right:1px;top:7px;height:1px;transition:transform .35s ease}
.support-plus:after{transform:rotate(90deg)}
.personal-support-toggle[aria-expanded="true"] .support-plus:after{transform:rotate(0)}
.personal-support-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .4s cubic-bezier(.22,.61,.36,1),opacity .3s ease}
.personal-support-panel>div{min-height:0;overflow:hidden;padding-left:52px}
.personal-support-panel p{padding:0 26px 21px 0;margin:0}
.personal-support-item.is-open .personal-support-panel{grid-template-rows:1fr;opacity:1}
@media(max-width:700px){
 .personal-support-item h3{font-size:17px}
 .personal-support-toggle{gap:14px;grid-template-columns:36px 1fr 16px;padding:18px 0}
 .personal-support-panel>div{padding-left:50px}
 .personal-support-panel p{padding-right:15px;padding-bottom:18px}
}
@media(prefers-reduced-motion:reduce){.personal-support-panel,.support-plus:before,.support-plus:after{transition:none}}

/* Final editing pass: lighter games, a direct waitlist invitation and even copy edges. */
.full-width-copy{text-align:justify;text-align-last:left;text-wrap:wrap;hyphens:none;overflow-wrap:normal}
.art-opening .clutch-phone{transform:translateY(130px) rotate(7deg) scale(.7)}
.art-opening .open .clutch-phone{transform:translateY(-50px) rotate(7deg)}
.games h2 .script{font-size:clamp(64px,7.2vw,88px);line-height:1.2;margin:3px 0 0;padding:0 .1em}
.games>p:not(.eyebrow){max-width:700px}
.games .game-carousel{gap:18px}
.games .game-art{flex-basis:240px;height:306px;border-radius:21px;background-size:361.6px auto;background-position:-60.8px -238.4px}
.games .game-art.evening{background-position:-11.2px -238.4px}
.games .game-art.child{background-position:-108.8px -238.4px}
.teaser{margin:0 auto;max-width:1160px;padding:40px 40px 30px}
.teaser>p{margin:0;font-size:clamp(25px,3.1vw,40px)}
.signup{padding:55px max(40px,calc((100vw - 1080px)/2)) 65px;background:radial-gradient(ellipse at 80% 55%,#71010170,transparent 75%)}
.signup-inner{max-width:760px}
.signup h2{max-width:760px;margin-bottom:24px}
.signup .signup-intro{font-size:20px;color:var(--copper);line-height:1.55;margin:0 0 27px;max-width:640px}
.signup-benefits{list-style:none;padding:0;margin:0 0 32px;display:grid;gap:17px}
.signup-benefits li{display:flex;align-items:center;gap:15px;color:var(--white);font-size:18px;line-height:1.4}
.signup-benefits li>span{display:grid;place-items:center;flex:none;width:29px;height:29px;border:1px solid #cca89380;border-radius:50%;background:#cca8930c;color:var(--copper);font-size:17px}
.signup .signup-whatsapp{display:flex;align-items:center;justify-content:center;gap:17px;max-width:650px;width:100%;padding:22px 28px;border-radius:999px;font-size:18px;text-transform:uppercase;letter-spacing:.025em;line-height:1.4;text-align:center}
.signup-whatsapp svg{width:31px;height:31px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.signup .signup-launch{margin:24px 0 5px;font-size:17px;color:var(--copper)}
.signup .signup-price{margin:0;font-size:15px;line-height:1.6;color:var(--muted)}
.signup .signup-note{margin:14px 0 0;font-size:12px;color:var(--muted)}
/* Reset entrance transitions only after their content has left the viewport. */
.neuro-feature.review-reveal-ready .neuro-review.review-visible{opacity:1;transform:translateX(0)}
.neuro-feature.review-reveal-ready .neuro-review:not(.review-visible){transition:none}
.rafeel-section .body-stage.phones-reveal-ready:not(.phones-visible) .device{transition:none}
.motion-ready:not(.motion-in-view) .track,.motion-ready:not(.motion-in-view) .energy-calendar-art,.motion-ready:not(.motion-in-view) .calendar-number-rain span,.motion-ready:not(.motion-in-view) .mirror-art:after,.motion-ready:not(.motion-in-view) .clutch-closed{animation-name:none}
@media(max-width:700px){
 .art-opening .clutch-phone{transform:translateY(130px) rotate(9deg) scale(.7)}
 .art-opening .open .clutch-phone{transform:translateY(-45px) rotate(9deg)}
 .games h2 .script{font-size:clamp(57px,15.5vw,68px)}
 .games .game-carousel{gap:14px}
 .games .game-art{flex-basis:216px;height:274.4px;border-radius:21px;background-size:325.6px auto;background-position:-54.4px -214.4px}
 .games .game-art.evening{background-position:-9.6px -214.4px}
 .games .game-art.child{background-position:-97.6px -214.4px}
 .teaser{padding:30px 22px 25px}
 .teaser>p{font-size:26px}
 .signup{padding:38px 22px 42px}
 .signup .signup-intro{font-size:17px;margin-bottom:24px}
 .signup-benefits{gap:15px;margin-bottom:27px}
 .signup-benefits li{font-size:16px;gap:12px}
 .signup-benefits li>span{width:25px;height:25px;font-size:15px}
 .signup .signup-whatsapp{gap:12px;padding:18px 20px;font-size:14px}
 .signup-whatsapp svg{width:28px;height:28px}
 .signup .signup-launch{font-size:16px}
 .signup .signup-price{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .neuro-feature.review-reveal-ready .neuro-review{opacity:1;transform:none;transition:none}
 .rafeel-section .body-stage.phones-reveal-ready .device{opacity:1;translate:0 0;transition:none}
}

.motion-ready:not(.motion-in-view) .mirror-art.revealed .mirror-quote{animation-name:none}

/* Let the relationship word fill the title area, with no redundant labels. */
.games h2{max-width:800px}
.games h2 .script{font-size:clamp(120px,18vw,260px);line-height:1.15;white-space:nowrap;padding:0 .07em;margin:0}
@media(max-width:700px){.games h2 .script{font-size:clamp(105px,31vw,145px)}}
/* Phones: the word sits right under the first line and ends at the copy's right edge
   (--script-fit: share of the title width landing.js gives it). */
@media(max-width:700px){
.games h2{margin-bottom:0}
.games h2 .script{--script-fit:.75;text-align:right;line-height:1;max-width:none;margin:-.06em -.074em .12em 0;padding:0}
}
/* Every width: dots centred under the carousel, one per resting position (landing.js); there
   are no arrows. */
.games .carousel-dots{display:flex;justify-content:center;margin-top:-14px}
.games .carousel-dots[hidden]{display:none}
.carousel-dots button{--dot:0;display:grid;place-items:center;height:24px;padding:0 9px;border:0;background:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.carousel-dots button:before{content:'';width:calc(6px + 16px*var(--dot));height:6px;border-radius:3px;background:var(--copper);opacity:calc(.3 + .7*var(--dot))}
.carousel-dots button:focus-visible{outline:1px solid var(--copper);outline-offset:-1px;border-radius:12px}

/* Wrap complete words throughout the landing, with aligned body-copy edges. */
html{-webkit-hyphens:none;hyphens:none}
main p,main h1,main h2,main h3{-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:normal}

/* Desktop opening (>=1024px): exactly one screen below the header (81.5px = 26px padding x2
   + the logo line). Grid rows: free space, eyebrow, h1, two paragraphs, clutch, bottom row,
   free space. The button shares the bottom row with "Öffne mich.", level with it. The copy
   column moves 20px right at its old width (so lines wrap as before), the clutch 20px left.
   --clutch-rise lifts the clutch beside the copy (measured from the copy's last line);
   --clutch-scale shrinks it only where bag and copy would meet or the screen is short.
   If even that does not fit (windows under ~700px), the opening grows instead of overlapping. */
@media(min-width:1024px){
.art-opening{--clutch-scale:.8;--clutch-rise:-327px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) repeat(6,auto) minmax(0,1fr);min-height:calc(100vh - 81.5px);min-height:calc(100svh - 81.5px);padding:48px calc(6% - 20px) 16px calc(6% + 20px)}
.art-opening>.eyebrow{grid-row:2}
.art-opening>h1{grid-row:3}
.art-opening>h1+p{grid-row:4}
.art-opening>h1+p+p{grid-row:5}
/* Right edge 60px past the window (was 80px). 70.4545% of the copy area = the old 62% of the section. */
.art-opening .clutch-scene{grid-area:6/1;position:relative;top:auto;right:auto;justify-self:end;width:70.4545%;margin:var(--clutch-rise) calc(-6.8182% - 40px) calc(var(--clutch-scale)*min(212px,18.21%) - 284.6px) 0;scale:var(--clutch-scale)}
.art-opening>p.clutch-hint.script,.art-opening>.button{grid-area:7/1;align-self:center}
.art-opening>p.clutch-hint.script{justify-self:end;width:auto;max-width:none;margin:0 40px 0 0}
.art-opening>.button{justify-self:start;margin:0}
}
@media(min-width:1366px){.art-opening{--clutch-scale:.88;--clutch-rise:-320px}}
@media(min-width:1366px) and (max-height:839px){.art-opening{--clutch-scale:.85;--clutch-rise:-332px}}
@media(min-width:1366px) and (max-height:779px){.art-opening{--clutch-scale:.8;--clutch-rise:-349px}}
@media(min-width:1440px){.art-opening{--clutch-scale:1;--clutch-rise:-324px}}
@media(min-width:1440px) and (max-height:839px){.art-opening{--clutch-scale:.92;--clutch-rise:-350px}}
@media(min-width:1440px) and (max-height:779px){.art-opening{--clutch-scale:.85;--clutch-rise:-385px}}

/* Desktop content column (>=1024px): every section after the opening keeps its text in one
   centred 1080px column, left edge max(40px,(100vw - 1080px)/2) like the sections that
   already use it. Full width by design: the SOS ribbons, the Rafeel phones, backgrounds. */
@media(min-width:1024px){
.sos>p:not(.eyebrow){padding-inline:40px}
.daily-timeline-section .daily-step{flex-basis:calc((100% - 44px)/3)}
/* The tray reaches 4% past the feature box: the copy starts at the column edge, the tray ends at
   the other. Below ~1123px that box would be narrower than before and the justified copy beside
   the crest opens wide word gaps, so there it keeps its old width (tray image 4% into the margin). */
.neuro-feature{max-width:max(min(1000px,100%),calc(100% / 1.04));margin-left:0}
.games{max-width:1160px}
footer{padding-inline:max(40px,calc((100vw - 1080px)/2))}
}

/* Clutch phone, all widths: upright. Its own tilt cancels the clutch scene's (-9deg, and -11deg
   up to 700px), so the top edge stays horizontal while it rises and when open. Size, rise
   offsets and timing as before. It links to the next section (#gefuehle, SOS): html keeps
   30px scroll padding for the other anchors, the negative margin lands this one flush on top. */
.art-opening .clutch-phone{transform:translateY(130px) rotate(9deg) scale(.7)}
.art-opening .open .clutch-phone{transform:translateY(-50px) rotate(9deg)}
#gefuehle{scroll-margin-top:-30px}
@media(max-width:700px){
.art-opening .clutch-phone{transform:translateY(130px) rotate(11deg) scale(.7)}
.art-opening .open .clutch-phone{transform:translateY(-45px) rotate(11deg)}
}

/* Waitlist mirror: moved here from "Tue es für dich" with its prompt, quote, sheen and replay.
   Below 1024px it stands right of heading, intro and benefits (.signup-body, centred on them);
   prompt and quote sit in the centre of the glass. The WhatsApp button follows the body and is
   never covered. From 1024px the mirror fills the right part of the 1080px column, centred on
   the whole waitlist content. */
.signup{overflow-x:clip}
.signup-body{position:relative}
.signup-body>:not(.signup-mirror){position:relative;z-index:1;width:fit-content}
.signup .signup-whatsapp{position:relative;z-index:2}
.signup-intro .nowrap{white-space:nowrap}
.signup-mirror{position:absolute;z-index:0;top:50%;right:0;width:var(--mw);translate:0 -50%}
.signup-mirror .mirror-art{margin:0}
/* Phones: the whole frame on screen (its opaque oval ends at 94.85% of the image, 2px inside
   the screen edge). The text lines keep their width, so the room beside them grows with the
   screen: the mirror is 100vw - 188px wide, and its oval centre rises .46px per px of width
   so the glass keeps 12px from the third benefit below and the heading above (wider than
   252px it stays put). */
@media(max-width:700px){
.signup h2{max-width:7em}
.signup .signup-intro{max-width:210px}
.signup-mirror{--mw:min(100vw - 188px,290px);top:0;right:calc(-20px - .0515*var(--mw));translate:0 max(262px - 1.149*var(--mw),146px - .6887*var(--mw))}
.signup-mirror .mirror-art .tue-mirror-prompt{font-size:clamp(26px,16cqw,50px)}
}
@media(min-width:701px){
.signup-inner{max-width:none}
}
@media(min-width:701px) and (max-width:1023px){
.signup .signup-intro{max-width:400px}
.signup-mirror{--mw:min(300px,calc(100% - 420px));right:calc(-.05*var(--mw))}
}
@media(min-width:1024px){
.signup-inner{position:relative}
.signup-body{position:static}
.signup-mirror{--mw:min(446px,calc((100% - 675px)*1.115));right:calc(-.05*var(--mw))}
}

/* Tablet (701-1023px), one block so phones (<=700) and desktop (>=1024) stay untouched.
   Portrait tablets take the phone's stacked opening and tilted Tue phone, sized up; a landscape
   window in this range takes the desktop opening. Everything else keeps the shared layout, with
   these fixes: SOS copy on the 40px column edge, Rafeel's outer phones reach into the side space
   (as on desktop), the day timeline shows its three steps side by side, the games carousel runs to
   the screen edge, and NEUROCODES shows three reviews (as on phones; landing.js lowers the tray
   while a line beside its crest is too tight). The calendar keeps its side-by-side columns. */
@media(min-width:701px) and (max-width:1023px){
.sos>p:not(.eyebrow){padding-inline:40px}
/* A wider crop of the photo: at the full tablet width 25vw cut through Rada's hair. */
.rada-moment-image img{height:clamp(180px,31vw,280px)}
/* Tue: the phone stands at the right edge, tilted 10deg and partly off screen, the copy wraps along
   its left edge (the phone rules from <=700, sized for tablets). The float is the tilted phone's
   bounding box (phone height h = 2.1667w - 15.17px with its 13px frame) plus 12px of top padding;
   no margin-top, so Safari and Chrome place the shape alike. Its leftmost corner leaves 62% of the
   column to the lines beside it. */
.tue-phone{--tue-w:min(31vw,290px);float:right;clear:right;position:relative;width:calc(1.3611*var(--tue-w) - 2.63px);height:calc(2.3074*var(--tue-w) - 2.94px);margin:0 calc(38% - 9.37px - 1.3611*var(--tue-w)) 8px 12px;padding-top:12px;rotate:none;shape-outside:polygon(27% 12px,100% calc(12px + (100% - 12px)*.0775),73% 100%,0 calc(12px + (100% - 12px)*.9225)) border-box;shape-margin:16px}
.tue-phone .device{position:absolute;left:50%;top:calc(50% + 6px);width:var(--tue-w);translate:-50% -50%;rotate:10deg;padding:5px;border-width:1.5px;border-radius:31px}
.tue-phone .device img{border-radius:26px}
.tue-phone .device:after{top:10px;height:11px}
.daily-timeline-section .daily-step{flex-basis:calc((100% - 44px)/3)}
.rafeel-section .body-stage{overflow:visible;overflow-y:clip}
.neuro-feature .review-marigona{display:none}
/* The tray image ends where its box ends: 4% past the column left its cut edge ~12px short of the
   screen edge. It now reaches the screen edge (the section's 40px padding). */
.neuro-section .tray-detail{margin-right:-40px}
.games .game-carousel{margin-right:-40px;padding-right:40px}
}
/* Portrait tablets: eyebrow, title and copy across the column, then the clutch as large as the
   screen allows, "Öffne mich." on its lower edge and the button, together one screen high below
   the header (81.5px). The clutch box keeps the image's 3:2; its width is the column plus both
   side paddings, or what the height leaves after ~580px of copy, hint, button and padding. More
   height goes above the clutch; if the copy runs longer, the opening grows instead. */
@media(min-width:701px) and (max-width:1023px) and (orientation:portrait){
.art-opening{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,auto) minmax(0,1fr) auto auto;min-height:calc(100vh - 81.5px);min-height:calc(100svh - 81.5px);padding:56px 40px 48px}
.art-opening>h1,.art-opening>p,.art-opening>.button{max-width:100%}
.art-opening h1{font-size:clamp(34px,5vw,46px);max-width:100%}
.art-opening .clutch-scene{--clutch-w:max(600px,min(100% + 80px,(100vh - 580px)*1.5));--clutch-w:max(600px,min(100% + 80px,(100svh - 580px)*1.5));grid-row:5;align-self:end;justify-self:center;position:relative;top:auto;right:auto;width:var(--clutch-w);height:auto;aspect-ratio:3/2;margin:-30px -40px -90px}
.art-opening .clutch-phone{width:25%}
.art-opening>p.clutch-hint.script{grid-row:6;margin:0 0 6px}
.art-opening>.button{grid-row:7;justify-self:start}
}
/* Landscape windows in this range: the desktop opening (see the >=1024px rules). */
@media(min-width:701px) and (max-width:1023px) and (orientation:landscape){
.art-opening{--clutch-scale:.8;--clutch-rise:-327px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) repeat(6,auto) minmax(0,1fr);min-height:calc(100vh - 81.5px);min-height:calc(100svh - 81.5px);padding:48px calc(6% - 20px) 16px calc(6% + 20px)}
.art-opening>.eyebrow{grid-row:2}
.art-opening>h1{grid-row:3}
.art-opening>h1+p{grid-row:4}
.art-opening>h1+p+p{grid-row:5}
.art-opening .clutch-scene{grid-area:6/1;position:relative;top:auto;right:auto;justify-self:end;width:70.4545%;margin:var(--clutch-rise) calc(-6.8182% - 40px) calc(var(--clutch-scale)*min(212px,18.21%) - 284.6px) 0;scale:var(--clutch-scale)}
.art-opening>p.clutch-hint.script,.art-opening>.button{grid-area:7/1;align-self:center}
.art-opening>p.clutch-hint.script{justify-self:end;width:auto;max-width:none;margin:0 40px 0 0}
.art-opening>.button{justify-self:start;margin:0}
}
/* Games carousel, mouse drag (landing.js): a grab hand where a mouse hovers it. While it follows
   the mouse and glides to rest (.is-free), snapping and smooth scrolling are off; while it is
   dragged (html.games-grabbing), a closed hand everywhere and no text selection. */
@media(hover:hover) and (pointer:fine){.game-carousel.can-drag{cursor:grab}}
.game-carousel.is-free{scroll-snap-type:none;scroll-behavior:auto}
html.games-grabbing,html.games-grabbing *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}
