/* Zavrsna dorada: citljivost, jasna navigacija i nenametljivi prelazi. */
:root{--ease:cubic-bezier(.22,.68,.2,1)}
html{scroll-padding-top:115px}
body{overflow-wrap:break-word}
::selection{background:#cbbca9;color:#1c1b1a}
.header{position:sticky;top:0;height:88px;background:#1c1b1af5;transition:box-shadow .35s,border-color .35s}
.header.is-scrolled{box-shadow:0 8px 26px #0002;border-color:#cbbca92e}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:40;pointer-events:none;background:var(--accent);transform:scaleX(0);transform-origin:left}
.desktop-nav{font-size:13px;gap:32px}
.desktop-nav a:is([aria-current=location],[aria-current=page]){color:var(--ink)}
.desktop-nav a:is([aria-current=location],[aria-current=page]):after{transform:scaleX(1)}
.hero{height:calc(100svh - 88px)}
.hero-description{font-size:15px}
.intro-copy>p:not(.lead),.brand-copy>p:not(.eyebrow),.services-intro,.service-list details>p,.visit-copy>p:not(.eyebrow){font-size:14px;line-height:1.85}
.section-heading>p{font-size:14px;max-width:350px}
.intro-copy{max-width:490px}
.text-link,.button,.email,.social>a{font-size:12px}
.brand-copy>p:not(.eyebrow){max-width:360px}
.section-label{font-size:10px;position:relative;border-bottom-color:transparent}
.section-label:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--line);transform-origin:left;transition:transform 1s var(--ease)}
.motion .section-label.pending:after{transform:scaleX(.08)}
.brand-note{font-size:10px;letter-spacing:.1em;line-height:1.8;margin-top:35px;max-width:330px}
.detail-photo>span{font-size:10px;line-height:1.8}
.service-list summary{font-size:14px;min-height:72px}
.service-number{font-size:10px}
.service-list details{transition:background .3s,border-color .3s}
.service-list details[open]{background:#ffffff03;border-color:#cbbca949}
.service-list details[open]>summary{color:var(--accent)}
.service-list details>p{padding-right:15px}
.visit{background:radial-gradient(ellipse at 0 100%,#cbbca909,transparent 65%),#2c2723}
.visit-grid{gap:clamp(40px,7vw,100px)}
.contact-block h3{font-size:10px;letter-spacing:.14em}
.phone{font-size:18px}
.hours{font-size:14px;font-variant-numeric:tabular-nums}
.hours>div{align-items:baseline;padding:5px 0;gap:16px}
.hours dd{white-space:nowrap}
.hours-note{font-size:12px;line-height:1.8}
.message-links{gap:12px 20px;margin-top:16px}
.message-links a,.copy-phone{font-size:12px;padding:10px 0;min-height:44px;display:inline-flex;align-items:center}
.copy-status{font-size:12px;min-height:22px;margin-top:6px}
.social>a{padding:10px 0;min-height:44px}
.email,.phone,.social>a,.message-links a,.copy-phone{transition:color .25s,border-color .25s}
.back-top{width:44px;height:44px;transition:background .3s,transform .3s}
.footer>span{font-size:11px}
.mobile-menu:not([hidden]){animation:menu-enter .24s var(--ease) both}
@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
  .email:hover,.phone:hover,.social>a:hover,.message-links a:hover,.copy-phone:hover{color:var(--accent);border-color:var(--ink)}
  .back-top:hover{background:#cbbca914;transform:translateY(-3px)}
}
@media(min-width:761px){.intro-grid>.reveal:nth-child(2),.services-grid>.reveal:nth-child(2),.visit-grid>.reveal:nth-child(2){--reveal-delay:100ms}}
@media(max-width:1100px) and (min-width:761px){
  .brand-feature,.brand-feature+.brand-feature{gap:6%}
  .section-heading>p{max-width:270px}
}
@media(max-width:760px){
  html{scroll-padding-top:100px}
  .header{height:78px}
  .menu-toggle{width:44px;height:44px;padding:11px}
  .mobile-menu:not([hidden]){top:78px;max-height:calc(100svh - 145px);overflow-y:auto}
  .hero{height:auto;min-height:820px}
  .hero-photo{top:330px;height:490px}
  .hero-description{font-size:14px}
  .hero-actions{gap:15px}
  .hero-actions .text-link,.button{font-size:12px}
  .hero-location{font-size:11px;min-height:44px}
  h2,.intro h2,.visit h2{font-size:clamp(44px,10vw,64px)}
  .section{padding-top:48px;padding-bottom:58px}
  .section-label{font-size:9px;letter-spacing:.08em;gap:18px;line-height:1.65;margin-bottom:34px}
  .section-label>span:last-child{text-align:right}
  .section-heading>p{font-size:13px}
  .intro-copy>p:not(.lead),.brand-copy>p:not(.eyebrow),.services-intro,.service-list details>p,.visit-copy>p:not(.eyebrow){font-size:14px}
  .brand-note{font-size:10px;margin-top:22px}
  .brand-copy h3{font-size:56px}
  .brand-feature,.brand-feature+.brand-feature{gap:24px}
  .service-list summary{font-size:14px;gap:10px}
  .service-list details>p{padding-left:29px}
  .visit-grid{gap:35px}
  .hours{font-size:13px}
  .contact-block{padding-bottom:24px}
  .footer{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .mobile-contact>a{font-size:12px;min-height:52px}
}
@media(max-width:380px){
  .hero-actions{align-items:flex-start;flex-direction:column;gap:8px}
  .hero-actions .text-link{font-size:11px}
  .hero-photo{top:380px;height:440px}
  .hero-copy h1{font-size:clamp(57px,17vw,64px)}
  .hero-location{font-size:10px}
  .hours{font-size:12px}
  .section-label{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .motion .reveal.pending,.motion .section-label.pending:after{opacity:1;transform:none}
  .hero-photo img,.brand-image:hover img,.detail-photo:hover img{transform:none}
  .reading-progress{display:none}
}
/* Mapa uz informacije o dolasku. */
.visit-map{border:1px solid #cbbca933;background:#211e1b;margin-bottom:30px;overflow:hidden;box-shadow:0 12px 32px #00000012}
.map-heading,.map-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 17px;font-size:10px;line-height:1.6}
.map-heading{color:var(--muted);border-bottom:1px solid var(--line)}
.map-heading>span:first-child{font-size:9px;letter-spacing:.12em}
.visit-map iframe{display:block;width:100%;height:270px;border:0;background:#d9d5cf}
.map-caption{font-size:11px;border-top:1px solid var(--line);transition:background .3s,color .3s}
.map-caption>span:last-child{color:var(--accent)}
.map-caption:hover{background:#cbbca90c}
@media(max-width:760px){.visit-map{margin-bottom:28px}.visit-map iframe{height:250px}.map-heading,.map-caption{padding:13px 14px}.map-heading{flex-wrap:wrap;gap:5px 15px}}
.social-icon{width:21px;height:21px;flex:0 0 21px;display:block;transition:transform .25s}
.message-links a,.social>a{align-items:center;gap:9px}
.social>a{margin-right:22px}
@media(hover:hover){.message-links a:hover .social-icon,.social>a:hover .social-icon{transform:translateY(-2px)}}
/* Postepeno pojavljivanje sadrzaja prilikom skrolovanja. */
.scroll-reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .75s ease var(--scroll-delay,0ms),transform .85s cubic-bezier(.2,.7,.2,1) var(--scroll-delay,0ms)}
.scroll-reveal.scroll-visible{opacity:1;transform:none}
@media(max-width:760px){.scroll-reveal{transform:translate3d(0,18px,0);transition-duration:.65s,.7s}}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}}
@media print{.scroll-reveal{opacity:1;transform:none}}
.legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:15px 30px;padding:0 6% 30px;font-size:12px;color:var(--muted)}.legal-links a{text-decoration:underline;text-underline-offset:5px}.legal-page{max-width:1050px;margin:auto}.legal-page h1{font-size:clamp(44px,6vw,76px);line-height:1.1;margin:32px 0}.legal-page h2{font-family:var(--sans);font-size:21px;letter-spacing:0;line-height:1.4;margin:36px 0 16px}.legal-page p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:16px}.legal-page p a{text-decoration:underline;color:var(--ink)}.map-consent{padding:28px 22px;text-align:center;background:radial-gradient(ellipse at center,#cbbca915,transparent),#242220;min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.map-consent[hidden],.unload-map[hidden]{display:none}.map-consent>span{font-size:32px;color:var(--accent)}.map-consent p{font-size:12px;line-height:1.7;color:var(--muted);max-width:390px}.map-consent p:first-of-type{color:var(--ink);font-size:15px}.map-consent>a{font-size:11px;text-decoration:underline}.unload-map{display:block;width:100%;border:0;border-top:1px solid var(--line);background:var(--panel);padding:12px;font-size:11px;color:var(--muted)}@media(max-width:760px){.legal-links{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.guide-hero .eyebrow{font-size:9px}.hero .eyebrow{max-width:290px;line-height:1.8}.guide h1{font-size:clamp(44px,9vw,64px)}}

/* Jednaka navigacija i ritam podstranica. */
.mobile-menu a[aria-current=page]{color:var(--accent)}
.guide,.legal-page{scroll-margin-top:110px}
@media(max-width:760px){.subpage .footer{padding-bottom:30px}.subpage .legal-links{padding-bottom:30px}}
/* Sest linkova: tablet dobija isti pregledan meni kao telefon. */
.desktop-nav{gap:24px}
@media(min-width:761px) and (max-width:960px){.header{height:78px}.desktop-nav{display:none}.header-visit{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:1px solid var(--line);width:44px;height:44px;padding:11px}.menu-toggle>span{height:1px;background:var(--ink);width:100%;transition:transform .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;flex-direction:column;position:absolute;top:78px;left:0;right:0;max-height:calc(100svh - 100px);overflow-y:auto;background:#292522;padding:22px 6%;box-shadow:0 20px 35px #0005}.mobile-menu a{font-size:15px;padding:12px 0;border-bottom:1px solid var(--line)}}
