/* ============================================================
   MÄNNIRANNA v2 — Luxum-klassi editorial luksus
   Valge ruum · õhukesed jooned · kinolik pildikeel · mikrotüpograafia
   Marcellus (display) · Jost (tekst) · IBM Plex Mono (andmed)
   ============================================================ */

:root{
  --must:#0E0F0E;
  --metsaoo:#101512;
  --sysi:#1C201D;
  --kivi:#F6F4F0;
  --paber:#FFFFFF;
  --joon:#E5E1D8;
  --joon-tume:rgba(255,255,255,.14);
  --tint:#141613;
  --tint-mahe:#6E6A61;
  --kuld:#B99B67;
  --kuld-hele:#D6BE94;
  --udu:#9FB4B0;
  --f-display:'Marcellus','Times New Roman',serif;
  --f-body:'Jost','Segoe UI',sans-serif;
  --f-mono:'IBM Plex Mono','Courier New',monospace;
  --laius:1360px;
  --siire:.4s cubic-bezier(.22,.61,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--f-body);font-weight:300;font-size:16.5px;line-height:1.7;
  color:var(--tint);background:var(--paber);overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
::selection{background:var(--must);color:#fff}

.laius{max-width:var(--laius);margin:0 auto;padding:0 clamp(22px,4vw,64px)}

/* ---------- Mikrotüpograafia ---------- */
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.08;color:var(--must)}
.mikro{
  font-size:10.5px;font-weight:400;letter-spacing:.34em;text-transform:uppercase;
  color:var(--tint-mahe);
}
.mikro-kuld{color:var(--kuld)}
.pealkiri-xl{font-size:clamp(34px,4.6vw,62px);letter-spacing:.01em}
.pealkiri-l{font-size:clamp(28px,3.4vw,44px)}
.sissejuhatus{font-size:clamp(16.5px,1.4vw,19px);color:var(--tint-mahe);font-weight:300}

.spekid{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;row-gap:6px}
.spekid span{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;
  white-space:nowrap;
}
.spekid span+span::before{content:"·";margin-right:10px;color:var(--kuld)}

.hr{border:none;height:1px;background:var(--joon)}

/* ---------- Ülariba + päis ---------- */
.ylariba{
  position:fixed;top:0;left:0;right:0;z-index:101;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.72);
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:opacity var(--siire),transform var(--siire);
}
.ylariba .laius{display:flex;justify-content:space-between;align-items:center;height:38px}
.ylariba a{transition:color .3s}
.ylariba a:hover{color:#fff}
.ylariba-vasak{display:flex;gap:28px}
body.kerinud .ylariba{opacity:0;transform:translateY(-100%);pointer-events:none}

.pais{
  position:fixed;top:38px;left:0;right:0;z-index:100;
  transition:all var(--siire);
  border-bottom:1px solid rgba(255,255,255,.12);
}
body.kerinud .pais{
  top:0;background:rgba(10,12,10,.9);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom-color:rgba(255,255,255,.08);
}
.pais .laius{display:flex;align-items:center;justify-content:space-between;height:78px;transition:height var(--siire)}
body.kerinud .pais .laius{height:64px}
.logo{display:flex;align-items:center;gap:13px;color:#fff}
.logo svg{width:38px;height:38px;flex-shrink:0}
.logo-tekst{line-height:1.1}
.logo-nimi{font-family:var(--f-display);font-size:19px;letter-spacing:.3em;display:block}
.logo-alam{font-size:8.5px;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,.55);display:block;margin-top:3px}
.menyy{display:flex;align-items:center;gap:36px;list-style:none}
.menyy a{
  color:rgba(255,255,255,.78);font-size:12px;font-weight:400;
  letter-spacing:.24em;text-transform:uppercase;padding:8px 0;position:relative;
  transition:color .3s;
}
.menyy a::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1px;background:#fff;transition:width var(--siire)}
.menyy a:hover{color:#fff}
.menyy a:hover::after{width:100%}
.menyy-cta{border:1px solid rgba(255,255,255,.5);padding:12px 26px !important;transition:all var(--siire) !important}
.menyy-cta::after{display:none !important}
.menyy-cta:hover{background:#fff;color:var(--must) !important;border-color:#fff}

.burger{display:none;background:none;border:none;width:42px;height:42px;position:relative;z-index:110}
.burger span{display:block;width:26px;height:1px;background:#fff;margin:7px auto;transition:all var(--siire)}
.burger.avatud span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.avatud span:nth-child(2){opacity:0}
.burger.avatud span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ---------- Hero-slaider ---------- */
.hero{position:relative;height:100svh;min-height:620px;background:var(--must);overflow:hidden;color:#fff}
.slaid{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;pointer-events:none}
.slaid.aktiivne{opacity:1;pointer-events:auto}
.slaid-pilt{position:absolute;inset:0}
.slaid-pilt svg{width:100%;height:100%}
.slaid.aktiivne .slaid-pilt{animation:kenburns 9s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero-kate{
  position:absolute;inset:0;z-index:2;
  background:linear-gradient(to top,rgba(8,10,8,.82) 0%,rgba(8,10,8,.25) 38%,rgba(8,10,8,.08) 60%,rgba(8,10,8,.3) 100%);
  pointer-events:none;
}
.hero-sisu{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  padding-bottom:clamp(40px,7vh,90px);
}
.hero-sisu .laius{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.hero-info{max-width:760px}
.hero-info .mikro{color:var(--kuld-hele);display:block;margin-bottom:18px}
.hero-info h1{
  color:#fff;font-size:clamp(34px,4.8vw,64px);
  letter-spacing:.015em;line-height:1.1;margin-bottom:22px;max-width:15em;
}
.hero-spekid{color:rgba(255,255,255,.85);margin-bottom:34px}
.hero-spekid .h-hind{color:var(--kuld-hele)}
.hero-nupud{display:flex;gap:14px;flex-wrap:wrap}
.nupp{
  display:inline-flex;align-items:center;gap:14px;
  font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:400;
  padding:17px 34px;transition:all var(--siire);border:1px solid transparent;
}
.nupp-valge{background:#fff;color:var(--must)}
.nupp-valge:hover{background:var(--kuld-hele);color:var(--must)}
.nupp-joon{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}
.nupp-joon:hover{background:#fff;color:var(--must);border-color:#fff}
.nupp-must{border-color:var(--must);color:var(--must);background:transparent}
.nupp-must:hover{background:var(--must);color:#fff}
.nupp .nool{transition:transform var(--siire)}
.nupp:hover .nool{transform:translateX(5px)}

.hero-nav{display:flex;flex-direction:column;align-items:flex-end;gap:20px;flex-shrink:0}
.hero-loendur{font-family:var(--f-mono);font-size:12px;letter-spacing:.2em;color:rgba(255,255,255,.7)}
.hero-loendur b{font-weight:400;color:#fff}
.hero-punktid{display:flex;gap:0;border:1px solid rgba(255,255,255,.3)}
.hero-punkt{width:52px;height:3px;background:transparent;border:none;padding:14px 0;position:relative}
.hero-punkt::after{content:"";position:absolute;left:8px;right:8px;top:50%;height:1px;background:rgba(255,255,255,.35);transition:background .3s}
.hero-punkt.aktiivne::after{background:#fff;height:2px;margin-top:-1px}

/* ---------- Numbririba ---------- */
.numbririba{border-bottom:1px solid var(--joon)}
.numbririba .laius{
  display:grid;grid-template-columns:repeat(4,1fr);
}
.nr-yksus{padding:44px 30px;text-align:center;position:relative}
.nr-yksus+.nr-yksus{border-left:1px solid var(--joon)}
.nr-yksus strong{
  display:block;font-family:var(--f-display);font-weight:400;
  font-size:clamp(28px,2.8vw,42px);color:var(--must);margin-bottom:8px;letter-spacing:.02em;
}
.nr-yksus .mikro{font-size:10px}

/* ---------- Sektsioonid ---------- */
.sektsioon{padding:clamp(90px,10vw,150px) 0}
.sekt-pais{margin-bottom:clamp(48px,5vw,80px)}
.sekt-pais .mikro{display:block;margin-bottom:20px}
.sekt-pais-rida{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.sekt-tume{background:var(--metsaoo);color:rgba(255,255,255,.85)}
.sekt-tume h2,.sekt-tume h3{color:#fff}
.sekt-kivi{background:var(--kivi)}
.link-nool{
  display:inline-flex;align-items:center;gap:12px;
  font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--must);
  border-bottom:1px solid var(--must);padding-bottom:6px;transition:all var(--siire);
}
.link-nool:hover{color:var(--kuld);border-color:var(--kuld)}

/* ---------- Intro ---------- */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,110px);align-items:center}
.intro-tekst .mikro{display:block;margin-bottom:22px}
.intro-tekst h2{margin-bottom:30px}
.intro-tekst p{color:var(--tint-mahe);margin-bottom:20px}
.intro-tekst p.suur{font-size:19px;color:var(--tint);font-weight:300}
.intro-fakt{display:flex;flex-wrap:wrap;gap:26px 44px;margin:38px 0 42px;padding:26px 0;border-top:1px solid var(--joon);border-bottom:1px solid var(--joon)}
.intro-grid>*,.kontakt-grid>*,.loksa-grid>*{min-width:0}
.intro-fakt div strong{font-family:var(--f-display);font-weight:400;font-size:30px;display:block;color:var(--must)}
.intro-fakt div span{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--tint-mahe)}
.intro-pilt{position:relative}
.intro-pilt .raam{overflow:hidden;aspect-ratio:4/5;background:var(--must)}
.intro-pilt .raam svg{width:100%;height:100%;transition:transform 1.2s ease}
.intro-pilt:hover .raam svg{transform:scale(1.04)}
.intro-pilt figcaption{
  margin-top:16px;display:flex;justify-content:space-between;
  font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--tint-mahe);
}

/* ---------- Krundiplaan ---------- */
.plaan-ymbris{background:var(--must);padding:clamp(20px,3.5vw,54px);position:relative}
.plaan-svg{width:100%;height:auto}
.plaan-svg text{font-family:var(--f-body)}
.krunt-kuju{cursor:pointer}
.krunt-kuju rect{transition:fill .3s,stroke .3s}
.krunt-kuju.saadaval rect{fill:rgba(185,155,103,.07);stroke:var(--kuld);stroke-width:1.1}
.krunt-kuju.saadaval:hover rect,.krunt-kuju.saadaval.aktiivne rect{fill:rgba(185,155,103,.3)}
.krunt-kuju.broneeritud rect{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.4);stroke-width:1;stroke-dasharray:5 4}
.krunt-kuju.muudud rect{fill:rgba(255,255,255,.03);stroke:rgba(255,255,255,.14);stroke-width:1}
.krunt-kuju.muudud{cursor:default}
.krunt-kuju text{fill:#fff;pointer-events:none}
.krunt-kuju.muudud text{fill:rgba(255,255,255,.3)}
.krunt-kuju .k-tanav{font-size:8px;letter-spacing:.18em;fill:rgba(255,255,255,.5)}
.krunt-kuju.saadaval .k-nr{fill:var(--kuld-hele)}
.k-nr{font-family:var(--f-display) !important;font-size:23px}
.plaan-tanav{fill:rgba(255,255,255,.055)}
.plaan-tanav-nimi{fill:rgba(255,255,255,.45);font-size:9.5px;letter-spacing:.32em}
.plaan-meri-nimi{fill:rgba(159,180,176,.85);font-size:10px;letter-spacing:.36em}
.plaan-mets{stroke:rgba(255,255,255,.16);stroke-width:1.1;stroke-linecap:round;fill:none}
.plaan-laine{stroke:rgba(159,180,176,.45);stroke-width:1.2;fill:none;stroke-linecap:round}
.plaan-legend{
  display:flex;flex-wrap:wrap;gap:30px;justify-content:center;
  margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);
}
.legend-yksus{display:flex;align-items:center;gap:11px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.legend-ruut{width:15px;height:15px}
.legend-ruut.l-saadaval{background:rgba(185,155,103,.2);border:1px solid var(--kuld)}
.legend-ruut.l-broneeritud{background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.5)}
.legend-ruut.l-muudud{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.2)}
.plaan-markus{text-align:center;margin-top:16px;font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.4)}

.vihje{
  position:absolute;z-index:10;pointer-events:none;
  background:#fff;color:var(--tint);padding:16px 20px;
  box-shadow:0 20px 50px -14px rgba(0,0,0,.5);
  font-size:12.5px;min-width:200px;opacity:0;transform:translateY(6px);
  transition:opacity .2s,transform .2s;
}
.vihje.nahtav{opacity:1;transform:translateY(0)}
.vihje strong{font-family:var(--f-display);font-weight:400;font-size:17px;display:block;margin-bottom:4px}
.vihje .v-rida{display:flex;justify-content:space-between;gap:20px;color:var(--tint-mahe);letter-spacing:.04em}
.vihje .v-hind{color:var(--must);font-weight:400}

/* ---------- Krundikaardid (Luxum-stiilis) ---------- */
.krundid-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--joon);border:1px solid var(--joon);margin-top:1px;
}
.krunt-kaart{background:var(--paber);position:relative;transition:background .4s}
.krunt-kaart.k-saadaval:hover{background:var(--kivi)}
.kaart-pilt{position:relative;aspect-ratio:16/10;background:var(--must);overflow:hidden}
.kaart-pilt svg{width:100%;height:100%;transition:transform 1s ease}
.krunt-kaart.k-saadaval:hover .kaart-pilt svg{transform:scale(1.05)}
.kaart-staatus{
  position:absolute;top:16px;left:16px;z-index:2;
  font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;
  padding:8px 14px;backdrop-filter:blur(8px);
}
.kaart-staatus.s-saadaval{background:rgba(185,155,103,.92);color:#fff}
.kaart-staatus.s-broneeritud{background:rgba(255,255,255,.88);color:var(--tint)}
.kaart-staatus.s-muudud{background:rgba(14,15,14,.82);color:rgba(255,255,255,.75)}
.krunt-kaart.k-muudud .kaart-pilt svg,.krunt-kaart.k-broneeritud .kaart-pilt svg{opacity:.45}
.kaart-sisu{padding:26px 26px 30px}
.kaart-sisu h3{font-size:22px;letter-spacing:.02em;margin-bottom:6px}
.kaart-kataster{font-family:var(--f-mono);font-size:11px;color:var(--tint-mahe);letter-spacing:.05em;display:block;margin-bottom:16px}
.kaart-spekid{color:var(--tint-mahe);padding:14px 0;border-top:1px solid var(--joon)}
.kaart-alaosa{display:flex;justify-content:space-between;align-items:center;margin-top:16px;min-height:40px}
.kaart-hind{font-family:var(--f-display);font-size:23px;color:var(--must)}
.kaart-varjatud{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--tint-mahe)}
.kaart-link{
  font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--must);
  border:none;background:none;border-bottom:1px solid var(--must);padding:0 0 5px;
  transition:all var(--siire);
}
.kaart-link:hover{color:var(--kuld);border-color:var(--kuld)}
.krunt-kaart.esiletostetud{background:var(--kivi)}
.krunt-kaart.esiletostetud::after{
  content:"";position:absolute;inset:0;border:1px solid var(--kuld);pointer-events:none;
}

/* ---------- Interaktiivne kaart (Leaflet) ---------- */
.kaart-sektsioon{padding:0;position:relative}
.kaart-grid{display:grid;grid-template-columns:420px 1fr;min-height:640px}
.kaart-paneel{
  background:var(--metsaoo);color:rgba(255,255,255,.8);
  padding:clamp(44px,5vw,72px) clamp(30px,3.5vw,56px);
  display:flex;flex-direction:column;justify-content:center;
}
.kaart-paneel .mikro{color:var(--kuld);display:block;margin-bottom:20px}
.kaart-paneel h2{margin-bottom:24px;font-size:clamp(26px,2.6vw,38px)}
.kaart-paneel p{font-size:15px;color:rgba(255,255,255,.66);margin-bottom:34px}
.kaart-punktid{list-style:none}
.kaart-punkt{
  display:flex;align-items:center;gap:16px;padding:15px 0;
  border-top:1px solid rgba(255,255,255,.1);
  background:none;border-left:none;border-right:none;border-bottom:none;
  width:100%;text-align:left;color:rgba(255,255,255,.8);
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:300;
  transition:color .3s;
}
.kaart-punkt:last-child{border-bottom:1px solid rgba(255,255,255,.1)}
.kaart-punkt:hover,.kaart-punkt.aktiivne{color:#fff}
.kaart-punkt .tapp{
  width:9px;height:9px;border-radius:50%;background:var(--kuld);flex-shrink:0;
  box-shadow:0 0 0 0 rgba(185,155,103,.5);transition:box-shadow .3s;
}
.kaart-punkt:hover .tapp,.kaart-punkt.aktiivne .tapp{box-shadow:0 0 0 5px rgba(185,155,103,.25)}
.kaart-punkt .kaugus{margin-left:auto;font-family:var(--f-mono);font-size:11.5px;color:var(--kuld-hele);letter-spacing:.06em;text-transform:none}
#loksa-kaart{min-height:640px;height:100%;background:#dcd9d2}
#loksa-kaart .leaflet-tile{filter:grayscale(1) contrast(.92) brightness(1.04)}
#loksa-kaart .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.75)}
.m-marker{position:relative}
.m-marker .m-tapp{
  width:14px;height:14px;border-radius:50%;background:var(--kuld);
  border:2.5px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.35);
}
.m-marker.m-peamine .m-tapp{width:20px;height:20px;background:var(--must);border-color:var(--kuld)}
.m-marker .m-pulss{
  position:absolute;inset:-9px;border-radius:50%;
  border:1px solid rgba(185,155,103,.7);animation:pulss 2.4s ease-out infinite;
}
@keyframes pulss{from{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}
.leaflet-popup-content-wrapper{border-radius:0;box-shadow:0 18px 44px -12px rgba(0,0,0,.4)}
.leaflet-popup-content{font-family:var(--f-body);font-size:13px;margin:14px 18px;line-height:1.5}
.leaflet-popup-content strong{font-family:var(--f-display);font-weight:400;font-size:15.5px;display:block;margin-bottom:2px}
.kaart-margid{position:absolute;bottom:14px;left:calc(420px + 18px);z-index:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.88);padding:8px 14px;color:var(--tint-mahe)}

/* ---------- Loksa editorial ---------- */
.loksa-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,110px);align-items:center}
.loksa-pilt{overflow:hidden;aspect-ratio:4/5;background:var(--must)}
.loksa-pilt svg{width:100%;height:100%}
.loksa-tekst p{color:rgba(255,255,255,.66);margin-bottom:20px;font-size:15.5px}
.kaugused{list-style:none;margin-top:36px}
.kaugused li{
  display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  padding:16px 0;border-top:1px solid rgba(255,255,255,.12);
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8);
}
.kaugused li:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.kaugused li strong{font-family:var(--f-mono);font-weight:400;font-size:12.5px;color:var(--kuld-hele);letter-spacing:.06em}

