:root{
  --bg:#f8f4f1;
  --paper:#fff;
  --paper-soft:#fbf6f8;
  --ink:#1f1a1d;
  --muted:#5f5158;
  --line:rgba(31,26,29,.14);
  --brand:#d64779;
  --brand-deep:#af2c56;
  --brand-soft:#f2b2c8;
  --night:#241b22;
  --focus:0 0 0 3px rgba(214,71,121,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-family:"Manrope",sans-serif;background:var(--bg);color:var(--ink);line-height:1.72;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
a{color:inherit}
img{display:block;max-width:100%}
.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.section{padding:80px 0}
.label{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--brand-deep)}
.label:after{content:"";width:34px;height:1px;background:currentColor;opacity:.58}
h1,h2,h3,h4{font-family:"Cormorant Garamond",serif;line-height:1.04;letter-spacing:-.015em}
h2{font-size:clamp(2rem,4vw,3.15rem);margin-bottom:14px}
h3{font-size:clamp(1.45rem,2vw,1.95rem)}
p{margin:0}
.lead{color:var(--muted);font-size:1.02rem;max-width:66ch}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-deep);border-color:var(--brand-deep)}
.btn-ghost{border-color:var(--line);background:transparent}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand-deep)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,details summary:focus-visible{outline:none;box-shadow:var(--focus)}
.skip{position:absolute;top:-42px;left:12px;z-index:999;background:var(--brand);color:#fff;text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:700}
.skip:focus-visible{top:12px}

.site-header{position:sticky;top:0;z-index:50;background:rgba(248,244,241,.88);backdrop-filter:blur(9px);border-bottom:1px solid transparent;transition:.2s}
.site-header.scrolled{background:rgba(248,244,241,.95);border-color:var(--line)}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.brand{text-decoration:none;display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;gap:4px}
.brand-logo{display:block;width:176px;max-width:100%;height:auto;margin-left:-6px}
.brand span{display:none;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#786a71;font-weight:700;text-align:left;white-space:nowrap}
.header-actions{display:flex;gap:10px;align-items:center}

.hero{position:relative;overflow:hidden;background:#1d151b;color:#fff;isolation:isolate}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    var(--journey-overlay, linear-gradient(100deg,rgba(21,13,18,.92) 0%,rgba(21,13,18,.84) 28%,rgba(21,13,18,.58) 65%,rgba(21,13,18,.72) 100%)),
    radial-gradient(circle at 82% 16%,rgba(214,71,121,.18),transparent 34%),
    var(--journey-hero, url("balkans-atlas-crop-v7.png")) var(--journey-hero-position, center center)/cover no-repeat;
  transform:scale(1.03);
}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,11,15,.86),rgba(18,11,15,.16) 55%,rgba(18,11,15,.44))}
.hero-inner{position:relative;z-index:1;width:min(1160px,calc(100% - 40px));margin-inline:auto;padding:118px 0 78px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:34px;align-items:start}
.hero.balkan-journey-hero{
  --journey-hero:url("photo-hero-2-slika.png?v=20260325-2207");
  --journey-hero-position:center 42%;
  --journey-overlay:linear-gradient(100deg,rgba(21,13,18,.76) 0%,rgba(21,13,18,.62) 28%,rgba(21,13,18,.34) 65%,rgba(21,13,18,.5) 100%);
}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.7)}
.crumbs a{text-decoration:none}
.crumbs span[aria-hidden="true"]{opacity:.45}
.hero-copy h1{font-size:clamp(2.7rem,5.6vw,4.7rem);max-width:12.4ch;margin-bottom:18px}
.hero-copy .lead{color:rgba(255,255,255,.86);font-size:1.04rem;max-width:58ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-actions .btn{min-width:210px}
.hero-facts{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:670px}
.hero-facts li{list-style:none;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(255,255,255,.9);font-size:.92rem}
.hero-facts strong{display:block;margin-bottom:3px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-soft)}

