/* ==========================================================================
   NOOR-KALAMAJA — Salme tn 11 ja 13, Kalamaja
   Stiilileht. Nimeruum: nk- Kirjutatud nii, et see töötaks nii staatilise lehena kui ka
   WordPress / Gutenberg blokkidega (kõik selektorid on klassipõhised ja
   lamedad — Gutenbergi lisatud vahe-divid ei lõhu kujundust).
   ========================================================================== */

/* --- 1. Muutujad ---------------------------------------------------------- */
:root{
  --paper:      #F6F2E9;
  --paper-2:    #EFE9DC;
  --white:      #FFFDF9;
  --taupe:      #8E8272;
  --taupe-dark: #6F6455;
  --ink:        #33302A;
  --ink-2:      #4A453C;
  --muted:      #8A8377;
  --line:       #DDD5C6;
  --gold:       #B9A47B;

  --display: "ITC Clearface Std", "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:    "Jost", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --wrap: 1240px;
  --gut: clamp(20px, 5vw, 64px);
  --sp:  clamp(72px, 11vw, 160px);

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* --- 1b. Kirjatüüp: ITC Clearface Std ------------------------------------
   Pealkirjakiri. Fail on kaasas, sest tegemist on litsentsitud kirjaga —
   Google Fontsist seda ei tule. */
@font-face{
  font-family:"ITC Clearface Std";
  src:url("fonts/itc-clearface-std-regular.otf") format("opentype");
  font-weight:400; font-style:normal; font-display:swap;
}

/* --- 2. Alus -------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body.nk{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.7;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }

.nk-wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.nk-section{ padding-block:var(--sp); position:relative; }
.nk-section--tight{ padding-block:clamp(48px,7vw,96px); }

/* Toonivariandid — Gutenbergis lihtsalt grupile klass juurde */
.nk-tone-paper{ background:var(--paper); color:var(--ink); }
.nk-tone-light{ background:var(--paper-2); color:var(--ink); }
.nk-tone-white{ background:var(--white); color:var(--ink); }
.nk-tone-taupe{ background:var(--taupe); color:var(--white); }
.nk-tone-dark { background:var(--ink);  color:var(--paper); }
.nk-tone-taupe .nk-lead,
.nk-tone-dark  .nk-lead{ color:rgba(255,255,255,.78); }
.nk-tone-taupe .nk-text,
.nk-tone-dark  .nk-text{ color:rgba(255,255,255,.74); }

/* --- 3. Tüpograafia ------------------------------------------------------- */
.nk-h1,.nk-h2,.nk-h3,.nk-h4{
  font-family:var(--display);
  font-weight:400;
  letter-spacing:-.005em;
  line-height:1.08;
  margin:0 0 .5em;
}
.nk-h1{ font-size:clamp(44px, 7.4vw, 104px); line-height:1.02; }
.nk-h2{ font-size:clamp(32px, 4.4vw, 60px); }
.nk-h3{ font-size:clamp(24px, 2.6vw, 34px); line-height:1.18; }
.nk-h4{ font-size:clamp(19px, 1.6vw, 23px); line-height:1.25; margin-bottom:.35em; }
.nk-lead{
  font-size:clamp(17px,1.35vw,20px);
  line-height:1.72; color:var(--ink-2);
  max-width:62ch; margin:0 0 1.4em; font-weight:300;
}
.nk-text{ max-width:60ch; margin:0 0 1.15em; color:var(--ink-2); }
.nk-text:last-child{ margin-bottom:0; }
.nk-quote{
  font-family:var(--display);
  font-size:clamp(26px,3.4vw,46px);
  line-height:1.24; font-weight:300; font-style:italic;
  margin:0; max-width:22ch;
}
/* Telefonis on read lühikesed ja 1.24 jättis nad üksteise vastu kinni. */
@media (max-width:700px){ .nk-quote{ line-height:1.42; } }
.nk-num{ font-family:var(--display); font-variant-numeric:lining-nums; }

/* --- 4. Nupud ------------------------------------------------------------- */
.nk-btn{
  display:inline-flex; align-items:center; gap:.7em;
  font-family:var(--sans); font-size:13px; font-weight:400;
  letter-spacing:.18em; text-transform:uppercase;
  padding:16px 32px; border-radius:999px;
  text-decoration:none; cursor:pointer;
  border:1px solid var(--ink); background:var(--ink); color:var(--paper);
  transition:background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease), transform .4s var(--ease);
}
.nk-btn:hover{ background:transparent; color:var(--ink); transform:translateY(-2px); }
.nk-btn--ghost{ background:transparent; color:var(--ink); }
.nk-btn--ghost:hover{ background:var(--ink); color:var(--paper); }
.nk-btn--light{ background:var(--white); border-color:var(--white); color:var(--ink); }
.nk-btn--light:hover{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.6); }
.nk-btn--onDark{ background:transparent; border-color:rgba(255,255,255,.45); color:var(--white); }
.nk-btn--onDark:hover{ background:var(--white); color:var(--ink); border-color:var(--white); }
.nk-btns{ display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
/* Veeris on mõeldud pealkirja või teksti alla. Lõpukutsetel on nüüd ainult
   nupud, nii et üksi seistes lükkaks 36 px rea sektsioonis alla. */
.nk-wrap > .nk-btns:first-child{ margin-top:0; }

/* Keskele joondatud nupurida. Kõik lõpukutsed kannavad seda: nupud seisavad
   seal üksi, ilma pealkirja ja tekstita, mille alla joonduda — vasakusse
   serva jääks paar lehe laiuses rippu. Hero nupud ja paketi PDF-nupud on
   teksti all ja jäävad vasakule. */
.nk-btns--kesk{ justify-content:center; }

.nk-link{
  display:inline-flex; align-items:center; gap:.6em;
  font-size:13px; letter-spacing:.18em; text-transform:uppercase;
  text-decoration:none; padding-bottom:6px;
  border-bottom:1px solid currentColor;
  transition:gap .35s var(--ease), opacity .35s var(--ease);
}
.nk-link:hover{ gap:1.1em; opacity:.65; }

/* --- 5. Kaar ---------------------------------------------------------------
   Ülaosa kaarjas, alaosa täisnurkne — sama motiiv, mis trepikojaaknal.

   Tehtud ÜHE border-radius omadusega, mitte SVG maskiga. Põhjus: see ei
   sõltu ühestki <svg> definitsioonist lehel, ei lähe katki, kui WordPress,
   turvaplugin või optimeerija SVG-d liigutab, ega saa kunagi põrkuda
   avanemisanimatsiooniga (mis kasutab clip-path'i). Kuju on identne:
   horisontaalne raadius 50% + vertikaalne raadius annab täpselt sama kaare.

   Portreepiltidele: .nk-arch või .nk-arch--tall
   Maastikupiltidele: .nk-arch--wide (ümarad ülanurgad, mitte kuppel —
   lai kuppel näeb venitatud välja).                                       */
.nk-arch{
  position:relative; overflow:hidden;
  background:var(--paper-2);
  border-radius:50% 50% 0 0 / 34% 34% 0 0;
}
.nk-arch--tall{ border-radius:50% 50% 0 0 / 40% 40% 0 0; }
.nk-arch--wide{ border-radius:clamp(70px,12vw,190px) clamp(70px,12vw,190px) 0 0; }
.nk-arch--flip{ border-radius:0 0 50% 50% / 0 0 34% 34%; }
.nk-arch img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Kuvasuhted */
.nk-r-2x3{ aspect-ratio:2/3; }
.nk-r-3x4{ aspect-ratio:3/4; }
.nk-r-4x5{ aspect-ratio:4/5; }
.nk-r-1x1{ aspect-ratio:1/1; }
.nk-r-3x2{ aspect-ratio:3/2; }
.nk-r-16x9{ aspect-ratio:16/9; }
.nk-r-2x1{ aspect-ratio:2/1; }

/* Pildi kohatäide (kuni päris fotod tulevad) */
.nk-ph{
  display:flex; align-items:center; justify-content:center; text-align:center;
  background:
    repeating-linear-gradient(135deg, rgba(0,0,0,.022) 0 12px, transparent 12px 24px),
    var(--paper-2);
  color:var(--muted);
  font-size:12.5px; letter-spacing:.2em; text-transform:uppercase;
  padding:24px;
}
.nk-ph span{ max-width:22ch; line-height:1.9; }

/* Pildiplokk allkirjaga */
.nk-fig{ margin:0; }
.nk-cap{
  margin-top:14px; font-size:12.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted);
}

/* --- 6. Navigatsioon ------------------------------------------------------ */
.nk-bar{
  position:fixed; inset:0 0 auto 0; z-index:80;
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; padding:14px var(--gut);
  transition:background .5s var(--ease), box-shadow .5s var(--ease);
}
/* Riba kõrgus ja logo asukoht ei muutu kerides (23.09.2026): enne läks
   padding 22 px pealt 14 px peale ja logo hüppas üles. Nüüd on padding
   alati 14 px ja riba 71 px kõrge (`--nk-bar-h`) — 22 px juures oli riba
   87 px ja kattis kleepuva kaare ülaosa. Lehtede vahel
   liikudes (jaotus 23h) sattus siis vana ja uue lehe logo eri kõrgusele
   ja need kattusid hääbudes. Nüüd vahetub ainult taust. */
.nk-bar.is-stuck{
  background:rgba(246,242,233,.92);
  backdrop-filter:blur(10px);
  /* Alumine joon (box-shadow 0 1px 0 var(--line)) võeti ära 23.09.2026. */
}
.nk-mark{
  display:inline-block; text-decoration:none; color:var(--ink); line-height:0;
}
/* Ülariba tekstimärk („Noor-Kalamaja" tähtedega, koos oma `sup`-reegliga)
   asendati 22.09.2026 logoga — vt jaotust 6b. Kiri on alles ainult
   ekraanilugejale (`.nk-sr`), sest logo ise on pilt. */
.nk-bar-right{ display:flex; align-items:center; gap:clamp(14px,2vw,32px); }
/* Ülariba telefonid (`.nk-bar-tel`) võeti 22.09.2026 välja — ribale jäi
   ainult märk ja menüünupp. Koos lingiga läks ära ka tema CSS. */

/* --- 6b. Logo ------------------------------------------------------------
   Logo on kaks tükki (vt `class-slm-logo.php`): kaar sõnajalaga tuleb
   pildina ja jääb alati salveiroheliseks, sõnamärk on lehe sees ja
   joonistatakse `currentColor` abil — nii läheb ta ülariba ja jaluse
   värvivahetustega kaasa ise, ilma teise failita.

   Suhtarvud on originaalist maha mõõdetud, et lukustus jääks samaks:
   horisontaalis on ühikuks kaare kõrgus (`--nk-logo-h`), püstises
   sõnamärgi laius (`--nk-logo-w`). */
.nk-brand{ display:inline-flex; }
.nk-brand-marker{ display:block; width:auto; }
.nk-brand-tekst{ display:block; }
.nk-brand-tekst svg{ display:block; }

/* Kõrvuti: kaar, 26/88,8 vahe, sõnamärk. Sõnamärk istub kaare ülaservast
   27,7/88,8 võrra allpool — täpselt nii, nagu joonisel. */
.nk-brand--horisontaal{
  --nk-logo-h:40px; /* 34 px kuni 23.09.2026 */
  align-items:flex-start;
  gap:calc(var(--nk-logo-h) * .2928);
}
.nk-brand--horisontaal .nk-brand-marker{ height:var(--nk-logo-h); }
.nk-brand--horisontaal .nk-brand-tekst{ margin-top:calc(var(--nk-logo-h) * .3119); }
.nk-brand--horisontaal .nk-brand-tekst svg{
  height:calc(var(--nk-logo-h) * .5439); width:auto;
}

/* Üksteise all, kõik keskel. */
.nk-brand--vertikaal{
  --nk-logo-w:clamp(186px,21vw,264px);
  width:var(--nk-logo-w);
  flex-direction:column; align-items:center;
  gap:calc(var(--nk-logo-w) * .0625);
}
.nk-brand--vertikaal .nk-brand-marker{ height:calc(var(--nk-logo-w) * .334); }
.nk-brand--vertikaal .nk-brand-tekst{ width:100%; }
.nk-brand--vertikaal .nk-brand-tekst svg{ width:100%; height:auto; }

/* Kitsal ekraanil peab ülariba mahutama logo ja menüünupu kõrvuti. */
@media (max-width:560px){
  .nk-brand--horisontaal{ --nk-logo-h:30px; } /* 27 px kuni 23.09.2026 */
}

/* Ainult ekraanilugejale. */
.nk-sr{
  position:absolute; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}