/* ---------- Galerii ---------- */
.galerii-riba{
  display:flex;justify-content:space-between;align-items:center;gap:40px;
  border:1px solid var(--joon);padding:clamp(34px,4vw,56px);flex-wrap:wrap;
}
.galerii-riba h3{font-size:clamp(22px,2.2vw,30px);margin-bottom:8px}
.galerii-riba p{color:var(--tint-mahe);font-size:15px;max-width:520px}

/* ---------- Kontakt ---------- */
.kontakt-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(48px,6vw,110px);align-items:start}
.kontakt-info>.mikro{display:block;margin-bottom:22px}
.kontakt-info h2{margin-bottom:26px}
.kontakt-info>p{color:var(--tint-mahe);margin-bottom:40px}
.kontakt-rida{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:18px 0;border-top:1px solid var(--joon);
  font-size:15.5px;
}
.kontakt-rida:last-of-type{border-bottom:1px solid var(--joon)}
.kontakt-rida .mikro{font-size:10px}
.kontakt-rida a:hover{color:var(--kuld)}
.vorm{display:grid;gap:0}
.vali{position:relative;border-bottom:1px solid var(--joon);padding:22px 0 14px}
.vali label{
  display:block;font-size:10px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--tint-mahe);margin-bottom:10px;
}
.vali input,.vali select,.vali textarea{
  font-family:var(--f-body);font-size:16.5px;font-weight:300;color:var(--tint);
  background:transparent;border:none;width:100%;padding:2px 0;
  appearance:none;-webkit-appearance:none;
}
.vali input:focus,.vali select:focus,.vali textarea:focus{outline:none}
.vali::after{
  content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;
  background:var(--must);transition:width var(--siire);
}
.vali:focus-within::after{width:100%}
.vali select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' fill='none'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%23141613' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 2px center;cursor:pointer;
}
.vali textarea{min-height:90px;resize:vertical}
.vorm-jalus{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:36px;flex-wrap:wrap}
.vorm-jalus small{font-size:12px;color:var(--tint-mahe);max-width:340px;line-height:1.5}
.vorm-teade{display:none;padding:16px 0;font-size:14.5px;letter-spacing:.04em}
.vorm-teade.ok{display:block;color:#3e6a52}
.vorm-teade.viga{display:block;color:#8c3a30}

/* ---------- Uudiskiri ---------- */
.uudiskiri{background:var(--must);color:#fff}
.uudiskiri .laius{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,90px);
  align-items:center;padding-top:clamp(60px,7vw,100px);padding-bottom:clamp(60px,7vw,100px);
}
.uudiskiri h2{color:#fff;font-size:clamp(24px,2.6vw,36px)}
.uudiskiri .mikro{color:var(--kuld);display:block;margin-bottom:18px}
.uudiskiri p{color:rgba(255,255,255,.6);font-size:15px;margin-top:16px}
.uudiskiri-vorm{display:flex;border-bottom:1px solid rgba(255,255,255,.4)}
.uudiskiri-vorm input{
  flex:1;background:transparent;border:none;color:#fff;
  font-family:var(--f-body);font-weight:300;font-size:16px;padding:16px 0;
}
.uudiskiri-vorm input::placeholder{color:rgba(255,255,255,.4)}
.uudiskiri-vorm input:focus{outline:none}
.uudiskiri-vorm button{
  background:none;border:none;color:#fff;font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;padding:0 0 0 20px;transition:color .3s;
}
.uudiskiri-vorm button:hover{color:var(--kuld-hele)}
.uudiskiri-teade{font-size:13px;margin-top:12px;color:var(--kuld-hele);min-height:20px}

/* ---------- Jalus ---------- */
.jalus{background:var(--metsaoo);color:rgba(255,255,255,.6);padding:clamp(60px,7vw,96px) 0 36px}
.jalus-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(36px,4vw,70px);margin-bottom:70px}
.jalus .logo-nimi{color:#fff}
.jalus-kirjeldus{font-size:14px;max-width:320px;margin-top:20px;line-height:1.7;color:rgba(255,255,255,.5)}
.jalus h4{
  font-family:var(--f-body);font-weight:400;font-size:10.5px;
  letter-spacing:.32em;text-transform:uppercase;color:var(--kuld);margin-bottom:22px;
}
.jalus ul{list-style:none}
.jalus ul li{margin-bottom:12px}
.jalus ul a,.jalus ul span{font-size:14px;color:rgba(255,255,255,.66);transition:color .3s}
.jalus ul a:hover{color:#fff}
.jalus-alaosa{
  border-top:1px solid rgba(255,255,255,.1);padding-top:28px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);
}

/* ---------- Ilmumine ---------- */
.ilmub{opacity:0;transform:translateY(34px);transition:opacity 1s ease,transform 1s ease}
.ilmub.nahtaval{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .ilmub{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ---------- Adaptiivsus ---------- */
@media (max-width:1180px){
  .krundid-grid{grid-template-columns:repeat(2,1fr)}
  .kaart-grid{grid-template-columns:360px 1fr}
  .kaart-margid{left:calc(360px + 18px)}
}
@media (max-width:1020px){
  .intro-grid,.kontakt-grid,.loksa-grid{grid-template-columns:1fr;gap:56px}
  .uudiskiri .laius{grid-template-columns:1fr;gap:36px}
  .kaart-grid{grid-template-columns:1fr}
  #loksa-kaart{min-height:480px}
  .kaart-margid{left:18px}
}
@media (max-width:900px){
  .ylariba{display:none}
  .pais{top:0}
  .menyy{
    position:fixed;inset:0;background:rgba(10,12,10,.97);
    flex-direction:column;justify-content:center;gap:32px;
    opacity:0;pointer-events:none;transition:opacity var(--siire);
  }
  .menyy.avatud{opacity:1;pointer-events:auto}
  .menyy a{font-size:15px}
  .burger{display:block}
  .numbririba .laius{grid-template-columns:1fr 1fr;padding:0}
  .nr-yksus{padding:30px 16px}
  .nr-yksus:nth-child(3){border-left:none;border-top:1px solid var(--joon)}
  .nr-yksus:nth-child(4){border-top:1px solid var(--joon)}
  .hero-nav{display:none}
  .jalus-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .krundid-grid{grid-template-columns:1fr}
  .jalus-grid{grid-template-columns:1fr}
  .hero{min-height:560px}
  .hero-info h1{font-size:30px}
  .galerii-riba{flex-direction:column;align-items:flex-start}
}
