/* Azees Travels — page styles (Home + shared). Depends on brand.css tokens. */
.img-slot{ background:linear-gradient(135deg,var(--plum-tint),var(--gold-tint)); display:block; }
.section-cta { display:flex; justify-content:center; margin-top: 40px; }

/* ---- Hero ---- */
.hero { position: relative; min-height: 88vh; display: flex; align-items: flex-end; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; z-index: 0; }
.hero__bg .img-slot,.hero__bg img { width:100%; height:100%; object-fit:cover; border-radius:0; }
.hero__scrim { position:absolute; inset:0; z-index:1;
  background: linear-gradient(180deg, rgba(40,15,44,.42) 0%, rgba(40,15,44,.12) 34%, rgba(40,15,44,.72) 100%),
              linear-gradient(90deg, rgba(63,16,53,.55), rgba(63,16,53,0) 62%); }
.hero__inner { position: relative; z-index: 2; max-width: var(--maxw); margin: 0 auto; padding: 0 24px 68px; color:#fff; width:100%; }
.hero__badge { display:inline-flex; align-items:center; gap:9px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35); backdrop-filter:blur(6px);
  padding:8px 15px; border-radius:var(--r-pill); font-family:var(--f-btn); font-weight:500; font-size:13px; margin-bottom:22px; }
