:root{
  --bg:#F4F3F0; --surface:#FFFFFF; --surface-2:#E9E8E3; --band:#1C2530;
  --ink:#161A1F; --muted:#565E68; --faint:#878E97;
  --accent:#1F4E79; --accent-2:#2E6DA4; --accent-soft:#DDE7F0;
  --gold:#8A6A22; --gold-soft:#F0E8D4;
  --rule:#DEDCD6; --rule-strong:#C5C2BA;
  --on-band:#EDF1F5; --on-band-muted:#A3B0BD;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#14181D; --surface:#1C2127; --surface-2:#242A31; --band:#0E141B;
    --ink:#E8EAED; --muted:#9BA3AC; --faint:#78808A;
    --accent:#7FB2DC; --accent-2:#A8CBEA; --accent-soft:#1A2C3D;
    --gold:#D9B564; --gold-soft:#2E2718;
    --rule:#2A3039; --rule-strong:#3B434D;
    --on-band:#E8EAED; --on-band-muted:#8C97A3;
  }
}
:root[data-theme="dark"]{
  --bg:#14181D; --surface:#1C2127; --surface-2:#242A31; --band:#0E141B;
  --ink:#E8EAED; --muted:#9BA3AC; --faint:#78808A;
  --accent:#7FB2DC; --accent-2:#A8CBEA; --accent-soft:#1A2C3D;
  --gold:#D9B564; --gold-soft:#2E2718;
  --rule:#2A3039; --rule-strong:#3B434D;
  --on-band:#E8EAED; --on-band-muted:#8C97A3;
}

*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
.w{max-width:760px; margin:0 auto; padding:0 26px}

.ph{
  background:var(--gold-soft); color:var(--gold); font-weight:650;
  padding:1px 5px; border-radius:2px; font-size:.94em;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

.hero{padding:70px 0 50px}
.kicker{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11.5px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--accent); margin:0 0 20px;
}
.brand{
  display:flex; align-items:baseline; justify-content:space-between;
  flex-wrap:wrap; gap:8px 20px; margin:0 0 26px;
}
.brand-nimi{
  display:block; font-size:15px; font-weight:700;
  letter-spacing:-.01em; color:var(--ink);
}
.brand-mis{ display:block; font-size:13px; color:var(--muted); margin-top:2px }
.brand a{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11.5px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--accent-2); text-decoration:none; white-space:nowrap;
}
.brand a:hover{ text-decoration:underline }
.tagasinupp{
  display:grid; place-items:center; width:44px; height:44px;
  border-radius:50%; border:1px solid var(--rule-strong);
  background:var(--surface); color:var(--ink);
  text-decoration:none; margin:0 0 20px;
}
.tagasinupp:hover{ border-color:var(--accent); color:var(--accent) }
.tagasinupp:focus-visible{ outline:2px solid var(--ink); outline-offset:3px }
.login .brand{ display:block; margin-bottom:14px }
@media (min-width:600px){
  .login .w{ position:relative }
  .login .tagasinupp{ position:absolute; left:-38px; top:0; margin:0 }
}

h1{
  font-size:clamp(2rem,5.6vw,3.1rem); font-weight:760; line-height:1.05;
  letter-spacing:-.03em; margin:0 0 22px; max-width:17ch; text-wrap:balance;
}
.lede{font-size:1.13rem; color:var(--muted); margin:0 0 32px}
.lede strong{color:var(--ink); font-weight:650}

.cmp{display:flex; gap:0; border:1px solid var(--rule); border-radius:4px; overflow:hidden; margin:0 0 32px; background:var(--rule)}
.cmp div{background:var(--surface); padding:20px 24px; flex:1}
.cmp div + div{margin-left:1px}
.cmp .big{font-size:2rem; font-weight:740; letter-spacing:-.035em; font-variant-numeric:tabular-nums; display:block; margin-bottom:2px}
.cmp .lbl{font-size:13px; color:var(--faint); display:block; line-height:1.45}
.cmp .hi{background:var(--accent-soft)}
.cmp .hi .big{color:var(--accent)}
@media (max-width:560px){ .cmp{flex-direction:column} .cmp div + div{margin-left:0; margin-top:1px} }

