/* ==========================================================================
   Himalayan Hiking — front-end styles
   A printed-guidebook feel: paper, ink, hairline rules, square corners,
   captions under photos, and the odd handwritten note.
   ========================================================================== */

:root {
    --ink:        #1c1b1f;
    --ink-soft:   #3a3a3e;
    --muted:      #5c5c61;
    --pine:       #1c1b1f;
    --pine-700:   #000000;
    --pine-900:   #151417;
    --pine-50:    #f1f1f1;
    --moss:       #11846c;
    --saffron:    #11846c;   /* jungle teal: buttons and icons (white text on it passes 4.5:1) */
    --saffron-600:#0d6b58;   /* darker teal: hover, small text on white */
    --saffron-50: #e3f3ef;   /* teal tint: icon tiles, badges */
    --green-bright: #4cc3a4; /* light teal for text and icons on dark backgrounds */
    --coral:      #e0513f;   /* logo coral: lines, dots, large accents */
    --coral-600:  #c0392b;   /* coral dark enough for small text on white */
    --coral-50:   #fdeeeb;
    --sand:       #f6f1e7;   /* warm background for alternating sections */
    --paper:      #ffffff;
    --paper-2:    #f5f5f5;
    --card:       #ffffff;
    --rule:       #e3e3e3;
    --rule-soft:  #eeeeee;
    --danger:     #a3402b;
    --ok:         #3d6b45;

    --font-display: 'Oswald', 'Arial Narrow', sans-serif;
    --font-text:    'Heebo', system-ui, -apple-system, 'Segoe UI', sans-serif;

    --r: 3px;
    --r-md: 4px;
    --wrap: 1240px;
    --gutter: clamp(16px, 4vw, 40px);
    --nav-h: 72px;
    --grain: none;

    /* legacy names used in CMS inline styles */
    --primary: var(--pine);
    --theme-color: var(--pine);
    --stone: var(--rule);
    --stone-200: var(--rule);
    --snow: var(--paper);
    --radius: var(--r-md);
    --radius-lg: var(--r-md);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: var(--font-text);
    font-size: 16px;
    line-height: 1.7;
    font-weight: 400;
    color: var(--ink-soft);
    background-color: var(--paper);
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); color: var(--ink); font-weight: 500; line-height: 1.2; letter-spacing: .01em; }
a { color: var(--pine); text-decoration: none; }
a:hover { color: var(--saffron-600); }
img { max-width: 100%; }
::selection { background: var(--saffron-50); color: var(--ink); }
:focus-visible { outline: 2px solid var(--saffron); outline-offset: 2px; }

.hh-wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.hh-section { padding: clamp(52px, 7vw, 92px) 0; }
.hh-section--paper { background: var(--paper-2) var(--grain); }
.hh-section--rule { border-top: 1px solid var(--rule); }
.hh-section--pine { background: var(--pine-900); color: #cfd6c9; }
.hh-section--pine h2, .hh-section--pine h3 { color: #fff; }

/* ---------- Type helpers ---------- */
.hh-hand, .hh-hero__hello { display: inline-block; font-family: var(--font-text); font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1.4; color: var(--saffron-600); margin-bottom: 12px; }
.hh-h2 { font-size: clamp(28px, 3.2vw, 40px); margin: 0; text-transform: uppercase; font-weight: 600; }
.hh-h2 em { font-style: italic; }
.hh-lead { font-size: 18px; color: var(--muted); max-width: 620px; margin: 14px 0 0; }
.hh-section--pine .hh-lead { color: #aab5a4; }
.hh-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 32px; padding-bottom: 16px; border-bottom: 1px solid var(--rule); }
.hh-head--plain { border-bottom: 0; padding-bottom: 0; }
.hh-small { font-size: 14px; color: var(--muted); }

/* ---------- Buttons & links ---------- */
.hh-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font-family: var(--font-text); font-weight: 500; font-size: 13.5px; line-height: 1; letter-spacing: .1em; text-transform: uppercase;
    padding: 17px 30px; border-radius: 0; border: 1px solid transparent;
    cursor: pointer; white-space: nowrap; text-decoration: none; transition: background .15s, color .15s, border-color .15s;
}
.hh-btn--accent { background: var(--saffron); color: #fff; border-color: var(--saffron); }
.hh-btn--accent:hover { background: var(--saffron-600); border-color: var(--saffron-600); color: #fff; }
.hh-btn--pine { background: var(--pine); color: #fff; border-color: var(--pine); }
.hh-btn--pine:hover { background: var(--pine-700); color: #fff; }
.hh-btn--ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
.hh-btn--ghost:hover { background: var(--ink); color: var(--paper); }
.hh-btn--light { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.hh-btn--light:hover { background: #fff; color: var(--ink); }
.hh-btn--block { width: 100%; }
.hh-btn--sm { padding: 12px 18px; font-size: 12.5px; }

.hh-link { font-weight: 500; color: var(--saffron); text-transform: uppercase; letter-spacing: .1em; font-size: 13px; text-decoration: none; display: inline-flex; gap: 8px; align-items: center; background: none; border: 0; padding: 0; cursor: pointer; }
.hh-link:hover { color: var(--ink); }
.hh-link:not(:has(i))::after { content: "\f061"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 11px; line-height: 1; }
.hh-link i { font-size: .8em; }

.btn { border-radius: var(--r); font-weight: 600; }
.btn-success, .btn-primary { background: var(--pine); border-color: var(--pine); }
.btn-success:hover, .btn-primary:hover { background: var(--pine-700); border-color: var(--pine-700); }
.btn-warning { background: var(--saffron); border-color: var(--saffron); color: #1d1408; }

/* ==========================================================================
   HEADER
   ========================================================================== */

.hh-nav { position: sticky; top: 0; z-index: 1030; background: var(--paper); border-bottom: 1px solid var(--rule); }
.hh-nav__inner { display: flex; align-items: center; gap: 28px; height: var(--nav-h); }

.hh-logo { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); flex-shrink: 0; }
.hh-logo:hover { color: var(--ink); }

.hh-menu { flex: 1; display: flex; justify-content: center; }
.hh-menu__list { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; }
.hh-menu__item--drop { position: relative; }
.hh-menu__link { display: inline-flex; align-items: center; gap: 6px; height: var(--nav-h); padding: 0 14px; font-size: 15.5px; font-weight: 500; color: var(--ink); }
.hh-menu__item:hover > .hh-menu__link, .hh-menu__item.is-open > .hh-menu__link { color: var(--saffron-600); }
.hh-menu__caret { font-size: 10px; }

.hh-mega, .hh-drop { position: absolute; top: 100%; display: none; background: var(--card); border: 1px solid var(--rule); box-shadow: 0 10px 24px rgba(40,30,10,.08); }
.hh-menu__item.is-open > .hh-mega, .hh-menu__item.is-open > .hh-drop { display: block; }
.hh-mega { left: 0; right: 0; border-left: 0; border-right: 0; }
.hh-mega__inner { max-width: var(--wrap); margin: 0 auto; padding: 28px var(--gutter) 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px 40px; }
.hh-mega__heading { display: block; font-family: var(--font-display); font-size: 18px; color: var(--ink); padding-bottom: 8px; margin-bottom: 6px; border-bottom: 1px solid var(--rule); }
.hh-mega__link { display: block; padding: 5px 0; color: var(--ink-soft); font-size: 15px; }
.hh-mega__link:hover, .hh-mega__heading:hover { color: var(--saffron-600); }
.hh-drop { left: 0; min-width: 240px; list-style: none; margin: 0; padding: 8px 0; }
.hh-drop a { display: block; padding: 8px 18px; color: var(--ink-soft); font-size: 15px; }
.hh-drop a:hover { color: var(--saffron-600); background: var(--paper); }

.hh-nav__actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.hh-icon-btn { width: 42px; height: 42px; border-radius: var(--r); border: 1px solid var(--rule); background: transparent; color: var(--ink); display: inline-grid; place-items: center; cursor: pointer; }
.hh-icon-btn:hover { border-color: var(--ink); }
.hh-burger { display: none; }
.hh-burger span { display: block; width: 18px; height: 2px; background: currentColor; box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor; }

.hh-searchbar { position: absolute; left: 0; right: 0; top: 100%; background: var(--card); border-bottom: 1px solid var(--rule); display: none; }
.hh-searchbar.is-open { display: block; }
.hh-searchbar .hh-wrap { padding-top: 16px; padding-bottom: 16px; }

.hh-search { position: relative; }
.hh-search__field { display: flex; align-items: center; gap: 10px; background: var(--card); border: 1px solid var(--ink); border-radius: var(--r); padding: 4px 4px 4px 16px; }
.hh-search__field > i { color: var(--muted); }
.hh-search__field input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px; color: var(--ink); padding: 10px 0; }
.hh-search__field input::placeholder { color: #8d8a7d; }
.hh-search__field:focus-within { box-shadow: 0 0 0 3px var(--saffron-50); }
.hh-suggest { position: absolute; left: 0; right: 0; top: calc(100% + 6px); background: var(--card); border: 1px solid var(--rule); box-shadow: 0 12px 28px rgba(40,30,10,.12); z-index: 50; display: none; text-align: left; }
.hh-suggest__item { display: flex; gap: 14px; align-items: center; padding: 10px 14px; color: var(--ink); border-bottom: 1px solid var(--rule-soft); }
.hh-suggest__item:hover { background: var(--paper); color: var(--ink); }
.hh-suggest__thumb { width: 60px; height: 44px; object-fit: cover; flex-shrink: 0; background: var(--paper-2); display: grid; place-items: center; color: var(--moss); }
.hh-suggest__title { display: block; font-family: var(--font-display); font-size: 16px; line-height: 1.3; }
.hh-suggest__meta { display: block; font-size: 13px; color: var(--muted); margin-top: 2px; }
.hh-suggest__meta span + span::before { content: "·"; margin: 0 6px; }
.hh-suggest__empty { padding: 16px; color: var(--muted); font-size: 14px; }
.hh-suggest__all { display: block; padding: 10px 14px; font-weight: 600; font-size: 14px; }

.hh-drawer { position: fixed; inset: 0 0 0 auto; width: min(380px, 88vw); background: var(--paper); z-index: 1050; transform: translateX(100%); visibility: hidden; transition: transform .25s ease, visibility 0s .25s; display: flex; flex-direction: column; border-left: 1px solid var(--rule); }
.hh-drawer.is-open { transform: none; visibility: visible; transition: transform .25s ease; }
.hh-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid var(--rule); }
.hh-drawer__body { overflow-y: auto; padding: 4px 20px 28px; flex: 1; }
.hh-mob { list-style: none; margin: 0; padding: 0; }
.hh-mob > li { border-bottom: 1px solid var(--rule); }
.hh-mob__row { display: flex; align-items: center; justify-content: space-between; }
.hh-mob__row > a { flex: 1; padding: 14px 0; font-family: var(--font-display); color: var(--ink); font-size: 19px; }
.hh-mob__toggle { width: 40px; height: 40px; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
.hh-mob__toggle.is-active i { transform: rotate(180deg); }
.hh-mob__sub { list-style: none; margin: 0; padding: 0 0 12px 12px; display: none; }
.hh-mob__sub.is-open { display: block; }
.hh-mob__sub a { display: block; padding: 6px 0; color: var(--ink-soft); font-size: 15.5px; }
.hh-mob__sub .is-heading a { color: var(--pine); font-weight: 600; margin-top: 6px; }
.hh-overlay { position: fixed; inset: 0; background: rgba(20,25,18,.45); z-index: 1040; display: none; }
.hh-overlay.is-visible { display: block; }

/* ==========================================================================
   HOME — HERO (photo, then a paper block that overlaps it)
   ========================================================================== */
.hh-hero { position: relative; }
.hh-hero__photo { position: relative; height: clamp(360px, 58vh, 620px); overflow: hidden; background: var(--pine-900); }
.hh-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hh-hero__panel { position: relative; margin-top: clamp(-150px, -12vw, -90px); background: var(--paper) var(--grain); max-width: 800px; padding: clamp(26px, 4vw, 44px) clamp(22px, 4vw, 48px) 8px 0; }
.hh-hero__panel::before { content: ""; position: absolute; top: 0; bottom: 0; right: 100%; width: 100vw; background: var(--paper) var(--grain); }
.hh-hero h1 { font-size: clamp(34px, 4.2vw, 52px); margin: 0 0 16px; line-height: 1.1; }
.hh-hero__sub { font-size: clamp(17px, 1.5vw, 19px); color: var(--ink-soft); max-width: 600px; margin: 0 0 26px; }
.hh-hero .hh-search { max-width: 600px; }
.hh-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 22px; }
.hh-trust-strip { border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); background: var(--card); }
.hh-trust-strip ul { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hh-trust-strip li { padding: 18px 20px; border-left: 1px solid var(--rule-soft); font-size: 14.5px; color: var(--muted); line-height: 1.45; }
.hh-trust-strip li:first-child { border-left: 0; padding-left: 0; }
.hh-trust-strip strong { display: block; color: var(--ink); font-weight: 600; font-size: 15px; }
.hh-hero__foot { margin-top: 14px; font-size: 14px; color: var(--muted); display: flex; gap: 6px 18px; flex-wrap: wrap; }
.hh-hero__foot a { color: var(--ink-soft); text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: 3px; }
.hh-hero__foot a:hover { text-decoration-color: var(--saffron); color: var(--ink); }
.hh-hero__play { position: absolute; right: var(--gutter); bottom: 24px; display: inline-flex; align-items: center; gap: 10px; color: #fff; background: rgba(20,25,18,.55); border: 0; padding: 10px 16px 10px 12px; cursor: pointer; font-weight: 600; font-size: 14px; border-radius: var(--r); }
.hh-hero__play:hover { background: rgba(20,25,18,.8); }

/* ==========================================================================
   INTRO LETTER + NOTES
   ========================================================================== */
.hh-letter { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 90px); }
.hh-letter__body { font-size: 18px; line-height: 1.75; }
.hh-letter__body p { margin: 0 0 1em; }
.hh-letter__body.is-clamped { max-height: 17em; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 65%, transparent); mask-image: linear-gradient(180deg, #000 65%, transparent); }
.hh-sign { font-family: var(--font-display); font-style: italic; font-size: 19px; color: var(--ink); margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--rule); line-height: 1.3; max-width: 360px; }
.hh-sign small { display: block; font-family: var(--font-text); font-size: 13px; color: var(--muted); margin-top: 6px; }
.hh-readmore { margin-top: 6px; }
.hh-notes { list-style: none; margin: 0; padding: 0; counter-reset: note; }
.hh-notes li { counter-increment: note; display: grid; grid-template-columns: 44px 1fr; gap: 6px 14px; padding: 18px 0; border-top: 1px solid var(--rule); }
.hh-notes li:last-child { border-bottom: 1px solid var(--rule); }
.hh-notes li::before { content: counter(note, decimal-leading-zero); font-family: var(--font-display); font-size: 22px; color: var(--saffron-600); grid-row: span 2; line-height: 1.2; }
.hh-notes strong { font-family: var(--font-display); font-weight: 400; font-size: 20px; color: var(--ink); }
.hh-notes span { font-size: 15.5px; color: var(--muted); }

/* ==========================================================================
   TRIP CARD — photo, caption underneath
   ========================================================================== */
.hh-card { display: flex; flex-direction: column; height: 100%; color: var(--ink-soft); }
.hh-card:hover { color: var(--ink-soft); }
.hh-card__media { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: var(--paper-2); }
.hh-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .2s; }
.hh-card:hover .hh-card__media img { opacity: .9; }
.hh-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--moss); font-size: 34px; }
.hh-card__badge { position: absolute; top: 0; left: 0; background: var(--paper); color: var(--ink); font-size: 12.5px; font-weight: 600; padding: 5px 10px; }
.hh-card__body { padding: 14px 0 0; display: flex; flex-direction: column; flex: 1; }
.hh-card__meta { font-size: 13.5px; color: var(--muted); margin-bottom: 4px; }
.hh-card__meta span + span::before { content: "·"; margin: 0 7px; }
.hh-card__title { font-size: 21px; line-height: 1.25; margin: 0 0 8px; }
.hh-card:hover .hh-card__title { text-decoration: underline; text-decoration-color: var(--saffron); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.hh-card__rating { font-size: 13.5px; color: var(--muted); margin-bottom: 6px; }
.hh-card__rating i { color: var(--saffron); font-size: 11px; }
.hh-card__foot { margin-top: auto; font-size: 15px; color: var(--ink-soft); }
.hh-card__price { font-weight: 600; color: var(--ink); }
.hh-card__price small { font-weight: 400; color: var(--muted); text-decoration: line-through; margin-left: 6px; font-size: 13.5px; }

/* ==========================================================================
   REGIONS — index-style list with photos
   ========================================================================== */
.hh-regions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; }
.hh-regions--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hh-region { display: block; color: var(--ink); }
.hh-region:hover { color: var(--ink); }
.hh-region__img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--paper-2); margin-bottom: 12px; }
.hh-region__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hh-region h3 { font-size: 24px; margin: 0; }
.hh-region:hover h3 { text-decoration: underline; text-decoration-color: var(--saffron); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.hh-region__count { font-size: 14px; color: var(--muted); }

/* ==========================================================================
   DEPARTURES — a plain timetable
   ========================================================================== */
.hh-timetable { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.hh-timetable th { text-align: left; font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); padding: 0 12px 10px 0; border-bottom: 1px solid var(--ink); }
.hh-timetable td { padding: 16px 12px 16px 0; border-bottom: 1px solid var(--rule); vertical-align: middle; }
.hh-timetable td:last-child, .hh-timetable th:last-child { text-align: right; padding-right: 0; }
.hh-timetable__date { font-family: var(--font-display); font-size: 19px; color: var(--ink); white-space: nowrap; }
.hh-timetable__date small { display: block; font-family: var(--font-text); font-size: 13px; color: var(--muted); }
.hh-timetable__trip { font-family: var(--font-display); font-size: 18px; color: var(--ink); }
.hh-timetable__trip:hover { color: var(--saffron-600); }
.hh-timetable del { color: var(--muted); font-size: 13.5px; margin-right: 6px; }
.hh-timetable .hh-price { font-weight: 600; color: var(--ink); white-space: nowrap; }
.hh-st { font-size: 14px; white-space: nowrap; }
.hh-st::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 7px; background: var(--ok); vertical-align: 1px; }
.hh-st--2::before { background: var(--saffron); }
.hh-st--3::before { background: var(--danger); }
.hh-st--3 { color: var(--muted); }

/* ==========================================================================
   FEATURE (trip of the month)
   ========================================================================== */
.hh-feature { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.hh-feature__media { position: relative; margin: 0; }
.hh-feature__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.hh-feature__media figcaption { font-size: 13.5px; color: var(--muted); margin-top: 8px; }
.hh-feature__body h2 { font-size: clamp(30px, 3.4vw, 42px); margin: 0 0 14px; }
.hh-feature__body p { font-size: 17px; margin-bottom: 22px; }
.hh-facts { display: grid; grid-template-columns: auto 1fr; gap: 0; margin: 0 0 26px; font-size: 15.5px; border-top: 1px solid var(--rule); }
.hh-facts dt, .hh-facts dd { margin: 0; padding: 9px 0; border-bottom: 1px solid var(--rule); }
.hh-facts dt { color: var(--muted); padding-right: 28px; font-weight: 400; }
.hh-facts dd { color: var(--ink); font-weight: 500; }
.hh-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* ==========================================================================
   QUOTES / REVIEWS
   ========================================================================== */
.hh-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.hh-quotes blockquote { margin: 0; padding-top: 18px; border-top: 2px solid var(--ink); }
.hh-quotes blockquote > div { font-family: var(--font-display); font-size: 19px; line-height: 1.55; color: var(--ink); }
.hh-quotes blockquote > div p { margin: 0 0 .6em; }
.hh-quotes blockquote > div p:first-child::before { content: "\201C"; }
.hh-quotes blockquote > div p:last-child::after { content: "\201D"; }
.hh-quotes footer { margin-top: 14px; font-size: 14.5px; color: var(--muted); }
.hh-quotes footer strong { color: var(--ink); font-weight: 600; }
.hh-stars { color: var(--saffron); font-size: 11px; letter-spacing: 1px; }
.hh-quotes .hh-stars { display: block; margin-bottom: 4px; }

.hh-review { background: var(--card); border: 1px solid var(--rule); padding: 24px; height: 100%; display: flex; flex-direction: column; }
.hh-review__stars { color: var(--saffron); font-size: 12px; margin-bottom: 12px; }
.hh-review__body { font-family: var(--font-display); font-size: 17px; line-height: 1.6; color: var(--ink); flex: 1; }
.hh-review__body p { margin: 0 0 .6em; }
.hh-review__who { margin-top: 16px; font-size: 14px; color: var(--muted); display: flex; gap: 10px; align-items: center; }
.hh-review__who strong { color: var(--ink); display: block; }
.hh-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--paper-2); color: var(--pine); display: grid; place-items: center; font-weight: 600; font-size: 14px; flex-shrink: 0; }
.hh-carousel-nav { display: flex; gap: 8px; }
.hh-carousel-nav button { width: 42px; height: 42px; border: 1px solid var(--ink); background: transparent; color: var(--ink); cursor: pointer; border-radius: var(--r); }
.hh-carousel-nav button:hover { background: var(--ink); color: var(--paper); }
.owl-carousel .owl-stage { display: flex; }
.owl-carousel .owl-item { display: flex; }
.owl-carousel .owl-item > .item { width: 100%; }
.owl-theme .owl-dots { margin-top: 20px !important; }
.owl-theme .owl-dots .owl-dot span { background: var(--rule); width: 8px; height: 8px; margin: 4px; }
.owl-theme .owl-dots .owl-dot.active span { background: var(--ink); }

