/* D) Kvalifikációs kvíz — Prezi-stílusú építészeti alaprajz-utazás.
   "Midnight architectural": mélykék vászon, arany linework, üveg kérdéskártyák. */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#091523; --navy-2:#0D1E32; --gold:#7FBBD8; --gold-soft:#BCE2F2;
  --ink:#E7F1F8; --ink-soft:#86A0B4; --line:rgba(127,187,216,.30);
  --font-display:"Space Grotesk",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
  --font-mono:"Space Mono","SFMono-Regular",monospace;
}
html,body{height:100%;background:var(--navy);font-family:var(--font-body);color:var(--ink);
  -webkit-font-smoothing:antialiased;overflow:hidden}

/* VIEWPORT + WORLD (kamera) */
.d-viewport{position:fixed;inset:0;overflow:hidden;
  background:
    radial-gradient(1200px 800px at 70% -10%, rgba(127,187,216,.10), transparent 60%),
    radial-gradient(900px 700px at 0% 110%, rgba(40,80,140,.18), transparent 60%),
    var(--navy);
}
.d-world{position:absolute;top:0;left:0;width:1600px;height:1040px;
  transform-origin:0 0;will-change:transform;
  transition:transform 1.15s cubic-bezier(.66,0,.18,1)}
.d-plan{position:absolute;inset:0;width:1600px;height:1040px}
.d-plan [data-room]{transition:opacity .7s ease,filter .7s ease}
.d-plan.dim [data-room]{opacity:.5}
.d-plan.dim [data-room].lit{opacity:1;filter:drop-shadow(0 0 18px rgba(127,187,216,.45))}

/* film grain */
.d-viewport::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:6;opacity:.05;
  mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* KÉRDÉSKÁRTYA — FIX overlay (mindig éles), a kamera a háttérben repül */
.d-qcard{position:fixed;z-index:4;left:50%;top:53%;transform:translate(-50%,-50%) translateY(14px);
  width:min(92vw,460px);opacity:0;pointer-events:none;
  transition:opacity .55s ease,transform .55s cubic-bezier(.22,.61,.36,1)}
.d-qcard.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.d-panel{background:linear-gradient(180deg,rgba(16,27,44,.86),rgba(10,18,31,.92));
  border:1px solid var(--line);border-radius:18px;padding:28px 28px 24px;
  box-shadow:0 40px 100px -30px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(10px) saturate(1.1)}
.d-room{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700}
.d-room::before{content:"⌖ "}
.d-q{font-family:var(--font-display);font-weight:540;font-size:23px;line-height:1.18;
  letter-spacing:-.01em;margin:10px 0 4px}
.d-help{font-size:13px;color:var(--ink-soft);margin-bottom:14px}
.d-opts{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.d-opt{display:flex;gap:11px;align-items:center;text-align:left;width:100%;
  background:rgba(255,255,255,.018);border:1px solid rgba(127,187,216,.20);border-radius:11px;
  padding:12px 14px;color:var(--ink);font-family:inherit;font-size:14px;cursor:pointer;
  transition:border-color .2s,background .2s,transform .2s}
.d-opt:hover{border-color:var(--gold);background:rgba(127,187,216,.07);transform:translateX(3px)}
.d-opt.is-chosen{border-color:var(--gold);background:rgba(127,187,216,.12)}
.d-dot{flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(127,187,216,.4);position:relative}
.d-opt.is-chosen .d-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gold)}
.d-card-field input{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--line);
  border-radius:11px;padding:13px 15px;color:var(--ink);font-family:inherit;font-size:15px;margin-bottom:12px}
.d-card-field input:focus{outline:none;border-color:var(--gold)}
.d-mini{margin-top:14px;background:none;border:none;color:var(--ink-soft);font-family:inherit;
  font-size:12.5px;cursor:pointer}
.d-mini:hover{color:var(--ink)}
.d-cta{display:inline-flex;align-items:center;gap:8px;margin-top:6px;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:#10182a;border:none;
  border-radius:99px;padding:12px 22px;font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;
  transition:transform .2s,box-shadow .2s}
.d-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(127,187,216,.8)}

/* FIXED overlays: intro / lead / thanks */
.d-overlay{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;
  padding:clamp(20px,5vw,48px);opacity:0;pointer-events:none;transition:opacity .8s ease;
  background:radial-gradient(120% 95% at 50% 46%, rgba(9,15,26,.88), rgba(9,15,26,.55) 70%, rgba(9,15,26,.35))}