.cta{
  display:inline-block; background:var(--accent); color:var(--bg);
  padding:14px 28px; border-radius:3px; text-decoration:none; font-weight:650; font-size:16px;
}
.cta:hover{background:var(--accent-2)}
.cta:focus-visible{outline:2px solid var(--ink); outline-offset:3px}
.cta-note{font-size:14px; color:var(--faint); margin:14px 0 0}

.offer{
  border:1px solid var(--rule-strong); border-radius:4px; background:var(--surface);
  overflow:hidden; margin:0 0 8px;
}
.offer h3{
  margin:0; padding:16px 26px; background:var(--surface-2);
  border-bottom:1px solid var(--rule-strong); font-size:14px; font-weight:650;
  letter-spacing:.02em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; color:var(--muted);
}
.offer dl{margin:0; padding:6px 26px 20px}
.offer .row{display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--rule)}
.offer .row:last-child{border-bottom:none}
.offer dt{color:var(--muted); font-size:15.5px; margin:0}
.offer dd{margin:0; font-weight:650; font-variant-numeric:tabular-nums; text-align:right}
.offer .tot{padding-top:16px; margin-top:4px; border-top:2px solid var(--rule-strong); border-bottom:none}
.offer .tot dt{color:var(--ink); font-weight:650}
.offer .tot dd{font-size:1.2rem}

section{padding:54px 0}
h2{
  font-size:clamp(1.4rem,2.8vw,1.85rem); font-weight:720; letter-spacing:-.024em;
  line-height:1.15; margin:0 0 14px; text-wrap:balance;
}
p{margin:0 0 15px}
a{color:var(--accent)}
strong{font-weight:650}

.band{background:var(--band); color:var(--on-band)}
.band h2{color:var(--on-band)}
.band p{color:var(--on-band-muted)}
.band p strong{color:var(--on-band)}
.band ul li{color:var(--on-band-muted)}
.band ul li strong{color:var(--on-band)}

.steps{list-style:none; counter-reset:s; padding:0; margin:22px 0 0}
.steps li{counter-increment:s; display:grid; grid-template-columns:30px 1fr; gap:0 16px; padding:13px 0; border-bottom:1px solid var(--rule); margin:0}
.steps li:last-child{border-bottom:none}
.steps li::before{
  content:counter(s); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px; color:var(--accent); font-weight:600; padding-top:.3em;
}
.band .steps li{border-bottom-color:rgba(255,255,255,.1)}

ul.plain{list-style:none; padding:0; margin:16px 0 0}
ul.plain li{padding:8px 0 8px 24px; position:relative; margin:0; font-size:15.5px}
ul.plain li::before{content:"·"; position:absolute; left:6px; color:var(--accent); font-weight:700}

.spec{margin:18px 0 0; border-top:1px solid var(--rule)}
.spec .row{display:flex; gap:20px; padding:11px 0; border-bottom:1px solid var(--rule); font-size:15.5px}
.spec .k{color:var(--muted); flex:0 0 40%; max-width:210px}
.spec .v{flex:1}

.notice{background:var(--surface-2); border-left:3px solid var(--accent); padding:18px 22px; border-radius:0 3px 3px 0; margin:24px 0 0}
.notice p{margin:0 0 10px; font-size:15px}
.notice p:last-child{margin:0}

.obj{background:var(--surface); border:1px solid var(--rule); border-radius:4px; padding:26px 28px; margin:24px 0 0}
.obj h3{margin:0 0 12px; font-size:1.05rem; font-weight:680}
.obj p{margin:0 0 12px; color:var(--muted); font-size:16px}
.obj p:last-child{margin:0}
.obj strong{color:var(--ink)}

.form{background:var(--surface); border:1px solid var(--rule); border-radius:4px; padding:28px; margin-top:22px}
.fg{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px}
@media (max-width:560px){ .fg{grid-template-columns:1fr} }
label{display:block; font-size:13.5px; font-weight:600; margin-bottom:5px}
label .req{color:var(--accent)}
input,textarea{
  width:100%; padding:11px 13px; font:inherit; font-size:15px;
  border:1px solid var(--rule-strong); border-radius:3px;
  background:var(--bg); color:var(--ink);
}
input:focus,textarea:focus{outline:2px solid var(--accent); outline-offset:0; border-color:var(--accent)}
.hint{font-size:12.5px; color:var(--faint); margin:5px 0 0}
.consent{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--muted); margin:18px 0}
.consent input{width:auto; margin-top:4px; flex:none}