/* ==========================================================================
   FAQ / ACCORDION
   ========================================================================== */
.hh-faq { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(28px, 6vw, 80px); align-items: start; }
.hh-acc { border-top: 1px solid var(--ink); }
.hh-acc__item { border-bottom: 1px solid var(--rule); }
.hh-acc__btn { width: 100%; display: flex; align-items: baseline; gap: 16px; text-align: left; background: none; border: 0; padding: 18px 0; cursor: pointer; font-family: var(--font-display); font-size: 19px; color: var(--ink); line-height: 1.4; }
.hh-acc__btn:hover { color: var(--saffron-600); }
.hh-acc__icon { margin-left: auto; font-family: var(--font-text); font-size: 20px; color: var(--muted); flex-shrink: 0; width: 20px; text-align: center; }
.hh-acc__panel { display: none; padding: 0 40px 20px 0; color: var(--ink-soft); }
.hh-acc__item.is-open .hh-acc__panel { display: block; }
.hh-acc__panel p:last-child { margin-bottom: 0; }

/* ==========================================================================
   JOURNAL
   ========================================================================== */
.hh-journal { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 48px); }
.hh-post-lg { display: block; color: var(--ink); }
.hh-post-lg:hover { color: var(--ink); }
.hh-post-lg img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; margin-bottom: 14px; }
.hh-post-lg h3 { font-size: clamp(24px, 2.6vw, 32px); margin: 6px 0 0; }
.hh-post-lg:hover h3, .hh-post:hover h3, .hh-blog-card:hover h3 { text-decoration: underline; text-decoration-color: var(--saffron); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.hh-date { font-size: 13.5px; color: var(--muted); }
.hh-post-list { display: flex; flex-direction: column; border-top: 1px solid var(--rule); }
.hh-post { display: grid; grid-template-columns: 120px 1fr; gap: 18px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--rule); color: var(--ink); }
.hh-post:hover { color: var(--ink); }
.hh-post__img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--paper-2); }
.hh-post__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hh-post h3 { font-size: 19px; margin: 4px 0 0; line-height: 1.3; }

.hh-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 28px; }
.hh-blog-card { display: flex; flex-direction: column; color: var(--ink); }
.hh-blog-card:hover { color: var(--ink); }
.hh-blog-card__img { aspect-ratio: 3 / 2; overflow: hidden; background: var(--paper-2); margin-bottom: 12px; }
.hh-blog-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hh-blog-card h3 { font-size: 21px; margin: 6px 0 0; line-height: 1.3; }
.hh-tag { display: inline-block; font-size: 12.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--saffron-600); margin-right: 10px; }