/* Menüünupp */
.nk-burger{
  display:inline-flex; align-items:center; gap:12px;
  background:none; border:0; cursor:pointer; padding:8px 0;
  font-family:var(--sans); font-size:13px; letter-spacing:.2em;
  text-transform:uppercase; color:inherit;
}
.nk-burger-lines{ display:block; width:26px; }
.nk-burger-lines i{
  display:block; height:1px; background:currentColor; margin:6px 0;
  transition:transform .5s var(--ease), opacity .35s var(--ease);
}
body.nk-menu-open .nk-burger-lines i:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.nk-menu-open .nk-burger-lines i:nth-child(2){ opacity:0; }
body.nk-menu-open .nk-burger-lines i:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
/* Menüü avades kaob riba taust ja hägu kohe, ilma üleminekuta — muidu jäi
   ülevalt alla libiseva tumeda kihi peale pool sekundit heledat udust
   riba. Sulgedes (`nk-menu-sulgub`, JS paneb 0,8 s) jääb riba samasse
   olekusse, kuni tume kiht on ülevalt ära tõmmatud; siis tuleb taust
   tavalise üleminekuga tagasi. */
body.nk-menu-open .nk-bar,
body.nk-menu-sulgub .nk-bar{
  color:var(--paper); background:transparent; box-shadow:none;
  -webkit-backdrop-filter:none; backdrop-filter:none;
  transition:color .5s var(--ease);
}
body.nk-menu-open .nk-mark,
body.nk-menu-sulgub .nk-mark{ color:var(--paper); }
body.nk-menu-open{ overflow:hidden; }

/* Täisekraani menüü */
.nk-menu{
  position:fixed; inset:0; z-index:70;
  background:var(--ink); color:var(--paper);
  display:grid; grid-template-columns:1.02fr .98fr;
  clip-path:inset(0 0 100% 0);
  transition:clip-path .8s var(--ease);
  pointer-events:none;
}
body.nk-menu-open .nk-menu{ clip-path:inset(0 0 0 0); pointer-events:auto; }
/* Pilt vasakul, kiri paremal — lugemissuund viib pildilt menüüle. */
.nk-menu-view{ order:-1; }
.nk-menu-nav{
  align-self:center;
  padding:120px var(--gut) 60px;
  text-align:right;
}
.nk-menu-list{ list-style:none; margin:0; padding:0; }
.nk-menu-list li{ overflow:hidden; }
.nk-menu-list a{
  display:flex; align-items:baseline; justify-content:flex-end; gap:24px;
  font-family:var(--display); font-weight:300;
  font-size:clamp(34px,5.6vw,72px); line-height:1.16;
  text-decoration:none; color:var(--paper);
  padding:6px 0;
  transform:translateY(110%);
  transition:transform .8s var(--ease), color .4s var(--ease), opacity .4s var(--ease);
}
body.nk-menu-open .nk-menu-list a{ transform:translateY(0); transition-delay:calc(.16s + var(--i,0) * .06s); }
.nk-menu-list a em{
  font-family:var(--sans); font-style:normal;
  font-size:12.5px; letter-spacing:.24em; opacity:.42;
  transform:translateY(-.35em);
}
.nk-menu-nav:hover .nk-menu-list a{ opacity:.38; }
.nk-menu-nav .nk-menu-list a:hover{ opacity:1; }

/* Menüü pildipaneel — vahetub lingi kohal hõljudes */
.nk-menu-view{ position:relative; overflow:hidden; }
/* Kaar on 3:4 ja pealt täpne poolring (vertikaalraadius = pool laiust =
   37,5% kõrgusest), nii et kuppel on sümmeetriline. Suurust juhib laius,
   kõrgus tuleb kuvasuhtest — nii ei saa suhe kunagi moonduda, ka siis,
   kui veerg on kitsas (23.09.2026 proovitud 1:1 moondus just nii).
   Kõrgus on 20 px väiksem kui enne (92% − 20 px); kitsas aknas piirab
   veerg laiust ja kaar lihtsalt väheneb. */
.nk-menu-view .nk-arch{
  position:absolute; inset:auto auto 0 0;
  width:min(calc((92svh - 20px) * .75), calc(100% - clamp(12px,2.5vw,48px)));
  height:auto; aspect-ratio:3/4;
  border-radius:50% 50% 0 0 / 37.5% 37.5% 0 0;
  background:var(--taupe-dark);
}
.nk-menu-shot{
  position:absolute; inset:0; opacity:0;
  transition:opacity .7s var(--ease), transform 1.2s var(--ease);
  transform:scale(1.06);
}
.nk-menu-shot.is-on{ opacity:1; transform:scale(1); }
/* --- 7. Hero -------------------------------------------------------------- */
.nk-hero{
  position:relative; min-height:100svh;
  display:flex; flex-direction:column;
  padding-top:clamp(118px,15vh,180px); overflow:hidden;
  background:linear-gradient(180deg,#FBF9F4 0%, var(--paper) 62%, var(--paper-2) 100%);
}
.nk-hero-copy{ position:relative; z-index:2; }
.nk-hero-title{ max-width:16ch; }
.nk-hero-sub{
  font-size:clamp(15px,1.2vw,18px); letter-spacing:.02em;
  color:var(--ink-2); max-width:44ch; margin:24px 0 0;
}
/* Joonistus istub hero alaosas — pealkiri jääb „taeva" peale */
.nk-hero-art{
  position:absolute; inset:auto 0 0 0; z-index:1;
  height:min(54%, 560px);
  pointer-events:none; line-height:0;
  mask-image:linear-gradient(180deg, transparent 0, #000 26%, #000 100%);
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 26%, #000 100%);
}
.nk-hero-art img{ width:100%; height:100%; object-fit:cover; object-position:center bottom; opacity:.95; }
.nk-hero-foot{ margin-top:auto; }
.nk-hero-meta{
  position:relative; z-index:2;
  border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; gap:20px 48px;
  padding:22px 0 30px;
  font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted);
}
.nk-scroll{
  position:absolute; left:50%; bottom:18px; z-index:3;
  transform:translateX(-50%);
  font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--muted);
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.nk-scroll::after{
  content:""; width:1px; height:44px;
  background:linear-gradient(180deg,var(--muted),transparent);
  animation:nkDrop 2.4s var(--ease) infinite;
}
@keyframes nkDrop{ 0%{transform:scaleY(0);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} 51%{transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }

/* --- 8. Ribalause --------------------------------------------------------- */
.nk-band{ text-align:center; }
.nk-band .nk-h2{ margin-bottom:.35em; }
.nk-band .nk-lead{ margin-inline:auto; text-align:center; }

/* --- 9. Numbrid ----------------------------------------------------------- */
.nk-stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(24px,3vw,48px);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding-block:clamp(36px,5vw,64px);
}
.nk-stat-n{ font-family:var(--display); font-size:clamp(38px,4.6vw,64px); line-height:1; font-weight:300; }
.nk-stat-l{ margin-top:10px; font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }

/* --- 10. Kaks veergu (tekst + pilt) --------------------------------------- */
.nk-split{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(32px,6vw,96px); align-items:center;
}
.nk-split--wideL{ grid-template-columns:1.15fr .85fr; }
.nk-split--wideR{ grid-template-columns:.85fr 1.15fr; }
.nk-split--top{ align-items:start; }
.nk-order-first{ order:-1; }

/* Loetelu joonega */
.nk-list{ list-style:none; margin:34px 0 0; padding:0; }
.nk-list li{
  padding:16px 0 16px 30px; border-top:1px solid var(--line);
  position:relative; font-size:15px; color:var(--ink-2);
}
.nk-list li:last-child{ border-bottom:1px solid var(--line); }
/* Väike kuldne romb — déco geomeetria, mitte kaar (kaar mõjus väikeselt
   kulmu/kurva suuna moodi). */
.nk-list li::before{
  content:""; position:absolute; left:1px; top:26px;
  width:6px; height:6px; background:var(--gold);
  transform:rotate(45deg);
}

/* --- 11. Kaugused (tüpograafiline loend, ilma piltideta) ------------------ */
.nk-dist{
  display:grid; grid-template-columns:1fr 1fr;
  column-gap:clamp(32px,6vw,88px);
  margin-top:clamp(36px,4.5vw,56px);
}
.nk-dist-i{
  display:flex; align-items:baseline; justify-content:space-between; gap:24px;
  padding:17px 0; border-bottom:1px solid var(--line);
}
.nk-dist-l{ font-size:15px; color:var(--ink-2); }
.nk-dist-n{
  font-family:var(--display); font-size:21px; line-height:1;
  color:var(--ink); white-space:nowrap;
}

/* --- 11b. Majad ----------------------------------------------------------- */
.nk-houses{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(20px,2.6vw,36px);
  margin-top:clamp(40px,5vw,64px);
}
.nk-house{ padding-top:24px; border-top:1px solid var(--ink); }
.nk-house-n{ font-family:var(--display); font-size:clamp(30px,3vw,44px); line-height:1.1; }
.nk-house-a{ margin-top:8px; font-size:14px; letter-spacing:.08em; color:var(--muted); }
.nk-house-t{ margin-top:14px; font-size:15.5px; color:var(--ink-2); line-height:1.65; }
/* Kodude arv on aadressiga ühel real (23.09.2026): „Salme tn 11/1 • 7 KODU“.
   Enne oli ta omaette lõik (`.nk-house-c`) kirjelduse all. */
.nk-house-sep{ margin:0 .35em; color:var(--muted); }
.nk-house-arv{
  font-size:12.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold); font-weight:500; white-space:nowrap;
}
/* Tekstid on eri pikkusega, aga link peab neljas veerus samal joonel
   seisma — seepärast lükkab auto-veeris ta veeru alla. */
.nk-house-body{ display:flex; flex-direction:column; flex:1 1 auto; }
.nk-house-l{ margin-top:auto; padding-top:22px; }
/* Maja pilt viib hinnakirja. Link täidab kaare, et klõps läheks
   kogu pildi pealt, mitte ainult teksti realt. */
.nk-house-pilt a{ display:block; width:100%; height:100%; }
.nk-house-pilt img{ transition:transform .9s var(--ease); }
.nk-house-pilt a:hover img{ transform:scale(1.035); }

/* --- 12. Korterid --------------------------------------------------------- */
.nk-filters{
  display:flex; flex-wrap:wrap; gap:12px; align-items:center;
  margin:clamp(32px,4vw,48px) 0 22px;
}
.nk-filters label{
  font-size:12px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--muted); display:block; margin-bottom:7px;
}
.nk-select{
  appearance:none; -webkit-appearance:none;
  font-family:var(--sans); font-size:16px; font-weight:300; color:var(--ink);
  background:transparent; border:1px solid var(--line); border-radius:999px;
  padding:12px 42px 12px 20px; min-width:158px; cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'><path d='M1 1l4 4 4-4' fill='none' stroke='%238A8377' stroke-width='1'/></svg>");
  background-repeat:no-repeat; background-position:right 18px center;
  transition:border-color .3s var(--ease);
}
.nk-select:hover,.nk-select:focus{ border-color:var(--ink); outline:none; }
.nk-count{ margin-left:auto; font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }

.nk-tablewrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.nk-table{ width:100%; border-collapse:collapse; min-width:960px; }
.nk-table thead th{
  text-align:left; font-weight:400;
  font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted);
  padding:0 18px 11px 0; border-bottom:1px solid var(--ink);
  white-space:nowrap;
}
/* Tihe rida: 35 kodu peab korraga kerimata ette mahtuma, seega on püstvahe
   napp ja kõrguse annab sisu, mitte polster. */
.nk-table tbody td{
  padding:10px 18px 10px 0; border-bottom:1px solid var(--line);
  font-size:15px; color:var(--ink-2); white-space:nowrap; vertical-align:middle;
}
.nk-table tbody tr{ transition:background .3s var(--ease); }
.nk-table tbody tr:hover{ background:rgba(185,164,123,.09); }
.nk-cell-id{ font-family:var(--display); font-size:22px; line-height:1.2; color:var(--ink); display:inline-block; }
.nk-table tbody td small{
  display:block; font-size:12px; letter-spacing:.1em; line-height:1.4;
  color:var(--muted); margin-top:1px;
}
/* Staatusesilt on täidetud pill, mitte ainult ääris — staatus peab tabelis ja
   korteri lehel kohe välja lugema. Toonid on kliendi omad (23.09.2026).
   Kiri on kreemjas nagu enne, aga tavalõikes (400), mitte heledas (300) —
   klient ei tahtnud tumedat kirja. Heledatel toonidel on kontrast väike
   (1,6–3,5:1), paksem kiri aitab lugeda. Enne olid toonid
   #556F52 / #7E6323 / #8C6157. */