footer{background:var(--band); color:var(--on-band-muted); padding:46px 0 36px; font-size:14.5px}
footer h4{
  color:var(--on-band); font-size:11px; font-weight:650; margin:0 0 10px;
  letter-spacing:.1em; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
footer a{color:var(--on-band)}
footer p{margin:0 0 12px}
.fgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:30px; margin-bottom:30px}
.fbot{border-top:1px solid rgba(255,255,255,.12); padding-top:20px; font-size:13px; line-height:1.7}
.fbot strong{color:var(--on-band)}

.doclehe{max-width:720px}
.tagasi{
  display:inline-block; margin:26px 0 0; font-size:14px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color:var(--muted); text-decoration:none;
}
.tagasi:hover{color:var(--accent)}
.dokhead{padding:52px 0 24px; border-bottom:2px solid var(--rule-strong); margin-bottom:32px}
.dokhead h1{font-size:clamp(1.7rem,4.4vw,2.4rem); max-width:22ch; margin:0 0 12px}
.dokhead .kehtiv{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px; color:var(--faint); margin:0;
}
.dok h2{font-size:1.15rem; font-weight:690; margin:34px 0 10px; letter-spacing:-.01em}
.dok h3{font-size:.98rem; font-weight:650; margin:22px 0 8px; color:var(--muted)}
.dok p, .dok li{font-size:15.6px}
.dok ul{padding-left:20px; margin:0 0 14px}
.dok li{margin-bottom:6px}
.dok table{border-collapse:collapse; width:100%; font-size:14.6px; min-width:420px}
.dok .tw{overflow-x:auto; border:1px solid var(--rule); border-radius:4px; background:var(--surface); margin:0 0 18px}
.dok th,.dok td{text-align:left; padding:10px 14px; border-bottom:1px solid var(--rule); vertical-align:top}
.dok thead th{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--faint);
  font-weight:500; background:var(--surface-2); border-bottom:1px solid var(--rule-strong);
}
.dok tbody tr:last-child td{border-bottom:none}
.dok td:first-child{font-weight:600}