.hero__badge b { color: var(--gold); font-weight:600; }
.hero h1 { color:#fff; font-size: clamp(2.4rem, 6vw, 4.4rem); font-weight:600; max-width: 16ch; text-shadow: 0 2px 30px rgba(0,0,0,.3); }
.hero h1 em { font-style: italic; font-family: var(--f-serif); color: var(--gold); }
.hero__sub { font-size: clamp(1.05rem, 1.6vw, 1.3rem); color: rgba(255,255,255,.9); max-width: 46ch; margin: 20px 0 30px; }
.hero__cta { display:flex; gap:14px; flex-wrap:wrap; }
.hero__scroll { position:absolute; left:50%; bottom:22px; transform:translateX(-50%); z-index:3; color:rgba(255,255,255,.8); display:flex; flex-direction:column; align-items:center; gap:7px; font-family:var(--f-btn); font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.hero__scroll span { width:22px;height:34px;border:1.5px solid rgba(255,255,255,.6);border-radius:12px; position:relative; }
.hero__scroll span::after { content:""; position:absolute; left:50%; top:7px; width:3px;height:7px;border-radius:2px;background:#fff; transform:translateX(-50%); animation: sd 1.6s infinite; }
@keyframes sd { 0%{opacity:0;transform:translate(-50%,0);} 40%{opacity:1;} 80%{opacity:0;transform:translate(-50%,10px);} }

/* ---- Trust bar ---- */
.trust { background: var(--plum-900); color:#fff; }
.trust__row { display:flex; flex-wrap:wrap; gap: 8px 0; justify-content:space-between; padding: 26px 0; }
.trust__item { display:flex; align-items:center; gap:11px; flex: 1 1 auto; justify-content:center; padding: 6px 14px; }
.trust__item + .trust__item { border-left: 1px solid rgba(255,255,255,.13); }
.trust__item svg { width:22px;height:22px;color:var(--gold); flex:none; }
.trust__item b { font-family:var(--f-display); font-weight:600; font-size:19px; display:block; line-height:1.1; }
.trust__item small { font-family:var(--f-btn); font-size:11.5px; color:#cbb1cd; letter-spacing:.03em; }

/* ---- Destinations ---- */
.dest { position:relative; border-radius: var(--r-lg); overflow:hidden; box-shadow: var(--sh-sm); border:1px solid var(--line); display:block;
  transition: transform .25s ease, box-shadow .25s ease; }
.dest:hover { transform: translateY(-5px); box-shadow: var(--sh-md); }
.dest .img-slot,.dest img { width:100%; height:300px; object-fit:cover; border-radius:0; display:block; }
.dest__grad { position:absolute; inset:0; background: linear-gradient(180deg, rgba(40,15,44,0) 40%, rgba(40,15,44,.82)); z-index:1; pointer-events:none; }
.dest__body { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:20px; color:#fff; }
.dest__body h3 { color:#fff; font-size:1.4rem; }
.dest__meta { display:flex; gap:14px; font-family:var(--f-btn); font-size:12.5px; color:rgba(255,255,255,.85); margin-top:6px; }
.dest__meta b { color:var(--gold); }
.dest-grid { display:grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 300px; gap: 20px; }
.dest-grid .dest--feature { grid-column: span 2; grid-row: span 2; }
.dest-grid .dest--feature .img-slot,.dest-grid .dest--feature img { height:100%; min-height:300px; }
@media (max-width: 900px){ .dest-grid { grid-template-columns: repeat(2,1fr); } .dest-grid .dest--feature { grid-column: span 2; grid-row: span 1; } }
@media (max-width: 560px){ .dest-grid { grid-template-columns: 1fr; } }

/* ---- Package card ---- */
.pkg__body { padding: 18px 18px 20px; }
.pkg__loc { display:flex; align-items:center; gap:6px; font-family:var(--f-btn); font-size:12.5px; color:var(--muted); }
.pkg__loc svg { width:14px;height:14px;color:var(--gold-600); }
.pkg h3 { font-size: 1.22rem; margin: 8px 0 12px; }
.pkg__meta { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.pkg__foot { display:flex; align-items:flex-end; justify-content:space-between; border-top:1px solid var(--line); padding-top:14px; }
.pkg__price small { font-family:var(--f-btn); font-size:11px; color:var(--muted); display:block; }
.pkg__price b { font-family:var(--f-display); font-weight:600; font-size:1.45rem; color:var(--plum); }
.pkg__price s { font-size:13px; color:var(--muted); margin-left:6px; font-family:var(--f-body); }
.pkg__price span { font-family:var(--f-btn); font-size:12px; color:var(--ink-2); }
.pkg__rating { display:flex; align-items:center; gap:5px; font-family:var(--f-btn); font-size:13px; font-weight:600; }

/* ---- Why ---- */
.why { display:grid; grid-template-columns: 1.1fr 1fr; gap: 54px; align-items:center; }
.why__media { position:relative; }
.why__media .img-slot,.why__media img { width:100%; height:480px; object-fit:cover; border-radius: var(--r-xl); }
.why__badge { position:absolute; bottom:-22px; left:-22px; background:#fff; border-radius: var(--r-lg); box-shadow: var(--sh-lg); padding:20px 24px; display:flex; align-items:center; gap:16px; }
.why__badge b { font-family:var(--f-display); font-size:2rem; color:var(--plum); line-height:1; }
.why__badge small { font-family:var(--f-btn); font-size:12.5px; color:var(--ink-2); }
.why__list { display:grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; margin-top: 30px; }
.why__item { display:flex; gap:14px; }
.why__ic { width:44px;height:44px;border-radius:13px; flex:none; background:var(--plum-tint); color:var(--plum); display:grid;place-items:center; }
.why__ic svg { width:22px;height:22px; }
.why__item h4 { font-family:var(--f-btn); font-weight:600; font-size:15px; margin-bottom:3px; }
.why__item p { font-size:13.5px; color:var(--ink-2); }
@media (max-width:820px){ .why { grid-template-columns:1fr; gap:40px; } .why__media .img-slot,.why__media img{height:340px;} }

/* ---- Testimonials ---- */
.tsl { display:grid; grid-template-columns: repeat(3,1fr); gap:24px; }
.tst { background:#fff; border:1px solid var(--line); border-radius: var(--r-lg); padding: 26px; box-shadow: var(--sh-sm); display:flex; flex-direction:column; }
.tst__q { font-family: var(--f-serif); font-size: 1.18rem; line-height:1.5; color:var(--ink); font-style:italic; margin-bottom:18px; flex:1; }
.tst__by { display:flex; align-items:center; gap:12px; border-top:1px solid var(--line); padding-top:16px; }
.tst__by .img-slot,.tst__by img { width:46px; height:46px; border-radius:50%; object-fit:cover; flex:none; }
.tst__by b { font-family:var(--f-btn); font-weight:600; font-size:14px; display:block; }
.tst__by small { font-size:12px; color:var(--muted); }
@media (max-width:820px){ .tsl { grid-template-columns:1fr; } }

/* ---- Blogs ---- */
.blog__thumb .img-slot,.blog__thumb img { width:100%; height:200px; object-fit:cover; border-radius:0; display:block; }
.blog__body { padding:18px; }
.blog__meta { display:flex; gap:10px; font-family:var(--f-btn); font-size:11.5px; color:var(--muted); margin-bottom:9px; }
.blog h3 { font-size:1.15rem; margin-bottom:8px; }
.blog p { font-size:13.5px; color:var(--ink-2); }

/* ---- Newsletter ---- */
.news { position:relative; border-radius: var(--r-xl); overflow:hidden; }
.news__bg { position:absolute; inset:0; z-index:0; }
.news__bg .img-slot,.news__bg img { width:100%;height:100%;object-fit:cover;border-radius:0; }
.news__scrim { position:absolute; inset:0; z-index:1; background: linear-gradient(120deg, rgba(63,16,53,.94), rgba(102,26,86,.78)); }
.news__in { position:relative; z-index:2; padding: 66px 48px; text-align:center; color:#fff; }
.news__in h2 { color:#fff; }
.news__form { display:flex; gap:10px; max-width:460px; margin: 26px auto 0; }
.news__form input { flex:1; border:1px solid rgba(255,255,255,.4); background:rgba(255,255,255,.14); color:#fff; border-radius:var(--r-pill); padding:15px 20px; font-family:var(--f-body); font-size:15px; }
.news__form input::placeholder { color:rgba(255,255,255,.7); }
.news__form input:focus { outline:none; border-color:var(--gold); background:rgba(255,255,255,.2); }
@media (max-width:560px){ .news__in { padding:44px 22px; } .news__form { flex-direction:column; } }

/* Hide Astra page title/header on our rendered pages */
.azees-page .entry-header,.azees-page .entry-title,.azees-page .ast-single-post-order,.azees-page .post-meta{display:none!important}

/* ===================== TOUR PACKAGES ===================== */
.searchbar { max-width:var(--maxw); margin:-28px auto 0; padding:0 24px; position:relative; z-index:5; }
.searchbar__in { background:#fff; border-radius:var(--r-lg); box-shadow:var(--sh-md); padding:10px 10px 10px 20px; display:flex; align-items:center; gap:12px; border:1px solid var(--line); }
.searchbar input { flex:1; border:0; font-family:var(--f-body); font-size:16px; color:var(--ink); padding:12px 0; }
.searchbar input:focus { outline:none; }
.searchbar svg { width:20px;height:20px;color:var(--gold-600); }
.layout { display:grid; grid-template-columns: 260px 1fr; gap:34px; align-items:start; }
.filters { position:sticky; top:88px; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:22px; box-shadow:var(--sh-sm); }
.filters h4 { font-family:var(--f-btn); font-weight:600; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:22px 0 12px; }
.filters h4:first-of-type { margin-top:0; }
.fchips { display:flex; flex-wrap:wrap; gap:8px; }
.fchip { font-family:var(--f-btn); font-weight:500; font-size:13px; padding:8px 13px; border-radius:var(--r-pill); border:1px solid var(--line-2); background:#fff; color:var(--ink-2); cursor:pointer; transition:all .15s ease; }
.fchip:hover { border-color:var(--plum); color:var(--plum); }
.fchip.is-on { background:var(--plum); color:#fff; border-color:var(--plum); }
.results-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:12px; }
.results-head b { font-family:var(--f-display); font-weight:600; font-size:1.2rem; }
.results-head b span { color:var(--gold-600); }
.sortsel { font-family:var(--f-btn); font-size:14px; border:1px solid var(--line-2); border-radius:var(--r-pill); padding:10px 16px; background:#fff; color:var(--ink); cursor:pointer; }
.mobile-filter-btn { display:none; }
.dest-rail{ display:flex; gap:10px; flex-wrap:wrap; }
.dest-rail a{ font-family:var(--f-btn); font-weight:500; font-size:14px; padding:10px 18px; border-radius:var(--r-pill); border:1px solid var(--line-2); background:#fff; color:var(--ink); box-shadow:var(--sh-sm); transition:all .15s ease; }
.dest-rail a:hover{ border-color:var(--plum); color:var(--plum); transform:translateY(-2px); }
.empty { text-align:center; padding:60px 20px; color:var(--muted); font-family:var(--f-btn); }
@media (max-width:860px){
  .layout { grid-template-columns:1fr; }
  .filters { display:none; }
  .filters.is-open { display:block; position:fixed; inset:0; z-index:150; border-radius:0; overflow-y:auto; }
  .mobile-filter-btn { display:inline-flex; }
}

/* ===================== GROUP TOURS ===================== */
.gt-filters{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; }
.gt-fchip{ font-family:var(--f-btn); font-weight:500; font-size:13.5px; padding:9px 16px; border-radius:var(--r-pill); border:1px solid var(--line-2); background:#fff; color:var(--ink-2); cursor:pointer; transition:all .15s ease; }
.gt-fchip:hover{ border-color:var(--plum); color:var(--plum); }
.gt-fchip.is-on{ background:var(--plum); color:#fff; border-color:var(--plum); }
.dep{ display:grid; grid-template-columns:210px 1fr 260px; gap:0; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-sm); margin-bottom:20px; transition:box-shadow .2s ease; }
.dep:hover{ box-shadow:var(--sh-md); }
.dep__media{ position:relative; }
.dep__media .img-slot,.dep__media img{ width:100%; height:100%; min-height:200px; object-fit:cover; border-radius:0; display:block; }
.dep__date{ position:absolute; top:12px; left:12px; background:#fff; border-radius:12px; padding:8px 12px; text-align:center; box-shadow:var(--sh-sm); font-family:var(--f-btn); }
.dep__date b{ display:block; font-family:var(--f-display); font-size:1.5rem; color:var(--plum); line-height:1; }
.dep__date small{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-600); }
.dep__body{ padding:22px; }
.dep__body h3{ font-size:1.3rem; margin-bottom:6px; }
.dep__loc{ display:flex; align-items:center; gap:6px; font-family:var(--f-btn); font-size:13px; color:var(--muted); margin-bottom:12px; }
.dep__loc svg{width:14px;height:14px;color:var(--gold-600);}
.dep__meta{ display:flex; gap:8px; flex-wrap:wrap; }
.dep__side{ background:var(--bg-soft); border-left:1px solid var(--line); padding:22px; display:flex; flex-direction:column; justify-content:center; gap:12px; }
.countdown{ display:flex; gap:6px; }
.cd{ background:var(--plum-900); color:#fff; border-radius:10px; padding:8px 4px; text-align:center; flex:1; font-family:var(--f-btn); }
.cd b{ display:block; font-family:var(--f-display); font-size:1.35rem; line-height:1; }
.cd small{ font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); }
.seats{ font-family:var(--f-btn); font-size:12.5px; color:var(--ink-2); display:flex; align-items:center; gap:7px; }
.seats .bar{ flex:1; height:6px; border-radius:99px; background:var(--line-2); overflow:hidden; }
.seats .bar i{ display:block; height:100%; background:linear-gradient(90deg,var(--gold),var(--plum)); }
.dep__price b{ font-family:var(--f-display); font-weight:600; font-size:1.5rem; color:var(--plum); }
.dep__price small{ font-family:var(--f-btn); font-size:11px; color:var(--muted); display:block; }
@media (max-width:860px){ .dep{ grid-template-columns:1fr; } .dep__media .img-slot,.dep__media img{height:180px;min-height:0;} .dep__side{border-left:0;border-top:1px solid var(--line);} }

/* ===================== FAQ PAGE ===================== */
.faq-layout{ display:grid; grid-template-columns:220px 1fr; gap:44px; align-items:start; }
.faq-nav{ position:sticky; top:90px; display:flex; flex-direction:column; gap:4px; }
.faq-nav a{ font-family:var(--f-btn); font-size:14px; color:var(--ink-2); padding:9px 13px; border-radius:10px; }
.faq-nav a:hover, .faq-nav a.is-on{ background:var(--plum-tint); color:var(--plum); }
@media (max-width:820px){ .faq-layout{grid-template-columns:1fr;} .faq-nav{position:static;flex-direction:row;flex-wrap:wrap;margin-bottom:20px;} }
.faq-group{ margin-bottom:40px; scroll-margin-top:100px; }
.faq-group h2{ font-size:1.4rem; margin-bottom:14px; }
.faq{border-bottom:1px solid var(--line);}
.faq__q{width:100%;text-align:left;background:none;border:0;padding:18px 0;font-family:var(--f-btn);font-weight:600;font-size:15.5px;color:var(--ink);display:flex;justify-content:space-between;gap:14px;cursor:pointer;}
.faq__q svg{width:20px;height:20px;color:var(--plum);flex:none;transition:transform .25s ease;}
.faq.is-open .faq__q svg{transform:rotate(45deg);}
.faq__a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq.is-open .faq__a{max-height:340px;}
.faq__a p{font-size:14.5px;color:var(--ink-2);padding-bottom:18px;line-height:1.7;}

/* ===================== ABOUT PAGE ===================== */
.story { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }
.story .img-slot{ width:100%; height:440px; border-radius:var(--r-xl); }
@media (max-width:820px){ .story{grid-template-columns:1fr;gap:34px;} .story .img-slot{height:320px;} }
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.stat{ text-align:center; padding:30px 16px; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-sm); }
.stat b{ font-family:var(--f-display); font-weight:600; font-size:2.6rem; color:var(--plum); line-height:1; display:block; }
.stat small{ font-family:var(--f-btn); font-size:13px; color:var(--ink-2); margin-top:8px; display:block; }
@media (max-width:560px){ .stats{grid-template-columns:1fr 1fr;} }
.mvv{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.mvv .card{ padding:30px; }
.mvv .ic{ width:52px;height:52px;border-radius:15px;background:var(--plum-tint);color:var(--plum);display:grid;place-items:center;margin-bottom:16px; }
.mvv .ic svg{width:26px;height:26px;}
.mvv h3{ font-size:1.3rem; margin-bottom:8px; }
.mvv p{ color:var(--ink-2); font-size:14.5px; }
@media (max-width:820px){ .mvv{grid-template-columns:1fr;} }
.timeline{ max-width:760px; margin:0 auto; position:relative; }
.timeline::before{ content:""; position:absolute; left:18px; top:8px; bottom:8px; width:2px; background:var(--line-2); }
.tl{ display:flex; gap:24px; padding-bottom:34px; position:relative; }
.tl__dot{ width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--plum),var(--plum-900));color:var(--gold);display:grid;place-items:center;flex:none;font-family:var(--f-btn);font-weight:600;font-size:12px;z-index:1; box-shadow:0 0 0 5px var(--bg); }
.tl__yr{ font-family:var(--f-display); font-weight:600; color:var(--plum); font-size:1.15rem; }
.tl__body h4{ font-family:var(--f-btn); font-weight:600; font-size:15.5px; margin:2px 0 5px; }
.tl__body p{ color:var(--ink-2); font-size:14px; }
.team{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.team .card{ text-align:center; padding-bottom:20px; }
.team .img-slot{ width:100%; height:230px; border-radius:0; }
.team h4{ font-family:var(--f-btn); font-weight:600; font-size:16px; margin:16px 0 2px; }
.team small{ color:var(--gold-600); font-family:var(--f-btn); font-size:12.5px; letter-spacing:.05em; }
@media (max-width:820px){ .team{grid-template-columns:1fr 1fr;} }

/* ===================== FOUNDER PAGE ===================== */
.fhero{ display:grid; grid-template-columns:0.85fr 1fr; gap:54px; align-items:center; }
.fhero__portrait{ position:relative; }
.fhero__portrait .img-slot{ width:100%; height:520px; border-radius:var(--r-xl); }
.fhero__badge{ position:absolute; bottom:-18px; right:-18px; background:var(--gold); color:#3a2e12; border-radius:var(--r-lg); padding:16px 20px; box-shadow:var(--sh-lg); font-family:var(--f-btn); font-weight:600; text-align:center; }
.fhero__badge b{ font-family:var(--f-display); font-size:1.8rem; display:block; line-height:1; }
.fhero__socials{ display:flex; gap:10px; margin-top:24px; }
.fhero__socials a{ width:44px;height:44px;border-radius:12px;background:var(--plum-tint);color:var(--plum);display:grid;place-items:center; transition:all .15s ease; }
.fhero__socials a:hover{ background:var(--plum); color:#fff; }
.fhero__socials svg{width:20px;height:20px;}
@media (max-width:860px){ .fhero{grid-template-columns:1fr;gap:40px;} .fhero__portrait .img-slot{height:400px;} }
.quote{ background:var(--plum-900); color:#fff; border-radius:var(--r-xl); padding:60px; text-align:center; position:relative; overflow:hidden; }
.quote::before{ content:'“'; position:absolute; top:-20px; left:30px; font-family:var(--f-display); font-size:12rem; color:rgba(186,156,98,.2); line-height:1; }
.quote p{ font-family:var(--f-serif); font-style:italic; font-size:clamp(1.4rem,3vw,2rem); line-height:1.45; color:#fff; max-width:32ch; margin:0 auto; position:relative; }
.quote small{ display:block; margin-top:24px; font-family:var(--f-btn); font-weight:600; color:var(--gold); letter-spacing:.05em; }
@media (max-width:560px){ .quote{padding:40px 24px;} }
.jour{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.jour .card{ padding:28px; }
.jour .n{ font-family:var(--f-display); font-weight:600; color:var(--gold); font-size:1.6rem; }
.jour h4{ font-family:var(--f-btn); font-weight:600; font-size:16px; margin:8px 0 6px; }
.jour p{ color:var(--ink-2); font-size:14px; }
@media (max-width:820px){ .jour{grid-template-columns:1fr;} }
.fgallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.fgallery .img-slot{ width:100%; height:180px; border-radius:var(--r-md); }
@media (max-width:640px){ .fgallery{grid-template-columns:1fr 1fr;} }

/* ===================== CONTACT PAGE ===================== */
.c-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-34px;position:relative;z-index:5;}
.c-quick a{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:22px;display:flex;gap:15px;align-items:center;transition:transform .2s ease,box-shadow .2s ease;}
.c-quick a:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);}
.c-quick .ic{width:50px;height:50px;border-radius:15px;flex:none;display:grid;place-items:center;color:#fff;}
.c-quick .ic svg{width:24px;height:24px;}
.c-quick .ic--wa{background:var(--plum);} .c-quick .ic--ph{background:var(--plum);} .c-quick .ic--mail{background:var(--gold);}
.c-quick small{font-family:var(--f-btn);font-size:12px;color:var(--muted);display:block;}
.c-quick b{font-family:var(--f-btn);font-weight:600;font-size:15.5px;color:var(--ink);}
@media (max-width:820px){.c-quick{grid-template-columns:1fr;}}
.c-layout{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;margin-top:14px;}
@media (max-width:860px){.c-layout{grid-template-columns:1fr;}}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:30px;}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{margin-bottom:16px;}
.field.full{grid-column:span 2;}
.field label{font-family:var(--f-btn);font-weight:500;font-size:12.5px;color:var(--ink-2);display:block;margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;font-family:var(--f-body);font-size:14.5px;color:var(--ink);background:#fff;}
.field textarea{resize:vertical;min-height:110px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 3px rgba(124,35,106,.1);}
.check{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink-2);margin:4px 0 20px;}
.check input{width:auto;margin-top:2px;}
@media (max-width:560px){.fgrid{grid-template-columns:1fr;} .field.full{grid-column:span 1;}}
.office{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;margin-bottom:18px;}
.office h3{font-size:1.25rem;display:flex;align-items:center;gap:9px;}
.office h3 .flag{font-size:1.1rem;}
.office__rows{margin-top:14px;display:flex;flex-direction:column;gap:11px;}
.orow{display:flex;gap:11px;font-size:14px;color:var(--ink-2);align-items:flex-start;}
.orow svg{width:18px;height:18px;color:var(--plum);flex:none;margin-top:2px;}
.orow a{font-weight:500;}
.map{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);height:230px;position:relative;box-shadow:var(--sh-sm);}
.map .img-slot{width:100%;height:100%;border-radius:0;}
.map__pin{position:absolute;inset:0;display:grid;place-items:center;z-index:2;pointer-events:none;}
.map__pin span{background:#fff;padding:9px 15px;border-radius:var(--r-pill);box-shadow:var(--sh-md);font-family:var(--f-btn);font-weight:600;font-size:13px;color:var(--plum);display:flex;align-items:center;gap:7px;}
.map__pin svg{width:16px;height:16px;color:var(--gold-600);}
.hours{display:flex;justify-content:space-between;font-size:13.5px;padding:7px 0;border-bottom:1px solid var(--line);font-family:var(--f-btn);}
.hours:last-child{border-bottom:0;} .hours b{color:var(--ink);font-weight:600;} .hours span{color:var(--ink-2);}

/* ===================== REVIEWS PAGE ===================== */
.rv-summary{ display:grid; grid-template-columns:auto 1fr auto; gap:40px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:34px; box-shadow:var(--sh-sm); }
.rv-big{ text-align:center; }
.rv-big b{ font-family:var(--f-display); font-weight:600; font-size:4rem; color:var(--plum); line-height:1; }
.rv-bars{ display:flex; flex-direction:column; gap:7px; }
.rv-bar{ display:flex; align-items:center; gap:10px; font-family:var(--f-btn); font-size:12.5px; color:var(--ink-2); }
.rv-bar .bar{ flex:1; height:7px; border-radius:99px; background:var(--line-2); overflow:hidden; }
.rv-bar .bar i{ display:block; height:100%; background:var(--gold); }
.rv-src{ text-align:center; }
.rv-src svg{ width:40px; height:40px; }
.rv-src small{ display:block; font-family:var(--f-btn); font-size:12px; color:var(--muted); margin-top:6px; }
@media (max-width:820px){ .rv-summary{grid-template-columns:1fr;gap:24px;text-align:center;} .rv-src{border-top:1px solid var(--line);padding-top:20px;} }
.filter-rail{ display:flex; gap:8px; flex-wrap:wrap; margin:34px 0 26px; }
.frb{ font-family:var(--f-btn); font-weight:500; font-size:13.5px; padding:9px 16px; border-radius:var(--r-pill); border:1px solid var(--line-2); background:#fff; color:var(--ink-2); cursor:pointer; }
.frb:hover{ border-color:var(--plum); color:var(--plum); }
.frb.is-on{ background:var(--plum); color:#fff; border-color:var(--plum); }
.rv-masonry{ columns:3; column-gap:22px; }
@media (max-width:900px){ .rv-masonry{columns:2;} }
@media (max-width:600px){ .rv-masonry{columns:1;} }
.rv-card{ break-inside:avoid; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:24px; box-shadow:var(--sh-sm); margin-bottom:22px; }
.rv-card .stars{ margin-bottom:12px; }
.rv-card p{ font-family:var(--f-serif); font-style:italic; font-size:1.1rem; color:var(--ink); line-height:1.5; margin-bottom:16px; }
.rv-card .rv-photo{ width:100%; height:170px; border-radius:var(--r-md); margin-bottom:16px; display:block; }
.rv-by{ display:flex; align-items:center; gap:12px; border-top:1px solid var(--line); padding-top:14px; }
.rv-by .img-slot{ width:44px; height:44px; border-radius:50%; flex:none; }
.rv-by b{ font-family:var(--f-btn); font-weight:600; font-size:14px; display:block; }
.rv-by small{ color:var(--muted); font-size:12px; }
.vid{ position:relative; }
.vid .play{ position:absolute; inset:0; display:grid; place-items:center; z-index:2; }
.vid .play span{ width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;box-shadow:var(--sh-md); }
.vid .play svg{ width:22px;height:22px;color:var(--plum);margin-left:3px; }

/* ===================== HONEYMOON PAGE ===================== */
.hm-hero{ position:relative; min-height:74vh; display:flex; align-items:flex-end; overflow:hidden; }
.hm-hero .img-slot{ position:absolute; inset:0; width:100%; height:100%; border-radius:0; z-index:0; }
.hm-hero__scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(63,16,53,.45),rgba(63,16,53,.2) 40%,rgba(63,16,53,.82)); }
.hm-hero__in{ position:relative; z-index:2; color:#fff; padding-bottom:60px; max-width:var(--maxw); margin:0 auto; padding-left:24px; padding-right:24px; width:100%; }
.hm-hero h1{ color:#fff; font-size:clamp(2.2rem,5vw,3.4rem); max-width:16ch; }
.hm-hero h1 em{ font-style:italic; font-family:var(--f-serif); color:var(--gold); }
.hm-hero p{ color:rgba(255,255,255,.9); font-size:1.15rem; max-width:44ch; margin:18px 0 28px; }
.exp{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.exp .card{ overflow:hidden; }
.exp .img-slot{ width:100%; height:220px; border-radius:0; }
.exp__b{ padding:22px; }
.exp__b h3{ font-size:1.3rem; margin-bottom:8px; }
.exp__b p{ color:var(--ink-2); font-size:14px; }
@media (max-width:820px){ .exp{grid-template-columns:1fr;} }
.romantic{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.romantic .r{ display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:22px; box-shadow:var(--sh-sm); }
.romantic .ic{ width:44px;height:44px;border-radius:13px;background:var(--gold-tint);color:var(--gold-600);display:grid;place-items:center;flex:none; }
.romantic .ic svg{width:22px;height:22px;}
.romantic h4{ font-family:var(--f-btn);font-weight:600;font-size:15px;margin-bottom:4px; }
.romantic p{ color:var(--ink-2); font-size:13.5px; }
@media (max-width:640px){ .romantic{grid-template-columns:1fr;} }
.hm-pkg{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:820px){ .hm-pkg{grid-template-columns:1fr;} }
.gallery-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.gallery-strip .img-slot{ width:100%; height:200px; border-radius:var(--r-md); }
@media (max-width:640px){ .gallery-strip{grid-template-columns:1fr 1fr;} }

/* ===================== GALLERY PAGE ===================== */
.gfilter,.rl-filter{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; }
.gfb,.rlb{ font-family:var(--f-btn); font-weight:500; font-size:13.5px; padding:9px 16px; border-radius:var(--r-pill); border:1px solid var(--line-2); background:#fff; color:var(--ink-2); cursor:pointer; }
.gfb:hover,.rlb:hover{ border-color:var(--plum); color:var(--plum); }
.gfb.is-on,.rlb.is-on{ background:var(--plum); color:#fff; border-color:var(--plum); }
.masonry{ columns:4; column-gap:14px; }
@media (max-width:1000px){ .masonry{columns:3;} }
@media (max-width:700px){ .masonry{columns:2;} }
.gitem{ break-inside:avoid; margin-bottom:14px; position:relative; border-radius:var(--r-md); overflow:hidden; }
.gitem .img-slot{ width:100%; border-radius:0; display:block; }
.gitem .cap{ position:absolute; left:0; right:0; bottom:0; padding:14px; background:linear-gradient(transparent,rgba(63,16,53,.8)); color:#fff; font-family:var(--f-btn); font-size:13px; opacity:0; transition:opacity .2s ease; z-index:2; }
.gitem:hover .cap{ opacity:1; }

/* ===================== REELS PAGE ===================== */
.reels{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media (max-width:900px){ .reels{grid-template-columns:repeat(3,1fr);} }
@media (max-width:640px){ .reels{grid-template-columns:repeat(2,1fr);} }
.reel{ position:relative; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-sm); cursor:pointer; transition:transform .2s ease, box-shadow .2s ease; }
.reel:hover{ transform:translateY(-4px); box-shadow:var(--sh-md); }
.reel .img-slot{ width:100%; aspect-ratio:9/16; border-radius:0; display:block; }
.reel__grad{ position:absolute; inset:0; background:linear-gradient(transparent 55%,rgba(63,16,53,.85)); z-index:1; pointer-events:none; }
.reel__play{ position:absolute; top:14px; right:14px; z-index:2; width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center; }
.reel__play svg{ width:16px;height:16px;color:var(--plum);margin-left:2px; }
.reel__b{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:16px; color:#fff; }
.reel__b b{ font-family:var(--f-btn); font-weight:600; font-size:14px; display:block; }
.reel__b span{ font-family:var(--f-btn); font-size:11.5px; color:rgba(255,255,255,.8); display:flex; align-items:center; gap:5px; margin-top:4px; }
.reel__b svg{ width:13px;height:13px; }
.reel__tag{ position:absolute; top:14px; left:14px; z-index:2; background:rgba(255,255,255,.9); color:var(--plum); font-family:var(--f-btn); font-weight:600; font-size:10.5px; padding:4px 9px; border-radius:99px; }
.lb{ position:fixed; inset:0; z-index:300; background:rgba(30,10,34,.9); display:none; place-items:center; padding:20px; }
.lb.on{ display:grid; }
.lb__inner{ width:min(340px,90vw); aspect-ratio:9/16; background:#000; border-radius:var(--r-lg); position:relative; overflow:hidden; display:grid; place-items:center; color:#fff; }
.lb__inner .img-slot{ width:100%; height:100%; border-radius:0; }
.lb__note{ position:absolute; bottom:20px; left:0; right:0; text-align:center; font-family:var(--f-btn); font-size:13px; color:rgba(255,255,255,.85); z-index:2; }
.lb__close{ position:absolute; top:14px; right:14px; z-index:5; width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.15);border:0;color:#fff;cursor:pointer; }

/* ===================== BLOG PAGE ===================== */
.feat{ display:grid; grid-template-columns:1.3fr 1fr; gap:0; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-sm); margin-bottom:44px; }
.feat .img-slot,.feat img{ width:100%; height:100%; min-height:320px; object-fit:cover; border-radius:0; }
.feat__b{ padding:38px; display:flex; flex-direction:column; justify-content:center; }
.feat__b h2{ font-size:clamp(1.6rem,3vw,2.2rem); margin:12px 0 12px; }
.feat__b p{ color:var(--ink-2); margin-bottom:20px; }
@media (max-width:860px){ .feat{grid-template-columns:1fr;} .feat .img-slot,.feat img{min-height:220px;} .feat__b{padding:26px;} }
.cat-rail{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:30px; }
.cat{ font-family:var(--f-btn); font-weight:500; font-size:13.5px; padding:9px 16px; border-radius:var(--r-pill); border:1px solid var(--line-2); background:#fff; color:var(--ink-2); cursor:pointer; transition:all .15s ease; }
.cat:hover{ border-color:var(--plum); color:var(--plum); }
.cat.is-on{ background:var(--plum); color:#fff; border-color:var(--plum); }
.blog__thumb .img-slot,.blog__thumb img{ width:100%; height:200px; object-fit:cover; border-radius:0; display:block; }

/* ----- Fix: real uploaded <img> must fill hero/portrait containers (not just .img-slot placeholders) ----- */
.hm-hero .img-slot, .hm-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:0; z-index:0; }
.story .img-slot, .story img{ width:100%; height:440px; object-fit:cover; border-radius:var(--r-xl); display:block; }
@media (max-width:820px){ .story .img-slot, .story img{ height:320px; } }
.fhero__portrait .img-slot, .fhero__portrait img{ width:100%; height:520px; object-fit:cover; border-radius:var(--r-xl); display:block; }
@media (max-width:860px){ .fhero__portrait .img-slot, .fhero__portrait img{ height:400px; } }
.exp .img-slot, .exp img{ width:100%; height:220px; object-fit:cover; display:block; }
.gallery-strip .img-slot, .gallery-strip img{ width:100%; height:200px; object-fit:cover; border-radius:var(--r-md); display:block; }
.team .img-slot, .team img{ width:100%; height:230px; object-fit:cover; display:block; }

/* ===================== BLOG ARTICLE (single post) ===================== */
.post-meta-row{ display:flex; gap:14px; align-items:center; font-family:var(--f-btn); font-size:13.5px; color:var(--ink-2); margin-bottom:26px; flex-wrap:wrap; }
.post-hero .img-slot,.post-hero img{ width:100%; height:420px; object-fit:cover; border-radius:var(--r-xl); display:block; }
@media (max-width:640px){ .post-hero .img-slot,.post-hero img{ height:240px; } }
.post-layout{ display:grid; grid-template-columns:230px 1fr; gap:44px; align-items:start; }
.toc{ position:sticky; top:90px; }
.toc h5{ font-family:var(--f-btn); font-weight:600; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 12px; }
.toc a{ display:block; font-family:var(--f-btn); font-size:13.5px; color:var(--ink-2); padding:6px 0 6px 12px; border-left:2px solid var(--line-2); }
.toc a:hover,.toc a.is-on{ color:var(--plum); border-color:var(--plum); }
.toc-cta{ margin-top:24px; background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--r-lg); padding:18px; }
.toc-cta b{ font-family:var(--f-btn); font-weight:600; font-size:14px; display:block; }
.toc-cta p{ font-size:12.5px; color:var(--ink-2); margin:6px 0 12px; }
@media (max-width:820px){ .post-layout{ grid-template-columns:1fr; } .toc{ position:static; } .toc-cta{ display:none; } }

/* Editorial prose rhythm */
.prose > p:first-of-type{ font-size:17.5px; color:var(--ink); line-height:1.75; }
.prose h2{ font-family:var(--f-display); font-size:1.7rem; color:var(--ink); margin:44px 0 14px; scroll-margin-top:110px; }
.prose h3{ font-family:var(--f-btn); font-weight:600; font-size:1.12rem; margin:28px 0 8px; }
.prose img{ width:100%; border-radius:var(--r-lg); margin:26px 0; }
.prose blockquote,.pullquote{ font-family:var(--f-serif); font-style:italic; font-size:1.5rem; color:var(--plum); border-left:3px solid var(--gold); padding-left:22px; margin:28px 0; line-height:1.45; }
.prose table{ width:100%; border-collapse:collapse; margin:24px 0; font-size:14.5px; }
.prose th,.prose td{ border:1px solid var(--line); padding:10px 12px; text-align:left; }
.prose th{ background:var(--plum); color:#fff; font-family:var(--f-btn); font-weight:600; font-size:13px; }
.prose tr:nth-child(even) td{ background:var(--bg-soft); }
.post-inline .img-slot,.post-inline img{ width:100%; height:280px; object-fit:cover; border-radius:var(--r-lg); margin:26px 0; }

.share{ display:flex; gap:8px; align-items:center; margin:36px 0 0; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.share span{ font-family:var(--f-btn); font-size:13px; color:var(--muted); margin-right:4px; }
.share a{ width:38px;height:38px;border-radius:10px;background:var(--plum-tint);color:var(--plum);display:grid;place-items:center; }
.share a:hover{ background:var(--plum); color:#fff; }
.share svg{ width:17px;height:17px; }
.author-box{ display:flex; gap:16px; align-items:center; background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--r-lg); padding:22px; margin-top:36px; }
.author-box .img-slot,.author-box img{ width:60px; height:60px; border-radius:50%; object-fit:cover; flex:none; }
.author-box b{ font-family:var(--f-btn); font-weight:600; }
.author-box small{ color:var(--muted); font-size:13px; }

/* ===================== BLOG LISTING — magazine layout ===================== */
.blog-layout{ display:grid; grid-template-columns:1fr 300px; gap:44px; align-items:start; }
@media (max-width:960px){ .blog-layout{ grid-template-columns:1fr; } }
.blog-side{ position:sticky; top:90px; display:flex; flex-direction:column; gap:18px; }
@media (max-width:960px){ .blog-side{ position:static; } }
.side-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:22px; box-shadow:var(--sh-sm); }
.side-card h4{ font-family:var(--f-btn); font-weight:600; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 14px; }
.side-list{ display:flex; flex-direction:column; gap:14px; }
.side-post{ display:flex; gap:12px; align-items:flex-start; }
.side-post .img-slot,.side-post img{ width:64px; height:56px; border-radius:10px; object-fit:cover; flex:none; }
.side-post b{ font-family:var(--f-btn); font-weight:600; font-size:13.5px; color:var(--ink); line-height:1.35; display:block; }
.side-post small{ color:var(--muted); font-size:11.5px; }
.side-post:hover b{ color:var(--plum); }
.side-links{ display:flex; flex-wrap:wrap; gap:7px; }
.side-links a{ font-family:var(--f-btn); font-size:12.5px; padding:6px 12px; border-radius:var(--r-pill); border:1px solid var(--line-2); color:var(--ink-2); }
.side-links a:hover{ border-color:var(--plum); color:var(--plum); }
.side-cta{ background:linear-gradient(135deg,var(--plum),var(--plum-900)); color:#fff; border:0; }
.side-cta h4{ color:var(--gold); }
.side-cta p{ font-size:13px; color:rgba(255,255,255,.85); margin-bottom:14px; }
.blog-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media (max-width:640px){ .blog-grid{ grid-template-columns:1fr; } }