.nk-tag{
  display:inline-block; font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  padding:7px 16px; border-radius:999px; border:1px solid transparent;
  background:var(--taupe); color:var(--paper); white-space:nowrap;
  font-weight:400;
}
.nk-tag--vaba{ background:#95A293; }
.nk-tag--bron{ background:#DABD99; }
.nk-tag--muud{ background:#A97373; }
/* Tabelis annab silt rea kõrguse — seal on ta väiksem kui korteri lehel. */
.nk-table .nk-tag{ padding:5px 14px; }
.nk-tcta{ font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:4px; transition:border-color .3s var(--ease); }
.nk-tcta:hover{ border-color:var(--ink); }
.nk-note{ margin-top:22px; font-size:15px; color:var(--muted); }
/* Sama märkus tabeli kohal: filtrite alt tuleb vahe juba nende oma
   veerisest, vaja on õhku allapoole. */
.nk-note--enne{ margin:0 0 16px; }

/* Esiletõstetud kodud */
.nk-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,40px); }
.nk-card{ text-decoration:none; color:inherit; display:block; }
.nk-card .nk-arch{ margin-bottom:20px; transition:transform .8s var(--ease); }
.nk-card:hover .nk-arch{ transform:translateY(-6px); }
.nk-card img{ transition:transform 1.2s var(--ease); }
.nk-card:hover img{ transform:scale(1.05); }
.nk-card-meta{ display:flex; flex-wrap:wrap; gap:6px 16px; font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-top:8px; }

/* --- 13. Galerii — slaidid, nool kummalgi serval -------------------------
   Üks pilt korraga, ristihääbumisega. Pildid on rühmaplokid `nk-slaid-lava`
   sees ja JS leiab nad järjekorra järgi — pildi lisamiseks kopeeri redaktoris
   üks `nk-slaid-i` rühm, muud ei ole vaja.

   **Raam ja noolteriba peavad olema täpselt sama kastiga**: noolteriba
   laotakse pildi peale absoluutselt ja keskjoondub iseenda kõrguse järgi.
   Seepärast on kõrgus piiratud **laiuse, mitte `max-height`-iga**. Varem
   oli raamil ja ribal `max-height:76vh` ja madalas aknas läksid nad lahku:
   raam on tavaline plokk, tema jäi 100% laiaks ja muutus lihtsalt lapikuks,
   riba aga on absoluutne ja `aspect-ratio` arvutas talle kärbitud kõrgusest
   uue laiuse, visates `right:0` minema — 1700 × 820 aknas oli raam 1560 px
   ja riba 997 px, nii et parem nool seisis pildi keskkohas. Nüüd ei ole
   kärpida midagi: mõlemad on täislaiad ja sama küljesuhtega.

   Küljesuhe on ühes kohas (`--slaid-rw` / `--slaid-rh`) ja laiuse lagi
   arvutatakse sellest — nii ei saa need kaks omavahel lahku minna.

   **Laius ja küljesuhe käivad käsikäes.** Kuna kõrgust piirab laius, teeb
   kõrgem raam pildi kitsamaks. 8:5 juures mahtus 1440 × 900 aknasse ainult
   1094 px ehk 76% aknast; 16:9 juures on sama kõrgusega pilt 1354 px ehk
   94%. Laiemat pilti tahtes tuleb seega raami lamedamaks lasta, mitte
   `--slaid-vw` tõsta — seda piirab niikuinii kõrgus.

   `is-valmis` paneb JS peale. Ilma JS-ita jäävad slaidid lihtsalt üksteise
   alla tavaliseks galeriiks ja nooled on peidus — leht on terve. */
.nk-slaid{
  /* 16:9 — siseruumirenderid istuvad täpselt, välisvaadetelt (3:2) jääb
     üleval ja all kokku kuuendik varju. Vt allpool, miks nii lai. */
  --slaid-rw: 16;
  --slaid-rh: 9;
  --slaid-korgus: 86vh;    /* pikk pilt ei tohi üle akna ulatuda */
  --slaid-vw: 94vw;        /* peaaegu servast servani */
  position:relative;
  width:min(2200px, var(--slaid-vw), calc(var(--slaid-korgus) * var(--slaid-rw) / var(--slaid-rh)));
  margin-inline:auto;
}
.nk-slaid-lava{ display:grid; gap:clamp(28px,4vw,56px); }
.nk-slaid.is-valmis .nk-slaid-lava{ gap:0; }
.nk-slaid.is-valmis .nk-slaid-lava:focus-visible{ outline:2px solid var(--ink); outline-offset:6px; }

/* Ruudustikuga virnastamine, mitte absoluutne: lahter võtab kõige pikema
   slaidi mõõdu, nii et allkirja teine rida ei hüpitaks kõrgust. */
.nk-slaid.is-valmis .nk-slaid-i{
  grid-area:1 / 1;
  opacity:0; visibility:hidden;
  transition:opacity .55s var(--ease), visibility 0s .55s;
}
.nk-slaid.is-valmis .nk-slaid-i.is-on{
  opacity:1; visibility:visible;
  transition:opacity .55s var(--ease);
}
.nk-slaid-pilt{
  aspect-ratio:var(--slaid-rw) / var(--slaid-rh);
  width:100%;
}
.nk-slaid-cap{ margin-top:14px; }

/* Nooled. Riba katab täpselt pildi, mitte tervet slaidi — allkiri jääb
   allapoole ja nool püsib pildi keskel. */
.nk-slaid-nav{
  display:none;
  position:absolute; inset:0 0 auto 0;
  aspect-ratio:var(--slaid-rw) / var(--slaid-rh);
  align-items:center; justify-content:space-between;
  padding-inline:clamp(12px,2vw,26px);
  pointer-events:none;
}
.nk-slaid.is-valmis .nk-slaid-nav{ display:flex; }
/* Nupp on paberivärvi ketas, mitte läbipaistev raam: render võib noole
   taga olla ükskõik mis tooni ja poolläbipaistev nool kadus heleda taeva
   peal ära. Paber loeb igal pildil ja käib saidi paletiga kokku. */
.nk-slaid-nupp{
  pointer-events:auto;
  width:clamp(46px,4.4vw,60px); aspect-ratio:1; padding:0;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; cursor:pointer;
  border:0;
  background:rgba(246,242,233,.92);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  box-shadow:0 2px 14px rgba(51,48,42,.18);
  color:var(--ink);
  font-family:var(--sans); font-size:clamp(18px,1.7vw,22px); line-height:1;
  transition:background .35s var(--ease), color .35s var(--ease),
             transform .35s var(--ease);
}
/* Hõljumine ainult päris hiirega (23.09.2026): puuteekraanil jäi :hover
   pärast toksamist külge ja viimati vajutatud nool seisis tumedana 3 px
   nihkes. `translate`, mitte `transform` — telefonis kasutab transform'i
   allpool noole allaviimine. */
@media (hover:hover) and (pointer:fine){
  .nk-slaid-nupp:hover{ background:var(--ink); color:var(--paper); }
  .nk-slaid-nupp--eel:hover{ translate:-3px 0; }
  .nk-slaid-nupp--jargi:hover{ translate:3px 0; }
}
.nk-slaid-nupp:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }

/* Loendur ja edenemisjoon pildi all. */
.nk-slaid-riba{
  display:none; align-items:center; gap:clamp(16px,2.4vw,32px);
  margin-top:18px;
}
.nk-slaid.is-valmis .nk-slaid-riba{ display:flex; }
.nk-slaid-loend{
  font-size:12.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--muted); white-space:nowrap;
}
.nk-slaid-loend b{ font-weight:400; color:var(--ink); }
.nk-slaid-joon{ flex:1 1 auto; height:1px; background:var(--line); position:relative; overflow:hidden; }
.nk-slaid-joon i{
  position:absolute; inset:0 auto 0 0; width:0;
  background:var(--ink); transition:width .5s var(--ease);
}

@media (max-width:700px){
  /* Telefonis on lai kaader liiga madal — püstisem raam annab pildile ruumi.
     Serva jäetakse ka pisut rohkem kui lauaarvutis. */
  .nk-slaid{ --slaid-rw: 4; --slaid-rh: 3; --slaid-vw: 92vw; }

  /* Nooled pildi alla, loenduri ritta paremale (23.09.2026): kitsas
     kaadris kattis kaks ketast suure osa pildist. Noolteriba jääb pildi
     kasti mõõtu, nupud nihutatakse selle alumise serva alla; loendur
     saab sama kõrguse, et kõik istuks ühel joonel. */
  .nk-slaid-nav{
    justify-content:flex-end; align-items:flex-end;
    gap:10px; padding-inline:0;
  }
  .nk-slaid-nupp{
    width:40px; font-size:17px;
    transform:translateY(calc(100% + 12px));
    background:var(--paper); box-shadow:none;
    border:1px solid var(--line);
    -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  .nk-slaid-riba{ margin-top:12px; min-height:40px; padding-right:100px; }
}
@media (prefers-reduced-motion: reduce){
  .nk-slaid.is-valmis .nk-slaid-i,
  .nk-slaid-joon i{ transition:none; }
}

/* --- 13b. Lai showcase-pilt (maastik, õhku ümber) ------------------------- */
.nk-showcase{ margin:0; }
.nk-showcase .nk-arch{ width:min(1560px, 92vw); margin-inline:auto; }
.nk-showcase .nk-cap{ text-align:center; }

/* --- 14. Siseviimistlus --------------------------------------------------- */
.nk-pack{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,64px); }
.nk-pack .nk-arch{ margin-bottom:24px; }

