/* Gezat Connect: the same palette, type and shapes as /team (team/index.html). */
@font-face{font-family:"Sohne";src:url("/assets/fonts/Sohne-Buch.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"Sohne";src:url("/assets/fonts/Sohne-Kraftig.otf") format("opentype");font-weight:500;font-display:swap}
@font-face{font-family:"Sohne";src:url("/assets/fonts/Sohne-Halbfett.otf") format("opentype");font-weight:600;font-display:swap}
@font-face{font-family:"Tiempos";src:url("/assets/fonts/TiemposFine-LightItalic.otf") format("opentype");font-weight:300;font-style:italic;font-display:swap}
:root{
  --orange:#F2541B; --orange2:#FF7A45; --orangeSoft:#FDE9DF; --lime:#C8F23C; --limeSoft:#F1FBD6;
  --yellow:#F6C445; --yellowSoft:#FDF3D3; --green:#22A35A; --greenSoft:#E4F5EA; --danger:#E5372B; --dangerSoft:#FDE8E6;
  --black:#141414; --black2:#262626;
  --page:#F0F0EE; --card:#FFFFFF; --soft:#F5F5F3; --soft2:#ECECE9; --line:#EAEAE7; --line2:#D9D9D5;
  --ink:#141414; --ink2:#5E5E5A; --mute:#8F8F8A;
  --r:16px; --r2:24px; --shadow:0 1px 2px rgba(20,20,20,.03),0 8px 24px rgba(20,20,20,.04);
  --font:"Sohne",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --serif:"Tiempos",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{min-height:100%}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.02em}
p{margin:0}
[hidden]{display:none !important}
::selection{background:var(--orangeSoft)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

button,.btn{font:inherit;font-weight:500;font-size:15px;color:var(--ink);background:var(--soft);border:1px solid transparent;border-radius:999px;
  padding:11px 22px;min-height:46px;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s,transform .1s;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px}
button:hover{background:var(--soft2)}
button:active{transform:scale(.98)}
button.primary{background:var(--ink);color:#fff}
button.primary:hover{background:#000}
button.accent{background:var(--orange);color:#fff}
button.accent:hover{filter:brightness(1.05)}
button.ghost{background:transparent;border-color:var(--line2)}
button.ghost:hover{background:var(--card)}
button:disabled{opacity:.45;cursor:not-allowed}
.glyph{display:inline-block;width:1.05em;height:1.05em;flex:none;line-height:0}
.glyph svg{display:block;width:100%;height:100%}

input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line2);
  border-radius:14px;padding:11px 14px;min-height:48px;outline:none;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(20,20,20,.07)}
textarea{min-height:96px;resize:vertical;line-height:1.55}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 3px var(--dangerSoft)}

/* ---------- shell ---------- */
.shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;max-width:1240px;margin:0 auto;padding:0 28px}
header.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0 10px}
.brand{display:flex;align-items:center;gap:11px;font-weight:600;font-size:16px}
.brand .mark{width:40px;height:40px;border-radius:12px;background:#F10103;display:grid;place-items:center;flex:none}
.brand .mark img{width:20px;height:24px;object-fit:contain}
.brand small{display:block;font-weight:400;font-size:12px;color:var(--mute);letter-spacing:.02em}
.topright{display:flex;align-items:center;gap:10px}
.health{white-space:nowrap;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink2);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 11px}
.health i{width:8px;height:8px;border-radius:50%;background:var(--green)}
.health.bad i{background:var(--danger)}
main{flex:1;outline:none;padding:12px 0 24px}
footer.foot{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center;padding:18px 0 24px;font-size:13px;color:var(--mute)}
footer.foot a:hover{color:var(--ink)}

/* ---------- welcome ---------- */
.hero{padding:clamp(12px,4vh,48px) 0 clamp(18px,3.5vh,36px);max-width:900px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);font-weight:500}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange)}
.hero h1{font-size:clamp(36px,5.4vw,68px);line-height:1.02;letter-spacing:-.045em;margin-top:16px}
.hero h1 em{font-family:var(--serif);font-style:italic;font-weight:300;letter-spacing:-.02em}
.hero p{font-size:clamp(16px,1.5vw,19px);color:var(--ink2);margin-top:16px;max-width:600px}

.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.path{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:28px;text-align:left;white-space:normal;align-items:stretch;
  min-height:clamp(220px,34vh,300px);padding:24px;border-radius:28px;background:#fff;border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow);
  transition:transform .2s cubic-bezier(.3,.7,.2,1),box-shadow .2s}
