/* ============================================================
   KIBE AGENTUUR — brändistiil
   Värvid: pruun #38261a · must #1e1e1e · sinine #8aa2ba
           beež #ddd9d0 · taupe #aaa295 · helge #efeeea
   Fondid: Montserrat (pealkirjad) · Libre Baskerville Italic
           (aktsent) · Source Sans 3 (sisutekst)
   ============================================================ */
:root{
  --pruun:#38261a;
  --must:#1e1e1e;
  --sinine:#8aa2ba;
  --sinine-hele:#b9c9d9;
  --beez:#ddd9d0;
  --taupe:#aaa295;
  --helge:#efeeea;
  --valge:#faf9f6;
  --joon:#cfc9bd;
  --pehme:#5c5347;
  --head:'Montserrat',Arial,sans-serif;
  --aktsent:'Libre Baskerville',Georgia,serif;
  --sisu:'Source Sans 3','Source Sans Pro',Helvetica,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sisu);font-weight:400;color:var(--must);background:var(--helge);line-height:1.75;font-size:17.5px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.18;color:var(--pruun);text-transform:uppercase;letter-spacing:.04em}
.aktsent{font-family:var(--aktsent);font-style:italic;text-transform:none;letter-spacing:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.eyebrow{display:inline-flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.3em;font-size:12px;font-family:var(--head);font-weight:600;color:var(--taupe)}
.eyebrow::before{content:"";width:42px;height:2px;background:var(--sinine)}
.section{padding:104px 0}
.section-head{max-width:760px;margin-bottom:58px}
.section-head h2{font-size:clamp(26px,3.6vw,40px);margin-top:16px}
.section-head .alapealkiri{font-family:var(--aktsent);font-style:italic;font-size:20px;color:var(--pehme);margin-top:14px}
.btn{display:inline-block;padding:16px 40px;border:1.5px solid var(--pruun);color:var(--pruun);text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-family:var(--head);font-weight:600;background:transparent;cursor:pointer;transition:all .35s ease}
.btn:hover{background:var(--pruun);color:var(--helge)}
.btn-solid{background:var(--pruun);color:var(--helge)}
.btn-solid:hover{background:var(--must);border-color:var(--must)}
.btn-hele{border-color:var(--helge);color:var(--helge)}
.btn-hele:hover{background:var(--helge);color:var(--pruun)}

/* ---------- Header ---------- */
header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .4s ease,box-shadow .4s ease}
header .bar{display:flex;align-items:center;justify-content:space-between;padding:22px 34px;transition:padding .4s ease}
.logo img{height:34px;width:auto;transition:opacity .3s}
.logo .tume{display:none}
header.scrolled,header.solid{background:rgba(239,238,234,.97);box-shadow:0 1px 0 var(--joon)}
header.scrolled .bar,header.solid .bar{padding:14px 34px}
header.scrolled .logo .hele,header.solid .logo .hele{display:none}
header.scrolled .logo .tume,header.solid .logo .tume{display:block}
nav.peamenu{display:flex;gap:34px;align-items:center}
nav.peamenu a{color:var(--helge);text-transform:uppercase;font-size:12.5px;letter-spacing:.18em;font-family:var(--head);font-weight:600;position:relative;padding:6px 0;transition:color .3s}
header.scrolled nav.peamenu a,header.solid nav.peamenu a{color:var(--pruun)}
nav.peamenu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--sinine);transition:width .3s ease}
nav.peamenu a:hover::after,nav.peamenu a.aktiivne::after{width:100%}
.nav-cta{border:1.5px solid currentColor;padding:9px 20px!important}
.nav-cta::after{display:none!important}
.burger{display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;padding:6px;z-index:130}
.burger span{width:28px;height:2px;background:var(--helge);transition:.3s}
header.scrolled .burger span,header.solid .burger span,.burger.open span{background:var(--pruun)}

/* ---------- Hero (püsib taustal, sisu kerib peale) ---------- */
.hero{position:fixed;inset:0;height:100vh;height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;z-index:1;background:linear-gradient(160deg,#241812,#38261a 55%,#54402e)}
.hero-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.hero .loor{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,30,30,.45),rgba(30,30,30,.25) 55%,rgba(30,30,30,.45))}
.hero-vahe{height:100vh;height:100svh}
.hero-sisu{position:relative;z-index:2;color:var(--helge);padding:0 24px;width:100%;max-width:860px;min-width:0}
.hero-sisu .ule{font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.34em;font-size:13px;color:var(--sinine-hele)}
.hero-sisu h1{font-family:var(--aktsent);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;color:var(--helge);font-size:clamp(44px,7.5vw,92px);margin:22px 0 14px}
.hero-sisu p{font-size:19px;max-width:600px;margin:0 auto 40px;color:rgba(239,238,234,.92)}
.hero-nupud{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero .keri{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;color:var(--helge);font-size:11px;letter-spacing:.34em;text-transform:uppercase;font-family:var(--head);font-weight:600}
.hero .keri::after{content:"";display:block;width:2px;height:44px;background:linear-gradient(var(--sinine),transparent);margin:10px auto 0}
main{position:relative;z-index:2;background:var(--helge);box-shadow:0 -30px 60px rgba(30,30,30,.18)}

/* ---------- Laine-eraldaja ---------- */
.laine{display:block;width:100%;height:70px;margin-bottom:-1px}

/* ---------- Meist teaser / kaksveerg ---------- */
.kaks{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.kaks .pilt{position:relative}
.kaks .pilt img{width:100%;height:560px;object-fit:cover}
.kaar img{border-radius:999px 999px 0 0}
.kaks .pilt::after{content:"";position:absolute;inset:20px -20px -20px 20px;border:2px solid var(--sinine);border-radius:999px 999px 0 0;z-index:-1}
.kaks h2{font-size:clamp(26px,3.4vw,38px);margin:16px 0 22px}
.kaks p{color:var(--pehme);margin-bottom:16px}
.kaks .btn{margin-top:14px}

/* ---------- Teenused ---------- */
.teenused{background:var(--beez)}
.teenus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.teenus{background:var(--helge);padding:46px 38px;position:relative;transition:transform .35s,box-shadow .35s}
.teenus:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(56,38,26,.14)}
.teenus .nr{font-family:var(--aktsent);font-style:italic;font-size:20px;color:var(--sinine)}
.teenus h3{font-size:18px;margin:14px 0 12px;letter-spacing:.06em}
.teenus p{font-size:15.5px;color:var(--pehme)}
.teenus .edasi{display:inline-block;margin-top:18px;font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:11.5px;color:var(--pruun);border-bottom:2px solid var(--sinine);padding-bottom:4px;transition:color .3s}
.teenus .edasi:hover{color:var(--sinine)}

/* ---------- Teenuselehed ---------- */
.alampais{padding:160px 0 76px;background:var(--beez)}
.alampais h1{font-size:clamp(26px,4vw,44px);margin-top:16px;max-width:820px}
.alampais .aktsent{font-size:clamp(18px,2.2vw,22px);color:var(--pehme);margin-top:18px;max-width:720px}
.sisu-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.sisu-grid .tekst p{color:var(--pehme);margin-bottom:16px}
.sisu-grid .tekst h2{font-size:22px;margin:34px 0 16px}
.sisu-grid .tekst h2:first-child{margin-top:0}
.sisu-grid .tekst ul{list-style:none;margin:18px 0}
.sisu-grid .tekst ul li{padding:10px 0 10px 28px;position:relative;color:var(--pehme);border-bottom:1px solid var(--joon)}
.sisu-grid .tekst ul li::before{content:"—";position:absolute;left:0;color:var(--sinine)}
.kylgpilt{position:sticky;top:110px}
.kylgpilt img{width:100%;height:520px;object-fit:cover;border-radius:999px 999px 0 0}
.kkk-plokk{max-width:840px}
.kkk-plokk details{border-bottom:1px solid var(--joon)}
.kkk-plokk summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0;font-family:var(--head);font-weight:600;font-size:17px;color:var(--pruun)}
.kkk-plokk summary::-webkit-details-marker{display:none}
.kkk-plokk summary::after{content:"+";font-size:24px;color:var(--sinine);font-weight:400;transition:transform .3s}
.kkk-plokk details[open] summary::after{transform:rotate(45deg)}
.kkk-plokk details p{padding:0 0 22px;color:var(--pehme);max-width:720px}
@media(max-width:1020px){.sisu-grid{grid-template-columns:1fr}.kylgpilt{position:static}.kylgpilt img{height:380px}}

