:root,
[data-theme],
[data-theme="default"],
[data-theme="dark"] {

  --space-unit: 1rem;

  --component-padding: 1.25rem;

  --font-primary: "SegoeBrand", "SegoeBrand Fallback", "Segoe UI", system-ui, sans-serif;
  --font-display: "Wadik", "Wadik Fallback", system-ui, sans-serif;

  --text-base-size: 1rem;
  --text-xs:    0.6875rem;
  --text-sm:    0.8125rem;
  --text-md:    1rem;
  --text-lg:    1.125rem;
  --text-xl:    1.375rem;
  --text-xxl:   clamp(1.5rem, 2.4vw, 2rem);
  --text-xxxl:  clamp(1.75rem, 3.1vw, 2.75rem);
  --text-xxxxl: clamp(2rem, 4.1vw, 4.25rem);

  --body-line-height: 1.5;
  --heading-line-height: 1.05;
  --heading-font-weight: 700;
  --body-font-weight: 400;

  --color-primary:         hsl(83, 56%, 55%);
  --color-primary-bright:  hsl(81, 95%, 64%);
  --color-primary-darker:  hsl(83, 64%, 41%);
  --color-primary-glow:    hsla(83, 56%, 55%, 0.55);
  --color-primary-lighter: hsl(81, 95%, 78%);
  --color-primary-light:   hsl(83, 70%, 65%);
  --color-primary-dark:    var(--color-primary-darker);

  --color-accent:          var(--color-primary);
  --color-accent-lighter:  var(--color-primary-lighter);
  --color-accent-light:    var(--color-primary-light);
  --color-accent-dark:     var(--color-primary-dark);
  --color-accent-darker:   var(--color-primary-darker);

  --color-secondary:         hsl(200, 14%, 9%);
  --color-secondary-lighter: hsl(200, 10%, 22%);
  --color-secondary-light:   hsl(200, 12%, 15%);
  --color-secondary-dark:    hsl(200, 16%, 6%);
  --color-secondary-darker:  hsl(200, 18%, 3%);

  --color-success:        hsl(83, 56%, 55%);
  --color-success-darker: hsl(83, 64%, 41%);
  --color-warning:        hsl(38, 92%, 56%);
  --color-warning-darker: hsl(28, 90%, 48%);
  --color-error:          hsl(0, 70%, 56%);
  --color-error-darker:   hsl(0, 70%, 44%);

  --color-link: var(--color-primary);

  --color-on-primary: hsl(80, 5%, 5%);

  --radius: 0.75rem;
  --radius-pill: 999px;

  --btn-font-size: var(--text-sm);
  --btn-padding-x: 1.25rem;
  --btn-padding-y: 0.875rem;
  --btn-radius: var(--radius-pill);

  --form-control-font-size: var(--text-md);
  --form-control-padding-x: 1.25rem;
  --form-control-padding-y: 1rem;
  --form-control-radius: var(--radius-pill);

  --brand-ease: cubic-bezier(.2, .7, .2, 1);

  --container-max: 90rem;

  --color-paper:      hsl(50, 14%, 94%);
  --color-paper-alt:  hsl(48, 14%, 89%);
}

:root,
[data-theme="default"] {
  --color-bg:      var(--color-paper);
  --color-bg-alt:  var(--color-paper-alt);
  --color-contrast-lower:  hsla(0, 0%, 0%, 0.06);
  --color-contrast-low:    hsla(0, 0%, 0%, 0.12);
  --color-contrast-medium: hsla(0, 0%, 0%, 0.55);
  --color-contrast-high:   hsl(80, 13%, 8%);
  --color-contrast-higher: hsl(80, 13%, 5%);
  --color-contrast-low-dark: rgba(11,14,10,0.10);
  color-scheme: light;
}

[data-theme="dark"] {
  --color-bg:      hsl(80, 5%, 5%);
  --color-bg-alt:  hsl(200, 14%, 9%);
  --color-contrast-lower:  hsla(0, 0%, 100%, 0.08);
  --color-contrast-low:    hsla(0, 0%, 100%, 0.18);
  --color-contrast-medium: hsl(180, 4%, 80%);
  --color-contrast-high:   hsl(50, 14%, 94%);
  --color-contrast-higher: hsl(50, 14%, 98%);
  --color-contrast-low-dark: rgba(11,14,10,0.10);
  color-scheme: dark;
}

.container{
  max-width: var(--container-max);
}