/* Blog pagination */
.hh-pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 56px; }
.hh-pager a, .hh-pager span { display: inline-flex; align-items: center; gap: 8px; min-width: 44px; height: 44px; padding: 0 14px; justify-content: center; border: 1px solid var(--rule); border-radius: 999px; font-weight: 600; font-size: 15px; color: var(--ink); text-decoration: none; background: var(--card); }
.hh-pager a:hover { border-color: var(--saffron); color: var(--saffron-600); }
.hh-pager span[aria-current] { background: var(--saffron); border-color: var(--saffron); color: #fff; }

/* ==========================================================================
   NOTE (pre-footer) + FOOTER
   ========================================================================== */
.hh-cta { padding: clamp(48px, 6vw, 80px) 0; border-top: 1px solid var(--rule); }
.hh-cta__note { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 64px); align-items: center; }
.hh-cta h2 { font-size: clamp(28px, 3.2vw, 40px); margin: 0 0 12px; }
.hh-cta p { margin: 0; font-size: 18px; max-width: 580px; }
.hh-cta__side { border-left: 1px solid var(--rule); padding-left: clamp(20px, 3vw, 40px); }
.hh-cta__side .hh-actions { margin-top: 14px; }

.hh-footer { background: var(--pine-900); color: #aeb8a8; font-size: 15px; }
.hh-footer a { color: #e3e8dc; }
.hh-footer a:hover { color: var(--saffron); }
.hh-footer__main { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr; gap: 36px; padding: clamp(52px, 6vw, 76px) 0 44px; }
.hh-footer__brand p { margin: 16px 0 18px; max-width: 320px; }
.hh-footer__contact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.hh-footer__contact i { color: var(--saffron); width: 18px; margin-right: 8px; }
.hh-footer h4 { font-family: var(--font-display); font-size: 17px; color: #fff; margin: 4px 0 14px; }
.hh-footer ul.hh-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.hh-footer__row { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.12); }
.hh-footer__badges { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 14px; }
.hh-footer__badges a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.3); }
.hh-social { display: flex; gap: 14px; list-style: none; margin: 0; padding: 0; font-size: 17px; }
.hh-footer__legal { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 18px 0 26px; border-top: 1px solid rgba(255,255,255,.12); font-size: 13px; color: #859080; }
.hh-footer__legal a { color: #aeb8a8; }

.hh-whatsapp { position: fixed; right: 18px; bottom: 18px; z-index: 1020; width: 52px; height: 52px; border-radius: 50%; background: #25d366; color: #fff; display: grid; place-items: center; font-size: 26px; box-shadow: 0 6px 16px rgba(0,0,0,.18); }
.hh-whatsapp:hover { color: #fff; }

/* ==========================================================================
   INNER PAGES — photo band, then the title on paper
   ========================================================================== */
.hh-banner { display: block; }
.hh-banner > img { display: block; width: 100%; height: clamp(200px, 26vw, 340px); object-fit: cover; }
.hh-banner .hh-wrap { padding-top: 26px; padding-bottom: 6px; }
.hh-banner h1 { font-size: clamp(34px, 4.6vw, 56px); margin: 0; max-width: 900px; }
.hh-banner p { color: var(--muted); font-size: 18px; margin: 10px 0 0; max-width: 640px; }
.hh-banner--short > img { height: clamp(160px, 18vw, 240px); }
.hh-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; margin-bottom: 12px; color: var(--muted); }
.hh-crumbs a { color: var(--pine); }
.hh-crumbs a:hover { color: var(--saffron-600); }
.hh-crumbs i.sep { font-size: 8px; opacity: .6; }

.hh-page { padding: clamp(32px, 5vw, 56px) 0 clamp(56px, 8vw, 92px); }
.hh-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(28px, 5vw, 64px); align-items: start; }
.hh-layout--trip { grid-template-columns: minmax(0, 1fr) 340px; }
.hh-layout--book { grid-template-columns: minmax(0, 1fr) 360px; }
.hh-panel { background: var(--card); border: 1px solid var(--rule); padding: clamp(22px, 4vw, 40px); }

.hh-prose, .page-content { font-size: 17.5px; color: var(--ink-soft); line-height: 1.75; overflow-wrap: break-word; }
.hh-prose > *:first-child, .page-content > *:first-child { margin-top: 0; }
.hh-prose h1, .hh-prose h2, .page-content h1, .page-content h2 { font-size: clamp(26px, 3vw, 32px); margin: 1.6em 0 .5em; }
.hh-prose h3, .page-content h3 { font-size: 23px; margin: 1.4em 0 .4em; }
.hh-prose h4, .page-content h4 { font-size: 19px; margin: 1.3em 0 .4em; }
.hh-prose a, .page-content a { color: var(--pine); text-decoration: underline; text-decoration-color: var(--saffron); text-underline-offset: 3px; }
.hh-prose ul, .page-content ul { padding-left: 1.2em; }
.hh-prose li, .page-content li { margin-bottom: .35em; }
.hh-prose img, .page-content img { height: auto; margin: 1em 0; }
.hh-prose blockquote, .page-content blockquote { border-left: 2px solid var(--saffron); margin: 1.5em 0; padding: 2px 0 2px 20px; font-family: var(--font-display); font-size: 21px; color: var(--ink); font-style: italic; }
.table-responsive { margin: 1.2em 0; border-top: 1px solid var(--ink); }
.table-responsive .table { margin: 0; font-size: 15px; background: transparent; }
.table > :not(caption) > * > * { padding: .65rem .8rem; background: transparent; border-color: var(--rule); }
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-accent-bg: rgba(0,0,0,.025); }

.hh-side { display: flex; flex-direction: column; gap: 28px; position: sticky; top: calc(var(--nav-h) + 20px); }
.hh-side__card { border-top: 2px solid var(--ink); padding-top: 14px; }
.hh-side__card h3 { font-size: 20px; margin: 0 0 8px; }
.hh-side__link { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--rule); color: var(--ink); font-size: 15.5px; }
.hh-side__link:hover { color: var(--saffron-600); }
.hh-side__link span:last-child { color: var(--muted); font-size: 13.5px; white-space: nowrap; }
.hh-side__post { display: grid; grid-template-columns: 68px 1fr; gap: 12px; align-items: start; padding: 10px 0; border-bottom: 1px solid var(--rule); color: var(--ink); }
.hh-side__post:hover { color: var(--saffron-600); }
.hh-side__post img { width: 68px; height: 52px; object-fit: cover; }
.hh-side__post div { font-size: 15px; line-height: 1.35; }
.hh-side__post small { display: block; color: var(--muted); font-size: 12.5px; margin-top: 3px; }
.hh-side__cta { background: var(--pine); color: #d3dacd; border: 0; padding: 22px; }
.hh-side__cta h3 { color: #fff; }
.hh-side__cta p { font-size: 15px; }

.hh-article-meta { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin-bottom: 18px; font-size: 14px; color: var(--muted); }
.hh-article-img { margin-bottom: 28px; }
.hh-article-img img { width: 100%; display: block; }

.hh-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px 16px; flex-wrap: wrap; margin-bottom: 28px; padding-bottom: 14px; border-bottom: 1px solid var(--rule); font-size: 15.5px; color: var(--muted); }
.hh-toolbar strong { color: var(--ink); }
.hh-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 28px; }
.hh-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hh-empty { padding: 36px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); max-width: 640px; }
.hh-empty h2 { font-size: 28px; margin-bottom: 8px; }
.hh-empty p { color: var(--muted); margin: 0 0 20px; }

.hh-az { position: sticky; top: var(--nav-h); z-index: 20; background: var(--paper); border-bottom: 1px solid var(--rule); margin-bottom: 36px; }
.hh-az .hh-wrap { display: flex; align-items: center; gap: 2px 4px; flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px; }
.hh-az span { font-size: 14px; color: var(--muted); margin-right: 10px; }
.hh-az a { min-width: 30px; padding: 4px 6px; text-align: center; font-family: var(--font-display); font-size: 18px; color: var(--ink); }
.hh-az a:hover, .hh-az a.active { color: var(--saffron-600); text-decoration: underline; text-underline-offset: 4px; }
.hh-az-group { margin-bottom: 52px; scroll-margin-top: calc(var(--nav-h) + 70px); }
.hh-az-group__head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 22px; border-bottom: 1px solid var(--ink); padding-bottom: 6px; }
.hh-az-group__letter { font-family: var(--font-display); font-size: 44px; line-height: 1; color: var(--ink); }
.hh-az-group__head h2 { font-size: 15px; margin: 0; color: var(--muted); font-family: var(--font-text); }

.hh-404 { padding: clamp(64px, 9vw, 120px) 0; max-width: 680px; }
.hh-404__num { font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--saffron-600); }
.hh-404 h1 { font-size: clamp(34px, 4.4vw, 52px); margin: 6px 0 12px; }
.hh-404 p { color: var(--muted); font-size: 18px; margin: 0 0 24px; }

/* ==========================================================================
   FORMS
   ========================================================================== */
.page-form .form-group { margin-bottom: 2px; }
.page-form label, .hh-label { display: inline-block; font-size: 14.5px; font-weight: 600; color: var(--ink); margin-bottom: 5px; }
.page-form em, .hh-label em { color: var(--danger); font-style: normal; margin-left: 2px; }
.form-control, .form-select, .hh-input { width: 100%; font: inherit; font-size: 16px; color: var(--ink); background: #fffdf8; border: 1px solid var(--rule); border-radius: var(--r); padding: 11px 12px; }
.form-control:focus, .form-select:focus, .hh-input:focus { outline: 0; border-color: var(--ink); box-shadow: 0 0 0 3px var(--saffron-50); background: #fff; }
textarea.form-control, textarea.hh-input { min-height: 120px; resize: vertical; }

.hh-form-card { background: var(--card); border: 1px solid var(--rule); padding: clamp(22px, 4vw, 38px); }
.hh-form-card h2 { font-size: 28px; margin: 0 0 4px; }
.hh-form-card h3 { font-size: 21px; margin: 30px 0 12px; padding-top: 22px; border-top: 1px solid var(--rule); }
.hh-form-card .hh-note { color: var(--muted); font-size: 15.5px; margin-bottom: 22px; }
.hh-addon { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--rule-soft); }
.hh-addon strong { display: block; color: var(--ink); font-weight: 500; }
.hh-addon span { font-size: 14px; color: var(--muted); }
.hh-qty { display: inline-flex; align-items: center; border: 1px solid var(--rule); border-radius: var(--r); background: #fffdf8; }
.hh-qty button { width: 36px; height: 36px; border: 0; background: transparent; font-size: 18px; color: var(--ink); cursor: pointer; }
.hh-qty input { width: 40px; text-align: center; border: 0; background: transparent; font-weight: 600; -moz-appearance: textfield; }
.hh-qty input::-webkit-outer-spin-button, .hh-qty input::-webkit-inner-spin-button { -webkit-appearance: none; }

.hh-summary { background: var(--card); border: 1px solid var(--rule); position: sticky; top: calc(var(--nav-h) + 20px); }
.hh-summary__img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.hh-summary__body { padding: 20px 22px 22px; }
.hh-summary h3 { font-size: 22px; margin: 0 0 6px; }
.hh-summary__line { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--rule-soft); font-size: 15px; }
.hh-summary__total { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--ink); }
.hh-summary__total span { font-weight: 600; color: var(--ink); }
.hh-summary__total strong { font-family: var(--font-display); font-weight: 400; font-size: 28px; color: var(--ink); }
.hh-trust { list-style: none; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid var(--rule-soft); display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--muted); }
.hh-trust i { color: var(--ok); width: 18px; }

/* ==========================================================================
   TRIP DETAIL
   ========================================================================== */
.hh-gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 6px; height: clamp(300px, 46vw, 520px); padding-top: 20px; }
.hh-gallery a { position: relative; display: block; overflow: hidden; background: var(--paper-2); }
.hh-gallery a:first-child { grid-row: span 2; }
.hh-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hh-gallery a:hover img { opacity: .92; }
.hh-gallery--single { grid-template-columns: 1fr; grid-template-rows: 1fr; height: clamp(260px, 38vw, 460px); }
.hh-gallery--2 { grid-template-columns: 2fr 1fr; }
.hh-gallery--2 a:nth-child(2) { grid-row: span 2; }
.hh-gallery__more { position: absolute; right: 10px; bottom: 10px; background: var(--paper); color: var(--ink); font-size: 13px; font-weight: 600; padding: 6px 10px; }
.hh-gallery__badge { position: absolute; left: 0; top: 0; background: var(--paper); color: var(--ink); font-size: 13px; font-weight: 600; padding: 6px 12px; }
.hh-gallery__badge i { color: var(--saffron-600); }

