@font-face{font-family:Sans;src:url('/assets/sans.otf')}@font-face{font-family:Sans;src:url('/assets/sans-bold.otf');font-weight:700 900}@font-face{font-family:Display;src:url('/assets/display.otf');font-weight:700 900}
:root{--bg:#0c0e12;--ink:#edf0f5;--muted:#9299a4;--blue:#bddcff;--line:rgba(237,240,245,.15)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--bg);color:var(--ink);font-family:Sans,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}main{overflow:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:6px}::selection{background:var(--blue);color:var(--bg)}.skip{position:fixed;left:16px;top:-70px;z-index:1000;background:white;color:black;padding:14px}.skip:focus{top:12px}.progress{position:fixed;top:0;left:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:var(--blue);z-index:101}.nav{position:absolute;top:0;left:0;right:0;z-index:20;padding:26px 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:35px;letter-spacing:-2.7px;font-weight:700;line-height:1}.brand span{font-size:11px;vertical-align:top;letter-spacing:0;margin-left:3px}.nav nav{display:flex;gap:38px;align-items:center;font-size:13px}.nav nav a{transition:color .2s}.nav nav a:hover{color:var(--blue)}.nav-contact{border:1px solid #ffffff40;border-radius:30px;padding:12px 20px}.nav-contact span{margin-left:25px}.hero{min-height:900px;height:100svh;position:relative;padding:135px 4vw 60px;display:flex;flex-direction:column;isolation:isolate}.hero-grid{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,transparent calc(25% - 1px),#ffffff05 25%,transparent calc(25% + 1px),transparent calc(75% - 1px),#ffffff05 75%,transparent calc(75% + 1px)),radial-gradient(ellipse at 75% 40%,#202b3b 0,transparent 55%)}.hero-top,.section-label{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px;letter-spacing:1.7px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.6px;display:inline-flex;align-items:center;gap:9px}.eyebrow i,.status-dot{width:6px;height:6px;border-radius:50%;background:var(--blue);display:inline-block;box-shadow:0 0 15px #bddcff80}.tiny{color:#8b929e;font-size:9px;letter-spacing:1.7px}.hero h1{font-family:Display,Impact,sans-serif;font-size:clamp(80px,14vw,230px);font-weight:900;line-height:.88;letter-spacing:-.035em;margin-top:55px;position:relative;z-index:1;pointer-events:none}.hero h1>span{display:block}.hero h1 .outline{color:transparent;-webkit-text-stroke:1px #a7b5ca80;margin-top:10px}.sculpture{position:absolute;z-index:2;top:15%;right:-2%;width:60%;height:73%;pointer-events:none}#weights{width:100%;height:100%;display:block}.sculpture-caption{position:absolute;bottom:6%;left:25%;display:flex;gap:35px;font-size:7px;letter-spacing:1.3px;color:#a5b6cc}.hero-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:3}.hero-intro{max-width:360px;font-size:15px;line-height:1.5}.hero-intro>p:first-child{font-size:18px;margin-bottom:10px}.muted{color:var(--muted)}.glass{background:linear-gradient(130deg,#ffffff19,#ffffff05 60%,#c8e0ff0d);border:1px solid #ffffff35;box-shadow:inset 0 1px 0 #ffffff22,0 10px 35px #0000001a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;border-radius:100px;padding:17px 25px;font-size:13px;margin-top:25px;transition:background .3s,transform .3s}.button:hover{background:#bddcff27;transform:translateY(-3px)}.button span{font-size:23px}.scroll-note{display:flex;align-items:center;gap:25px;font-size:9px;letter-spacing:2px}.scroll-arrow{border:1px solid var(--line);border-radius:50%;padding:15px 19px;font-size:20px;animation:nudge 2.6s infinite}.motion-toggle{position:absolute;bottom:17px;left:4vw;background:transparent;border:0;font-size:10px;color:#838c98;display:flex;gap:8px;align-items:center}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;overflow:hidden;background:#10141c}.ticker>div{display:flex;align-items:center;gap:36px;width:max-content;font-family:Display,sans-serif;font-size:32px;letter-spacing:1px;color:#d5e2f3;will-change:transform}.ticker b{color:var(--blue);font-size:32px}.section{padding:95px 4vw}.section-label{color:#8d95a2;padding-bottom:28px;border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:65px 0 50px}h2{font-family:Display,Impact,sans-serif;font-size:clamp(42px,6.5vw,110px);line-height:.95;letter-spacing:-.02em;font-weight:900}.section-heading>p{max-width:280px;color:var(--muted);font-size:16px;line-height:1.6}.training-list{padding-bottom:70px}.training-card{display:grid;grid-template-columns:1.05fr 1fr;min-height:430px;padding:45px 55px;border:1px solid #ffffff28;border-radius:26px;background:#171c25;position:sticky;top:35px;overflow:hidden;transform-origin:50% 0;box-shadow:0 -15px 65px #00000030}.training-card+.training-card{margin-top:28px}.card-control{background:#242f3f;top:56px}.card-coaching{background:#34465c;top:77px}.card-copy{position:relative;z-index:2;max-width:430px}.card-number{font-size:10px;letter-spacing:2px;color:#b1c7e2}h3{font-size:clamp(27px,3.4vw,52px);font-weight:400;line-height:1.08;letter-spacing:-1.4px}.card-copy h3{margin:30px 0 23px}.card-copy p{color:#bcc5d1;line-height:1.6;font-size:15px;max-width:360px}.card-art{position:relative;min-height:300px;align-self:stretch;perspective:900px}.card-art>span{position:absolute;bottom:0;right:0;font-size:8px;letter-spacing:2px;color:#91a6c1}.strength-art{transform:rotate(-25deg)}.strength-bar{position:absolute;left:12%;right:0;top:48%;height:25px;border-radius:8px;background:linear-gradient(#404b60,#d7e5f5 40%,#596d88 60%,#232c3b);box-shadow:0 15px 25px #0008}.plate{position:absolute;top:12%;height:76%;width:26%;border-radius:45%;background:linear-gradient(95deg,#344154,#9eafc5 27%,#354152 36%,#101722 70%,#596c87);box-shadow:20px 16px 35px #0007,inset -5px 0 5px #d9e8ff99;border:1px solid #a6bdd233}.p1{left:31%;transform:scale(.86)}.p2{left:41%}.p3{left:51%;transform:scale(.9)}.control-art{display:flex;align-items:center;justify-content:center;transform-style:preserve-3d}.orbit{position:absolute;border:17px solid #b9d4f0;border-radius:50%;height:265px;width:265px;box-shadow:inset 1px 1px 10px #fff,4px 12px 20px #0006;transform:rotateX(62deg) rotateY(20deg) rotateZ(20deg)}.o2{transform:rotateX(10deg) rotateY(65deg) rotateZ(-25deg);border-color:#7c97b9}.o3{transform:rotateX(30deg) rotateY(-35deg) rotateZ(70deg);border-color:#506b8f}.orbit-core{width:80px;height:80px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff,#adc5e0 20%,#3c506b 65%,#111c2c);box-shadow:12px 12px 30px #0006}.coaching-art{display:flex;align-items:flex-end;justify-content:center;gap:10px;padding:0 35px 40px;transform:rotate(-12deg)}.coaching-art>div{width:15%;height:20%;background:linear-gradient(100deg,#bccfe6,#718aa9 45%,#3a4b62);border-radius:8px 8px 0 0;box-shadow:15px 10px 20px #0004;border-top:1px solid #eaf2ff}.coaching-art>div:nth-child(2){height:33%}.coaching-art>div:nth-child(3){height:50%}.coaching-art>div:nth-child(4){height:72%}.coaching-art>div:nth-child(5){height:94%}.approach{background:#e8e9e6;color:#171a20;border-radius:38px 38px 0 0;position:relative;z-index:5}.approach .section-label{color:#6e737a;border-color:#171a2026}.approach-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;align-items:center;padding:90px 0 55px}.approach-mark{position:relative;max-width:400px}.approach-mark svg{width:100%;fill:none;stroke:#9ba1a9;stroke-width:.6}.approach-mark svg .mark-strong{stroke:#25384e;stroke-width:18;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:0}.approach-mark>span{display:block;text-align:center;font-size:8px;letter-spacing:2px;margin-top:20px}.approach .eyebrow{color:#586778;margin-bottom:28px}.approach h2{font-family:Sans,sans-serif;font-weight:400;font-size:clamp(30px,3.5vw,57px);line-height:1.12;letter-spacing:-1.8px}.word-reveal span{opacity:.23;transition:opacity .25s}.approach-copy{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:35px 0;font-size:14px;line-height:1.65;color:#62676e}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:12px;padding:14px 0;border-bottom:1px solid currentColor}.text-link span{font-size:20px}.start{padding-top:95px;padding-bottom:100px}.start-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:9vw;margin-top:70px}.steps article{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:0 0 28px;margin-bottom:28px}.steps article>span{font-size:11px;color:var(--blue);padding-top:5px}.steps h3{font-size:22px;letter-spacing:-.5px}.steps p{color:var(--muted);font-size:14px;line-height:1.6;max-width:325px;margin-top:12px}.price-line{display:flex;align-items:center;gap:35px;padding-top:35px;border-top:1px solid var(--line);margin-top:65px}.price-line>span{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.price-line strong{font-size:24px;font-weight:400}.price-line a{margin-left:auto;font-size:11px}.contact{position:relative;background:radial-gradient(ellipse at 50% 100%,#253e5b,transparent 65%),#101722;border-radius:38px 38px 0 0;overflow:hidden;isolation:isolate;text-align:center;padding-bottom:30px}.contact .section-label{text-align:left}.contact>.eyebrow{margin-top:80px;color:#b3c3d7}.contact h2{font-size:clamp(62px,12vw,185px);margin-top:35px;position:relative}.contact h2>span{background:linear-gradient(180deg,#f3f7fc,#6f8bac);color:transparent;background-clip:text}.contact-intro{margin:30px auto;color:#abb9cb;font-size:15px;line-height:1.7}.contact-links{display:grid;grid-template-columns:1fr 1fr;max-width:850px;margin:40px auto 10px;gap:16px;text-align:left}.contact-link{border-radius:20px;padding:28px 30px;position:relative;transition:background .3s,transform .3s;display:flex;flex-direction:column;justify-content:space-between;min-height:155px}.contact-link:hover{background-color:#bddcff18;transform:translateY(-5px)}.link-label{font-size:9px;letter-spacing:1.7px;color:#b7c9de}.contact-link strong{font-weight:400;font-size:clamp(17px,2.1vw,29px);line-height:1.2;letter-spacing:-.5px;margin-top:20px}.link-arrow{position:absolute;right:25px;top:23px;font-size:28px}.contact-more{color:#c0d0e1;margin:20px 0 85px}.contact-orbit{position:absolute;inset:0;z-index:-1;opacity:.25;pointer-events:none}.contact-orbit>div{position:absolute;width:1100px;height:1100px;border:1px solid #a4caff;left:50%;top:60%;border-radius:50%;transform:translate(-50%,-50%) rotateX(65deg) rotateY(20deg)}.contact-orbit>div:nth-child(2){transform:translate(-50%,-50%) rotateX(45deg) rotateY(-50deg)}.contact-orbit>div:nth-child(3){transform:translate(-50%,-50%) rotateX(78deg) rotateY(45deg)}footer{display:flex;align-items:center;gap:30px;justify-content:space-between;border-top:1px solid var(--line);padding-top:30px;text-align:left}footer>span{font-size:8px;letter-spacing:1.5px;color:#95a5b8}footer>a:not(.brand),.legal-button{font-size:10px;color:#a8b7c9}.legal-button{border:0;background:none}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .85s,transform .85s}.js-motion .reveal.visible{opacity:1;transform:none}dialog{border:1px solid #53637a;border-radius:24px;padding:45px;background:#151c27;color:var(--ink);margin:auto;max-width:620px;width:calc(100% - 36px)}dialog::backdrop{background:#000a;backdrop-filter:blur(8px)}dialog h2{font-size:33px;margin-bottom:25px}dialog p{line-height:1.65;color:#b4c0d0;margin-top:18px;font-size:14px}.close-dialog{position:absolute;right:18px;top:12px;font-size:28px;background:none;border:0}.paused *{animation-play-state:paused!important}.paused{scroll-behavior:auto}.paused .reveal{opacity:1;transform:none}.paused .word-reveal span{opacity:1}@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@media(min-width:1600px){.hero{min-height:1000px}.hero-intro{max-width:420px;font-size:18px}.hero-intro>p:first-child{font-size:23px}.sculpture{top:17%}}
@media(max-width:900px){.hero{min-height:820px;padding-top:125px}.hero h1{font-size:15.4vw}.tiny{display:none}.sculpture{top:25%;right:-12%;width:85%;height:52%}.hero-intro{max-width:310px;font-size:14px}.hero-intro>p:first-child{font-size:16px}.scroll-note{gap:12px}.scroll-note>span:first-child{display:none}.training-card{padding:35px;min-height:430px}.card-art{min-height:250px}.orbit{width:190px;height:190px;border-width:12px}.card-copy h3{font-size:35px}.section-heading>p{max-width:230px;font-size:14px}.approach-layout{gap:5vw}.approach-copy{grid-template-columns:1fr;gap:15px}.approach-mark>span{font-size:6px}.start-layout{gap:45px}.start h2{font-size:7vw}footer{flex-wrap:wrap}footer>span{display:none}}
@media(max-width:600px){.nav{padding:23px 6vw}.brand{font-size:29px}.nav nav{gap:17px;font-size:11px}.nav nav>a:nth-child(2){display:none}.nav-contact{padding:10px 13px}.nav-contact span{margin-left:8px}.hero{height:100svh;min-height:830px;max-height:1100px;padding:116px 6vw 65px}.hero-top{font-size:8px}.hero h1{font-size:17vw;margin-top:42px;line-height:.95}.hero h1 .outline{margin-top:0}.sculpture{top:27%;height:39%;width:112%;right:-15%}.sculpture-caption{bottom:2%;left:29%;font-size:5px;gap:15px}.hero-intro{max-width:275px}.hero-intro>p:first-child{font-size:15px}.hero-intro .muted{font-size:13px;max-width:250px}.hero-bottom{align-items:flex-end}.button{font-size:12px;padding:13px 19px;margin-top:20px;gap:30px}.scroll-arrow{padding:11px 15px}.motion-toggle{left:6vw}.ticker{padding:19px 0}.ticker>div{font-size:25px;gap:22px}.section{padding:65px 6vw}.section-label{font-size:8px;letter-spacing:1px;align-items:flex-start}.section-label>span:last-child{max-width:125px;text-align:right;line-height:1.5}.section-heading{display:block;padding:45px 0 30px}.section-heading h2{font-size:11vw}.section-heading p{max-width:300px;margin-top:22px}.training-list{padding-bottom:10px}.training-card{grid-template-columns:1fr;min-height:560px;padding:28px;top:15px;border-radius:22px}.card-control{top:29px}.card-coaching{top:43px}.card-copy{max-width:none}.card-copy h3{font-size:34px;margin:23px 0 17px}.card-copy p{font-size:13px}.card-art{min-height:230px;max-width:320px;width:100%;margin:10px auto 0}.strength-art{transform:rotate(-25deg) scale(.8)}.control-art{transform:scale(.85)}.coaching-art{padding-top:10px}.approach{border-radius:25px 25px 0 0}.approach-layout{grid-template-columns:1fr;padding:45px 0 15px;gap:40px}.approach-mark{width:170px;margin:0 auto}.approach-mark>span{font-size:5px}.approach h2{font-size:34px;letter-spacing:-1px}.approach .eyebrow{font-size:8px;margin-bottom:24px}.approach-copy{font-size:14px;margin:25px 0 20px}.start-layout{grid-template-columns:1fr;gap:40px;margin-top:40px}.start h2{font-size:12vw}.steps article{gap:22px}.steps h3{font-size:21px}.steps p{font-size:13px}.price-line{flex-wrap:wrap;gap:16px;margin-top:15px;padding-top:25px}.price-line>span{width:100%;font-size:8px}.price-line strong{font-size:22px}.price-line a{margin-left:0;font-size:10px}.contact{border-radius:25px 25px 0 0;padding-bottom:25px}.contact>.eyebrow{margin-top:50px;font-size:7px;letter-spacing:1px}.contact h2{font-size:15vw;margin-top:28px}.contact-intro{font-size:13px;margin-top:23px}.contact-links{grid-template-columns:1fr;gap:12px;margin-top:30px}.contact-link{min-height:125px;padding:23px}.contact-link strong{font-size:23px;margin-top:15px}.contact-more{font-size:11px;line-height:1.5;text-align:left;margin:20px 0 55px;gap:15px}footer{gap:22px;padding-top:25px}.contact-orbit>div{width:650px;height:650px}.word-reveal span{opacity:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.word-reveal span{opacity:1}}

.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;margin-top:30px;font-size:12px;color:#c0d0e1}.social-links a{padding:8px 0;border-bottom:1px solid #ffffff35}.social-links a:hover{color:white}

/* A friendly training companion, confined to the approach illustration. */
.sport-mascot{width:100%;max-width:440px;justify-self:center;position:relative;align-self:center;user-select:none}
.mascot-svg{display:block;width:100%;height:auto;overflow:visible}
.mascot-caption{display:block;text-align:center;font-size:8px;letter-spacing:2px;color:#657582;margin-top:0}
.mascot-upper{animation:mascot-breathe 4.5s ease-in-out infinite;transform-origin:228px 362px}
.mascot-shadow{animation:mascot-shadow 4.5s ease-in-out infinite;transform-origin:228px 419px}
.mascot-eye-shell{animation:mascot-blink 6.8s infinite;transform-box:view-box}
.mascot-spark{animation:mascot-glint 4.5s ease-in-out infinite}
@keyframes mascot-breathe{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}
@keyframes mascot-shadow{0%,100%{transform:scaleX(1);opacity:1}50%{transform:scaleX(.94);opacity:.8}}
@keyframes mascot-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}
@keyframes mascot-glint{0%,100%{opacity:.4}50%{opacity:1}}
@media(max-width:900px){.sport-mascot{max-width:340px}.mascot-caption{font-size:6px;letter-spacing:1.5px}}
@media(max-width:600px){.sport-mascot{width:270px;max-width:100%;margin:-15px auto 0}.approach-layout{gap:28px}.mascot-caption{font-size:6px}}
@media(prefers-reduced-motion:reduce){.sport-mascot *{animation:none!important}}

/* About: dark, cinematic typography with a scroll-led perspective reveal. */
.approach{background:radial-gradient(ellipse at 22% 55%,#24364d80,transparent 58%),linear-gradient(155deg,#131b27,#10151e 70%);color:var(--ink);border-top:1px solid #c7dcf51a}
.approach .section-label{color:#9baabe;border-color:var(--line)}
.about-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-top:60px}
.approach .about-intro h2{font-family:Display,Impact,sans-serif;font-size:clamp(56px,8vw,128px);font-weight:900;letter-spacing:-.02em;line-height:.95}
.about-intro h2>span{color:var(--blue)}
.about-intro>p{font-size:12px;color:#9dacbf;line-height:1.5;margin-bottom:6px;max-width:240px}
.approach-layout{padding:70px 0 65px;min-height:640px;gap:6vw;grid-template-columns:1fr 1.25fr}
.about-story{position:relative;min-width:0}
.approach .eyebrow{color:#a5bedb;font-size:9px;letter-spacing:2px;margin-bottom:35px}
.about-perspective{perspective:700px;perspective-origin:50% 65%;margin:-12px -12px 0;padding:12px}
.approach .word-reveal{font-family:Sans,Arial,sans-serif;font-weight:400;font-size:clamp(31px,3.65vw,60px);line-height:1.16;letter-spacing:-.035em;transform-origin:50% 50%;text-wrap:pretty}
.word-reveal .about-word{display:inline-block;opacity:1;white-space:pre;transition:none}
.approach-copy{color:#a8b4c4;font-size:14px;position:relative;z-index:1;margin-top:42px}
.approach .text-link{color:#c6d9ef}
.approach .sport-mascot{filter:drop-shadow(0 15px 45px #00000035)}
.approach .mascot-caption{color:#98adc5}
.contact #contact-title{font-size:clamp(48px,9.1vw,145px)}
@media(max-width:900px){.about-intro>p{max-width:190px}.approach-layout{gap:4vw}.approach-copy{grid-template-columns:1fr}.approach .word-reveal{font-size:clamp(31px,4.3vw,44px)}}
@media(max-width:600px){.about-intro{display:block;padding-top:38px}.approach .about-intro h2{font-size:18vw}.about-intro>p{max-width:none;margin-top:16px;font-size:11px}.approach-layout{grid-template-columns:1fr;padding:28px 0 18px;gap:35px;min-height:0}.approach .sport-mascot{width:250px;margin:-15px auto -10px}.approach .eyebrow{font-size:8px;margin-bottom:25px}.approach .word-reveal{font-size:clamp(29px,8.2vw,43px);line-height:1.18;letter-spacing:-.03em}.about-perspective{perspective:900px}.approach-copy{margin-top:30px}.contact #contact-title{font-size:12vw}}
.paused .about-perspective .word-reveal{transform:none!important;opacity:1!important}
.paused .word-reveal .about-word{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.about-perspective .word-reveal,.word-reveal .about-word{transform:none!important;opacity:1!important}}

/* The same companion now demonstrates each training focus. */
.card-art-mascot{display:flex;align-items:center;justify-content:center;min-height:330px;perspective:none}
.card-art-mascot .sport-mascot{width:100%;max-width:370px;filter:drop-shadow(0 16px 23px #0003)}
.card-art-mascot .mascot-caption{color:#b5c8dd;font-size:8px;margin-top:-14px}
.mascot-lift .mascot-dumbbell{animation:mascot-lift 3.6s ease-in-out infinite;transform-origin:228px 310px}
.mascot-balance .mascot-upper{animation:mascot-balance 4.8s ease-in-out infinite;transform-origin:228px 362px}
.mascot-progress .mascot-upper{animation:mascot-proud 4.2s ease-in-out infinite;transform-origin:228px 362px}
.mascot-progress .mascot-eye-shell{animation-delay:1.3s}
.mascot-balance .mascot-eye-shell{animation-delay:.6s}
@keyframes mascot-lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes mascot-balance{0%,100%{transform:rotate(-3deg) translateY(-2px)}50%{transform:rotate(3deg) translateY(-6px)}}
@keyframes mascot-proud{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-5px) scaleY(1.025)}}
@media(max-width:900px){.card-art-mascot{min-height:290px}.card-art-mascot .sport-mascot{max-width:310px}}
@media(max-width:600px){.card-art-mascot{min-height:245px;margin-top:0}.card-art-mascot .sport-mascot{width:255px;max-width:100%;margin:-16px auto 0}.card-art-mascot .mascot-caption{font-size:7px;margin-top:-9px}}
@media(prefers-reduced-motion:reduce){.card-art-mascot *{animation:none!important}}

/* Fit the longer primary message into the existing hero composition. */
.hero h1.hero-question{font-size:clamp(52px,8.3vw,140px);line-height:.94;z-index:3;letter-spacing:-.025em}
.hero h1.hero-question .outline{margin-top:5px;-webkit-text-stroke:1.2px #b9cbe0}
.hero-intro{max-width:390px}
.contact-intro{max-width:540px;padding:0 10px}
@media(max-width:900px){.hero-intro{max-width:340px}.section-heading>p{max-width:290px}.hero h1.hero-question{font-size:9.5vw}}
@media(max-width:600px){.hero h1.hero-question{font-size:11.3vw;line-height:.97}.hero h1.hero-question .outline{margin-top:2px}.hero-intro{max-width:275px}.hero-intro .muted{max-width:265px}.section-heading>p{max-width:310px}.contact-intro{max-width:360px;padding:0}}

/* Keep the original display outlines; include German diacritics in font metrics. */
@font-face{font-family:DisplayDE;src:url('/assets/display-de.otf') format('opentype');font-weight:700 900;font-style:normal;font-display:swap}
.contact #contact-title{font-family:DisplayDE,Display,Impact,sans-serif;font-synthesis:none;line-height:1.2;overflow:visible}
.contact #contact-title>span{display:inline-block;padding:.07em .025em;margin:-.07em -.025em}
.approach .about-intro h2{font-family:Sans,Arial,sans-serif;font-size:clamp(27px,3.3vw,44px);font-weight:400;line-height:1.15;letter-spacing:-.025em}
.section-heading>p{max-width:430px}
@media(max-width:900px){.section-heading>p{max-width:330px}}
@media(max-width:600px){.contact #contact-title{font-size:10.6vw}.approach .about-intro h2{font-size:29px}.section-heading>p{max-width:100%}}

/* Hero: one continuous mascot motif, with a coordinated squat and lift. */
.hero-mascot-stage{position:absolute;z-index:2;top:16%;right:0;width:51%;height:76%;display:flex;align-items:center;justify-content:center;pointer-events:none}
.hero-mascot-stage .sport-mascot{width:min(100%,70svh);max-width:700px;flex:none;filter:drop-shadow(0 30px 45px #0005)}
.hero-mascot-stage .mascot-caption{color:#a6bbd3;font-size:8px;letter-spacing:2px;margin-top:-16px}
.mascot-hero .mascot-upper{animation:none;transform-origin:228px 362px}
.mascot-hero .mascot-shadow{animation:none}
.mascot-hero .mascot-eye-shell{animation-duration:7.2s}
@media(max-width:900px){.hero-mascot-stage{top:30%;right:-10%;width:74%;height:49%}.hero-mascot-stage .sport-mascot{width:min(100%,50svh)}}
@media(max-width:600px){.hero-mascot-stage{top:29%;right:-5%;width:110%;height:40%}.hero-mascot-stage .sport-mascot{width:min(100%,38svh);max-width:340px;margin:0}.hero-mascot-stage .mascot-caption{font-size:6px;letter-spacing:1.5px;margin-top:-11px}}

/* Larger supporting copy across desktop, tablet and phone layouts. */
.hero-intro,.hero-intro .muted,.section-heading>p,.card-copy p,
.approach-copy,.steps p,.contact-intro{font-size:18px;line-height:1.6}
.hero-intro>p:first-child{font-size:20px}
.about-intro>p{font-size:16px;line-height:1.6}
@media(max-width:600px){
  .hero-intro,.hero-intro .muted,.section-heading>p,.card-copy p,
  .approach-copy,.steps p,.contact-intro{font-size:16px}
  .hero-intro>p:first-child{font-size:16px}
  .about-intro>p{font-size:16px}
  .text-link,.price-line a,.social-links,footer>a:not(.brand),.legal-button{font-size:14px;line-height:1.6}
  .hero{height:auto;min-height:max(830px,100svh);max-height:none}
  .hero-mascot-stage{position:relative;top:auto;right:auto;width:100%;height:auto;flex-shrink:0;margin:12px 0 24px}
  .hero-mascot-stage .sport-mascot{flex-shrink:0}
  .hero-intro{min-width:0;flex:1;margin-right:16px}
}

/* Compact, readable legal link with a touch-friendly target. */
footer>a.imprint-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:14px;line-height:1.4}

/* Separate, compact location information using the existing reveal animation. */
.training-places.section{padding-top:0;padding-bottom:65px}
.places-content{border-top:1px solid var(--line);padding-top:32px}
.places-content h2{font-size:18px;font-weight:400;line-height:1.4;color:var(--muted)}
.places-options{font-size:clamp(25px,4.5vw,62px);line-height:1.3;letter-spacing:-.03em;color:var(--blue);margin:14px 0}
.places-options span{white-space:nowrap}
.places-note{max-width:680px;font-size:16px;line-height:1.6;color:var(--muted)}
.approach-copy>p:only-child{grid-column:1 / -1}
@media(max-width:600px){.training-places.section{padding-top:0;padding-bottom:45px}.places-content{padding-top:25px}.places-content h2{font-size:16px}.places-options{font-size:clamp(22px,6.3vw,38px)}.places-note{font-size:14px}}

/* Header-only neural mesh; no layout participation or pointer interception. */
.hero-network-layer{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}
.hero-network{display:block;width:100%;height:100%;pointer-events:none;opacity:1}
/* Local soft shields protect copy while leaving the rest of the mesh bright. */
.hero-network-layer::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 42% 25% at 29% 35%,#0c0e12c9 0%,#0c0e1275 52%,transparent 100%),radial-gradient(ellipse 28% 20% at 15% 83%,#0c0e12e6 0%,#0c0e12a3 50%,transparent 100%)}
@media(max-width:600px){.hero-network-layer::after{background:radial-gradient(ellipse 65% 17% at 43% 23%,#0c0e12d9 0%,#0c0e1270 50%,transparent 100%),radial-gradient(ellipse 70% 21% at 34% 85%,#0c0e12ed 0%,#0c0e12a3 55%,transparent 100%)}}

/* Decorative utterances occupy their own layer in the existing illustration. */
.mascot-utterance{position:absolute;z-index:3;pointer-events:none;user-select:none;font-family:inherit;font-weight:400;line-height:1.2;letter-spacing:-.015em;color:var(--ink);text-align:center;text-shadow:0 2px 8px #0c0e12b3;opacity:0}
.mascot-utterance[hidden]{display:none}
.mascot-utterance>span{display:inline-block;white-space:pre;transform-origin:50% 80%;opacity:0}

/* A decorative inline echo; the original heading retains all its metrics. */
#offer-title .word-echo{position:relative;z-index:0}
#offer-title .word-echo-copy{position:absolute;left:0;top:0;z-index:-1;font:inherit;letter-spacing:inherit;color:inherit;white-space:pre;opacity:0;pointer-events:none;user-select:none}
@media(prefers-reduced-motion:reduce){#offer-title .word-echo-copy{display:none}}

/* Preserve desktop layout; reserve a reading area only on narrow screens. */
.mascot-text-slot{display:none}
@media(max-width:600px){
  .card-art-mascot{flex-direction:column;gap:28px}
  .card-art-mascot .sport-mascot{flex:none;margin:0 auto}
  .mascot-text-slot{display:block;position:relative;flex:0 0 80px;width:100%;height:80px;pointer-events:none}
  .mascot-utterance-mobile{inset:8px 0;display:grid;place-items:center;font-size:20px;line-height:1.25;text-shadow:none}
  .mascot-utterance-mobile[hidden]{display:none}
  .mascot-utterance-line{width:100%;max-width:100%;padding:0 6px}
  .mascot-utterance-line>span{display:inline-block;max-width:100%;white-space:pre-wrap;transform-origin:50% 80%;opacity:0}
}
@media(max-width:340px){.mascot-utterance-mobile{font-size:19px}}

/* Glass is confined to the two contact surfaces; contents never deform. */
.contact-links .contact-link{isolation:isolate;box-shadow:inset 0 1px 0 #eef7ff42,inset 0 -1px 0 #a4c8e51c,0 10px 35px #0000001a}
.contact-links .link-label,.contact-links strong{position:relative;z-index:1}
.contact-links .link-arrow{z-index:1}
.contact-glass{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 12% 0%,#d5eaff18,transparent 55%),linear-gradient(170deg,#e5f4ff0e,transparent 30%,#aacde907 70%,#dbeeff12);box-shadow:inset 1px 0 0 #e8f4ff17,inset -1px 0 0 #bddcff14}
.contact-glass>span{position:absolute;pointer-events:none}
.contact-glass-pool{width:95%;height:220%;top:-90%;left:-20%;border-radius:43% 57% 62% 38%;background:radial-gradient(ellipse,#c0ddfa1c 0%,#aecfea0c 40%,transparent 68%);transform:rotate(-25deg);animation:contact-glass-flow 13s ease-in-out infinite alternate;animation-play-state:paused}
.contact-glass-pool.pool-two{left:45%;top:-20%;width:80%;height:180%;background:radial-gradient(ellipse,#e2f2ff16,transparent 65%);animation-name:contact-glass-flow-two;animation-duration:11s;animation-delay:-5s}
.contact-links .contact-link:nth-child(2) .contact-glass-pool{animation-delay:-6s}
.contact-glass-sweep{inset:-85% -65%;opacity:0;background:linear-gradient(112deg,transparent 34%,#bddcff05 40%,#d8edff38 47%,#f1f8ff50 50%,#c7e4ff25 54%,transparent 64%);transform:translateX(-75%) skewX(-6deg);border-radius:45%;}
.contact-glass-edge{inset:0;border-radius:inherit;border:1px solid transparent;background:linear-gradient(115deg,#e8f6ff80,transparent 30%,transparent 65%,#bddcff70) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;opacity:.12}
.contact-glass-pointer{inset:0;opacity:0;background:radial-gradient(ellipse 180px 110px at var(--glass-x,50%) var(--glass-y,50%),#d8edff24,transparent 75%);transition:opacity .5s}
.pointer-lit .contact-glass-pointer{opacity:1}
.contact-glass-wave{border-radius:50%;opacity:0;background:radial-gradient(circle,transparent 25%,#d7efff09 32%,#ddf1ff50 39%,#bddcff18 46%,transparent 55%)}
.glass-running .glass-card-visible .contact-glass-pool{animation-play-state:running}
.glass-enter .contact-glass-sweep{animation:contact-glass-cycle-one 5.3s cubic-bezier(.3,.05,.25,1) infinite both;animation-play-state:paused}
.glass-enter .contact-glass-edge{animation:contact-glass-rim-one 5.3s ease-in-out infinite both;animation-play-state:paused}
.glass-enter .contact-link:nth-child(2) .contact-glass-sweep,.glass-enter .contact-link:nth-child(2) .contact-glass-edge{animation-delay:.5s}
.glass-running.glass-enter .glass-card-visible .contact-glass-sweep,.glass-running.glass-enter .glass-card-visible .contact-glass-edge{animation-play-state:running}
/* Each cycle contains 2.5s of light, then a quiet 2.8s / 3.6s interval. */
.glass-enter .contact-link:nth-child(2) .contact-glass-sweep{animation-name:contact-glass-cycle-two;animation-duration:6.1s}
.glass-enter .contact-link:nth-child(2) .contact-glass-edge{animation-name:contact-glass-rim-two;animation-duration:6.1s}
@keyframes contact-glass-cycle-one{0%{opacity:0;transform:translateX(-75%) skewX(-6deg)}5.660377%{opacity:.9}25.943396%{opacity:1}42.452830%{opacity:.65}47.169811%,100%{opacity:0;transform:translateX(75%) skewX(8deg)}}
@keyframes contact-glass-rim-one{0%,47.169811%,100%{opacity:.12}13.207547%{opacity:.7}28.301887%{opacity:.35}36.792453%{opacity:.6}}
@keyframes contact-glass-cycle-two{0%{opacity:0;transform:translateX(-75%) skewX(-6deg)}4.918033%{opacity:.9}22.540984%{opacity:1}36.885246%{opacity:.65}40.983607%,100%{opacity:0;transform:translateX(75%) skewX(8deg)}}
@keyframes contact-glass-rim-two{0%,40.983607%,100%{opacity:.12}11.475410%{opacity:.7}24.590164%{opacity:.35}31.967213%{opacity:.6}}
@keyframes contact-glass-flow{to{transform:translate(38%,22%) rotate(20deg);border-radius:65% 35% 44% 56%}}
@keyframes contact-glass-flow-two{to{transform:translate(-35%,-18%) rotate(-40deg);border-radius:34% 66% 58% 42%}}
@supports not (mask-composite:exclude){.contact-glass-edge{background:none;border-color:#d4eaff40}}
@media(prefers-reduced-motion:reduce){.contact-links .contact-glass *{animation:none!important}.contact-glass-pointer,.contact-glass-sweep,.contact-glass-wave{display:none}}
.paused .contact-glass-pointer,.paused .contact-glass-sweep,.paused .contact-glass-wave{display:none}

/* Native, layout-free activation area for the three offer mascots only. */
.training-card .sport-mascot>.mascot-trigger{position:absolute;inset:0;z-index:4;display:block;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:12px;background:transparent;box-shadow:none;appearance:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.training-card .sport-mascot>.mascot-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}

/* Compact the mobile outer stage without touching the animated SVG rig. */
@media(max-width:600px){
  .training-card{min-height:0;grid-template-rows:auto auto;align-content:start}
  .training-card .card-art-mascot{align-self:start}
  .training-card .mascot-text-slot{flex-basis:64px;height:64px}
  .training-card .mascot-utterance-mobile{inset:0}
}

/* A fixed reading slot belongs only to the final, interactive mascot. */
.approach .approach-speech-slot{height:64px;position:relative;pointer-events:none}
.approach .approach-utterance{inset:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;column-gap:.26em;row-gap:0;font-size:20px;line-height:1.25;color:var(--ink);text-shadow:none}
.approach .approach-utterance[hidden]{display:none}
.approach-utterance>span{display:inline-block;white-space:nowrap;opacity:0}
.approach .approach-mascot-trigger{position:absolute;top:64px;left:0;right:0;bottom:18px;z-index:4;display:block;padding:0;margin:0;border:0;border-radius:12px;background:transparent;box-shadow:none;appearance:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.approach .approach-mascot-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}

/* Offer glass remains behind the original grid; the scroll transform is untouched. */
.training-card{transition:translate .35s cubic-bezier(.2,.65,.3,1),border-color .35s,box-shadow .35s}
.offer-glass{position:absolute;inset:0;border-radius:inherit;overflow:hidden;z-index:-1;pointer-events:none}
.offer-glass>span{position:absolute;pointer-events:none}
.offer-reflection{inset:0;background:radial-gradient(ellipse at 10% 0%,#dceeff12,transparent 52%),radial-gradient(ellipse at 95% 100%,#c7ddf20c,transparent 52%),linear-gradient(155deg,#f0f8ff08,transparent 38%,#0a17240c 70%,#d5eaff08);box-shadow:inset 0 1px 0 #e4f2ff24,inset 1px 0 0 #daeaff0f,inset 0 -1px 0 #bddcff15}
.offer-rim{inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 #eaf5ff26,inset -1px -1px 0 #bddcff12;opacity:.7;transition:opacity .35s}
.offer-sweep{inset:-65%;opacity:0;border-radius:40%;background:linear-gradient(115deg,transparent 35%,#cbe4ff04 40%,#dcefff20 47%,#eff8ff32 50%,#d1eaff16 55%,transparent 64%);transform:translateX(-72%) skewX(-5deg)}
.offer-mouse-glow{inset:0;opacity:0;transition:opacity .35s;background:radial-gradient(ellipse 270px 230px at var(--offer-light-x,50%) var(--offer-light-y,40%),#d7ecff16,transparent 74%)}
.offer-enter .offer-sweep{animation:offer-glass-entry 3s cubic-bezier(.3,.05,.25,1) both;animation-play-state:paused}
.offer-enter.offer-motion .offer-sweep{animation-play-state:running}
.offer-enter .offer-mouse-glow{opacity:0!important}
.training-card:focus-within{border-color:#d9eaff60;box-shadow:inset 0 1px 0 #edf7ff18,0 -15px 65px #00000030}
@media(hover:hover) and (pointer:fine){
  .training-card.offer-hover{translate:0 -3px;border-color:#d9eaff60;box-shadow:inset 0 1px 0 #edf7ff20,0 -15px 65px #00000030,0 12px 30px #00000030}
  .offer-hover .offer-mouse-glow{opacity:1}
  .offer-hover .offer-rim{opacity:1}
}
@keyframes offer-glass-entry{0%{opacity:0;transform:translateX(-72%) skewX(-5deg)}15%{opacity:.9}55%{opacity:1}88%{opacity:.65}100%{opacity:0;transform:translateX(72%) skewX(6deg)}}
@media(prefers-reduced-motion:reduce){
  .training-card.offer-hover{translate:none}
  .training-card{transition:border-color .2s,box-shadow .2s}
  .offer-sweep{display:none;animation:none!important}
  .offer-mouse-glow{background:radial-gradient(ellipse at 50% 40%,#d7ecff10,transparent 70%)}
}
.paused .training-card.offer-hover{translate:none}
.paused .offer-sweep{display:none}
/* Keep the copy column quiet; allow the broad refraction to read in the art area. */
.offer-glass{opacity:.25}
@supports (mask-image:linear-gradient(#000,#000)) or (-webkit-mask-image:linear-gradient(#000,#000)){
  .offer-glass{opacity:1;mask-image:linear-gradient(90deg,#0003 0%,#0003 48%,#000 72%);-webkit-mask-image:linear-gradient(90deg,#0003 0%,#0003 48%,#000 72%)}
  @media(max-width:600px){.offer-glass{mask-image:linear-gradient(#0003 0%,#0003 50%,#000 72%);-webkit-mask-image:linear-gradient(#0003 0%,#0003 50%,#000 72%)}}
}

/* Pause existing CSS mascot motion alongside its visibility-controlled JS clock. */
.sport-mascot.mascot-sleeping *{animation-play-state:paused!important}

/* Narrative offer copy grows naturally; existing illustration stages stay intact. */
.training-card{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.training-card .card-copy{min-width:0}
.training-card .card-copy h3{overflow-wrap:break-word}
.training-card .card-copy p+p{margin-top:1em}
.card-companion{background:#34465c;top:98px}
@media(max-width:600px){
  .training-card{grid-template-columns:minmax(0,1fr)}
  .card-companion{top:57px}
  .card-companion .card-art-mascot{padding-top:28px}
}

/* Desktop only: readable narrative columns and a complete sticky card stack. */
@media(min-width:901px){
  .training-list .training-card{
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
    column-gap:clamp(28px,3vw,64px);
    min-height:var(--desktop-card-height,430px);
    /* Let the complete lower stage enter short windows before holding. */
    top:min(var(--desktop-card-top,35px),calc(100svh - var(--desktop-card-height,430px) - 24px));
  }
  .training-list .card-control{--desktop-card-top:56px}
  .training-list .card-coaching{--desktop-card-top:77px}
  .training-list .card-companion{--desktop-card-top:98px}
  .training-list .card-copy{max-width:none;align-self:start}
  .training-list .card-copy p{
    max-width:54ch;
    font-size:clamp(20px,calc(14px + .625vw),28px);
    line-height:1.6;
  }
}

/* Phone cards must expose their complete lower stage before stacking. */
@media(max-width:600px){
  .training-list .training-card{
    top:min(var(--mobile-card-top,15px),calc(100svh - var(--mobile-card-height,0px) - 24px));
  }
  .training-list .card-control{--mobile-card-top:29px}
  .training-list .card-coaching{--mobile-card-top:43px}
  .training-list .card-companion{--mobile-card-top:57px}
  .training-list .card-art-mascot{gap:16px}
  .training-list .card-companion .card-art-mascot{padding-top:16px}
}

/* Secondary destinations below the unchanged primary contact surfaces. */
.contact-secondary-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:760px;margin:18px auto 64px;text-align:left}
.contact-secondary-links .contact-secondary-link{position:relative;isolation:isolate;overflow:hidden;min-width:0;border-radius:17px;padding:18px 20px;display:flex;flex-direction:column;align-items:flex-start;border-color:#ffffff24;background:linear-gradient(135deg,#ffffff0c,#ffffff03 60%,#bddcff08);box-shadow:inset 0 1px 0 #eaf5ff1c,0 8px 24px #00000012;transition:transform .3s,border-color .3s,background-color .3s}
.contact-secondary-link::before{content:"";position:absolute;inset:-80% -70%;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 42%,#dcefff14 49%,#eff8ff20 51%,transparent 59%);transform:translateX(-65%);opacity:0;transition:transform .7s ease,opacity .4s}
.contact-secondary-link .contact-secondary-icon{flex:none;display:block;color:#b3cbe3;margin-bottom:13px;transition:color .3s,transform .3s}
.contact-secondary-link h3{font-family:inherit;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:-.2px;color:#d7e3f0}
.contact-secondary-link p{font-size:14px;line-height:1.6;color:#a5b5c8;margin-top:7px;max-width:38ch}
.contact-secondary-link .contact-secondary-label{display:inline-flex;gap:12px;align-items:center;font-size:12px;line-height:1.5;color:#bdd0e5;padding-top:14px;margin-top:auto}
.contact-secondary-link:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-color:#bddcff70}
@media(hover:hover) and (pointer:fine){
  .contact-secondary-link:hover{transform:translateY(-2px);border-color:#bddcff50;background-color:#bddcff06}
  .contact-secondary-link:hover::before{opacity:1;transform:translateX(65%)}
  .contact-secondary-link:hover .contact-secondary-icon{color:var(--blue);transform:translateY(-1px)}
}
.contact-secondary-link:active{border-color:#bddcff70;background-color:#bddcff0c}
@media(max-width:600px){.contact-secondary-links{grid-template-columns:minmax(0,1fr);gap:12px;margin:16px auto 48px}.contact-secondary-links .contact-secondary-link{padding:18px 20px}}
@media(prefers-reduced-motion:reduce){.contact-secondary-links .contact-secondary-link,.contact-secondary-link .contact-secondary-icon{transition:none}.contact-secondary-links .contact-secondary-link:hover,.contact-secondary-link:hover .contact-secondary-icon{transform:none}.contact-secondary-link::before{display:none}}
.paused .contact-secondary-links .contact-secondary-link,.paused .contact-secondary-link .contact-secondary-icon{transition:none}
.paused .contact-secondary-links .contact-secondary-link:hover,.paused .contact-secondary-link:hover .contact-secondary-icon{transform:none}
.paused .contact-secondary-link::before{display:none}

/* Two decorative icons share the secondary SVGs' line style; no extra height. */
.contact-links .contact-primary-icon{position:absolute;left:30px;top:22px;width:24px;height:24px;z-index:1;color:#b3cbe3;pointer-events:none}
.contact-links .contact-link>.link-label{padding-left:36px}
@media(max-width:600px){.contact-links .contact-primary-icon{left:23px;top:17px}}

/* Header wordmark descriptor: the original lettering and arrow keep their metrics. */
.nav>.brand{position:relative}
.nav>.brand>.brand-tagline{position:absolute;left:0;top:calc(100% + 6px);display:block;font-family:Sans,Arial,sans-serif;font-size:9px;font-weight:400;line-height:1.3;letter-spacing:.5px;color:var(--muted);white-space:nowrap}
@media(max-width:600px){.nav>.brand>.brand-tagline{top:calc(100% + 5px);font-size:8px;letter-spacing:.1px}}

/* Connected Meaning paints only the existing final-line glyphs; metrics and
   the original outline stroke stay untouched. Its clock is the mesh's RAF. */
.hero h1.hero-question .outline.meaning-resonance{
  background-image:linear-gradient(to left,rgba(217,239,255,var(--meaning-opacity,0)) var(--meaning-fill,-12%),rgba(217,239,255,0) calc(var(--meaning-fill,-12%) + 12%));
  background-position:var(--meaning-text-left,0px) 0;
  background-size:var(--meaning-text-width,100%) 100%;
  background-repeat:no-repeat;
  -webkit-background-clip:text;
  background-clip:text;
}
.paused .hero h1.hero-question .outline.meaning-resonance{background-image:none}
@media(prefers-reduced-motion:reduce){.hero h1.hero-question .outline.meaning-resonance{background-image:none}}

/* Meaning layers inhabit only the existing empty scene above each figure.
   No layout space, extra heading, pointer target or additional animation loop. */
.training-card .semantic-reveal{position:absolute;z-index:2;pointer-events:none;user-select:none}
.training-card .semantic-word{display:block;width:max-content;font-family:Sans,Arial,sans-serif;font-size:clamp(26px,2.5vw,40px);font-weight:400;line-height:1.1;letter-spacing:.08em;white-space:nowrap;--semantic-peak:rgba(189,220,255,.62);color:rgba(189,220,255,.018);-webkit-text-stroke:.3px rgba(189,220,255,.035);background-image:linear-gradient(100deg,transparent 34%,#bddcff80 46%,#edf7ffda 50%,#bddcff80 54%,transparent 66%);background-size:280% 100%;background-position:100% 0;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text}
.training-card .semantic-reveal.semantic-suspended{visibility:hidden}
@media(max-width:600px){.training-card .semantic-word{font-size:clamp(18px,5.4vw,22px);--semantic-peak:rgba(189,220,255,.50)}}
@media(prefers-reduced-motion:reduce){.training-card .semantic-reveal{visibility:hidden}}
.paused .training-card .semantic-reveal{visibility:hidden}

.satire-easter-egg{font-size:10px;line-height:1.6;max-width:31ch;opacity:.65}.satire-easter-egg:hover{opacity:1}.satire-easter-egg small{display:block;font-size:9px;opacity:.75}
