/* Shared visual language. Desktop and mobile geometry live in separate files. */
html{scroll-behavior:smooth;scroll-padding-top:100px}
body,.pd-site{background:#08031d}
.hero-copy li i{flex-shrink:0}
.hero .char{pointer-events:auto;appearance:none;border:0;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:filter .3s ease;}
.hero .char img{pointer-events:none;user-select:none;-webkit-user-drag:none;transform-origin:50% 90%;will-change:auto}
.hero .char:focus-visible{outline:2px solid #ffb3e8;outline-offset:6px;border-radius:35%}
.hero .char.is-active{z-index:70;filter:drop-shadow(0 0 24px rgba(255,94,211,.55))}
.hero .char.is-active img{animation:performer-lift .9s cubic-bezier(.2,.65,.3,1)}
@keyframes performer-lift{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-22px) scale(1.045)}65%{transform:translateY(-12px) scale(1.02)}}
.stage-hint{position:absolute;margin:0;color:#e2cceb;font-size:11px;letter-spacing:.3px;text-align:center;z-index:65;pointer-events:none}
.hero-journey a{display:flex;align-items:center;gap:12px;padding:20px;color:#fff;text-decoration:none;border-right:1px solid rgba(255,255,255,.12);transition:background .2s ease}
.hero-journey a:last-child{border-right:0}.hero-journey a:hover{background:rgba(190,95,255,.1)}
.hero-journey a i{font-style:normal;font-size:28px;color:#ff6dce}
.hero-journey a span{font-size:13px;line-height:1.3}.hero-journey a b{display:block;font-size:15px;margin-bottom:5px;line-height:1.2}.hero-journey a small{display:block;color:#c7bbda;font-size:11px;line-height:1.4}
.hero-journey{overflow:hidden;background:linear-gradient(110deg,rgba(16,8,43,.96),rgba(35,13,65,.94));border-color:rgba(230,98,255,.35);box-shadow:0 20px 50px rgba(0,0,0,.25)}
.growth-stages article{position:relative;padding:28px;overflow:hidden}
.growth-stages article i{display:grid;place-items:center;width:48px;height:48px;margin-bottom:24px;border-radius:15px;background:rgba(255,93,202,.1);font-size:25px;font-style:normal;color:#ff74d0}
.growth-stages article b{font-size:23px;line-height:1.2;margin-bottom:12px;color:#fff}
.growth-stages article span{display:block;font-size:14px;line-height:1.6;color:#cbbfdc}
.growth-stages article:after{content:"";position:absolute;right:-35px;top:-45px;width:150px;height:150px;background:radial-gradient(circle,rgba(180,81,255,.16),transparent 70%);pointer-events:none}
.section,.results,.contact{scroll-margin-top:82px}
.card,.benefits article{border:1px solid rgba(170,122,255,.16)}
.lead-form input:focus{border-color:#ee65cb;box-shadow:0 0 0 3px rgba(255,66,188,.12)}
a:focus-visible,button:focus-visible{outline:3px solid #ffc0ef;outline-offset:5px}
/* Layered concert backdrop: architecture, luminous ring, haze and floor lights. */
.stage-backdrop{position:absolute;left:44%;right:-4%;top:115px;height:500px;background:linear-gradient(110deg,rgba(15,12,45,.9),rgba(77,15,83,.5),rgba(17,15,55,.9));border:1px solid rgba(152,82,231,.22);border-radius:160px 160px 12px 12px;box-shadow:inset 0 0 100px rgba(190,45,188,.12),0 0 90px rgba(114,35,171,.1)}
.stage-backdrop:after{content:"";position:absolute;inset:20px;border:1px solid rgba(159,107,228,.14);border-radius:145px 145px 8px 8px;background:repeating-linear-gradient(90deg,transparent 0 72px,rgba(195,134,255,.07) 73px 75px,transparent 76px 150px)}
.stage-halo{position:absolute;left:70%;top:165px;width:410px;height:410px;transform:translateX(-50%);border:2px solid rgba(255,86,204,.22);border-radius:50%;box-shadow:0 0 45px rgba(227,49,183,.16),inset 0 0 55px rgba(225,48,183,.1);background:radial-gradient(circle,rgba(170,51,160,.18),transparent 68%)}
.stage-halo:after{content:"";position:absolute;inset:20px;border-radius:50%;border:1px solid rgba(125,115,255,.27)}
.stage-footlights{position:absolute;left:41%;right:2%;bottom:146px;height:16px;background:radial-gradient(ellipse,rgba(255,203,241,.95) 0 2px,rgba(255,80,202,.55) 3px,transparent 12px);background-size:78px 16px;filter:drop-shadow(0 0 8px #e749ba)}
.stage-ground-glow{position:absolute;left:43%;right:3%;bottom:125px;height:95px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,81,196,.22),rgba(104,81,225,.18) 45%,transparent 72%);filter:blur(12px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* WordPress content pages, archives and the genuine 404 page. */
.pd-document{min-height:calc(100vh - 120px);padding:140px 5vw 70px;background:radial-gradient(ellipse at 90% 0,rgba(120,47,191,.17),transparent 50%),#08031d}
.pd-document-card{max-width:1050px;margin:auto;padding:clamp(25px,5vw,65px);border:1px solid rgba(182,107,238,.2);border-radius:28px;background:linear-gradient(145deg,rgba(43,22,77,.8),rgba(17,9,38,.85))}
.pd-document h1{font-size:clamp(30px,4vw,48px);font-style:normal;line-height:1.15;letter-spacing:-1px;margin:28px 0}
.document-content{font-size:17px;line-height:1.8;color:#d8cfe6;overflow-wrap:anywhere}.document-content h2{font-size:28px;line-height:1.25;color:#fff;margin-top:36px}.document-content img{max-width:100%;height:auto}.document-content a,.document-back,.document-preview a{color:#ff85d5}.document-back{font-size:14px;text-decoration:none}.document-eyebrow{font-size:40px;color:#ff78cb}.document-not-found p{line-height:1.7}.document-preview{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1)}.document-preview h2{font-size:24px;line-height:1.3}.document-pagination{margin-top:25px}
.site-footer{padding:32px 5vw;border-top:1px solid rgba(255,255,255,.1);background:#08031d;color:#bcb0d1;font-size:13px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.site-footer nav{display:flex;gap:22px;flex-wrap:wrap}.site-footer a{color:#d8cfe6;text-decoration:none}.site-footer a:hover{color:#ff85d5}
@media(max-width:760px){.pd-document{padding:100px 16px 40px}.pd-document-card{padding:25px 20px;border-radius:22px}.document-content{font-size:15px}.site-footer{padding:28px 20px}.site-footer,.site-footer nav{flex-direction:column;gap:14px}}

/* Useful service context and accessible FAQ. */
.seo-intro{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;padding:75px 5vw;background:linear-gradient(150deg,#130929,#09041d);border-top:1px solid rgba(255,116,211,.12)}
.content-kicker{font-size:11px;letter-spacing:1.4px;color:#ff85d5}.seo-intro h2{font-size:38px;line-height:1.12;letter-spacing:-1px;margin:20px 0 0;max-width:470px}.seo-intro p{font-size:16px;line-height:1.8;color:#cfc3df;margin:0 0 18px}.seo-intro a,.faq-contact{color:#ff8ad7;text-decoration:none;font-size:14px;font-weight:700}
.faq-section{padding:90px 5vw;background:linear-gradient(145deg,#120928,#08041e)}.faq-section .section-title{max-width:1050px}.faq-section h2{font-size:36px;line-height:1.15}.faq-list{max-width:1050px;margin:auto;display:grid;gap:12px}.faq-list details{padding:23px 26px;border:1px solid rgba(193,119,236,.18);border-radius:18px;background:rgba(53,28,85,.28)}.faq-list summary{font-size:17px;font-weight:700;cursor:pointer;line-height:1.45;color:#eee6f7}.faq-list details[open]{border-color:rgba(255,116,211,.38)}.faq-list p{max-width:900px;color:#ccbfdd;font-size:15px;line-height:1.8;margin:17px 0 0}.faq-contact{display:block;max-width:1050px;margin:28px auto 0}
.screen-reader-label,.lead-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.seo-intro{grid-template-columns:1fr;padding:55px 24px;gap:26px}.seo-intro h2{font-size:29px}.seo-intro p{font-size:14px}.content-kicker{font-size:9px}.faq-section{padding:65px 20px}.faq-section h2{font-size:28px}.faq-list details{padding:20px 18px}.faq-list summary{font-size:15px}.faq-list p{font-size:14px}}

.characters-real picture { display:block; width:100%; height:100%; }