.journey-card{padding:24px 24px 22px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);box-shadow:0 24px 46px rgba(0,0,0,.22);backdrop-filter:blur(10px)}
.journey-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.rating-chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#fff}
.rating-chip .stars{color:#ffd88e;letter-spacing:.06em}
.price-block{display:grid;gap:2px;text-align:right}
.price-label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.64);font-weight:700}
.price-value{font-size:clamp(1.7rem,3.2vw,2.45rem);line-height:.96;color:#fff}
.price-note{font-size:.86rem;color:rgba(255,255,255,.78)}
.summary-list{list-style:none;display:grid;gap:10px;margin:18px 0 20px}
.summary-list li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:start;padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}
.summary-list strong{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.summary-list span{color:#fff;font-size:.95rem}
.card-actions{display:grid;gap:10px}
.card-actions .btn{width:100%}
.card-note{margin-top:12px;font-size:.84rem;color:rgba(255,255,255,.68);line-height:1.62}

.overview-shell{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);gap:26px;align-items:stretch}
.journey-panel,.route-figure,.proof-shell,.day-card,.notes-card,.faq-shell,.enquiry-shell{border:1px solid #e3d5dc;border-radius:24px;background:linear-gradient(145deg,#fff,#f8f1f5 60%,#fff);box-shadow:0 18px 36px rgba(31,26,29,.08)}
.journey-panel{padding:30px}
.journey-panel p + p{margin-top:14px}
.route-figure{overflow:hidden}
.route-figure img{width:100%;height:100%;min-height:100%;object-fit:cover}
.image-caption{padding:16px 18px;border-top:1px solid #e7dbe1;color:#5a4954;font-size:.92rem;line-height:1.62}
.country-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0 18px 18px}
.country-chips li{padding:9px 12px;border-radius:999px;border:1px solid #e7d9e0;background:#fff;color:#4f3d48;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}

.proof-strip{padding-top:6px}
.proof-shell{padding:18px}
.proof-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.proof-item{padding:18px 18px 16px;border:1px solid #eadde3;border-radius:18px;background:rgba(255,255,255,.88)}
.proof-item strong{display:block;margin-bottom:8px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#3e2e38}
.proof-item span{display:block;color:#5a4954;line-height:1.64}

.highlights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.highlight-card{padding:24px 22px;border:1px solid #e3d5dc;border-radius:22px;background:#fff;box-shadow:0 14px 30px rgba(31,26,29,.07)}
.highlight-card h3{margin-bottom:10px}
.highlight-card p{color:#5a4954}

.library-intro{max-width:760px;margin-bottom:26px}
.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.library-card{padding:24px 22px;border:1px solid #e3d5dc;border-radius:24px;background:#fff;box-shadow:0 14px 30px rgba(31,26,29,.07);display:grid;gap:14px}
.library-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.library-card-top .label{margin-bottom:0}
.library-duration{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(214,71,121,.22);background:#fbecf3;color:var(--brand-deep);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;white-space:nowrap}
.library-card h3{font-size:clamp(1.55rem,2vw,2rem)}
.library-summary,.library-kicker{color:#5a4954}
.library-kicker{font-size:.92rem}
.library-meta{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.library-meta li{padding:9px 12px;border-radius:999px;border:1px solid #e7d9e0;background:#fbf7f9;color:#4f3d48;font-size:.74rem;letter-spacing:.08em;text-transform:none;font-weight:700}
.library-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.library-actions .btn{flex:1 1 180px}

.day-intro{max-width:760px;margin-bottom:26px}
.day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.day-card{padding:24px 22px}
.day-eyebrow{display:inline-flex;align-items:center;justify-content:center;min-width:84px;min-height:34px;padding:6px 12px;border-radius:999px;border:1px solid rgba(214,71,121,.22);background:#fbecf3;color:var(--brand-deep);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.day-route{margin:14px 0 10px}
.day-card p{color:#5a4954}

.notes-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:18px;align-items:start}
.notes-card{padding:28px}
.notes-card .lead{max-width:none;margin-bottom:18px}
.route-note-list,.simple-list{list-style:none;display:grid;gap:10px}
.route-note-list li,.simple-list li{padding-left:15px;position:relative;color:#5a4954}
.route-note-list li:before,.simple-list li:before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:999px;background:var(--brand)}
.stack{display:grid;gap:18px}

.faq-shell{padding:28px 28px 8px}
.faq-intro{margin-bottom:16px}
.faq-item{border-top:1px solid #eadde3}
.faq-item:first-of-type{border-top:0}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:700;color:#2f1f2a}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"+";font-size:1.2rem;color:var(--brand-deep);flex:0 0 auto}
.faq-item[open] summary:after{content:"-"}
.faq-item p{padding:0 0 18px;color:#5a4954}

.enquiry-shell{padding:30px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(300px,.98fr);gap:22px}
.enquiry-copy{display:grid;gap:14px;align-content:start}
.enquiry-copy .lead{max-width:none}
.tour-form{display:grid;gap:14px;margin-top:10px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.field{display:grid;gap:7px}
.field-wide{grid-column:1/-1}
.field label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#5f5158}
.field input,.field textarea{width:100%;border:1px solid #dfd2d9;border-radius:14px;padding:13px 14px;font:inherit;color:var(--ink);background:#fff}
.field textarea{min-height:128px;resize:vertical}
.form-note{color:#66535e;font-size:.92rem}
.enquiry-side{display:grid;gap:18px}
.contact-side{padding:24px 22px;border-radius:22px;border:1px solid rgba(214,71,121,.22);background:linear-gradient(180deg,#fdf3f8,#fff)}
.contact-side h3{margin-bottom:10px}
.contact-side p{color:#5a4954}
.contact-side ul{list-style:none;display:grid;gap:12px;margin-top:16px}
.contact-side li{padding:12px 14px;border-radius:14px;border:1px solid #e7d9e0;background:#fff}
.contact-side strong{display:block;margin-bottom:4px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-deep)}
.contact-side a{text-decoration:none}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}

footer{padding:0 0 32px}
.foot{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:flex-start;color:#5f5158;font-size:.92rem}
.foot-links,.foot-legal{list-style:none;display:flex;gap:14px;flex-wrap:wrap}
.foot a{text-decoration:none}
.foot a:hover,.foot a:focus-visible{color:var(--brand-deep)}
.foot-legal{width:100%;padding-top:12px;border-top:1px solid var(--line)}

@media (max-width:1080px){
  .hero-grid,.overview-shell,.notes-grid,.enquiry-shell{grid-template-columns:1fr}
  .proof-band,.highlights-grid,.library-grid,.day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:820px){
  .nav{min-height:66px;gap:10px}
  .brand{gap:2px}
  .brand-logo{width:156px;margin-left:-3px}
  .section{padding:58px 0}
  .hero-inner{padding:100px 0 64px}
  .hero-copy h1{font-size:clamp(2.15rem,8.4vw,3.7rem);max-width:11.5ch;line-height:1.06}
  .hero-copy .lead{font-size:.98rem;line-height:1.82}
  .hero-actions{gap:14px}
  .hero-actions .btn{width:100%;min-width:0}
  .hero-facts,.proof-band,.highlights-grid,.library-grid,.day-grid,.form-grid{grid-template-columns:1fr}
  .journey-card,.journey-panel,.route-figure,.proof-shell,.notes-card,.faq-shell,.enquiry-shell{padding-left:20px;padding-right:20px}
  .summary-list li{grid-template-columns:1fr;gap:5px}
  .day-route{font-size:1.55rem}
  .foot{padding-top:8px;flex-direction:column;text-align:center}
  .foot-links,.foot-legal{justify-content:center}
}

@media (max-width:520px){
  .nav{min-height:62px}
  .brand-logo{width:148px;margin-left:-2px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}