.valjad{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px}
@media (max-width:560px){ .valjad{grid-template-columns:1fr} }
.vali{position:relative}
.vali.lai{grid-column:1 / -1}
.viga{color:var(--warn,#A33); font-size:12.5px; margin:5px 0 0; display:none}
.vali.katki input{border-color:#A33}
.vali.katki .viga{display:block}

.otsing{
  position:absolute; z-index:20; left:0; right:0; top:100%; margin-top:2px;
  background:var(--surface); border:1px solid var(--rule-strong); border-radius:3px;
  box-shadow:0 6px 20px -8px rgba(0,0,0,.28); max-height:280px; overflow-y:auto; display:none;
}
.otsing.avatud{display:block}
.otsing button{
  display:block; width:100%; text-align:left; background:none; border:none;
  padding:10px 14px; cursor:pointer; font:inherit; font-size:14.5px;
  border-bottom:1px solid var(--rule); color:var(--ink);
}
.otsing button:last-child{border-bottom:none}
.otsing button:hover, .otsing button.esile{background:var(--accent-soft)}
.otsing .nimi{display:block; font-weight:600}
.otsing .lisa{display:block; font-size:12.5px; color:var(--faint); margin-top:2px}

.kinnitus{
  background:var(--accent-soft); border-radius:3px; padding:11px 14px;
  font-size:14px; margin:6px 0 0; display:none;
}
.kinnitus.nahtav{display:block}
.kinnitus strong{font-weight:650}

.kokkuvote{
  background:var(--surface-2); border:1px solid var(--rule); border-radius:3px;
  padding:18px 20px; margin:20px 0 0; display:none;
}
.kokkuvote.nahtav{display:block}
.kokkuvote pre{
  margin:0 0 14px; white-space:pre-wrap; word-break:break-word;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13px; line-height:1.65; color:var(--ink);
}
.nupurida{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.nupp2{
  background:none; border:1px solid var(--rule-strong); color:var(--muted);
  padding:10px 18px; border-radius:3px; font:inherit; font-size:14.5px; cursor:pointer;
}
.nupp2:hover{border-color:var(--accent); color:var(--accent)}
button.cta{border:none; cursor:pointer; font:inherit; font-size:16px; font-weight:650}

.teade{font-size:14.5px; margin:12px 0 0; display:none}
.teade.nahtav{display:block}
.teade.viga{color:#A33}
.teade.ootel{color:var(--muted)}
button.cta[disabled]{opacity:.55; cursor:default}

.teade.ok{ color:#3d6b4a }
.teade.viga{ color:#a13c3c }

.esindus{
  margin:14px 0 0; padding:13px 15px; border-radius:8px;
  border:1px solid var(--rule); font-size:14.5px; line-height:1.55;
}
.esindus p{ margin:0; color:inherit }
.esindus.ootel{ color:var(--muted) }
.esindus.jah{ border-color:#4a7c59; background:rgba(74,124,89,.07); color:#2f5639 }
.esindus.ei{ border-color:#b08640; background:rgba(176,134,64,.08); color:#6d5220 }
.esindus.katmata{ border-color:var(--rule); background:rgba(0,0,0,.02) }
input[readonly]{ background:rgba(0,0,0,.03); cursor:default }

.keemia{ padding-top:0 }
.keemia p{ font-size:15.5px; line-height:1.72; color:var(--muted); margin:0 0 16px; max-width:66ch }
.keemia p strong{ color:var(--ink); font-weight:600 }
.keemia p em{ color:var(--faint); font-style:italic }
.keemia sup{ font-size:.72em; line-height:0 }
.viited{
  margin:26px 0 0; padding:20px 0 0; border-top:1px solid var(--rule);
  list-style:decimal; padding-left:22px;
}
.viited li{ font-size:13px; line-height:1.55; color:var(--faint); margin:0 0 9px }
.viited li em{ font-style:italic }
.viited a{ color:var(--muted); text-decoration:underline; text-underline-offset:2px }
.viited a:hover{ color:var(--ink) }
.vnr{ font-size:.72em; line-height:0; margin-left:1px }
.vnr a{ color:var(--accent-2); text-decoration:none; padding:0 1px }
.vnr a:hover{ text-decoration:underline }
.viited li{ scroll-margin-top:80px }
.viited li:target{ color:var(--ink) }

.valik{ padding-top:0 }
.valik .sisse{ color:var(--muted); font-size:16px; max-width:64ch; margin:0 0 26px }
.valik h3{ font-size:1.02rem; font-weight:650; margin:30px 0 12px; letter-spacing:-.01em }
.valik .tw{
  overflow-x:auto; border:1px solid var(--rule); border-radius:4px;
  background:var(--surface); margin:0 0 10px;
}
.valik table{ border-collapse:collapse; width:100%; font-size:14.6px; table-layout:auto }
.valik th,.valik td{
  text-align:left; padding:10px 14px; border-bottom:1px solid var(--rule); vertical-align:top;
}
.valik thead th{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--faint);
  font-weight:500; background:var(--surface-2); border-bottom:1px solid var(--rule-strong);
}
.valik tbody tr:last-child td{ border-bottom:none }
.valik td:first-child{ font-weight:600; white-space:nowrap }
.valik td:nth-child(2){ font-variant-numeric:tabular-nums }

.valik .kitsas td:nth-child(2),
.valik .kitsas td:nth-child(3){ white-space:nowrap }
.valik .marge{ font-size:13.5px; color:var(--faint); margin:0 0 4px; max-width:64ch }
.alad{ display:grid; grid-template-columns:repeat(auto-fit,minmax(238px,1fr)); gap:2px; margin:12px 0 0 }
.ala{ background:var(--surface); border:1px solid var(--rule); padding:16px 18px }
.ala h4{ margin:0 0 7px; font-size:15px; font-weight:650 }
.ala p{ margin:0; font-size:14.3px; line-height:1.6; color:var(--muted) }

@media (max-width:600px){

  .valik table{ font-size:13px }
  .valik th,.valik td{ padding:8px 7px }
  .valik thead th{ font-size:9.5px; letter-spacing:.04em }
  .valik .kitsas td:first-child,
  .valik .kitsas td:nth-child(4),
  .valik .kitsas td:nth-child(5){ white-space:nowrap }
}

.video{ padding-top:0 }
.video .sisse{ color:var(--muted); font-size:16px; max-width:64ch; margin:0 0 22px }
.videoraam{ margin:0 }
.videokate{
  display:block; position:relative; width:100%; padding:0; border:0; cursor:pointer;
  background:var(--surface-2); border-radius:5px; overflow:hidden; line-height:0;
  box-shadow:0 1px 3px rgba(0,0,0,.10);
}
.videokate img{ width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; display:block }
.videokate::after{
  content:''; position:absolute; inset:0; background:rgba(0,0,0,.14);
  transition:background .18s ease;
}
.videokate:hover::after,.videokate:focus-visible::after{ background:rgba(0,0,0,.04) }
.videokate .mangi{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:74px; height:52px; border-radius:11px; background:rgba(20,24,29,.78);
  transition:background .18s ease, transform .18s ease; z-index:1;
}
.videokate .mangi::before{
  content:''; position:absolute; top:50%; left:52%; transform:translate(-50%,-50%);
  border-style:solid; border-width:10px 0 10px 17px;
  border-color:transparent transparent transparent #fff;
}
.videokate:hover .mangi,.videokate:focus-visible .mangi{
  background:#C4302B; transform:translate(-50%,-50%) scale(1.05);
}
.videokate .kestus{
  position:absolute; right:10px; bottom:10px; z-index:1;
  background:rgba(20,24,29,.82); color:#fff; border-radius:3px;
  font-size:12px; line-height:1; padding:4px 6px;
  font-variant-numeric:tabular-nums;
}
.videokate:focus-visible{ outline:2px solid var(--accent-2); outline-offset:3px }
.videoraam iframe{
  width:100%; aspect-ratio:16/9; border:0; border-radius:5px; display:block;
  box-shadow:0 1px 3px rgba(0,0,0,.10);
}
.videoraam figcaption{
  margin:12px 0 0; font-size:14px; line-height:1.55; color:var(--muted);
}
.videoraam figcaption strong{ color:var(--ink); font-weight:600 }
.video .marge{ font-size:13.5px; color:var(--faint); margin:14px 0 0; max-width:64ch }
.videod{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:26px }
.videoraam figcaption .meta{
  display:block; margin-top:6px; font-size:13px; color:var(--faint);
}

.karussell{ margin:34px 0 22px }
.kar-juht{ font-size:14.5px; color:var(--muted); margin:0 0 18px }
.kar-lava{ position:relative }
.kar-rada{ display:grid; gap:18px }
.kaart{
  background:var(--surface); border:1px solid var(--rule); border-radius:8px;
  overflow:hidden; display:flex; flex-direction:column;
}
.kaart-pilt{
  display:block; position:relative; width:100%; padding:0; border:0; margin:0;
  background:#fff; overflow:hidden; aspect-ratio:16/9; cursor:zoom-in; line-height:0;
  border-bottom:1px solid var(--rule);
}

.kaart-pilt img{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:214%; height:auto; max-width:none; display:block;
}
.kaart-pilt::after{
  content:'+'; position:absolute; right:8px; bottom:8px; width:26px; height:26px;
  border-radius:50%; background:rgba(20,24,29,.55); color:#fff;
  font-size:19px; line-height:26px; text-align:center; font-weight:400;
  opacity:.85; transition:opacity .18s ease;
}
.kaart-pilt:hover::after,.kaart-pilt:focus-visible::after{ opacity:1 }
.kaart-pilt:focus-visible{ outline:2px solid var(--accent-2); outline-offset:-2px }
.kaart-sisu{ padding:14px 18px 18px; display:flex; flex-direction:column; flex:1 }
.kaart h3{ margin:0 0 6px; font-size:1.06rem; font-weight:680 }
.kaart h3 .sari{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:9.5px; letter-spacing:.09em; text-transform:uppercase; font-weight:650;
  color:var(--accent); background:var(--accent-soft);
  padding:3px 6px; border-radius:2px; vertical-align:.18em; margin-left:5px;
}
.kaart-fakt{ margin:0 0 11px; font-size:13.5px; color:var(--muted); display:flex; flex-wrap:wrap; gap:6px }
.kaart-fakt .aeg{ font-weight:650; color:var(--ink); font-variant-numeric:tabular-nums }
.kaart-fakt .art{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12px }
.kaart-fakt .eral{ color:var(--faint) }
.kaart-kasutus{ list-style:none; margin:0 0 16px; padding:0 }
.kaart-kasutus li{
  font-size:13.8px; line-height:1.5; color:var(--muted);
  padding:0 0 0 15px; margin:0 0 5px; position:relative;
}
.kaart-kasutus li::before{
  content:''; position:absolute; left:2px; top:8px;
  width:5px; height:5px; border-radius:50%; background:var(--accent-2);
}

.cta-vaike{ width:100%; text-align:center; padding:11px 16px; font-size:15px;
  border:0; cursor:pointer; margin-top:auto }

.karussell.elus{ overflow-x:clip; overflow-clip-margin:12px }
.karussell.elus .kar-lava{ perspective:1500px; padding:0 44px }
.karussell.elus .kar-rada{
  display:block; position:relative; height:492px;
  transform-style:preserve-3d; margin:0 auto; max-width:330px;
}
.karussell.elus .kaart{
  position:absolute; inset:0; width:100%; height:100%;
  transition:transform .45s cubic-bezier(.22,.61,.36,1), opacity .45s ease;
  will-change:transform; box-shadow:0 6px 22px rgba(0,0,0,.10); cursor:pointer;
}
.karussell.elus .kaart.esiplaan{ cursor:default; box-shadow:0 10px 34px rgba(0,0,0,.16) }
.kar-nool{
  position:absolute; top:50%; transform:translateY(-50%); z-index:200;
  width:38px; height:38px; border-radius:50%; border:1px solid var(--rule);
  background:var(--surface); cursor:pointer; padding:0;
}
.kar-nool::before{
  content:''; position:absolute; top:50%; left:50%;
  width:9px; height:9px; border-left:2px solid var(--ink); border-bottom:2px solid var(--ink);
}
.kar-nool.vasak{ left:0 }
.kar-nool.vasak::before{ transform:translate(-30%,-50%) rotate(45deg) }
.kar-nool.parem{ right:0 }
.kar-nool.parem::before{ transform:translate(-70%,-50%) rotate(-135deg) }
.kar-nool:hover{ background:var(--surface-2) }
.kar-nool:focus-visible{ outline:2px solid var(--accent-2); outline-offset:2px }
.karussell:not(.elus) .kar-nool{ display:none }
.kar-punktid{ display:flex; justify-content:center; gap:7px; margin:16px 0 0 }
.kar-punkt{
  width:8px; height:8px; padding:0; border:0; border-radius:50%;
  background:var(--rule-strong); cursor:pointer; transition:background .2s, transform .2s;
}
.kar-punkt.valitud{ background:var(--accent); transform:scale(1.35) }
.kar-punkt:focus-visible{ outline:2px solid var(--accent-2); outline-offset:2px }
.karussell:not(.elus) .kar-punktid{ display:none }
@media (max-width:560px){
  .karussell.elus .kar-lava{ padding:0 34px }
  .karussell.elus .kar-rada{ height:520px; max-width:274px }
}
@media (prefers-reduced-motion:reduce){
  .karussell.elus .kaart{ transition:none }
}
.valitud-toode{
  margin:0 0 18px; padding:11px 15px; border-radius:6px;
  background:var(--accent-soft); color:var(--accent);
  font-size:14.5px; font-weight:600;
}

.pildiaken{
  border:0; padding:0; background:transparent; max-width:min(94vw,900px); max-height:92vh;
  overflow:visible;
}
.pildiaken::backdrop{ background:rgba(12,15,18,.82) }
.pildiaken img{
  display:block; width:100%; height:auto; max-height:92vh; object-fit:contain;
  border-radius:6px; background:#fff;
}
.pildiaken-sisu{ position:relative; line-height:0 }
.pildiaken .sulge{
  position:absolute; top:-14px; right:-14px; width:38px; height:38px; border-radius:50%;
  border:0; background:var(--surface); color:var(--ink); font-size:22px; line-height:1;
  cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.3);
}
.pildiaken .sulge:hover{ background:var(--surface-2) }
.pildiaken .sulge:focus-visible{ outline:2px solid var(--accent-2); outline-offset:2px }

.tuvastatud{
  margin:0 0 20px; padding:11px 15px; border-radius:6px;
  background:rgba(74,124,89,.10); border:1px solid #4a7c59; color:#2f5639;
  font-size:14.5px; font-weight:600;
}
.hero .kicker a{ color:var(--accent-2); text-decoration:none }
.hero .kicker a:hover{ text-decoration:underline }

.kar-hind{ margin:30px 0 3px }
.kar-hind2{ margin-bottom:0 }
.lopp{
  border:0; border-top:1px solid var(--rule);
  margin:54px 0 0; height:0;
}

.kontaktiaken{ border:0; padding:0; background:transparent; max-width:min(92vw,420px) }
.kontaktiaken::backdrop{ background:rgba(12,15,18,.72) }
.kontaktiaken-sisu{
  position:relative; background:var(--surface); color:var(--ink);
  border-radius:10px; padding:26px 28px 24px;
  box-shadow:0 12px 40px rgba(0,0,0,.28);
}
.kontaktiaken h4{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:10.5px; letter-spacing:.11em; text-transform:uppercase;
  color:var(--faint); font-weight:500; margin:0 0 12px;
}
.kontakt-nimi{ margin:0 0 8px; font-size:1.12rem; font-weight:650; letter-spacing:-.01em }
.kontakt-read{ margin:0 0 16px; font-size:15px; line-height:1.65; color:var(--muted) }
.kontakt-lisa{ margin:0; font-size:13px; line-height:1.6; color:var(--faint) }
.kontakt-lisa a{ color:var(--accent-2) }
.kontaktiaken .sulge{
  position:absolute; top:10px; right:10px; width:30px; height:30px; border-radius:50%;
  border:0; background:transparent; color:var(--faint); font-size:20px; line-height:1; cursor:pointer;
}
.kontaktiaken .sulge:hover{ background:var(--surface-2); color:var(--ink) }
.kontaktiaken .sulge:focus-visible{ outline:2px solid var(--accent-2); outline-offset:2px }
.kontakt-laeb{ margin:0; font-size:15px; color:var(--faint) }

.login{ padding:clamp(56px,12vh,110px) 0 70px }
.login .w{ max-width:440px }
.login h1{ font-size:clamp(1.8rem,5vw,2.3rem); margin:0 0 26px; letter-spacing:-.025em }
.login .valitud{
  margin:0 0 24px; padding:12px 16px; border-radius:7px;
  background:var(--surface-2); color:var(--muted); font-size:14.5px;
}
.login .valitud strong{ color:var(--ink); font-weight:650 }
.login .cta{ width:100%; text-align:center; padding:15px 20px; font-size:16px; border:0; cursor:pointer }
.login .teade{ margin:16px 0 0 }
.login + footer{ margin-top:0 }

.logileht{ min-height:100vh; min-height:100dvh; display:flex; flex-direction:column }
.logileht > main{ flex:1 0 auto }
.logileht > footer{ flex:0 0 auto; margin-top:0 }
.offer .selgub{ font-weight:400; color:var(--muted); font-style:italic }

body.leht,
body.leht * {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
body.leht input,
body.leht textarea,
body.leht select,
body.leht [contenteditable="true"],
body.leht [data-lubatud] {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}
body.leht img,
body.leht svg,
body.leht video {
  -webkit-user-drag: none;
  pointer-events: auto;
}
body.leht ::selection      { background: transparent; color: inherit }
body.leht ::-moz-selection { background: transparent; color: inherit }

.prindiasendus { display: none }

@media print {
  body.leht > * { display: none !important }
  body.leht::before, body.leht::after { content: none !important }
  html.trukk body.leht { visibility: hidden }
  body.leht { background: #fff !important }
  @page { margin: 0 }
}