/* ---------- Paketid ---------- */
.paketid{background:var(--helge)}
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:stretch}
.pkg{background:var(--valge);border:1px solid var(--joon);padding:50px 40px;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.pkg:hover{transform:translateY(-7px);box-shadow:0 28px 56px rgba(56,38,26,.13)}
.pkg.esile{background:var(--pruun);border-color:var(--pruun)}
.pkg.esile h3,.pkg.esile .hind{color:var(--helge)}
.pkg.esile ul li{color:var(--beez);border-color:rgba(239,238,234,.15)}
.pkg .silt{font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.26em;font-size:11px;color:var(--sinine)}
.pkg h3{font-size:21px;margin:14px 0 4px}
.pkg .hind{font-family:var(--aktsent);font-style:italic;font-size:38px;color:var(--pruun);margin:8px 0 2px}
.pkg .hind small{font-size:14px;font-family:var(--sisu);font-style:normal;color:var(--taupe)}
.pkg ul{list-style:none;margin:24px 0 32px;flex:1}
.pkg ul li{padding:10px 0 10px 26px;position:relative;font-size:15.5px;color:var(--pehme);border-bottom:1px solid var(--joon)}
.pkg ul li::before{content:"—";position:absolute;left:0;top:10px;color:var(--sinine)}
.pkg .btn{text-align:center}
.pkg.esile .btn{border-color:var(--helge);color:var(--helge)}
.pkg.esile .btn:hover{background:var(--helge);color:var(--pruun)}

/* ---------- Parallaks (staatiline pilt, sisu keerab peale) ---------- */
.parallaks{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;background-attachment:fixed;background-size:cover;background-position:center}
@media(hover:none){.parallaks{background-attachment:scroll}}
.parallaks .loor{position:absolute;inset:0;background:rgba(30,30,30,.45)}
.parallaks .sisu{position:relative;z-index:2;color:var(--helge);padding:90px 24px;max-width:760px}
.parallaks .sisu .moto{font-family:var(--aktsent);font-style:italic;font-size:clamp(30px,4.6vw,52px);line-height:1.3;margin-bottom:30px}

/* ---------- Arvustused (fotoga) ---------- */
.arvustused{background:var(--beez)}
.arv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.arv{background:var(--helge);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.arv:hover{transform:translateY(-6px);box-shadow:0 26px 52px rgba(56,38,26,.14)}
.arv .foto{height:300px;overflow:hidden}
.arv .foto img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease}
.arv:hover .foto img{transform:scale(1.05)}
.arv .jutt{padding:34px 32px 38px;display:flex;flex-direction:column;flex:1}
.arv .jutt p{font-family:var(--aktsent);font-style:italic;font-size:17.5px;line-height:1.6;color:var(--must);flex:1}
.arv .kes{margin-top:20px;font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:11.5px;color:var(--taupe)}

/* ---------- Portfoolio ---------- */
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 30px}
.pf-kaart{display:block}
.pf-kaart .foto{overflow:hidden;aspect-ratio:4/5;background:var(--beez)}
.pf-kaart img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease;filter:saturate(.9)}
.pf-kaart:hover img{transform:scale(1.06)}
.pf-kaart .nimed{margin-top:18px;text-align:center}
.pf-kaart .nimed b{display:block;font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:15px;color:var(--pruun)}
.pf-kaart .nimed span{font-family:var(--aktsent);font-style:italic;font-size:15px;color:var(--taupe)}

/* ---------- Pulmalugu ---------- */
.lugu-hero{height:64vh;background-size:cover;background-position:center;filter:saturate(.85)}
.lugu-pais{text-align:center;padding:64px 24px 20px}
.lugu-pais h1{font-size:clamp(26px,4vw,42px);letter-spacing:.14em}
.lugu-pais .kp{font-family:var(--aktsent);font-style:italic;font-size:20px;color:var(--taupe);margin-top:10px}
.partnerid{max-width:860px;margin:40px auto 0;background:var(--valge);border:1px solid var(--joon);padding:44px 48px}
.partnerid h2{font-size:15px;letter-spacing:.24em;text-align:center;margin-bottom:26px}
.partnerid .veerud{columns:2;column-gap:60px;font-size:15.5px}
.partnerid .veerud div{break-inside:avoid;padding:5px 0;color:var(--pehme)}
.partnerid .veerud b{font-weight:600;color:var(--pruun)}
.galerii-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px}
.galerii-grid figure{margin:0;overflow:hidden;aspect-ratio:1}
.galerii-grid figure.lai{grid-column:span 2;aspect-ratio:auto}
.galerii-grid img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease}
.galerii-grid figure:hover img{transform:scale(1.05)}

/* ---------- Tiim ---------- */
.tiim-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.liige .foto{overflow:hidden;aspect-ratio:4/5;border-radius:999px 999px 0 0;background:var(--beez)}
.liige img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.liige:hover img{transform:scale(1.05)}
.liige .nimi{text-align:center;margin-top:20px}
.liige .nimi b{display:block;font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:15px;color:var(--pruun)}
.liige .nimi span{font-family:var(--aktsent);font-style:italic;font-size:15px;color:var(--taupe)}