@font-face{font-family:"Wadik";src:url("../fonts/pmu/Wadik.otf") format("opentype");font-weight:400;font-display:block}
@font-face{font-family:"Wadik";src:url("../fonts/pmu/WadikSP-Bold.otf") format("opentype");font-weight:700;font-display:block}
@font-face{font-family:"SegoeBrand";src:url("../fonts/pmu/segoe-ui-light.ttf") format("truetype");font-weight:300;font-display:swap}
@font-face{font-family:"SegoeBrand";src:url("../fonts/pmu/segoe-ui.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"SegoeBrand";src:url("../fonts/pmu/segoe-ui-semibold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"SegoeBrand Fallback";src:local("Segoe UI"),local("Helvetica Neue"),local("Arial");size-adjust:100%;ascent-override:95%;descent-override:22%;line-gap-override:0%}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-primary);font-size:1rem;line-height:1.5;color:var(--color-contrast-high);background:var(--color-bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{color:var(--color-primary)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
::selection{background:var(--color-primary);color:var(--color-on-primary)}
[hidden]{display:none!important}

.wrap{width:100%;max-width:76rem;margin:0 auto;padding:0 1.25rem}
@media(min-width:48rem){.wrap{padding:0 2.5rem}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:4px}

.h-display{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-0.02em;line-height:0.96;margin:0}
.h1{font-size:clamp(1.75rem,5.2vw,4rem)}
.h2{font-size:clamp(1.5rem,3.6vw,2.75rem)}
.h3{font-size:clamp(1.25rem,2.2vw,1.75rem)}
.h4{font-size:clamp(1.0625rem,1.6vw,1.375rem)}
.eyebrow{display:inline-flex;align-items:center;gap:.625rem;font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary)}
.eyebrow::before{content:"";width:1.75rem;height:1px;background:currentColor}
.lead{font-weight:300;font-size:clamp(.9375rem,1.3vw,1.1875rem);line-height:1.55;color:var(--color-contrast-medium);margin:0}
.muted{color:var(--color-contrast-medium)}
.accent{color:var(--color-primary)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.9375rem 1.5rem;background:var(--color-primary);color:var(--color-on-primary);font-weight:600;font-size:.875rem;letter-spacing:.04em;border-radius:999px;transition:box-shadow .25s var(--brand-ease),transform .2s var(--brand-ease),background .25s var(--brand-ease);text-align:center}
.btn:hover{color:var(--color-on-primary);background:var(--color-primary-bright);box-shadow:0 .625rem 2rem -.625rem var(--color-primary-glow)}
.btn:active{transform:translateY(1px)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.4;cursor:not-allowed;box-shadow:none;background:var(--color-primary)}
.btn--lg{padding:1.125rem 2rem;font-size:1rem}
.btn--ghost{background:transparent;color:currentColor;box-shadow:inset 0 0 0 1px var(--color-contrast-low)}
.btn--ghost:hover{background:var(--color-contrast-lower);color:currentColor;box-shadow:inset 0 0 0 1px var(--color-primary)}
.btn--block{width:100%}
.btn__arrow{display:grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:50%;background:var(--color-on-primary);color:var(--color-primary);flex:none;transition:transform .25s var(--brand-ease)}
.btn:hover .btn__arrow{transform:translateX(3px)}
.btn__arrow svg{width:.6875rem;height:.6875rem}
.btn__spinner{display:none;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
.btn.is-loading .btn__spinner{display:block}
.btn.is-loading .btn__arrow{display:none}
@keyframes spin{to{transform:rotate(360deg)}}

.site-head{position:sticky;top:0;z-index:60;background:rgba(11,14,10,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);color:#F2F1EC}
.site-head__in{display:flex;align-items:center;gap:1.25rem;min-height:4rem;padding:.625rem 1.25rem;max-width:76rem;margin:0 auto}
@media(min-width:48rem){.site-head__in{padding:.75rem 2.5rem}}
.logo{display:flex;align-items:center;gap:.625rem;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.04em;white-space:nowrap}
.logo:hover{color:inherit}
.logo__dot{width:.625rem;height:.625rem;border-radius:50%;background:var(--color-primary);box-shadow:0 0 .875rem var(--color-primary-glow);flex:none}
.site-nav{margin-left:auto;display:flex;gap:1.5rem;font-size:.875rem;overflow-x:auto;scrollbar-width:none}
.site-nav::-webkit-scrollbar{display:none}
.site-nav a{position:relative;white-space:nowrap;opacity:.82;padding:.25rem 0}
.site-nav a:hover{opacity:1}
.site-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--color-primary);transition:width .3s var(--brand-ease)}
.site-nav a:hover::after{width:100%}
.site-head .btn{flex:none}
@media(max-width:47.99rem){.site-head__in{flex-wrap:wrap;min-height:0}.site-nav{order:3;width:100%;margin-left:0;padding:.25rem 0 .5rem;gap:1.125rem;font-size:.8125rem}.site-head .btn{margin-left:auto;padding:.75rem 1rem;font-size:.8125rem}}

.section{position:relative;padding:clamp(3.5rem,8vw,7rem) 0;overflow:hidden}
.section--tight{padding:clamp(2.5rem,5vw,4rem) 0}
.section__head{display:grid;gap:1rem;margin-bottom:clamp(2rem,4vw,3.25rem);max-width:44rem}
.section__head .h-display{margin-top:.5rem}

.hero{position:relative;padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,4rem);background:radial-gradient(ellipse 90% 60% at 75% 25%,rgba(158,205,74,.10),transparent 60%),var(--color-bg);isolation:isolate}
.hero__grid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(to right,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.035) 1px,transparent 1px);background-size:5.25rem 5.25rem;mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 90%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 90%)}
.hero__in{position:relative;z-index:2;display:grid;gap:1.5rem;max-width:56rem}
.hero .h1{max-width:20ch}
.hero__sub{max-width:46ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:.5rem}
.hero__facts{display:flex;flex-wrap:wrap;gap:.75rem 2rem;margin-top:1.25rem;padding-top:1.5rem;border-top:1px solid var(--color-contrast-lower)}
.fact{display:flex;align-items:center;gap:.625rem;font-size:.875rem;letter-spacing:.02em}
.fact__ic{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.625rem;background:rgba(158,205,74,.12);color:var(--color-primary);flex:none}
.fact__ic svg{width:1.125rem;height:1.125rem}
.fact b{font-family:var(--font-display);font-weight:700;font-size:1.0625rem;letter-spacing:0}
.fact span{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-contrast-medium)}

.steps{display:grid;gap:1px;background:var(--color-contrast-lower);border:1px solid var(--color-contrast-lower);border-radius:1.25rem;overflow:hidden}
@media(min-width:48rem){.steps{grid-template-columns:repeat(3,1fr)}}
.step{position:relative;display:flex;flex-direction:column;gap:.875rem;padding:2rem 1.75rem 2.25rem;background:var(--color-bg-alt);min-height:12rem;transition:background .3s var(--brand-ease)}
.step:hover{background:#1B2024}
.step__n{font-family:var(--font-display);font-weight:700;font-size:.8125rem;letter-spacing:.18em;color:var(--color-primary)}
.step__t{font-family:var(--font-display);font-weight:700;font-size:1.25rem;text-transform:uppercase;letter-spacing:-0.01em;line-height:1.05;margin:.5rem 0 0}
.step p{margin:0;font-size:.9375rem;line-height:1.5;color:var(--color-contrast-medium)}
.step__ic{position:absolute;right:1.25rem;bottom:1.25rem;width:2.75rem;height:2.75rem;color:var(--color-primary);opacity:.28;transition:opacity .3s var(--brand-ease)}
.step:hover .step__ic{opacity:.7}

.dirs{display:grid;gap:1px;background:var(--color-contrast-lower);border:1px solid var(--color-contrast-lower);border-radius:1.25rem;overflow:hidden}
@media(min-width:40rem){.dirs{grid-template-columns:repeat(2,1fr)}}
@media(min-width:64rem){.dirs{grid-template-columns:repeat(4,1fr)}}
.dir{display:flex;flex-direction:column;gap:.75rem;padding:1.75rem 1.5rem;background:var(--color-bg-alt);min-height:11rem;transition:background .3s var(--brand-ease)}
.dir:hover{background:#1B2024}
.dir__n{font-family:var(--font-display);font-weight:700;font-size:.75rem;letter-spacing:.18em;color:var(--color-primary);opacity:.75}
.dir__ic{width:2rem;height:2rem;color:var(--color-primary)}
.dir__t{font-family:var(--font-display);font-weight:700;font-size:1.0625rem;text-transform:uppercase;line-height:1.1;letter-spacing:-0.005em;margin:auto 0 0}
.dir__q{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-contrast-medium);opacity:.75}

.site-foot{border-top:1px solid var(--color-contrast-lower);padding:clamp(2.5rem,5vw,3.5rem) 0 1.5rem;background:var(--color-bg);color:#F2F1EC}
.site-foot__grid{display:grid;gap:2rem}
@media(min-width:48rem){.site-foot__grid{grid-template-columns:1.6fr 1fr 1fr;gap:3rem}}
.site-foot h5{margin:0 0 .875rem;font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary)}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.625rem;font-size:.875rem}
.site-foot li{color:rgba(216,220,219,.85)}
.site-foot__brand{font-family:var(--font-display);font-weight:700;font-size:1.375rem;letter-spacing:.02em;display:flex;align-items:flex-start;gap:.625rem;margin-bottom:.75rem;line-height:1.15}
.site-foot__brand .logo__dot{margin-top:.4375rem}
.site-foot p{margin:0;font-size:.875rem;line-height:1.55;color:rgba(216,220,219,.72);max-width:42ch}
.legal{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--color-contrast-lower);display:grid;gap:1rem}
.legal__note{font-size:.75rem;line-height:1.6;color:rgba(216,220,219,.55);max-width:80ch}
.legal__row{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.75rem;color:rgba(216,220,219,.5)}
.legal__row a{text-decoration:underline;text-underline-offset:2px}

