:root{
  --torv:#101010;
  --soe:#1b1a16;
  --laast:#e9e1d0;
  --laast-2:#ded4bf;
  --palk:#8a5e36;
  --palk-tume:#5e3f24;
  --vine:#99b82f;
  --kriit:#d7d4cd;
  --hall:#b9ac93;
  --max:1180px;
  --disp:'Anton','Arial Narrow',Impact,sans-serif;
  --body:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --kond:'Barlow Condensed','Arial Narrow',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--laast);color:#211f1a;
  font-family:var(--body);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

h1,h2,h3{font-family:var(--disp);font-weight:400;text-transform:uppercase;letter-spacing:.005em;margin:0}
h1{font-size:clamp(2.6rem,7.2vw,5.1rem);line-height:.93}
h2{font-size:clamp(1.9rem,4.4vw,3.1rem);line-height:1}
h3{font-size:1.28rem;line-height:1.15}
p{margin:0 0 1rem}

/* --- silt: puidu margistamise moodi --- */
.silt{
  display:inline-block;font-family:var(--kond);font-weight:700;
  text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;
  background:var(--vine);color:#16180a;padding:4px 11px 3px;
}
.silt--tume{background:transparent;color:var(--vine);border:1px solid rgba(153,184,47,.5)}

/* --- täitmata sisu markeering --- */
.taida{border-bottom:2px dotted var(--vine);padding-bottom:1px}