/* ---------- Vorm ---------- */
.kontakt{background:var(--beez)}
.kontakt-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px}
.kontakt .info h2{font-size:clamp(24px,3.2vw,36px);margin:16px 0 18px}
.kontakt .info p{color:var(--pehme)}
.kontakt .meta{margin-top:34px;display:grid;gap:18px}
.kontakt .meta div{padding-left:24px;border-left:2px solid var(--sinine)}
.kontakt .meta b{display:block;font-family:var(--head);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.26em;color:var(--taupe);margin-bottom:2px}
.kontakt .meta a,.kontakt .meta span{color:var(--must);font-size:17px}
form.paring{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:var(--helge);padding:48px 44px;box-shadow:0 26px 56px rgba(56,38,26,.12)}
.f{display:flex;flex-direction:column;gap:7px}
.f.lai{grid-column:1/-1}
.f label{text-transform:uppercase;font-size:11px;letter-spacing:.24em;font-family:var(--head);font-weight:600;color:var(--pruun)}
.f input,.f select,.f textarea{background:transparent;border:0;border-bottom:1.5px solid var(--taupe);padding:11px 2px;color:var(--must);font-family:var(--sisu);font-size:16px;outline:none;transition:border-color .3s;border-radius:0}
.f select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%238aa2ba' stroke-width='1.5'/></svg>");background-repeat:no-repeat;background-position:right 4px center}
.f textarea{min-height:110px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--sinine)}
.f .viga{font-size:12.5px;color:#a4442c;display:none}
.f.vigane input,.f.vigane textarea{border-color:#a4442c}
.f.vigane .viga{display:block}
.hp{position:absolute;left:-9999px;opacity:0}
.vorm-jalus{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.vorm-jalus .gdpr{font-size:12.5px;color:var(--taupe);max-width:430px}
.vorm-ok{grid-column:1/-1;display:none;text-align:center;padding:56px 20px;border:2px solid var(--sinine)}
.vorm-ok h3{font-size:22px;margin-bottom:10px}
.vorm-ok p{color:var(--pehme)}

/* ---------- CTA riba ---------- */
.cta-riba{background:var(--pruun);color:var(--helge);text-align:center;padding:88px 24px}
.cta-riba .moto{font-family:var(--aktsent);font-style:italic;font-size:clamp(26px,3.8vw,42px);margin-bottom:28px}

/* ---------- Footer ---------- */
footer{background:var(--must);color:var(--beez);padding:70px 0 36px}
footer .veerud{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:44px;align-items:start}
footer .flogo img{height:64px;margin-bottom:16px}
footer .flogo p{font-family:var(--aktsent);font-style:italic;font-size:16px;color:var(--taupe)}
footer h4{font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.24em;font-size:12px;color:var(--sinine);margin-bottom:18px}
footer ul{list-style:none}
footer ul li{padding:5px 0;font-size:15.5px}
footer a:hover{color:var(--sinine-hele)}
.sots{display:flex;gap:14px}
.sots a{width:42px;height:42px;border:1.5px solid var(--taupe);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s}
.sots a:hover{border-color:var(--sinine);background:var(--sinine);color:var(--must)}
.sots svg{width:18px;height:18px;fill:currentColor}
footer .alumine{margin-top:52px;padding-top:24px;border-top:1px solid rgba(221,217,208,.15);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--taupe)}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- Mobiil ---------- */
@media(max-width:1020px){
  .teenus-grid,.pkg-grid,.arv-grid,.pf-grid,.tiim-grid{grid-template-columns:1fr 1fr}
  .kaks{grid-template-columns:1fr;gap:48px}
  .kaks .pilt img{height:440px}
  .kontakt-grid{grid-template-columns:1fr}
  footer .veerud{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .section{padding:72px 0}
  /* Hero mobiilis tavavoolus — töökindel igas telefonis */
  .hero{position:relative;height:100vh;height:100svh;min-height:560px}
  .hero-vahe{display:none}
  main{box-shadow:none}
  .hero-sisu h1{font-size:clamp(40px,12vw,56px)}
  /* Mobiilimenüü */
  nav.peamenu{position:fixed;top:0;left:0;right:0;bottom:0;height:100vh;height:100dvh;background:#efeeea;flex-direction:column;align-items:center;justify-content:center;gap:28px;transform:translateX(100%);transition:transform .4s ease;z-index:120;padding:80px 24px 40px}
  nav.peamenu.open{transform:none}
  nav.peamenu a{color:var(--pruun)!important;font-size:16px}
  .burger{display:flex}
  body.menu-lahti{overflow:hidden;height:100vh}
  .teenus-grid,.pkg-grid,.arv-grid,.pf-grid,.tiim-grid,.galerii-grid{grid-template-columns:1fr}
  .g-wide{grid-column:span 1}
  .galerii-grid figure.lai{grid-column:span 1}
  .partnerid .veerud{columns:1}
  form.paring{grid-template-columns:1fr;padding:36px 26px}
  footer .veerud{grid-template-columns:1fr}
}

/* ================================================================
   v5 — RAHULIKUM ÜMBERDISAIN
   Kaks põhifonti: Montserrat (pealkirjad) + Source Sans (tekst).
   Libre Baskerville Italic ainult üksikute tsitaatide jaoks.
   ================================================================ */
.eyebrow{letter-spacing:.3em;font-size:11px;color:var(--taupe)}
.eyebrow::before{display:none}
h1,h2,h3{font-weight:600}
.section-head{margin-bottom:46px}
.section-head .alapealkiri{display:none}
.section-head p{color:var(--pehme)}

/* Orgaaniline vorm fotodele (brändingu looklevad kujundid) */
.kaks .pilt::after{display:none}
.blob,.blob img{border-radius:56% 44% 52% 48% / 48% 55% 45% 52%}
.blob{overflow:hidden}
.kaar img{border-radius:56% 44% 52% 48% / 48% 55% 45% 52%}

/* Lookleva joone eraldaja */
.laine-joon{display:block;width:100%;height:64px}

/* Teenused ja paketid — konkreetsemad, ilma müügikihita */
.teenus .nr{font-family:var(--head);font-style:normal;font-size:11.5px;letter-spacing:.24em;color:var(--taupe)}
.teenus h3{font-size:16.5px}
.teenus p{font-size:15px}
.pkg .silt{display:none}
.pkg .hind{font-family:var(--head);font-style:normal;font-weight:600;font-size:26px;color:var(--pruun)}
.pkg .hind small{font-family:var(--sisu);font-weight:400}
.pkg ul li{font-size:15px}

/* Teenuselehtede sissejuhatus tavakirjas */
.alampais .aktsent{font-family:var(--sisu);font-style:normal;font-size:18px;color:var(--pehme)}
.lugu-pais .kp{font-family:var(--sisu);font-style:normal;font-size:16px;color:var(--taupe);letter-spacing:.06em}

/* Tiimiliikmed — rahulikud pehmed nurgad */
.liige .foto{border-radius:10px;aspect-ratio:3/4}
.liige .nimi span{font-family:var(--sisu);font-style:normal;color:var(--taupe)}
.pf-kaart .nimed span{font-family:var(--sisu);font-style:normal;color:var(--taupe)}

/* Tagasiside — ükshaaval */
.tagasiside{background:var(--beez)}
.ts-slider{position:relative;max-width:820px;margin:0 auto;text-align:center;padding:0 58px}
.ts-slaid{display:none;animation:tsIlmub .55s ease}
.ts-slaid.aktiivne{display:block}
@keyframes tsIlmub{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ts-slaid p{font-family:var(--aktsent);font-style:italic;font-size:clamp(19px,2.4vw,23px);line-height:1.65;color:var(--must)}
.ts-slaid .kes{margin-top:22px;font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--taupe)}
.ts-nool{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;font-size:36px;font-family:var(--sisu);color:var(--taupe);cursor:pointer;padding:6px 10px;line-height:1;transition:color .3s}
.ts-nool:hover{color:var(--pruun)}
.ts-nool.eelmine{left:0}
.ts-nool.jargmine{right:0}
.ts-punktid{display:flex;gap:10px;justify-content:center;margin-top:30px}
.ts-punktid button{width:8px;height:8px;border-radius:50%;border:0;background:#c8c2b4;cursor:pointer;padding:0;transition:background .3s}
.ts-punktid button.aktiivne{background:var(--pruun)}

/* Pulmaloo leht — partnerid ilma kastita, suurem galerii */
.partnerid{background:none;border:0;padding:30px 0 0;max-width:720px;box-shadow:none}
.partnerid h2{font-size:13px;letter-spacing:.28em;color:var(--taupe)}
.partnerid .veerud{column-gap:70px;font-size:15.5px;text-align:center;columns:2}
.lugu-galerii{max-width:1360px;margin:52px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 10px}
.lugu-galerii figure{margin:0;overflow:hidden;cursor:zoom-in}
.lugu-galerii figure.lai{grid-column:1/-1}
.lugu-galerii img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .3s}
.lugu-galerii figure:hover img{opacity:.92}

/* Lightbox — fotode suurelt vaatamine */
.lb{position:fixed;inset:0;background:rgba(24,20,15,.94);display:none;align-items:center;justify-content:center;z-index:300;padding:26px}
.lb.avatud{display:flex}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#efeeea;cursor:pointer;font-size:36px;padding:12px;line-height:1;opacity:.8;transition:opacity .3s}
.lb button:hover{opacity:1}
.lb .sulge{top:12px;right:16px}
.lb .eelmine{left:10px;top:50%;transform:translateY(-50%)}
.lb .jargmine{right:10px;top:50%;transform:translateY(-50%)}

/* Avaleht: heros ainult logo; headeri logo ilmub kerides */
header.avaleht .logo{opacity:0;pointer-events:none;transition:opacity .4s}
header.avaleht.scrolled .logo{opacity:1;pointer-events:auto}
.hero-logo{width:min(400px,62vw);height:auto;filter:drop-shadow(0 6px 34px rgba(0,0,0,.4))}

@media(max-width:700px){
  .ts-slider{padding:0 36px}
  .lugu-galerii{grid-template-columns:1fr;gap:8px;padding:0 8px}
  .partnerid .veerud{columns:1}
}
.lugu-hero{background-color:var(--beez)}
footer{position:relative;z-index:2}

/* ================================================================
   v7 — halduse lisad: tagasiside foto, populaarne pakett, soodushind
   ================================================================ */
.pkg{position:relative}
.pkg .esile-silt{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--sinine);color:#fff;font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:10.5px;padding:6px 16px;white-space:nowrap;border-radius:999px}
.pkg .hind .vana{font-size:16px;font-weight:400;color:var(--taupe);text-decoration:line-through;margin-right:10px}
.pkg.esile .hind .vana{color:var(--taupe)}

/* ================================================================
   v8 — kliendi tagasiside 29.09: rippmenüü, tagasiside plokk,
   bännerid, galerii ilma kärpimata, soodusmull, lainekuju
   ================================================================ */

/* Rippmenüü Teenuste ja Pakettide all */
.menu-ripp{position:relative;display:inline-flex;align-items:center}
.menu-ripp>a .ripp-nool{font-size:9px;margin-left:6px;opacity:.7}
.alammenu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:var(--valge);border:1px solid var(--joon);box-shadow:0 18px 44px rgba(30,30,30,.14);border-radius:12px;padding:10px;min-width:230px;display:grid;opacity:0;visibility:hidden;transition:opacity .25s ease,transform .25s ease;z-index:150}
.menu-ripp:hover .alammenu,.menu-ripp:focus-within .alammenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(14px)}
.alammenu a{display:block;padding:10px 14px;border-radius:8px;color:var(--pruun)!important;font-size:12px;letter-spacing:.12em;white-space:nowrap}
.alammenu a::after{display:none!important}
.alammenu a:hover{background:var(--beez)}
.menu-ripp::after{content:"";position:absolute;top:100%;left:0;right:0;height:20px}

/* Tagasiside plokk: tavaline font, väiksem kiri, suurem foto ilma raamita, laiem */
.ts-slider{max-width:1040px;padding:0 58px}
.ts-slaid p{font-family:var(--sisu);font-style:normal;font-size:1em;line-height:inherit;color:var(--must);max-width:860px;margin:0 auto}
.ts-slaid .ts-foto{width:132px;height:132px;border-radius:50%;object-fit:cover;margin:0 auto 26px;display:block;border:0;box-shadow:0 14px 30px rgba(56,38,26,.18)}

/* Soodushind stiilse mullina brändi toonides */
.soodus-mull{display:inline-block;background:var(--sinine);color:#fff;border-radius:999px;padding:6px 20px;font-family:var(--head);font-weight:600;font-size:19px;line-height:1.3;vertical-align:middle}
.pkg.esile .soodus-mull{background:var(--beez);color:var(--pruun)}

/* Avalehe toonitud meist-sektsioon */
.section.toonitud .pilt img{box-shadow:none}

/* Pruutpaari vahebänner avalehel */
.vahebanner{position:relative;height:min(72vh,640px);overflow:hidden}
.vahebanner img{width:100%;height:100%;object-fit:cover;display:block}
.vahebanner .loor{position:absolute;inset:0;background:rgba(30,30,30,.28)}
.vahebanner-tekst{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--helge);font-family:var(--aktsent);font-style:italic;font-size:clamp(24px,3.6vw,40px);line-height:1.4;text-shadow:0 4px 24px rgba(0,0,0,.35)}

/* Meist-lehe kontaktibänner fotoga — laiem ja kõrgem */
.cta-riba{position:relative;overflow:hidden}
.cta-riba.fotoga{padding:150px 24px}
.cta-riba .cta-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta-riba .loor{position:absolute;inset:0;background:rgba(30,30,30,.42)}
.cta-riba .cta-sisu{position:relative;z-index:2}

/* Teenuselehe päis taustafotoga */
.alampais{position:relative;overflow:hidden}
.alampais.fotoga .alampais-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.alampais.fotoga .loor{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,30,30,.5),rgba(30,30,30,.32))}
.alampais.fotoga .wrap{position:relative;z-index:2}
.alampais.fotoga h1{color:var(--helge)}
.alampais.fotoga .aktsent{color:rgba(239,238,234,.92)}
.alampais.fotoga .eyebrow{color:var(--sinine-hele)}