.d-overlay.show{opacity:1;pointer-events:auto}
.d-over-inner{width:100%;max-width:600px;text-align:center}
.d-eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:20px}
.d-title{font-family:var(--font-display);font-weight:600;line-height:1.04;
  font-size:clamp(30px,5.4vw,52px);letter-spacing:-.025em;margin-bottom:18px}
.d-sub{font-size:clamp(15px,2vw,18px);color:var(--ink-soft);max-width:52ch;margin:0 auto 30px}
.d-form{display:flex;flex-direction:column;gap:11px;max-width:420px;margin:6px auto 0;text-align:left}
.d-form input{width:100%;background:rgba(14,23,38,.72);border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;color:var(--ink);font-family:inherit;font-size:15px;backdrop-filter:blur(4px)}
.d-form input::placeholder{color:rgba(143,161,182,.8)}
.d-form input:focus{outline:none;border-color:var(--gold)}
.d-consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--ink-soft);text-align:left;width:100%}
.d-consent span{flex:1}
.d-consent input{accent-color:var(--gold);margin-top:2px;flex:none;width:16px;height:16px}
.d-steps{list-style:none;display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:8px 0 26px;
  font-size:13px;color:var(--ink-soft)}
.d-steps b{color:var(--gold);font-weight:600;margin-right:6px}
.d-over-inner .d-cta{margin:24px auto 0}
.d-check{width:60px;height:60px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;
  font-size:26px;color:#10182a;background:linear-gradient(180deg,var(--gold-soft),var(--gold));
  box-shadow:0 20px 60px -22px rgba(127,187,216,.9)}

/* HUD */
.d-hud{position:fixed;top:0;left:0;right:0;z-index:7;display:flex;align-items:center;gap:20px;
  padding:20px clamp(20px,5vw,44px)}
.d-brand{font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--ink);text-decoration:none}
.d-brand span{color:var(--gold)}
.d-prog{flex:1;height:2px;background:rgba(127,187,216,.18);border-radius:99px;overflow:hidden}
.d-prog-bar{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-soft));transition:width .9s ease}
.d-count{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);min-width:92px;text-align:right}

@media (max-width:600px){
  .d-card{width:min(86vw,400px)}
  .d-q{font-size:20px}.d-count{display:none}
}
@media (prefers-reduced-motion:reduce){
  .d-world{transition:transform .2s linear}
}

/* ─── D) SIGNATURE EFFEKT: blueprint „plotter" kártya-kirajzolódás ─── */
.d-panel{position:relative;overflow:hidden}
.d-qcard{transition:opacity .5s ease,transform .55s cubic-bezier(.22,.61,.36,1),clip-path .62s cubic-bezier(.7,0,.2,1)}
.d-qcard:not(.show){clip-path:inset(0 0 100% 0)}
.d-qcard.show{clip-path:inset(0 0 0 0)}
/* plotter-pásztázás: cián vonal fut végig a kártyán belépéskor */
.d-qcard.show .d-panel::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  box-shadow:0 0 14px var(--gold);animation:dScan .9s ease-out 1}
@keyframes dScan{0%{top:0;opacity:.95}88%{opacity:.85}100%{top:100%;opacity:0}}
/* opciók műszeresen, lépcsőzve jelennek meg */
.d-qcard.show .d-opt{animation:dOptIn .5s cubic-bezier(.22,.61,.36,1) both}
.d-qcard.show .d-opts .d-opt:nth-child(1){animation-delay:.2s}
.d-qcard.show .d-opts .d-opt:nth-child(2){animation-delay:.28s}
.d-qcard.show .d-opts .d-opt:nth-child(3){animation-delay:.36s}
.d-qcard.show .d-opts .d-opt:nth-child(4){animation-delay:.44s}
.d-qcard.show .d-opts .d-opt:nth-child(5){animation-delay:.52s}
@keyframes dOptIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
/* választáskor: cián ping a pontból */
.d-opt.is-chosen .d-dot{animation:dPing .55s ease}
@keyframes dPing{0%{box-shadow:0 0 0 0 rgba(127,187,216,.55)}100%{box-shadow:0 0 0 13px transparent}}