/* --- skip link --- */
.skip{position:absolute;left:-9999px;top:0;background:var(--vine);color:#16180a;padding:12px 18px;font-family:var(--kond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;z-index:99}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--vine);outline-offset:3px}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:40;background:rgba(16,16,16,.94);backdrop-filter:blur(6px);border-bottom:1px solid #2a2822}
.nav__in{display:flex;align-items:center;gap:24px;height:66px;max-width:var(--max);margin:0 auto;padding:0 24px}
.mark{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.mark img{width:36px;height:36px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 1px rgba(153,184,47,.45)}
.mark span{font-family:var(--disp);font-size:1.32rem;color:var(--vine);letter-spacing:.01em;line-height:1}
.nav__links{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav__links a{font-family:var(--kond);font-weight:600;text-transform:uppercase;letter-spacing:.11em;font-size:.94rem;color:var(--kriit);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:#fff;border-bottom-color:var(--vine)}
.keeled{display:flex;gap:1px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.keeled a{font-family:var(--kond);font-weight:700;font-size:.8rem;letter-spacing:.05em;color:#7d786d;text-decoration:none;padding:3px 6px}
.keeled a[aria-current="true"]{color:#16180a;background:var(--vine)}
.keeled a:hover{color:var(--vine)}
.menu-nupp{display:none;background:none;border:1px solid #3a382f;color:var(--kriit);font-family:var(--kond);font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;font-size:.85rem}

/* ---------- HERO ---------- */
.hero{background:var(--torv);position:relative;overflow:hidden;color:var(--kriit);padding:74px 0 0;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.hero h1{color:#fff}
.hero h1 em{font-style:normal;color:var(--vine)}
.hero__lead{font-size:1.16rem;color:#a8a49a;max-width:34ch;margin-top:22px}
.nupud{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.nupp{display:inline-block;font-family:var(--kond);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:1rem;padding:14px 24px;text-decoration:none;border:2px solid var(--vine);background:var(--vine);color:#16180a;transition:background .16s,color .16s}
.nupp:hover{background:#adcf3c;border-color:#adcf3c}
.nupp--tyhi{background:transparent;color:var(--vine)}
.nupp--tyhi:hover{background:var(--vine);color:#16180a}
.hero__logo{justify-self:center}
.hero__logo img{width:min(430px,88%)}
.hero__triip{display:flex;gap:18px;flex-wrap:wrap;list-style:none;margin:52px 0 0;padding:22px 0 26px;border-top:1px solid #2a2822;font-family:var(--kond);text-transform:uppercase;letter-spacing:.13em;font-size:.86rem;color:#8b8679}
.hero__triip li::before{content:"";display:inline-block;width:7px;height:7px;background:var(--vine);margin-right:9px;transform:translateY(-1px)}

/* ---------- HELKURTRIIP (signatuur) ---------- */
.helkur{height:34px;background:var(--hall);border-top:5px solid var(--vine);border-bottom:5px solid var(--vine);
  background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.55) 0 10px,rgba(255,255,255,0) 10px 22px)}

/* ---------- SEKTSIOONID ---------- */
.sek{padding:86px 0}
.sek--tume{background:var(--soe);color:var(--kriit)}
.sek__pea{max-width:52ch;margin-bottom:44px}
.sek__pea h2{margin:14px 0 12px}
.sek--tume h2{color:#fff}
.sek__pea p{color:#5c584c;font-size:1.06rem}
.sek--tume .sek__pea p{color:#a19d92}


/* ---------- MIKS PALK: read rows as stacked log courses ---------- */
.sek--palk{background:#4a331e;color:var(--laast)}
.sek--palk h2{color:#fff}
.sek--palk .sek__pea p{color:#c9b79c}
.seina{border-top:1px solid rgba(233,225,208,.16)}
.palgirida{display:grid;grid-template-columns:210px 1fr;gap:34px;align-items:baseline;
  padding:26px 0 26px 22px;border-bottom:1px solid rgba(233,225,208,.16);position:relative}
.palgirida:nth-child(even){background:rgba(0,0,0,.13)}
.palgirida::before{content:"";position:absolute;left:0;top:50%;width:9px;height:9px;
  background:var(--vine);transform:translateY(-50%) rotate(45deg)}
.palgirida h3{font-size:1.18rem;color:#fff;letter-spacing:.02em}
.palgirida p{margin:0;color:#cdbba0;max-width:62ch}
.aus{margin-top:34px;padding:22px 24px;border:1px solid rgba(153,184,47,.42);max-width:70ch}
.aus p{margin:0;color:#d8c9b2;font-size:.98rem}
.aus strong{display:block;font-family:var(--kond);text-transform:uppercase;letter-spacing:.14em;
  font-size:.78rem;color:var(--vine);margin-bottom:7px;font-weight:700}
@media (max-width:760px){
  .palgirida{grid-template-columns:1fr;gap:8px;padding:22px 0 22px 20px}
  .palgirida::before{top:30px}
}

/* teenused */
.teenused{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--laast-2)}
.teenus{background:var(--laast);padding:34px 30px 30px;border-top:4px solid var(--palk)}
.teenus:nth-child(2){border-top-color:var(--palk-tume)}
.teenus:nth-child(3){border-top-color:var(--hall)}
.teenus:nth-child(4){border-top-color:var(--vine)}
.teenus h3{margin-bottom:10px}
.teenus p{color:#4e4a40;margin-bottom:14px}
.teenus ul{margin:0;padding-left:18px;color:#6a6558;font-size:.95rem}
.teenus li{margin-bottom:3px}

/* tööd */
.tood{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tood > .too:first-child{grid-column:1 / -1}
.too{background:#141310;border:1px solid #2c2a24}
.too__pilt{aspect-ratio:4/3;background:
   repeating-linear-gradient(45deg,#1e1c17 0 14px,#191712 14px 28px);
   display:flex;align-items:center;justify-content:center;color:#5f5a4d;
   font-family:var(--kond);text-transform:uppercase;letter-spacing:.16em;font-size:.82rem}
.too__sisu{padding:20px 20px 8px}
.too h3{color:#fff;font-size:1.08rem}
.too__sisu p{color:#98938a;font-size:.95rem;margin:.5rem 0 0}

.too__pilt img{width:100%;height:100%;object-fit:cover;display:block}
.too__pilt{padding:0;overflow:hidden}
.paar{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;aspect-ratio:12/3.4}
@media(max-width:760px){.paar{grid-template-columns:1fr;aspect-ratio:auto}.paar figure{aspect-ratio:4/3}}
.paar figure{margin:0;position:relative;overflow:hidden}
.paar img{width:100%;height:100%;object-fit:cover}
.paar figcaption{position:absolute;left:0;bottom:0;background:rgba(16,16,16,.82);color:var(--vine);
  font-family:var(--kond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;
  font-size:.7rem;padding:4px 9px}

/* ---------- GALERII ---------- */
.lugu{border:1px solid #2c2a24;background:#141310;margin-bottom:30px}
.lugu__pildid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.lugu__pildid figure{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden}
.lugu__pildid img{width:100%;height:100%;object-fit:cover}
.lugu__pildid figcaption{position:absolute;left:0;bottom:0;background:rgba(16,16,16,.85);color:var(--vine);
  font-family:var(--kond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;padding:5px 10px}
.lugu__tekst{padding:22px 24px 24px}
.lugu__tekst h3{color:#fff;margin-bottom:8px}
.lugu__tekst p{color:#9b968c;margin:0;max-width:78ch;font-size:.98rem}

.galerii{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.plaat-nupp{padding:0;border:1px solid #2c2a24;background:#141310;cursor:pointer;
  text-align:left;display:block;position:relative;overflow:hidden}
.plaat-nupp img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .35s ease}
.plaat-nupp:hover img,.plaat-nupp:focus-visible img{transform:scale(1.04)}
.plaat-nupp figcaption{padding:12px 14px 13px;border-top:1px solid #2c2a24}
.plaat-nupp b{display:block;font-family:var(--kond);font-weight:600;font-size:1.02rem;color:#fff;letter-spacing:.01em}
.plaat-nupp span{display:block;font-family:var(--kond);text-transform:uppercase;letter-spacing:.12em;
  font-size:.72rem;color:var(--vine);margin-top:4px}
@media (prefers-reduced-motion:reduce){.plaat-nupp img{transition:none}.plaat-nupp:hover img{transform:none}}

dialog.suurendus{border:none;padding:0;background:transparent;max-width:min(1100px,94vw);max-height:92vh}
dialog.suurendus::backdrop{background:rgba(10,10,9,.92)}
dialog.suurendus img{width:100%;max-height:78vh;object-fit:contain;display:block;background:#0e0e0c}
.suurendus__all{display:flex;gap:18px;align-items:baseline;justify-content:space-between;
  background:#141310;border-top:1px solid #2c2a24;padding:13px 16px;flex-wrap:wrap}
.suurendus__all p{margin:0;color:#cfcac0;font-family:var(--kond);font-size:1.02rem}
.suurendus__all button{background:none;border:1px solid #3a382f;color:var(--vine);cursor:pointer;
  font-family:var(--kond);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;padding:6px 13px}
.suurendus__all button:hover{background:var(--vine);color:#16180a;border-color:var(--vine)}
@media (max-width:760px){.lugu__pildid{grid-template-columns:1fr}}
/* templiplaat */
.plaat{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#2c2a24;margin:16px 0 0}
.plaat div{background:#141310;padding:9px 20px}
.plaat dt{font-family:var(--kond);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:#726c5f;margin:0}
.plaat dd{margin:2px 0 0;font-family:var(--kond);font-weight:600;font-size:1rem;color:var(--vine)}

/* meist */
.meist{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}
.meist p{color:#4e4a40}
.samm{display:flex;gap:18px;padding:18px 0;border-top:1px solid var(--laast-2)}
.samm:first-of-type{border-top:none;padding-top:0}
.samm__nr{font-family:var(--disp);font-size:1.5rem;color:var(--palk);line-height:1;min-width:38px}
.samm h3{font-size:1rem;margin-bottom:3px}
.samm p{margin:0;font-size:.95rem;color:#6a6558}


/* ---------- KKK ---------- */
.kkk{border-top:1px solid var(--laast-2);max-width:900px}
.kkk details{border-bottom:1px solid var(--laast-2)}
.kkk summary{list-style:none;cursor:pointer;display:flex;gap:18px;align-items:flex-start;
  padding:19px 0;font-family:var(--kond);font-weight:600;font-size:1.12rem;
  color:#211f1a;line-height:1.3}
.kkk summary::-webkit-details-marker{display:none}
.kkk summary::before{content:"+";font-family:var(--disp);font-size:1.1rem;color:var(--vine);
  line-height:1.25;min-width:16px}
.kkk details[open] summary::before{content:"\2013"}
.kkk details[open] summary{color:var(--palk-tume)}
.kkk summary:hover{color:var(--palk-tume)}
.kkk .vastus{padding:0 0 22px 34px;max-width:70ch}
.kkk .vastus p{margin:0 0 .8rem;color:#4e4a40;font-size:1rem}
.kkk .vastus p:last-child{margin-bottom:0}

/* kontakt */
.kontakt{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.kontakt h2{color:#fff}
.suur-link{display:block;font-family:var(--disp);font-size:clamp(1.5rem,3.4vw,2.3rem);color:var(--vine);text-decoration:none;margin:6px 0;text-transform:none}
.suur-link:hover{color:#fff}
.andmed{list-style:none;margin:26px 0 0;padding:0;color:#a19d92;font-size:.98rem}
.andmed li{padding:10px 0;border-top:1px solid #2c2a24}
.andmed strong{font-family:var(--kond);text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;color:#726c5f;display:block;font-weight:600}

footer{background:var(--torv);color:#6e6ا;padding:34px 0;border-top:1px solid #262420}
.foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;font-family:var(--kond);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#6d685c}

/* animatsioon */
.ilmu{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.ilmu.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ilmu{opacity:1;transform:none;transition:none}
}

@media (max-width:900px){
  .hero__grid{grid-template-columns:1fr;gap:34px;text-align:left}
  .hero__logo{order:-1;justify-self:start}
  .hero__logo img{width:min(300px,72%)}
  .tood{grid-template-columns:1fr}
  .meist,.kontakt{grid-template-columns:1fr;gap:36px}
  .teenused{grid-template-columns:1fr}
  .nav__links{display:none}
  .menu-nupp{display:block}
  .sek{padding:60px 0}
  .hero{padding-top:48px}
}


/* ---------- AVALEHE TAUSTAGALERII ---------- */
.hero__taust{position:absolute;inset:0;z-index:0}
.hero__taust .slaid{position:absolute;inset:0;background-size:cover;background-position:center 55%;
  opacity:0;transition:opacity 1.6s ease-in-out}
.hero__taust .slaid.nahtav{opacity:1}
.hero__loor{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(16,16,16,.96) 0%,rgba(16,16,16,.88) 45%,rgba(16,16,16,.55) 100%)}
.hero .wrap{position:relative;z-index:2}
@media (max-width:900px){
  .hero__loor{background:linear-gradient(180deg,rgba(16,16,16,.9) 0%,rgba(16,16,16,.93) 60%,rgba(16,16,16,.97) 100%)}
}
@media (prefers-reduced-motion:reduce){
  .hero__taust .slaid{transition:none}
}