.hh-trip-head { padding-top: 24px; padding-bottom: 4px; }
.hh-trip-head h1 { font-size: clamp(34px, 4.6vw, 56px); margin: 0 0 10px; }
.hh-trip-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; font-size: 15px; color: var(--muted); }
.hh-trip-rating i.fa-star, .hh-trip-rating i.fa-star-half-stroke { color: var(--saffron); font-size: 12px; }
.hh-trip-rating a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.hh-trip-rating .hh-rec i { color: var(--danger); }
.hh-trip-lead { font-family: var(--font-display); font-size: 21px; line-height: 1.5; color: var(--ink); max-width: 820px; margin-top: 16px; }
.hh-trip-lead p { margin: 0 0 12px; }
.hh-trip-lead p:last-child { margin-bottom: 0; }
.hh-trip-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); column-gap: 28px; margin: 26px 0 0; border-top: 1px solid var(--ink); }
.hh-trip-fact { padding: 14px 0; border-bottom: 1px solid var(--rule); display: flex; align-items: center; gap: 14px; }
.hh-trip-fact span { display: block; font-size: 13px; color: var(--muted); }
.hh-trip-fact strong { display: block; font-size: 16px; font-weight: 500; color: var(--ink); line-height: 1.35; }

.hh-tabs { position: sticky; top: var(--nav-h); z-index: 20; background: var(--paper); border-bottom: 1px solid var(--rule); margin-top: 28px; }
.hh-tabs ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.hh-tabs ul::-webkit-scrollbar { display: none; }
.hh-tabs a { display: block; padding: 14px 12px; font-size: 15px; color: var(--muted); white-space: nowrap; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.hh-tabs a:hover { color: var(--ink); }
.hh-tabs a.active { color: var(--ink); border-color: var(--saffron); }

.hh-trip-body { padding-top: 40px; padding-bottom: 72px; }
.hh-block { padding-bottom: 36px; margin-bottom: 40px; border-bottom: 1px solid var(--rule); scroll-margin-top: calc(var(--nav-h) + 64px); }
.hh-block:last-child { border-bottom: 0; }
.hh-block__title { font-size: clamp(26px, 3vw, 34px); margin: 0 0 20px; }
.hh-highlights { list-style: none; padding: 0; margin: 0 0 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 32px; }
.hh-highlights li { position: relative; padding-left: 22px; font-size: 16.5px; }
.hh-highlights li::before { content: "—"; position: absolute; left: 0; color: var(--saffron-600); }

.hh-itin { border-top: 1px solid var(--ink); }
.hh-itin__item { display: grid; grid-template-columns: 76px minmax(0, 1fr); border-bottom: 1px solid var(--rule); }
.hh-itin__day { padding: 17px 0; }
.hh-itin__day small { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; display: block; }
.hh-itin__day strong { font-family: var(--font-display); font-size: 26px; font-weight: 400; color: var(--ink); line-height: 1; }
.hh-itin__item.is-open .hh-itin__day strong { color: var(--saffron-600); }
.hh-itin__card { min-width: 0; }
.hh-itin__btn { width: 100%; display: flex; align-items: baseline; gap: 14px; padding: 20px 0 18px; background: none; border: 0; text-align: left; cursor: pointer; font-family: var(--font-display); font-size: 20px; color: var(--ink); line-height: 1.35; }
.hh-itin__btn:hover { color: var(--saffron-600); }
.hh-itin__btn i { margin-left: auto; font-size: 12px; color: var(--muted); }
.hh-itin__item.is-open .hh-itin__btn i { transform: rotate(180deg); }
.hh-itin__panel { display: none; padding: 0 0 22px; }
.hh-itin__item.is-open .hh-itin__panel { display: block; }
.hh-itin__panel .hh-prose { font-size: 16.5px; }
.hh-chips { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 10px; font-size: 14px; color: var(--muted); }
.hh-chip i { color: var(--moss); margin-right: 5px; }
.hh-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 6px; margin-top: 14px; }
.hh-thumbs a { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.hh-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hh-thumbs--lg { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }

.hh-incl { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.hh-incl__box h3 { font-size: 20px; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 1px solid var(--ink); }
.hh-incl__box ul { list-style: none; margin: 0; padding: 0; }
.hh-incl__box li { display: flex; gap: 12px; font-size: 15.5px; padding: 8px 0; border-bottom: 1px solid var(--rule-soft); }
.hh-incl__box li i { margin-top: 6px; font-size: 12px; }
.hh-incl__box--in li i { color: var(--ok); }
.hh-incl__box--out li i { color: var(--danger); }

.hh-dates { border-top: 1px solid var(--ink); }
.hh-dates__row { display: grid; grid-template-columns: 1.6fr 1fr auto; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--rule); }
.hh-dates__row--head { font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); padding: 10px 0; }
.hh-dates__range { font-family: var(--font-display); font-size: 18px; color: var(--ink); }
.hh-dates__range span { color: var(--muted); margin: 0 8px; font-family: var(--font-text); }
.hh-status { font-size: 14px; }
.hh-status::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 7px; background: var(--ok); vertical-align: 1px; }
.hh-status--2::before { background: var(--saffron); }
.hh-status--3::before { background: var(--danger); }
.hh-dates__remark { display: block; font-size: 13px; color: var(--muted); margin-top: 2px; }