/* Pulmaloo galerii: originaalproportsioonid, kaks võrdse kõrgusega kõrvuti */
.lugu-galerii{display:grid;grid-template-columns:1fr;gap:10px}
.lugu-galerii figure{background:var(--beez)} /* rahulik kohahoidja laadimise ajal */
.lugu-galerii .grida{display:flex;gap:10px}
.lugu-galerii figure{min-width:0}
.lugu-galerii figure.lai{grid-column:auto}
.lugu-galerii img{width:100%;height:100%;object-fit:cover}

/* Portfoolio suuremad kaardid */
.pf-grid{grid-template-columns:1fr 1fr;gap:44px 36px}

/* "Selle päeva lõid" — väiksem kiri, üks tulp */
.partnerid .veerud{columns:1;font-size:14px;letter-spacing:.02em}
.partnerid .veerud div{padding:4px 0}

/* Brändi lainekuju (SVG clip-path, defineeritud jaluses) */
.kuju-laine{clip-path:url(#kujuLaine);border-radius:0!important}
.kuju-laine img{border-radius:0!important}

@media(max-width:700px){
  .ts-slider{padding:0 34px}
  .ts-slaid .ts-foto{width:104px;height:104px}
  .pf-grid{grid-template-columns:1fr}
  .lugu-galerii .grida{flex-direction:column}
  .lugu-galerii .grida figure{flex:none!important}
  .vahebanner{height:52vh}
  .cta-riba.fotoga{padding:110px 24px}
}

/* ================================================================
   v9 — kliendi tagasiside 01.10: rippmenüü viimistlus, laiem
   tagasiside, jaluse veerud, soodusmull brändi toonides
   ================================================================ */

/* Rippmenüü: kandilised nurgad, suurem hover-ala, nool eraldi nupuna */
.alammenu{border-radius:0;padding:8px 0;min-width:260px}
.alammenu a{border-radius:0;padding:12px 22px}
.ripp-nupp{background:none;border:0;cursor:pointer;color:inherit;font-size:10px;padding:6px 4px;margin-left:2px;opacity:.75;line-height:1;transition:transform .25s}
header.scrolled .ripp-nupp,header.solid .ripp-nupp{color:var(--pruun)}
.menu-ripp:hover .ripp-nupp,.menu-ripp.avatud .ripp-nupp{transform:translateY(1px)}
.menu-ripp.avatud .alammenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(14px)}

/* Tagasiside: veel laiem tekstiala, lõigud tühja reaga */
.ts-slider{max-width:1240px}
.ts-slaid p{max-width:1020px;margin:0 auto 1em}
.ts-slaid p:last-of-type{margin-bottom:0}

/* Soodushind brändi toonides: sinine mull, burgundi kiri */
.soodus-mull{background:var(--sinine);color:#4c050d}
.pkg.esile .soodus-mull{background:var(--sinine);color:#4c050d}

/* Jaluse veerud: arv tuleb halduse seadest */
footer .veerud{grid-template-columns:1.2fr repeat(var(--jveerge,3),1fr)}

@media(max-width:1020px){
  footer .veerud{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  footer .veerud{grid-template-columns:1fr}
  /* Mobiilimenüü keritav, et avatud alammenüü ära mahuks */
  nav.peamenu{justify-content:flex-start;padding:100px 24px 48px;overflow-y:auto;gap:22px}
  /* Telefonis on alammenüü suletud; avaneb kogu kirje puudutusest */
  .menu-ripp{flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap}
  .ripp-nupp{font-size:14px;padding:8px 12px;opacity:1}
  .menu-ripp.avatud .ripp-nupp{transform:rotate(180deg)}
  .alammenu{display:none;position:static;transform:none;border:0;box-shadow:none;background:none;padding:0;opacity:1;visibility:visible;width:100%;min-width:0;gap:2px;justify-items:center}
  .menu-ripp.avatud .alammenu{display:grid;transform:none}
  .menu-ripp:not(.avatud):hover .alammenu{display:none}
  .alammenu a{font-size:13px;color:var(--pehme)!important;padding:6px 10px}
}

/* ================================================================
   v10 — kliendi tagasiside (Google Doc): rippmenüü õhk, sooduke
   #EFEEEA/#D71E33, jaluse pealkirjad esisuurtähega, teenuselehe
   foto fade (must/valge, reguleeritav), tagasiside noolte kindlus
   ================================================================ */

/* Rippmenüü: rohkem tühja ruumi menüükirje ja kasti vahel + kastis endas */
@media(min-width:701px){
  .alammenu{padding:14px 0;min-width:270px}
  .menu-ripp:hover .alammenu,.menu-ripp:focus-within .alammenu,.menu-ripp.avatud .alammenu{transform:translateX(-50%) translateY(24px)}
  .menu-ripp::after{height:30px}
}

/* Soodushind: hele taust, punane hind */
.soodus-mull{background:#efeeea;color:#d71e33}
.pkg.esile .soodus-mull{background:#efeeea;color:#d71e33}

/* Jaluse pealkirjad esisuurtähega (mitte läbivate suurtähtedega) */
footer h4{text-transform:none;letter-spacing:.14em;font-size:13.5px}

/* Teenuselehe suure foto fade: tugevus --fade-a (0–0.9), must või valge */
.alampais.fotoga.fade-must .loor{background:linear-gradient(180deg,rgba(20,20,20,var(--fade-a,.5)),rgba(20,20,20,calc(var(--fade-a,.5)*.68)))}
.alampais.fotoga.fade-valge .loor{background:linear-gradient(180deg,rgba(248,247,244,var(--fade-a,.5)),rgba(248,247,244,calc(var(--fade-a,.5)*.68)))}
.alampais.fotoga.fade-valge h1{color:var(--pruun);text-shadow:none}
.alampais.fotoga.fade-valge .aktsent{color:var(--must)}
.alampais.fotoga.fade-valge .eyebrow{color:var(--pruun)}

/* Tagasiside nooled: alati pealmised ja puutekindlad (ka Safaris) */
.ts-nool{z-index:6;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
.ts-aken{position:relative;z-index:1}

@media(max-width:700px){
  /* Telefonis: ava alammenüü nii, et see jääks kindlasti nähtavale */
  .menu-ripp.avatud .alammenu{padding:4px 0}
}

/* ================================================================
   v11 — kliendi täpsustused: rippmenüü sisu õhk (parandatud
   spetsiifilisus), telefonis reamurdmine, brändi lint läbi
   sektsiooni, foto sulandumine taustaga
   ================================================================ */

/* Rippmenüü kirjed: päris sisepolsterdus (nav.peamenu a üldreegel
   kirjutas selle seni üle — sellest tekkis tekst kasti servas) */
nav.peamenu .alammenu a{padding:13px 28px}
@media(max-width:700px){
  nav.peamenu .alammenu a{padding:8px 14px;white-space:normal;text-align:center;line-height:1.5}
}

/* Brändi lint: kulgeb vertikaalselt läbi kogu meist-sektsiooni */
#meist-teaser{position:relative;overflow:hidden}
#meist-teaser .wrap{position:relative;z-index:2}
.sektsiooni-lint{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.sektsiooni-lint path{fill:rgba(170,162,149,.16)}
#meist-teaser.toonitud .sektsiooni-lint path{fill:rgba(246,244,239,.16)}

/* Foto sulandumine: hajutatud helk foto taga sulatab ääred taustaga kokku */
.pilt.sulanduv{position:relative}
.pilt.sulanduv>img:not(.sulandus){position:relative;z-index:1}
.pilt .sulandus{position:absolute;left:-16%;top:-12%;width:132%;height:124%;object-fit:cover;
  border-radius:0!important;clip-path:none;filter:blur(42px) saturate(1.04);opacity:.9;z-index:0;
  -webkit-mask-image:radial-gradient(ellipse 58% 58% at 50% 50%,#000 34%,transparent 72%);
  mask-image:radial-gradient(ellipse 58% 58% at 50% 50%,#000 34%,transparent 72%)}
@media(max-width:700px){
  .pilt .sulandus{filter:blur(30px)}
}

/* ================================================================
   v12 — kliendi näite järgi: "Meist" sulandatud bänd (foto taust
   jätkub sektsioonina, tekst otse taustal) avalehel ja Meist-lehel;
   tagasiside: suur foto vasakul, tekst paremal
   ================================================================ */

.meist-sulandatud{position:relative;background:var(--beez);overflow:hidden}
.ms-grid{display:grid;grid-template-columns:minmax(0,55%) minmax(0,45%);align-items:center;max-width:1560px;margin:0 auto;min-height:clamp(480px,52vw,660px)}
.ms-foto{height:100%}
.ms-foto img{display:block;width:100%;height:100%;min-height:clamp(480px,52vw,660px);object-fit:cover;
  -webkit-mask-image:linear-gradient(90deg,#000 72%,transparent 99.5%);
  mask-image:linear-gradient(90deg,#000 72%,transparent 99.5%)}
.ms-tekst{padding:84px clamp(28px,5vw,90px) 84px clamp(8px,2vw,30px);text-align:center;max-width:620px;justify-self:center}
.ms-tekst h2{font-family:var(--aktsent);font-style:normal;font-weight:400;text-transform:none;letter-spacing:.01em;font-size:calc(clamp(34px,4.3vw,56px)*var(--skaala,1));line-height:1.12;color:var(--pruun);margin-bottom:20px}
.ms-moto{font-family:var(--aktsent);font-style:italic;font-size:clamp(21px,2.5vw,29px);line-height:1.4;color:var(--pruun);margin:0 0 24px}
.ms-tekst p{text-align:center;hyphens:none;color:var(--pehme);margin-bottom:14px}
.ms-tekst p.ms-moto{text-align:center}
.ms-tekst .btn{margin-top:20px}
/* tume taust (toon võetud fotost) -> hele kreemjas tekst nagu näites */
.meist-sulandatud.tume-taust .ms-tekst h2,.meist-sulandatud.tume-taust .ms-moto{color:#f4ecdd}
.meist-sulandatud.tume-taust .ms-tekst p{color:rgba(244,236,221,.88)}
.meist-sulandatud.tume-taust .ms-moto{color:#f4ecdd}
@media(max-width:900px){
  .ms-grid{grid-template-columns:1fr;min-height:0}
  .ms-foto img{min-height:0;height:auto;max-height:70vh;
    -webkit-mask-image:linear-gradient(180deg,#000 76%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 76%,transparent 100%)}
  .ms-tekst{padding:6px 24px 64px;max-width:560px}
}

/* Tagasiside: suur ümar foto vasakul, tekst paremal; pealkiri jääb üles */
.ts-slaid.fotoga.aktiivne{display:grid;grid-template-columns:clamp(200px,26vw,320px) minmax(0,1fr);gap:clamp(30px,4.5vw,70px);align-items:center;text-align:left}
.ts-slaid.fotoga .ts-foto{width:100%;max-width:none;height:auto;aspect-ratio:1/1;border-radius:50%;object-fit:cover;margin:0;box-shadow:0 18px 44px rgba(56,38,26,.2)}
.ts-slaid.fotoga .ts-sisu p{margin:0 0 1em;max-width:none}
.ts-slaid.fotoga .ts-sisu p:last-of-type{margin-bottom:0}
.ts-slaid.fotoga .ts-sisu .kes{text-align:left}
@media(max-width:760px){
  .ts-slaid.fotoga.aktiivne{grid-template-columns:1fr;gap:26px;text-align:center}
  .ts-slaid.fotoga .ts-foto{width:180px;margin:0 auto}
  .ts-slaid.fotoga .ts-sisu .kes{text-align:center}
}

/* Tagasiside nime rida toonitud taustal paremini loetav */
.tagasiside .ts-slaid .kes{color:rgba(76,56,40,.78)}

/* ================================================================
   v13 — sulandatud bändi viimistlus: feid mõlemal serval, laius
   reguleeritav halduses (--msl), et see ei lõikaks inimesi
   ================================================================ */
.ms-foto img{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 calc(100% - var(--msl,24%)),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 calc(100% - var(--msl,24%)),transparent 100%)}
@media(max-width:900px){
  .ms-foto img{
    -webkit-mask-image:linear-gradient(180deg,#000 calc(100% - var(--msl,24%)*0.8),transparent 100%);
    mask-image:linear-gradient(180deg,#000 calc(100% - var(--msl,24%)*0.8),transparent 100%)}
}

/* ================================================================
   v14 — pakettide ühtlane joondus, tagasiside foto suum,
   sektsioonide taustad tulevad Kujunduse seadetest
   ================================================================ */

/* Paketid: pealkiri mahub ühele reale ja loetelud algavad samalt jooneni */
.pkg h3{font-size:14.5px;letter-spacing:.055em;line-height:1.35;margin:10px 0 0;
  min-height:44px;display:flex;align-items:flex-end}
.pkg .hind{min-height:52px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}
.pkg ul{margin-top:18px}

/* Tagasiside foto: ümar raam, mille sees saab fotot suumida ja nihutada */
.ts-slaid .ts-foto{display:block;overflow:hidden;border-radius:50%;flex:none}
.ts-slaid .ts-foto img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:50% 50%}

/* ================================================================
   v15 — tagasiside noolte kontrast, teenuselehe hinnasilt,
   bändide oma tekstivärv, meist-bändi pealkirja õhk
   ================================================================ */

/* Tagasiside nooled ja punktid: alati nähtavad, sõltumata taustast */
.ts-nool{color:rgba(56,38,26,.55)}
.ts-nool:hover{color:var(--pruun)}
.ts-punktid button{background:rgba(56,38,26,.28)}
.ts-punktid button.aktiivne{background:var(--pruun)}

/* Teenuselehe hinnasilt päises */
.hinna-silt{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;
  margin-top:26px;padding:16px 28px;border:1px solid currentColor;border-radius:2px;
  background:rgba(255,255,255,.06)}
.hinna-silt .hs-hind{font-family:var(--aktsent);font-style:italic;font-size:clamp(22px,2.6vw,30px);color:var(--pruun);line-height:1.2}
.hinna-silt .hs-markus{font-size:12.5px;letter-spacing:.08em;color:var(--pehme)}
.alampais.fotoga .hinna-silt{background:rgba(20,20,20,.25);border-color:rgba(239,238,234,.5);backdrop-filter:blur(3px)}
.alampais.fotoga .hinna-silt .hs-hind{color:var(--helge)}
.alampais.fotoga .hinna-silt .hs-markus{color:rgba(239,238,234,.85)}
.alampais.fotoga.fade-valge .hinna-silt{background:rgba(255,255,255,.4);border-color:rgba(56,38,26,.35)}
.alampais.fotoga.fade-valge .hinna-silt .hs-hind{color:var(--pruun)}
.alampais.fotoga.fade-valge .hinna-silt .hs-markus{color:var(--must)}

/* Bändi oma tekstivärv (haldusest), kui automaatne valik ei sobi */
.meist-sulandatud.oma-tekst .ms-tekst h2,
.meist-sulandatud.oma-tekst .ms-moto,
.meist-sulandatud.oma-tekst .ms-tekst p{color:var(--omatekst)}

/* Meist-lehe bändi pealkirja järele rohkem õhku */
body.kl-meist .ms-tekst h2{margin-bottom:38px}

/* ================================================================
   v16 — laiad kaanefotod: foto katab kogu bändi (taust ongi foto),
   inimesed vasakul, tekst elegantselt foto tühjal paremal poolel
   ================================================================ */
.ms-lai{position:relative;overflow:hidden;min-height:clamp(540px,43vw,820px);
  display:flex;align-items:center;justify-content:flex-end}
.ms-lai .ms-taust{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center}
.ms-lai .ms-tekst{position:relative;z-index:2;width:min(600px,46%);max-width:none;
  margin:0 clamp(28px,7vw,130px) 0 0;padding:70px 0;justify-self:auto;text-align:center}
.ms-lai .ms-tekst .btn{margin-top:26px}
@media(max-width:900px){
  .ms-lai{display:block;min-height:0}
  .ms-lai .ms-taust{position:relative;inset:auto;width:100%;height:64vw;min-height:300px;object-position:left center}
  .ms-lai .ms-tekst{width:auto;margin:0;padding:30px 24px 62px;max-width:560px;margin:0 auto}
}

/* ================================================================
   v17 — tühi kuupäevaväli ilma brauseri "dd.mm.yyyy" tekstita;
   kalendriikoon diskreetsem
   ================================================================ */
#paringuvorm input[type=date].tyhi:not(:focus){color:transparent}
#paringuvorm input[type=date].tyhi:not(:focus)::-webkit-datetime-edit{color:transparent}
#paringuvorm input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}
#paringuvorm input[type=date]:focus::-webkit-datetime-edit{color:inherit}

/* ================================================================
   v18 — laia bändi vastutulelikkus: tahvlil läheb tekst foto alla,
   vahepealsetel laiustel kitsam tekstiplokk + toonitud halo taga,
   et tekst ei satuks kunagi inimeste peale
   ================================================================ */
@media(max-width:1020px){
  .ms-lai{display:block;min-height:0}
  .ms-lai .ms-taust{position:relative;inset:auto;width:100%;height:min(64vw,560px);min-height:300px;object-position:left center}
  .ms-lai .ms-tekst{width:auto;max-width:560px;margin:0 auto;padding:30px 24px 62px}
}
@media(min-width:1021px) and (max-width:1340px){
  .ms-lai .ms-tekst{width:min(500px,42%);margin-right:clamp(20px,4.5vw,80px)}
  .ms-lai .ms-tekst::before{content:"";position:absolute;inset:-34px -44px;z-index:-1;
    background:radial-gradient(ellipse at center,var(--mst,rgba(0,0,0,0)) 32%,transparent 74%);opacity:.9;pointer-events:none}
}

/* ================================================================
   v19 — avalehe teenused 3+2 malelaud, tagasiside fikseeritud
   kõrgus ja ilma hüpeteta, hinnasilt püstkirjas, telefoni erisused
   ================================================================ */

/* Teenuste ruudustik: viimane poolik rida tsentreeritakse (3+2 / 3+1) */
@media(min-width:901px){
  .teenus-grid{grid-template-columns:repeat(6,1fr)}
  .teenus{grid-column:span 2}
  .teenus:nth-last-child(2):nth-child(3n+1){grid-column:2/span 2}
  .teenus:last-child:nth-child(3n+2){grid-column:4/span 2}
  .teenus:last-child:nth-child(3n+1){grid-column:3/span 2}
}

/* Tagasiside: kõik slaidid on virnas samas ruudus -> sektsiooni kõrgus on
   alati suurima tagasiside kõrgune, leht ei hüppa vahetumisel */
.tagasiside{overflow-anchor:none}
.ts-aken{display:grid}
.ts-aken>.ts-slaid{grid-area:1/1;display:block;visibility:hidden;opacity:0;transition:opacity .4s ease;animation:none}
.ts-aken>.ts-slaid.aktiivne{visibility:visible;opacity:1}
.ts-aken>.ts-slaid.fotoga{display:grid;grid-template-columns:clamp(200px,26vw,320px) minmax(0,1fr);gap:clamp(30px,4.5vw,70px);align-items:center;text-align:left}
@media(max-width:760px){
  .ts-aken>.ts-slaid.fotoga{grid-template-columns:1fr;gap:26px;text-align:center}
}

/* Teenuselehe hinnasilt: püstkiri, mitte kaldkiri */
.hinna-silt .hs-hind{font-style:normal}

/* Meist-lehe bänd: lõigud rööpjoonduses ja kitsam/kaugem tekstiplokk,
   et tekst ei puutuks inimesi; halo on turvavõrguna alati olemas */
body.kl-meist .ms-lai .ms-tekst p{text-align:justify;hyphens:auto}
.ms-lai .ms-tekst{position:relative}
.ms-lai .ms-tekst::before{content:"";position:absolute;inset:-36px -46px;z-index:-1;
  background:radial-gradient(ellipse at center,var(--mst,rgba(0,0,0,0)) 30%,transparent 74%);opacity:.92;pointer-events:none}
@media(min-width:1341px){
  body.kl-meist .ms-lai .ms-tekst{width:min(560px,44%);margin-right:clamp(24px,3.5vw,70px)}
}

/* Telefon + tahvel: bänd "nagu vanasti" — foto sulab alt sektsioonitooni */
@media(max-width:1020px){
  .ms-lai .ms-taust{-webkit-mask-image:linear-gradient(180deg,#000 68%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 68%,transparent 100%)}
  .ms-lai .ms-tekst{margin-top:-20px}
  .ms-lai .ms-tekst::before{display:none}
}

/* Päise Kontakt-nupp telefonis logo kõrval */
.kontakt-mini{display:none}
@media(max-width:700px){
  .kontakt-mini{display:inline-block;margin-left:auto;margin-right:14px;border:1px solid var(--helge);
    padding:8px 15px;font-family:var(--head);font-weight:600;font-size:10.5px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--helge);line-height:1}
  header.scrolled .kontakt-mini,header.solid .kontakt-mini{border-color:var(--pruun);color:var(--pruun)}
  body.menu-lahti .kontakt-mini{visibility:hidden}
  /* rippmenüü nool suurem */
  .ripp-nupp{font-size:19px;padding:8px 14px}
  /* paketid telefonis oma järjekorras (haldusest: "Tel. järjekord") */
  .pkg-grid .pkg{order:var(--mj,0)}
  /* jalus: veerud kõrvuti, logo üle rea */
  footer .veerud{grid-template-columns:1fr 1fr;gap:30px 20px}
  footer .flogo{grid-column:1/-1}
}

/* Jaluse veergude nähtavus seadmeti */
.ainult-telefon{display:none}
@media(max-width:700px){
  .ainult-arvuti{display:none}
  .ainult-telefon{display:block}
}

/* Meist-lehe bänd keskmistel laiustel veel kitsam tekstiplokk */
@media(min-width:1021px) and (max-width:1340px){
  body.kl-meist .ms-lai .ms-tekst{width:min(500px,42%);margin-right:clamp(16px,3vw,48px)}
}

/* ================================================================
   v20 — tagasiside read kokku (mobiilivahe), eestikeelne kalender,
   jaluses logo + Kontakt kõrvuti telefonis
   ================================================================ */

/* Tagasiside: fikseeritud kõrgusega kastis pakitakse slaidi sisu kokku
   keskele — foto ja teksti vahele ei jää enam tühja auku */
.ts-aken>.ts-slaid{align-content:center}
.ts-aken>.ts-slaid.fotoga{align-content:center}

/* Eestikeelne kalendri-popup */
.kp-hoidja{position:relative}
.kalender{display:none;position:absolute;top:100%;left:0;margin-top:6px;width:276px;
  background:var(--valge);border:1px solid var(--joon);box-shadow:0 18px 44px rgba(30,30,30,.18);
  padding:14px;z-index:60}
.kalender.avatud{display:block}
.kal-pea{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.kal-pea b{font-family:var(--head);font-weight:600;font-size:12.5px;letter-spacing:.08em;color:var(--pruun)}
.kal-pea button{background:none;border:0;cursor:pointer;font-size:20px;line-height:1;color:var(--taupe);padding:2px 10px}
.kal-pea button:hover{color:var(--pruun)}
.kal-vork{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.kal-nimi{font-size:10px;letter-spacing:.08em;color:var(--taupe);font-family:var(--head);font-weight:600;padding:4px 0}
.kal-paev{background:none;border:0;cursor:pointer;font-size:13px;padding:7px 0;color:var(--must);border-radius:50%;font-family:var(--sisu)}
.kal-paev:hover{background:var(--beez)}

/* Telefonis: jaluses logo ja Kontakt kõrvuti esimeses reas */
@media(max-width:700px){
  .kontakt-mini{display:none}
  footer .flogo{grid-column:auto;order:-2}
  footer .veerud>div:last-child{order:-1}
  footer .flogo img{max-width:120px}
}

/* ================================================================
   v21 — hinnasilt brändifondis, Meist tekst keskel ja inimeste
   poole, telefoni suured fotod + loetelud + tagasiside loomulik
   kõrgus
   ================================================================ */

/* Teenuselehe hind: Montserrat (sama mis pakettide hindadel) */
.hinna-silt .hs-hind{font-family:var(--head);font-weight:600;font-style:normal;
  font-size:clamp(19px,2.1vw,25px);letter-spacing:.03em}

/* MEIST bänd: tekst tagasi keskele (mitte rööpa) ja plokk inimeste poole */
body.kl-meist .ms-lai .ms-tekst p{text-align:center;hyphens:none}
@media(min-width:1341px){
  body.kl-meist .ms-lai .ms-tekst{margin-right:clamp(90px,9vw,200px)}
}
@media(min-width:1021px) and (max-width:1340px){
  body.kl-meist .ms-lai .ms-tekst{margin-right:clamp(40px,6vw,110px)}
}

/* Telefon/tahvel: suured bändifotod suuremalt ja inimesed keskel */
@media(max-width:1020px){
  .ms-lai .ms-taust{height:min(96vw,580px);object-position:18% 50% !important}
}

/* Telefonis loetelud vasakule (rööpjoondus jätab imelikud vahed) —
   v28: portfoolio (pulmaloo) info jääb keskele, seega partnerid välja */
@media(max-width:700px){
  .sisu-grid .tekst ul li,.pkg ul li,.alaleht li{text-align:left !important;hyphens:none !important}
  .partnerid .veerud div{text-align:center !important;hyphens:none !important}
}

/* Tagasiside telefonis: loomulik kõrgus (ei mingit suurt tühja ala);
   kõrguse hüpet pole, sest vahetus toimub ainult kasutaja klikist */
@media(max-width:760px){
  /* kõik slaidid ühes virnas: kasti kõrgus = pikim tagasiside, sisu algab
     alati ülevalt samalt kohalt (foto samas punktis) ning nooled-punktid on
     all kindlal ribal — igal tagasisidel täpselt sama paigutus */
  .ts-aken{display:grid}
  .ts-aken>.ts-slaid{display:block;visibility:hidden;opacity:0;animation:none;align-content:start}
  .ts-aken>.ts-slaid.aktiivne{visibility:visible;opacity:1}
  .ts-aken>.ts-slaid.fotoga{display:grid;grid-template-columns:1fr;gap:24px;text-align:center;align-content:start}
}

/* ================================================================
   v22 — bänditekst seotud fototsooniga (ei satu ühelgi ekraanil
   inimestele), telefonifotod suuremad, tagasiside juhtriba all
   ================================================================ */

/* Arvutis: inimeste tsoon (vasak 47%) on alati reserveeritud; tekst
   tsentreeritakse foto tühja parempoolse ala keskele — skaleerub kõigil
   ekraanilaiustel ühtmoodi */
@media(min-width:1021px){
  body .meist-sulandatud.ms-lai{display:grid;grid-template-columns:47% minmax(0,1fr);align-items:center;justify-content:stretch}
  body .meist-sulandatud.ms-lai .ms-tekst{grid-column:2;justify-self:center;width:min(600px,88%);max-width:none;margin:0;padding:80px 0}
}

/* Telefonis/tahvlil: foto veel suurem ja inimesed kaadri keskel.
   NB! Protsent sõltub fotost: avalehe fotol on inimesed kaadri vasakus
   servas (2%), Meist-lehe fotol veidi sisemal (9%) — mõõdetud praeguste
   üleslaetud fotode järgi, et trio jääks telefonis täpselt keskele. */
@media(max-width:1020px){
  body .ms-lai .ms-taust{height:min(112vw,640px);object-position:2% 50% !important}
  /* Meist-lehe foto: 16:9 kaadris on inimeste kohal palju tühja lage —
     suumime alumisse ossa (alt kinni, külgedelt sümmeetriliselt),
     et trio algaks kõrgemalt. 1.18 on maksimum, mille juures kõik
     kolm jäävad tervelt kaadrisse. */
  body.kl-meist .ms-lai .ms-taust{object-position:9% 50% !important;transform:scale(1.18);transform-origin:50% 100%}
}

/* Tagasiside telefonis: nooled foto kõrval (foto algab igal slaidil samalt
   kohalt, seega nooled on alati täpselt samas punktis), punktid sisu all */
@media(max-width:760px){
  .ts-slider:has(.ts-slaid.fotoga){padding:0 12px}
  /* foto on 180px ring, tsentris; nool asetseb foto keskjoonel selle kõrval */
  .ts-slider:has(.ts-slaid.fotoga) .ts-nool{position:absolute;top:90px;transform:translateY(-50%)}
  .ts-slider:has(.ts-slaid.fotoga) .ts-nool.eelmine{left:auto;right:calc(50% + 96px)}
  .ts-slider:has(.ts-slaid.fotoga) .ts-nool.jargmine{right:auto;left:calc(50% + 96px)}
  .ts-slider:has(.ts-slaid.fotoga) .ts-punktid{margin-top:26px}
}

/* Kalender: kuu- ja aastavalik kiireks liikumiseks */
.kal-pea b{cursor:pointer;padding:2px 6px}
.kal-pea b:hover{color:var(--sinine)}
.kal-valik{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.kal-valik button{background:none;border:0;cursor:pointer;font-size:12.5px;padding:10px 2px;color:var(--must);font-family:var(--sisu);border-radius:6px}
.kal-valik button:hover{background:var(--beez)}
