/* =========================================================
   HILLS APARTMANI CITY CENTER — dizajn sistem
   ========================================================= */
:root{
  --cream:#f5f0e7; --cream-2:#ece4d6; --paper:#fbf8f2;
  --forest:#1c2b24; --forest-2:#24382e; --moss:#4c5f4a;
  --ink:#1d1f21; --ink-2:#3a3d40; --mute:#6f6a60; --stone:#a8997f; --stone-2:#c9bca4;
  --line:rgba(29,31,33,.14); --line-l:rgba(255,255,255,.22);
  --serif:'Cormorant Garamond', 'Times New Roman', serif;
  --sans:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --wrap:1320px; --gut:clamp(18px,4vw,56px);
  --ease:cubic-bezier(.22,.61,.36,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --hdr:84px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
svg{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
svg.wa-ico{stroke:none}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
p{margin:0 0 1.1em}
[hidden]:not(.mnav){display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--forest);color:#fff;padding:10px 16px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--stone);outline-offset:3px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.center{text-align:center}
.kicker,.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--stone);margin:0 0 1.2em;display:flex;align-items:center;gap:14px}
.kicker::before{content:"";width:34px;height:1px;background:currentColor;opacity:.8}
.h-hero{font-size:clamp(2.6rem,6.4vw,5.6rem);font-weight:400}
.h-xl{font-size:clamp(2.1rem,4.4vw,3.7rem);font-weight:400}
.h-lg{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:400}
.h-md{font-size:clamp(1.5rem,2.4vw,2rem)}
.lead{font-size:1.08rem;color:var(--ink-2);max-width:58ch}
.fine{font-size:.78rem;color:var(--mute);margin-top:1.2em}
.sec{padding:clamp(80px,11vw,150px) 0}
.sec-tight{padding-top:20px}
.sec-tint{background:var(--cream)}
.sec-dark{background:var(--forest);color:#e9e4d8}
.sec-dark .kicker{color:var(--stone-2)}
.sec-head{max-width:760px;margin-bottom:clamp(40px,6vw,72px)}
.sec-head-split{max-width:none;display:grid;gap:28px 64px;align-items:end}
.sec-head-split p{color:var(--ink-2);max-width:48ch}
.sec-dark .sec-head-split p{color:#cfc9bb}
@media(min-width:900px){.sec-head-split{grid-template-columns:1.25fr 1fr}.sec-head-split .h-lg{margin:0}}

/* ---------- dugmad ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 28px;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;border:1px solid transparent;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease);white-space:nowrap}
.btn svg{font-size:1.2rem}
.btn-sm{min-height:42px;padding:0 20px;font-size:.7rem}
.btn-lg{min-height:58px;padding:0 34px}
.btn-block{width:100%}
.btn-solid{background:var(--forest);color:#f5f0e7}
.btn-solid:hover{background:var(--moss)}
.btn-light{background:var(--paper);color:var(--forest)}
.btn-light:hover{background:var(--stone-2)}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-line{border-color:var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-wa{background:#1f5c45;color:#fff}
.btn-wa:hover{background:#174a37}
.link-arrow{display:inline-flex;align-items:center;gap:12px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding:8px 0;border-bottom:1px solid currentColor}
.link-arrow svg{transition:transform .4s var(--ease)}
.link-arrow:hover svg{transform:translateX(6px)}
.link-light{color:#e9e4d8;margin-top:48px}
.link-plain{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.link-plain:hover{color:var(--ink)}
.row-ctas{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;margin-top:28px}
.row-ctas.center{justify-content:center}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(251,248,242,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:background .5s var(--ease),color .5s var(--ease),border-color .5s,transform .5s var(--ease)}
.site-header.is-transparent{position:fixed;left:0;right:0;background:transparent;border-color:transparent;color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header.is-transparent .util{border-color:var(--line-l)}
.site-header.is-scrolled{position:fixed;left:0;right:0;background:rgba(251,248,242,.96);color:var(--ink);border-color:var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.site-header.is-hidden{transform:translateY(-38px)}
.util{border-bottom:1px solid var(--line);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.util-in{display:flex;align-items:center;justify-content:space-between;height:38px;gap:20px}
.util-loc{display:flex;gap:8px;align-items:center;opacity:.85}
.util-mid{opacity:.7}
.util-right{display:flex;align-items:center;gap:22px}
.lang{display:inline-flex;gap:8px;align-items:center;font-size:.7rem;letter-spacing:.14em}
.lang a{opacity:.6;transition:opacity .3s}
.lang a[aria-current],.lang a:hover{opacity:1}
.lang a[aria-current]{border-bottom:1px solid currentColor}
.lang span{opacity:.35}
.bar{display:flex;align-items:center;justify-content:space-between;height:var(--hdr);gap:24px}
.brand{display:flex;align-items:center;gap:14px}
.mark{width:46px;height:30px}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--serif);font-size:1.75rem;letter-spacing:.32em;font-weight:500}
.brand-sub{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;margin-top:5px;opacity:.75}
.mark-line{stroke-dasharray:140;stroke-dashoffset:140;animation:draw 1.8s .2s var(--ease-out) forwards}
.mark-snow{stroke-dasharray:30;stroke-dashoffset:30;animation:draw 1.2s 1.1s var(--ease-out) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.nav{display:none;gap:38px}
.nav a{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.bar-right{display:flex;align-items:center;gap:22px}
.lang-bar{display:none}
.site-header.is-transparent:not(.is-scrolled) .btn-solid{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.55)}
.site-header.is-transparent:not(.is-scrolled) .btn-solid:hover{background:#fff;color:var(--forest)}
.burger{width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:7px}
.burger span:not(.sr){display:block;height:1.5px;background:currentColor;transition:transform .45s var(--ease),width .45s var(--ease)}
.burger span:nth-child(1){width:28px}.burger span:nth-child(2){width:18px}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(4.25px) rotate(45deg);width:24px}
.burger[aria-expanded=true] span:nth-child(2){transform:translateY(-4.25px) rotate(-45deg);width:24px}
@media(max-width:1099px){.util-mid{display:none}}
@media(max-width:759px){.util{display:none}.site-header.is-hidden{transform:none}.bar .btn-sm{display:none}:root{--hdr:72px}.brand-name{font-size:1.45rem}.mark{width:38px}}
@media(min-width:1100px){.nav{display:flex}.burger{display:none}}

.mnav{position:fixed;inset:0;top:0;z-index:-1;background:var(--forest);color:#efe9dc;padding:calc(var(--hdr) + 40px) var(--gut) 32px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}
.mnav.is-open{opacity:1;visibility:visible}
.mnav[hidden]{display:flex}
.site-header.menu-open{color:#efe9dc!important;background:transparent!important;border-color:transparent!important;backdrop-filter:none!important}
.mnav-links{display:flex;flex-direction:column}
.mnav-links a{font-family:var(--serif);font-size:clamp(2rem,8vw,3rem);line-height:1.2;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:baseline;gap:18px;opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transition-delay:calc(var(--i)*60ms + 120ms)}
.mnav.is-open .mnav-links a{opacity:1;transform:none}
.mnum{font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;color:var(--stone-2)}
.mnav-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
body.no-scroll{overflow:hidden}

/* ---------- media / placeholder ---------- */
.media{position:relative;overflow:hidden;background:var(--cream-2)}
.media img{width:100%;height:100%;object-fit:cover}
.media.is-missing{background:
  linear-gradient(180deg,rgba(28,43,36,.0) 40%,rgba(28,43,36,.35)),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 400' preserveAspectRatio='none'%3E%3Cpath d='M0 400V250l90-70 70 40 110-120 80 80 60-40 120 130 90-60 90 70 90-50v170z' fill='%23324a3d'/%3E%3Cpath d='M0 400V310l120-50 100 40 140-80 130 90 110-50 200 60v80z' fill='%23263a30'/%3E%3Cpath d='M270 100l-40 44 22-6 18 18 16-22 20 8z' fill='%23e8e2d5' opacity='.5'/%3E%3C/svg%3E") bottom/100% 70% no-repeat,
  linear-gradient(170deg,#7d8b7c 0%,#56685a 45%,#2c4136 100%)}
.media.is-missing img{opacity:0}
.media.is-missing::after{content:"◌  " attr(data-label);position:absolute;left:14px;bottom:12px;right:14px;font:500 .62rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.zoom img{transition:transform 1.6s var(--ease-out)}
a:hover .zoom img,button:hover .zoom img{transform:scale(1.045)}

/* ---------- hero ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:600px;color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:var(--forest)}
.hero-media,.hero-art,.hero-poster,.hero-video,.hero-shade{position:absolute;inset:0}
.hero-art{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900' preserveAspectRatio='xMidYMax slice'%3E%3Cpath d='M0 900V560l180-140 120 70 210-230 140 150 110-80 220 240 170-120 160 120 160-100 130 80v350z' fill='%233b5246'/%3E%3Cpath d='M510 260l-70 78 34-8 36 30 28-38 40 14z' fill='%23efe9dc' opacity='.55'/%3E%3Cpath d='M0 900V680l240-90 180 70 260-140 230 160 210-90 260 100 220-60v350z' fill='%232a3f34'/%3E%3Cpath d='M0 900V790l300-40 260 50 300-70 340 60 400-30v140z' fill='%231c2b24'/%3E%3C/svg%3E") bottom/cover no-repeat,
  linear-gradient(180deg,#8c9a8e 0%,#61756a 40%,#3b5246 75%)}
.hero-poster,.hero-video{width:100%;height:100%;object-fit:cover}
.hero-video{opacity:0;transition:opacity 1.6s var(--ease)}
.hero-video.is-playing{opacity:1}
.hero-shade{background:linear-gradient(180deg,rgba(14,20,17,.45) 0%,rgba(14,20,17,.08) 30%,rgba(14,20,17,.15) 55%,rgba(14,20,17,.7) 100%)}
.hero-in{position:relative;z-index:2;padding-bottom:clamp(90px,14vh,150px)}
.hero .eyebrow{color:#efe9dc;opacity:.9}
.hero h1{font-size:clamp(3rem,8.6vw,7.6rem);font-weight:400;line-height:.98;margin-bottom:.35em;letter-spacing:-.02em}
.hero h1 .line{display:block;overflow:hidden}
.line-it{font-style:italic;padding-left:clamp(0px,7vw,140px)}
.hero-lead{max-width:44ch;font-size:clamp(1rem,1.3vw,1.15rem);color:rgba(255,255,255,.88);margin-bottom:2em}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}
.scroll-cue{position:absolute;right:var(--gut);bottom:40px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl}
.scroll-cue i{width:1px;height:56px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-100%;width:1px;height:100%;background:#fff;animation:cue 2.4s var(--ease) infinite}
@keyframes cue{to{top:100%}}
@media(max-width:600px){.scroll-cue{display:none}.hero-ctas .btn{flex:1 1 100%}}
.hero-in>*{opacity:0;transform:translateY(24px);animation:rise 1.3s var(--ease-out) forwards}
.hero-in>*:nth-child(2){animation-delay:.15s}.hero-in>*:nth-child(3){animation-delay:.35s}.hero-in>*:nth-child(4){animation-delay:.5s}
@keyframes rise{to{opacity:1;transform:none}}

/* page hero */
.page-hero{position:relative}
.page-hero-img,.apt-hero{min-height:78vh;min-height:78svh;color:#fff;display:flex;align-items:flex-end;background:var(--forest);overflow:hidden}
.page-hero-tall{min-height:100vh;min-height:100svh}
.ph-bg{position:absolute!important;inset:0}
.page-hero-img .hero-shade,.apt-hero .hero-shade,.booking-media .hero-shade{position:absolute;inset:0}
.page-hero-in,.apt-hero-in{position:relative;z-index:2;padding-top:calc(var(--hdr) + 80px);padding-bottom:clamp(60px,9vh,110px)}
.page-hero-in p:not(.kicker){max-width:52ch;color:rgba(255,255,255,.88);font-size:1.08rem}
.page-hero-img .kicker,.apt-hero .eyebrow{color:#e9e1d0}
.page-hero-plain{padding:clamp(70px,10vw,130px) 0 50px}
.crumb{display:inline-flex;gap:10px;align-items:center;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:28px;opacity:.85}
.crumb:hover{opacity:1}

/* ---------- intro ---------- */
.intro-grid{display:grid;gap:56px;align-items:center}
.intro-txt p{color:var(--ink-2);max-width:52ch}
.intro-media{position:relative;min-height:520px}
.intro-a{position:absolute!important;right:0;top:0;width:76%;height:82%}
.intro-b{position:absolute!important;left:0;bottom:0;width:48%;height:52%;border:10px solid var(--paper)}
@media(min-width:960px){.intro-grid{grid-template-columns:1fr 1fr;gap:96px}.intro-media{min-height:640px}}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:clamp(60px,8vw,110px) 0 0;border-top:1px solid var(--line)}
.stats div{padding:28px 18px 8px 0;border-bottom:1px solid var(--line)}
.stats dt{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.4rem);line-height:1;color:var(--forest)}
.stats dd{margin:10px 0 0;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
@media(min-width:800px){.stats{grid-template-columns:repeat(4,1fr)}.stats div{border-bottom:0;border-right:1px solid var(--line);padding:32px 28px 8px}.stats div:first-child{padding-left:0}.stats div:last-child{border-right:0}}

/* ---------- godišnja doba ---------- */
.season-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:34px;border-bottom:1px solid var(--line)}
.season-tabs button{padding:14px 22px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid transparent;margin-bottom:-1px;transition:color .3s,border-color .3s}
.season-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--ink)}
.season-panel{display:grid;gap:34px;align-items:end;animation:fade .8s var(--ease-out)}
.season-img{aspect-ratio:16/10}
.season-num{font-size:.72rem;letter-spacing:.2em;color:var(--stone)}
.season-txt h3{font-size:clamp(2rem,3.4vw,3rem);margin-top:.3em}
.season-txt p{color:var(--ink-2);max-width:40ch}
@media(min-width:900px){.season-panel{grid-template-columns:1.6fr 1fr;gap:64px}}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- apartmani (početna, editorial) ---------- */
.apt-rows{display:flex;flex-direction:column;gap:clamp(80px,10vw,140px)}
.apt-row{display:grid;gap:34px;align-items:center}
.apt-row-media{position:relative;display:block;padding-bottom:40px}
.apt-row-media>.media:first-child{aspect-ratio:4/3}
.apt-row-detail{position:absolute!important;right:-8px;bottom:0;width:36%;aspect-ratio:3/4;border:8px solid var(--paper)}
.apt-count{font-family:var(--serif);font-size:1.1rem;color:var(--stone);letter-spacing:.06em}
.apt-count i{opacity:.6}
.apt-row-txt h3{font-size:clamp(2.2rem,3.8vw,3.4rem);margin:.25em 0 .35em;font-weight:400}
.apt-row-txt p{color:var(--ink-2);max-width:42ch}
.specs{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.82rem;color:var(--ink-2)}
.specs li{display:flex;align-items:center;gap:8px}
.specs svg{font-size:1.15rem;color:var(--moss)}
.specs-col{flex-direction:column;gap:12px;margin-bottom:26px}
@media(min-width:960px){
  .apt-row{grid-template-columns:7fr 5fr;gap:80px}
  .apt-row:nth-child(even){grid-template-columns:5fr 7fr}
  .apt-row:nth-child(even) .apt-row-media{order:2}
  .apt-row:nth-child(even) .apt-row-detail{right:auto;left:-8px}
  .apt-row-3 .apt-row-media>.media:first-child,.apt-row-5 .apt-row-media>.media:first-child{aspect-ratio:5/4}
}

/* ---------- carousel (destinacija) ---------- */
.discover{overflow:hidden}
.car-ctrl{display:flex;align-items:center;gap:12px;justify-content:flex-end}
.car-count{font-family:var(--serif);font-size:1.2rem;margin-right:12px;color:var(--stone-2)}
.car-btn{width:52px;height:52px;border:1px solid var(--line-l);display:grid;place-items:center;font-size:1.2rem;transition:background .3s}
.car-btn:hover{background:rgba(255,255,255,.1)}
.carousel{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut);scroll-padding-left:var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.carousel::-webkit-scrollbar{display:none}
@media(min-width:1320px){.carousel{padding-left:calc((100vw - var(--wrap))/2 + var(--gut));scroll-padding-left:calc((100vw - var(--wrap))/2 + var(--gut))}}
.car-item{flex:0 0 min(84vw,520px);scroll-snap-align:start}
.car-img{aspect-ratio:4/5;margin-bottom:24px}
.car-num{font-size:.72rem;letter-spacing:.22em;color:var(--stone-2)}
.car-item h3{font-size:2rem;margin:.3em 0 .4em;color:#f3eee3}
.car-item p{color:#cfc9bb;max-width:42ch;font-size:.95rem}

/* ---------- gastronomija ---------- */
.food-grid{display:grid;gap:44px 32px}
.food-img{aspect-ratio:4/5;margin-bottom:22px}
.food-num{font-size:.72rem;letter-spacing:.2em;color:var(--stone)}
.food-txt h3{font-size:1.8rem;margin:.3em 0 .35em}
.food-txt p{color:var(--ink-2);font-size:.95rem;max-width:40ch}
@media(min-width:700px){.food-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){
  .food-grid{grid-template-columns:repeat(6,1fr);gap:70px 40px}
  .food-1{grid-column:1/4}.food-1 .food-img{aspect-ratio:16/11}
  .food-2{grid-column:4/7;margin-top:120px}.food-2 .food-img{aspect-ratio:4/5}
  .food-3,.food-4,.food-5{grid-column:span 2}
  .food-4{margin-top:80px}
  .food-6{grid-column:2/6}.food-6 .food-img{aspect-ratio:21/9}
}

/* ---------- doživljaji ---------- */
.exp-grid{display:grid;gap:40px 28px}
@media(min-width:700px){.exp-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1050px){.exp-grid{grid-template-columns:repeat(6,1fr)}.exp-card{grid-column:span 2}.exp-card:nth-child(4){grid-column:2/span 2}.exp-card:nth-child(4),.exp-card:nth-child(5){margin-top:10px}}
.exp-open{display:block;position:relative;width:100%;text-align:left}
.exp-img{aspect-ratio:4/5}
.exp-img img{transition:transform 1.4s var(--ease-out)}
.exp-open:hover .exp-img img{transform:scale(1.05)}
.exp-num{position:absolute;top:18px;left:18px;font-family:var(--serif);font-size:1.4rem;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.exp-body{padding-top:22px}
.exp-body h3{font-size:1.8rem;margin-bottom:.3em}
.exp-body p{color:var(--ink-2);font-size:.95rem}
.exp-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:6px}
.price{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--moss)}

/* ---------- mozaik / galerija ---------- */
.mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;grid-auto-flow:dense}
.mosaic-item,.gg-item,.ag-item{display:block;position:relative;overflow:hidden;cursor:zoom-in}
.mosaic-item .media,.gg-item .media,.ag-item .media{height:100%}
.mosaic-item img,.gg-item img,.ag-item img{transition:transform 1.4s var(--ease-out)}
.mosaic-item:hover img,.gg-item:hover img,.ag-item:hover img{transform:scale(1.05)}
.mosaic-item{aspect-ratio:1}
.m-1,.m-6{grid-column:span 2;aspect-ratio:16/10}
@media(min-width:900px){
  .mosaic{grid-template-columns:repeat(4,1fr);grid-auto-rows:16vw;gap:16px}
  .mosaic-item{aspect-ratio:auto}
  .m-1{grid-column:span 2;grid-row:span 2}.m-2{grid-row:span 2}.m-4{grid-column:span 2}.m-6{grid-column:span 2;grid-row:span 1}.m-7{grid-row:span 1}
}
@media(min-width:1320px){.mosaic{grid-auto-rows:210px}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.filters button{padding:10px 18px;border:1px solid var(--line);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;transition:all .3s}
.filters button[aria-pressed=true]{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;grid-auto-flow:dense;grid-auto-rows:44vw}
.gg-item.is-hidden{display:none}
.gg-1{grid-column:span 2}
@media(min-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:22vw;gap:16px}.gg-1{grid-column:span 2;grid-row:span 2}.gg-4{grid-row:span 2}.gg-6{grid-column:span 2}}
@media(min-width:1400px){.gallery-grid{grid-auto-rows:300px}}

/* ---------- lista apartmana ---------- */
.apt-list{display:flex;flex-direction:column;gap:clamp(70px,9vw,130px)}
.apt-card{display:grid;gap:36px;align-items:center}
.apt-card-media{position:relative;display:block}
.apt-card-media .media{aspect-ratio:3/2}
.apt-tag{position:absolute;left:18px;bottom:18px;background:rgba(251,248,242,.94);padding:8px 14px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:26px;max-width:420px}
.thumbs .media{aspect-ratio:1}
@media(min-width:960px){.apt-card{grid-template-columns:7fr 5fr;gap:72px}.apt-card.is-rev{grid-template-columns:5fr 7fr}.apt-card.is-rev .apt-card-media{order:2}}

/* ---------- detalj apartmana ---------- */
.apt-detail-grid{display:grid;gap:56px}
@media(min-width:1000px){.apt-detail-grid{grid-template-columns:1fr 380px;gap:96px}}
.facts{list-style:none;padding:0;margin:0 0 48px;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.facts li{display:flex;align-items:center;gap:14px;padding:20px 12px 20px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.facts svg{font-size:1.5rem;color:var(--moss)}
@media(min-width:700px){.facts{grid-template-columns:repeat(3,1fr)}}
.prose p{font-size:1.06rem;color:var(--ink-2);max-width:62ch}
.prose p:first-child{font-family:var(--serif);font-size:1.6rem;line-height:1.35;color:var(--ink)}
.apt-main .h-md{margin-top:56px}
.sleep{list-style:none;padding:0;margin:0;display:grid;gap:14px}
@media(min-width:700px){.sleep{grid-template-columns:repeat(3,1fr)}}
.sleep li{background:var(--cream);padding:24px;display:flex;flex-direction:column;gap:14px;font-size:.92rem}
.sleep svg{font-size:1.8rem;color:var(--moss)}
.feat{list-style:none;padding:0;margin:0;display:grid;gap:12px 32px}
@media(min-width:700px){.feat{grid-template-columns:1fr 1fr}}
.feat li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.feat svg{color:var(--moss)}
.apt-aside{position:relative}
.aside-card{position:sticky;top:calc(var(--hdr) + 60px);background:var(--cream);padding:36px;display:flex;flex-direction:column;gap:12px}
.aside-card .h-md{margin-bottom:6px}
.apt-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;grid-auto-rows:42vw;grid-auto-flow:dense}
.ag-1{grid-column:span 2}
@media(min-width:900px){.apt-gallery{grid-template-columns:repeat(3,1fr);grid-auto-rows:20vw;gap:16px}.ag-1{grid-column:span 2;grid-row:span 2}.ag-5{grid-column:span 2}}
@media(min-width:1400px){.apt-gallery{grid-auto-rows:280px}}
.apt-pn{display:flex;justify-content:space-between;gap:20px;padding-top:56px;padding-bottom:56px}
.apt-pn a{display:flex;align-items:center;gap:16px;font-family:var(--serif);font-size:1.5rem}
.apt-pn small{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.pn-next{text-align:right}
.apt-pn svg{font-size:1.4rem;transition:transform .4s var(--ease)}
.apt-pn a:hover svg{transform:translateX(-5px)}.apt-pn .pn-next:hover svg{transform:translateX(5px)}

/* ---------- Žabljak ---------- */
.lake-feature{position:relative;min-height:110vh;display:flex;align-items:flex-end;padding:0 0 clamp(60px,8vw,110px)}
.lake-img{position:absolute!important;inset:0}
.lake-card{position:relative;background:var(--paper);padding:clamp(32px,5vw,64px);max-width:620px}
.lake-card p{color:var(--ink-2)}
.chap-num{display:block;font-family:var(--serif);font-size:1.1rem;color:var(--stone);margin-bottom:10px}
.chapters{display:flex;flex-direction:column;gap:clamp(80px,10vw,140px)}
.chapter-grid{display:grid;gap:36px;align-items:center}
.chapter-img{aspect-ratio:4/3}
.chapter-txt p{color:var(--ink-2);max-width:48ch}
@media(min-width:960px){.chapter-grid{grid-template-columns:7fr 5fr;gap:88px}.chapter.is-rev .chapter-grid{grid-template-columns:5fr 7fr}.chapter.is-rev .chapter-img{order:2}}
.guide-grid{display:grid;gap:48px}
@media(min-width:960px){.guide-grid{grid-template-columns:1fr 1.2fr;gap:96px}}
.guide{margin:0 0 40px;border-top:1px solid var(--line-l)}
.guide div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line-l)}
.guide dt{color:#e9e4d8}
.guide dd{margin:0;font-family:var(--serif);font-size:1.5rem;color:#fff}
.tips{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.tips li{display:flex;gap:12px;align-items:flex-start;font-size:.93rem}
.tips svg{margin-top:4px;color:var(--stone-2)}
.sec-dark p{color:#cfc9bb}

/* ---------- closing ---------- */
.closing{position:relative;min-height:88vh;display:flex;align-items:center;color:#fff;text-align:center;background:var(--forest);overflow:hidden}
.closing-img{position:absolute!important;inset:0}
.closing::before{content:"";position:absolute;inset:0;background:rgba(14,20,17,.45);z-index:1}
.closing-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.closing-in .mark{width:64px;height:40px;margin-bottom:28px;color:var(--stone-2)}
.closing h2{font-size:clamp(2.8rem,7vw,6rem);font-weight:400;font-style:italic}
.closing p{max-width:46ch;color:rgba(255,255,255,.88);margin-bottom:2em}

/* ---------- rezervacija ---------- */
.booking{display:grid;grid-template-columns:minmax(0,1fr);min-height:calc(100vh - var(--hdr))}
.booking-media{position:relative;min-height:380px;color:#fff;display:flex;align-items:flex-end;background:var(--forest)}
.booking-side{position:relative;z-index:2;padding:40px var(--gut)}
.booking-side a{display:inline-flex;align-items:center;gap:8px;font-family:var(--serif);font-size:1.5rem;color:#fff}
.booking-side p{color:rgba(255,255,255,.88)}
.booking-side .tips{margin-bottom:26px}
.booking-form-wrap{padding:clamp(48px,7vw,96px) var(--gut)}
@media(min-width:1000px){.booking{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.booking-media{position:sticky;top:var(--hdr);height:calc(100vh - var(--hdr))}.booking-form-wrap{padding-left:clamp(48px,6vw,110px);padding-right:clamp(32px,5vw,90px)}}
.form>*{min-width:0}
.form{display:grid;grid-template-columns:minmax(0,1fr);gap:6px 24px;margin-top:40px;max-width:760px}
@media(min-width:640px){.form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.f-full{grid-column:1/-1}}
.field{display:flex;flex-direction:column;margin-bottom:14px}
.field label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px;font-weight:500}
.opt{text-transform:none;letter-spacing:0;color:var(--mute);font-weight:400}
.field input,.field select,.field textarea{font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid rgba(29,31,33,.3);padding:12px 0;border-radius:0;transition:border-color .3s;width:100%;min-height:48px;-webkit-appearance:none;appearance:none}
.field select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1f21' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right center/18px no-repeat;padding-right:28px}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--forest);border-bottom-width:2px}
.field.has-err input,.field.has-err select{border-color:#9b2c1f}
.err{color:#9b2c1f;font-size:.8rem;margin:6px 0 0;min-height:0}
.err:empty{display:none}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:16px}
.notice{display:flex;gap:10px;align-items:center;margin:0;font-size:.85rem;color:var(--mute)}
.form-ok{background:var(--cream);border-left:3px solid var(--moss);padding:20px 24px;margin-top:20px}
.form-ok p{margin:0 0 8px}
.form-ok a{text-decoration:underline}

/* ---------- footer ---------- */
.site-footer{background:#141f1a;color:#cfc9bb;padding:clamp(70px,9vw,110px) 0 30px;font-size:.92rem}
.foot-grid{display:grid;gap:44px}
@media(min-width:800px){.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1.3fr}}
.brand-light{color:#f3eee3;margin-bottom:22px}
.foot-brand p{max-width:32ch}
.foot-h{font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone-2);font-weight:500;margin-bottom:20px}
.foot-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.foot-list a:hover{color:#fff}
.foot-note{font-size:.76rem;opacity:.7;margin-top:18px}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:70px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1);font-size:.76rem;opacity:.8}

/* ---------- WhatsApp plutajuće dugme ---------- */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;align-items:center;gap:10px;background:#1f5c45;color:#fff;height:54px;padding:0 18px 0 16px;border-radius:999px;box-shadow:0 10px 30px rgba(20,31,26,.28);font-size:.78rem;letter-spacing:.06em;transition:transform .4s var(--ease),background .3s}
.wa-float svg{font-size:1.6rem}
.wa-float:hover{background:#174a37;transform:translateY(-2px)}
@media(max-width:700px){.wa-float span{display:none}.wa-float{width:56px;padding:0;justify-content:center;right:14px;bottom:14px}}

/* ---------- modal / lightbox / promo ---------- */
.modal,.lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(14,20,17,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .4s var(--ease-out)}
.modal[hidden],.lightbox[hidden]{display:none}
.modal-card{background:var(--paper);width:min(940px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;display:grid;position:relative}
@media(min-width:760px){.modal-card{grid-template-columns:1fr 1fr}}
.modal-card .media{min-height:260px}
.modal-body{padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;justify-content:center}
.modal-body h2{font-size:clamp(2rem,3.4vw,2.8rem)}
.modal-x{position:absolute;top:12px;right:12px;z-index:3;width:44px;height:44px;display:grid;place-items:center;background:var(--paper);font-size:1.3rem}
.lightbox{background:rgba(10,14,12,.95);padding:0}
.lb-fig{margin:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:70px 70px 60px}
.lb-fig img{max-width:100%;max-height:100%;object-fit:contain}
.lb-btn{position:absolute;width:52px;height:52px;display:grid;place-items:center;color:#fff;font-size:1.5rem;border:1px solid rgba(255,255,255,.25)}
.lb-btn:hover{background:rgba(255,255,255,.1)}
.lb-x{top:14px;right:14px}.lb-p{left:14px;top:50%;margin-top:-26px}.lb-n{right:14px;top:50%;margin-top:-26px}
.lb-c{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:rgba(255,255,255,.75);font-size:.74rem;letter-spacing:.2em}
@media(max-width:700px){.lb-fig{padding:64px 10px 60px}.lb-p,.lb-n{top:auto;bottom:8px;margin:0}.lb-p{left:10px}.lb-n{right:10px}}
.promo{position:fixed;left:18px;bottom:18px;z-index:65;width:min(380px,calc(100vw - 100px));background:var(--paper);box-shadow:0 20px 50px rgba(20,31,26,.25);display:grid;grid-template-columns:110px 1fr;animation:rise .8s var(--ease-out);transform:none;opacity:1}
.promo[hidden]{display:none}
.promo .media{height:100%;min-height:130px}
.promo-b{padding:16px 40px 16px 18px}
.promo-b .kicker{font-size:.6rem;margin-bottom:6px}
.promo-b .kicker::before{width:18px}
.promo-b h3{font-size:1.3rem;margin-bottom:4px}
.promo-b .price{font-size:.95rem;display:block;margin-bottom:6px}
.promo-b .link-arrow{font-size:.64rem;padding:4px 0}
.promo-x{position:absolute;top:4px;right:4px;width:40px;height:40px;display:grid;place-items:center;font-size:1.1rem}
@media(max-width:700px){.promo{left:10px;bottom:80px;width:calc(100vw - 20px);grid-template-columns:90px 1fr}}

/* ---------- 404 ---------- */
.nf{min-height:80vh;display:flex;align-items:center;text-align:center;background:var(--cream)}
.nf-in{display:flex;flex-direction:column;align-items:center}
.nf .mark{width:90px;height:56px;color:var(--moss);margin-bottom:24px}
.nf .kicker::before{display:none}

/* ---------- reveal ---------- */
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--ease-out),transform 1.1s var(--ease-out);transition-delay:var(--d,0ms)}
.js .reveal.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
  .hero-in>*{opacity:1;transform:none}
}
.form-foot .btn{white-space:normal;text-align:center;max-width:100%;padding-top:12px;padding-bottom:12px}
@media(max-width:640px){.form-foot .btn{width:100%}}
.credits a{text-decoration:underline}.credits{opacity:.85}

/* =========================================================
   KONCEPT v2 — pokret, slojevi, editorial ritam
   ========================================================= */
/* loader */
.loader{position:fixed;inset:0;z-index:300;background:var(--forest);display:grid;place-items:center;color:#efe9dc;transition:clip-path 1.1s var(--ease-out);clip-path:inset(0 0 0 0)}
.loader.is-done{clip-path:inset(0 0 100% 0)}
.loader.is-gone{display:none}
.loader-in{display:flex;flex-direction:column;align-items:center;gap:16px}
.loader .mark{width:90px;height:56px}
.loader span{font-family:var(--serif);letter-spacing:.5em;font-size:1.4rem;padding-left:.5em;opacity:0;animation:rise 1s .5s var(--ease-out) forwards}

/* hero v2 */
.hero-v2{align-items:stretch;flex-direction:column;justify-content:flex-end}
.hero-v2 .hero-in{padding-bottom:40px}
.kb{animation:kenburns 22s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.14)}to{transform:scale(1)}}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .w>span{display:inline-block;transform:translateY(105%);animation:wordUp 1.2s var(--ease-out) forwards;animation-delay:calc(1.1s + var(--wi)*70ms)}
.line-it .w>span{animation-delay:calc(1.45s + var(--wi)*70ms)}
@keyframes wordUp{to{transform:none}}
.hero-v2 .hero-in>*:not(h1){animation-delay:1.9s}
.hero-v2 .hero-in>.eyebrow{animation-delay:1s}
.hero-v2 .hero-in>h1{opacity:1;transform:none;animation:none}
.hero-bar-wrap{position:relative;z-index:3;padding-bottom:28px;opacity:0;animation:rise 1.2s 2.2s var(--ease-out) forwards}
.hero-bar{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.hb-f{display:flex;flex-direction:column;padding:12px 16px;background:rgba(18,26,22,.42);color:#fff;min-width:0}
.hb-f span{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;opacity:.75;margin-bottom:4px}
.hb-f input,.hb-f select{background:transparent;border:0;color:#fff;font:inherit;font-size:16px;padding:2px 0;min-height:30px;width:100%;-webkit-appearance:none;appearance:none;color-scheme:dark}
.hb-f select option{color:#111}
.hb-f:first-child{grid-column:1/-1}
.hb-btn{grid-column:1/-1;min-height:56px;border-radius:0;background:#efe9dc;color:var(--forest)}
.hb-btn:hover{background:#fff}
@media(min-width:900px){.hero-bar{grid-template-columns:1.5fr 1fr 1fr .7fr auto}.hb-f:first-child,.hb-btn{grid-column:auto}.hb-btn{padding:0 30px}}
@media(max-width:600px){.hero-v2 .hero-lead{display:none}.hero-v2 .hero-ctas .btn-ghost{display:none}.hero-v2 h1{font-size:clamp(2.6rem,12vw,3.4rem)}}
.hero-v2 .scroll-cue{bottom:auto;top:50%}

/* marquee */
.marquee{overflow:hidden;background:var(--forest);color:#efe9dc;padding:22px 0;border-top:1px solid rgba(255,255,255,.08)}
.mq-track{display:flex;align-items:center;gap:42px;width:max-content;animation:mq 46s linear infinite}
.mq-track span{font-family:var(--serif);font-style:italic;font-size:clamp(1.8rem,3.4vw,3rem);white-space:nowrap;line-height:1}
.mq-track i .mark{width:38px;height:24px;color:var(--stone-2);opacity:.7}
.mq-track i .mark path{animation:none;stroke-dashoffset:0}
@keyframes mq{to{transform:translateX(-33.333%)}}

/* clip reveal slika */
.js .rv{clip-path:inset(18% 0 0 0);transition:clip-path 1.5s var(--ease-out)}
.js .rv img{transform:scale(1.18);transition:transform 1.8s var(--ease-out)}
.js .rv.is-in{clip-path:inset(0 0 0 0)}
.js .rv.is-in img{transform:scale(1)}
.has-par img{will-change:transform}
.js .has-par:not(.rv) img,.js .has-par.rv.is-in img{transform:translate3d(0,var(--py,0px),0) scale(1.16)}
.js .has-par.rv.is-in img{transition:transform .2s linear}

/* godišnja doba — full bleed */
.seasons-full{position:relative;min-height:100vh;min-height:100svh;color:#fff;display:flex;overflow:hidden;background:var(--forest)}
.sf-media,.sf-shade{position:absolute;inset:0}
.sf-img{position:absolute!important;inset:0;opacity:0;transition:opacity 1.4s var(--ease),transform 8s ease-out;transform:scale(1.08)}
.sf-img.is-on{opacity:1;transform:scale(1)}
.sf-shade{background:linear-gradient(180deg,rgba(12,18,15,.55) 0%,rgba(12,18,15,.1) 40%,rgba(12,18,15,.75) 100%)}
.sf-in{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(80px,12vh,140px);padding-bottom:clamp(40px,7vh,80px);min-height:100%}
.sf-head .kicker{color:#e3dbc9}
.sf-head .h-xl{max-width:14ch}
.sf-bottom{display:grid;gap:26px;margin-top:40vh}
.sf-tabs{border-color:rgba(255,255,255,.25);margin:0}
.sf-tabs button{color:rgba(255,255,255,.65);display:flex;gap:10px;align-items:baseline}
.sf-tabs button span{font-size:.62rem;opacity:.7}
.sf-tabs button[aria-selected=true]{color:#fff;border-color:#fff}
.sf-panel{max-width:520px;animation:fade .9s var(--ease-out)}
.sf-panel h3{font-size:clamp(2.2rem,4vw,3.4rem);font-style:italic;font-weight:400;margin-bottom:.25em}
.sf-panel p{color:rgba(255,255,255,.88)}
@media(min-width:960px){.sf-bottom{grid-template-columns:1fr 1fr;align-items:end;margin-top:0}.sf-in{min-height:100vh}.sf-panel{justify-self:end}}

/* horizontalni apartmani */
.hs{position:relative;background:var(--paper)}
.hs-sticky{padding:clamp(80px,10vw,130px) 0}
.hs-head{display:grid;gap:24px;align-items:end;margin-bottom:44px}
.hs-head .h-lg{margin:0;max-width:16ch}
.hs-meta{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.hs-count{font-family:var(--serif);font-size:1.3rem;color:var(--stone)}
.hs-bar{flex:1;min-width:80px;height:1px;background:var(--line);position:relative;overflow:hidden}
.hs-bar i{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(.2)}
@media(min-width:960px){.hs-head{grid-template-columns:1.3fr 1fr}}
.hs-track{display:flex;gap:clamp(20px,3vw,48px);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut) 10px;scrollbar-width:none}
.hs-track::-webkit-scrollbar{display:none}
.hs-intro{display:none}
.hs-card{flex:0 0 min(84vw,560px);scroll-snap-align:start}
.hs-media{display:block;position:relative}
.hs-media .media{aspect-ratio:4/5}
.hs-num{position:absolute;top:16px;left:18px;font-family:var(--serif);font-size:3.4rem;line-height:1;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.35)}
.hs-txt{padding-top:22px}
.hs-txt h3{font-size:clamp(2rem,3vw,2.6rem);margin-bottom:.2em}
.hs-txt p{color:var(--ink-2);margin-top:16px;max-width:42ch}
.hs-txt .specs{margin-top:8px}
.hs.is-pinned{height:calc(var(--hs-h,300vh))}
.hs.is-pinned .hs-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:0}
.hs.is-pinned .hs-track{overflow:visible;scroll-snap-type:none;will-change:transform;padding-left:calc(max((100vw - var(--wrap))/2,0px) + var(--gut))}
.hs.is-pinned .hs-card{flex-basis:clamp(360px,34vw,520px);display:grid;grid-template-rows:auto 1fr}
.hs.is-pinned .hs-media .media{aspect-ratio:auto;height:52vh}
.hs.is-pinned .hs-card:nth-child(odd) .hs-media .media{height:44vh}
.hs.is-pinned .hs-card:nth-child(odd){padding-top:8vh}
.hs.is-pinned .hs-intro{display:flex;flex-direction:column;justify-content:center;flex:0 0 300px;gap:30px}
.hs-intro p{font-family:var(--serif);font-size:1.6rem;line-height:1.35;color:var(--ink)}
.hs-hint{display:flex;gap:10px;align-items:center;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.hs-hint svg{animation:nudge 1.8s var(--ease) infinite}
@keyframes nudge{50%{transform:translateX(8px)}}
@media(max-height:760px){.hs.is-pinned .hs-txt p{display:none}}

/* statement */
.statement{position:relative;min-height:120vh;display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--forest)}
.st-img{position:absolute!important;inset:-10% 0}
.st-shade{position:absolute;inset:0;background:rgba(12,18,15,.42)}
.st-in{position:relative;z-index:2}
.st-in .kicker{color:#e3dbc9}
.st-title{font-size:clamp(2.4rem,6vw,5.4rem);font-weight:400;max-width:17ch;line-height:1.05;margin-bottom:.8em}
.split-scroll .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.js .split-scroll .w>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease-out);transition-delay:calc(var(--wi)*45ms)}
.js .split-scroll.is-in .w>span{transform:none}

/* carousel link */
.car-link{display:block}

/* menu kartica (kačamak) */
.food-card .menu-card{position:relative;height:100%;min-height:420px;background:var(--forest);color:#efe9dc;padding:clamp(34px,4vw,60px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid rgba(255,255,255,.06);outline:1px solid rgba(201,188,164,.35);outline-offset:-14px}
.menu-card .kicker{color:var(--stone-2);justify-content:center}
.menu-card .kicker::before{display:none}
.mc-orn .mark{width:58px;height:36px;color:var(--stone-2);margin-bottom:22px}
.mc-title{font-size:clamp(3rem,6vw,5rem);font-style:italic;font-weight:400;margin:.1em 0}
.mc-rule{display:block;width:60px;height:1px;background:var(--stone-2);margin:16px auto 22px}
.menu-card p{color:#cfc9bb;max-width:34ch}
.menu-card .food-num{position:absolute;top:26px;left:30px;color:var(--stone-2)}
@media(min-width:1000px){.food-1.food-card .menu-card{min-height:520px}}

/* doživljaji — paneli koji se šire */
.xp{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(var(--gut)*-1);padding:0 var(--gut)}
.xp::-webkit-scrollbar{display:none}
.xp-panel{position:relative;flex:0 0 82vw;height:70vh;min-height:460px;max-height:640px;overflow:hidden;scroll-snap-align:start;color:#fff;cursor:pointer;outline-offset:-3px}
.xp-img{position:absolute!important;inset:0}
.xp-img img{transition:transform 1.6s var(--ease-out)}
.xp-panel:hover .xp-img img{transform:scale(1.05)}
.xp-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,12,.15),rgba(10,15,12,.82))}
.xp-num{position:absolute;top:22px;left:24px;font-family:var(--serif);font-size:1.5rem;z-index:2}
.xp-vtitle{display:none}
.xp-body{position:absolute;left:0;right:0;bottom:0;padding:28px;z-index:2}
.xp-body h3{font-size:clamp(1.9rem,2.6vw,2.6rem);margin-bottom:.3em}
.xp-body p{color:rgba(255,255,255,.86);font-size:.95rem;max-width:40ch}
.xp-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.25);padding-top:16px;margin-top:8px}
.xp-meta .price{color:#e3dbc9}
@media(min-width:1000px){
  .xp{overflow:visible;margin:0;padding:0;height:640px}
  .xp-panel{flex:1 1 0;height:100%;max-height:none;transition:flex-grow .9s var(--ease-out)}
  .xp-panel.is-open{flex-grow:4.2}
  .xp-vtitle{display:block;position:absolute;z-index:2;left:50%;bottom:34px;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font-size:1.6rem;white-space:nowrap;transition:opacity .4s}
  .xp-panel.is-open .xp-vtitle{opacity:0}
  .xp-body{opacity:0;transform:translateY(20px);transition:opacity .5s .0s,transform .6s var(--ease-out);min-width:420px}
  .xp-panel.is-open .xp-body{opacity:1;transform:none;transition-delay:.35s}
}

/* kursor */
.cursor{position:fixed;left:0;top:0;z-index:90;pointer-events:none;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;background:rgba(239,233,220,.92);color:var(--forest);display:grid;place-items:center;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;transform:translate3d(var(--cx,-200px),var(--cy,-200px),0) scale(0);transition:transform .35s var(--ease-out),opacity .3s;opacity:0}
.cursor.is-on{opacity:1;transform:translate3d(var(--cx),var(--cy),0) scale(1)}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* prelaz između stranica */
.page-fade{position:fixed;inset:0;z-index:250;background:var(--forest);pointer-events:none;opacity:0;transition:opacity .45s var(--ease)}
.page-fade.is-on{opacity:1}

/* brojač */
.stats dt{font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion: reduce){
  .loader{display:none}
  .split .w>span,.js .split-scroll .w>span{transform:none!important}
  .js .rv{clip-path:none}.js .rv img{transform:none}
  .mq-track{animation:none}
  .hero-bar-wrap{opacity:1}
  .kb{animation:none}
}
main{overflow-x:clip}
.hs.is-pinned .hs-sticky{padding-top:calc(var(--hdr) + 10px)}
body.wa-hide .wa-float{opacity:0;pointer-events:none;transform:translateY(20px)}
.wa-float{transition:transform .4s var(--ease),background .3s,opacity .4s}
.credit{font-size:.66rem;color:var(--mute);margin:-14px 0 14px;letter-spacing:.04em}.credit a{text-decoration:underline}
/* jezički prekidač vidljiv i na mobilnom */
@media(max-width:759px){.lang-bar{display:inline-flex;font-size:.72rem;gap:6px}.bar-right{gap:12px}.lang-bar a{padding:6px 2px}}

/* --- izmjene oktobar 2026 --- */
.logo-mark{height:36px;width:auto;flex:none;display:block}
.logo-mark .lm-d{fill:currentColor}
.brand-light .logo-mark{height:44px}
.media.is-missing::after{content:none}
.foot-sub{font-size:.82em;opacity:.7}
.side-contacts{margin-top:14px;font-size:.92rem;line-height:1.75}
@media(min-width:1000px){
  .food-6{grid-column:1/4}
  .food-6 .food-img{aspect-ratio:16/11}
  .food-7{grid-column:4/7;margin-top:120px}
  .food-7 .food-img{aspect-ratio:16/11}
}
.side-contacts a{font:inherit!important;letter-spacing:0!important;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

.apt-new{position:absolute;top:18px;right:18px;z-index:2;background:var(--forest);color:#efe9dc;padding:8px 14px;font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;line-height:1.2}
.apt-new.is-hero{position:static;display:inline-block;margin:0 0 1.2em;background:rgba(239,233,220,.94);color:var(--forest)}
.media.is-missing{background:var(--forest)}

.apt-addr{display:flex;gap:10px;align-items:flex-start;margin:18px 0 20px;font-size:.95rem;line-height:1.4}.apt-addr svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;margin-top:2px;opacity:.8}.apt-addr-l{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin-bottom:2px}.apt-addr a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
