/* Small, accessible interactions; the page stays usable without JavaScript. */
.button,.control,.module-tabs button,.prompt-buttons button,.section-menu a,.text-link{transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}
.button:active,.control:active{transform:translateY(1px) scale(.98)}
.quick-nav a[aria-current],.section-menu a[aria-current]{color:var(--z-lavender);text-decoration:underline;text-underline-offset:6px}
.reveal-once{animation:section-arrival .55s cubic-bezier(.2,.65,.3,1) both}
@keyframes section-arrival{from{opacity:.3;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.hero-copy{animation:hero-arrival .65s ease-out both}
.trainer-figure{animation:hero-arrival .8s .08s ease-out both}
@keyframes hero-arrival{from{opacity:.25;translate:0 14px}to{opacity:1;translate:0 0}}
.back-to-top{position:fixed;right:22px;bottom:24px;z-index:45;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--z-surface,#211b33);border:1px solid var(--z-lavender,#b6aaff);box-shadow:0 6px 22px #0005;color:var(--z-lavender,#b6aaff)}
.back-to-top .icon{rotate:-90deg;width:18px}
.capture-frame{position:relative;min-height:180px}
.capture-frame.is-loading:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#dcd6ff18 45%,transparent 70%),var(--z-raised,#292137);background-size:220% 100%;animation:capture-loading 1.3s linear infinite;border-radius:8px}
@keyframes capture-loading{to{background-position:-220% 0}}
.capture-feedback{padding:12px 16px;font-size:12px;line-height:1.6;color:var(--z-muted,#c5bed6)}
.capture-feedback button{margin-top:8px}
.capture-error #module-image{display:none}
.contact-section{border-top:1px solid var(--line);background:radial-gradient(ellipse at 0 20%,#5b4ef018,transparent 65%)}
.calculator-assumption{display:flex;align-items:center;gap:14px;border:1px solid rgb(var(--z-lavender-rgb) / .25);border-radius:12px;padding:14px 18px;margin:0 0 28px;background:rgb(var(--z-violet-rgb) / .1)}
.calculator-assumption strong{font:600 32px/1.2 Space,Inter,sans-serif;color:var(--z-lavender)}
.calculator-assumption>span{font-size:12px;line-height:1.6;max-width:280px;color:var(--z-lavender)}
.calculator-single-time .vision-baseline-input{display:flex;align-items:center;gap:12px;margin-top:12px}
.calculator-single-time .vision-baseline-input input{max-width:200px}
.calculator-single-time .vision-baseline-input>span{font-size:12px;color:var(--z-muted)}
.calculator-revenue{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.calculator-revenue .revenue-context{grid-column:1/-1;font-size:11px;line-height:1.8;color:var(--z-muted)}
.calculator-revenue #before-income-output{font-size:23px;color:var(--z-muted)}
.calculator-revenue #total-income-output{font-size:27px;color:var(--z-lavender)}
.calculator-revenue .revenue-increase{grid-column:1/-1;padding-top:18px;border-top:1px solid var(--z-line)}
.calculator-revenue #extra-income-output{font-size:29px;color:var(--z-snow)}
.calculator-revenue #income-percentage-output{font-size:18px;color:var(--z-lavender);padding:5px 10px;border-radius:8px;background:rgb(var(--z-violet-rgb) / .18)}
.calculator-revenue #revenue-percentage-hint{grid-column:1/-1}
.calculator-input-title{font-size:13px;line-height:1.7;color:var(--z-snow)}
.calculator-time-inputs{margin-top:12px}
.calculator-allocation{margin-top:26px}
.calculator-allocation label{align-items:flex-start}
.calculator-allocation label>output{white-space:nowrap;flex-shrink:0}
.calculator-client-time{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:14px}
.calculator-client-time>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.calculator-client-time span{font-size:10px;line-height:1.7;color:var(--z-muted)}
.calculator-client-time strong{font:600 25px/1.25 Space,Inter,sans-serif;color:var(--z-snow);overflow-wrap:anywhere}
.calculator-client-time>div+div strong{color:var(--z-lavender)}
.calculator-client-saving{font-size:11px;line-height:1.8;color:var(--z-lavender)}
.calculator-client-saving+.vision-field-hint{margin-top:8px}
.calculator-client-saving~.vision-metric-main{border-top:1px solid var(--z-line);padding-top:20px;margin-top:22px}
.calculator-allocation .range-labels{gap:18px;font-size:10px;line-height:1.6}
.calculator-allocation .range-labels span:last-child{text-align:right}
@media(max-width:700px){.calculator-assumption{padding:13px 15px;margin-bottom:24px}.calculator-client-time strong{font-size:23px}.calculator-input-title{font-size:12px}.vision-inputs input[type=number]{font-size:16px}}
/* Amounts retain their own typography when live pricing replaces their text. */
.price-card .price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.price-card .price>.plan-amount{font:600 clamp(54px,5.2vw,64px)/1.05 Space,Inter,sans-serif;letter-spacing:-.055em;color:var(--z-snow);font-variant-numeric:tabular-nums}
.tool-section .section-heading>p{max-width:390px}
.tool-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.tool-navigation>p{font-size:12px}
.tool-arrows{display:flex;gap:8px;flex-shrink:0}
.tool-arrows .control{width:44px;height:44px;min-width:44px}
.tool-arrows .control:disabled{opacity:.35;cursor:default}
#tool-prev .icon{rotate:180deg}
.tool-track{display:flex;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--z-violet) var(--z-surface);padding:4px 2px 18px;position:relative;-webkit-overflow-scrolling:touch}
.tool-card{flex:0 0 calc((100% - 40px)/3);min-width:0;scroll-snap-align:start;scroll-snap-stop:normal;display:flex;flex-direction:column;padding:26px;border:1px solid var(--z-line);border-radius:16px;background:linear-gradient(140deg,var(--z-raised),var(--z-surface));}
.tool-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.tool-icon{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border:1px solid rgb(var(--z-violet-rgb) / .4);border-radius:14px;background:rgb(var(--z-violet-rgb) / .14);color:var(--z-lavender)}
.tool-icon .icon{width:26px;height:26px;stroke-width:1.7}
.tool-plan{font-size:10px;color:var(--z-lavender);border:1px solid var(--z-line);border-radius:20px;padding:5px 9px;line-height:1.5;white-space:nowrap}
.tool-card h3{font-size:23px;line-height:1.2;margin-bottom:16px}
.tool-description{font-size:14px;line-height:1.8;margin-bottom:24px;overflow-wrap:anywhere}
.tool-benefit{border-top:1px solid var(--z-line);padding-top:18px;margin-top:auto}
.tool-benefit .tool-benefit-label{font-size:9px;font-weight:650;letter-spacing:.1em;color:var(--z-lavender);margin-bottom:8px}
.tool-benefit p{font-size:13px;line-height:1.8}
.tool-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px}
#tool-position{font-size:12px;color:var(--z-muted);font-variant-numeric:tabular-nums}
@media(max-width:1000px){.tool-card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:700px){.tool-card{flex-basis:calc(100% - 28px);padding:24px}.tool-track{gap:14px}.tool-card h3{font-size:22px}.tool-navigation{align-items:flex-start;gap:14px}.tool-navigation>p{font-size:11px;max-width:200px}.tool-section .section-heading{margin-bottom:26px}.price-card .price>.plan-amount{font-size:56px}}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.contact-intro>p{margin:22px 0;font-size:15px;line-height:1.8;max-width:430px}
.contact-email{display:inline-block;font-size:16px;color:var(--z-lavender,#b6aaff);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.contact-form{display:grid;gap:20px;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--z-surface,#211b33);min-width:0}
.contact-field{display:grid;gap:7px;min-width:0}
.contact-field label{font-size:13px;font-weight:600}
.contact-field input,.contact-field textarea,.contact-field select{width:100%;min-width:0;border:1px solid #74678e;background:#161222;color:#f6f3ff;border-radius:9px;padding:12px;font:inherit;font-size:14px;line-height:1.5}
.contact-field textarea{resize:vertical;min-height:130px}
.contact-field [aria-invalid=true]{border-color:#ffb4b4}
.field-error{color:#ffb4b4;font-size:12px;line-height:1.6}
.contact-help{font-size:12px;line-height:1.7}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.contact-feedback{padding:14px;border-radius:9px;border:1px solid #8c80ca;background:#5b4ef014;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.share-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:26px}
.share-tools p{width:100%;font-size:12px}
.share-status{min-height:1.6em;font-size:12px;color:var(--z-lavender,#b6aaff);width:100%}
@media(max-width:950px){.contact-layout{gap:35px}}
@media(max-width:700px){.contact-layout{grid-template-columns:1fr;gap:28px}.contact-form{padding:20px}.contact-actions .button{width:100%}.back-to-top{right:14px;bottom:94px}.contact-intro>p{font-size:14px}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-once,.hero-copy,.trainer-figure,.capture-frame.is-loading:after{animation:none!important}.button,.control,.module-tabs button,.prompt-buttons button,.section-menu a,.text-link{transition:none!important}}