/* --- 15. Ajakava ---------------------------------------------------------- */
.nk-time{ display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(18px,2.4vw,32px); margin-top:clamp(36px,5vw,56px); }
.nk-time-i{ padding-top:26px; border-top:1px solid var(--line); position:relative; }
.nk-time-i::before{
  content:""; position:absolute; top:-4px; left:0; width:7px; height:7px;
  border-radius:50%; background:var(--line);
}
.nk-time-i.is-done::before{ background:var(--gold); }
.nk-time-d{ font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.nk-time-t{ font-family:var(--display); font-size:clamp(19px,1.7vw,24px); margin-top:8px; line-height:1.24; }

/* --- 16. Meeskond (ainult tekst) ------------------------------------------
   Veerge on nii palju, kui nimesid on. Kõva `repeat(4,1fr)` jättis kolme
   nimega rea lõppu tühja veeru; auto-fit laotab olemasolevad laiali. */
.nk-team{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:clamp(20px,3vw,40px); margin-top:clamp(32px,4vw,52px); }
.nk-team-i{ padding-top:22px; border-top:1px solid var(--line); }
.nk-team-r{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.nk-team-n{ font-family:var(--display); font-size:22px; line-height:1.2; }
.nk-team-sub{ font-family:var(--sans); font-size:15px; letter-spacing:.06em; color:var(--muted); }

/* --- 17. Kontakt ---------------------------------------------------------- */
.nk-form{ display:grid; grid-template-columns:1fr 1fr; gap:22px 26px; margin-top:8px; }
.nk-field{ display:flex; flex-direction:column; }
.nk-field--full{ grid-column:1 / -1; }
.nk-field label{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:10px; }
.nk-input,.nk-textarea{
  font-family:var(--sans); font-size:15px; font-weight:300; color:var(--white);
  background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.28);
  padding:10px 0; transition:border-color .3s var(--ease);
}
.nk-input:focus,.nk-textarea:focus{ outline:none; border-bottom-color:var(--white); }
.nk-textarea{ resize:vertical; min-height:76px; }
.nk-form .nk-select{ color:var(--white); border-color:rgba(255,255,255,.28); }
/* Valikud avanevad süsteemi heledas loendis — valge tekst jäi nähtamatuks
   (24.09.2026). */
.nk-form .nk-select option{ color:var(--ink); background:var(--paper); }
.nk-check{ display:flex; gap:12px; align-items:flex-start; font-size:14px; color:rgba(255,255,255,.6); line-height:1.6; }
.nk-check input{ margin-top:4px; accent-color:var(--gold); }
.nk-person{ margin-top:44px; padding-top:34px; border-top:1px solid rgba(255,255,255,.18); }
.nk-person-n{ font-family:var(--display); font-size:24px; line-height:1.2; }
.nk-person-r{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-top:4px; }
.nk-person-c{ margin-top:10px; font-size:15.5px; }
.nk-person-c a{ text-decoration:none; border-bottom:1px solid rgba(255,255,255,.3); }

/* --- 18. Jalus ------------------------------------------------------------ */
.nk-foot{ padding-block:clamp(72px,9vw,124px) 34px; text-align:center; }
/* Jalus täidab kogu akna kõrguse (1.24.0): logo, menüü ja aadress on
   keskel, alumine rida akna põhjas. `auto` ülaveeris esimesel ja alumisel
   real jagab vaba ruumi nende vahel. */
.nk-foot{ min-height:100vh; min-height:100svh; display:flex; flex-direction:column; }
.nk-foot > .nk-wrap{ flex:1; width:100%; display:flex; flex-direction:column; }
.nk-foot > .nk-wrap > :first-child{ margin-top:auto; }
.nk .nk-foot .nk-foot-bot{ margin-top:0; }
/* Aadress istub eraldusjoone kohal (23.09.2026: 20 px, enne 48–76 px ja
   automaatne vahe joone kohal). Vaba ruum läheb nüüd aadressi kohale. */
.nk .nk-foot .nk-foot-sub{ margin-top:auto; margin-bottom:20px; }

/* Suur keskele seatud menüü. Hõljumisel tõmbub lingi kohale väike kaar —
   sama motiiv, mis majade trepikojaaknal. */
.nk-foot-nav{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start;
  gap:clamp(16px,3.4vw,56px);
  margin-bottom:clamp(52px,6.5vw,88px);
}
.nk-foot-nav a{
  position:relative; display:inline-block;
  font-family:var(--display); font-weight:300;
  font-size:clamp(26px,4.2vw,54px); line-height:1.1;
  text-decoration:none; color:var(--paper);
  padding-top:24px;
  transition:color .4s var(--ease), transform .5s var(--ease), opacity .4s var(--ease);
}
.nk-foot-nav a::before{
  content:""; position:absolute; top:2px; left:50%;
  width:28px; height:14px;
  border:1px solid var(--gold); border-bottom:0; border-radius:28px 28px 0 0;
  transform:translateX(-50%) scaleY(0); transform-origin:bottom; opacity:0;
  transition:transform .45s var(--ease), opacity .45s var(--ease);
}
.nk-foot-nav:hover a{ opacity:.38; }
.nk-foot-nav a:hover,
.nk-foot-nav a:focus-visible{ opacity:1; color:var(--white); transform:translateY(-4px); }
.nk-foot-nav a:hover::before,
.nk-foot-nav a:focus-visible::before{ transform:translateX(-50%) scaleY(1); opacity:1; }

/* Logo avab jaluse ja seisab menüü kohal. Tekstimärk („Noor-Kalamaja"
   tähtedega, klass `.nk-foot-mark`) võeti 22.09.2026 ära — logo kannab
   sedasama nime ja kaks korda ei ole teda vaja. */
.nk-foot-logo{
  display:flex; justify-content:center;
  margin-bottom:clamp(54px,6.8vw,90px);
}
.nk-foot-sub{
  margin:14px 0 0; font-size:12.5px; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(255,255,255,.5);
}
/* Jaluse kontaktirida (`.nk-foot-contact`) võeti 22.09.2026 välja — kontakt
   elab Kontakti lehel. Koos plokiga läks ära ka tema CSS. */
.nk-foot-bot{
  margin-top:clamp(48px,6vw,76px); padding-top:26px;
  border-top:1px solid rgba(255,255,255,.16);
  display:flex; flex-wrap:wrap; gap:10px 30px; justify-content:center;
  font-size:15px; color:rgba(255,255,255,.5); /* 11,5 px / .42 kuni 23.09.2026 */
}
.nk-foot-bot a{ color:inherit; text-decoration:none; }
.nk-foot-bot a:hover{ color:rgba(255,255,255,.75); }

/* --- 19. Ilmumisanimatsioon ----------------------------------------------- */
[data-reveal]{
  opacity:0; transform:translateY(26px);
  transition:opacity 1.05s var(--ease), transform 1.05s var(--ease);
  transition-delay:calc(var(--d,0) * 90ms);
  will-change:opacity, transform;
}
[data-reveal].is-in{ opacity:1; transform:none; }
/* Pildi ilmumine — üks liigutus igale pildiraamile (kaar, ümarate
   nurkadega raam, lai showcase, galerii).
   Raam ei liigu: ta hääbub sisse paigal ja pilt tema sees vajub
   pehmelt oma mõõtu (1.08 → 1). Sama keel, mis kleepuva kaare ja menüü
   pildivahetusel, nii et kogu sait liigub ühtemoodi.
   Kuni 23.09.2026 avanes pilt clip-path'iga ülevalt alla. Klient: „nagu
   internet oleks aeglane" — pooleldi joonistatud pilt näeb välja nagu
   pooleldi laetud pilt. Hääbumine seda muljet ei jäta.
   :where() hoiab reeglid nulli spetsiifikusega — nii võidavad neid
   raamide endi hõljumisefektid (.nk-house-pilt, .nk-card) ja nende
   üleminekuajad, ilma et siin peaks neist midagi teadma. */
[data-reveal="mask"]{
  transform:none;
  transition:opacity 1.3s var(--ease);
  transition-delay:calc(var(--d,0) * 110ms);
}
:where([data-reveal="mask"]) :where(.nk-arch,.nk-soft) img,
:where([data-reveal="mask"]:is(.nk-arch,.nk-soft)) img{
  transform:scale(1.08);
  transition:transform 2.2s var(--ease);
  transition-delay:calc(var(--d,0) * 110ms); /* --d pärandub ümbriselt */
}
:where([data-reveal="mask"].is-in) :where(.nk-arch,.nk-soft) img,
:where([data-reveal="mask"].is-in:is(.nk-arch,.nk-soft)) img{ transform:none; }
[data-reveal="right"]{ transform:translateX(28px); }
[data-reveal="right"].is-in{ transform:none; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  [data-reveal]{ opacity:1 !important; transform:none !important; transition:none !important; }
  [data-reveal="mask"] img{ transform:none !important; transition:none !important; }
  .nk-scroll::after{ animation:none; }
  .nk-menu,.nk-menu-list a{ transition-duration:.01ms !important; }
}

/* --- 20. Kohanemine ------------------------------------------------------- */
/* Madalad ekraanid (sülearvutid): joonistus ei tohi teksti alla mattuda */
@media (max-height:860px){
  .nk-hero{ padding-top:clamp(92px,12vh,132px); }
  .nk-hero-art{ height:min(42%, 330px); }
  .nk-h1{ font-size:clamp(38px,5vw,64px); }
  .nk-hero-sub{ font-size:15px; margin-top:18px; }
  .nk-hero--foto .nk-hero-sub{ font-size:17px; }
  .nk-hero .nk-btns{ margin-top:26px; }
}
@media (max-height:680px){
  .nk-hero-art{ height:min(34%, 240px); }
  .nk-scroll{ display:none; }
}

@media (max-width:1080px){
  .nk-houses{ grid-template-columns:repeat(2,1fr); row-gap:34px; }
  .nk-team{ grid-template-columns:repeat(2,1fr); }
  .nk-time{ grid-template-columns:repeat(3,1fr); row-gap:30px; }
}
@media (max-width:860px){
  .nk-menu{ grid-template-columns:1fr; }
  .nk-menu-view{ display:none; }
  .nk-menu-nav{ padding-top:132px; }
  .nk-split,.nk-split--wideL,.nk-split--wideR,.nk-pack,.nk-form,.nk-dist{ grid-template-columns:1fr; }
  .nk-order-first{ order:0; }
  .nk-cards{ grid-template-columns:1fr; }
  .nk-stats{ grid-template-columns:repeat(2,1fr); row-gap:34px; }
  .nk-foot-nav{ gap:14px 26px; }
  .nk-field--full{ grid-column:auto; }
}
@media (max-width:560px){
  .nk-houses{ grid-template-columns:1fr; }
  .nk-time{ grid-template-columns:1fr 1fr; }
  .nk-hero{ min-height:92svh; }
  /* Nupud on oma loomulikus mõõdus, mitte ekraani laiused (kuni
     23.09.2026 width:100%). Paar laotakse üksteise alla ja mõlemad
     võtavad laiema nupu laiuse — nii on nad ühesugused. */
  .nk-btns{ display:grid; grid-template-columns:fit-content(100%); }
  .nk-btns--kesk,.nk-hero--foto .nk-btns,.nk-valija-riba .nk-btns{ justify-content:center; }
  .nk-btns .nk-btn{ justify-content:center; }
}

/* --- 21. WordPress / Gutenberg abiklassid --------------------------------- */
.nk .wp-block-group,
.nk .wp-block-columns,
.nk .wp-block-column{ margin-block:0; }
/* Null-spetsiifikus: võidab brauseri <figure> vaikemarginaali, aga ei
   kirjuta üle kujunduse enda joondust (.nk-showcase .nk-arch tahab
   margin-inline:auto, et lai pilt oleks keskel). */
:where(.nk) :where(.wp-block-image){ margin:0; }
.nk .alignfull{ margin-inline:0; max-width:none; }
.nk .nk-section > .wp-block-group__inner-container{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.nk-editor-hint{ display:none; }

/* --- Hinnale lisandub -----------------------------------------------------
   Parkimiskoht, panipaik ja viimistluspakett. Kolm kaarja peaga paneeli —
   sama motiiv kui majade trepikojaaknal, tehtud border-radiusega, mitte
   maskiga (vt CLAUDE.md). Ikoonipaneel ei ole pildiraam: seal on alati
   nähtav joonikoon. */
.nk-lisad{
  /* Jooneta: alapealkiri ja sektsioonide vahe eraldavad juba piisavalt. */
  margin-top:clamp(56px,8vw,110px);
}
.nk-lisad-grid{
  list-style:none; margin:0; padding:0;
  display:grid; gap:1px;
  /* Neli paneeli: 4×1 või 2×2, vahepealset 3+1 (tühi tume lahter) ei ole
     (24.09.2026). Telefonil üks veerg allpool. */
  grid-template-columns:repeat(2,1fr);
  background:var(--line);
  border:1px solid var(--line);
}
.nk-lisa{
  background:var(--paper);
  padding:30px clamp(20px,2.4vw,34px) 32px;
  display:flex; flex-direction:column; align-items:flex-start;
}
.nk-lisa-ikoon{
  display:flex; align-items:flex-end; justify-content:center;
  width:56px; height:64px; margin-bottom:20px;
  padding-bottom:12px;
  color:var(--taupe);
  background:var(--paper-2);
  border-radius:28px 28px 0 0;   /* kaar: ümar pea, täisnurkne jalg */
}
.nk-lisa-t{
  font-family:var(--display); font-weight:300;
  font-size:clamp(24px,2.2vw,29px); line-height:1.15;
  margin:0 0 8px; color:var(--ink);
}
.nk-lisa-k{
  margin:0 0 auto; padding-bottom:22px;
  font-size:15.5px; line-height:1.55; color:var(--muted); max-width:26ch;
}
.nk-lisa-h{
  margin:0; font-family:var(--display); font-weight:300;
  font-size:clamp(26px,2.6vw,34px); line-height:1; color:var(--ink);
  letter-spacing:-.01em;
}
/* Maksetingimustel hinda ei ole — tekst on siin sisu, mitte allkiri, nii et
   26ch kitsendus ja hinna jaoks hoitud vahe jäävad ära. Tekst istub
   paneeli all, samal joonel teiste paneelide hinna ja pakettidega
   (23.09.2026). */
.nk-lisa--maks .nk-lisa-k{ max-width:none; margin:auto 0 0; padding-bottom:0; }

/* Viimistlus: kolm paketti ühes paneelis, hind rea lõpus. */
.nk-pakid{ list-style:none; margin:0; padding:0; width:100%; }
.nk-pakid li{
  display:flex; align-items:center; gap:11px;
  padding:11px 0; border-top:1px solid var(--line);
  font-size:15px;
}
.nk-pakid li:first-child{ border-top:0; }
.nk-pakk-n{
  font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink);
}
.nk-pakk-h{
  margin-left:auto; text-align:right; color:var(--ink); white-space:nowrap;
  font-size:15px;
}
.nk-pakk-h--sees{ color:var(--muted); }

/* Toonitäpid — sama palett, mis paketid ise. */
.nk-tapp{
  width:13px; height:13px; flex:0 0 13px; border-radius:50%;
  border:1px solid var(--line);
}
.nk-tapp--hele{ background:var(--paper-2); }
.nk-tapp--tume{ background:var(--ink); border-color:var(--ink); }
.nk-tapp--sikk{ background:var(--gold); border-color:var(--gold); }

.nk-lisa-arvutus{
  margin:16px 0 0; padding-top:14px; width:100%;
  border-top:1px solid var(--line);
  font-size:15px; color:var(--muted); line-height:1.5;
}
.nk-lisa-arvutus strong{
  font-family:var(--display); font-weight:300; font-size:19px;
  color:var(--ink); white-space:nowrap;
}

@media (min-width:1100px){
  .nk-lisad-grid{ grid-template-columns:repeat(4,1fr); }
}
@media (max-width:560px){
  .nk-lisad-grid{ grid-template-columns:1fr; }
  .nk-lisa{ padding:26px 22px 28px; }
  .nk-lisa-k{ padding-bottom:18px; }
}

/* ==========================================================================
   22. Maandumislehe plokid — lisandunud renderitega versioonis
   Kõik siinsed osad eeldavad, et pildid on 4K WebP ja srcset annab
   väiksemale ekraanile väiksema faili. Ühtki pilti ei venitata üle
   originaalmõõdu.
   ========================================================================== */

/* --- 22a. Fotohero --------------------------------------------------------
   Täisekraani render, tekst pildi peal. Loetavus tuleb gradiendist, mitte
   pildi tumendamisest — render ise peab jääma teravaks ja värvis. */
.nk-hero--foto{
  min-height:100svh;
  justify-content:flex-end;
  padding-top:0;
  /* Tekst on keskel ja „Keri" vihje seisab otse nuppude all — alumine
     polster peab mahutama vihje (~90 px) ja selle kohale õhku. */
  padding-bottom:clamp(116px,14vh,168px);
  background:var(--ink);
  color:var(--paper);
}
.nk-hero--foto .nk-hero-art{
  inset:0; height:100%;
  mask-image:none; -webkit-mask-image:none;
}
.nk-hero--foto .nk-hero-art::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(26,24,20,.46) 0%,
      rgba(26,24,20,.10) 24%,
      rgba(26,24,20,.30) 50%,
      rgba(26,24,20,.66) 72%,
      rgba(26,24,20,.88) 100%);
}
.nk-hero--foto .nk-hero-art img{ opacity:1; object-position:center 58%; }
/* Fotohero pealkiri on väiksem kui valgel taustal: pildi peal loeb
   loetavus, mitte mõõt, ja 100 px kiri murduks siin neljale reale.
   23.09.2026: tekst keskel, pealkiri veel astme võrra väiksem
   (76 → 62 px) ja juhtlõik suurem (18 → 20 px) — kliendi soov.
   Lõigu mõõt on siin kirjas, mitte ainult `.nk-hero-sub` all: madala
   akna reegel (jaotus 20) surus ta muidu sülearvutis 15 px peale. */