.path:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,20,20,.1);background:#fff}
.path .ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--soft)}
.path .ico svg{width:26px;height:26px}
.path .go{position:absolute;top:22px;right:22px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;transition:background .15s,transform .15s}
.path .go svg{width:16px;height:16px}
.path:hover .go{transform:translate(2px,-2px)}
.path h2{font-size:clamp(21px,2vw,26px);letter-spacing:-.03em;line-height:1.12}
.path p{font-size:15px;margin-top:8px;color:var(--ink2);line-height:1.45}
.path .num{font-size:12.5px;letter-spacing:.12em;color:var(--mute);margin-bottom:10px;display:block}
.path.p1{background:linear-gradient(150deg,var(--orange2),var(--orange) 70%);border-color:transparent;color:#fff}
.path.p1 p,.path.p1 .num{color:rgba(255,255,255,.86)}
.path.p1 .ico{background:rgba(255,255,255,.18)}
.path.p1 .go{border-color:rgba(255,255,255,.4)}
.path.p1:hover{background:linear-gradient(150deg,var(--orange2),var(--orange) 70%)}
.path.p2{background:radial-gradient(120% 90% at 100% 100%,rgba(200,242,60,.16),transparent 60%),linear-gradient(160deg,var(--black2),var(--black));border-color:transparent;color:#fff}
.path.p2 p,.path.p2 .num{color:rgba(255,255,255,.7)}
.path.p2 .ico{background:rgba(255,255,255,.1);color:var(--lime)}
.path.p2 .go{border-color:rgba(255,255,255,.3)}
.path.p2 h2{color:#fff}
.path.p2:hover{background:radial-gradient(120% 90% at 100% 100%,rgba(200,242,60,.2),transparent 60%),linear-gradient(160deg,var(--black2),var(--black))}

/* ---------- step screens ---------- */
.stepbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:clamp(4px,2vh,20px) 0 18px}
.count{font-size:13px;letter-spacing:.12em;color:var(--ink2);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:12px}
.count b{color:var(--ink);font-weight:600}
.dots{display:flex;gap:5px}
.dots i{width:22px;height:5px;border-radius:9px;background:var(--line2)}
.dots i.on{background:var(--ink)}
.qhead{max-width:860px;margin-bottom:22px}
.qhead .kick{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);font-weight:500}
.qhead h1{font-size:clamp(28px,3.6vw,46px);line-height:1.06;letter-spacing:-.04em;margin-top:8px}
.qhead p{color:var(--ink2);margin-top:10px;font-size:16px;max-width:680px}

fieldset{border:0;margin:0;padding:0;min-width:0}
legend{padding:0}
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.opt{position:relative;display:flex;align-items:flex-start;gap:14px;min-height:108px;padding:18px;border-radius:22px;background:#fff;border:1.5px solid var(--line);cursor:pointer;
  transition:border-color .15s,transform .15s,box-shadow .15s,background .15s;font-size:16px;line-height:1.35}
.opt:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,20,20,.06)}
.opt input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;pointer-events:none}
.opt .n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--ink2);transition:background .15s,color .15s}
.opt:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:3px}
.opt:has(input:checked){background:var(--black);border-color:var(--black);color:#fff;box-shadow:0 12px 28px rgba(20,20,20,.18)}
.opt:has(input:checked) .n{background:var(--lime);color:var(--black)}
.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;flex-wrap:wrap}
.actions .r{display:flex;gap:10px;margin-left:auto;align-items:center}
.hint{font-size:13px;color:var(--mute)}

