/* ==========================================================
   Pidula Wakepark – avaleht
   Bootstrap 5.3 + CVI 2024 (värvid, fondid, mullimotiiv, viidad)
   ========================================================== */
@import url("fonts.css");

:root{
  /* CVI värvid */
  --coral:#E76D6F;
  --red:#F15A2B;
  --sand:#EBD39F;
  --sky:#9EDAE6;
  --teal:#6CC5D6;
  --indigo:#3B3B9C;
  --mint:#6FCFAE;
  --ink:#231F20;
  --cream:#FBF6EA;
  --cream2:#F4ECD8;
  --white:#fff;

  --font-display:"DK Spiced Pumpkin","Londrina Solid","Arial Narrow",sans-serif;
  --font-body:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;

  --radius:28px;
  --shadow:0 18px 40px -18px rgba(35,31,32,.35);
  --ease:cubic-bezier(.2,.8,.2,1);

  --bs-body-font-family:var(--font-body);
  --bs-body-color:var(--ink);
  --bs-body-bg:var(--cream);
}

html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:96px}
body{font-family:var(--font-body);font-weight:400;color:var(--ink);background:var(--cream);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--indigo);color:#fff}
:focus-visible{outline:3px solid var(--indigo);outline-offset:3px;border-radius:6px}
.section-black :focus-visible,.section-coral :focus-visible,.site-footer :focus-visible,.hero :focus-visible{outline-color:#fff}
.skip-link{position:fixed;top:8px;left:8px;z-index:2000;background:#fff;padding:.6rem 1rem;border-radius:12px}

/* ---------- tüpograafia ---------- */
.c-coral{color:var(--red)}.c-red{color:var(--red)}.c-sand{color:var(--sand)}
.c-sky{color:var(--sky)}.c-indigo{color:var(--indigo)}.c-white{color:#fff}

.eyebrow{font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--indigo);margin-bottom:.9rem;display:flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:16px 0 0 -2px var(--sand)}
.eyebrow::before{margin-right:14px;flex:none}
.eyebrow.c-white{color:#fff}.eyebrow.c-white::before{background:#fff;box-shadow:16px 0 0 -2px var(--indigo)}
.eyebrow.c-sand{color:var(--sand)}
.text-center .eyebrow{justify-content:center}

.display-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;line-height:.95;letter-spacing:.01em;font-size:clamp(2.6rem,5.2vw,4.6rem);color:var(--indigo);margin-bottom:1.25rem;text-wrap:balance}
.lead-text{font-size:1.08rem;line-height:1.7;font-weight:300;max-width:56ch;margin-bottom:1.5rem}
.section-head{margin-bottom:3rem}

/* ---------- nupud ---------- */
.btn-wake{--bg:var(--red);--fg:#fff;font-weight:600;border:2px solid var(--bg);background:var(--bg);color:var(--fg);border-radius:999px;padding:.7rem 1.5rem;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s,color .2s;box-shadow:0 5px 0 0 rgba(35,31,32,.18)}
.btn-wake.btn-lg{padding:.95rem 1.9rem;font-size:1.02rem}
.btn-wake:hover,.btn-wake:focus-visible{background:var(--bg);border-color:var(--bg);color:var(--fg);transform:translateY(-3px) rotate(-1.5deg);box-shadow:0 9px 0 0 rgba(35,31,32,.18)}
.btn-wake:active{transform:translateY(2px);box-shadow:0 2px 0 0 rgba(35,31,32,.18)}
.btn-coral{--bg:var(--red)}
.btn-indigo{--bg:var(--indigo)}
.btn-ghost{background:rgba(255,255,255,.14);border-color:#fff;color:#fff;backdrop-filter:blur(6px);box-shadow:none}
.btn-ghost:hover,.btn-ghost:focus-visible{background:#fff;border-color:#fff;color:var(--indigo);box-shadow:none}
.btn-outline-indigo{background:transparent;border-color:var(--indigo);color:var(--indigo);box-shadow:none}
.btn-outline-indigo:hover,.btn-outline-indigo:focus-visible{background:var(--indigo);border-color:var(--indigo);color:#fff;box-shadow:none}

.link-arrow{display:inline-flex;gap:.5rem;margin-top:1.5rem;font-weight:600;color:var(--indigo);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.link-arrow::after,.more::after{content:"→";transition:transform .25s var(--ease)}
.link-arrow:hover::after,a:hover .more::after{transform:translateX(6px)}

/* viidasilt (CVI territooriumi infograafika) */
.tag{display:inline-block;font-family:var(--font-display);text-transform:uppercase;font-size:1.35rem;line-height:1;letter-spacing:.03em;color:var(--indigo);background:#fff;padding:.5rem 1.6rem .45rem .9rem;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%)}

/* ---------- päis ---------- */
.site-header{padding:14px 12px 0;pointer-events:none}
.site-header .navbar{pointer-events:auto;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-radius:999px;padding:.35rem 1rem .35rem 1.25rem;box-shadow:var(--shadow);transition:box-shadow .3s}
.navbar-brand{padding:0;margin:-18px 1rem -18px 0;transition:transform .4s var(--ease)}
.navbar-brand img{width:72px;height:72px;filter:drop-shadow(0 6px 10px rgba(35,31,32,.2))}
.navbar-brand:hover{transform:rotate(-10deg) scale(1.06)}
.navbar-nav .nav-link{font-weight:500;font-size:.95rem;color:var(--ink);padding:.6rem .85rem!important;border-radius:999px;position:relative}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--indigo)}
.navbar-nav .nav-link::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.3rem;height:3px;border-radius:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.navbar-nav .nav-link:hover::after,.navbar-nav .nav-link.active::after{transform:scaleX(1)}
.nav-actions{display:flex;align-items:center;gap:1rem}
.lang{display:flex;gap:.15rem;font-size:.8rem;font-weight:600}
.lang a{text-decoration:none;padding:.3rem .5rem;border-radius:999px;color:#6b6566}
.lang a.active{background:var(--cream2);color:var(--indigo)}
.navbar .btn-wake{padding:.55rem 1.2rem;font-size:.92rem;box-shadow:none}
.navbar-toggler{border:0;width:44px;height:44px;border-radius:50%;background:var(--indigo);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;box-shadow:none!important}
.navbar-toggler span{width:18px;height:2px;background:#fff;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.navbar-toggler[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.navbar-toggler[aria-expanded="true"] span:nth-child(2){opacity:0}
.navbar-toggler[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1199.98px){
  .site-header .navbar{border-radius:32px;padding:.35rem .6rem .35rem 1rem}
  .navbar-collapse{padding:1.25rem .5rem 1rem}
  .navbar-nav .nav-link{font-family:var(--font-display);text-transform:uppercase;font-size:1.7rem;color:var(--indigo);padding:.35rem .5rem!important}
  .navbar-nav .nav-link::after{display:none}
  .nav-actions{justify-content:space-between;margin-top:1rem;padding:0 .5rem}
}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(100svh,920px);display:flex;align-items:flex-end;padding:150px 0 170px;overflow:hidden;background:var(--indigo);color:#fff;isolation:isolate}
.hero-photo{position:absolute;inset:-12% 0;background-size:cover;background-position:62% 40%;z-index:-3;will-change:transform}
.hero-shade{position:absolute;inset:0;z-index:-2;background:
  linear-gradient(100deg,rgba(59,59,156,.92) 0%,rgba(59,59,156,.62) 36%,rgba(59,59,156,0) 66%),
  linear-gradient(0deg,rgba(35,31,32,.45),rgba(35,31,32,0) 45%)}
.hero-inner{position:relative;z-index:2}
.hero-chip{display:inline-flex;align-items:center;gap:.6rem;background:#fff;color:var(--indigo);font-weight:600;font-size:.88rem;padding:.5rem 1rem;border-radius:999px;margin-bottom:1.5rem;transform:rotate(-2deg)}
.hero-chip .dot{width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 rgba(111,207,174,.8);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(111,207,174,0)}100%{box-shadow:0 0 0 0 rgba(111,207,174,0)}}
.hero-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;line-height:.88;font-size:clamp(3.2rem,6vw,5.6rem);margin:0 0 1.5rem;letter-spacing:.005em}
.hero-title .line{display:block;animation:rise .9s var(--ease) both}
.hero-title .line:nth-child(2){animation-delay:.1s}
.hero-title .line:nth-child(3){animation-delay:.2s}
.hero-title .sky{color:var(--sky)}
.hero-title .line{white-space:nowrap}
@keyframes rise{from{opacity:0;transform:translateY(40px) rotate(2deg)}to{opacity:1;transform:none}}
.swoosh{font-style:normal;color:var(--red);position:relative;display:inline-block}
.swoosh svg{position:absolute;left:-2%;bottom:-.08em;width:104%;height:.16em;overflow:visible}
.swoosh path{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-dasharray:320;stroke-dashoffset:320;animation:draw .9s .7s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.hero-lead{font-size:clamp(1.02rem,1.5vw,1.25rem);font-weight:300;max-width:46ch;margin-bottom:2rem;text-shadow:0 1px 12px rgba(35,31,32,.35)}
.hero-cta{display:flex;flex-wrap:wrap;gap:1rem}

.hero-sticker{position:absolute;right:clamp(1rem,7vw,7rem);bottom:150px;width:clamp(130px,15vw,190px);aspect-ratio:1;border-radius:50%;background:var(--sand);color:var(--indigo);text-decoration:none;display:grid;place-items:center;z-index:3;box-shadow:var(--shadow);transition:scale .3s var(--ease)}
.hero-sticker:hover{scale:1.07}
.sticker-spin{position:absolute;inset:0;animation:spin 22s linear infinite}
@keyframes spin{to{rotate:360deg}}
.sticker-spin svg{width:100%;height:100%}
.sticker-spin text{font-family:var(--font-body);font-weight:600;font-size:13.2px;letter-spacing:.115em;fill:var(--indigo)}
.sticker-core{text-align:center;line-height:1}
.sticker-core small{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.sticker-core b{font-family:var(--font-display);font-weight:400;font-size:clamp(2.6rem,4.6vw,4rem);color:var(--red)}

/* lained */
.wave{position:absolute;left:0;width:100%;height:clamp(50px,7vw,110px);display:block;z-index:1;pointer-events:none}
.wave-bottom{bottom:-1px}.wave-top{top:-1px}
.wave path{fill:var(--cream)}
.wave.w-sand path{fill:var(--sand)}
.wave.w-cream2 path{fill:var(--cream2)}

/* mullid (CVI tunnusgraafika) */
.bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.bubble{position:absolute;border-radius:50%;will-change:transform}
.bubble span{display:block;width:100%;height:100%;border-radius:50%;animation:bob var(--d,7s) ease-in-out var(--delay,0s) infinite alternate}
@keyframes bob{to{transform:translate(var(--bx,6px),var(--by,-14px))}}
.section>.container-xxl,.site-footer>.container-xxl{position:relative;z-index:2}

/* ---------- jooksev riba ---------- */
.ticker{background:var(--indigo);color:#fff;overflow:hidden;padding:1.1rem 0;transform:rotate(-1.2deg) scale(1.03);margin:-.5rem 0 0;position:relative;z-index:4}
.ticker-track{display:flex;align-items:center;gap:2rem;width:max-content;animation:ticker 38s linear infinite}
.ticker span{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1;white-space:nowrap}
.ticker i{width:14px;height:14px;border-radius:50%;background:var(--coral);flex:none}
.ticker i:nth-of-type(3n){background:var(--sand)}.ticker i:nth-of-type(3n+1){background:var(--sky)}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ---------- sektsioonid ---------- */
.section{position:relative;padding:clamp(5rem,10vw,9rem) 0}
.section-sky{background:var(--sky);padding-top:clamp(8rem,14vw,12rem);padding-bottom:clamp(8rem,14vw,12rem)}
.section-sand{background:var(--sand);padding-top:clamp(3rem,6vw,5rem)}
.section-black{background:var(--ink);color:#fff;padding-top:clamp(8rem,14vw,12rem)}
.section-coral{background:var(--coral);overflow:hidden}
.section-cream2{background:var(--cream2)}

/* ---------- tegevused ---------- */
.intro-sticky{top:120px}
.signpost{position:relative;margin-top:2.5rem;padding:14px 0 90px 0;width:260px}
.signpost::before{content:"";position:absolute;left:0;top:0;bottom:0;width:26px;background:var(--ink);clip-path:polygon(0 12px,50% 0,100% 12px,100% 100%,0 100%)}
.sign{display:block;width:max-content;min-width:190px;text-align:right;font-family:var(--font-display);text-transform:uppercase;font-size:1.55rem;line-height:1;color:var(--indigo);text-decoration:none;padding:.5rem 2rem .45rem 2.6rem;margin-bottom:6px;position:relative;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);transition:transform .3s var(--ease),padding .3s var(--ease)}
.sign:hover,.sign:focus-visible{transform:translateX(10px);padding-left:3.4rem}
.s-coral{background:var(--coral)}.s-sand{background:var(--sand)}.s-sky{background:var(--sky)}
.s-white{background:#fff;box-shadow:inset 0 0 0 2px var(--cream2)}.s-mint{background:var(--mint)}.s-red{background:var(--red)}

.activity{--bg:var(--coral);--fg:#fff;display:flex;flex-direction:column;height:100%;min-height:260px;background:var(--bg);color:var(--fg);border-radius:var(--radius);padding:1.75rem;text-decoration:none;position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.activity::after{content:"";position:absolute;right:-50px;bottom:-50px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.2);transition:transform .5s var(--ease)}
a.activity:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:var(--shadow);color:var(--fg)}
a.activity:hover::after{transform:scale(1.5)}
.activity .tag{align-self:flex-start;margin-bottom:auto}
.activity h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(3rem,5vw,4.2rem);line-height:.9;margin:2rem 0 .6rem}
.activity p{margin:0 0 1rem;font-weight:300;max-width:30ch;position:relative;z-index:1}
.activity .more{font-weight:600;font-size:.92rem;display:inline-flex;gap:.5rem;position:relative;z-index:1}
.activity.mini{min-height:170px;padding:1.25rem}
.activity.mini .tag{font-size:1.15rem;margin-bottom:1rem}
.activity.mini p{margin:auto 0 0;font-weight:400;font-size:.92rem}
.activity.mini::after{width:90px;height:90px;right:-30px;bottom:-30px}
.a-coral{--bg:var(--coral)}
.a-sand{--bg:var(--sand);--fg:var(--ink)}
.a-sky{--bg:var(--sky);--fg:var(--ink)}
.a-indigo{--bg:var(--indigo)}
.a-mint{--bg:var(--mint);--fg:var(--ink)}
.a-red{--bg:var(--red)}
.a-cream{--bg:var(--cream2);--fg:var(--ink)}
.a-black{--bg:var(--ink)}
.a-sand h3,.a-sky h3{color:var(--indigo)}

/* ---------- wakepark ---------- */
.photo-cluster{position:relative;aspect-ratio:1/1.02;max-width:600px;margin-inline:auto}
.circle{position:absolute;border-radius:50%;overflow:hidden;border:8px solid #fff;box-shadow:var(--shadow);will-change:transform}
.circle img{width:100%;height:100%;object-fit:cover;transition:scale .6s var(--ease)}
.circle:hover img{scale:1.08}
.circle.c1{width:66%;aspect-ratio:1;left:0;top:0}
.circle.c1 img{object-position:55% 50%}
.circle.c2{width:50%;aspect-ratio:1;right:0;top:34%;border-color:var(--coral)}
.circle.c3{width:44%;aspect-ratio:1;left:12%;bottom:0;border-color:var(--sand)}
.circle.c3 img{object-position:68% 50%}
.cluster-logo{position:absolute;right:6%;top:4%;width:22%;height:auto;filter:drop-shadow(0 10px 14px rgba(35,31,32,.25))}
.tracks{margin-top:.5rem}
.track{height:100%;border-radius:22px;padding:1.25rem;background:#fff}
.track p{margin:.9rem 0 0;font-size:.95rem}
.t-mint{background:var(--mint)}
.t-white .tag{background:var(--cream2)}

/* ---------- funpark ---------- */
.funpark-visual{position:relative;max-width:420px;margin-inline:auto;padding:0 0 3rem}
.pill-photo{width:70%;aspect-ratio:3/4.4;border-radius:999px;overflow:hidden;border:8px solid #fff;box-shadow:var(--shadow);rotate:-5deg}
.pill-photo img{width:100%;height:100%;object-fit:cover;object-position:20% 60%}
.big-number{position:absolute;right:0;bottom:8%;width:210px;aspect-ratio:1;border-radius:50%;background:var(--indigo);color:#fff;display:grid;place-content:center;text-align:center;rotate:7deg;box-shadow:var(--shadow)}
.big-number b{font-family:var(--font-display);font-weight:400;font-size:4.2rem;line-height:.9;color:var(--sand)}
.big-number span{font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:2rem 0 1.25rem}
.ticket{--tb:#fff;--tf:var(--indigo);background:var(--tb);color:var(--tf);border-radius:18px;padding:1.1rem 1.25rem;position:relative;transition:transform .3s var(--ease);
  -webkit-mask:radial-gradient(circle 11px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 11px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
.ticket:hover{transform:rotate(-3deg) scale(1.04)}
.ticket span{display:block;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);opacity:.75}
.ticket b{font-family:var(--font-display);font-weight:400;font-size:3.2rem;line-height:1}
.ticket.t-indigo{--tb:var(--indigo);--tf:var(--sand)}
.ticket.t-indigo span{color:#fff;opacity:1}
.note{font-size:.92rem;margin:0}

/* ---------- kohvik ---------- */
.display-title.poster{display:flex;flex-direction:column;gap:.1em;font-size:clamp(2.4rem,4.6vw,4rem)}
.display-title.poster .big{font-size:2.3em;line-height:.82}
.display-title.poster span{position:relative;width:max-content;max-width:100%}
.display-title.poster .c-white::after{content:"";display:block;height:5px;border-radius:5px;background:#fff;margin-top:.12em;transform:rotate(-.6deg)}
.menu-chips{list-style:none;padding:0;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem}
.menu-chips li{font-family:var(--font-display);text-transform:uppercase;font-size:1.3rem;line-height:1;border:2px solid rgba(255,255,255,.3);border-radius:999px;padding:.55rem 1rem .5rem;transition:background .2s,color .2s,transform .3s var(--ease),border-color .2s}
.menu-chips li small{font-family:var(--font-body);text-transform:none;font-size:.78rem;font-weight:400;color:var(--sand);margin-left:.3rem}
.menu-chips li:hover{background:var(--coral);border-color:var(--coral);transform:rotate(-3deg)}
.menu-chips li:hover small{color:#fff}
.menu-chips li.alt{background:var(--sand);border-color:var(--sand);color:var(--ink)}
.pizza-stage{position:relative;max-width:520px;margin-inline:auto;aspect-ratio:1;display:grid;place-items:center}
.pizza{width:88%;aspect-ratio:1;position:relative;z-index:1;will-change:transform;filter:drop-shadow(0 28px 30px rgba(0,0,0,.6))}
.pizza img{width:100%;height:100%;object-fit:contain}
.pizza-badge{position:absolute;left:0;bottom:6%;z-index:2;width:128px;aspect-ratio:1;border-radius:50%;background:var(--coral);display:grid;place-content:center;text-align:center;font-family:var(--font-display);text-transform:uppercase;font-size:1.5rem;line-height:.95;rotate:-12deg}
.pizza-stage .bubbles{inset:-8%;overflow:visible}

/* ---------- majutus ---------- */
.stay-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:3.5rem 0 0}
.stat{aspect-ratio:1;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-content:center;text-align:center;padding:1rem;transition:transform .4s var(--ease)}
.stat:nth-child(even){translate:0 26px}
.stat:hover{transform:scale(1.06) rotate(-4deg)}
.stat b{font-family:var(--font-display);font-weight:400;font-size:clamp(2.6rem,7vw,6rem);line-height:.9}
.stat span{font-weight:500;font-size:clamp(.72rem,1.2vw,1rem)}
.stat.s-sky{background:var(--sky);color:var(--indigo)}
.stat.s-sand{background:var(--sand);color:var(--indigo)}
.stat.s-indigo{background:var(--indigo)}
.houses{margin:4rem 0 2.5rem}
.houses svg{width:100%;height:auto;overflow:visible}
.houses .water{fill:none;stroke:var(--teal);stroke-width:5;stroke-linecap:round}
@media (max-width:767.98px){
  .stay-row{grid-template-columns:repeat(2,1fr);max-width:420px;margin-inline:auto}
}

/* ---------- hinnakiri ---------- */
.pricecard{background:var(--cream);border-radius:var(--radius);padding:4.2rem clamp(1.25rem,4vw,3rem) 2.2rem;position:relative;box-shadow:var(--shadow);rotate:1.2deg}
.pricecard-logo{position:absolute;top:-42px;left:50%;translate:-50% 0;filter:drop-shadow(0 8px 12px rgba(35,31,32,.2))}
.pricecard .nav-pills{gap:.4rem;margin-bottom:1.5rem}
.pricecard .nav-link{font-family:var(--font-display);text-transform:uppercase;font-size:1.6rem;line-height:1;color:var(--ink);border-radius:999px;padding:.5rem 1.2rem .45rem;transition:background .2s,color .2s}
.pricecard .nav-link:hover{color:var(--red)}
.pricecard .nav-link.active{background:var(--indigo);color:#fff}
.pricecard-note{text-align:center;font-size:.85rem;color:#5d5758;margin-bottom:1rem}
.prices{margin:0}
.prices>div{display:flex;align-items:baseline;gap:.75rem;padding:.85rem 0;border-bottom:2px dotted rgba(35,31,32,.2)}
.prices>div:last-child{border-bottom:0}
.prices dt{font-weight:600;flex:1}
.prices dt small{display:block;font-weight:300;font-size:.82rem;color:#5d5758}
.prices dd{margin:0;font-family:var(--font-display);font-size:2rem;line-height:1;color:var(--red);white-space:nowrap}

/* ---------- seltskonnaga ---------- */
.feature{display:flex;flex-direction:column;height:100%;min-height:420px;border-radius:var(--radius);padding:1.75rem;text-decoration:none;position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.feature:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.feature .tag{align-self:flex-start;margin-bottom:auto}
.feature h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:2.3rem;line-height:.95;margin:2rem 0 .6rem}
.feature p{font-weight:300;margin-bottom:1rem}
.feature .more{font-weight:600;font-size:.92rem;display:inline-flex;gap:.5rem}
.f-photo{color:#fff;padding:0}
.f-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.f-photo:hover img{scale:1.06}
.f-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(59,59,156,.95) 5%,rgba(59,59,156,.35) 55%,rgba(59,59,156,0) 80%)}
.f-photo .feature-body{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:1.75rem;flex:1}
.f-photo:hover{color:#fff}
.f-photo h3{font-size:clamp(2.3rem,3.6vw,3.2rem);max-width:14ch}
.f-photo p{max-width:44ch}
.f-sand{background:var(--sand);color:var(--ink)}.f-sand h3{color:var(--indigo)}
.f-indigo{background:var(--indigo);color:#fff}.f-indigo:hover{color:#fff}
.f-indigo>*{position:relative;z-index:1}
.f-indigo::before{content:"";position:absolute;right:-50px;top:-40px;width:150px;height:150px;border-radius:50%;background:var(--sky);opacity:.9;box-shadow:-70px 80px 0 -40px #fff,-20px 130px 0 -55px var(--coral)}

/* ---------- KKK + kontakt ---------- */
.faq{--bs-accordion-bg:transparent;--bs-accordion-border-color:rgba(35,31,32,.15);--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-active-bg:transparent;--bs-accordion-active-color:var(--indigo);--bs-accordion-btn-padding-x:0;--bs-accordion-body-padding-x:0;--bs-accordion-border-radius:0;--bs-accordion-inner-border-radius:0}
.faq .accordion-item{border-left:0;border-right:0;border-width:2px 0 0}
.faq .accordion-item:last-child{border-bottom:2px solid rgba(35,31,32,.15)}
.faq .accordion-button{font-weight:600;font-size:1.05rem;padding-block:1.25rem;gap:1rem}
.faq .accordion-button::after{background:var(--indigo);border-radius:50%;width:34px;height:34px;background-image:none;content:"+";color:#fff;display:grid;place-items:center;font-size:1.4rem;font-weight:400;line-height:1;transition:rotate .3s var(--ease),background .2s;flex:none}
.faq .accordion-button:not(.collapsed)::after{rotate:45deg;background:var(--red);transform:none}
.faq .accordion-body{padding-top:0;font-weight:300;max-width:52ch}
.contact-card{background:#fff;border-radius:var(--radius);padding:clamp(1.75rem,4vw,3rem);position:relative;box-shadow:var(--shadow)}
.contact-logo{position:absolute;right:-18px;top:-40px;filter:drop-shadow(0 10px 14px rgba(35,31,32,.2))}
.contact-list{list-style:none;padding:0;margin:0 0 2rem}
.contact-list li{display:grid;grid-template-columns:96px 1fr;gap:1rem;padding:.85rem 0;border-bottom:2px dotted rgba(35,31,32,.18)}
.contact-list span{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#5d5758;padding-top:.2rem}
.contact-list a,.contact-list b{font-weight:600;color:var(--indigo);text-decoration:none}
.contact-list a:hover{color:var(--red)}
@media (max-width:575.98px){.contact-logo{width:84px;height:84px;right:-6px}.contact-list li{grid-template-columns:1fr;gap:.1rem}}

/* ---------- jalus ---------- */
.site-footer{position:relative;background:var(--indigo);color:#fff;padding:clamp(7rem,12vw,10rem) 0 2rem;overflow:hidden}
.footer-shout{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(3.4rem,15vw,14rem);line-height:.85;margin:0 0 3rem;color:var(--sky);text-align:center;white-space:nowrap}
.footer-cols h4{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:1.5rem;color:var(--sand);margin-bottom:.9rem}
.footer-cols a{display:block;width:max-content;max-width:100%;text-decoration:none;font-weight:300;padding:.28rem 0;opacity:.9;transition:translate .25s var(--ease),color .2s}
.footer-cols a:hover{translate:6px 0;color:var(--sky);opacity:1}
.footer-bottom{display:flex;align-items:center;gap:1rem;margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);font-size:.85rem}

/* ---------- rippmenüü (Meist) ---------- */
.navbar .dropdown-toggle::after{position:static;display:inline-block;width:.45em;height:.45em;margin-left:.45em;border:solid currentColor;border-width:0 2px 2px 0;background:none;transform:rotate(45deg) translateY(-2px);transition:none;vertical-align:middle}
.navbar .dropdown-toggle:hover::after,.navbar .dropdown-toggle.active::after{transform:rotate(45deg) translateY(-2px)}
.navbar .dropdown-toggle.active{color:var(--indigo)}
.navbar .dropdown-menu{border:0;border-radius:20px;padding:.5rem;margin-top:.9rem!important;box-shadow:var(--shadow);min-width:11rem}
.navbar .dropdown-item{font-weight:500;font-size:.95rem;border-radius:999px;padding:.55rem 1rem;color:var(--ink)}
.navbar .dropdown-item:hover,.navbar .dropdown-item:focus{background:var(--cream2);color:var(--indigo)}
.navbar .dropdown-item.active{background:var(--indigo);color:#fff}
@media (max-width:1199.98px){
  .navbar .dropdown-menu{box-shadow:none;background:var(--cream2);margin:.25rem 0 .5rem!important;padding:.4rem}
  .navbar .dropdown-item{font-family:var(--font-display);text-transform:uppercase;font-size:1.4rem}
}

/* ---------- galerii leht ---------- */
.page-hero{position:relative;background:var(--indigo);color:#fff;padding:170px 0 clamp(7rem,12vw,10rem);overflow:hidden;isolation:isolate}
.page-hero .container-xxl{position:relative;z-index:2}
.page-hero .hero-title{margin:0}
.page-hero .hero-title .line{white-space:normal}
.crumbs{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0 0 1.25rem;font-size:.85rem;font-weight:500}
.crumbs li+li::before{content:"/";margin-right:.5rem;opacity:.5}
.crumbs a{color:var(--sky);text-decoration:none}.crumbs a:hover{text-decoration:underline}
.gallery-section{padding-top:clamp(2rem,4vw,3.5rem)}
.g-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}
.g-filter{font-family:var(--font-display);text-transform:uppercase;font-size:1.45rem;line-height:1;border:2px solid var(--indigo);background:transparent;color:var(--indigo);border-radius:999px;padding:.5rem 1.2rem .45rem;transition:background .2s,color .2s,transform .3s var(--ease)}
.g-filter:hover{transform:rotate(-3deg)}
.g-filter.active{background:var(--indigo);color:#fff}
.g-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;grid-auto-flow:dense;gap:1rem}
.g-item{margin:0;grid-column:span 4;grid-row:span 2}
.g-item.wide{grid-column:span 8}
.g-item.tall{grid-row:span 4}
.g-item[hidden]{display:none}
.g-btn{display:block;width:100%;height:100%;padding:0;border:0;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--ink);cursor:zoom-in}
.g-btn img{width:100%;height:100%;object-fit:cover;transition:scale .7s var(--ease)}
.g-item[data-cat="kohvik"] .g-btn img{object-fit:contain;padding:1rem}
.g-btn:hover img,.g-btn:focus-visible img{scale:1.07}
.g-btn figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:3rem 1.25rem 1.1rem;color:#fff;font-weight:500;font-size:.92rem;text-align:left;background:linear-gradient(0deg,rgba(35,31,32,.8),rgba(35,31,32,0));opacity:0;translate:0 12px;transition:opacity .3s,translate .3s var(--ease)}
.g-btn:hover figcaption,.g-btn:focus-visible figcaption{opacity:1;translate:0 0}
.g-btn .tag{font-size:1.05rem}
.g-cta{text-align:center;margin-top:clamp(4rem,8vw,6rem)}
.g-modal .modal-content{background:transparent;border:0;align-items:center}
.g-modal img{max-width:100%;max-height:80vh;border-radius:20px;background:var(--ink)}
.g-cap{color:#fff;font-weight:500;margin:1rem 0 0;text-align:center}
.modal-backdrop.show{opacity:.88;background:var(--ink)}
.g-close,.g-nav{position:absolute;z-index:2;width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:var(--indigo);font-size:1.4rem;line-height:1;display:grid;place-items:center;transition:transform .25s var(--ease),background .2s,color .2s}
.g-close:hover,.g-nav:hover{background:var(--red);color:#fff;transform:scale(1.1)}
.g-close{top:-8px;right:0}
.g-prev{left:8px;top:calc(50% - 44px)}.g-next{right:8px;top:calc(50% - 44px)}
@media (hover:none){.g-btn figcaption{opacity:1;translate:0 0}}
@media (max-width:767.98px){
  .g-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:120px;gap:.75rem}
  .g-item,.g-item.wide{grid-column:span 2}
  .g-item.tall{grid-column:span 2;grid-row:span 3}
  .page-hero{padding-top:130px}
}

/* ---------- ilmumise animatsioon ---------- */
.js .reveal{opacity:0;transform:translateY(34px) scale(.97);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--rd,0s)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- väiksemad ekraanid ---------- */
@media (max-width:991.98px){
  .hero{padding-bottom:230px}
  .hero-photo{background-position:70% 40%}
  .hero-shade{background:linear-gradient(0deg,rgba(59,59,156,.95) 0%,rgba(59,59,156,.7) 45%,rgba(59,59,156,.1) 85%)}
  .hero-sticker{bottom:80px;right:1.25rem}
  .pricecard{rotate:0deg}
}
@media (max-width:575.98px){
  .hero{padding-top:120px}
  .hero-cta .btn{flex:1 1 100%}
  .hero-sticker{width:118px}
  .sticker-spin text{font-size:13.2px}
  .big-number{width:160px}.big-number b{font-size:3.2rem}
  .activity{min-height:220px}
  .feature{min-height:340px}
}

/* ---------- vähem liikumist ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .ticker-track{animation:none}
  .swoosh path{stroke-dashoffset:0}
  .js .reveal{opacity:1;transform:none}
}

/* kitsam desktop: menüü mahub ühele reale */
.btn-wake{white-space:nowrap}
@media (min-width:1200px) and (max-width:1399.98px){
  .navbar-nav .nav-link{padding:.6rem .55rem!important;font-size:.88rem}
  .navbar-nav .nav-link::after{left:.55rem;right:.55rem}
  .nav-actions{gap:.5rem}
  .navbar-brand{margin-right:.5rem}
}

/* ---------- sündmuste leht ---------- */
.events-section{padding-top:clamp(2rem,4vw,3.5rem)}
.event-feature{display:grid;grid-template-columns:1.1fr 1fr;background:var(--indigo);color:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.event-feature-photo{min-height:340px;overflow:hidden}
.event-feature-photo img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.event-feature:hover .event-feature-photo img{scale:1.05}
.event-feature-body{padding:clamp(1.75rem,4vw,3.25rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.event-feature h2{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.4rem,4.4vw,4rem);line-height:.92;margin:0 0 1rem;color:var(--sky)}
.event-feature p{font-weight:300;max-width:46ch}
.event-when{font-weight:600!important;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);margin:1.25rem 0 .5rem}
.event-feature .d-flex{margin-top:.75rem}
.events-head{margin:clamp(4rem,8vw,6rem) 0 1.5rem}
.events-head .display-title{margin-bottom:0}
.event-list{list-style:none;padding:0;margin:0}
.event{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1rem,3vw,2.5rem);align-items:center;padding:1.75rem 0;border-top:2px solid rgba(35,31,32,.12)}
.event:last-child{border-bottom:2px solid rgba(35,31,32,.12)}
.event[hidden]{display:none}
.event-date{width:132px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;line-height:1;transition:transform .4s var(--ease)}
.event:hover .event-date{transform:rotate(-8deg) scale(1.06)}
.event-date b{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:2.4rem}
.event-date span{font-size:.72rem;font-weight:600;margin-top:.3rem;max-width:9ch;margin-inline:auto}
.d-sky{background:var(--sky);color:var(--indigo)}.d-red{background:var(--red);color:#fff}
.d-sand{background:var(--sand);color:var(--indigo)}.d-indigo{background:var(--indigo);color:#fff}
.event .tag{background:var(--cream2);font-size:1.05rem}
.event h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1;color:var(--indigo);margin:.7rem 0 .4rem}
.event p{margin:0;font-weight:300;max-width:60ch}
.event-empty{padding:2rem 0;font-weight:500}
.own-event{position:relative;overflow:hidden;background:var(--coral);border-radius:var(--radius);margin-top:clamp(4rem,8vw,6rem);padding:clamp(2.5rem,6vw,5rem) clamp(1.5rem,5vw,4rem);text-align:center}
.own-event-inner{position:relative;z-index:1}
.own-event p{color:#fff;font-size:1.08rem;font-weight:300;max-width:52ch;margin:0 auto 1.75rem}
@media (max-width:767.98px){
  .event-feature{grid-template-columns:1fr}
  .event-feature-photo{min-height:220px;max-height:260px}
  .event{grid-template-columns:auto 1fr;align-items:start}
  .event-date{width:92px}.event-date b{font-size:1.7rem}.event-date span{font-size:.62rem}
  .event>.btn{grid-column:1/-1;justify-self:start}
}

/* ---------- alamlehtede päis (foto + lead) ---------- */
.page-hero .hero-lead{margin:1.5rem 0 1.75rem}
.page-hero.has-photo .hero-photo{background-position:50% 45%}
.page-hero.has-photo .hero-shade{background:linear-gradient(100deg,rgba(59,59,156,.94) 0%,rgba(59,59,156,.7) 45%,rgba(59,59,156,.15) 85%)}
.wave.w-coral path{fill:var(--coral)}
.section-coral .lead-text a,.own-event p a{color:#fff;font-weight:600}

/* ---------- sündmuse kuupäev / aeg / koht ---------- */
.event-meta{display:flex;flex-wrap:wrap;gap:.5rem .6rem;margin:1rem 0 0}
.event-meta>div{display:flex;align-items:baseline;gap:.5rem;background:#fff;border-radius:999px;padding:.4rem .95rem}
.event-meta dt{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#5d5758}
.event-meta dd{margin:0;font-size:.9rem;font-weight:600;color:var(--indigo)}
.event-meta.on-dark{margin:0 0 1.5rem}
.event-meta.on-dark>div{background:rgba(255,255,255,.14)}
.event-meta.on-dark dt{color:var(--sand)}.event-meta.on-dark dd{color:#fff}
.event-when{margin-bottom:.5rem}
.event-date b{font-size:2.6rem}
.event-date span{text-transform:uppercase;letter-spacing:.06em}

/* ---------- kalendrivaade ---------- */
.cal{background:#fff;border-radius:var(--radius);padding:clamp(1rem,3vw,2rem);box-shadow:var(--shadow)}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.cal-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1;color:var(--indigo);margin:0;text-align:center}
.cal-nav{width:46px;height:46px;flex:none;border-radius:50%;border:2px solid var(--indigo);background:transparent;color:var(--indigo);font-size:1.2rem;line-height:1;transition:background .2s,color .2s,transform .25s var(--ease)}
.cal-nav:hover{background:var(--indigo);color:#fff;transform:scale(1.08)}
.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-week{margin-bottom:6px}
.cal-week span{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.1em;color:#5d5758;padding:.3rem 0}
.cal-day{position:relative;min-width:0;overflow:hidden;min-height:92px;border-radius:16px;background:var(--cream);padding:.45rem .5rem;display:flex;flex-direction:column;gap:3px;text-align:left;border:2px solid transparent;font:inherit;color:inherit}
.cal-day.is-out{background:transparent}
.cal-day .n{font-weight:600;font-size:.9rem;line-height:1.2}
.cal-day.is-today .n{align-self:flex-start;background:var(--red);color:#fff;border-radius:999px;padding:0 .45rem}
button.cal-day{cursor:pointer;transition:transform .2s var(--ease),border-color .2s}
button.cal-day:hover{transform:translateY(-3px);border-color:var(--indigo)}
button.cal-day.is-selected{border-color:var(--indigo);background:#fff}
.cal-pill{display:block;font-size:.68rem;font-weight:600;line-height:1.25;border-radius:6px;padding:.12rem .35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-more{font-size:.66rem;font-weight:600;color:#5d5758}
.cal-jump{display:block;margin:1.25rem auto 0;border:0;background:none;color:var(--indigo);font-weight:600;border-bottom:2px solid currentColor;padding:0 0 2px}
.cal-legend{list-style:none;padding:0;margin:0 0 1.75rem;display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;font-size:.88rem;font-weight:500}
.cal-legend li{display:flex;align-items:center;gap:.45rem}
.cal-legend i{width:14px;height:14px;border-radius:50%}
.cal-detail{background:#fff;border-radius:22px;padding:1.25rem 1.4rem}
.cal-detail-empty{margin:0;color:#5d5758;font-size:.92rem}
.cal-detail h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:1.7rem;line-height:1;color:var(--indigo);margin:0 0 1rem}
.cal-detail-item{display:grid;grid-template-columns:12px 1fr;gap:.7rem;padding:.75rem 0;border-top:2px dotted rgba(35,31,32,.15)}
.cal-detail-item i{width:12px;height:12px;border-radius:50%;margin-top:.3rem}
.cal-detail-item b{display:block;font-weight:600}
.cal-detail-item span{display:block;font-size:.86rem;color:#5d5758}
@media (max-width:767.98px){
  .cal-week,.cal-grid{gap:3px}
  .cal-day{min-height:54px;padding:.3rem;align-items:center;border-radius:12px}
  .cal-day .n{font-size:.82rem}
  .cal-pills{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}
  .cal-pill{width:9px;height:9px;padding:0;border-radius:50%;font-size:0}
  .cal-more{display:none}
}

/* ---------- wakepark: rajad, sammud, pildiriba ---------- */
.lane{height:100%;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.lane:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.lane-photo{aspect-ratio:16/9;overflow:hidden}
.lane-photo img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.lane:hover .lane-photo img{scale:1.06}
.lane-body{padding:1.75rem;flex:1}
.lane h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.2rem,3.6vw,3rem);line-height:.95;margin:1.25rem 0 1rem}
.lane-mint{background:var(--mint);color:var(--ink)}.lane-mint h3{color:var(--indigo)}
.lane-indigo{background:var(--indigo);color:#fff}.lane-indigo h3{color:var(--sky)}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}
.ticks li{position:relative;padding-left:1.9rem}
.ticks li::before{content:"";position:absolute;left:0;top:.28em;width:1.1rem;height:1.1rem;border-radius:50%;background:#fff}
.ticks li::after{content:"";position:absolute;left:.36rem;top:.5em;width:.4rem;height:.6rem;border:solid var(--indigo);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-3px)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;counter-reset:s}
.step{background:#fff;border-radius:var(--radius);padding:3.2rem 1.75rem 1.75rem;position:relative;margin-top:2.5rem}
.step b{position:absolute;top:-2.5rem;left:1.5rem;width:5rem;height:5rem;border-radius:50%;background:var(--indigo);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:400;font-size:3rem;line-height:1;rotate:-8deg;transition:rotate .4s var(--ease)}
.step:hover b{rotate:8deg}
.step:nth-child(2) b{background:var(--red)}
.step:nth-child(3) b{background:var(--sand);color:var(--indigo)}
.step h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:2rem;line-height:1;color:var(--indigo);margin:0 0 .6rem}
.step p{margin:0;font-weight:300}
.photo-strip{display:grid;grid-template-columns:1.3fr 1.3fr 1fr;gap:1rem;height:100%;min-height:320px}
.photo-strip a{display:block;border-radius:var(--radius);overflow:hidden;text-decoration:none}
.photo-strip img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.photo-strip a:hover img{scale:1.07}
.more-tile{background:var(--sand);display:grid!important;place-items:center;text-align:center;font-family:var(--font-display);text-transform:uppercase;font-size:2rem;line-height:.95;color:var(--indigo);transition:background .2s,color .2s}
.more-tile:hover{background:var(--red);color:#fff}
.stay-intro{padding-bottom:clamp(2rem,4vw,3rem)}
.stay-intro .houses{margin-bottom:0}
.own-event.mt-0{margin-top:0}
@media (max-width:991.98px){
  .steps{grid-template-columns:1fr}
}
@media (max-width:575.98px){
  .photo-strip{grid-template-columns:1fr 1fr;min-height:0}
  .photo-strip a{aspect-ratio:1}
  .photo-strip .more-tile{grid-column:1/-1;aspect-ratio:auto;padding:1.5rem}
}
.page-hero .bubbles{z-index:-1}

/* ---------- majutus: fotod ---------- */
.stay-photos{padding-top:clamp(2rem,4vw,3rem)}
.ticks.on-light li::before{background:var(--indigo)}
.ticks.on-light li::after{border-color:#fff}
.stay-collage{position:relative;padding:0 0 18% 0}
.stay-collage a{display:block;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.stay-collage img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.stay-collage a:hover img{scale:1.05}
.sc-a{width:86%;aspect-ratio:4/3}
.sc-b{position:absolute;right:0;bottom:0;width:52%;aspect-ratio:3/2;border:8px solid var(--cream)}
.stay-wide{position:relative;margin:clamp(3rem,6vw,5rem) 0 0;border-radius:var(--radius);overflow:hidden}
.stay-wide img{width:100%;aspect-ratio:21/9;object-fit:cover}
.stay-wide figcaption{position:absolute;left:1.25rem;bottom:1.25rem}

/* ---------- seltskonnaga: kaardid, valikud, vorm ---------- */
.feature.f-coral{background:var(--coral);color:#fff}
.feature.f-sky{background:var(--sky);color:var(--ink)}.feature.f-sky h3{color:var(--indigo)}
div.feature:hover{transform:translateY(-8px)}
.pick-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.pick-list a{display:block;height:100%;background:#fff;border-radius:22px;padding:1.25rem 1.4rem;text-decoration:none;position:relative;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.pick-list a::after{content:"→";position:absolute;right:1.2rem;top:1.15rem;color:var(--red);font-weight:600;transition:transform .25s var(--ease)}
.pick-list a:hover{transform:translateY(-5px) rotate(-1deg);box-shadow:var(--shadow)}
.pick-list a:hover::after{transform:translateX(5px)}
.pick-list b{display:block;font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:1.8rem;line-height:1;color:var(--indigo);margin-bottom:.35rem;padding-right:1.5rem}
.pick-list span{font-size:.92rem;font-weight:300}
.steps.bordered .step{box-shadow:inset 0 0 0 2px var(--cream2)}
.contact-list.on-cream li{border-color:rgba(35,31,32,.2)}
.wake-form{background:#fff;border-radius:var(--radius);padding:clamp(1.5rem,4vw,2.75rem);box-shadow:var(--shadow)}
.wake-form .form-label,.wake-form legend.form-label{font-weight:600;font-size:.88rem;margin-bottom:.4rem;float:none}
.wake-form .form-label span{color:var(--red)}
.wake-form .form-control,.wake-form .form-select{border:2px solid var(--cream2);border-radius:14px;padding:.75rem 1rem;font-size:1rem;background-color:var(--cream);transition:border-color .2s,background .2s}
.wake-form .form-control:focus,.wake-form .form-select:focus{border-color:var(--indigo);background-color:#fff;box-shadow:none}
.wake-form .was-validated .form-control:invalid,.wake-form.was-validated .form-control:invalid,.wake-form.was-validated .form-select:invalid{border-color:var(--red)}
.wake-form.was-validated .form-control:valid,.wake-form.was-validated .form-select:valid{border-color:var(--mint)}
.wake-form .invalid-feedback{color:#C43D12;font-weight:500}
.chip-checks{display:flex;flex-wrap:wrap;gap:.5rem}
.chip-checks label{border:2px solid var(--indigo);color:var(--indigo);border-radius:999px;padding:.5rem 1.1rem;font-weight:600;font-size:.92rem;cursor:pointer;transition:background .2s,color .2s,transform .25s var(--ease)}
.chip-checks label:hover{transform:rotate(-2deg)}
.chip-checks .btn-check:checked+label{background:var(--indigo);color:#fff}
.chip-checks .btn-check:focus-visible+label{outline:3px solid var(--indigo);outline-offset:3px}
.wake-form .form-check-input{width:1.3em;height:1.3em;margin-top:.1em;border:2px solid var(--indigo)}
.wake-form .form-check-input:checked{background-color:var(--indigo);border-color:var(--indigo)}
.wake-form .form-check-label{padding-left:.35rem;font-size:.92rem}
.form-note{font-size:.82rem;color:#5d5758}
.form-success{background:#fff;border-radius:var(--radius);padding:clamp(2rem,6vw,4rem);box-shadow:var(--shadow);text-align:center}
.form-success img{margin:0 auto 1.25rem;animation:pop .6s var(--ease)}
.form-success h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.2rem,4vw,3rem);line-height:1;color:var(--indigo)}
@keyframes pop{from{transform:scale(.3) rotate(-30deg);opacity:0}to{transform:none;opacity:1}}
@media (max-width:575.98px){.pick-list{grid-template-columns:1fr}.stay-wide img{aspect-ratio:16/10}}

/* ---------- rippmenüü nool (chevron, pöördub avamisel) ---------- */
.navbar .nav-link.dropdown-toggle{display:inline-flex;align-items:center;gap:.4rem}
.navbar .nav-link.dropdown-toggle::after,
.navbar .nav-link.dropdown-toggle:hover::after,
.navbar .nav-link.dropdown-toggle.active::after{
  content:"";position:static;flex:none;width:.72em;height:.72em;margin:0;border:0;border-radius:0;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.25 6 8.25l4-4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.25 6 8.25l4-4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transform:none;transform-origin:center;transition:transform .3s var(--ease)}
.navbar .nav-link.dropdown-toggle[aria-expanded="true"]{color:var(--indigo)}
.navbar .nav-link.dropdown-toggle[aria-expanded="true"]::after{transform:rotate(180deg)}
.navbar .dropdown-menu{min-width:13.5rem}
@media (max-width:1199.98px){
  .navbar .nav-link.dropdown-toggle{display:flex;justify-content:space-between}
  .navbar .nav-link.dropdown-toggle::after{width:.6em;height:.6em}
}

/* ---------- rippmenüü eraldusjoon ---------- */
.navbar .dropdown-divider{margin:.4rem .75rem;border-top:2px dotted rgba(35,31,32,.2);opacity:1}

/* ---------- talvepark ---------- */
.page-hero .hero-chip{margin-bottom:1.25rem}
.page-hero.is-snow{background:linear-gradient(180deg,#2B2B7C,var(--indigo))}
.page-hero.is-snow .bubble span,.bubbles.is-white .bubble span{background:#fff!important}
.stay-row.three{grid-template-columns:repeat(3,1fr);max-width:900px;margin-inline:auto}
.winter-stats{padding-bottom:clamp(3rem,6vw,5rem)}
.feature.tall{min-height:100%}
.feature.tall h3{font-size:clamp(2.4rem,4vw,3.4rem);max-width:14ch}
.feature.tall p{max-width:46ch}
.contact-card.h-100{display:flex;flex-direction:column;align-items:flex-start}
.contact-card.h-100 .contact-list{align-self:stretch}
.pt-last{padding-top:clamp(3rem,6vw,5rem)}

/* ---------- laagrid ---------- */
.shift{background:#fff;border-radius:var(--radius);padding:1.75rem;height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.shift:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:var(--shadow)}
.shift .tag{background:var(--cream2);margin-bottom:1.5rem}
.shift b{font-family:var(--font-display);font-weight:400;font-size:clamp(2.6rem,4.4vw,3.6rem);line-height:.95;color:var(--indigo)}
.shift>span:last-child{font-size:.9rem;font-weight:500}
.shift.s2{background:var(--indigo);color:#fff}.shift.s2 b{color:var(--sky)}
.shift.s3{background:var(--red);color:#fff}.shift.s3 b{color:#fff}
.menu-chips.on-light{margin:0 0 2.5rem}
.menu-chips.on-light li{border-color:var(--indigo);color:var(--indigo)}
.menu-chips.on-light li small{color:#5d5758}
.menu-chips.on-light li:hover{color:#fff}
.circle-pair{display:flex;gap:1rem;align-items:center}
.circle-pair .circle{position:relative;width:46%;aspect-ratio:1}
.circle-pair .circle:last-child{width:36%;border-color:var(--sand);margin-top:3rem}
.timeline{list-style:none;padding:0;margin:0;position:relative}
.timeline::before{content:"";position:absolute;left:11px;top:.6rem;bottom:.6rem;border-left:3px dotted var(--indigo);opacity:.4}
.timeline li{position:relative;padding:0 0 2rem 3rem}
.timeline li::before{content:"";position:absolute;left:0;top:.3rem;width:25px;height:25px;border-radius:50%;background:var(--red);border:5px solid var(--cream)}
.timeline li:nth-child(2)::before{background:var(--sky)}.timeline li:nth-child(3)::before{background:var(--sand)}
.timeline b{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5d5758}
.timeline h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:2rem;line-height:1;color:var(--indigo);margin:.3rem 0 .4rem}
.timeline p{margin:0;font-weight:300;max-width:46ch}
.price-hero{text-align:center;margin:0 0 1.5rem}
.price-hero b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(4.5rem,9vw,7rem);line-height:.9;color:var(--red)}
.price-hero span{font-weight:600}
.ticks.two-col{grid-template-columns:repeat(2,1fr);max-width:440px;margin-inline:auto}
.prices.on-cream dd{font-size:1.5rem;text-align:right}

/* ---------- hinnakiri ---------- */
.price-section{padding-top:clamp(2.5rem,5vw,4rem)}
.section-sky.price-section{padding-top:clamp(8rem,14vw,12rem)}
.menu-sheet{background:#fff;border-radius:var(--radius);padding:2.25rem clamp(1.25rem,3vw,2rem) 2rem;height:100%;box-shadow:0 10px 30px -22px rgba(35,31,32,.5);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.menu-sheet:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.menu-sheet>img{margin:0 auto .9rem;transition:transform .5s var(--ease)}
.menu-sheet:hover>img{transform:rotate(-12deg) scale(1.08)}
.menu-sheet h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.4rem,4vw,3rem);line-height:1;text-align:center;color:var(--ink);margin:0 0 1rem}
.menu-sheet .prices dt{font-size:.95rem}
.menu-sheet .prices dd{font-size:1.7rem}
.menu-sheet .prices>div{padding:.7rem 0}
.menu-sheet .btn{margin-top:1.25rem}
.menu-sheet.is-wide{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:var(--indigo);color:#fff;padding:clamp(1.75rem,4vw,3rem)}
.menu-sheet.is-wide h3{text-align:left;color:var(--sky)}
.menu-sheet.is-wide p{font-weight:300;max-width:52ch}
.menu-sheet.is-wide .btn{margin-top:.5rem}
.menu-sheet.is-wide .btn-outline-indigo{border-color:#fff;color:#fff}
.menu-sheet.is-wide .btn-outline-indigo:hover{background:#fff;color:var(--indigo)}
.link-arrow.c-white{color:#fff}
@media (max-width:767.98px){
  .stay-row.three{grid-template-columns:repeat(3,1fr);gap:.6rem}
  .stay-row.three .stat:nth-child(even){translate:0 14px}
  .stay-row.three .stat b{font-size:1.9rem}
  .stay-row.three .stat span{font-size:.62rem}
}
.stay-row.three .stat b{font-size:clamp(1.9rem,4.4vw,4rem);white-space:nowrap}
@media (max-width:991.98px){.page-hero.is-snow .bubbles{opacity:.3}}
@media (max-width:767.98px){.stay-row.three .stat{padding:.4rem}.stay-row.three .stat b{font-size:1.35rem}}

/* ---------- fotokaardid (talvepark) ---------- */
.photo-card{--bg:#fff;--fg:var(--ink);--hd:var(--indigo);display:flex;flex-direction:column;height:100%;background:var(--bg);color:var(--fg);border-radius:var(--radius);overflow:hidden;text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.photo-card:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:var(--shadow);color:var(--fg)}
.pc-photo{aspect-ratio:4/3;overflow:hidden}
.pc-photo img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.photo-card:hover .pc-photo img{scale:1.07}
.pc-body{position:relative;padding:0 1.5rem 1.5rem;flex:1;display:flex;flex-direction:column;align-items:flex-start}
.pc-body .tag{margin-top:-1.1rem;position:relative;z-index:1;box-shadow:0 6px 14px -8px rgba(35,31,32,.5)}
.pc-body h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.4rem,4vw,3.2rem);line-height:.95;color:var(--hd);margin:1.1rem 0 .5rem}
.pc-body p{font-weight:300;margin:0}
.pc-body .more{font-weight:600;font-size:.92rem;display:inline-flex;gap:.5rem;margin-top:1rem}
.pc-indigo{--bg:var(--indigo);--fg:#fff;--hd:var(--sky)}
.pc-cream{--bg:var(--cream)}
.pc-coral{--bg:var(--coral);--fg:#fff;--hd:#fff}
.pc-black{--bg:var(--ink);--fg:#fff;--hd:var(--sand)}
.pc-sand{--bg:var(--sand)}
.pc-mint{--bg:var(--mint)}
.pc-cream .tag,.pc-sand .tag,.pc-mint .tag{background:#fff}
.page-hero.has-photo.is-snow .hero-shade{background:linear-gradient(100deg,rgba(43,43,124,.95) 0%,rgba(59,59,156,.78) 48%,rgba(59,59,156,.25) 90%)}

/* ---------- KKK leht ---------- */
.faq-section{padding-top:clamp(2rem,4vw,3.5rem)}
.faq-nav{flex-direction:column;align-items:flex-start;margin-bottom:2rem}
.faq-nav .g-filter{text-decoration:none}
.faq-nav .g-filter:hover{background:var(--indigo);color:#fff}
.faq-contact{padding:1.75rem}
.faq-contact .display-title{font-size:2.2rem;margin-bottom:.6rem}
.faq-contact .contact-list{margin-bottom:0}
.faq-contact .contact-list li{grid-template-columns:76px 1fr}
.faq-contact .contact-list li:last-child{border-bottom:0;padding-bottom:0}
.faq-group{margin-bottom:3.5rem;scroll-margin-top:110px}
.faq-group:last-child{margin-bottom:0}
.faq-title{margin:0 0 1rem;font-size:1rem}
.faq-title .tag{font-size:1.9rem;background:var(--sand);padding:.6rem 2rem .5rem 1.1rem}
.faq-group:nth-child(2) .faq-title .tag{background:var(--sky)}
.faq-group:nth-child(3) .faq-title .tag{background:var(--mint)}
.faq-group:nth-child(4) .faq-title .tag{background:var(--coral);color:#fff}
.faq .accordion-body a{color:var(--indigo);font-weight:600}
.faq .accordion-body a:hover{color:var(--red)}
@media (max-width:991.98px){.faq-nav{flex-direction:row}}

/* ---------- kontakt ---------- */
.contact-section{padding-top:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(3rem,6vw,5rem)}
.c-tile{--bg:#fff;--fg:var(--ink);display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;height:100%;min-height:210px;background:var(--bg);color:var(--fg);border-radius:var(--radius);padding:1.5rem;text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
a.c-tile:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:var(--shadow);color:var(--fg)}
.c-tile .tag{margin-bottom:auto}
.c-tile b{font-weight:600;font-size:clamp(1.05rem,1.5vw,1.3rem);overflow-wrap:anywhere;margin-top:1.5rem}
.c-tile .more{font-weight:600;font-size:.9rem;display:inline-flex;gap:.5rem}
.c-tile>span:last-child:not(.more){font-size:.9rem}
.t-red{--bg:var(--red);--fg:#fff}.t-indigo{--bg:var(--indigo);--fg:#fff}.t-sand{--bg:var(--sand)}.t-sky{--bg:var(--sky)}
.map-card{position:relative;display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/10;border:8px solid #fff;box-shadow:var(--shadow)}
.map-card>img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.map-card:hover>img{scale:1.06}
.map-pin{position:absolute;left:50%;top:46%;margin:-48px 0 0 -48px;filter:drop-shadow(0 10px 14px rgba(35,31,32,.4));animation:pinbob 2.4s ease-in-out infinite alternate}
@keyframes pinbob{to{translate:0 -10px}}
.map-label{position:absolute;right:1rem;bottom:1rem;background:#fff;color:var(--indigo);font-weight:600;border-radius:999px;padding:.55rem 1.1rem}
.inline-link{color:var(--indigo);font-weight:600}
.social-row{display:flex;flex-wrap:wrap;gap:.75rem}

/* ---------- kliendileping ---------- */
.legal-section{padding-top:clamp(2rem,4vw,3.5rem)}
.legal-keys{margin-bottom:1.25rem}
.legal-note{font-size:.85rem;color:#5d5758;margin-bottom:1.25rem}
.legal-aside .faq-contact{margin-top:2rem}
.legal-company{margin:0;font-size:.95rem;line-height:1.7}
.legal-company a{color:var(--indigo);font-weight:600}
.legal-doc{background:#fff;border-radius:var(--radius);padding:clamp(1.5rem,5vw,3.5rem);box-shadow:var(--shadow);position:relative}
.legal-logo{margin:0 auto 1rem}
.legal-doc h2{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);line-height:1;color:var(--indigo);text-align:center;margin:0 0 2rem;text-wrap:balance}
.legal-list{list-style:none;padding:0;margin:0;counter-reset:c}
.legal-list li{counter-increment:c;position:relative;padding:0 0 1.1rem 3.2rem;line-height:1.65;font-size:.97rem}
.legal-list li::before{content:counter(c);position:absolute;left:0;top:-.1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--cream2);color:var(--indigo);font-family:var(--font-display);font-size:1.35rem;display:grid;place-items:center}
.legal-list li:nth-child(11)::before{background:var(--red);color:#fff}
.legal-list strong{color:#C43D12}
.sign-block{border-top:2px dotted rgba(35,31,32,.25);margin-top:1.5rem;padding-top:2rem;font-size:.95rem}
.sign-block h3{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:2rem 0 1rem}
.sign-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2.2rem 0 .5rem}
.sign-row span{border-bottom:2px dotted var(--ink);height:1.5rem}
.minor-list{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 2rem;padding-left:1.2rem;margin-bottom:2rem}
.minor-list li{border-bottom:2px dotted var(--ink);height:1.6rem;padding-left:.3rem}
@media print{
  .site-header,.site-footer,.page-hero,.legal-aside,.bubbles{display:none!important}
  body{background:#fff}.section{padding:0}.legal-doc{box-shadow:none;padding:0}
  .legal-section .col-lg-8{width:100%}
  .js .reveal{opacity:1;transform:none}
}

/* ---------- stabiilne energia ---------- */
.page-hero.is-energy{background:linear-gradient(120deg,#2B2B7C,var(--indigo) 60%,#4a4ab8)}
.page-hero.is-energy .bubble span{background:var(--sand)!important}
.growth-title{text-align:center;font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--indigo);margin:3.5rem 0 0}
.growth-title+.stay-row{margin-top:1.5rem}
.section-indigo{background:var(--indigo);color:#fff;overflow:hidden}
.c-sky{color:var(--sky)}
.ticks.on-dark li::before{background:var(--sky)}
.eco-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.eco{background:var(--sky);color:var(--indigo);border-radius:var(--radius);padding:1.5rem;transition:transform .35s var(--ease)}
.eco:hover{transform:rotate(-2deg) scale(1.03)}
.eco b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(2.4rem,4.4vw,3.6rem);line-height:.95}
.eco span{font-weight:500;font-size:.92rem}
.eco.e2{background:var(--mint)}.eco.e3{background:var(--sand)}.eco.e4{background:#fff}
.eco-note{font-size:.82rem;opacity:.8;margin:1rem 0 0}
.shift b{overflow-wrap:anywhere}
.pick-list.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:991.98px){.pick-list.three{grid-template-columns:1fr}}

/* ---------- leping (digiallkiri) ---------- */
.timeline.compact li{padding-bottom:1.25rem}
.timeline.compact h3{font-size:1.6rem}
.timeline.compact li::before{border-color:var(--cream)}
.legal-aside .timeline{margin-bottom:1.5rem}
.sign-form{margin-top:2rem;scroll-margin-top:110px}
.sign-form .display-title{font-size:clamp(2rem,4vw,2.8rem)}
.sign-form legend{font-weight:600;font-size:.88rem;margin-bottom:.6rem}
.sign-note{font-size:.9rem;color:#5d5758;margin:1.25rem 0 1.5rem;max-width:60ch}
.sign-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.id-chips{display:flex;gap:.5rem}
.id-chips span{font-size:.8rem;font-weight:600;border:2px solid var(--cream2);border-radius:999px;padding:.35rem .8rem;color:var(--indigo)}

/* ---------- kestlikkus ---------- */
.page-hero.is-green{background:linear-gradient(120deg,#2B2B7C,var(--indigo) 55%,#2f7f78)}
.page-hero.is-green .bubble span{background:var(--mint)!important}
.green-intro{padding-bottom:clamp(3rem,6vw,5rem)}
.goal-nav{display:grid;gap:.6rem}
.goal-nav a{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:999px;padding:.45rem 1.25rem .45rem .45rem;font-weight:600;color:var(--indigo);text-decoration:none;transition:transform .3s var(--ease),background .2s,color .2s}
.goal-nav a:hover{transform:translateX(8px);background:var(--indigo);color:#fff}
.goal-nav b{flex:none;width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;background:var(--sand);font-family:var(--font-display);font-weight:400;font-size:1.5rem;color:var(--indigo)}
.goal-nav a:nth-child(2) b{background:var(--mint)}.goal-nav a:nth-child(3) b{background:var(--sky)}.goal-nav a:nth-child(4) b{background:var(--coral);color:#fff}
.goal{scroll-margin-top:90px}
.goal [id]{scroll-margin-top:110px}
.goal-head{display:flex;align-items:center;gap:1.25rem;margin-bottom:1rem}
.goal-head .display-title{margin:0}
.goal-head .eyebrow{margin-bottom:.4rem}
.goal-no{flex:none;width:clamp(4.5rem,8vw,6rem);aspect-ratio:1;border-radius:50%;background:var(--indigo);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;rotate:-8deg}
.goal-no.g-mint{background:var(--mint);color:var(--indigo)}.goal-no.g-sand{background:var(--sand);color:var(--indigo)}.goal-no.g-coral{background:var(--red)}
.goal-card{background:#fff;border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.25rem);height:100%}
.goal-card .ticks{gap:.8rem}
.goal-card.is-indigo{background:var(--indigo);color:#fff}
.goal-card.is-indigo .tag{margin-bottom:1rem}
.goal-card p{font-weight:300;line-height:1.7}
.sub-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(2rem,3.4vw,2.6rem);color:var(--indigo);margin:clamp(3rem,6vw,4.5rem) 0 .75rem}
.mini-card{background:#fff;border-radius:22px;padding:1.4rem;height:100%;transition:transform .3s var(--ease)}
.mini-card:hover{transform:translateY(-6px) rotate(-1deg)}
.mini-card b{display:block;font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:1.55rem;line-height:1;color:var(--indigo);margin-bottom:.6rem}
.mini-card p{margin:0;font-weight:300;font-size:.93rem}
.mini-card.m-sky{background:var(--cream)}
.body-text{font-weight:300;line-height:1.75;max-width:60ch}
.fact-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.fact{background:var(--sky);border-radius:var(--radius);padding:1.4rem}
.fact b{display:block;font-family:var(--font-display);font-weight:400;font-size:3rem;line-height:1;color:var(--indigo)}
.fact span{font-size:.9rem;font-weight:500}
.fact.f2{background:var(--sand)}
@media (max-width:575.98px){.fact-row{grid-template-columns:1fr}.goal-head{align-items:flex-start}}

/* ---------- märgisega hero (Green Key, UNESCO) ---------- */
.page-hero.has-badge{overflow:hidden}
.hero-badge{position:absolute;right:clamp(1rem,8vw,9rem);top:50%;margin:-150px 0 0;z-index:3;width:clamp(170px,17vw,240px);background:#fff;border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow);rotate:4deg;text-align:center}
.hero-badge img{width:100%;height:auto}
.hero-badge figcaption{font-size:.78rem;font-weight:600;color:var(--indigo);margin-top:.6rem}
.unesco-badge{display:flex;flex-direction:column;align-items:center;gap:.35rem;color:#1460a8;padding:1.4rem 1.1rem}
.unesco-badge .ub-top{font-weight:700;font-size:1.7rem;letter-spacing:.02em;line-height:1}
.unesco-badge .ub-mid,.unesco-badge .ub-low{font-size:.78rem;font-weight:600;line-height:1.3}
.unesco-badge b{font-family:var(--font-display);font-weight:400;font-size:3.6rem;line-height:.9;color:var(--indigo)}
@media (max-width:991.98px){
  .hero-badge{position:relative;right:auto;top:auto;margin:0 0 1.5rem 1rem;width:150px;float:none;order:-1}
  .page-hero.has-badge{display:flex;flex-direction:column;padding-top:110px}
  .page-hero.has-badge .hero-badge{align-self:flex-start;margin-left:max(12px,calc((100vw - 720px)/2 + 12px))}
}
@media (max-width:767.98px){.page-hero.has-badge .hero-badge{margin-left:12px;width:130px}}

/* ---------- UNESCO ---------- */
.unesco-photos{position:relative;padding:0 0 22% 0}
.unesco-photos>div{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.unesco-photos img{width:100%;height:100%;object-fit:cover}
.up-a{width:88%;aspect-ratio:16/10}
.up-b{position:absolute!important;right:0;bottom:0;width:48%;aspect-ratio:4/3;border:8px solid var(--cream)}
.up-num{position:absolute;left:4%;bottom:2%;width:130px;aspect-ratio:1;border-radius:50%!important;background:var(--red);color:#fff;display:grid;place-content:center;text-align:center;rotate:-10deg;overflow:visible!important}
.up-num b{font-family:var(--font-display);font-weight:400;font-size:3.4rem;line-height:.85}
.up-num span{font-weight:600;font-size:.8rem}
.big-quote{margin:0 auto;max-width:960px;text-align:center}
.big-quote p{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1;color:var(--indigo);margin:0}

/* ---------- ligipääsetavuse nupp + paneel ---------- */
.a11y-btn{flex:none;width:44px;height:44px;border-radius:50%;border:2px solid var(--indigo);background:#fff;color:var(--indigo);display:grid;place-items:center;padding:0;margin-left:auto;margin-right:.5rem;transition:background .2s,color .2s,transform .3s var(--ease)}
.a11y-btn svg{width:26px;height:26px}
.a11y-btn:hover,.a11y-btn:focus-visible{background:var(--indigo);color:#fff;transform:rotate(-12deg)}
@media (min-width:1200px){.a11y-btn{order:3;margin:0 0 0 .75rem;width:42px;height:42px}}
.a11y-panel{--bs-offcanvas-width:380px;background:var(--cream);border-left:0!important;border-radius:28px 0 0 28px}
.a11y-panel .offcanvas-header{padding:1.5rem 1.5rem .5rem}
.a11y-panel .offcanvas-title{font-family:var(--font-display);text-transform:uppercase;font-size:2.4rem;line-height:1;color:var(--indigo);margin:0}
.a11y-panel .offcanvas-body{padding:.5rem 1.5rem 2rem}
.a11y-intro{font-size:.92rem;color:#5d5758}
.a11y-group{background:#fff;border-radius:22px;padding:1rem 1.1rem;margin-bottom:1rem}
.a11y-group legend{float:none;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#5d5758;margin-bottom:.6rem}
.a11y-size{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.a11y-size button{border:2px solid var(--cream2);background:var(--cream);border-radius:16px;padding:.55rem 0;font-weight:700;color:var(--indigo);font-size:1rem;line-height:1.2}
.a11y-size button.s1{font-size:1.25rem}.a11y-size button.s2{font-size:1.55rem}
.a11y-size button.active{background:var(--indigo);border-color:var(--indigo);color:#fff}
.a11y-switch{display:flex;align-items:flex-start;gap:.75rem;padding:.55rem 0 .55rem 0;margin:0;border-top:2px dotted var(--cream2)}
.a11y-switch:first-of-type{border-top:0}
.a11y-switch .form-check-input{flex:none;width:2.6em;height:1.4em;margin:.1rem 0 0;float:none;border:2px solid var(--indigo);cursor:pointer}
.a11y-switch .form-check-input:checked{background-color:var(--indigo);border-color:var(--indigo)}
.a11y-switch label{cursor:pointer}
.a11y-switch label b{display:block;font-weight:600;font-size:.95rem}
.a11y-switch label span{display:block;font-size:.8rem;color:#5d5758}
.a11y-foot{font-size:.82rem;color:#5d5758;margin:1.25rem 0 0}
.a11y-foot a{color:var(--indigo);font-weight:600}

/* ---------- ligipääsetavuse režiimid ---------- */
html.a11y-text-1{font-size:112.5%}
html.a11y-text-2{font-size:125%}
html.a11y-links main a:not(.btn):not(.activity):not(.feature):not(.photo-card):not(.c-tile):not(.sign),html.a11y-links .site-footer a{text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-motion [data-parallax],html.a11y-motion [data-rotate]{transform:none!important}
html.a11y-motion .js .reveal,html.a11y-motion.js .reveal{opacity:1!important;transform:none!important}
html.a11y-motion .ticker-track{animation:none!important}
html.a11y-font{--font-display:"Poppins",system-ui,sans-serif}
html.a11y-font .display-title,html.a11y-font .hero-title,html.a11y-font h3,html.a11y-font .tag{font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
html.a11y-font .hero-title{font-size:clamp(2.4rem,5vw,4.4rem)}
html.a11y-spacing body{line-height:1.9;letter-spacing:.03em;word-spacing:.08em}
html.a11y-spacing p,html.a11y-spacing li{margin-bottom:.9em}
html.a11y-contrast{--coral:#B8323A;--red:#B83A0C;--indigo:#14145C;--sky:#BFE8F2;--sand:#F3E1B6;--mint:#A8E6CF;--teal:#0D6E80;--cream:#FFFFFF;--cream2:#F2F2F2}
html.a11y-contrast body{color:#000}
html.a11y-contrast p,html.a11y-contrast li,html.a11y-contrast .lead-text,html.a11y-contrast .body-text{font-weight:400!important}
html.a11y-contrast .bubbles{display:none}
html.a11y-contrast .hero-shade{background:rgba(10,10,50,.86)!important}
html.a11y-contrast .btn-wake{border-width:3px}
html.a11y-contrast :focus-visible{outline:4px solid #000!important;outline-offset:3px}
html.a11y-contrast .section-black :focus-visible,html.a11y-contrast .site-footer :focus-visible,html.a11y-contrast .page-hero :focus-visible{outline-color:#fff!important}

/* ---------- EL logo jaluses ---------- */
.eu-logo{margin:1.5rem 0 0;background:#fff;border-radius:16px;padding:.6rem .8rem;max-width:210px}
.eu-logo img{width:100%;height:auto}
/* suurem tekst ei tohi lõhkuda desktopi päist */
@media (min-width:1200px){
  html[class*="a11y-text"] .navbar-nav .nav-link{font-size:15px}
  html[class*="a11y-text"] .navbar .btn-wake{font-size:14.5px}
  html[class*="a11y-text"] .lang{font-size:12.5px}
  html[class*="a11y-text"] .navbar .dropdown-item{font-size:15px}
}
@media (min-width:1200px) and (max-width:1399.98px){html[class*="a11y-text"] .navbar-nav .nav-link{font-size:14px}}
.navbar-brand{flex:none}.navbar-brand img{max-width:none}

/* ---------- toetuste lehed ---------- */
.grant-section{padding-top:clamp(2rem,4vw,3.5rem)}
.funder-band{background:#fff;border-radius:var(--radius);padding:clamp(1.25rem,3vw,2rem);margin:0 0 clamp(2.5rem,5vw,3.5rem);box-shadow:0 10px 30px -22px rgba(35,31,32,.5);text-align:center}
.funder-band img{display:block;margin:0 auto;width:100%;height:auto;max-width:560px}
.funder-band.wide-3 img{max-width:880px}
.funder-band figcaption{font-size:.85rem;font-weight:600;color:var(--indigo);margin-top:1rem}
.grant-intro{max-width:70ch;margin:0 0 clamp(2.5rem,5vw,3.5rem)}
.grant{background:#fff;border-radius:var(--radius);padding:clamp(1.5rem,4vw,3rem);margin-bottom:1.75rem}
.grant:nth-of-type(even){background:var(--cream2)}
.grant-head{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:1.5rem}
.grant-head .goal-no{width:clamp(3.8rem,6vw,4.8rem);font-size:clamp(2rem,3.6vw,2.8rem)}
.grant-head .eyebrow{margin-bottom:.4rem}
.grant-head h2{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:.98;color:var(--indigo);margin:0;text-wrap:balance}
.grant-sub{margin:.6rem 0 0;font-weight:600;color:var(--red)}
.grant-text p{font-weight:300;line-height:1.75;max-width:68ch}
.grant-text b{font-weight:600}
.grant-chips{margin:1rem 0 0}
.grant-chips li{font-size:1.05rem}
.grant-photo{border-radius:22px;overflow:hidden;aspect-ratio:4/3;margin-bottom:1rem}
.grant-photo img{width:100%;height:100%;object-fit:cover}
.amounts{display:grid;gap:.75rem}
.amount{background:var(--indigo);color:#fff;border-radius:22px;padding:1.1rem 1.4rem}
.amount span{display:block;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sand)}
.amount b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(2.4rem,4vw,3.2rem);line-height:1;margin-top:.3rem}
.grant-funder{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:1.75rem;padding-top:1.5rem;border-top:2px dotted rgba(35,31,32,.2)}
.grant-funder img{height:86px;width:auto;max-width:100%;background:#fff;border-radius:12px;padding:.4rem}
.grant-funder span{font-weight:600;color:var(--indigo);max-width:40ch}
.grant-nav{margin-top:clamp(3rem,6vw,4.5rem)}
.grant-nav .g-filter{text-decoration:none;font-size:1.2rem}
.grant-nav .g-filter:hover{background:var(--indigo);color:#fff}
.footer-cols h4{font-size:1.35rem}

/* ---------- toetuste lehed ---------- */
.grant-section{padding-top:clamp(2rem,4vw,3.5rem)}
.funder-band{background:#fff;border-radius:var(--radius);padding:clamp(1.25rem,3vw,2rem);margin:0 0 clamp(2.5rem,5vw,3.5rem);box-shadow:0 10px 30px -22px rgba(35,31,32,.5);text-align:center}
.funder-band img{display:block;margin:0 auto;width:100%;height:auto;max-width:560px}
.funder-band.wide-3 img{max-width:880px}
.funder-band figcaption{font-size:.85rem;font-weight:600;color:var(--indigo);margin-top:1rem}
.grant-intro{max-width:70ch;margin:0 0 clamp(2.5rem,5vw,3.5rem)}
.grant{background:#fff;border-radius:var(--radius);padding:clamp(1.5rem,4vw,3rem);margin-bottom:1.75rem}
.grant:nth-of-type(even){background:var(--cream2)}
.grant-head{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:1.5rem}
.grant-head .goal-no{width:clamp(3.8rem,6vw,4.8rem);font-size:clamp(2rem,3.6vw,2.8rem)}
.grant-head .eyebrow{margin-bottom:.4rem}
.grant-head h2{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:.98;color:var(--indigo);margin:0;text-wrap:balance}
.grant-sub{margin:.6rem 0 0;font-weight:600;color:var(--red)}
.grant-text p{font-weight:300;line-height:1.75;max-width:68ch}
.grant-text b{font-weight:600}
.grant-chips{margin:1rem 0 0}
.grant-chips li{font-size:1.05rem}
.grant-photo{border-radius:22px;overflow:hidden;aspect-ratio:4/3;margin-bottom:1rem}
.grant-photo img{width:100%;height:100%;object-fit:cover}
.amounts{display:grid;gap:.75rem}
.amount{background:var(--indigo);color:#fff;border-radius:22px;padding:1.1rem 1.4rem}
.amount span{display:block;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sand)}
.amount b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(2.4rem,4vw,3.2rem);line-height:1;margin-top:.3rem}
.grant-funder{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:1.75rem;padding-top:1.5rem;border-top:2px dotted rgba(35,31,32,.2)}
.grant-funder img{height:86px;width:auto;max-width:100%;background:#fff;border-radius:12px;padding:.4rem}
.grant-funder span{font-weight:600;color:var(--indigo);max-width:40ch}
.grant-nav{margin-top:clamp(3rem,6vw,4.5rem)}
.grant-nav .g-filter{text-decoration:none;font-size:1.2rem}
.grant-nav .g-filter:hover{background:var(--indigo);color:#fff}
.footer-cols h4{font-size:1.35rem}

/* ---------- Saaremaa ---------- */
.img-ref{font-size:.72rem;font-weight:500;opacity:.9}
.img-ref a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.hero-ref{position:absolute;right:1rem;bottom:clamp(60px,8vw,115px);z-index:3;margin:0;color:#fff;background:rgba(35,31,32,.45);border-radius:999px;padding:.25rem .7rem}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.why{background:#fff;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.why:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:var(--shadow)}
.why:nth-child(2){background:var(--sky)}.why:nth-child(3){background:var(--sand)}.why:nth-child(4){background:var(--indigo);color:#fff}.why:nth-child(5){background:var(--mint)}.why:nth-child(6){background:var(--coral);color:#fff}
.why-photo{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden}
.why-photo img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.why:hover .why-photo img{scale:1.06}
.why-photo figcaption{position:absolute;right:.6rem;bottom:.6rem;color:#fff;background:rgba(35,31,32,.55);border-radius:999px;padding:.15rem .6rem}
.why.own .why-photo figcaption{display:none}
.why-body{padding:0 1.5rem 1.6rem;display:flex;flex-direction:column;align-items:flex-start}
.why-body .tag{margin-top:-1.1rem;position:relative;z-index:1;box-shadow:0 6px 14px -8px rgba(35,31,32,.5)}
.why-body h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(2rem,3vw,2.5rem);line-height:.95;margin:1rem 0 .5rem;color:var(--indigo)}
.why:nth-child(4) .why-body h3{color:var(--sky)}.why:nth-child(6) .why-body h3{color:#fff}
.why-body p{margin:0;font-weight:300}
@media (max-width:991.98px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:575.98px){.why-grid{grid-template-columns:1fr}.hero-ref{bottom:50px}}