.nk-hero--foto .nk-hero-copy{ text-align:center; }
.nk-hero--foto .nk-h1{
  color:var(--white);
  font-size:clamp(32px, 4.3vw, 62px);
  max-width:24ch; margin-inline:auto;
  text-shadow:0 2px 60px rgba(0,0,0,.34);
}
.nk-hero--foto .nk-hero-sub{
  font-size:clamp(16px, 1.4vw, 20px); line-height:1.6;
  color:rgba(255,255,255,.92); max-width:48ch; margin-inline:auto;
  text-shadow:0 1px 30px rgba(0,0,0,.45);
}
.nk-hero--foto .nk-btns{ justify-content:center; }
/* Pealkirjaploki marginaali paneb nk-wp.css (`.nk h1.nk-h1`, 0,2,1) ja
   see sõi ülal oleva margin-inline:auto ära — kast jäi vasakule, kiri
   tema sees keskele, nii et pealkiri seisis teistest ridadest vasakul. */
.nk .nk-hero--foto .nk-hero-title{ margin-inline:auto; }
/* Kohalik vari ainult teksti taga. Nii jääb pildi ülaosa puhtaks ja
   render säilitab värvi — kogu kaadri tumendamine sööks selle ära. */
.nk-hero--foto .nk-hero-copy::before{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  inset:-56px -50vw -120px -50vw;
  background:linear-gradient(180deg,
    rgba(26,24,20,0) 0%,
    rgba(26,24,20,.34) 34%,
    rgba(26,24,20,.58) 72%,
    rgba(26,24,20,.62) 100%);
}
.nk-hero--foto .nk-scroll{ color:rgba(255,255,255,.62); }
.nk-hero--foto .nk-scroll::after{ background:linear-gradient(180deg,rgba(255,255,255,.62),transparent); }

/* Ülariba istub tumeda tausta peal — fotohero või tume sektsioon. Kiri
   läheb heledaks ja kleepuva riba hele taust jäetakse ära: muidu on kas
   tume kiri tumedal (Kontakti leht) või hele kiri heledal (avaleht, kui
   foto on veel riba all). Klassi paneb nk-site.js. */
.nk-bar.is-ondark{
  color:var(--paper);
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
}
.nk-bar.is-ondark .nk-mark{ color:var(--paper); }

/* --- 22b. Püstgalerii — pilt vahetub lehte kerides ------------------------
   Sektsioon on kolm ekraanitäit kõrge; raam jääb kleepuma ja pildid
   liiguvad selle sees üles. Pildid on maastikuformaadis ja neid ei
   lõigata: raam on sama kuvasuhtega kui render (3:2). */
.nk-vgal{ position:relative; }
.nk-vgal-stage{
  position:sticky; top:0;
  height:100svh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:clamp(14px,2vh,26px);
}
.nk-vgal-frame{
  position:relative; overflow:hidden;
  width:min(1560px, 92vw);
  aspect-ratio:3/2;
  max-height:76svh;
  border-radius:clamp(20px,2.2vw,38px);
  background:var(--paper-2);
}
.nk-vgal-track{
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  transition:transform 1.05s var(--ease);
  will-change:transform;
}
.nk-vgal-i{ position:relative; flex:0 0 100%; height:100%; margin:0; }
.nk-vgal-i img{ width:100%; height:100%; object-fit:cover; display:block; }
/* Edenemisjoon raami paremal (23.09.2026, asendas täpid pildi all). Raami
   laius ja kõrgus on siin samast valemist kui .nk-vgal-frame — muutes
   ühte, muuda ka teist. Raam on lava keskel, nii et joon on seda ka.
   Kleepuv lava on joone paigutuse alus. */
.nk-vgal-edu{
  --raam-w:min(1560px, 92vw);
  position:absolute; top:50%;
  left:calc(50% + var(--raam-w) / 2 + clamp(9px,1vw,16px));
  width:4px; height:min(calc(var(--raam-w) * 2 / 3), 76svh);
  transform:translateY(-50%);
}
/* Rada on peenike (2 px) ja hele, täide laiem (4 px) ja taupe — nii on
   edenemine selgelt näha, aga ei ole liiga tume (23.09.2026; enne 2 px
   kuldne, vahepeal --ink). */
.nk-vgal-edu::before{
  content:""; position:absolute; top:0; bottom:0; left:1px; width:2px;
  background:var(--line); border-radius:2px;
}
.nk-vgal-edu i{
  position:absolute; inset:0; background:var(--taupe); border-radius:4px;
  transform:scaleY(0); transform-origin:top;
}
.nk-vgal-cap{
  font-size:12.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); text-align:center; min-height:1.4em;
}

/* --- 22c. Kleepuv kaar, tekst kerib mööda --------------------------------
   Üks suur kaar jääb paigale; pildi sees vahetub render selle järgi,
   milline tekstiplokk parajasti ekraani keskel on. */
.nk-sticky{
  display:grid; grid-template-columns:1.06fr .94fr;
  gap:clamp(32px,5vw,88px);
  align-items:start;
}
.nk-sticky-visual{
  /* Riba alla, mitte selle taha (23.09.2026). */
  position:sticky; top:calc(var(--nk-bar-h) + clamp(12px,2.5vh,28px));
  align-self:start;
}
.nk-sticky-arch{
  width:min(100%, calc(84svh * 3 / 4)); aspect-ratio:3/4; /* vt .nk-split--suur .nk-split-img */
  border-radius:50% 50% 0 0 / 40% 40% 0 0;
  overflow:hidden; position:relative; background:var(--paper-2);
}
/* Iga render on eraldi pildiplokk — nad laotakse kaare sees üksteise peale,
   et klient saaks neid redaktoris tavalise pildina vahetada. */
.nk-sticky-shot{
  position:absolute; inset:0; margin:0;
  opacity:0; transform:scale(1.06);
  transition:opacity .85s var(--ease), transform 1.8s var(--ease);
}
.nk-sticky-shot.is-on{ opacity:1; transform:none; }
.nk-sticky-shot img{ width:100%; height:100%; object-fit:cover; display:block; }
.nk-sticky-steps{ display:block; }
.nk-sticky-step{
  min-height:86svh;
  display:flex; flex-direction:column; justify-content:center;
  padding-block:clamp(24px,5vh,64px);
}
.nk-sticky-step .nk-list{ margin-top:28px; }
/* Samm on flex-veerg ja veerised seal ei kattu: lõigu alumine + lingi
   ülemine andis 54 px, mujal on lingi kohal 36 px (24.09.2026). */
.nk .nk-sticky-step > p:has(+ .nk-btns){ margin-bottom:0; }

/* --- 22d. Majade veerud pildiga ------------------------------------------
   Järjekord: kaar, õhku, joon, maja nimi. Veeru kohal joont ei ole — pildi
   ülemine kaar annab veerule alguse ilma selleta. */
.nk-house{ display:flex; flex-direction:column; padding-top:0; border-top:0; }
/* Joon istub pildi ja nime vahel ühtlaselt: 30 px mõlemale poole. */
.nk-house-pilt{ margin-bottom:30px; }
.nk-house-body{ padding-top:0; } /* 23.09.2026: eraldusjoon ära; ilma jooneta oli pildi ja nime vahel 60 px — jääb pildi 30 px veeris */

/* --- 22f. Väikesed parandused --------------------------------------------- */
/* Ribalause: ka teine lõik peab olema keskel, mitte poolel teel. */
.nk-band .nk-text{ margin-inline:auto; text-align:center; }

/* Loeteluromb rea keskele, mitte ülemise serva lähedale. */
.nk-list li::before{ top:50%; transform:translateY(-50%) rotate(45deg); }

/* Kaarpilt majaveerus ja püstgaleriis ei vaja eraldi äärist. */
.nk-house-pilt.nk-arch{ aspect-ratio:4/5; }

/* Kaugused ühte veergu: rida on lühike ja kahes veerus hüppab pilk
   edasi-tagasi. Ühes veerus loeb selle nimekirjana läbi. */
.nk-dist{ grid-template-columns:1fr; }

@media (max-width:900px){
  .nk-sticky{ grid-template-columns:1fr; gap:clamp(24px,5vw,48px); }
  .nk-sticky-visual{ position:relative; top:0; }
  .nk-sticky-arch{ max-height:60svh; }
  .nk-sticky-step{ min-height:0; padding-block:clamp(28px,6vw,56px); }
  /* Püstgalerii kitsal ekraanil (24.09.2026): sama kerimisega slaidiesitus
     kui laual — lava kleepub, lehte alla kerides vahetuvad pildid, aga
     libisevad vasakule, mitte üles. Enne oli siin käsitsi libistatav rida.
     Raam on 5:4 (renderid on 3:2, külgedelt läheb kuuendik, maja jääb
     tervikuks); edenemisjoon on raami all rõhtsalt. Kõrguse annab JS. */
  .nk-vgal-frame{
    width:calc(100% - 24px); aspect-ratio:5/4; max-height:70svh;
    border-radius:clamp(14px,3vw,22px);
  }
  .nk-vgal-track{ flex-direction:row; transition-duration:.8s; }
  .nk-vgal-edu{
    position:relative; top:auto; left:auto; transform:none;
    width:calc(100% - 24px); height:4px;
  }
  .nk-vgal-edu::before{ top:1px; bottom:auto; left:0; right:0; width:auto; height:2px; }
  .nk-vgal-edu i{ transform:scaleX(0); transform-origin:left; }
}

/* Kaardi pealkiri on link. Staatilises kujunduses oli kogu kaart üks <a>
   ja allakriipsutust ei olnud — plokiredaktoris saab linkida ainult
   pealkirja, nii et allakriipsutus tuleb siin maha võtta ja hõljumisel
   tagasi anda. */
.nk-card .nk-h4 a{ text-decoration:none; color:inherit; }
.nk-card:hover .nk-h4 a{
  text-decoration:underline;
  text-underline-offset:.22em;
  text-decoration-thickness:1px;
}

/* --- 22f2. Tsitaadi allkiri ----------------------------------------------
   Avalehe arhitektitsitaadi alla käib üks rida: väike kaarportree, nimi ja
   büroo märk. Portree on sama kaaremotiiv, mis mujal (`.nk-arch`), ainult
   väike — nii jääb ta allkirjaks ega hakka teise pildiga võistlema.
   Büroo nimi seisab ainult märgil: tekstirida „· Arsprojekt" nime kõrvalt
   võeti 22.09.2026 ära, sest märk ütleb sedasama. */
.nk-sitaja{
  display:flex; align-items:center;
  gap:clamp(16px,1.7vw,24px);
  /* Polster, mitte marginaal: nk-wp.css nullib iga .wp-block-group
     marginaali ja võidab laadimisjärjekorra tõttu — margin-top siin
     lihtsalt ei jõua kohale. Sama lugu on .nk-valija-pais all. */
  padding-top:15px;
}
.nk-sitaja-pilt{
  flex:0 0 auto; width:clamp(72px,7vw,96px); margin:0;
}
.nk-sitaja-info{ min-width:0; }
.nk-sitaja-info .nk-cap{ margin-top:0; }
.nk-sitaja-info .nk-logo{ margin-top:10px; }
.nk-sitaja-info .nk-logo img{ max-width:min(124px,100%); }

/* --- 22g. Arhitektibüroo logo --------------------------------------------
   Väike märk teksti all, mitte pildiraam. Punane on Arsprojekti oma värv
   ja jääb muutmata — meie palett ei kirjuta partneri logo ümber. */
.nk-logo{ margin-top:18px; }
.nk-logo img{ width:auto; height:auto; max-width:min(150px, 100%); }
.nk-team-i .nk-logo{ margin-top:14px; }
.nk-team-i .nk-logo img{ max-width:min(118px, 100%); }

/* --- 22h. Viimistluse valija ---------------------------------------------
   Siseviimistluse lehe avaplokk: kolm toonivalikut ja nende taga samad
   ruumid. Kõik kolm paneeli on korraga DOM-is ja laotud üksteise peale —
   nii ei hüppa leht valiku vahetamisel ja pildid on juba laetud.
   Ilma JS-ita on näha esimene pakett. */
/* Valija päis on lehe päis (`nk-valija-pais nk-lehepea`, jaotus 23a):
   pealkiri ja juhtlõik keskel. Esimene nupurida on elutoa pildi nurgas
   (jaotus 22h2). Kuni 23.09.2026 oli päis kaheveeruline ruudustik —
   tekst vasakul, nupud paremal. Alumise vahe annab lehepäis. */