.flow{min-height:100vh;display:flex;flex-direction:column;background:var(--color-paper);color:#0B0E0A}
.flow__body{flex:1;display:flex;flex-direction:column;padding:clamp(1.5rem,4vw,3rem) 0 clamp(2.5rem,5vw,4rem)}
.flow__in{width:100%;max-width:52rem;margin:0 auto;padding:0 1.25rem}
@media(min-width:48rem){.flow__in{padding:0 2rem}}

.progress{display:grid;gap:.625rem;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.progress__meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:.8125rem;letter-spacing:.04em}
.progress__step{font-weight:600;color:#0B0E0A}
.progress__pct{font-family:var(--font-display);font-weight:700;font-size:.875rem;color:var(--color-primary-darker);letter-spacing:.06em}
.progress__bar{position:relative;height:.375rem;border-radius:999px;background:rgba(11,14,10,.08);overflow:hidden}
.progress__fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:999px;background:linear-gradient(90deg,var(--color-primary-darker),var(--color-primary));transition:width .28s var(--brand-ease)}
.progress__group{display:inline-flex;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary-darker)}
.progress__group::before{content:"";width:.375rem;height:.375rem;border-radius:50%;background:var(--color-primary)}

[data-question-container]{position:relative;min-height:24rem}
.q{display:grid;gap:clamp(1.25rem,3vw,2rem);animation:qIn .18s var(--brand-ease) both}
@keyframes qIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.q{animation:none}}
.q__text{font-family:var(--font-display);font-weight:700;font-size:clamp(1.375rem,3.2vw,2.125rem);line-height:1.12;letter-spacing:-0.015em;margin:0;text-wrap:pretty}
.q__opts{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}
.opt{display:block}
.opt__btn{display:flex;align-items:flex-start;gap:1rem;width:100%;padding:1.125rem 1.25rem;text-align:left;background:#fff;border:1px solid rgba(11,14,10,.12);border-radius:.875rem;font-size:.9375rem;line-height:1.45;color:#0B0E0A;transition:border-color .18s var(--brand-ease),background .18s var(--brand-ease),transform .12s var(--brand-ease),box-shadow .18s var(--brand-ease)}
.opt__btn:hover{border-color:var(--color-primary);background:rgba(158,205,74,.06)}
.opt__btn:active{transform:scale(.995)}
.opt__key{display:grid;place-items:center;width:1.75rem;height:1.75rem;flex:none;border-radius:.5rem;background:rgba(11,14,10,.05);font-family:var(--font-primary);font-weight:600;font-size:.8125rem;font-variant-numeric:tabular-nums;color:rgba(11,14,10,.55);transition:background .18s var(--brand-ease),color .18s var(--brand-ease)}
.opt__btn:hover .opt__key{background:rgba(158,205,74,.22);color:var(--color-primary-darker)}
.opt__btn[aria-pressed="true"],.opt__btn.is-selected{border-color:var(--color-primary-darker);background:rgba(158,205,74,.14);box-shadow:inset 0 0 0 1px var(--color-primary-darker)}
.opt__btn[aria-pressed="true"] .opt__key,.opt__btn.is-selected .opt__key{background:var(--color-primary-darker);color:#fff}
.opt__txt{flex:1;min-width:0;text-wrap:pretty}
.q__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:.5rem}
.btn-back{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.125rem .75rem .875rem;font-size:.875rem;font-weight:600;color:rgba(11,14,10,.65);border:1px solid rgba(11,14,10,.14);border-radius:999px;background:transparent;transition:border-color .2s var(--brand-ease),color .2s var(--brand-ease),background .2s var(--brand-ease)}
.btn-back:hover{color:#0B0E0A;border-color:var(--color-primary-darker);background:rgba(158,205,74,.08)}
.btn-back:disabled{opacity:.35;cursor:not-allowed}
.btn-back svg{width:1rem;height:1rem}
.q__hint{font-size:.75rem;letter-spacing:.04em;color:rgba(11,14,10,.45)}
.q__hint kbd{display:inline-block;padding:.125rem .375rem;border:1px solid rgba(11,14,10,.18);border-bottom-width:2px;border-radius:.25rem;font-family:inherit;font-size:.6875rem;background:#fff}

.q-loading{display:grid;gap:1.25rem;padding:1rem 0}
.skel{border-radius:.75rem;background:linear-gradient(90deg,rgba(11,14,10,.05) 25%,rgba(11,14,10,.09) 37%,rgba(11,14,10,.05) 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
.skel--title{height:2.25rem;width:min(28rem,90%)}
.skel--title-2{height:2.25rem;width:min(18rem,65%)}
.skel--opt{height:3.75rem}
.q-loading__note{display:inline-flex;align-items:center;gap:.625rem;font-size:.8125rem;color:rgba(11,14,10,.5)}
.q-loading__note::before{content:"";width:.875rem;height:.875rem;border:2px solid var(--color-primary-darker);border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}

.type-grid{display:grid;gap:1rem;margin-top:.5rem}
@media(min-width:56rem){.type-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}
.type-card{position:relative;display:flex;flex-direction:column;gap:1rem;padding:clamp(1.5rem,3vw,2.25rem);text-align:left;background:#fff;border:1px solid rgba(11,14,10,.12);border-radius:1.25rem;transition:border-color .2s var(--brand-ease),background .2s var(--brand-ease),transform .2s var(--brand-ease),box-shadow .2s var(--brand-ease)}
.type-card:hover{border-color:var(--color-primary);background:rgba(158,205,74,.05);transform:translateY(-2px);box-shadow:0 1rem 2.5rem -1.25rem rgba(11,14,10,.18)}
.type-card[aria-pressed="true"],.type-card.is-selected{border-color:var(--color-primary-darker);background:rgba(158,205,74,.12);box-shadow:inset 0 0 0 1px var(--color-primary-darker)}
.type-card__top{display:flex;align-items:center;gap:.875rem}
.type-card__ic{display:grid;place-items:center;width:3rem;height:3rem;flex:none;border-radius:.875rem;background:rgba(158,205,74,.16);color:var(--color-primary-darker)}
.type-card__ic svg{width:1.5rem;height:1.5rem}
.type-card__t{font-family:var(--font-display);font-weight:700;font-size:clamp(1rem,1.5vw,1.1875rem);text-transform:uppercase;line-height:1.05;letter-spacing:-0.01em;margin:0}
.type-card p{margin:0;font-size:.9375rem;line-height:1.55;color:rgba(11,14,10,.7);text-wrap:pretty}
.type-card__mark{position:absolute;top:1.125rem;right:1.125rem;display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid rgba(11,14,10,.18);color:transparent;transition:all .2s var(--brand-ease)}
.type-card[aria-pressed="true"] .type-card__mark,.type-card.is-selected .type-card__mark{background:var(--color-primary-darker);border-color:var(--color-primary-darker);color:#fff}
.type-card__mark svg{width:.75rem;height:.75rem}

.result{display:grid;gap:clamp(1.5rem,4vw,2.5rem)}
@media(min-width:60rem){.result{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:3rem}}
.stars{display:flex;align-items:center;gap:.375rem;margin:1rem 0 .25rem}
.stars svg{width:clamp(1.75rem,4.5vw,2.75rem);height:clamp(1.75rem,4.5vw,2.75rem);color:rgba(11,14,10,.14)}
.stars svg.is-on{color:var(--color-primary-darker)}
.score{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}
.score__val{font-family:var(--font-display);font-weight:700;font-size:clamp(2.5rem,7vw,4rem);line-height:1;letter-spacing:-0.03em}
.score__of{font-size:1rem;color:rgba(11,14,10,.5)}
.score__label{display:inline-block;padding:.375rem .75rem;border-radius:999px;background:rgba(158,205,74,.16);color:var(--color-primary-darker);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.res-lists{display:grid;gap:1.5rem;margin-top:1.75rem}
@media(min-width:40rem){.res-lists{grid-template-columns:repeat(2,minmax(0,1fr))}}
.res-list h4{margin:0 0 .875rem;font-size:.6875rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary-darker)}
.res-list--gap h4{color:rgba(11,14,10,.55)}
.res-list ol{list-style:none;margin:0;padding:0;display:grid;gap:.625rem;counter-reset:r}
.res-list li{display:grid;grid-template-columns:1.25rem minmax(0,1fr) auto;align-items:center;gap:.75rem;font-size:.875rem}
.res-list li::before{counter-increment:r;content:counter(r);font-family:var(--font-display);font-weight:700;font-size:.75rem;color:rgba(11,14,10,.35)}
.res-list b{font-weight:600;min-width:0}
.res-list .pct{font-family:var(--font-display);font-weight:700;font-size:.9375rem;color:var(--color-primary-darker);letter-spacing:-0.01em}
.res-list--gap .pct{color:rgba(11,14,10,.55)}
.radar-card{padding:clamp(1.25rem,2.5vw,1.75rem);background:#fff;border:1px solid rgba(11,14,10,.1);border-radius:1.25rem}
.radar-card h4{margin:0 0 .25rem;font-family:var(--font-display);font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:-0.005em}
.radar-card__sub{margin:0 0 1rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(11,14,10,.45)}
.radar{width:100%;max-width:26rem;max-height:20rem;height:auto;margin:0 auto;display:block;overflow:hidden}
.radar text{font-family:var(--font-primary);font-size:9px;fill:rgba(11,14,10,.62)}
@media(min-width:48rem){.radar text{font-size:8.5px}}
.radar__legend{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(11,14,10,.08);font-size:.75rem;color:rgba(11,14,10,.6)}
.radar__legend span{display:inline-flex;align-items:center;gap:.5rem}
.radar__legend i{width:.75rem;height:.75rem;border-radius:.1875rem;flex:none}

.form-card{max-width:44rem;margin:0 auto;padding:clamp(1.5rem,3.5vw,2.5rem);background:#fff;border:1px solid rgba(11,14,10,.1);border-radius:1.5rem}
.form-grid{display:grid;gap:1.125rem;margin-top:1.75rem}
@media(min-width:40rem){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field--full{grid-column:1/-1}}
.field{display:grid;gap:.5rem;min-width:0;position:relative}
.field label,.field .label{font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:rgba(11,14,10,.8)}
.field .req{color:var(--color-primary-darker)}
.control{width:100%;padding:.875rem 1rem;background:#fff;border:1px solid rgba(11,14,10,.16);border-radius:.75rem;font-size:.9375rem;color:#0B0E0A;transition:border-color .18s var(--brand-ease),box-shadow .18s var(--brand-ease)}
.control::placeholder{color:rgba(11,14,10,.36)}
.control:hover{border-color:rgba(11,14,10,.28)}
.control:focus{outline:none;border-color:var(--color-primary-darker);box-shadow:0 0 0 3px rgba(158,205,74,.22)}
select.control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='m3 5 3 3 3-3' stroke='%230B0E0A' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;background-size:.75rem;padding-right:2.25rem}
.field__err{display:none;font-size:.75rem;color:#C0392B}
.field.has-error .control{border-color:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
.field.has-error .field__err{display:block}
.field__hint{font-size:.75rem;color:rgba(11,14,10,.45)}

.suggest{position:absolute;top:100%;left:0;right:0;z-index:20;margin-top:.375rem;background:#fff;border:1px solid rgba(11,14,10,.14);border-radius:.75rem;box-shadow:0 1.25rem 2.5rem -1rem rgba(11,14,10,.24);overflow:hidden;max-height:16rem;overflow-y:auto}
.suggest__item{display:grid;gap:.125rem;width:100%;padding:.75rem 1rem;text-align:left;font-size:.875rem;background:transparent;border-bottom:1px solid rgba(11,14,10,.06)}
.suggest__item:last-child{border-bottom:0}
.suggest__item:hover,.suggest__item.is-active{background:rgba(158,205,74,.1)}
.suggest__item b{font-weight:600}
.suggest__item span{font-size:.75rem;color:rgba(11,14,10,.5)}
.suggest__state{display:flex;align-items:center;gap:.625rem;padding:.875rem 1rem;font-size:.8125rem;color:rgba(11,14,10,.55)}
.suggest__state--loading::before{content:"";width:.875rem;height:.875rem;border:2px solid var(--color-primary-darker);border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;flex:none}

.check-grid{display:grid;gap:.5rem;margin-top:.25rem}
@media(min-width:34rem){.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.check{display:flex;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;border:1px solid rgba(11,14,10,.12);border-radius:.625rem;font-size:.875rem;line-height:1.35;cursor:pointer;transition:border-color .18s var(--brand-ease),background .18s var(--brand-ease)}
.check:hover{border-color:var(--color-primary);background:rgba(158,205,74,.05)}
.check input{appearance:none;width:1.125rem;height:1.125rem;flex:none;margin:.0625rem 0 0;border:1px solid rgba(11,14,10,.28);border-radius:.3125rem;background:#fff;transition:all .16s var(--brand-ease)}
.check input:checked{background:var(--color-primary-darker);border-color:var(--color-primary-darker);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='m2.5 6.2 2.2 2.3 4.8-4.8' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:.75rem}
.check:has(input:checked){border-color:var(--color-primary-darker);background:rgba(158,205,74,.1)}
.consents{display:grid;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(11,14,10,.08)}
.consent{display:flex;align-items:flex-start;gap:.75rem;font-size:.8125rem;line-height:1.5;color:rgba(11,14,10,.72);cursor:pointer}
.consent input{appearance:none;width:1.125rem;height:1.125rem;flex:none;margin:.0625rem 0 0;border:1px solid rgba(11,14,10,.28);border-radius:.3125rem;background:#fff;transition:all .16s var(--brand-ease)}
.consent input:checked{background:var(--color-primary-darker);border-color:var(--color-primary-darker);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='m2.5 6.2 2.2 2.3 4.8-4.8' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:.75rem}
.consent a{color:var(--color-primary-darker);text-decoration:underline;text-underline-offset:2px}
.consent.has-error{color:#C0392B}
.consent.has-error input{border-color:#C0392B}
.form-foot{margin-top:1.75rem;display:grid;gap:.875rem}
.form-error{display:none;gap:.75rem;padding:1rem 1.125rem;background:rgba(192,57,43,.07);border:1px solid rgba(192,57,43,.28);border-radius:.75rem;font-size:.875rem;line-height:1.5;color:#8E2B20}
.form-error.is-visible{display:grid}
.form-error b{display:block;margin-bottom:.25rem}
.form-error button{align-self:start;margin-top:.25rem;font-size:.8125rem;font-weight:600;color:#8E2B20;text-decoration:underline;text-underline-offset:2px}

.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(11,14,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .28s var(--brand-ease),visibility .28s var(--brand-ease)}
.modal.is-open{opacity:1;visibility:visible}
.modal__box{position:relative;width:100%;max-width:29rem;padding:clamp(1.75rem,4vw,2.5rem);background:var(--color-paper);color:#0B0E0A;border-radius:1.25rem;text-align:center;transform:translateY(12px) scale(.98);opacity:0;transition:transform .32s var(--brand-ease),opacity .32s var(--brand-ease)}
.modal.is-open .modal__box{transform:none;opacity:1}
.modal__ic{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto 1.25rem;border-radius:50%;background:rgba(158,205,74,.18);color:var(--color-primary-darker)}
.modal__ic svg{width:1.75rem;height:1.75rem}
.modal__box h3{margin:0 0 .75rem;font-family:var(--font-display);font-weight:700;font-size:clamp(1.25rem,2.6vw,1.625rem);text-transform:uppercase;letter-spacing:-0.01em}
.modal__box p{margin:0 0 1.5rem;font-size:.9375rem;line-height:1.55;color:rgba(11,14,10,.7);text-wrap:pretty}
.modal__box p b{color:#0B0E0A}
.modal__close{position:absolute;top:.875rem;right:.875rem;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;color:rgba(11,14,10,.5);transition:background .2s var(--brand-ease),color .2s var(--brand-ease)}
.modal__close:hover{background:rgba(11,14,10,.06);color:#0B0E0A}
.modal__close svg{width:1rem;height:1rem}
body.is-locked{overflow:hidden}

.notice{max-width:34rem;margin:0 auto;padding:clamp(1.75rem,4vw,2.5rem);background:#fff;border:1px solid rgba(11,14,10,.1);border-radius:1.25rem;text-align:center}
.notice__ic{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto 1.25rem;border-radius:50%;background:rgba(158,205,74,.16);color:var(--color-primary-darker)}
.notice__ic--warn{background:rgba(224,168,0,.14);color:#946A00}
.notice__ic--err{background:rgba(192,57,43,.1);color:#B03A2E}
.notice__ic svg{width:1.75rem;height:1.75rem}
.notice h2{margin:0 0 .75rem;font-family:var(--font-display);font-weight:700;font-size:clamp(1.25rem,2.8vw,1.75rem);text-transform:uppercase;letter-spacing:-0.01em}
.notice p{margin:0 0 1.5rem;font-size:.9375rem;line-height:1.55;color:rgba(11,14,10,.68);text-wrap:pretty}
.notice__acts{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
.notice__bar{margin:0 auto 1.5rem;max-width:18rem}

.showcase{background:var(--color-paper);color:#0B0E0A;min-height:100vh}
.sc-sec{padding:clamp(2rem,4vw,3rem) 0;border-bottom:1px solid rgba(11,14,10,.08)}
.sc-sec:last-child{border-bottom:0}
.sc-sec > .wrap > h2{margin:0 0 .375rem;font-family:var(--font-display);font-weight:700;font-size:1.375rem;text-transform:uppercase;letter-spacing:-0.01em}
.sc-sec > .wrap > p{margin:0 0 1.75rem;font-size:.875rem;color:rgba(11,14,10,.55)}
.sc-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start}
.sc-item{display:grid;gap:.625rem}
.sc-item > .tag{font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,14,10,.45)}
.sc-box{padding:1.25rem;background:#fff;border:1px solid rgba(11,14,10,.1);border-radius:1rem}
.sc-box--dark{background:#0B0E0A;color:#F2F1EC;border-color:rgba(255,255,255,.1)}
.sc-grid{display:grid;gap:1rem}
@media(min-width:40rem){.sc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:56rem){.sc-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sc-swatches{display:flex;flex-wrap:wrap;gap:.75rem}
.sw{display:grid;gap:.5rem;font-size:.6875rem;letter-spacing:.06em}
.sw i{display:block;width:5rem;height:3.5rem;border-radius:.625rem;border:1px solid rgba(11,14,10,.1)}
.sw code{font-size:.6875rem;color:rgba(11,14,10,.5)}

.btn,
.btn:hover, .btn:focus, .btn:active,
.btn--primary:hover, .btn--secondary:hover, .btn--subtle:hover, .btn--accent:hover,
.btn-back, .btn-back:hover, .btn-back:focus{
  font-family:var(--font-primary);
  text-transform:none;
  font-weight:600;
  letter-spacing:.04em;
}
.btn, .btn:hover, .btn:focus{ border-radius:999px; }

@media (max-width: 47.99rem){ .q__hint{ display:none; } }

.notice{ position:static; width:auto; pointer-events:auto; z-index:auto; }

.wrap{ max-width:90rem; padding:0 1.25rem; }
.site-head__in{ max-width:90rem; }
@media(min-width:48rem){
  .wrap{ padding:0 2rem; }
  .site-head__in{ padding:.75rem 2rem; }
}

.hero{ overflow:hidden; }

.hero__traces{ position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.55; color:var(--color-primary); }
.hero__traces svg{ position:absolute; }
.trace-anim path{ stroke-dasharray:var(--len,1000); stroke-dashoffset:var(--len,1000); transition:stroke-dashoffset 2s var(--brand-ease); }
.trace-anim.is-in path{ stroke-dashoffset:0; }

.hero__spot{
  position:absolute; width:37.5rem; height:37.5rem; border-radius:50%;
  background:radial-gradient(circle at center, rgba(158,205,74,.18), transparent 60%);
  transform:translate(-50%,-50%); pointer-events:none; z-index:1; opacity:0; transition:opacity .4s;
}
.hero:hover .hero__spot{ opacity:1; }

.hero__robot{
  position:absolute; right:-8%; top:52%; transform:translateY(-50%);
  width:46%; max-width:40rem; z-index:1; pointer-events:none;
  filter:drop-shadow(0 1.875rem 5rem rgba(158,205,74,.25));
}
.hero__robot img{ width:100%; transform:rotate(-12deg); animation:heroFloat 9s ease-in-out infinite; will-change:transform; }
.hero__robot::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(circle at 60% 50%, rgba(158,205,74,.18), transparent 55%);
}
@keyframes heroFloat{
  0%,100%{ transform:rotate(-12deg) translateY(0); }
  50%{ transform:rotate(-12deg) translateY(-1.25rem); }
}

.kin-line{ display:inline-block; overflow:hidden; vertical-align:top; }
.kin-line > span{ display:inline-block; transform:translateY(110%); transition:transform .9s var(--brand-ease); }
.kin-line.is-in > span{ transform:translateY(0); }

.reveal{ opacity:0; transform:translateY(1.5rem); transition:opacity .7s var(--brand-ease), transform .7s var(--brand-ease); }
.reveal.is-in{ opacity:1; transform:none; }

@media(max-width:62rem){
  .hero__robot{ width:56%; right:-16%; opacity:.7; }
}
@media(max-width:47.99rem){
  .hero__robot{ right:-34%; width:78%; opacity:.22; }
  .hero__traces{ opacity:.35; }
  .hero__spot{ display:none; }
}

@media(prefers-reduced-motion:reduce){
  .hero__robot img{ animation:none; }
  .trace-anim path{ transition:none; stroke-dashoffset:0; }
  .kin-line > span{ transform:none; transition:none; }
  .reveal{ opacity:1; transform:none; transition:none; }
}

.logo--img{ padding:.125rem 0; }
.logo--img img{ display:block; height:2.75rem; width:auto; }
@media(max-width:47.99rem){ .logo--img img{ height:2.125rem; } }

.hero__marquee{position:relative;z-index:2;margin-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--color-contrast-lower);border-bottom:1px solid var(--color-contrast-lower);padding:1.375rem 0;overflow:hidden;background:var(--color-bg-alt)}
.marquee__track{display:flex;white-space:nowrap;animation:marqueeScroll 30s linear infinite;font-family:var(--font-display);font-weight:700;font-size:clamp(1.25rem,2.5vw,3rem);text-transform:uppercase;letter-spacing:-.01em}
.marquee__track > span{display:inline-flex;align-items:center;gap:3.5rem;padding-right:3.5rem;flex-shrink:0}
.marquee__track em{font-style:normal}
.marquee__track .outline{-webkit-text-stroke:1.2px var(--color-primary);color:transparent}
.marquee__track .dot{width:.875rem;height:.875rem;border-radius:50%;background:var(--color-primary);box-shadow:0 0 1.125rem var(--color-primary-glow);display:inline-block;flex:none}
.hero__marquee:hover .marquee__track{animation-play-state:paused}
@keyframes marqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.cursor-dot{position:fixed;top:0;left:0;width:.75rem;height:.75rem;border-radius:50%;background:var(--color-primary);pointer-events:none;z-index:9999;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .25s var(--brand-ease),height .25s var(--brand-ease);display:none}
@media (hover:hover) and (pointer:fine){.cursor-dot{display:block}}
.cursor-dot.is-big{width:3.75rem;height:3.75rem}

@media(prefers-reduced-motion:reduce){
  .marquee__track{animation:none}
  .cursor-dot{display:none}
}

.btn-back{padding:1.0625rem 1.75rem 1.0625rem 1.5rem;font-size:1rem}
.btn-back svg{width:1.125rem;height:1.125rem}

.q__text{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.h-display,.stp__t,.dir__t,.band__t,.lab__h,.notice h2,.form-card h2{hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal}
@media(max-width:26rem){.q__text,.flow .h1,.flow .h2{font-size:clamp(1.1875rem,5.4vw,1.625rem)}}

:root,[data-theme],[data-theme="default"],[data-theme="dark"]{--color-ink:hsl(80, 5%, 5%);--color-ink-alt:hsl(200, 14%, 9%);--color-primary-text:hsl(83, 72%, 27%)}

.flow__in{max-width:52rem}
@media(min-width:48rem){.flow__in{padding:0 2rem}}
@media(min-width:64rem){
  .q{gap:clamp(1rem,2vw,1.5rem)}
  .q__opts{gap:.625rem}
  .opt__btn{padding:1rem 1.25rem}
  .flow__body{padding-block:clamp(1.25rem,2.5vw,2rem)}
}

@media(min-width:48rem) and (max-height:56rem){
  .flow__body{padding-block:1.25rem}
  .q{gap:.875rem}
  .q__text,.flow .h1,.flow .h2{font-size:clamp(1.125rem,1.9vw,1.625rem);line-height:1.1}
  .q__opts{gap:.5rem}
  .opt__btn{padding:.8125rem 1.125rem}
  .opt__key{width:1.75rem;height:1.75rem;font-size:.75rem}
  .progress{margin-bottom:.75rem}
  .q__foot{margin-top:.5rem}
  .btn-back{padding:.8125rem 1.375rem .8125rem 1.125rem;font-size:.9375rem}
}

@media(min-width:48rem) and (max-height:44rem){
  .flow__body{padding-block:.875rem}
  .q{gap:.625rem}
  .q__text,.flow .h1,.flow .h2{font-size:clamp(1.0625rem,1.7vw,1.375rem)}
  .q__opts{gap:.375rem}
  .opt__btn{padding:.6875rem 1rem;font-size:.9375rem}
  .opt__key{width:1.5rem;height:1.5rem}
  .progress{margin-bottom:.5rem}
  .site-head__in{min-height:3.25rem}
  .btn-back{padding:.6875rem 1.25rem .6875rem 1rem;font-size:.875rem}
}

.opt__btn.is-cursor{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(158,205,74,.25)}

.flow .section__head{max-width:none}
.flow .section__head .lead{max-width:64ch}

.q__text{margin-block:.5rem .75rem}
@media(min-width:48rem) and (max-height:56rem){
  .q{gap:1.125rem}
  .q__text{margin-block:.375rem .5rem}
  .opt__btn{padding:.75rem 1.125rem}
}
@media(min-width:48rem) and (max-height:44rem){
  .q{gap:.875rem}
  .q__text{margin-block:.25rem .375rem}
  .opt__btn{padding:.625rem 1rem}
}

[data-question-container] .notice{margin-top:clamp(2.5rem,7vw,5rem)}
@media(min-width:48rem) and (max-height:44rem){[data-question-container] .notice{margin-top:2rem}}

.flow__in:has(.result),.flow__in:has(.form-card){max-width:72rem}
.flow .h1,.flow .h2{font-size:clamp(1.375rem,3.2vw,2.125rem);line-height:1.12;letter-spacing:-0.015em}

@media(min-width:48rem) and (max-height:56rem){
  .type-card{padding:1.25rem}
  .type-card p{font-size:.9375rem;line-height:1.5}
  .flow .section__head{margin-bottom:1.25rem}
}

@media(min-width:48rem) and (max-height:56rem){.flow .h1,.flow .h2{font-size:clamp(1.125rem,1.9vw,1.625rem);line-height:1.1}}
@media(min-width:48rem) and (max-height:44rem){.flow .h1,.flow .h2{font-size:clamp(1.0625rem,1.7vw,1.375rem)}}
@media(max-width:26rem){.flow .h1,.flow .h2{font-size:clamp(1.1875rem,5.4vw,1.625rem)}}

[data-result] .progress{margin-bottom:clamp(2rem,5vw,3.5rem)}

.modal.is-open{pointer-events:auto}
.flow__in > .notice{margin-top:clamp(2.5rem,7vw,5rem)}

.flow--dark{background:var(--color-bg);color:var(--color-contrast-high)}
.flow--dark .progress__step{color:var(--color-contrast-high)}
.flow--dark .progress__bar{background:rgba(255,255,255,.1)}
.flow--dark .stars svg{color:rgba(255,255,255,.16)}
.flow--dark .score__of{color:rgba(255,255,255,.55)}
.flow--dark .res-list h4{color:var(--color-contrast-medium)}
.flow--dark .res-list--gap h4,.flow--dark .res-list--gap .pct{color:rgba(255,255,255,.6)}
.flow--dark .res-list li::before{color:rgba(255,255,255,.4)}
.flow--dark .res-list li{border-color:rgba(255,255,255,.1)}
.flow--dark .notice{background:var(--color-bg-alt);border-color:rgba(255,255,255,.1);color:var(--color-contrast-high)}
.flow--dark .notice p{color:var(--color-contrast-medium)}
.flow--dark .lv-note,.flow--dark .field__hint{color:rgba(255,255,255,.5)}
.flow--dark .eyebrow{color:var(--color-primary)}

.flow--dark .radar-card,.flow--dark .form-card{background:var(--color-bg-alt);border-color:rgba(255,255,255,.1)}
.flow--dark .radar-card__sub{color:rgba(255,255,255,.5)}
.flow--dark .radar text{fill:rgba(255,255,255,.62)}
.flow--dark .radar polygon[fill="none"],.flow--dark .radar line{stroke:rgba(255,255,255,.14)}
.flow--dark .radar__legend{border-top-color:rgba(255,255,255,.1);color:rgba(255,255,255,.6)}
.flow--dark .field label,.flow--dark .field .label{color:rgba(255,255,255,.85)}
.flow--dark .control{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.16);color:var(--color-contrast-high)}
.flow--dark .control::placeholder{color:rgba(255,255,255,.36)}
.flow--dark .control:hover{border-color:rgba(255,255,255,.3)}
.flow--dark .check,.flow--dark .consent{border-color:rgba(255,255,255,.14);color:var(--color-contrast-high)}
.flow--dark .check:hover{border-color:var(--color-primary);background:rgba(158,205,74,.08)}
.flow--dark .suggest{background:var(--color-bg-alt);border-color:rgba(255,255,255,.12);color:var(--color-contrast-high)}
.flow--dark .suggest__item:hover,.flow--dark .suggest__item.is-active{background:rgba(158,205,74,.12)}
.flow--dark .form-card .lead{color:var(--color-contrast-medium)!important}
.flow--dark .form-error{background:rgba(214,69,69,.12);border-color:rgba(214,69,69,.4);color:var(--color-contrast-high)}
.flow--dark .stars svg.is-on{color:var(--color-primary)}
.flow--dark .suggest__item{border-bottom-color:rgba(255,255,255,.08)}
.flow--dark .suggest__item span{color:rgba(255,255,255,.55)}
.flow--dark .suggest__state{color:rgba(255,255,255,.55)}

.flow__in--sent{margin-top:clamp(2rem,4vw,3rem);margin-bottom:clamp(2rem,4vw,3rem)}
.flow__in--sent > .notice{margin-top:0}

.reveal-fx{opacity:1;transform:none}

[data-page="page-classical"] main > section{padding-block:clamp(2.5rem,6vw,4.5rem)}
[data-page="page-classical"] .text-component h1{margin-bottom:.5em}

.notice__ic{position:relative;isolation:isolate}
.notice__ic::after{content:"";position:absolute;inset:-.35rem;border-radius:50%;border:1px solid currentColor;opacity:.45;animation:noticePulse 2.4s var(--brand-ease) infinite}
.notice__ic svg{animation:noticeFloat 3.6s ease-in-out infinite}
@keyframes noticePulse{0%{transform:scale(.9);opacity:.5}70%{transform:scale(1.35);opacity:0}100%{transform:scale(1.35);opacity:0}}
@keyframes noticeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-.1875rem)}}
@media(prefers-reduced-motion:reduce){.notice__ic::after,.notice__ic svg{animation:none}}

.notice--soft{position:relative;overflow:hidden}
.notice--soft::before{content:"";position:absolute;inset:auto auto -40% -20%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(158,205,74,.16),transparent 65%);pointer-events:none}
.notice--soft > *{position:relative;z-index:1}
.notice__ic--ok{background:rgba(158,205,74,.14);color:var(--color-primary-darker)}
.flow--dark .notice__ic--ok{color:var(--color-primary)}
.notice__chip{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.5rem;padding:.5rem .875rem;border-radius:999px;border:1px solid var(--color-contrast-low);font-size:.8125rem;letter-spacing:.02em;color:var(--color-contrast-medium)}
.notice__chip svg{width:1rem;height:1rem;color:var(--color-primary)}

.err{position:relative;display:flex;align-items:center;min-height:calc(100svh - 5.5rem);padding:clamp(3rem,8vw,6rem) 0;background:var(--color-bg);isolation:isolate;overflow:hidden}
.err__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.err__bg::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.032) 1px,transparent 1px);background-size:4.5rem 4.5rem;mask-image:radial-gradient(ellipse 70% 70% at 50% 45%,#000 20%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 45%,#000 20%,transparent 85%)}
.err__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 45% 50% at 50% 38%,rgba(158,205,74,.12),transparent 62%),radial-gradient(ellipse 40% 40% at 88% 82%,rgba(158,205,74,.05),transparent 60%)}
.err__star{position:absolute;z-index:1;color:var(--color-primary);opacity:.16;animation:drift 11s ease-in-out infinite;pointer-events:none}
.err__star svg{width:100%;height:100%}
.err__star--a{width:5rem;height:5rem;left:5%;top:16%}
.err__star--b{width:3.5rem;height:3.5rem;right:7%;bottom:18%;animation-delay:-5s;opacity:.12}
.err__in{position:relative;z-index:2;display:grid;justify-items:center;text-align:center;gap:0}
.err .eyebrow{margin-bottom:1.5rem}
.err__code{display:flex;align-items:center;justify-content:center;gap:clamp(.25rem,1.4vw,1rem);margin:0;font-family:var(--font-display);font-weight:700;line-height:.86;letter-spacing:-0.04em;font-size:clamp(5rem,17vw,11.25rem);color:var(--color-contrast-higher)}
.err__scope{position:relative;display:block;width:clamp(4.25rem,14.4vw,9.625rem);aspect-ratio:1;flex:none;color:var(--color-primary);isolation:isolate}
.err__scope > svg{position:absolute;inset:0;width:100%;height:100%}
.err__scope::after{content:"";position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,rgba(158,205,74,.14),transparent 68%)}
.err__sweep{position:absolute;inset:2.5%;border-radius:50%;background:conic-gradient(from 0deg,rgba(158,205,74,.42),rgba(158,205,74,.06) 38%,transparent 52%);mask-image:radial-gradient(circle,#000 62%,transparent 63%);-webkit-mask-image:radial-gradient(circle,#000 62%,transparent 63%);animation:errSweep 3.6s linear infinite}
.err__blip{position:absolute;left:70%;top:33%;width:.5rem;height:.5rem;border-radius:50%;background:var(--color-primary);box-shadow:0 0 .75rem var(--color-primary-glow);animation:errBlip 3.6s var(--brand-ease) infinite}
.err__h{margin:clamp(1.5rem,3vw,2.25rem) 0 0;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-0.02em;line-height:1.06;font-size:clamp(1.5rem,3.4vw,2.5rem)}
.err__sub{max-width:46ch;margin:1rem 0 0;color:var(--color-contrast-medium)}
.err__path{display:inline-flex;align-items:center;gap:.625rem;flex-wrap:wrap;justify-content:center;margin:1.5rem 0 0;padding:.5rem .875rem;border:1px solid var(--color-contrast-low);border-radius:999px;font-size:.8125rem}
.err__path > span{letter-spacing:.14em;text-transform:uppercase;font-size:.6875rem;color:var(--color-contrast-medium)}
.err__path code{font-family:var(--font-primary);color:var(--color-primary);word-break:break-all}
.err__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.875rem;margin-top:clamp(1.75rem,3.5vw,2.5rem)}
@keyframes errSweep{to{transform:rotate(360deg)}}
@keyframes errBlip{0%,58%{opacity:0;transform:scale(.6)}64%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.5)}}
@media(prefers-reduced-motion:reduce){.err__star,.err__sweep,.err__blip{animation:none}.err__blip{opacity:.9}}
@media(max-width:40rem){.err__star--a{top:8%;left:-2%}.err__star--b{right:-3%;bottom:10%}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-1.1rem) rotate(24deg)}}

.burger{display:none;position:relative;width:2.75rem;height:2.75rem;flex:none;margin-left:.25rem;border-radius:.875rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:inherit;cursor:pointer}
.burger span{position:absolute;left:50%;width:1.125rem;height:2px;border-radius:2px;background:currentColor;transform:translateX(-50%);transition:transform .32s var(--brand-ease),opacity .2s var(--brand-ease),width .32s var(--brand-ease)}
.burger span:nth-child(1){top:1.125rem}
.burger span:nth-child(2){top:1.5rem;width:.75rem}
.burger[aria-expanded="true"] span:nth-child(1){top:1.3125rem;transform:translateX(-50%) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){top:1.3125rem;width:1.125rem;transform:translateX(-50%) rotate(-45deg)}
.mnav{position:absolute;left:0;right:0;top:100%;z-index:59;padding:.75rem 1.25rem 1.5rem;background:#0B0E0A;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 1.5rem 3rem -1.5rem rgba(0,0,0,.7);color:#F2F1EC;opacity:0;transform:translateY(-.75rem);pointer-events:none;transition:opacity .28s var(--brand-ease),transform .32s var(--brand-ease)}
.mnav[hidden]{display:none}
.mnav.is-open{opacity:1;transform:none;pointer-events:auto}
.mnav__veil{position:absolute;left:0;right:0;top:100%;height:100vh;background:rgba(11,14,10,.6);opacity:0;transition:opacity .3s var(--brand-ease);pointer-events:none}
.mnav.is-open .mnav__veil{opacity:1}
.mnav__list{position:relative;display:grid}
.mnav__list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9375rem .25rem;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.02em;text-transform:uppercase;color:#F2F1EC;border-bottom:1px solid rgba(255,255,255,.08);opacity:0;transform:translateY(.5rem);transition:opacity .3s var(--brand-ease),transform .3s var(--brand-ease),color .2s var(--brand-ease)}
.mnav.is-open .mnav__list a{opacity:1;transform:none;transition-delay:calc(var(--i,0) * 45ms + 60ms)}
.mnav__list a:hover,.mnav__list a:active{color:var(--color-primary)}
.mnav__list a svg{width:1rem;height:1rem;flex:none;opacity:.5}
.mnav__cta{position:relative;margin-top:1.25rem;opacity:0;transform:translateY(.5rem);transition:opacity .3s var(--brand-ease),transform .3s var(--brand-ease)}
.mnav.is-open .mnav__cta{opacity:1;transform:none;transition-delay:calc(var(--i,0) * 45ms + 60ms)}
body.menu-open{overflow:hidden}
@media(max-width:47.99rem){
  .site-head__in{flex-wrap:nowrap;min-height:3.5rem}
  .site-head .site-nav{display:none}
  .site-head__cta{display:none}
  .burger{display:block;margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.burger span,.mnav,.mnav__list a,.mnav__cta{transition:none}}

.sel{position:relative}
.sel__native{position:absolute;width:1px;height:1px;padding:0;margin:0;border:0;opacity:0;pointer-events:none}
.sel__btn{display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-align:left;cursor:pointer}
.sel__val{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sel__val.is-empty{color:rgba(11,14,10,.36)}
.sel__arrow{width:.875rem;height:.875rem;flex:none;color:rgba(11,14,10,.45);transition:transform .22s var(--brand-ease)}
.sel.is-open .sel__arrow{transform:rotate(180deg)}
.sel.is-open .sel__btn{border-color:var(--color-primary-darker);box-shadow:0 0 0 3px rgba(158,205,74,.22)}
.sel__list{position:absolute;top:100%;left:0;right:0;z-index:22;margin-top:.375rem;padding:.25rem;background:#fff;border:1px solid rgba(11,14,10,.14);border-radius:.75rem;box-shadow:0 1.25rem 2.5rem -1rem rgba(11,14,10,.24);max-height:15rem;overflow-y:auto}
.sel__list[hidden]{display:none}
.sel__opt{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.6875rem .75rem;border-radius:.5rem;text-align:left;font-size:.9375rem;color:#0B0E0A;background:transparent;cursor:pointer}
.sel__opt.is-cursor{background:rgba(158,205,74,.14)}
.sel__opt[aria-selected="true"]{color:var(--color-primary-darker);font-weight:600}
.sel__opt[aria-selected="true"]::after{content:"";width:.5rem;height:.5rem;flex:none;border-radius:50%;background:var(--color-primary-darker)}
.field.has-error .sel__btn{border-color:var(--color-error)}
.flow--dark .sel__val.is-empty{color:rgba(255,255,255,.36)}
.flow--dark .sel__arrow{color:rgba(255,255,255,.45)}
.flow--dark .sel__list{background:var(--color-bg-alt);border-color:rgba(255,255,255,.12);box-shadow:0 1.25rem 2.5rem -1rem rgba(0,0,0,.55)}
.flow--dark .sel__opt{color:var(--color-contrast-high)}
.flow--dark .sel__opt.is-cursor{background:rgba(158,205,74,.14)}
.flow--dark .sel__opt[aria-selected="true"]{color:var(--color-primary)}
.flow--dark .sel__opt[aria-selected="true"]::after{background:var(--color-primary)}
.field-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[data-theme="dark"] .modal__box{background:var(--color-bg-alt);color:var(--color-contrast-high);border:1px solid rgba(255,255,255,.1);box-shadow:0 2rem 4rem -1.5rem rgba(0,0,0,.65)}
[data-theme="dark"] .modal__box h3{color:#F2F1EC}
[data-theme="dark"] .modal__box p{color:rgba(255,255,255,.64)}
[data-theme="dark"] .modal__box p b{color:#F2F1EC}
[data-theme="dark"] .modal__ic{background:rgba(158,205,74,.14);color:var(--color-primary)}
[data-theme="dark"] .modal__close{color:rgba(255,255,255,.5)}
[data-theme="dark"] .modal__close:hover{background:rgba(255,255,255,.08);color:#F2F1EC}
