/* Interaction layer: content remains available without animation or JavaScript. */
html{scroll-padding-top:115px}
.header{position:sticky;top:0;z-index:50;width:100%;height:90px;padding-inline:max(24px,calc((100% - 1320px)/2));background:#fbfbfced;backdrop-filter:blur(18px);transition:box-shadow .3s,background .3s}
.header.is-scrolled{box-shadow:0 1px 0 #d9deec;background:#fbfbfcf5}
.header nav a{position:relative;padding-block:8px}
.header nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:#2345ef;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.header nav a:hover::after,.header nav a[aria-current="location"]::after{transform:scaleX(1)}
.header nav a[aria-current="location"]{color:#2345ef}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#2345ef;transform:scaleX(0);transform-origin:left;z-index:70;pointer-events:none}
.mobile-nav{position:sticky;top:90px;z-index:49;max-height:calc(100dvh - 90px);overflow:auto;box-shadow:0 14px 22px #141e3612}
.menu-toggle span{transition:transform .25s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.hero h1 .hero-line{display:block;color:inherit}
.hero h1 .hero-line:last-child{color:#2345ef}
.hero-art{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.hero-art.is-pointed{box-shadow:0 28px 65px -28px #2345ef75}
.hero-art::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(450px circle at var(--pointer-x,50%) var(--pointer-y,50%),#ffffff22,transparent 65%);transition:opacity .4s}
.hero-art.is-pointed::after{opacity:1}
.art-note{transition:transform .4s}
.hero-art.is-pointed .art-note{transform:translateY(-5px)}
.brand-symbol{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.brand:hover .brand-symbol{transform:rotate(-12deg)}
.button{position:relative;overflow:hidden;transition:background .25s,transform .25s,box-shadow .25s}
.button:hover{box-shadow:0 9px 24px -12px #13192b88;transform:translateY(-3px)}
.button:active{transform:translateY(0) scale(.98)}
.button::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#fff2 50%,transparent 75%);transform:translateX(-140%);transition:transform .6s}
.button:hover::after{transform:translateX(140%)}
.services article{transition:border-color .3s,transform .3s}
.services article:hover{border-color:#2345ef;transform:translateY(-5px)}
.service-icon{transition:transform .45s;transform-origin:left center}
.services article:hover .service-icon{transform:rotate(-10deg) scale(1.14)}
.project-canvas{transform:perspective(850px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s,box-shadow .45s}
.project-card:hover .project-canvas{transform:perspective(850px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-7px);box-shadow:0 20px 34px -20px #19244270}
.round-plus{transition:transform .4s,background .3s,color .3s,border-color .3s}
.project-card:hover .round-plus,.project-card:focus-visible .round-plus{transform:rotate(90deg);background:#2345ef;color:#fff;border-color:#2345ef}
.plan{transition:box-shadow .3s,transform .3s,border-color .3s;position:relative}
.plan:hover{transform:translateY(-6px);box-shadow:0 18px 40px -25px #25324a55}
.plan.is-recommended{box-shadow:0 0 0 3px #2345ef;z-index:1}
.store-strip{transition:box-shadow .3s}
.store-strip.is-recommended{box-shadow:0 0 0 3px #2345ef}
.steps li{position:relative}
.steps li::before{content:'';position:absolute;top:-1px;left:0;width:100%;height:2px;background:#2345ef;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.steps li.is-visible::before{transform:scaleX(1)}
.steps li:nth-child(2)::before{transition-delay:.1s}.steps li:nth-child(3)::before{transition-delay:.2s}.steps li:nth-child(4)::before{transition-delay:.3s}
.studio-panel .studio-monogram{transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.studio-panel:hover .studio-monogram{transform:rotate(-8deg) translate(-10px,-6px)}
.faq-list summary::after{transition:transform .3s}
.faq-list details[open] summary::after{transform:rotate(180deg)}
.contact input,.contact select,.contact textarea{transition:border-color .25s,box-shadow .25s}
.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:#dfff76;box-shadow:0 0 0 3px #dfff7615}

.plan-finder{background:#19212b;color:#f9fbff;border-radius:12px;padding:38px;margin-bottom:36px;display:grid;grid-template-columns:1.45fr 1fr;gap:42px}
.finder-heading{font-size:28px;letter-spacing:-.8px;margin-bottom:8px}
.finder-intro{font-size:15px;color:#c3cbd5;margin-bottom:28px}
.plan-finder fieldset{margin:0 0 22px;border:0;padding:0;min-width:0}
.plan-finder legend{font-size:14px;font-weight:600;margin-bottom:13px;color:#e4eaf2}
.goal-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.goal-option{position:relative;cursor:pointer}
.goal-option input{position:absolute;width:1px;height:1px;opacity:0}
.goal-option span{display:flex;align-items:center;min-height:55px;padding:13px 15px;border:1px solid #515f6f;border-radius:7px;font-size:14px;transition:background .2s,border-color .2s,color .2s,transform .2s}
.goal-option span::before{content:'';width:9px;height:9px;border:1px solid #cbd4df;border-radius:50%;margin-right:11px;flex-shrink:0;transition:background .2s,border-color .2s}
.goal-option:hover span{background:#293545;border-color:#92a1b7}
.goal-option input:checked+span{background:#dfff76;color:#172120;border-color:#dfff76}
.goal-option input:checked+span::before{background:#172120;border-color:#172120}
.goal-option input:focus-visible+span{outline:3px solid #fff;outline-offset:3px}
.finder-extras{display:flex;gap:22px;flex-wrap:wrap}
.finder-extras label{display:flex;align-items:center;gap:9px;font-size:14px;cursor:pointer}
.finder-extras input{accent-color:#dfff76;width:18px;height:18px;margin:0}
.finder-extras input:focus-visible{outline:2px solid #dfff76;outline-offset:4px}
.finder-result{border-left:1px solid #4c5969;padding-left:38px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.finder-result .eyebrow{color:#dfff76;letter-spacing:1px;margin-bottom:18px}
.finder-result h4{font-size:38px;line-height:1.1;letter-spacing:-1.3px;font-weight:550;margin:0 0 16px}
.finder-result p:not(.eyebrow){font-size:16px;color:#c9d0da;margin-bottom:24px}
.finder-result .button{align-self:start}
.finder-result small{font-size:12px;color:#aebac9;display:block;line-height:1.6;margin-top:16px}
.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-block:25px 17px}
.preview-toolbar>span{font-size:13px;color:#697382}
.device-switch{display:flex;padding:4px;border:1px solid #d0d7e2;border-radius:7px;gap:3px;background:#eef1f7}
.device-switch button{border:0;border-radius:4px;padding:8px 13px;font-size:13px;font-weight:600;background:transparent;color:#4b586b;min-height:36px}
.device-switch button[aria-pressed="true"]{background:#fff;color:#2345ef;box-shadow:0 2px 6px #15213a17}
#project-preview{display:flex;justify-content:center;min-height:280px}
#project-preview .dialog-demo{width:100%;margin-top:0;align-self:start;transition:width .45s cubic-bezier(.2,.8,.2,1),border-radius .45s,box-shadow .45s}
#project-preview.is-mobile .dialog-demo{width:295px;max-width:100%;border-radius:25px;box-shadow:0 0 0 5px #252d3a;padding:28px 20px}
#project-preview.is-mobile .demo-row{flex-direction:column;gap:5px}
#project-preview.is-mobile .demo-row span:last-child{text-align:left}
#project-preview.is-mobile .dialog-demo h3{font-size:26px}
.back-top{position:fixed;bottom:22px;right:22px;z-index:40;width:46px;height:46px;border-radius:50%;border:1px solid #d5deed;background:#fbfbfc;color:#2345ef;box-shadow:0 5px 22px #15234119;font-size:23px;transition:transform .25s,background .25s}
.back-top:hover{transform:translateY(-4px);background:#eef2ff}
@media(max-width:1050px){.plan-finder{padding:30px;gap:26px}.finder-result{padding-left:26px}.goal-option span{padding:12px;font-size:14px}.finder-result h4{font-size:32px}}
@media(max-width:850px){.plan-finder{grid-template-columns:1fr;gap:7px}.finder-result{border-left:0;border-top:1px solid #4c5969;padding:28px 0 0}.finder-result h4{font-size:34px}.finder-result p:not(.eyebrow){max-width:550px}.finder-result{min-height:245px}}
@media(max-width:700px){.header{height:76px;padding-inline:20px}.mobile-nav{top:76px;max-height:calc(100dvh - 76px)}html{scroll-padding-top:96px}.plan-finder{padding:25px 22px}.finder-heading{font-size:26px}.goal-options{gap:9px}.goal-option span{min-height:72px;padding:10px;font-size:13px;line-height:1.5}.goal-option span::before{margin-right:8px}.finder-extras{gap:15px}.finder-result .button{width:100%}.preview-toolbar{align-items:start;flex-direction:column;gap:10px}.device-switch{align-self:stretch}.device-switch button{flex:1}.back-top{width:42px;height:42px;bottom:16px;right:15px}#project-preview.is-mobile .dialog-demo{width:245px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.hero-art,.project-canvas,.project-card:hover .project-canvas,.services article:hover,.plan:hover,.button:hover,.button:active,.brand:hover .brand-symbol,.studio-panel:hover .studio-monogram,.hero-art.is-pointed .art-note{transform:none!important}}
@media print{.header{position:static}.reading-progress,.back-top{display:none!important}}