.nk-valija-nupud{
  display:flex; flex-wrap:wrap; gap:10px;
  margin-bottom:clamp(26px,3.2vw,44px);
}
.nk-valija-nupp{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--sans); font-size:12px; font-weight:400;
  letter-spacing:.18em; text-transform:uppercase;
  padding:10px 18px; border-radius:999px; cursor:pointer;
  border:1px solid var(--line); background:transparent; color:var(--muted);
  transition:border-color .35s var(--ease), color .35s var(--ease),
             background .35s var(--ease);
}
.nk-valija-nupp:hover{ border-color:var(--ink); color:var(--ink); }
.nk-valija-nupp.is-on{ border-color:var(--ink); background:var(--ink); color:var(--paper); }
.nk-valija-nupp .nk-tapp{ width:11px; height:11px; flex-basis:11px; transition:border-color .35s var(--ease); }
.nk-valija-nupp.is-on .nk-tapp{ border-color:rgba(255,255,255,.45); }

/* Paneelid ühte ruudustikulahtrisse: kõrgus tuleb kõige pikemast,
   vahetus on pehme ja midagi ei nihku. */
.nk-valija-lava{ display:grid; }
.nk-pakett{
  grid-area:1 / 1;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .55s var(--ease), visibility 0s linear .55s;
}
.nk-pakett.is-on{
  opacity:1; visibility:visible; pointer-events:auto;
  transition:opacity .55s var(--ease), visibility 0s;
}

.nk-pakett-pilt{
  position:relative; overflow:hidden;
  border-radius:clamp(14px,1.7vw,26px);
  background:var(--paper-2);
  aspect-ratio:16/9;
}
.nk-pakett-pilt img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Piltide vahele jääv riba: paketi nimi, kirjeldus, hinnarida ja
   PDF-nupp keskel, kitsas veerus. Teine nupurida seisis kuni 23.09.2026
   siin paremal; nüüd on ta vannitoa pildi nurgas (jaotus 22h2), nii et
   riba on üksi ja joondub nagu lehepäis. Hinnarea joon on teksti laiune,
   mitte veeru laiune — muidu ulatuks ta keskele joondatud teksti alt
   kaugele välja. */
.nk-valija-riba{
  width:min(1020px, 100%); margin-inline:auto;
  padding-block:clamp(42px,5vw,76px);
  text-align:center;
}
.nk-valija-riba .nk-text,
.nk-valija-riba .nk-pakett-hind{ max-width:60ch; margin-inline:auto; }
.nk-valija-riba .nk-btns{ justify-content:center; }
.nk-pakett-hind{
  margin-top:18px; padding-top:16px;
  border-top:1px solid var(--line);
  font-size:12.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted);
}

@media (max-width:760px){
  .nk-valija-nupp{ padding:9px 14px; }
}

/* --- 22h2. Nupurida pildi nurgas -----------------------------------------
   Mõlemad nupuread istuvad oma pildi (elutuba, vannituba) üleval paremas
   nurgas, lehe paberitoonis „sakis", mis on pildist välja lõigatud.
   Saki sisenurgad on nõgusad: ::before (saki vasakul, ülaserval) ja
   ::after (saki all, paremal serval) on nurgatükid, mille radiaalne
   gradient jätab pildi poolse osa läbipaistvaks. Raadius on sama, mis
   pildi nurgal (`.nk-pakett-pilt`).

   Rida ja pilt on ühes ümbrises `nk-valija-kaader`, et rida saaks pildi
   järgi paigutuda. JS leiab read ja lavad endiselt järjekorra järgi —
   ümbris seda ei muuda. */
.nk-valija-kaader{ position:relative; --sakk-r:clamp(14px,1.7vw,26px); }
.nk-valija-kaader > .nk-valija-nupud{
  position:absolute; top:0; right:0; z-index:2;
  margin:0; gap:8px;
  padding:0 0 clamp(10px,1vw,14px) clamp(10px,1vw,14px);
  background:var(--paper);
  border-bottom-left-radius:var(--sakk-r);
}
.nk-valija-kaader > .nk-valija-nupud::before,
.nk-valija-kaader > .nk-valija-nupud::after{
  content:""; position:absolute; pointer-events:none;
  width:var(--sakk-r); height:var(--sakk-r);
  background:radial-gradient(circle at 0 100%,
    transparent calc(var(--sakk-r) - .5px), var(--paper) var(--sakk-r));
}
.nk-valija-kaader > .nk-valija-nupud::before{ top:0; right:100%; }
.nk-valija-kaader > .nk-valija-nupud::after{ top:100%; right:0; }

/* Telefonis kataks sakk suure osa pildist — seal on rida pildi kohal,
   paremale joondatud. */
@media (max-width:600px){
  .nk-valija-kaader > .nk-valija-nupud{
    position:static; background:none; padding:0;
    justify-content:flex-end; margin:0 0 12px;
  }
  .nk-valija-kaader > .nk-valija-nupud::before,
  .nk-valija-kaader > .nk-valija-nupud::after{ display:none; }
}

/* Lava, kus kõigil pakettidel ei ole pilti (magamistuba on ainult šikil).
   Tavaline lava laob paneelid ühte ruudustikulahtrisse ja võtab kõrguse
   kõige pikemast — tühja paneeli all jääks siis pildi jagu auku. Siin
   võetakse peitu jääv paneel voost hoopis välja, nii et hele ja tume
   lõpevad vannitoaga ja lava ise kaob ära. Ristihääbumist siin ei ole:
   kõrgus muutub nagunii nullist täispildini, pehmendus jätaks ainult
   hüpleva vahe. */
.nk-valija-lava--kokku .nk-pakett{ display:none; }
.nk-valija-lava--kokku .nk-pakett.is-on{ display:block; }
/* Vahe tuleb pildilt endalt, mitte lavalt: tühjal paneelil pilti ei ole,
   nii et hele ja tume ei too tühja vahet kaasa. */
.nk-valija-lava--kokku .nk-pakett.is-on .nk-pakett-pilt{ margin-top:clamp(18px,2.4vw,36px); }

/* PDF-nupp paketi all. Õhuline raam, mitte täidetud nupp — PDF on
   kõrvaltegu ja ei tohi lehe lõpu kutsest valjem olla. */
.nk-pakett-pdf .nk-pakett-pdf-nool{
  font-size:1.15em; line-height:1;
  transition:transform .35s var(--ease);
}
.nk-pakett-pdf:hover .nk-pakett-pdf-nool{ transform:translateX(3px); }

/* --- 22i. Ajaloopildid ribalause servadel ---------------------------------
   Neli arhiivifotot, kaks kummalgi serval, ligi pool kaadrist üle serva
   väljas. Hõljumisel libiseb pilt keskme poole ja avab end. Polaroidi
   tunne tuleb kaldest ja varjust — raami ümber ei ole, nagu kliendi soov.

   Laotus on kahes osas: kitsal ekraanil tavaline ruudustik teksti all,
   laial absoluutne paigutus servades. Nii ei pea kumbki teist !important'iga
   üle kirjutama. */
.nk-band--ajalugu{ position:relative; overflow:hidden; }
.nk-band--ajalugu .nk-wrap{ position:relative; z-index:2; }

.nk-ajalugu{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(12px,3vw,22px);
  margin-top:clamp(40px,7vw,64px);
}
.nk-ajalugu-i{
  margin:0; overflow:hidden;
  border-radius:clamp(10px,1.1vw,16px);
  background:var(--taupe-dark);
  box-shadow:0 18px 44px rgba(20,18,14,.30);
}
.nk-ajalugu-i img{ width:100%; height:auto; display:block; }

/* Kitsas ja keskmine ekraan: pildid on üks rida teksti all, mida
   libistatakse näpuga vasakult paremale (23.09.2026; enne 2 × 2
   ruudustik). Rida on servast servani, alguse ja lõpu polster on sama
   `--gut`, mis tekstil, ja järgmine pilt paistab serva tagant — nii on
   näha, et rida jätkub. Kõik kaadrid on 4:3, varjul on reas ruumi. */
@media (max-width:1100px){
  .nk-ajalugu{
    display:flex; gap:12px;
    overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; scroll-padding-inline:var(--gut);
    padding:8px var(--gut) 30px;
    scrollbar-width:none; -webkit-overflow-scrolling:touch;
  }
  .nk-ajalugu::-webkit-scrollbar{ display:none; }
  .nk-ajalugu-i{
    flex:0 0 min(80%, 440px); aspect-ratio:4/3;
    scroll-snap-align:start;
    box-shadow:0 12px 28px rgba(20,18,14,.26);
  }
  .nk .nk-ajalugu-i .wp-block-image,
  .nk-ajalugu-i .nk-ajalugu-pilt{ height:100%; margin:0; }
  .nk-ajalugu-i img{ height:100%; object-fit:cover; }

  /* Pildirida kahe lõigu vahel (23.09.2026): pealkiri, juhtlõik, pildid,
     teine lõik. Märgistuses on tekstid ühes `.nk-wrap`-is ja pildirida
     selle järel; siin läheb ümbris `display:contents`-iga voost välja ja
     järjekorra annab `order`. Servapolster, mille andis ümbris, on nüüd
     iga tekstiploki enda küljes. */
  .nk-band--ajalugu{ display:flex; flex-direction:column; }
  .nk-band--ajalugu .nk-wrap{ display:contents; }
  .nk-band--ajalugu .nk-wrap > *{ padding-inline:var(--gut); position:relative; z-index:2; }
  .nk-band--ajalugu .nk-h2{ order:1; }
  .nk-band--ajalugu .nk-lead{ order:2; }
  .nk-band--ajalugu .nk-ajalugu{ order:3; margin:0 0 clamp(18px,4vw,28px); }
  .nk-band--ajalugu .nk-text{ order:4; }
}


@media (min-width:1101px){
  .nk-band--ajalugu{
    padding-block:clamp(128px,15vw,214px);
    /* Kõrgus peab kasvama koos piltidega: 40% laiem kaader on ka kõrgem
       ja madalamas ribas kataksid alumised pildid ülemised ära. */
    min-height:clamp(790px,94vh,1120px);
    display:flex; align-items:center;
  }
  .nk-band--ajalugu .nk-wrap{ width:100%; }

  .nk-ajalugu{
    position:absolute; inset:0; z-index:0;
    display:block; margin:0;
    pointer-events:none;
  }
  .nk-ajalugu-i{
    position:absolute;
    --nk-ajalugu-w:clamp(294px, 31vw, 476px);
    width:var(--nk-ajalugu-w);
    pointer-events:auto;
    box-shadow:0 26px 64px rgba(20,18,14,.34);
    transition:transform 1.05s var(--ease), box-shadow 1.05s var(--ease);
    will-change:transform;
  }
  /* Püstine foto kasvaks kaadri nii kõrgeks, et alumine pilt jookseks
     ülemisest läbi. Kõrgus on seetõttu laiusega piiratud ja üleliigne
     osa lõigatakse — nii võib pilti vahetada ka suvalise küljesuhtega. */
  .nk-ajalugu-i img{ max-height:calc(var(--nk-ajalugu-w) * .75); object-fit:cover; }

  /* Alglaotus: ~40% kaadrist jääb sektsioonist välja. */
  .nk-ajalugu-i--v1{ top:clamp(38px,7vh,96px);    left:0;  transform:translateX(-40%) rotate(-5deg); }
  .nk-ajalugu-i--v2{ bottom:clamp(34px,6vh,84px); left:0;  transform:translateX(-42%) rotate(3.5deg); }
  .nk-ajalugu-i--p1{ top:clamp(54px,9vh,124px);   right:0; transform:translateX(41%) rotate(4.5deg); }
  .nk-ajalugu-i--p2{ bottom:clamp(30px,5vh,72px); right:0; transform:translateX(39%) rotate(-3deg); }

  /* Kerimisega libisevad pildid servast sisse (23.09.2026) — transform'i
     paneb nk-site.js (`initAjalugu()`), üleminek annab kerimisele pehme
     järelvoolu. Enne tulid pildid sisse ainult hõljudes.
     Hõljumine lisab eraldi `translate`-iga väikese nihke keskme poole, nii
     et ta ei lähe kerimise transformiga tülli. */
  .nk-ajalugu-i{
    transition:transform .7s var(--ease), translate .6s var(--ease),
               box-shadow .6s var(--ease);
  }
  .nk-ajalugu-i:hover{ box-shadow:0 34px 84px rgba(20,18,14,.44); z-index:1; }
  .nk-ajalugu-i--v1:hover, .nk-ajalugu-i--v2:hover{ translate:4% 0; }
  .nk-ajalugu-i--p1:hover, .nk-ajalugu-i--p2:hover{ translate:-4% 0; }

  /* Tekstiplokk on piltide kohal (z-index 2) ja selle kast on peaaegu
     sektsiooni laiune — ta püüdis hiire kinni ja pilt reageeris ainult
     serva kitsal ribal. Tekst ei ole siin interaktiivne, nii et hiir läheb
     läbi temast piltideni. */
  .nk-band--ajalugu .nk-wrap,
  .nk-band--ajalugu .nk-wrap > *{ pointer-events:none; }
}

@media (prefers-reduced-motion:reduce){
  .nk-ajalugu-i{ transition:none; }
}