/* ---------- forms ---------- */
.formwrap{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:860px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:24px;box-shadow:var(--shadow);min-width:0}
.card h3{font-size:18px;letter-spacing:-.02em}
.card .sub{color:var(--ink2);font-size:14px;margin-top:3px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid2.agerow{grid-template-columns:minmax(0,1fr) 110px}
.field{display:grid;gap:6px;min-width:0}
.field>label,.field>legend,.lb{font-size:14px;font-weight:500;color:var(--ink)}
.req{color:var(--orange);margin-left:3px}
.opt-tag{font-weight:400;color:var(--mute);margin-left:6px;font-size:13px}
.help{font-size:13px;color:var(--mute)}
.err{font-size:13px;color:var(--danger)}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.pill{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border-radius:999px;background:#fff;border:1.5px solid var(--line2);cursor:pointer;font-size:15px;transition:background .15s,border-color .15s,color .15s}
.pill:hover{border-color:var(--ink)}
.pill input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;pointer-events:none}
.pill:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px}
.pill:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}
.grouplb{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);font-weight:500;margin:12px 0 0}
.grouplb:first-child{margin-top:4px}
.grouplb span{display:block;text-transform:none;letter-spacing:0;font-weight:400;color:var(--mute);font-size:13px;margin-top:2px}
.pill.open{border-color:var(--ink);gap:8px}
.pill .tag{font-size:11.5px;font-weight:600;letter-spacing:.02em;border-radius:999px;padding:2px 8px;background:var(--lime);color:var(--black)}
.filedrop{position:relative;display:grid;gap:2px;justify-items:start;padding:16px 18px;border:1.5px dashed var(--line2);border-radius:16px;background:var(--soft);cursor:pointer;transition:border-color .15s,background .15s}
.filedrop:hover{border-color:var(--ink);background:#fff}
.filedrop:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px}
.filedrop input{position:absolute;inset:0;opacity:0;cursor:pointer;min-height:0;width:100%;height:100%}
.filedrop b{font-weight:500}
.filedrop span{font-size:13px;color:var(--mute)}
.filechip{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;border-radius:16px;background:var(--limeSoft);border:1px solid #DDEFAA}
.filechip .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.filechip small{display:block;font-weight:400;color:var(--ink2);font-size:12.5px}
.filechip button{min-height:38px;padding:6px 14px;font-size:14px}
.consent{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:var(--soft);cursor:pointer;font-size:14.5px}
.consent input{width:22px;height:22px;min-height:0;padding:0;margin:1px 0 0;accent-color:var(--orange);flex:none;cursor:pointer}
.stack{display:grid;gap:16px}
.banner{border-radius:16px;padding:14px 16px;font-size:14.5px}
.banner.bad{background:var(--dangerSoft);color:#9F1D14}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- result ---------- */
.result{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}
.dna{border-radius:28px;padding:28px;color:#fff;
  background:radial-gradient(110% 80% at 100% 0%,rgba(242,84,27,.28),transparent 55%),radial-gradient(90% 70% at 0% 100%,rgba(200,242,60,.12),transparent 60%),linear-gradient(165deg,var(--black2),var(--black))}
.dna .kick{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.dna h1{font-size:clamp(34px,4.2vw,54px);letter-spacing:-.045em;line-height:1.02;margin-top:10px}
.dna h1 em{font-family:var(--serif);font-style:italic;font-weight:300;color:var(--lime);letter-spacing:-.02em}
.dna .lead{font-size:17px;color:rgba(255,255,255,.82);margin-top:12px;max-width:520px}
.match{margin-top:22px;border-radius:20px;background:var(--lime);color:var(--black);padding:16px 18px}
.match small,.also small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.match b{display:block;font-size:22px;font-weight:500;letter-spacing:-.02em;margin-top:4px;line-height:1.2}
.also{margin-top:12px;display:grid;gap:8px}
.also .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.also .chips span{border-radius:999px;border:1px solid rgba(255,255,255,.28);padding:7px 14px;font-size:14.5px}
.why{margin-top:18px;border-top:1px solid rgba(255,255,255,.14);padding-top:16px}
.why h3{font-size:15px;color:#fff}
.why ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.why li{font-size:14px;color:rgba(255,255,255,.78);padding-left:16px;position:relative}
.why li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.gentle{margin-top:16px;font-size:13.5px;color:rgba(255,255,255,.6)}

/* ---------- thank you ---------- */
.thanks{max-width:720px;margin:clamp(10px,7vh,80px) auto 0;text-align:center}
.thanks .tick{width:76px;height:76px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;background:var(--lime)}
.thanks .tick svg{width:34px;height:34px}
.thanks h1{font-size:clamp(34px,4.6vw,56px);letter-spacing:-.045em;line-height:1.04}
.thanks p{color:var(--ink2);font-size:17px;margin-top:12px}
.thanks .contacts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px 0 26px}
.thanks .contacts a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px}

/* ---------- idle warning ---------- */
.idle{position:fixed;inset:0;z-index:80;background:rgba(20,20,20,.45);display:grid;place-items:center;padding:16px}
.idlecard{background:#fff;border-radius:28px;padding:30px;max-width:420px;width:100%;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.25)}
.idlecard h2{font-size:30px;letter-spacing:-.035em}
.idlecard p{color:var(--ink2);margin:10px 0 20px}

.fade{animation:fade .28s cubic-bezier(.3,.7,.2,1)}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* laptop heights (1366x768): keep each screen on one view */
@media (max-height:820px) and (min-width:901px){
  .opt{min-height:86px;padding:15px}
  .qhead{margin-bottom:16px}
  .qhead h1{font-size:clamp(26px,3vw,38px)}
  .hero{padding-top:8px}
  .hero h1{font-size:clamp(34px,4.6vw,58px)}
  .path{min-height:210px}
}
@media (max-width:900px){
  .shell{padding:0 16px}
  .paths{grid-template-columns:minmax(0,1fr)}
  .path{min-height:0;gap:18px;padding:20px}
  .opts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .result{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:620px){
  .opts{grid-template-columns:minmax(0,1fr)}
  .opt{min-height:0}
  .grid2{grid-template-columns:minmax(0,1fr)}
  .grid2.agerow{grid-template-columns:minmax(0,1fr) 90px}
  .brand small{display:none}
  header.top button{min-height:40px;padding:8px 14px;font-size:14px}
  header.top{flex-wrap:wrap}
  .health{font-size:0;padding:8px}
  .health i{margin:0}
  .card,.dna{padding:20px}
  .actions .r{width:100%}
  .actions .r button{flex:1}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
}
