@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

:root {
  --paper: #f5f2eb;
  --paper2: #ebe6db;
  --ink: #22251f;
  --muted: #77786f;
  --green: #263c31;
  --gold: #b79a6b;
  --line: rgba(34,37,31,.17);
  --display: 'Playfair Display', Georgia, serif;
  --body: 'DM Sans', Arial, sans-serif;
  --gutter: clamp(22px, 6.3vw, 104px);
  --ease: cubic-bezier(.22,1,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  margin: 0; background: var(--paper); color: var(--ink);
  font: 14px var(--body); -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }
::selection { background: var(--gold); color: var(--ink); }

.announcement {
  height: 30px; background: var(--green); color: #e9e3d8;
  display: flex; justify-content: space-between; align-items: center;
  padding: 0 var(--gutter); font-size: 9px;
  letter-spacing: .13em; text-transform: uppercase;
}
.site-header {
  height: 84px; padding: 0 var(--gutter); display: flex;
  align-items: center; justify-content: space-between; gap: 30px;
  position: relative; z-index: 30; background: var(--paper);
  border-bottom: 1px solid var(--line);
}
.brand { display: flex; align-items: center; gap: 11px; min-width: 220px; }
.brand-mark {
  width: 39px; height: 39px; border: 1px solid var(--gold);
  display: grid; place-items: center; color: var(--green);
  font: 600 15px var(--display); letter-spacing: -.08em;
}
.brand-copy { display: flex; flex-direction: column; gap: 4px; }
.brand-copy strong { font: 600 15px var(--display); letter-spacing: -.025em; }
.brand-copy small { font-size: 8px; letter-spacing: .13em; text-transform: uppercase; color: var(--muted); }
.desktop-nav { display: flex; align-items: center; gap: clamp(18px,2.8vw,42px); }
.desktop-nav a {
  font-size: 11px; color: #4f5149; position: relative; padding: 10px 0;
}
.desktop-nav a:after {
  content: ""; position: absolute; left: 0; bottom: 3px; width: 100%;
  height: 1px; background: var(--gold); transform: scaleX(0);
  transform-origin: right; transition: transform .45s var(--ease);
}
.desktop-nav a:hover:after { transform: scaleX(1); transform-origin: left; }
.header-cta {
  background: var(--green); color: white; padding: 14px 17px;
  font-size: 10px; display: flex; gap: 25px; align-items: center;
  transition: background .35s, transform .35s var(--ease);
}
.header-cta:hover { background: #3b5545; transform: translateY(-2px); }
.header-cta span { font-size: 15px; }
.menu-toggle { display: none; }
.mobile-menu { display: none; }

.hero {
  height: min(790px,calc(100svh - 114px)); min-height: 620px;
  position: relative; overflow: hidden; background: #30382e;
  color: white; isolation: isolate;
}
.hero-photo, .hero-shade { position: absolute; inset: 0; }
.hero-photo {
  background: url("https://images.unsplash.com/photo-1565552645632-d725f8bfc19a?auto=format&fit=crop&w=2200&q=90") center 48%/cover;
  transform: scale(1.09); animation: heroZoom 1.7s var(--ease) forwards; z-index: -2;
}
.hero-shade {
  background: linear-gradient(90deg,rgba(18,29,23,.78),rgba(18,29,23,.4) 52%,rgba(18,29,23,.05)),
              linear-gradient(0deg,rgba(18,29,23,.52),transparent 32%);
  z-index: -1;
}
.hero-topline {
  position: absolute; left: var(--gutter); right: var(--gutter); top: 34px;
  display: flex; justify-content: space-between; align-items: center;
}
.eyebrow { font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.eyebrow.light { color: rgba(255,255,255,.78); }
.hero-index { font-size: 9px; letter-spacing: .12em; color: #ffffffb8; }
.hero-content { position: absolute; left: var(--gutter); top: 49%; transform: translateY(-42%); max-width: 780px; }
.hero-kicker { font-size: 9px; letter-spacing: .19em; margin: 0 0 24px; color: #e4c99a; }
.hero h1 {
  font: 400 clamp(58px,8.2vw,120px)/.98 var(--display);
  letter-spacing: -.065em; margin: 0 0 25px;
}
.hero h1 em, .display em { font-weight: 400; color: var(--gold); }
.hero-desc { max-width: 420px; line-height: 1.85; color: #ffffffc7; font-size: 13px; }
.hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 35px; }
.btn {
  display: inline-flex; align-items: center; justify-content: space-between;
  gap: 32px; padding: 16px 18px; min-width: 218px; font-size: 10px;
  position: relative; overflow: hidden;
  transition: transform .45s var(--ease), background .3s, color .3s;
}
.btn:before {
  content: ""; position: absolute; inset: 0; background: var(--gold);
  transform: translateY(101%); transition: transform .45s var(--ease);
}
.btn:hover:before { transform: translateY(0); }
.btn > * { position: relative; }
.btn-light { background: var(--paper); color: var(--ink); }
.btn:hover { transform: translateY(-3px); }
.btn-arrow { font-size: 16px; transition: transform .35s var(--ease); }
.btn:hover .btn-arrow { transform: translate(3px,-3px); }
.text-link { font-size: 10px; display: inline-flex; gap: 13px; align-items: center; }
.text-link span { font-size: 16px; transition: transform .35s var(--ease); }
.text-link:hover span { transform: translate(3px,-3px); }
.light-link { color: white; }
.hero-bottom {
  position: absolute; left: var(--gutter); right: var(--gutter); bottom: 23px;
  display: flex; align-items: center; justify-content: space-between;
  font-size: 8px; letter-spacing: .15em; color: #ffffffb0;
}
.scroll-cue { display: flex; align-items: center; gap: 10px; }
.scroll-cue i { height: 24px; width: 1px; background: var(--gold); animation: scrollLine 1.7s ease-in-out infinite; }

.trust-strip {
  padding: 27px var(--gutter); display: grid; grid-template-columns: repeat(4,1fr);
  border-bottom: 1px solid var(--line); background: #ede8de;
}
.trust-strip > div { display: flex; align-items: center; gap: 15px; padding: 0 18px; border-right: 1px solid var(--line); }
.trust-strip > div:first-child { padding-left: 0; }
.trust-strip > div:last-child { border: 0; }
.trust-number { font: italic 15px var(--display); color: var(--gold); }
.trust-strip p { font-size: 10px; color: var(--muted); margin: 0; }
.trust-strip strong { color: var(--ink); }

.section-pad { padding: clamp(85px,11vw,155px) var(--gutter); }
.story { display: grid; grid-template-columns: .55fr 2fr .65fr; gap: 5vw; position: relative; min-height: 570px; align-items: start; }
.section-aside { display: flex; flex-direction: column; gap: 100px; }
.vertical-note { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 8px; letter-spacing: .16em; color: #9c9a8e; }
.story-main { max-width: 720px; }
.story-main > .eyebrow { margin: 0 0 27px; }
.display { font: 400 clamp(38px,5.2vw,73px)/1.1 var(--display); letter-spacing: -.055em; margin: 0; }
.story-main .display { margin-bottom: 32px; }
.body-copy { font-size: 13px; line-height: 1.95; color: #686a60; max-width: 560px; }
.story-main .body-copy { max-width: 600px; margin: 0 0 16px; }
.underlined-link { display: inline-flex; gap: 38px; align-items: center; margin-top: 24px; padding-bottom: 10px; border-bottom: 1px solid var(--gold); font-size: 10px; }
.underlined-link span { font-size: 15px; transition: transform .35s; }
.underlined-link:hover span { transform: translate(3px,-3px); }
.story-stamp {
  align-self: end; justify-self: end; width: 120px; height: 120px;
  border: 1px solid var(--gold); border-radius: 50%; display: flex;
  align-items: center; justify-content: center; flex-direction: column; gap: 7px;
  transform: rotate(-12deg); color: var(--green);
}
.story-stamp > span { font: 500 33px var(--display); }
.story-stamp small { text-align: center; font-size: 6px; letter-spacing: .12em; line-height: 1.6; }

.journeys { background: var(--paper2); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 48px; }
.section-heading .eyebrow { margin: 0 0 23px; }
.section-heading > p { max-width: 300px; font-size: 12px; line-height: 1.9; color: var(--muted); margin: 0 0 5px; }
.journey-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.journey-card { min-width: 0; display: block; }
.journey-image { height: clamp(220px,29vw,390px); overflow: hidden; position: relative; background: #c4bba8; }
.journey-image:after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,#141d1747,transparent 40%); pointer-events: none; }
.journey-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease),filter .7s; }
.journey-card:hover .journey-image img { transform: scale(1.08); filter: saturate(1.12); }
.image-index { position: absolute; z-index: 1; top: 17px; left: 17px; color: white; font-size: 8px; letter-spacing: .13em; }
.card-arrow {
  position: absolute; z-index: 2; right: 15px; bottom: 15px; width: 38px; height: 38px;
  border-radius: 50%; display: grid; place-items: center; background: var(--paper);
  transition: background .35s,color .35s,transform .35s var(--ease);
}
.journey-card:hover .card-arrow { background: var(--green); color: white; transform: rotate(45deg); }
.journey-meta { display: flex; justify-content: space-between; margin-top: 21px; font-size: 8px; letter-spacing: .12em; color: var(--muted); }
.journey-card h3 { font: 400 34px var(--display); margin: 10px 0; }
.journey-card > p { font-size: 11px; line-height: 1.85; color: var(--muted); max-width: 330px; min-height: 60px; }
.card-link { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); padding: 15px 0; margin-top: 20px; font-size: 10px; }
.card-link b { font-size: 16px; font-weight: 400; transition: transform .35s; }
.journey-card:hover .card-link b { transform: translate(3px,-3px); }
.fine-print { font-size: 9px; line-height: 1.7; color: #88877d; margin-top: 22px; }

.commitment { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px,9vw,140px); align-items: center; }
.commitment-image { height: clamp(440px,58vw,700px); position: relative; overflow: hidden; background: #b8b29e; }
.commitment-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.commitment-image:hover img { transform: scale(1.045); }
.image-caption { position: absolute; bottom: 0; left: 0; right: 0; display: flex; justify-content: space-between; background: linear-gradient(transparent,#0007); padding: 50px 20px 20px; color: white; font-size: 8px; letter-spacing: .13em; }
.commitment-copy > .eyebrow { margin: 0 0 24px; }
.commitment-copy .display { margin-bottom: 25px; }
.commitment-copy > .body-copy { margin-bottom: 30px; }
.commitment-list { border-top: 1px solid var(--line); }
.commitment-item { display: grid; grid-template-columns: 30px 1fr 20px; gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--line); align-items: start; }
.commitment-item > span { font: italic 13px var(--display); color: var(--gold); }
.commitment-item h3 { font: 500 13px var(--body); margin: 0 0 8px; }
.commitment-item p { color: var(--muted); font-size: 11px; line-height: 1.8; margin: 0; }
.commitment-item > b { font-weight: 400; }

.destination-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 16px; }
.destination { height: 350px; position: relative; overflow: hidden; background: #777; color: white; }
.destination-large { grid-row: span 2; height: 716px; }
.destination > img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.destination:hover > img { transform: scale(1.06); }
.destination-overlay { position: absolute; inset: 0; background: linear-gradient(0deg,#111c 0%,#1114 48%,transparent 100%); }
.destination-copy { position: absolute; left: 25px; right: 25px; bottom: 25px; }
.destination-copy > span { font-size: 8px; letter-spacing: .14em; }
.destination-copy h3 { font: 400 37px var(--display); margin: 9px 0; }
.destination-copy p { max-width: 300px; color: #ffffffc4; font-size: 11px; line-height: 1.7; }
.destination-arrow { position: absolute; right: 23px; top: 22px; width: 38px; height: 38px; border: 1px solid #ffffff8a; border-radius: 50%; display: grid; place-items: center; transition: transform .35s,background .35s; }
.destination:hover .destination-arrow { transform: rotate(45deg); background: var(--gold); }

.guidance { background: var(--green); color: white; }
.guidance .eyebrow { color: #d1c2a5; }
.guidance-top { display: flex; justify-content: space-between; align-items: center; }
.guidance-symbol { color: var(--gold); font-size: 35px; animation: slowRotate 22s linear infinite; }
.guidance-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 8vw; margin-top: 45px; }
.guidance-grid .display { font-size: clamp(42px,5.6vw,76px); }
.guidance-text .body-copy { color: #ffffffb7; }
.scholar-card { border-top: 1px solid #ffffff38; border-bottom: 1px solid #ffffff38; padding: 24px 0; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.scholar-card h3 { font: 400 23px var(--display); margin: 12px 0 7px; }
.scholar-card p { font-size: 11px; color: #ffffffb7; line-height: 1.8; }
.scholar-card a { width: 42px; height: 42px; border: 1px solid var(--gold); border-radius: 50%; display: grid; place-items: center; transition: background .3s,color .3s; }
.scholar-card a:hover { background: var(--gold); color: var(--ink); }

.experience { background: #e9e3d8; }
.experience-panel { display: grid; grid-template-columns: 90px 1fr 140px; gap: 25px; align-items: start; padding: 45px; border: 1px solid #d5ccbc; }
.quote-mark { font: 100px/.8 var(--display); color: var(--gold); }
.experience-placeholder { font: 400 clamp(25px,3vw,40px)/1.25 var(--display); margin: 0 0 15px; }
.experience-panel .body-copy { max-width: 530px; }
.experience-panel .eyebrow { display: inline-block; margin-top: 15px; }
.experience-count { border-left: 1px solid var(--line); padding-left: 25px; display: flex; flex-direction: column; gap: 8px; }
.experience-count strong { font: 400 45px var(--display); }
.experience-count span { font-size: 8px; letter-spacing: .12em; color: var(--muted); }

.knowledge-list { border-top: 1px solid var(--line); }
.knowledge-row { display: grid; grid-template-columns: 40px 1.1fr 1fr 30px; gap: 25px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line); transition: padding .4s var(--ease); }
.knowledge-row:hover { padding-left: 10px; }
.knowledge-no { color: var(--gold); font: italic 15px var(--display); }
.knowledge-title { display: flex; flex-direction: column; gap: 8px; }
.knowledge-title small { font-size: 8px; letter-spacing: .13em; color: var(--muted); }
.knowledge-title strong { font: 400 23px var(--display); }
.knowledge-desc { font-size: 11px; line-height: 1.8; color: var(--muted); }
.row-arrow { font-size: 18px; transition: transform .3s; }
.knowledge-row:hover .row-arrow { transform: translate(3px,-3px); }

.faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; background: var(--paper2); }
.faq-heading .display { margin: 20px 0; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 23px 0; font-size: 12px; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary span { font-size: 20px; font-weight: 300; transition: transform .3s; }
.faq-item[open] summary span { transform: rotate(45deg); }
.faq-item p { font-size: 11px; color: var(--muted); line-height: 1.9; padding: 0 25px 20px 0; margin: 0; animation: faqIn .3s ease; }

.final-cta { min-height: 600px; background: var(--green); color: white; padding: clamp(80px,10vw,140px) var(--gutter); position: relative; overflow: hidden; display: flex; align-items: center; }
.cta-bg { position: absolute; inset: 0; background: linear-gradient(90deg,#17291fdf,#17291f88),url("https://images.unsplash.com/photo-1542810634-71277d95dcbb?auto=format&fit=crop&w=2000&q=85") center/cover; opacity: .75; transition: transform 1.4s var(--ease); }
.final-cta:hover .cta-bg { transform: scale(1.035); }
.cta-content { position: relative; max-width: 780px; }
.cta-content .display { font-size: clamp(50px,7.4vw,100px); margin: 25px 0; }
.cta-content > p:not(.eyebrow) { max-width: 400px; color: #ffffffc4; font-size: 12px; line-height: 1.9; }
.cta-actions { display: flex; align-items: center; gap: 30px; margin-top: 30px; }
.cta-side-note { position: absolute; right: var(--gutter); bottom: 30px; font-size: 8px; letter-spacing: .15em; color: #ffffffa3; }

.site-footer { padding: 45px var(--gutter) 0; background: var(--paper); }
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-bottom: 35px; border-bottom: 1px solid var(--line); }
.footer-top > p { font: 400 20px/1.4 var(--display); }
.footer-top-link { font-size: 8px; letter-spacing: .12em; }
.footer-main { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 50px; padding: 45px 0; }
.footer-main > div { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer-main .eyebrow { margin-bottom: 7px; }
.footer-main a, .footer-main p { font-size: 10px; color: #62645b; margin: 0; line-height: 1.8; }
.footer-main a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.footer-note p { font: 400 24px/1.4 var(--display); max-width: 350px; color: var(--ink); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding: 17px 0; font-size: 8px; letter-spacing: .07em; color: #77786f; }
.floating-whatsapp { position: fixed; z-index: 20; right: 22px; bottom: 22px; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: #294b37; color: white; box-shadow: 0 8px 30px #0002; transition: transform .3s,background .3s; font-size: 11px; }
.floating-whatsapp:hover { transform: translateY(-4px); background: #3d694d; }

.reveal { opacity: 0; transform: translateY(26px); transition: opacity .85s var(--ease),transform .85s var(--ease); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal:nth-child(2) { transition-delay: 90ms; }
.reveal:nth-child(3) { transition-delay: 160ms; }
.reveal:nth-child(4) { transition-delay: 220ms; }
.reveal-up { opacity: 0; transform: translateY(24px); animation: textEnter .9s var(--ease) forwards; }
.hero-kicker.reveal-up { animation-delay: .22s; }
.hero h1.reveal-up { animation-delay: .34s; }
.hero-desc.reveal-up { animation-delay: .48s; }
.hero-actions.reveal-up { animation-delay: .62s; }

@keyframes heroZoom { to { transform: scale(1); } }
@keyframes textEnter { to { opacity: 1; transform: translateY(0); } }
@keyframes scrollLine { 0%,100% { transform: scaleY(.5); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } }
@keyframes slowRotate { to { transform: rotate(360deg); } }
@keyframes faqIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1050px) {
  .desktop-nav { gap: 17px; }
  .desktop-nav a { font-size: 10px; }
  .brand { min-width: 190px; }
  .header-cta { gap: 14px; }
  .story { grid-template-columns: .4fr 2fr .3fr; }
  .story-stamp { width: 90px; height: 90px; }
  .commitment { gap: 5vw; }
}
@media (max-width: 800px) {
  .desktop-nav, .header-cta { display: none; }
  .site-header { height: 75px; }
  .menu-toggle { display: flex; border: 0; background: none; color: var(--ink); padding: 12px 0; gap: 10px; align-items: center; cursor: pointer; }
  .menu-toggle .close-word { display: none; }
  .menu-toggle[aria-expanded="true"] .menu-word { display: none; }
  .menu-toggle[aria-expanded="true"] .close-word { display: inline; }
  .menu-toggle i { display: grid; gap: 5px; }
  .menu-toggle b { width: 22px; height: 1px; background: currentColor; display: block; transition: transform .35s; }
  .menu-toggle[aria-expanded="true"] i b:first-child { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i b:last-child { transform: translateY(-3px) rotate(-45deg); }
  .mobile-menu {
    display: flex; visibility: hidden; pointer-events: none; position: fixed;
    inset: 105px 0 auto; z-index: 25; background: var(--green); color: white;
    padding: 25px var(--gutter) 35px; flex-direction: column;
    transform: translateY(-12px); opacity: 0;
    transition: opacity .35s,transform .45s var(--ease),visibility .35s;
  }
  .mobile-menu.is-open { visibility: visible; pointer-events: auto; transform: translateY(0); opacity: 1; }
  .mobile-menu > a { display: flex; justify-content: space-between; padding: 17px 0; border-bottom: 1px solid #ffffff2a; font: 400 26px var(--display); }
  .mobile-menu > a span { font: 16px var(--body); color: var(--gold); }
  .mobile-menu p { font-size: 8px; letter-spacing: .1em; color: #ffffff9c; margin-top: 28px; }
  .hero { height: calc(90svh - 105px); min-height: 600px; }
  .hero h1 { font-size: clamp(57px,10vw,88px); }
  .trust-strip { grid-template-columns: repeat(2,1fr); gap: 20px; }
  .trust-strip > div { padding: 0 10px; border: 0; }
  .story { grid-template-columns: 1fr 3fr; min-height: auto; }
  .vertical-note { display: none; }
  .story-stamp { display: none; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .journey-grid { gap: 13px; }
  .journey-image { height: 250px; }
  .journey-card h3 { font-size: 27px; }
  .commitment { grid-template-columns: 1fr 1fr; gap: 28px; }
  .commitment-image { height: 560px; }
  .destination-grid { grid-template-columns: 1fr 1fr; }
  .destination-large { grid-column: span 2; grid-row: auto; height: 360px; }
  .destination { height: 330px; }
  .guidance-grid { gap: 5vw; }
  .experience-panel { grid-template-columns: 55px 1fr; }
  .experience-count { grid-column: 2; border: 0; border-top: 1px solid var(--line); padding: 18px 0 0; flex-direction: row; align-items: center; }
  .knowledge-row { grid-template-columns: 28px 1.2fr 30px; }
  .knowledge-desc { display: none; }
  .faq { gap: 5vw; }
  .footer-main { gap: 25px; }
}
@media (max-width: 560px) {
  .announcement { padding: 0 18px; font-size: 7px; letter-spacing: .08em; }
  .site-header { padding: 0 20px; height: 70px; }
  .brand { min-width: 0; }
  .brand-mark { width: 35px; height: 35px; }
  .brand-copy strong { font-size: 14px; }
  .brand-copy small { font-size: 7px; }
  .mobile-menu { inset: 100px 0 auto; }
  .hero { min-height: 650px; height: calc(90svh - 100px); }
  .hero-photo { background-position: 57% center; }
  .hero-shade { background: linear-gradient(90deg,#121d23bf,#121d2338),linear-gradient(0deg,#121d238c,transparent 45%); }
  .hero-topline { left: 20px; right: 20px; top: 22px; }
  .hero-index { display: none; }
  .hero-content { left: 20px; right: 20px; top: 47%; transform: translateY(-35%); }
  .hero h1 { font-size: clamp(55px,13vw,74px); }
  .hero-desc { font-size: 12px; max-width: 330px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 22px; margin-top: 26px; }
  .hero-bottom { left: 20px; right: 20px; bottom: 18px; }
  .hero-bottom > span:last-child { display: none; }
  .trust-strip { padding: 23px 20px; gap: 22px 8px; }
  .trust-strip > div { gap: 9px; }
  .trust-strip p { font-size: 9px; line-height: 1.6; }
  .section-pad { padding: 76px 20px; }
  .story { display: block; }
  .section-aside { margin-bottom: 40px; }
  .story-main .display { font-size: 42px; }
  .body-copy { font-size: 12px; }
  .journeys .section-heading .display,.destinations .section-heading .display,.knowledge .section-heading .display { font-size: 43px; }
  .journey-grid { grid-template-columns: 1fr; gap: 35px; }
  .journey-image { height: 330px; }
  .journey-card h3 { font-size: 32px; }
  .journey-card > p { min-height: 0; }
  .commitment { grid-template-columns: 1fr; gap: 35px; }
  .commitment-image { height: 430px; }
  .commitment-copy .display { font-size: 48px; }
  .destination-grid { grid-template-columns: 1fr; gap: 13px; }
  .destination-large { grid-column: auto; height: 390px; }
  .destination { height: 350px; }
  .guidance-grid { grid-template-columns: 1fr; gap: 25px; margin-top: 28px; }
  .guidance-grid .display { font-size: 45px; }
  .experience-panel { grid-template-columns: 1fr; gap: 14px; padding: 28px 23px; }
  .quote-mark { font-size: 65px; }
  .experience-count { grid-column: auto; }
  .knowledge-row { grid-template-columns: 24px 1fr 22px; gap: 12px; padding: 20px 0; }
  .knowledge-title strong { font-size: 20px; line-height: 1.35; }
  .faq { grid-template-columns: 1fr; gap: 30px; }
  .faq-heading .display { font-size: 45px; }
  .faq-item summary { font-size: 11px; }
  .final-cta { min-height: 550px; padding: 80px 20px; }
  .cta-content .display { font-size: 54px; }
  .cta-actions { align-items: flex-start; flex-direction: column; gap: 22px; }
  .cta-side-note { right: 20px; bottom: 20px; font-size: 7px; }
  .site-footer { padding: 35px 20px 0; }
  .footer-top { align-items: flex-start; flex-wrap: wrap; }
  .footer-top > p { font-size: 16px; }
  .footer-top-link { width: 100%; padding-top: 15px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 35px 20px; padding: 30px 0; }
  .footer-note { grid-column: span 2; }
  .footer-note p { font-size: 22px; }
  .footer-bottom { flex-wrap: wrap; line-height: 1.7; }
  .footer-bottom span:nth-child(2) { display: none; }
  .floating-whatsapp { right: 15px; bottom: 15px; width: 45px; height: 45px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal, .reveal-up { opacity: 1; transform: none; }
}
/* Simpler, more elegant hero */
.hero {
  min-height: 580px;
  height: min(720px, calc(100svh - 114px));
}

.hero-photo {
  animation: none;
  transform: scale(1);
  background-position: center;
}

.hero h1 {
  max-width: 760px;
  font-size: clamp(48px, 6.5vw, 88px);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.hero-kicker {
  letter-spacing: 0.12em;
}

.hero-desc {
  max-width: 440px;
}

.hero-content .reveal-up {
  animation: none;
  opacity: 1;
  transform: none;
}

@media (max-width: 560px) {
  .hero h1 {
    font-size: clamp(44px, 11vw, 62px);
  }
}

/* ==========================================
   KARWAN-E-ASKARI — BOOKING SECTION
========================================== */

.booking-section {
  --booking-border: #dcd7cb;

  position: relative;
  z-index: 2;
  width: 100%;
  padding: 30px var(--gutter, 6.3vw);
  background: var(--paper, #f5f2eb);
  color: var(--ink, #22251f);
  border-bottom: 1px solid var(--line, rgba(34, 37, 31, .17));
}

.booking-inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}

.booking-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 17px;
}

.booking-eyebrow {
  margin: 0 0 7px;
  color: var(--green, #263c31);
  font: 600 9px/1.5 var(--body, Arial, sans-serif);
  letter-spacing: .15em;
  text-transform: uppercase;
}

.booking-heading h2 {
  margin: 0;
  color: var(--ink, #22251f);
  font: 400 clamp(26px, 2.8vw, 37px)/1.15
    var(--display, Georgia, serif);
  letter-spacing: -.045em;
}

.booking-heading h2 em {
  color: var(--gold, #b79a6b);
  font-weight: 400;
}

.booking-note {
  max-width: 285px;
  margin: 0 0 3px;
  color: var(--muted, #77786f);
  font: 11px/1.8 var(--body, Arial, sans-serif);
}

.booking-form {
  width: 100%;
  margin: 0;
  padding: 17px 18px;
  background: #fffdf8;
  border: 1px solid var(--booking-border);
  box-shadow: 0 6px 22px rgba(34, 37, 31, .035);
}

.booking-fields {
  display: grid;
  grid-template-columns:
    1.05fr
    1fr
    1fr
    1fr
    .85fr;
  gap: 13px;
  align-items: end;
}

.booking-field {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 6px;
}

.booking-field label {
  display: block;
  margin: 0;
  color: #686a60;
  font: 700 8px/1.5 var(--body, Arial, sans-serif);
  letter-spacing: .11em;
}

.booking-field input,
.booking-field select {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 42px;
  margin: 0;
  padding: 0 10px;
  border: 1px solid var(--booking-border);
  border-radius: 0;
  outline: none;
  background: #fffdf8;
  color: var(--ink, #22251f);
  font: 11px var(--body, Arial, sans-serif);
  box-shadow: none;
  transition: border-color .2s, box-shadow .2s;
}

.booking-field input[type="date"] {
  padding-right: 6px;
}

.booking-field input:focus,
.booking-field select:focus {
  border-color: var(--gold, #b79a6b);
  box-shadow: 0 0 0 2px rgba(183, 154, 107, .13);
}

.booking-field input::placeholder {
  color: #89877e;
  opacity: 1;
}

.booking-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 15px;
  padding-top: 13px;
  border-top: 1px solid var(--line, rgba(34, 37, 31, .17));
}

.booking-disclaimer {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: var(--muted, #77786f);
  font: 10px/1.7 var(--body, Arial, sans-serif);
}

.booking-dot {
  display: inline-block;
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold, #b79a6b);
}

.booking-submit {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-width: 205px;
  min-height: 42px;
  margin: 0;
  padding: 0 15px;
  border: 1px solid var(--green, #263c31);
  border-radius: 0;
  background: var(--green, #263c31);
  color: #fff;
  font: 500 11px var(--body, Arial, sans-serif);
  text-align: left;
  cursor: pointer;
  transition:
    background .25s,
    border-color .25s,
    color .25s,
    transform .25s;
}

.booking-arrow {
  font-size: 17px;
  transition: transform .25s;
}

.booking-submit:hover {
  background: var(--gold, #b79a6b);
  border-color: var(--gold, #b79a6b);
  color: var(--ink, #22251f);
  transform: translateY(-1px);
}

.booking-submit:hover .booking-arrow {
  transform: translate(2px, -2px);
}

.booking-field input:focus-visible,
.booking-field select:focus-visible,
.booking-submit:focus-visible {
  outline: 2px solid var(--gold, #b79a6b);
  outline-offset: 3px;
}

/* Smaller desktop and tablets */
@media (max-width: 1050px) {
  .booking-section {
    padding: 27px var(--gutter, 6.3vw);
  }

  .booking-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px 12px;
  }
}

/* Tablets and larger phones */
@media (max-width: 800px) {
  .booking-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .booking-note {
    max-width: 420px;
  }

  .booking-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 560px) {
  .booking-section {
    padding: 27px 20px;
  }

  .booking-heading {
    margin-bottom: 16px;
  }

  .booking-heading h2 {
    font-size: 30px;
    line-height: 1.2;
  }

  .booking-note {
    font-size: 11px;
  }

  .booking-form {
    padding: 15px;
  }

  .booking-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px 10px;
  }

  .booking-field {
    gap: 6px;
  }

  .booking-field label {
    font-size: 8px;
  }

  .booking-field input,
  .booking-field select {
    height: 43px;
    padding: 0 7px;
    font-size: 11px;
  }

  .booking-field input[type="date"] {
    padding-right: 2px;
  }

  .booking-footer {
    align-items: stretch;
    flex-direction: column;
    gap: 13px;
    margin-top: 15px;
    padding-top: 14px;
  }

  .booking-disclaimer {
    font-size: 9px;
  }

  .booking-submit {
    width: 100%;
    min-width: 0;
    min-height: 45px;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .booking-field input,
  .booking-field select,
  .booking-submit,
  .booking-arrow {
    transition: none;
  }
}

/* WordPress-managed package and blog content */
.knowledge-title{min-width:0}.knowledge-thumb{width:56px;height:56px;object-fit:cover;float:left;margin:0 14px 8px 0}.kea-article-image{margin:35px 0}.kea-article-image img{width:100%;max-height:620px;object-fit:cover}.kea-reading-width{max-width:900px;margin:0 auto}.kea-content{max-width:800px;margin-top:35px;color:var(--ink);line-height:1.9}.kea-content p{margin:0 0 1.25em}.kea-content h2,.kea-content h3{font-family:var(--display);font-weight:400;line-height:1.2;color:var(--ink);margin:1.6em 0 .6em}.kea-content img{height:auto}.kea-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:45px}.kea-post-card img{width:100%;height:260px;object-fit:cover}.kea-post-card h2{font:400 28px/1.2 var(--display);margin:18px 0 10px}.kea-post-card p{color:var(--muted);font-size:12px;line-height:1.8}.kea-package-facts{padding:18px 22px;background:var(--paper2);margin:25px 0}.kea-package-facts p{margin:6px 0}.kea-single .btn{background:var(--green);color:white;padding:15px 20px;display:inline-flex;gap:20px;margin-top:15px}.kea-post-card a:hover h2{color:var(--green)}@media(max-width:800px){.kea-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.kea-post-grid{grid-template-columns:1fr}.kea-post-card img{height:230px}.knowledge-thumb{width:45px;height:45px}}