/* --- 22j. Ümarate nurkadega pildiraam ------------------------------------
   Kaare kõrval teine raam: lihtne ristkülik, nurgad pehmelt ümarad. Seal,
   kus pilt ise juba maja kuju näitab, lõikaks kuppel katuseharja maha —
   siis on see raam õigem valik. Muu käitub täpselt nagu .nk-arch. */
.nk-soft{
  position:relative; overflow:hidden;
  background:var(--paper-2);
  border-radius:clamp(10px,1.1vw,18px);
}
.nk-soft img{ width:100%; height:100%; object-fit:cover; display:block; }

/* --- 22k. Majade veerud kahes reas ---------------------------------------
   Hoonete lehe fassaadifotod on maastikukaadrid (5:4). Neli kitsast veergu
   näitaks neist ainult keskmist riba, seega kaks ja kaks: pilt saab laiust
   ja maja on tervikuna näha. Ainult kitsal ekraanil läheb üheks veeruks. */
.nk-houses--2x2{
  grid-template-columns:repeat(2,1fr);
  gap:clamp(28px,3.4vw,56px) clamp(24px,3vw,48px);
}
.nk-houses--2x2 .nk-house-pilt{ aspect-ratio:5/4; }

@media (max-width:560px){
  .nk-houses--2x2{ grid-template-columns:1fr; }
}

/* --- 22l. Kaks müügikontakti kõrvuti -------------------------------------
   Üks inimene mahtus lihtsalt juhtlõigu alla. Kaks käivad kõrvuti: nii jääb
   tekstiveerg vormiga ühepikkuseks ja mõlemal kontaktil on sama kaal.
   Joon on ühine, ümbrise küljes, et kahte triipu järjest ei tekiks. */
.nk-people{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:clamp(20px,2.4vw,34px);
  margin-top:44px; padding-top:34px;
  border-top:1px solid rgba(255,255,255,.18);
}
.nk-people .nk-person{ margin-top:0; padding-top:0; border-top:0; }

@media (max-width:560px){
  .nk-people{ grid-template-columns:1fr; gap:26px; }
}

/* --- 22m. Täisekraani menüü kitsamal ekraanil -----------------------------
   Lingi kiri mõõtis end akna laiusest (5,6vw), aga üle 860 px saab menüü
   ainult poole aknast. Nii murdus „Hinnad ja plaanid" 861–1400 px juures
   kahele reale, loend läks aknast kõrgemaks ja jaluse kontaktid jäid
   serva taha. Väiksem aste mahub igal laiusel ühele reale. */
.nk-menu-list a{ font-size:clamp(30px,4.4vw,58px); }

/* Turvavõrk: kui menüü ikkagi aknast kõrgemaks läheb — madal aken, pikem
   nimi, suurem süsteemifont — siis ta kerib, mitte ei lõika ridu ära. */
.nk-menu-nav{
  max-height:100svh;
  overflow-y:auto;
  overscroll-behavior:contain;
}

/* ==========================================================================
   23. Ühtlustus 23.09.2026
   Lehepäis, lõpukutse, suur pildiveerg, fookusjoon, privaatsusleht.
   ========================================================================== */

/* --- 23a. Lehepäis --------------------------------------------------------
   Iga alamleht algab samamoodi: pealkiri ja juhtlõik keskel, ülariba all
   napilt õhku ja päise all selge vahe enne sisu. Enne oli igal lehel oma
   lahendus — vasakul joondatud <h1>, joonise peale laotud <h2>,
   nuppudega jagatud rida, vormi kõrval veerg.

   Kaks klassi:
   - `nk-section--pea` lehe esimesel sektsioonil — vahetab tavalise
     ülapolstri (--sp, 1440 px juures 158 px) väiksema vastu. Ülariba on
     87 px kõrge, nii et 104–124 px jätab pealkirja kohale napilt õhku
     (pealkirja reavahe annab veel ~10 px juurde).
   - `nk-lehepea` pealkirja ja juhtlõigu ümber — joondab keskele ja annab
     alumise vahe. Temale järgnev plokk kaotab oma ülaveerise, et vahe
     ei tuleks kahekordne.

   Spetsiifikus: .nk + kaks klassi. Hinnalehe ja teema reeglid on
   `body.slm-… .slm-section` (0,2,1) ja `.nk h1.nk-h1` (0,2,1) —
   need peavad alla jääma. */
:root{
  --pea-ules: clamp(104px, calc(5vw + 40px), 124px);
  --pea-alla: clamp(48px, 5.5vw, 88px);
}
.nk .nk-section.nk-section--pea{ padding-top:var(--pea-ules); }
/* Tume lehepäis (Kontakt) täidab kogu akna kõrguse — ülariba on tema
   peal, nii et kõrgus loeb akna ülaservast. Sisu on püstiselt keskel. */
.nk .nk-section.nk-section--pea.nk-tone-dark{
  min-height:100vh; min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  /* Rohkem õhku üleval (23.09.2026): kui sisu on aknast kõrgem, istus
     pealkiri ülariba all vaid ~33 px kaugusel. */
  padding-top:calc(var(--pea-ules) + clamp(40px, 6vw, 80px));
}
.nk .nk-section.nk-section--pea.nk-tone-dark > .nk-wrap{ width:100%; }
.nk-lehepea{ text-align:center; padding-bottom:var(--pea-alla); }
/* Üks pealkirjamõõt kõigil alamlehtedel. Varem oli kolm: 104 px (Hooned,
   Galerii, Kontakt), 66 px (Siseviimistlus) ja 60 px (Asukoht, Hinnad). */
.nk .nk-lehepea .nk-h1{
  font-size:clamp(40px, 5.4vw, 78px);
  max-width:24ch; margin:0 auto .32em;
}
.nk .nk-lehepea .nk-lead{ max-width:60ch; margin:0 auto; }
.nk .nk-lehepea > :last-child{ margin-bottom:0; }
.nk .nk-lehepea + *{ margin-top:0; }

/* Kontakt: pealkiri on tõusnud veeru seest lehepäisesse, veeru algusesse
   jäid müügikontaktid. Nende ülaveeris oli mõeldud pealkirja alla. */
.nk-split > .wp-block-group > .nk-people:first-child{ margin-top:0; }

/* --- 23b. Lõpukutse -------------------------------------------------------
   Hele, mitte tume: tume riba oli jalusega sama tooni ja nupud näisid
   jaluse sees rippuvat (sama põhjus, miks avalehe kutse juba 21.09.2026
   heledaks tehti). Nüüd on kõigil lehtedel üks kuju: pealkiri keskel ja
   nupupaar selle all, esimesena „Vaata kodusid".

   Kui kutsele eelneb samuti hele sektsioon (Asukoht, Hooned), on nad üks
   pind — kutse ülapolster jääb siis ära, muidu tekiks kahe polstri auk. */
.nk-kutse{ text-align:center; }
.nk .nk-kutse .nk-h2{ margin:0 auto; }
.nk-kutse .nk-btns{ margin-top:clamp(26px,3vw,38px); }
.nk-tone-light + .nk-kutse.nk-tone-light{ padding-top:0; }
/* Avalehel on kutse showcase-pildi all samas sektsioonis. */
.nk-showcase + .nk-kutse{ padding-top:clamp(64px,8vw,120px); }

/* --- 23c. Suur pildiveerg -------------------------------------------------
   Avalehe tsitaadi ja hoovi pildid on sama suured kui kleepuva kaare
   pilt: sama veerusuhe (1,06 : 0,94), sama vahe, sama 3:4 kaar ja sama
   kõrguslagi. Enne olid nad 4:5 ja kitsamas veerus — hoovi pilt oli
   kleepuva kaare kõrval peaaegu poole väiksem. Pilt on paremal, kaar
   ise vasakul, nii et leht vaheldub. */
.nk-split--suur{
  grid-template-columns:.94fr 1.06fr;
  gap:clamp(32px,5vw,88px);
}
.nk-split--suur .nk-split-img{
  /* Kõrguslagi tuleb laiusest, mitte max-height'ist: muidu jääb pilt
     veeru laiuseks, kaar lameneb ja 3:4 muutub madalal aknal peaaegu
     ruuduks (24.09.2026). Pilt hoiab lehe välisserva poole. */
  width:min(100%, calc(84svh * 3 / 4)); aspect-ratio:3/4; margin-left:auto;
  border-radius:50% 50% 0 0 / 40% 40% 0 0;
}
/* Kaarpildi ja teksti vahe on kõigil kolmel avalehe kaarsektsioonil üks
   (23.09.2026): kleepuv kaar (pilt vasakul), tsitaat ja hoov (pilt
   paremal). Vahe on suurem kui enne (max 88 px) ja pilt nihkub lehe
   serva poole — üle `nk-wrap`-i sisuserva, aga gutri sisse, nii et
   akna servani ta ei jõua. Tekstiveerg jääb paigale. */
:root{
  --nk-bar-h:71px; /* ülariba: 14 + 43 + 14 px (menüünupp on kõrgeim) */
  --nk-kaar-vahe:clamp(56px,8vw,136px);
  --nk-kaar-valja:clamp(0px,calc(5vw - 20px),96px);
}
.nk-sticky,.nk-split--suur{ gap:var(--nk-kaar-vahe); }
.nk-sticky-visual{ margin-left:calc(-1 * var(--nk-kaar-valja)); }
.nk-split--suur > :last-child{ margin-right:calc(-1 * var(--nk-kaar-valja)); }

/* Terrassipilt (tsitaadi kõrval): 3:2 render 3:4 kaares näitab pildi
   keskmist poolt, keskelt lõikas see mehe pooleks. Kaader nihkub
   paremale — mõlemad inimesed ja hall maja jäävad sisse (24.09.2026). */
.nk .nk-fig .nk-split-img img{ object-position:85% 50%; }

@media (max-width:900px){
  .nk-sticky-visual,.nk-split--suur > :last-child{ margin-inline:0; }
  .nk-split--suur{ grid-template-columns:1fr; gap:clamp(24px,5vw,48px); }
  .nk-split--suur .nk-split-img{ width:min(100%, calc(60svh * 3 / 4)); margin-inline:auto; }
  /* Tekst sama laiusega kui kaar ja samal joonel (24.09.2026): kaar on
     kitsam kui veerg ja keskel, tekst algas enne veeru servast. Veerised
     on protsendina ploki laiusest, nii et telefonis (kaar = täislaius)
     on nad null. */
  .nk-split--suur > :first-child{ margin-inline:calc((100% - min(100%, calc(60svh * 3 / 4))) / 2); }
  /* Veerg venitab plokid täislaiuseks (laual on align-items:start), muidu
     oleks protsent sisu laiusest. .nk ees, et võita `.nk h2.nk-h2` marginaal. */
  .nk-sticky{ align-items:stretch; }
  .nk .nk-sticky .nk-sticky-step > *{ margin-inline:calc((100% - min(100%, calc(72svh * 4 / 5))) / 2); }
}

/* --- 23d. Fookusjoon ------------------------------------------------------
   WordPressi globaalstiil paneb igale fookuses elemendile 2 px joone
   (`:where(.wp-site-blocks :focus)`), ka hiireklõpsuga. Menüünupu ümber
   tekkis sellest klõpsates kast. Hiirega klõpsates joont ei ole;
   klaviatuuriga liikudes (:focus-visible) on. */
.nk :is(a,button,[tabindex]):focus:not(:focus-visible){ outline:none; }
.nk-burger:focus-visible{ outline:1px solid currentColor; outline-offset:8px; border-radius:2px; }

/* --- 23e. Kontaktivorm ----------------------------------------------------
   Nupp on väljal täislaiuses (veerg venitab), kiri peab olema keskel. */
.nk-form .nk-btn{ justify-content:center; }

/* --- 23f. Privaatsustingimused -------------------------------------------
   Pikk tekst ühes kitsas veerus keskel. Pealkirjad on nk-h3 mõõdus. */
.nk-proos{ max-width:68ch; margin-inline:auto; }
.nk .nk-proos .nk-h3{ margin:2.1em 0 .6em; }
.nk .nk-proos .nk-h3:first-child{ margin-top:0; }
/* Alapealkiri jaotise sees (Isikuandmed, Logifailid, Küpsised …). */
.nk .nk-proos .nk-h4{ margin:1.7em 0 .45em; }
.nk .nk-proos .nk-h3 + .nk-h4{ margin-top:0; }
.nk-proos .nk-text{ max-width:none; }
.nk-proos .nk-text a{ text-underline-offset:.2em; text-decoration-thickness:1px; }
.nk .nk-proos .nk-list{ margin:14px 0 1.15em; }
.nk-proos .nk-cap{ margin-top:clamp(40px,5vw,64px); }

/* --- 23g. Telefon ja arhitekti tsitaat (23.09.2026) ----------------------- */

/* Tsitaat oma veerus keskel — nii püst- kui rõhtsuunas —, aga kiri on
   vasakjoondusega. Ruudustiku rada on sisu laiune ja istub veerus keskel;
   tsitaat ja allkirjarida algavad selles rajas samalt vasakult servalt. */