.hh-book { background: var(--card); border: 1px solid var(--rule); padding: 22px; }
.hh-book__from { font-size: 13.5px; color: var(--muted); }
.hh-book__price { font-family: var(--font-display); font-size: 36px; color: var(--ink); line-height: 1.1; margin: 2px 0 16px; }
.hh-book__price small { font-family: var(--font-text); font-size: 15px; color: var(--muted); }
.hh-book__price small.text-strike { text-decoration: line-through; }
.hh-book__pp { font-family: var(--font-text); font-size: 14px; color: var(--muted); }
.hh-book .hh-btn { margin-bottom: 8px; }
.hh-group-toggle { width: 100%; display: flex; justify-content: space-between; align-items: center; background: none; border: 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: 10px 0; font-size: 14.5px; font-weight: 600; color: var(--pine); cursor: pointer; margin-bottom: 14px; }
.hh-group-toggle.is-open i { transform: rotate(180deg); }
.hh-group { margin: -6px 0 16px; font-size: 14px; }
.hh-group div { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--rule-soft); }
.hh-group div:first-child { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.hh-expert { margin-top: 24px; border-top: 2px solid var(--ink); padding-top: 14px; }
.hh-expert h3 { font-size: 20px; margin: 0 0 6px; }
.hh-expert p { font-size: 15px; margin: 0 0 10px; color: var(--muted); }
.hh-expert a { display: flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 500; padding: 8px 0; border-bottom: 1px solid var(--rule-soft); }
.hh-expert a i { color: var(--saffron-600); width: 18px; }
.hh-expert a:hover { color: var(--saffron-600); }
.hh-side__cta .hh-expert { border: 0; margin: 0; padding: 0; }
.hh-side__cta .hh-expert a { color: #fff; border-color: rgba(255,255,255,.15); }
.hh-side__cta .hh-expert a i { color: var(--saffron); }

.hh-modal .modal-content, .modal-content { border-radius: var(--r-md); border: 1px solid var(--rule); background: var(--paper); }
.hh-modal .modal-title { font-family: var(--font-display); font-size: 24px; }

.hh-lb { position: fixed; inset: 0; z-index: 2000; background: rgba(15,17,13,.94); display: none; align-items: center; justify-content: center; }
.hh-lb.is-open { display: flex; }
.hh-lb img { max-width: 92vw; max-height: 86vh; }
.hh-lb button { position: absolute; background: none; border: 1px solid rgba(255,255,255,.35); color: #fff; width: 48px; height: 48px; cursor: pointer; font-size: 17px; border-radius: var(--r); }
.hh-lb button:hover { background: #fff; color: var(--ink); }
.hh-lb__close { top: 18px; right: 18px; }
.hh-lb__prev { left: 18px; top: 50%; transform: translateY(-50%); }
.hh-lb__next { right: 18px; top: 50%; transform: translateY(-50%); }
.hh-lb__count { position: absolute; bottom: 20px; left: 0; right: 0; text-align: center; color: #b5b8ad; font-size: 14px; }

.hh-video { position: fixed; inset: 0; z-index: 2000; background: rgba(15,17,13,.92); display: none; align-items: center; justify-content: center; padding: 20px; }
.hh-video.is-open { display: flex; }
.hh-video__frame { width: min(1100px, 100%); aspect-ratio: 16 / 9; }
.hh-video__frame iframe { width: 100%; height: 100%; border: 0; }
.hh-video__close { position: absolute; top: 18px; right: 18px; background: none; border: 1px solid rgba(255,255,255,.35); color: #fff; width: 48px; height: 48px; cursor: pointer; font-size: 17px; }

.text-strike { text-decoration: line-through; }
.text-main { color: var(--pine) !important; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1199px) {
    .hh-menu__link { padding: 0 10px; font-size: 15px; }
    .hh-footer__main { grid-template-columns: 1fr 1fr 1fr; }
    .hh-footer__brand { grid-column: 1 / -1; }
    .hh-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    :root { --nav-h: 64px; }
    .hh-menu, .hh-nav__enquire { display: none; }
    .hh-burger { display: inline-grid; }
    .hh-letter, .hh-faq, .hh-journal, .hh-feature, .hh-layout, .hh-layout--trip, .hh-layout--book, .hh-cta__note { grid-template-columns: minmax(0, 1fr); }
    .hh-cta__side { border-left: 0; padding-left: 0; border-top: 1px solid var(--rule); padding-top: 20px; }
    .hh-side, .hh-summary { position: static; }
    .hh-grid, .hh-grid--4, .hh-blog-grid, .hh-quotes, .hh-regions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hh-hero__panel { max-width: none; padding-right: 0; }
    .hh-trust-strip ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hh-trust-strip li:nth-child(3) { border-left: 0; padding-left: 0; }
    .hh-trust-strip li:nth-child(n+3) { border-top: 1px solid var(--rule-soft); }
    .hh-hero__panel::after { content: ""; position: absolute; top: 0; bottom: 0; left: 100%; width: var(--gutter); background: var(--paper) var(--grain); }
}
@media (max-width: 767px) {
    body { font-size: 16px; }
    .hh-hero__photo { height: 300px; }
    .hh-hero__panel { margin-top: -60px; padding-top: 22px; }
    .hh-grid, .hh-grid--4, .hh-blog-grid, .hh-quotes, .hh-regions, .hh-regions--2, .hh-incl, .hh-highlights { grid-template-columns: minmax(0, 1fr); }
    .hh-footer__main { grid-template-columns: 1fr 1fr; gap: 28px; }
    .hh-post { grid-template-columns: 96px 1fr; gap: 14px; }
    .hh-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 2fr 1fr; height: 400px; }
    .hh-gallery a:first-child { grid-column: 1 / -1; grid-row: auto; }
    .hh-gallery a:nth-child(n+4) { display: none; }
    .hh-gallery--single { height: 280px; grid-template-rows: 1fr; }
    .hh-gallery--2 { grid-template-rows: 1fr; }
    .hh-gallery--2 a:nth-child(2) { display: none; }
    .hh-itin__item { grid-template-columns: 52px minmax(0, 1fr); }
    .hh-itin__day strong { font-size: 22px; }
    .hh-itin__btn { font-size: 17.5px; }
    .hh-dates__row { grid-template-columns: 1fr auto; }
    .hh-dates__row > div:nth-child(2) { grid-column: 1; grid-row: 2; }
    .hh-dates__row > div:nth-child(3) { grid-row: 1 / span 2; grid-column: 2; }
    .hh-dates__row--head { display: none; }
    .hh-acc__btn { font-size: 17.5px; }
    .hh-acc__panel { padding-right: 0; }
    /* timetable becomes stacked rows */
    .hh-timetable thead { display: none; }
    .hh-timetable, .hh-timetable tbody { display: block; width: 100%; }
    .hh-timetable tr { padding: 14px 0; border-bottom: 1px solid var(--rule); display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; }
    .hh-timetable td { display: block; padding: 0; border: 0; text-align: left !important; }
    .hh-timetable td:nth-child(1), .hh-timetable td:nth-child(2) { grid-column: 1 / -1; }
    .hh-timetable td:last-child { grid-column: 2; grid-row: 3 / span 2; align-self: center; }
    .hh-whatsapp { width: 48px; height: 48px; font-size: 24px; right: 12px; bottom: 12px; }
}
@media (max-width: 480px) {
    .hh-trust-strip ul { grid-template-columns: 1fr; }
    .hh-trust-strip li { border-left: 0; padding-left: 0; border-top: 1px solid var(--rule-soft); }
    .hh-trust-strip li:first-child { border-top: 0; }
    .hh-footer__main { grid-template-columns: 1fr; }
}
/* No motion: the site is intentionally static */
*, *::before, *::after { transition: none !important; animation: none !important; }

/* ==========================================================================
   HIKKER-STYLE LAYER — dark header, uppercase condensed headings,
   orange accent, watermark titles, topographic pattern. Static (no motion).
   ========================================================================== */
:root {
    --topo-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520' fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='1.2'%3E%3Cpath d='M260 90c70 0 150 40 160 110s-50 150-150 160-190-30-200-110 120-160 190-160z'/%3E%3Cpath d='M262 125c55 0 115 32 122 86s-40 115-115 122-145-24-152-86 90-122 145-122z'/%3E%3Cpath d='M264 160c40 0 80 24 85 62s-30 80-80 85-100-18-105-62 60-85 100-85z'/%3E%3Cpath d='M266 195c25 0 48 15 51 38s-18 48-48 51-60-11-63-38 35-51 60-51z'/%3E%3Cpath d='M-40 420c60-40 140-30 200 10s150 60 220 20 150-60 180-30'/%3E%3Cpath d='M-40 455c60-40 140-30 200 10s150 60 220 20 150-60 180-30'/%3E%3Cpath d='M-40 490c60-40 140-30 200 10s150 60 220 20 150-60 180-30'/%3E%3Cpath d='M-30 40c50 30 90 10 120-20'/%3E%3Cpath d='M-30 70c60 30 110 10 150-30'/%3E%3Cpath d='M400 -10c10 40 60 60 130 50'/%3E%3Cpath d='M380 -10c10 60 80 90 150 80'/%3E%3C/svg%3E");
    --topo-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520' fill='none' stroke='%231c1b1f' stroke-opacity='.05' stroke-width='1.2'%3E%3Cpath d='M260 90c70 0 150 40 160 110s-50 150-150 160-190-30-200-110 120-160 190-160z'/%3E%3Cpath d='M262 125c55 0 115 32 122 86s-40 115-115 122-145-24-152-86 90-122 145-122z'/%3E%3Cpath d='M264 160c40 0 80 24 85 62s-30 80-80 85-100-18-105-62 60-85 100-85z'/%3E%3Cpath d='M266 195c25 0 48 15 51 38s-18 48-48 51-60-11-63-38 35-51 60-51z'/%3E%3Cpath d='M-40 420c60-40 140-30 200 10s150 60 220 20 150-60 180-30'/%3E%3Cpath d='M-40 455c60-40 140-30 200 10s150 60 220 20 150-60 180-30'/%3E%3Cpath d='M-40 490c60-40 140-30 200 10s150 60 220 20 150-60 180-30'/%3E%3C/svg%3E");
}

/* ---- Header: dark bar sitewide, transparent over the hero on the home page ---- */
.hh-nav { background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.08); }
.hh-nav .hh-logo, .hh-nav .hh-logo:hover { color: #fff; }
.hh-menu__link { color: #fff; font-family: var(--font-text); font-size: 13.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.hh-menu__item:hover > .hh-menu__link, .hh-menu__item.is-open > .hh-menu__link { color: var(--saffron); }
.hh-icon-btn { color: #fff; border-color: rgba(255,255,255,.3); border-radius: 0; }
.hh-icon-btn:hover { border-color: #fff; }
.hh-mega, .hh-drop { background: #fff; border-color: var(--rule); border-top: 3px solid var(--saffron); }
.hh-mega__heading { font-size: 16px; text-transform: uppercase; letter-spacing: .04em; }
.hh-drawer .hh-icon-btn { color: var(--ink); border-color: var(--rule); }
.hh-drawer .hh-logo { color: var(--ink); }
.hh-mob__row > a { font-size: 17px; text-transform: uppercase; letter-spacing: .03em; }

.page-home .hh-nav { position: absolute; left: 0; right: 0; top: 0; background: transparent; border-bottom-color: rgba(255,255,255,.18); }
.page-home .hh-nav.is-stuck { position: fixed; background: var(--ink); border-bottom-color: transparent; }

/* ---- Section title with a large faded watermark word behind it ---- */
.hh-title { position: relative; }
.hh-title[data-wm]::before { content: attr(data-wm); position: absolute; left: 0; top: 50%; transform: translateY(-58%); font-family: var(--font-display); font-weight: 600; font-size: clamp(64px, 9vw, 120px); line-height: 1; text-transform: uppercase; color: rgba(28,27,31,.06); white-space: nowrap; pointer-events: none; z-index: 0; }
.hh-title > * { position: relative; z-index: 1; }
.hh-title--light[data-wm]::before { color: rgba(255,255,255,.07); }
.hh-title--center { text-align: center; }
.hh-title--center[data-wm]::before { left: 50%; transform: translate(-50%, -58%); }
.hh-sec-intro { color: var(--muted); max-width: 520px; margin: 14px 0 0; }
.hh-title--center + .hh-sec-intro, .hh-sec-intro--center { margin-left: auto; margin-right: auto; text-align: center; }
.hh-check { color: var(--saffron); font-size: 16px; margin-right: 12px; flex-shrink: 0; transform: translateY(2px); }

/* ---- Home hero ---- */
.hk-hero { position: relative; min-height: 100vh; min-height: max(640px, 100vh); display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; background: var(--ink); overflow: hidden; }
.hk-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hk-hero::after { content: ""; position: absolute; inset: 0; background: rgba(20,19,23,.55); }
.hk-hero__inner { position: relative; z-index: 2; max-width: 900px; padding: 140px var(--gutter) 200px; }
.hk-hero__wm { display: block; font-family: var(--font-display); font-weight: 600; font-size: clamp(80px, 15vw, 200px); line-height: .8; letter-spacing: .04em; color: rgba(255,255,255,.12); text-transform: uppercase; margin-bottom: -.42em; user-select: none; }
.hk-hero h1 { color: #fff; font-size: clamp(34px, 4.6vw, 58px); font-weight: 600; text-transform: uppercase; line-height: 1.1; margin: 0 0 20px; letter-spacing: .02em; }
.hk-hero p { color: #e6e6e8; font-size: 17px; max-width: 640px; margin: 0 auto 32px; }
.hk-hero .hh-actions { justify-content: center; }

/* ---- Three feature boxes overlapping the hero ---- */
.hk-features { position: relative; background: var(--paper-2) var(--topo-light); padding-bottom: 70px; }
.hk-features__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; transform: translateY(-110px); margin-bottom: -110px; position: relative; z-index: 3; }
.hk-feature { background: #fff; padding: 38px 34px 34px; box-shadow: 0 18px 40px rgba(0,0,0,.07); }
.hk-feature > i { font-size: 34px; color: var(--saffron); margin-bottom: 22px; display: block; }
.hk-feature h3 { font-family: var(--font-text); font-weight: 500; font-size: 21px; letter-spacing: 0; margin: 0 0 10px; }
.hk-feature p { color: var(--muted); font-size: 15px; margin: 0 0 18px; }
.hk-features__note { text-align: center; margin: 48px 0 0; color: var(--muted); font-size: 15px; }
.hk-features__note a { margin-left: 10px; }

/* ---- Popular treks ---- */
.hk-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 44px; }
.hk-trips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.hk-trip__media { position: relative; display: block; aspect-ratio: 1 / 1.05; background: var(--paper-2); margin-bottom: 46px; }
.hk-trip__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hk-trip__stats { position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 50%); display: flex; box-shadow: 0 10px 24px rgba(0,0,0,.12); white-space: nowrap; }
.hk-trip__stats span { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 72px; padding: 12px 14px; background: var(--saffron); color: #fff; font-size: 12.5px; line-height: 1.3; border-left: 1px solid rgba(255,255,255,.25); }
.hk-trip__stats span:first-child { border-left: 0; }
.hk-trip__stats strong { font-size: 19px; font-weight: 500; }
.hk-trip__stats .is-price { background: #fff; color: var(--saffron); font-size: 20px; font-weight: 500; min-width: 96px; }
.hk-trip h3 { font-family: var(--font-text); font-weight: 500; font-size: 20px; letter-spacing: 0; margin: 0 0 8px; }
.hk-trip h3 a { color: var(--ink); }
.hk-trip h3 a:hover { color: var(--saffron); }
.hk-trip p { color: var(--muted); font-size: 15px; margin: 0 0 14px; }

/* ---- About split ---- */
.hk-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.hk-about__head { display: flex; gap: 22px; align-items: flex-start; margin-bottom: 22px; }
.hk-about__head > i { font-size: 44px; color: var(--saffron); margin-top: 4px; }
.hk-about__head h2 { font-size: clamp(22px, 2.2vw, 28px); font-weight: 500; margin: 0; }
.hk-about__text { color: var(--ink-soft); font-size: 16px; line-height: 1.8; }
.hk-about__text p { margin: 0 0 14px; }
.hk-about__text strong { color: var(--ink); font-weight: 600; }
.hk-check { list-style: none; margin: 22px 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.hk-check li { display: flex; align-items: baseline; color: var(--ink); font-size: 15.5px; font-weight: 400; }
.hk-about__img { width: 100%; aspect-ratio: 4 / 3.5; object-fit: cover; display: block; }

/* ---- Why us (dark, topographic) ---- */
.hk-why { background: var(--ink) var(--topo-dark); color: #b9b9bd; padding: clamp(72px, 9vw, 120px) 0; }
.hk-why__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
.hk-why .hh-h2 { color: #fff; line-height: 1.2; }
.hk-why__text { margin: 0 0 30px; }
.hk-why__items { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 36px; }
.hk-why__item > i { font-size: 34px; color: var(--saffron); margin-bottom: 16px; display: block; }
.hk-why__item h3 { color: #fff; font-family: var(--font-text); font-weight: 400; font-size: 19px; letter-spacing: 0; margin: 0 0 8px; }
.hk-why__item p { font-size: 14.5px; margin: 0; }
.hk-play { display: inline-flex; align-items: center; gap: 14px; background: none; border: 0; color: #fff; cursor: pointer; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; padding: 0; }
.hk-play span { width: 64px; height: 64px; border-radius: 50%; background: var(--saffron); display: grid; place-items: center; font-size: 18px; }

/* ---- Departures (table on white) ---- */

/* ---- Gallery ---- */
.hk-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.hk-gallery a { display: block; color: var(--ink); }
.hk-gallery__img { aspect-ratio: 3 / 4; overflow: hidden; background: var(--paper-2); margin-bottom: 14px; }
.hk-gallery__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hk-gallery h3 { font-family: var(--font-text); font-weight: 500; font-size: 17px; letter-spacing: 0; margin: 0; text-align: center; }
.hk-gallery span { display: block; text-align: center; font-size: 13px; color: var(--saffron); text-transform: uppercase; letter-spacing: .1em; margin-top: 4px; }

/* ---- Testimonial + figures ---- */
.hk-say { background: var(--paper-2) var(--topo-light); }
.hk-say__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: center; margin-top: 44px; }
.hk-say__img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.hk-quote { background: #fff; padding: clamp(28px, 4vw, 48px); position: relative; }
.hk-quote > i { font-size: 38px; color: var(--saffron); margin-bottom: 18px; display: block; }
.hk-quote__text { font-size: 18px; line-height: 1.7; color: var(--ink); font-weight: 300; }
.hk-quote__text p { margin: 0 0 .6em; }
.hk-quote__who { margin-top: 20px; display: flex; align-items: center; gap: 14px; }
.hk-quote__who strong { display: block; color: var(--ink); font-weight: 500; font-size: 16px; }
.hk-quote__who span { font-size: 13.5px; color: var(--muted); }
.hk-quote__who .hh-stars { font-size: 12px; }
.hk-quote__more { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--rule); font-size: 14px; color: var(--muted); }
.hk-quote__more strong { color: var(--ink); font-weight: 500; }
.hk-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 56px; background: #fff; }
.hk-fact { display: flex; align-items: center; gap: 16px; padding: 26px 24px; border-left: 1px solid var(--rule); }
.hk-fact:first-child { border-left: 0; }
.hk-fact > i { font-size: 30px; color: var(--saffron); }
.hk-fact strong { display: block; font-family: var(--font-display); font-size: 30px; font-weight: 500; color: var(--ink); line-height: 1.1; }
.hk-fact span { font-size: 14px; color: var(--muted); }

/* ---- Photo call-to-action band ---- */
.hk-band { position: relative; color: #fff; text-align: center; padding: clamp(90px, 12vw, 150px) 0; overflow: hidden; background: var(--ink); }
.hk-band > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hk-band::after { content: ""; position: absolute; inset: 0; background: rgba(20,19,23,.6); }
.hk-band .hh-wrap { position: relative; z-index: 2; max-width: 820px; }
.hk-band h2 { color: #fff; font-size: clamp(28px, 3.6vw, 44px); text-transform: uppercase; font-weight: 600; margin: 22px 0 16px; }
.hk-band p { color: #e3e3e6; margin: 0 auto 30px; max-width: 600px; }

/* ---- Latest articles ---- */
.hk-posts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.hk-post { display: block; color: var(--ink); }
.hk-post__img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--paper-2); margin-bottom: 16px; }
.hk-post__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hk-post time { font-size: 13px; color: var(--saffron); text-transform: uppercase; letter-spacing: .08em; }
.hk-post h3 { font-family: var(--font-text); font-weight: 500; font-size: 17px; letter-spacing: 0; line-height: 1.4; margin: 6px 0 0; }
.hk-post:hover h3 { color: var(--saffron); }
.hk-posts--list { row-gap: 44px; }

/* ---- Footer (dark, square bullets) ---- */
.hh-footer { background: var(--pine-900); color: #a5a5aa; }
.hh-footer__main { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
.hh-footer h4 { font-family: var(--font-text); font-weight: 500; font-size: 18px; letter-spacing: 0; color: #fff; }
.hh-footer ul.hh-footer__links li { display: flex; align-items: baseline; }
.hh-footer ul.hh-footer__links li::before { content: "\f105"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 12px; color: var(--green-bright); margin-right: 12px; flex-shrink: 0; }
.hh-footer__cta p { margin: 0 0 16px; }
.hh-footer a:hover { color: var(--saffron); }

/* Cards and banners pick up the new type */
.hh-card__title, .hh-region h3, .hh-post h3, .hh-post-lg h3, .hh-blog-card h3, .hh-side__card h3, .hh-block__title, .hh-feature__body h2 { letter-spacing: .01em; }
.hh-banner h1, .hh-trip-head h1 { text-transform: uppercase; font-weight: 600; }
.hh-banner > img { filter: none; }

@media (max-width: 991px) {
    .hk-features__grid, .hk-trips, .hk-gallery, .hk-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hk-features__grid .hk-feature:last-child { grid-column: 1 / -1; }
    .hk-about, .hk-why__grid, .hk-say__grid { grid-template-columns: minmax(0, 1fr); }
    .hk-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hk-fact:nth-child(3) { border-left: 0; }
    .hk-fact:nth-child(n+3) { border-top: 1px solid var(--rule); }
    .hh-footer__main { grid-template-columns: 1fr 1fr; }
    .hh-footer__brand { grid-column: auto; }
}
@media (max-width: 767px) {
    .hk-hero__inner { padding: 120px var(--gutter) 160px; }
    .hk-features__grid, .hk-trips, .hk-gallery, .hk-posts, .hk-why__items { grid-template-columns: minmax(0, 1fr); }
    .hk-features__grid { transform: translateY(-80px); margin-bottom: -80px; }
    .hk-gallery { grid-template-columns: 1fr 1fr; }
    .hk-say__img { aspect-ratio: 4 / 3; }
}
@media (max-width: 480px) {
    .hk-facts, .hh-footer__main { grid-template-columns: minmax(0, 1fr); }
    .hk-fact { border-left: 0 !important; border-top: 1px solid var(--rule); }
    .hk-fact:first-child { border-top: 0; }
}

/* Paragraph-style text stays in the body font (Oswald is for headings only) */
.hh-trip-lead, .hh-review__body, .hh-quotes blockquote > div, .hh-prose blockquote, .page-content blockquote, .hh-dates__range, .hh-timetable__date, .hh-timetable__trip, .hh-suggest__title, .hh-notes strong, .hh-summary__total strong, .hh-book__price, .hh-az a { font-family: var(--font-text); }
.hh-trip-lead { font-size: 19px; font-weight: 300; }
.hh-book__price { font-weight: 500; }

/* Green accent on dark backgrounds needs a lighter tint to stay visible */
.hk-why__item > i, .hh-footer__contact i, .hh-footer a:hover,
.page-home .hh-nav:not(.is-stuck) .hh-menu__item:hover > .hh-menu__link,
.hh-nav .hh-menu__item:hover > .hh-menu__link, .hh-nav .hh-menu__item.is-open > .hh-menu__link { color: var(--green-bright); }
.hh-footer__cta .fa-whatsapp { color: var(--green-bright) !important; }
.hh-expert a i { color: var(--saffron); }

/* Icons (restored) — green, square tiles to match the Hikker style */
.hh-trip-fact > i { width: 40px; height: 40px; flex-shrink: 0; display: grid; place-items: center; background: var(--saffron-50); color: var(--saffron); font-size: 16px; }
.hh-incl__box h3 i { margin-right: 4px; }
.hh-incl__box--in h3 i { color: var(--ok); }
.hh-incl__box--out h3 i { color: var(--danger); }
.hh-dates__range i { color: var(--saffron); margin-right: 10px; font-size: 15px; }
.hh-empty i { display: block; font-size: 40px; color: var(--saffron); margin-bottom: 14px; }
.hh-card__badge i { color: var(--saffron); margin-right: 4px; }
.hh-acc__icon { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--rule); color: var(--saffron); font-size: 12px; }
.hh-acc__item.is-open .hh-acc__icon { background: var(--saffron); border-color: var(--saffron); color: #fff; }
.hh-acc__item.is-open .hh-acc__icon i { transform: rotate(45deg); }
.hh-card__meta { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.hh-card__meta span + span::before { content: none; }
.hh-card__meta i { color: var(--saffron); margin-right: 6px; font-size: 12.5px; }
.hh-chip i, .hh-card__rating i { color: var(--saffron); }
.hh-highlights li::before { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 12px; top: 4px; color: var(--saffron); }

/* Readability: nothing lighter than regular weight, lighter text on dark areas */
.hk-quote__text, .hh-trip-lead { font-weight: 400; }
.hh-search__field input::placeholder { color: #6e6e73; }
.hh-footer { color: #c4c4c9; }
.hh-footer__legal { color: #a2a2a8; }
.hh-footer__legal a, .hh-footer__contact li { color: #d6d6da; }
.hh-footer .hh-btn--accent, .hh-footer .hh-btn--accent:hover { color: #fff; }
.hk-why { color: #d0d0d5; }
.hk-why__item p { color: #c2c2c7; }
.hk-hero p { color: #f2f2f4; max-width: 720px; line-height: 1.75; }
.hk-hero p strong { color: #fff; font-weight: 600; }
.hk-hero p.hk-hero__sub { font-size: 15.5px; line-height: 1.75; color: #e4e4e7; margin-top: -14px; }
.hk-hero p.hk-hero__sub strong { font-weight: 500; }
@media (max-width: 767px) { .hk-hero p.hk-hero__sub { font-size: 14.5px; } }
.hk-band p { color: #f0f0f2; }
.hh-timetable del, .hh-card__price small, .hh-small, .hh-date, .hh-book__pp, .hh-book__from { color: var(--muted); }
/* Keep white text readable over bright photos (sky, snow) */
.hk-hero::after { background: linear-gradient(180deg, rgba(15,14,17,.72) 0%, rgba(15,14,17,.58) 35%, rgba(15,14,17,.58) 70%, rgba(15,14,17,.5) 100%); }
.hk-band::after { background: rgba(15,14,17,.66); }
.page-home .hh-nav:not(.is-stuck) { background: linear-gradient(180deg, rgba(10,10,12,.55), rgba(10,10,12,0)); }

/* ---- Home: hero eyebrow + "at a glance" guide ---- */
.hk-hero__eyebrow { display: inline-block; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: #fff; background: var(--saffron); padding: 7px 14px; margin-bottom: 18px; font-weight: 500; }
.hh-hero__eyebrow { color: #fff; }

/* ---- Home: "Trekking in Nepal at a glance" ---- */
.hk-glance { background: var(--paper-2); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.hk-glance__head .hh-title { margin-bottom: 0; }
.hk-glance__intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 64px); margin-top: clamp(28px, 3vw, 36px); padding-bottom: clamp(32px, 4vw, 44px); border-bottom: 1px solid var(--rule); }
.hk-glance__answer { font-size: 18px; line-height: 1.75; color: var(--ink); margin: 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--saffron); }
.hk-glance__more p { font-size: 16px; line-height: 1.8; color: var(--ink-soft); margin: 0 0 16px; }
.hk-glance__more p:last-child { margin-bottom: 0; }
.hk-glance__more strong { color: var(--ink); font-weight: 600; }
.hk-glance__answer strong { color: var(--ink); font-weight: 600; }

.hk-kf-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--rule); border: 1px solid var(--rule); margin: clamp(32px, 4vw, 44px) 0 0; }
.hk-kf { background: #fff; padding: 30px 28px 32px; display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 18px; align-content: start; }
.hk-kf__icon { grid-row: 1 / span 3; align-self: start; width: 52px; height: 52px; display: grid; place-items: center; background: var(--saffron-50); color: var(--saffron); font-size: 21px; }
.hk-kf .hk-kf__icon i { color: var(--saffron); font-size: 21px; line-height: 1; }
.hk-kf__label { margin: 0 0 4px; font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.hk-kf__value { margin: 0 0 10px; font-family: var(--font-display); font-size: 23px; font-weight: 500; line-height: 1.2; color: var(--ink); }
.hk-kf__text { margin: 0; font-size: 15px; line-height: 1.65; color: var(--ink-soft); }

.hk-cmp { margin-top: clamp(40px, 5vw, 60px); }
.hk-cmp__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.hk-cmp__title { font-family: var(--font-display); font-size: 24px; font-weight: 500; text-transform: uppercase; letter-spacing: .02em; color: var(--ink); margin: 0; }
.hk-cmp__scroll { background: #fff; border: 1px solid var(--rule); overflow-x: auto; }
.hk-cmp__table { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.hk-cmp__table th { background: var(--ink); color: #fff; text-align: left; font-size: 12.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; padding: 14px 20px; white-space: nowrap; }
.hk-cmp__table td { padding: 16px 20px; border-top: 1px solid var(--rule); color: var(--ink-soft); vertical-align: middle; }
.hk-cmp__table tbody tr:first-child td { border-top: 0; }
.hk-cmp__table tbody tr:nth-child(even) td { background: #fafafa; }
.hk-cmp__trip { display: flex; align-items: center; gap: 16px; font-family: var(--font-display); font-size: 18.5px; color: var(--ink); text-decoration: none; }
.hk-cmp__trip span { min-width: 170px; }
.hk-cmp__trip img { width: 72px; height: 54px; object-fit: cover; flex: 0 0 72px; }
.hk-cmp__trip:hover { color: var(--saffron-600); }
.hk-cmp__grade { display: inline-block; padding: 4px 10px; font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--saffron-600); background: var(--saffron-50); }
.hk-cmp__price { font-weight: 700; color: var(--ink); white-space: nowrap; font-size: 17px; }
.hk-cmp__price small { font-weight: 400; font-size: 13px; color: var(--muted); }
.hk-cmp__go { text-align: right; width: 1%; white-space: nowrap; }
.hk-cmp__note { margin: 14px 0 0; font-size: 14px; color: var(--muted); }
.hk-cmp__note i { color: var(--saffron); margin-right: 6px; }

@media (max-width: 991px) {
    .hk-glance__intro { grid-template-columns: minmax(0, 1fr); }
    .hk-kf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hk-cmp__trip img { display: none; }
    .hk-cmp__table th, .hk-cmp__table td { padding-left: 14px; padding-right: 14px; }
}
@media (max-width: 767px) {
    .hk-kf-grid { grid-template-columns: minmax(0, 1fr); }
    .hk-kf { padding: 24px 20px; grid-template-columns: 44px minmax(0, 1fr); column-gap: 16px; }
    .hk-kf__icon, .hk-kf .hk-kf__icon i { font-size: 18px; }
    .hk-kf__icon { width: 44px; height: 44px; }
    .hk-kf__value { font-size: 20px; }
    .hk-cmp__scroll { background: transparent; border: 0; }
    .hk-cmp__table thead { display: none; }
    .hk-cmp__table, .hk-cmp__table tbody, .hk-cmp__table tr, .hk-cmp__table td { display: block; width: 100%; }
    .hk-cmp__table tr { background: #fff; border: 1px solid var(--rule); margin-bottom: 14px; }
    .hk-cmp__table tbody tr:nth-child(even) td { background: #fff; }
    .hk-cmp__table td { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 16px; border-top: 1px solid var(--rule-soft); }
    .hk-cmp__table td::before { content: attr(data-label); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
    .hk-cmp__table td:first-child { display: block; padding: 16px; border-top: 0; }
    .hk-cmp__table td:first-child::before, .hk-cmp__go::before { content: none !important; }
    .hk-cmp__go { width: 100%; text-align: left; }
    .hk-cmp__go .hh-btn { width: 100%; justify-content: center; }
}

/* ---- Category: intro + quick facts + FAQ ---- */
.hh-cat-intro { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(28px, 5vw, 64px); align-items: start; padding-bottom: clamp(36px, 5vw, 56px); margin-bottom: clamp(36px, 5vw, 56px); border-bottom: 1px solid var(--rule); }
.hh-cat-intro .hh-prose { font-size: 17px; line-height: 1.8; }
.hh-cat-intro .hh-prose h2 { font-size: clamp(26px, 3vw, 34px); margin: 0 0 .6em; }
.hh-cat-intro .hh-prose h3 { font-size: 22px; }
.hh-cat-intro .hh-prose strong { color: var(--ink); font-weight: 600; }
.hh-cat-intro .hh-prose ul { list-style: none; padding-left: 0; }
.hh-cat-intro .hh-prose ul li { position: relative; padding-left: 30px; }
.hh-cat-intro .hh-prose ul li::before { content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: 1px; color: var(--saffron); }
.hh-cat-facts { position: sticky; top: calc(var(--nav-h) + 20px); background: var(--ink); color: #e9e9ec; padding: 28px; }
.hh-cat-facts__title { font-family: var(--font-display); font-size: 22px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; color: #fff; margin: 0 0 14px; }
.hh-cat-facts dl { margin: 0 0 18px; }
.hh-cat-facts dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.hh-cat-facts dt { font-weight: 400; font-size: 14.5px; color: #cfcfd4; }
.hh-cat-facts dt i { color: var(--green-bright); width: 18px; margin-right: 10px; }
.hh-cat-facts dd { margin: 0; font-family: var(--font-display); font-size: 19px; color: #fff; text-align: right; }
.hh-cat-facts p { font-size: 14.5px; color: #cfcfd4; margin: 0 0 18px; }
.hh-cat-faq { background: var(--paper-2); border-top: 1px solid var(--rule); }
.hh-cat-faq .hh-acc__panel p:last-child { margin-bottom: 0; }
@media (max-width: 991px) {
    .hh-cat-intro { grid-template-columns: minmax(0, 1fr); }
    .hh-cat-facts { position: static; }
}

/* ---- Category: long-form guide with table of contents ---- */
.hh-guide { border-top: 1px solid var(--rule); }
.hh-guide__grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.hh-guide__toc { position: sticky; top: calc(var(--nav-h) + 20px); max-height: calc(100vh - var(--nav-h) - 40px); overflow-y: auto; border-left: 3px solid var(--saffron); padding: 4px 0 4px 20px; }
.hh-guide__toc strong { display: block; font-family: var(--font-display); font-weight: 500; font-size: 18px; text-transform: uppercase; letter-spacing: .04em; color: var(--ink); margin-bottom: 12px; }
.hh-guide__toc ol { list-style: none; margin: 0 0 14px; padding: 0; counter-reset: toc; }
.hh-guide__toc li { counter-increment: toc; margin: 0; }
.hh-guide__toc a { display: flex; gap: 10px; padding: 6px 0; font-size: 14.5px; line-height: 1.45; color: var(--ink-soft); text-decoration: none; }
.hh-guide__toc a::before { content: counter(toc, decimal-leading-zero); font-weight: 600; font-size: 12.5px; color: var(--saffron); padding-top: 2px; }
.hh-guide__toc a:hover { color: var(--saffron-600); }
.hh-guide__time { font-size: 13.5px; color: var(--muted); }
.hh-guide__time i { color: var(--saffron); margin-right: 4px; }
.hh-guide__body { max-width: 780px; font-size: 17px; line-height: 1.8; }
.hh-guide__body > h2:first-child { font-size: clamp(28px, 3.2vw, 38px); margin-top: 0; }
.hh-guide__body h2 { scroll-margin-top: calc(var(--nav-h) + 20px); padding-top: 12px; }
.hh-guide__body strong { color: var(--ink); font-weight: 600; }
.hh-guide__body ul { list-style: none; padding-left: 0; }
.hh-guide__body ul li { position: relative; padding-left: 30px; }
.hh-guide__body ul li::before { content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: 1px; color: var(--saffron); }
.hh-guide__body table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: 15px; background: #fff; border: 1px solid var(--rule); display: block; overflow-x: auto; }
.hh-guide__body th { background: var(--ink); color: #fff; font-weight: 500; font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; text-align: left; padding: 12px 14px; white-space: nowrap; }
.hh-guide__body td { padding: 11px 14px; border-top: 1px solid var(--rule); vertical-align: top; }
.hh-guide__body tbody tr:nth-child(even) td { background: #fafafa; }
/* When the layout script wraps a table, the wrapper scrolls, so the table keeps full width */
.hh-guide__body .table-responsive { margin: 1.4em 0; border-top: 0; }
.hh-guide__body .table-responsive > table { display: table; margin: 0; }
@media (max-width: 991px) {
    .hh-guide__grid { grid-template-columns: minmax(0, 1fr); }
    .hh-guide__toc { position: static; max-height: none; background: var(--paper-2); border-left-width: 3px; padding: 18px 20px; }
}

/* ---- Hub category (Things to Do): cards linking to sub-categories ---- */
.hh-hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.hh-hub-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rule); color: inherit; text-decoration: none; }
.hh-hub-card:hover { border-color: var(--saffron); }
.hh-hub-card__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--paper-2); }
.hh-hub-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hh-hub-card__body { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px 22px; flex: 1; }
.hh-hub-card__title { font-family: var(--font-display); font-size: 22px; font-weight: 500; color: var(--ink); margin: 0; }
.hh-hub-card__body p { font-size: 15px; line-height: 1.6; color: var(--ink-soft); margin: 0; flex: 1; }
@media (max-width: 991px) { .hh-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .hh-hub-grid { grid-template-columns: minmax(0, 1fr); } }
.hh-hub-card__icon { width: 56px; height: 56px; display: grid; place-items: center; background: var(--saffron-50); color: var(--saffron); font-size: 24px; margin-bottom: 4px; }
.hh-hub-card__icon i { color: var(--saffron); }
.hh-hub-card:hover .hh-hub-card__icon { background: var(--saffron); }
.hh-hub-card:hover .hh-hub-card__icon i { color: #fff; }
.hh-hub-card__body { padding: 26px 26px 24px; }

/* Menu labels without a page (Destinations) */
.hh-menu__link--btn { background: none; border: 0; cursor: pointer; font-family: inherit; }
.hh-mob__label { flex: 1; text-align: left; background: none; border: 0; padding: 14px 0; font-family: var(--font-display); font-size: 17px; text-transform: uppercase; letter-spacing: .03em; color: var(--ink); cursor: pointer; }
.hh-hub-section + .hh-hub-section { margin-top: clamp(40px, 5vw, 56px); }
.hh-hub-section__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 18px; padding-bottom: 12px; border-bottom: 1px solid var(--rule); }
.hh-hub-section__title { font-family: var(--font-display); font-size: clamp(24px, 2.6vw, 30px); font-weight: 500; text-transform: uppercase; letter-spacing: .02em; margin: 0; }

/* Trip page: add-on price list */
.hh-addon-list { border: 1px solid var(--rule); background: #fff; }
.hh-addon-list > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 16px; border-top: 1px solid var(--rule); font-size: 15.5px; color: var(--ink-soft); }
.hh-addon-list > div:first-child { border-top: 0; }
.hh-addon-list strong { color: var(--ink); white-space: nowrap; font-weight: 600; }

/* Trip page: short itinerary (after highlights) */
.hh-outline { margin: 0 0 40px; }
.hh-outline__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.hh-outline__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.hh-outline__list a { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 14px; align-items: baseline; padding: 11px 4px; border-bottom: 1px solid var(--rule); color: var(--ink-soft); text-decoration: none; font-size: 15.5px; }
.hh-outline__list a:hover { background: var(--saffron-50); color: var(--ink); }
.hh-outline__day { font-family: var(--font-display); font-size: 15px; text-transform: uppercase; letter-spacing: .04em; color: var(--saffron-600); }
.hh-outline__title { color: var(--ink); }
.hh-outline__alt { font-size: 13.5px; color: var(--muted); white-space: nowrap; }
.hh-itin__item { scroll-margin-top: calc(var(--nav-h) + 70px); }
@media (max-width: 575px) {
    .hh-outline__list a { grid-template-columns: 58px minmax(0, 1fr); }
    .hh-outline__alt { grid-column: 2; }
}

/* =====================================================================
   Brand sync with the logo (images/logo-hh.png)
   Logo colours: green #1e6b3a ("HIKING") and coral #e0513f ("Himalayan"); site theme uses jungle teal #11846c
   ===================================================================== */

/* Logo image: white via CSS on the dark header; original colours elsewhere (off-white footer, mobile menu) */
.hh-logo { gap: 0; }
.hh-logo__img { display: block; height: 50px; width: auto; }
.hh-nav .hh-logo__img { filter: brightness(0) invert(1); }
.hh-footer .hh-logo__img { height: 56px; }
.hh-drawer .hh-logo__img { height: 44px; }
@media (max-width: 767px) { .hh-nav .hh-logo__img { height: 40px; } }

/* Header stays dark (see the header section above); brand accents only */
.hh-mega, .hh-drop { border-top-color: var(--coral); }

/* Coral accents taken from the logo */
.hh-hand, .hh-hero__hello { color: var(--coral-600); }
.hk-hero__eyebrow { background: var(--coral-600); }
.hh-footer { border-top: 4px solid var(--coral); }
.hh-guide__toc { border-left-color: var(--coral); }
.hh-guide__toc a::before { color: var(--coral-600); }
.hh-outline__day { color: var(--coral-600); }
.hh-cat-facts dt i, .hh-footer__contact i { color: var(--green-bright); }
.hk-glance__answer { border-left-color: var(--coral); }

/* ---- Footer: off-white theme (logo in its original colours) ---- */
.hh-footer { background: #f6f4ef; color: var(--ink-soft); border-top: 4px solid var(--coral); }
.hh-footer h4 { color: var(--ink); }
.hh-footer a, .hh-footer__legal a, .hh-footer__contact li { color: var(--ink); }
.hh-footer a:hover { color: var(--saffron); }
.hh-footer__contact i, .hh-footer ul.hh-footer__links li::before, .hh-footer__cta .fa-whatsapp { color: var(--saffron) !important; }
.hh-footer__row, .hh-footer__legal { border-top-color: var(--rule); }
.hh-footer__legal { color: var(--muted); }
.hh-footer__badges a { text-decoration-color: rgba(0,0,0,.25); }
.hh-footer .hh-btn--accent, .hh-footer .hh-btn--accent:hover { color: #fff; }


/* ---- Home: reviews as an accordion ---- */
.hk-say__acc { background: #fff; padding: 8px clamp(20px, 3vw, 32px); border-top: 3px solid var(--saffron); }
.hk-say__acc .hh-acc__item:last-child { border-bottom: 0; }
.hk-say__acc .hh-acc__btn { align-items: center; gap: 14px; padding: 16px 0; font-family: var(--font-text); font-size: 16px; }
.hk-say__who { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hk-say__who strong { font-weight: 600; color: var(--ink); }
.hk-say__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 13.5px; color: var(--muted); }
.hk-say__meta .hh-stars { font-size: 12px; }
.hk-say__acc .hh-avatar { background: var(--saffron-50); color: var(--saffron); width: 40px; height: 40px; font-size: 15px; }
.hk-say__acc .hh-acc__panel { padding: 0 0 18px 54px; }
.hk-say__text { font-size: 16.5px; line-height: 1.75; color: var(--ink-soft); }
.hk-say__text p { margin: 0 0 12px; }
@media (max-width: 575px) { .hk-say__acc .hh-acc__panel { padding-left: 0; } }

/* ---- Home: coral and sand on selected sections so the page is not all green ---- */
/* Feature boxes */
.hk-feature > i { color: var(--coral); }
.hk-feature .hh-link { color: var(--coral-600); }
.hk-feature .hh-link:hover { color: var(--ink); }
/* About: heading icon and checklist */
.hk-about__head > i { color: var(--coral); }
.hk-check .hh-check { color: var(--coral); }
/* At a glance: warm sand background, coral fact icons */
.hk-glance { background: var(--sand); }
.hk-kf .hk-kf__icon { background: var(--coral-50); }
.hk-kf .hk-kf__icon i { color: var(--coral); }
/* Why us (dark): coral icons */
.hk-why .hk-why__item > i { color: var(--coral); }
/* Gallery labels */
.hk-gallery span { color: var(--coral-600); }
/* Reviews: sand background, coral stars, avatars and top line */
.hk-say { background: var(--sand) var(--topo-light); }
.hk-say__acc { border-top-color: var(--coral); }
.hk-say .hh-stars { color: var(--coral); }
.hk-say__acc .hh-avatar { background: var(--coral-50); color: var(--coral-600); }
.hk-say__acc .hh-link { color: var(--coral-600); }
.hk-say__acc .hh-acc__item.is-open .hh-acc__icon { background: var(--coral); border-color: var(--coral); }
.hk-say__acc .hh-acc__icon { color: var(--coral-600); }
/* Stats row */
.hk-facts .hk-fact > i { color: var(--coral); }

/* Small teal text uses the darker teal so it passes 4.5:1 on white, grey and sand backgrounds */
.hh-link, .is-price, .hh-price, .hk-trip__stats .is-price { color: var(--saffron-600); }
.hh-link:hover { color: var(--ink); }


/* Blog articles: quick-answer note, table of contents */
.hh-note { background: var(--saffron-50); border-left: 4px solid var(--saffron); border-radius: 0 10px 10px 0; padding: 18px 22px; margin: 1.6em 0; }
.hh-note p { margin: 0; color: var(--ink); }
.hh-article-meta i { color: var(--saffron-600); margin-right: 4px; }
.hh-article-toc { background: var(--sand); border: 1px solid var(--rule); border-radius: 12px; padding: 16px 22px; margin: 0 0 28px; }
.hh-article-toc summary { cursor: pointer; font-family: var(--font-display); font-size: 18px; text-transform: uppercase; letter-spacing: .04em; color: var(--ink); }
.hh-article-toc ol { margin: 12px 0 0; padding-left: 22px; columns: 2 260px; column-gap: 32px; }
.hh-article-toc li { margin: 0 0 6px; break-inside: avoid; font-size: 15px; line-height: 1.45; }
.hh-article-toc a { color: var(--ink-soft); text-decoration: none; }
.hh-article-toc a:hover { color: var(--saffron-600); text-decoration: underline; }
.hh-article-body { max-width: none; }
.hh-article-body h3 { margin-top: 1.6em; }

/* ==========================================================================
   Home: card carousels (Owl) for treks, gallery, reviews and articles
   ========================================================================== */
.hk-head__actions { display: flex; align-items: center; gap: 12px; }
.hk-carousel .owl-item > * { width: 100%; }
.hk-carousel .owl-stage-outer { padding-bottom: 2px; }
.hk-carousel.owl-theme .owl-dots { margin-top: 28px !important; }
.hk-carousel.owl-theme .owl-dots .owl-dot.active span { background: var(--saffron); }
/* Before (or without) JavaScript: a plain scrollable row instead of Owl's hidden state */
.hk-carousel:not(.owl-loaded) { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; }
.hk-carousel:not(.owl-loaded) > * { flex: 0 0 calc((100% - (var(--per, 3) - 1) * 24px) / var(--per, 3)); scroll-snap-align: start; }
.hk-gallery.hk-carousel { display: block; }
.hk-gallery.hk-carousel:not(.owl-loaded) { display: flex; }
/* Reviews */
.hk-car-nav { display: flex; justify-content: flex-end; margin: 32px 0 20px; }
.hk-say__cards .hh-review { background: #fff; border: 0; border-top: 3px solid var(--saffron); padding: 28px; }
.hk-say__cards .hh-review__body { font-size: 16px; line-height: 1.7; color: var(--ink-soft); flex: 1; }
.hk-say__cards .hh-review__who a { display: block; font-size: 13.5px; color: var(--saffron-600); }
.hk-say__cards .hh-avatar { background: var(--saffron-50); color: var(--saffron); }
@media (max-width: 991px) {
    .hk-carousel:not(.owl-loaded) > * { flex-basis: calc((100% - 24px) / 2); }
}
@media (max-width: 575px) {
    .hk-head__actions .hh-carousel-nav { display: none !important; }
    .hk-car-nav { display: none; }
    /* One card, left-aligned with the heading, with the next card peeking in */
    section:has(> .hh-wrap > .hk-carousel) { overflow-x: clip; }
    .hk-carousel { width: 86%; }
    .hk-carousel .owl-stage-outer { overflow: visible; }
    .hk-carousel.owl-theme .owl-dots { width: calc(100% / .86); }
    .hk-carousel:not(.owl-loaded) > * { flex-basis: 100%; }
}

/* Feature boxes as a carousel: keep the overlap on the hero; room for the card shadow */
.hk-features__grid.hk-carousel { display: block; }
.hk-features__grid.hk-carousel:not(.owl-loaded) { display: flex; }
.hk-features__grid .owl-stage-outer { padding: 24px 0 48px; margin: -24px 0 -48px; }
.hk-features__grid .hk-feature { box-shadow: 0 14px 30px rgba(0,0,0,.07); height: 100%; }
.hk-features__grid.owl-theme .owl-dots { margin-top: 20px !important; }
.hk-features__grid .owl-item .hk-feature:last-child { grid-column: auto; }

/* Key facts ("Best time to trek" etc.) as a carousel of cards */
.hk-kf-grid.hk-carousel { display: block; background: none; border: 0; margin-top: 0; }
.hk-kf-grid.hk-carousel:not(.owl-loaded) { display: flex; }
.hk-kf-grid .hk-kf { border: 1px solid var(--rule); height: 100%; }
.hk-kf h3.hk-kf__label { font-family: var(--font-text); line-height: 1.4; }
/* Compare our Nepal treks: cards */
.hk-cmp__head .hk-head__actions { gap: 16px; }
.hk-cmp-card { background: #fff; border: 1px solid var(--rule); display: flex; flex-direction: column; height: 100%; }
.hk-cmp-card__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--paper-2); }
.hk-cmp-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.hk-cmp-card:hover .hk-cmp-card__img img { transform: scale(1.04); }
.hk-cmp-card__body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.hk-cmp-card h4 { font-family: var(--font-text); font-weight: 500; font-size: 17px; letter-spacing: 0; line-height: 1.35; margin: 0 0 14px; text-transform: none; }
.hk-cmp-card h4 a { color: var(--ink); }
.hk-cmp-card h4 a:hover { color: var(--saffron); }
.hk-cmp-card__facts { margin: 0 0 16px; border-top: 1px solid var(--rule-soft); }
.hk-cmp-card__facts > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--rule-soft); font-size: 14.5px; }
.hk-cmp-card__facts dt { font-weight: 500; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.hk-cmp-card__facts dd { margin: 0; color: var(--ink); text-align: right; }
.hk-cmp-card__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.hk-cmp-card__price { font-weight: 600; color: var(--ink); white-space: nowrap; }
.hk-cmp-card__price small { font-weight: 400; color: var(--muted); font-size: 12.5px; }
.hk-cmp__cards { margin-top: 8px; }

/* Mobile: "Why trek with us" as a compact 2 x 2 grid of tiles */
@media (max-width: 575px) {
    .hk-why { padding: 56px 0; }
    .hk-why__text { font-size: 15.5px; margin-bottom: 24px; }
    .hk-why__items { grid-template-columns: 1fr 1fr; gap: 12px; }
    .hk-why__item { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); padding: 18px 16px; }
    .hk-why__item > i { font-size: 24px; margin-bottom: 12px; }
    .hk-why__item h3 { font-size: 16px; font-weight: 500; margin-bottom: 6px; }
    .hk-why__item p { font-size: 13.5px; line-height: 1.55; }
}


/* Home stats strip on phones: 2 x 2 tiles, centred, icon in a round badge */
@media (max-width: 575px) {
    .hk-facts { grid-template-columns: 1fr 1fr; margin-top: 36px; }
    .hk-fact { flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: 10px; padding: 22px 12px 20px; border-top: 0; }
    .hk-fact:nth-child(even) { border-left: 1px solid var(--rule) !important; }
    .hk-fact:nth-child(n+3) { border-top: 1px solid var(--rule); }
    .hk-fact:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .hk-facts .hk-fact > i { width: 48px; height: 48px; border-radius: 50%; background: var(--coral-50); display: grid; place-items: center; font-size: 20px; }
    .hk-fact strong { font-size: 28px; }
    .hk-fact span { display: block; font-size: 13px; line-height: 1.35; }
}

/* ==========================================================================
   Home: fixed departures as cards
   Grid on desktop/tablet; on phones a native swipe row (scroll-snap) with a
   peek of the next card and dot indicators (dots script in home.blade.php)
   ========================================================================== */
.hk-depcards__track { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.hk-depcard__price small { display: block; margin-top: 2px; }
@media (max-width: 1199px) { .hk-depcards__track { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hk-depcard > article { height: 100%; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rule); padding: 20px; transition: border-color .2s, box-shadow .2s; }
.hk-depcard > article:hover { border-color: var(--saffron); box-shadow: 0 12px 28px rgba(0,0,0,.07); }
.hk-depcard__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.hk-depcard__date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 58px; height: 62px; border: 1px solid var(--rule); border-top: 4px solid var(--saffron); background: #fff; line-height: 1; flex: 0 0 auto; }
.hk-depcard__date .m { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--saffron-600); }
.hk-depcard__date .d { font-family: var(--font-display); font-size: 26px; color: var(--ink); margin-top: 5px; }
.hk-depcard .hh-st { font-size: 12.5px; background: var(--paper-2); padding: 6px 11px; border-radius: 999px; }
.hk-depcard__title { font-family: var(--font-text); font-size: 18px; font-weight: 500; line-height: 1.35; letter-spacing: 0; text-transform: none; margin: 0 0 6px; }
.hk-depcard__title a { color: var(--ink); }
.hk-depcard__title a:hover { color: var(--saffron-600); }
.hk-depcard__meta { font-size: 14px; color: var(--muted); margin: 0 0 18px; }
.hk-depcard__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--rule-soft); }
.hk-depcard__price { font-size: 18px; font-weight: 600; color: var(--ink); white-space: nowrap; }
.hk-depcard__price small { font-size: 12.5px; font-weight: 400; color: var(--muted); }
.hk-depcard__full { font-size: 13px; color: var(--muted); }
.hk-depcards:focus-visible { outline: 2px solid var(--saffron); outline-offset: 4px; }
.hk-depcards__dots { display: none; }
@media (max-width: 991px) {
    .hk-depcards__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .hk-depcards { margin: 0 calc(-1 * var(--gutter)); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scroll-behavior: smooth; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .hk-depcards::-webkit-scrollbar { display: none; }
    .hk-depcards__track { display: flex; gap: 14px; padding: 4px 0 10px var(--gutter); }
    .hk-depcards__track::after { content: ""; flex: 0 0 calc(var(--gutter) - 14px); }
    .hk-depcard { flex: 0 0 min(84%, 340px); scroll-snap-align: start; }
    .hk-depcards__dots { display: flex; justify-content: center; gap: 2px; margin-top: 8px; }
    .hk-depcards__dot { position: relative; width: 24px; height: 24px; border: 0; padding: 0; background: none; cursor: pointer; }
    .hk-depcards__dot::before { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 4px; background: var(--rule); transition: width .2s, margin .2s, background .2s; }
    .hk-depcards__dot.is-active::before { width: 20px; margin-left: -10px; background: var(--saffron); }
}
@media (prefers-reduced-motion: reduce) {
    .hk-depcards { scroll-behavior: auto; }
    .hk-depcard > article, .hk-depcards__dot::before { transition: none; }
}
