
:root{
  --ink:#18362f;--ink-2:#234840;--sage:#8fa292;--sage-soft:#c7d0c7;--sand:#e7dfd0;
  --paper:#f7f4ee;--cream:#efe9df;--wine:#673b3c;--white:#fff;--black:#101411;
  --serif:'Cormorant Garamond','Iowan Old Style','Baskerville',Georgia,serif;
  --sans:'Manrope','Helvetica Neue',Arial,sans-serif;
  --max:1320px;--pad:clamp(22px,4vw,68px);--nav:86px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;background:var(--paper)} body{margin:0;color:var(--ink);font-family:var(--sans);font-weight:200;background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-synthesis:none;overflow-x:hidden}
a{color:inherit;text-decoration:none} button,input,select{font:inherit} img{display:block;width:100%;height:100%;object-fit:cover}::selection{background:var(--sage-soft);color:var(--ink)}
.skip{position:fixed;left:12px;top:-100px;background:var(--paper);padding:10px 14px;z-index:999}.skip:focus{top:12px}
.nav{position:fixed;inset:0 0 auto 0;height:var(--nav);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);color:#fff;transition:.35s ease;border-bottom:1px solid transparent}.nav.scrolled{height:72px;background:rgba(247,244,238,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--ink);border-bottom-color:rgba(24,54,47,.09)}
.nav.menu-open{color:var(--ink);border-bottom-color:rgba(24,54,47,.08);background:rgba(247,244,238,.98)}
.nav__brand{display:flex;align-items:center;gap:14px;min-width:160px}.nav__mark{width:31px;height:31px;filter:brightness(0) invert(1);transition:.35s}.nav.scrolled .nav__mark,.nav.menu-open .nav__mark{filter:none}.nav__word{font-family:var(--serif);font-size:26px;letter-spacing:.16em;font-weight:300}.nav__links{display:flex;gap:34px;align-items:center;font-size:10px;font-weight:300;letter-spacing:.2em;text-transform:uppercase}.nav__links a{opacity:.85;transition:.2s}.nav__links a:hover{opacity:1}.nav__tools{display:flex;align-items:center;gap:12px}.lang{position:relative}.lang button{border:0;background:transparent;color:inherit;font-size:9px;font-weight:300;letter-spacing:.2em;text-transform:uppercase;padding:12px 8px;cursor:pointer}.lang__menu{position:absolute;right:0;top:44px;min-width:248px;padding:10px;background:rgba(247,244,238,.985);color:var(--ink);box-shadow:0 22px 60px rgba(20,35,30,.14);opacity:0;visibility:hidden;transform:translateY(-5px);transition:.2s;display:grid;grid-template-columns:1fr 1fr;gap:2px;border:1px solid rgba(24,54,47,.07)}.lang.open .lang__menu{opacity:1;visibility:visible;transform:none}.lang.open .lang__chevron{display:inline-block;transform:rotate(180deg)}.lang__menu button{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;width:100%;text-align:left;padding:9px 10px;border:0;background:transparent;color:inherit;cursor:pointer;letter-spacing:.04em;text-transform:none;font-size:10px}.lang__menu button span{font-size:8px;letter-spacing:.16em;color:var(--sage)}.lang__menu button:hover,.lang__menu button[aria-current="true"]{background:var(--cream)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid currentColor;font-size:9px;font-weight:300;letter-spacing:.2em;text-transform:uppercase;transition:.25s;background:transparent;color:inherit}.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}.nav:not(.scrolled) .btn:hover{background:#fff;border-color:#fff;color:var(--ink)}
.menuBtn{display:none;border:0;background:transparent;color:inherit;padding:8px;cursor:pointer}.menuBtn span{display:block;width:25px;height:1px;background:currentColor;margin:5px 0;transition:transform .25s ease,opacity .25s ease;transform-origin:center}.nav.menu-open .menuBtn span:first-child{transform:translateY(3px) rotate(45deg)}.nav.menu-open .menuBtn span:last-child{transform:translateY(-3px) rotate(-45deg)}
.hero{height:100svh;min-height:660px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:#1d332d}.hero__media{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(10,20,17,.12) 0%,rgba(10,20,17,.08) 40%,rgba(10,20,17,.58) 100%),url('https://www.hotels-primorsko-goranska.com/data/Imgs/OriginalPhoto/15888/1588887/1588887202/beach-house-dida-crikvenica-img-1.JPEG');background-position:center;background-size:cover;transform:scale(1.035);animation:heroDrift 18s ease-out forwards}@keyframes heroDrift{to{transform:scale(1)}}
.hero__content{position:relative;z-index:2;width:100%;padding:0 var(--pad) clamp(48px,8vh,88px);display:grid;grid-template-columns:1.55fr .45fr;align-items:end;gap:30px}.kicker{font-size:10px;text-transform:uppercase;letter-spacing:.28em;font-weight:300;margin-bottom:18px}.hero h1{font-family:var(--serif);font-size:clamp(68px,10vw,156px);font-weight:300;line-height:.72;letter-spacing:-.035em;margin:0}.hero h1 span{display:block;font-family:var(--sans);font-size:clamp(11px,1vw,15px);letter-spacing:.42em;line-height:1.5;margin-bottom:19px;font-weight:300}.hero__aside{max-width:330px;justify-self:end}.hero__aside p{font-family:var(--serif);font-size:clamp(25px,2.5vw,38px);line-height:1.08;font-weight:300;margin:0 0 24px}.hero__scroll{position:absolute;left:var(--pad);bottom:20px;z-index:3;font-size:9px;letter-spacing:.22em;text-transform:uppercase;display:flex;align-items:center;gap:10px;opacity:.75}.hero__scroll:before{content:'';width:38px;height:1px;background:currentColor}
.section{padding:clamp(88px,12vw,160px) var(--pad)}.wrap{max-width:var(--max);margin:auto}.intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:start}.eyebrow{font-size:8px;text-transform:uppercase;letter-spacing:.29em;font-weight:300;color:var(--sage)}.intro h2,.split h2,.location h2,.booking h2,.ritual h2{font-family:var(--serif);font-size:clamp(52px,6vw,90px);line-height:.92;font-weight:300;letter-spacing:-.025em;margin:0;text-wrap:balance;overflow-wrap:break-word;hyphens:auto}.intro__copy{font-family:var(--serif);font-size:clamp(24px,2.4vw,36px);line-height:1.25;font-weight:300;max-width:760px}.intro__copy p{margin:0 0 30px}.rule{width:100%;height:1px;background:rgba(24,54,47,.12);margin-top:54px}.facts{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(24,54,47,.1);margin-top:64px;border:1px solid rgba(24,54,47,.1)}.fact{background:var(--paper);padding:28px 24px}.fact strong{display:block;font-family:var(--serif);font-size:28px;font-weight:300;margin-bottom:5px}.fact span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.split{padding:0 var(--pad) clamp(90px,12vw,160px)}.split__grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.16fr .84fr;min-height:760px}.split__media{position:relative;overflow:hidden;background:var(--sage-soft)}.split__media img{transition:transform 1.2s ease}.split__media:hover img{transform:scale(1.025)}.split__content{background:var(--ink);color:var(--paper);padding:clamp(48px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.split__content .eyebrow{color:#a8bcad}.split__content h2{font-size:clamp(48px,5.2vw,78px);margin:18px 0 32px}.split__content p{font-size:13px;font-weight:200;line-height:1.95;color:rgba(247,244,238,.74);max-width:480px;margin:0 0 28px}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin-top:20px}.amenity{font-size:10px;letter-spacing:.11em;text-transform:uppercase;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.gallery{padding:0 var(--pad) clamp(100px,12vw,170px)}.gallery__head{max-width:var(--max);margin:0 auto 42px;display:flex;align-items:end;justify-content:space-between;gap:20px}.gallery__head h2{font-family:var(--serif);font-size:clamp(48px,5vw,76px);font-weight:300;margin:0;text-wrap:balance;overflow-wrap:break-word;hyphens:auto}.gallery__grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:340px 340px;gap:12px}.gallery__item{position:relative;overflow:hidden;cursor:zoom-in;background:var(--sage-soft);border:0;padding:0}.gallery__item:first-child{grid-row:1/3}.gallery__item:nth-child(4){grid-column:2/4}.gallery__item img{transition:transform .75s ease}.gallery__item:hover img{transform:scale(1.035)}.gallery__more{position:absolute;right:18px;bottom:18px;background:rgba(247,244,238,.92);color:var(--ink);padding:10px 12px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.ritual{background:var(--cream);padding:clamp(95px,12vw,160px) var(--pad)}.ritual__head{max-width:var(--max);margin:0 auto 62px;display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.ritual__cards{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.ritual__card{border-top:1px solid rgba(24,54,47,.18);padding-top:24px}.ritual__card .num{font-family:var(--serif);font-size:22px;color:var(--sage)}.ritual__card h3{font-family:var(--serif);font-size:36px;font-weight:300;margin:42px 0 15px}.ritual__card p{font-size:12px;font-weight:200;line-height:1.9;color:rgba(24,54,47,.7);max-width:320px}
.immersive{height:min(82vh,900px);min-height:600px;position:relative;overflow:hidden}.immersive img{position:absolute;inset:0}.immersive__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,28,24,.48),transparent 55%)}.immersive__copy{position:absolute;left:var(--pad);bottom:var(--pad);color:#fff;max-width:680px}.immersive__copy p{font-family:var(--serif);font-size:clamp(44px,5.5vw,78px);line-height:.95;font-weight:300;margin:0}.immersive__copy span{display:block;margin-bottom:18px;font-size:9px;text-transform:uppercase;letter-spacing:.26em}
.location{padding:clamp(96px,12vw,160px) var(--pad)}.location__grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:8vw;align-items:center}.location h2{margin:16px 0 30px}.location p{font-size:13px;font-weight:200;line-height:1.9;max-width:520px;color:rgba(24,54,47,.72)}.location__meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:36px 0}.location__meta div{border-top:1px solid rgba(24,54,47,.16);padding-top:15px}.location__meta strong{display:block;font-family:var(--serif);font-size:25px;font-weight:300}.location__meta span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}.mapArt{aspect-ratio:1.12/1;background:var(--ink);color:var(--paper);position:relative;overflow:hidden;padding:38px;display:flex;align-items:center;justify-content:center}.mapArt svg{width:82%;height:auto;opacity:.96}.mapArt__label{position:absolute;left:30px;right:30px;bottom:26px;font-size:9px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;overflow-wrap:anywhere}
.booking{padding:clamp(110px,13vw,180px) var(--pad);background:var(--wine);color:#fff;text-align:center}.booking .eyebrow{color:#d6c4b7}.booking h2{max-width:1000px;margin:18px auto 28px}.booking p{max-width:630px;margin:0 auto 34px;font-family:var(--serif);font-size:24px;line-height:1.35;color:rgba(255,255,255,.78)}.booking .btn:hover{background:#fff;border-color:#fff;color:var(--wine)}
.footer{background:#112821;color:var(--paper);padding:60px var(--pad) 34px}.footer__top{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;padding-bottom:54px}.footer__brand{font-family:var(--serif);font-size:50px;font-weight:300}.footer__tag{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#a8bcad;margin-top:8px}.footer__links{display:flex;justify-content:flex-end;gap:30px;align-items:start;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.footer__bottom{max-width:var(--max);margin:auto;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.08em;color:rgba(247,244,238,.52)}
.mobilePanel{display:none;position:fixed;inset:0;background:var(--paper);color:var(--ink);z-index:90;padding:110px 28px max(38px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.mobilePanel.open{display:flex;flex-direction:column}.mobilePanel>a:not(.btn){font-family:var(--serif);font-size:48px;font-weight:300;line-height:1.02;padding:7px 0}.mobilePanel .btn{margin-top:auto;align-self:stretch;flex:0 0 auto;font-family:var(--sans);font-size:9px;font-weight:300;line-height:1.2;letter-spacing:.2em;padding:0 18px;min-height:48px}.body-lock{overflow:hidden}.lightbox{position:fixed;inset:0;background:rgba(9,16,14,.96);z-index:200;display:none;align-items:center;justify-content:center;padding:4vw}.lightbox.open{display:flex}.lightbox img{width:auto;height:auto;max-width:92vw;max-height:86vh;object-fit:contain}.img-error{display:none!important}.gallery__item.image-missing,.split__media.image-missing{background:linear-gradient(135deg,var(--sage-soft),var(--cream))}.immersive.image-missing{background:linear-gradient(135deg,var(--ink-2),var(--ink))}.lightbox__close{position:absolute;right:26px;top:22px;border:0;background:transparent;color:#fff;font-size:34px;cursor:pointer;font-weight:200}.lightbox__caption{position:absolute;left:4vw;bottom:22px;color:#fff;font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:900px){:root{--nav:72px;--pad:22px}.nav__links,.nav .btn--book,.nav .lang{display:none}.menuBtn{display:block}.nav__word{font-size:23px}.hero{min-height:720px}.hero__content{grid-template-columns:1fr;padding-bottom:64px}.hero__aside{justify-self:start;margin-top:30px}.hero h1{font-size:clamp(74px,23vw,114px)}.intro{grid-template-columns:1fr;gap:34px}.facts{grid-template-columns:1fr 1fr}.fact:last-child{grid-column:1/3}.split{padding-left:0;padding-right:0}.split__grid{grid-template-columns:1fr;min-height:0}.split__media{height:68vw;min-height:420px}.split__content{padding:60px 22px 70px}.gallery{padding-left:0;padding-right:0}.gallery__head{padding:0 22px}.gallery__grid{grid-template-columns:1fr 1fr;grid-template-rows:58vw 44vw 44vw;gap:7px}.gallery__item:first-child{grid-row:auto;grid-column:1/3}.gallery__item:nth-child(4){grid-column:auto}.ritual__head{grid-template-columns:1fr;gap:25px}.ritual__cards{grid-template-columns:1fr;gap:44px}.ritual__card h3{margin-top:20px}.immersive{min-height:620px}.immersive__overlay{background:linear-gradient(0deg,rgba(12,28,24,.58),transparent 70%)}.location__grid{grid-template-columns:1fr;gap:60px}.mapArt{aspect-ratio:1/1}.footer__top{grid-template-columns:1fr}.footer__links{justify-content:flex-start;flex-wrap:wrap}.footer__bottom{flex-direction:column}.hero__scroll{display:none}}
@media(max-width:520px){.facts{grid-template-columns:1fr}.fact:last-child{grid-column:auto}.amenities{grid-template-columns:1fr}.gallery__grid{grid-template-columns:1fr;grid-template-rows:72vw repeat(3,62vw)}.gallery__item:first-child{grid-column:auto}.gallery__item:nth-child(4){grid-column:auto}.location__meta{grid-template-columns:1fr}.hero__aside p{font-size:28px}.booking p{font-size:20px}.mobilePanel>a:not(.btn){font-size:42px}.mapArt{padding:24px}.mapArt__label{left:20px;right:20px;bottom:18px;font-size:8px;letter-spacing:.13em}}
@media(max-width:360px){:root{--pad:18px}.nav__brand{gap:10px;min-width:0}.nav__mark{width:27px;height:27px}.nav__word{font-size:20px}.mobilePanel{padding-left:22px;padding-right:22px}.mobilePanel>a:not(.btn){font-size:36px}.mobileLang{gap:7px}.mobileLang button{min-width:39px;height:36px}.hero h1{font-size:clamp(68px,22vw,86px)}.intro h2,.split h2,.location h2,.booking h2,.ritual h2{font-size:46px}.gallery__head h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.mobileLang{display:flex;gap:9px;margin-top:30px;flex-wrap:wrap}.mobileLang button{border:1px solid rgba(24,54,47,.18);background:transparent;color:var(--ink);min-width:42px;height:38px;font-size:10px;letter-spacing:.12em;cursor:pointer}.mobileLang button:hover{background:var(--ink);color:#fff}

/* 2026 refined typography pass */
.hero h1,.intro h2,.split h2,.gallery__head h2,.ritual h2,.location h2,.booking h2,.footer__brand,.intro__copy,.hero__aside p,.immersive__copy p{font-weight:300}.fact span,.amenity,.location__meta span,.footer__tag,.footer__links,.footer__bottom,.hero__scroll,.gallery__more{font-weight:300}.mobileLang button{font-weight:300}.mobileLang button[aria-current="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Stability and accessibility refinements */
body.body-lock{overflow:hidden;touch-action:none}.lang__menu{max-height:min(70vh,420px);overflow-y:auto}.lang__chevron{transition:transform .2s ease}.mobileLang button[aria-current="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}.mobilePanel .btn:focus-visible,.mobilePanel>a:focus-visible,.menuBtn:focus-visible,.lang button:focus-visible,.gallery__item:focus-visible,.lightbox__close:focus-visible{outline:2px solid currentColor;outline-offset:4px}