.nk .nk-split--suur > .wp-block-group:has(> .nk-quote){
  display:grid; justify-content:center; align-content:center;
  justify-items:start; align-self:stretch; text-align:left;
}

/* Hoonete leht: maja nimi on suurem (jaotus 11b), telefonis 30 px. */

/* Täisekraani menüü telefonis: lingid palju suuremad. Menüü on seal
   üheveeruline, nii et laius tuleb aknast. Pikim nimi („Hinnad ja
   plaanid") võib murduda kahele reale — reavahe on selleks tihe.

   Ilmumine: laual libiseb link maski (li overflow:hidden) seest üles.
   Telefonis on kiri suur ja rida tihe — mask lõikas tähesabasid ja
   liikumine tundus järsk. Siin hääbub link sisse ja tõuseb pehmelt
   (18 px), aeglaselt lõppeva kõveraga ja väikese astmega. Sulgedes
   kaovad lingid kiiresti ja kõik korraga, et paneel saaks sulguda. */
@media (max-width:860px){
  .nk-menu-list a{ font-size:clamp(42px, 11.5vw, 72px); line-height:1.02; padding:7px 0; }
  .nk-menu-nav{ padding-top:108px; }
  .nk-menu-list li{ overflow:visible; }
  .nk-menu-list a{
    opacity:0; transform:translate3d(0,18px,0);
    transition:opacity .25s ease, transform .3s ease, color .4s var(--ease);
  }
  body.nk-menu-open .nk-menu-list a{
    opacity:1; transform:none;
    transition:opacity .7s cubic-bezier(.33,1,.68,1), transform 1s cubic-bezier(.16,1,.3,1), color .4s var(--ease);
    transition-delay:calc(.22s + var(--i,0) * .055s);
  }
  .nk-menu{ transition:clip-path .75s cubic-bezier(.76,0,.24,1); }
}

/* --- 23h. Üleminek lehtede vahel ------------------------------------------
   Brauseri oma lehtedevaheline üleminek (CSS View Transitions): vana leht
   hääbub, uus hääbub sisse ja tõuseb 14 px. Ülariba on eraldi nimega ja
   jääb paigale — logo ja menüünupp ei vilgu. Chrome, Edge ja Safari 18.2+;
   mujal (Firefox) vahetub leht nagu enne, ilma üleminekuta.
   Mõlemad lehed peavad selle reegli laadima — see fail on igal lehel. */
@view-transition{ navigation:auto; }
.nk-bar{ view-transition-name:nk-bar; }
::view-transition-old(root){
  animation:nkLehtValja .32s cubic-bezier(.4,0,1,1) both;
}
::view-transition-new(root){
  animation:nkLehtSisse .62s cubic-bezier(.16,1,.3,1) .1s both;
}
::view-transition-group(nk-bar){ animation-duration:.45s; }
@keyframes nkLehtValja{ to{ opacity:0; } }
@keyframes nkLehtSisse{ from{ opacity:0; transform:translateY(14px); } }
@media (prefers-reduced-motion:reduce){
  @view-transition{ navigation:none; }
}

@media (max-width:900px){
  /* Pilt enne teksti: tsitaadi- ja hoovisektsioonis tuleb pilt üles. */
  .nk-split--suur > :last-child{ order:-1; }

  /* Kleepuv kaar telefonis: kaar ei kleepu ja kahe pildi asemel oli üks
     ülal. Nüüd on pilt ja tekst vaheldumisi — pilt 1, „Asukoht…" koos
     kauguste loendiga, pilt 2, „Vana vorm…". Ümbrised lähevad
     `display:contents`-iga voost välja ja järjekorra annab `order`.
     Märgistust ei muudeta — laial ekraanil töötab kõik nagu enne.
     Paare võib olla kuni neli. */
  .nk-sticky{ display:flex; flex-direction:column; gap:0; }
  .nk-sticky .nk-sticky-visual,
  .nk-sticky .nk-sticky-arch,
  .nk-sticky .nk-sticky-steps{ display:contents; }
  .nk .nk-sticky .nk-sticky-shot{
    position:relative; inset:auto;
    opacity:1; transform:none; transition:none;
    width:min(100%, calc(72svh * 4 / 5)); height:auto; aspect-ratio:4/5; align-self:center;
    border-radius:50% 50% 0 0 / 40% 40% 0 0; overflow:hidden;
    background:var(--paper-2);
    margin:clamp(28px,6vw,48px) 0 0;
  }
  .nk .nk-sticky .nk-sticky-shot:first-child{ margin-top:0; }
  .nk-sticky .nk-sticky-shot img{ height:100%; }
  /* Esimene pilt on esimese teksti sees (23.09.2026): pealkiri, juhtlõik
     ja „…maa-aluses garaažis." lõik, siis pilt, siis kauguste loend ja
     asendiplaani link. Esimene samm läheb samuti `display:contents`-iga
     voost välja; tema polster tuleb pildi ja viimase rea veeristest. */
  .nk-sticky .nk-sticky-step:nth-child(1){ display:contents; }
  .nk-sticky-step:nth-child(1) > *{ order:1; }
  .nk .nk-sticky .nk-sticky-shot:nth-child(1){ order:2; margin-block:clamp(28px,6vw,48px); }
  .nk-sticky-step:nth-child(1) > .nk-dist,
  .nk-sticky-step:nth-child(1) > .nk-dist ~ *{ order:3; }
  .nk-sticky-step:nth-child(1) > :last-child{ margin-bottom:clamp(28px,6vw,56px); }
  .nk-sticky-shot:nth-child(2){ order:4; }  .nk-sticky-step:nth-child(2){ order:5; }
  .nk-sticky-shot:nth-child(3){ order:6; }  .nk-sticky-step:nth-child(3){ order:7; }
  .nk-sticky-shot:nth-child(4){ order:8; }  .nk-sticky-step:nth-child(4){ order:9; }

}

@media (max-width:600px){
  .nk .nk-valija-kaader > .nk-valija-nupud{ justify-content:center; }
}

/* --- 24. Jaluse logo ja avalehe hero sisenemine ---------------------------
   Jaluse logo: kaar kerkib alt üles (clip-path), sõnamärk tõuseb selle
   alla — sama animatsioon, mis kuni 1.23.0 mängis avakihil (kiht võeti
   1.24.0 ära). Algab, kui jalus kerib vaatesse: JS paneb logole `is-in`
   (`initJalus()` failis nk-site.js). Algseis ainult `nk-js` all, nii et
   JS-ita on logo lihtsalt näha. */
@media (prefers-reduced-motion:no-preference){
  html.nk-js .nk-foot-logo .nk-brand-marker{
    clip-path:inset(100% 0 0 0);
    transition:clip-path .8s cubic-bezier(.65,0,.35,1) .1s;
  }
  html.nk-js .nk-foot-logo .nk-brand-tekst{
    opacity:0; transform:translateY(10px);
    transition:opacity .6s var(--ease) .55s, transform .6s var(--ease) .55s;
  }
  html.nk-js .nk-foot-logo.is-in .nk-brand-marker{ clip-path:inset(0 0 0 0); }
  html.nk-js .nk-foot-logo.is-in .nk-brand-tekst{ opacity:1; transform:none; }
}

/* Avalehe hero: foto on kohe näha (23.09.2026) — ta laetakse `<head>`-is
   eelnevalt (SLM_Lade) ega hääbu enam tumedast sisse; see hääbumine
   andis sisenedes tumeda vilksatuse. Animeeruvad ainult pealkiri, lõik
   ja nupud (nende `is-in` paneb JS). Ülariba sisselibisemine võeti
   23.09.2026 ära — riba on kohe paigal.

   Pealkiri, lõik ja nupud on peidus juba esimesest joonistusest (CSS, mitte
   JS): nk-site.js jookseb lehe lõpus ja enne teda näitas brauser sisu
   korraks täielikult, siis peitis ja hajutas uuesti — nupud „hüppasid".
   `:not(.is-in)` laseb [data-reveal] ülemineku üle võtta. */
@media (prefers-reduced-motion:no-preference){
  html.nk-js .nk-hero--foto .nk-hero-copy > :not(.is-in){ opacity:0; transform:translateY(26px); }
  html.nk-js .nk-hero--foto .nk-scroll{ opacity:0; transition:opacity 1s var(--ease) .9s; }
  html.nk-js .nk-hero--foto.is-sees .nk-scroll{ opacity:1; }
}

/* --- 25. Kaugused telefonis täislaiuses (23.09.2026) ----------------------
   Kleepuva kaare telefonivaates on `.nk-sticky` flex-veerg ja loend jäi
   oma sisu laiuseks (287 px 335-st), nii et read murdusid kahele reale. */
@media (max-width:900px){
  /* width:100% maha (24.09.2026): koos kaare joonele seatud veeristega
     läks loend kaarest paremale üle. Venitus teeb sama töö. */
  .nk-sticky .nk-dist{ align-self:stretch; max-width:none; }
}

/* --- 26. Jaluse logo ja nupud (23.09.2026) -------------------------------
   Kutseplokid („Lai valik kortereid saadaval.“) võeti kõigilt lehtedelt
   ära. Logo tuli jalusesse tagasi — veerandi võrra suurem kui enne — ja
   tema alla kutseploki kaks nuppu tumedal taustal (hero nuppude
   `--light` / `--onDark` variandid). Nii on jalus sisust täidetud. */
.nk-foot .nk-brand--vertikaal{ --nk-logo-w:clamp(230px,26vw,330px); }
.nk-foot-logo-link{ color:inherit; text-decoration:none; }
.nk .nk-foot .nk-foot-logo{ margin-bottom:clamp(30px,3.6vw,46px); }
.nk .nk-foot .nk-foot-btns{ margin:0 0 clamp(64px,8vw,110px); }

/* --- 27. Kontakti leht: tugevam kiri (23.09.2026) ------------------------
   Jost 300 oli tumedal taustal liiga hele. Sisu käib 400 peale; pealkirjad
   on Clearface'is, millel on ainult 400, ja paksu kirja ei puudutata. */
body.page-id-70 main,
body.page-id-70 main *:not(b):not(strong):not(h1):not(h2):not(h3){ font-weight:400; }

/* --- 28. Galerii esimene pilt kohe (23.09.2026) ----------------------------
   Slaidid laotakse üksteise peale juba enne JS-i (`nk-js`), mitte alles
   `is-valmis` järel: muidu nägi lehte avades hetke 15 virnas slaidi, mille
   piltide asemel paistis nende alt-tekst. Esimene slaid on nähtav, nooled
   ja loendur samuti (märgistus on staatiline). Alt-tekst on läbipaistev ja
   raamil on pehme toon, kuni pilt jõuab. Esimene pilt eellaaditakse ja
   ülejäänud ootavad serveris (SLM_Lade), seega ei võistle nad temaga. */
html.nk-js .nk-slaid .nk-slaid-lava{ gap:0; }
html.nk-js .nk-slaid .nk-slaid-i{ grid-area:1 / 1; }
html.nk-js .nk-slaid:not(.is-valmis) .nk-slaid-i + .nk-slaid-i{ visibility:hidden; opacity:0; }
html.nk-js .nk-slaid .nk-slaid-nav,
html.nk-js .nk-slaid .nk-slaid-riba{ display:flex; }
.nk-slaid-pilt{ background:var(--paper-2); }
.nk-slaid-pilt img{ color:transparent; }

/* --- 29. Kontaktivormi teated (23.09.2026) --------------------------------
   Tänuteade asendab vormi pärast saatmist (nk-site.js `initForm()`); vea
   korral tuleb selgitus nupu kohale ja puuduv väli saab sooja joone.
   Vorm on tumedal taustal. */
.nk-form-aitah{
  margin-top:8px; padding-top:clamp(26px,3vw,38px);
  border-top:1px solid rgba(255,255,255,.18);
}
.nk-form-aitah:focus{ outline:none; }
.nk-form-aitah-t{
  font-family:var(--display); font-size:clamp(30px,3.2vw,42px); line-height:1.1;
  color:var(--white); margin:0 0 12px;
}
.nk-form-aitah p:not(.nk-form-aitah-t){ margin:0; max-width:38ch; color:rgba(255,255,255,.78); }
.nk-form-viga{ margin:0 0 16px; font-size:15.5px; color:#E9B9A2; }
.nk-form [aria-invalid="true"]{ border-bottom-color:#E9B9A2; }
.nk-form input[type=checkbox][aria-invalid="true"]{ outline:1px solid #E9B9A2; outline-offset:2px; }

/* --- 30. Suurem väike kiri (23.09.2026) ----------------------------------
   Kõik alla 15 px suurused tõsteti astme võrra (kliendi soov: väike kiri
   ja eriti juhised olid raskesti loetavad): 9→11,5, 10→12, 11→12,5,
   12→14, 13→15, 14→15,5 px. Juhised (`.nk-note`, nt „Klõpsa plaanil,
   et avada suurelt.“) 12 → 15 px, suurtähtedega nupud ja lingid 12 → 13 px.
   Vormiväljad 16 px — väiksema kirja peale suumib iPhone välja sisse. */
.nk-input,.nk-textarea{ font-size:16px; }
