:root{
  --cream:#FAF7F1;
  --cream-2:#F1EBDC;
  --card:#F3EEE3;
  --ink:#1B1710;
  --ink-dim:#6E6A5F;
  --ink-faint:#A7A296;
  --gold:#F0B429;
  --gold-deep:#C98A12;
  --line:#E7E0CE;
  --white:#FFFFFF;

  --display:'Fraunces', serif;
  --body:'Inter', sans-serif;
  --mono:'IBM Plex Mono', monospace;

  --max:1200px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--gold);color:var(--ink);}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:2px;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}

h1,h2,h3{font-family:var(--display);font-weight:560;letter-spacing:-.01em;margin:0;color:var(--ink);}

.eyebrow{
  font-family:var(--body);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--gold-deep);
}

/* ---------- NAV ---------- */
.nav-outer{position:sticky;top:0;z-index:60;padding:18px 24px 0;background:linear-gradient(var(--cream) 60%, transparent);}
.nav{
  max-width:var(--max);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:100px;
  padding:10px 12px 10px 20px;
  box-shadow:0 10px 30px -18px rgba(27,23,16,.18);
}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:650;font-size:19px;color:var(--ink);}
.brand-mark{width:28px;height:28px;flex-shrink:0;}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a{font-size:14.5px;font-weight:500;color:var(--ink-dim);transition:color .15s ease;}
.nav-links a:hover{color:var(--ink);}
.nav-links a.active{color:var(--ink);font-weight:600;}
.nav-actions{display:flex;align-items:center;gap:10px;}
.icon-btn{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--cream-2);color:var(--ink);
  flex-shrink:0;
}
.btn{
  font-family:var(--body);font-weight:600;font-size:14.5px;
  padding:11px 20px;border-radius:100px;border:1px solid transparent;
  display:inline-flex;align-items:center;gap:8px;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--gold);color:var(--ink);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 22px -10px rgba(240,180,41,.7);}
.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--white);}
.btn-ghost:hover{border-color:var(--ink-faint);}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent;}
.btn-outline:hover{background:var(--ink);color:var(--cream);}
.btn-lg{padding:15px 26px;font-size:15.5px;}
.btn-sm{padding:8px 16px;font-size:13px;}

/* ---------- HERO (home) ---------- */
.hero{position:relative;padding:64px 0 0;overflow:hidden;}
.hero .wrap{position:relative;}
.hero-top{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.hero-copy{max-width:520px;}
.hero h1{
  font-size:clamp(2.6rem,5.2vw,4.1rem);
  line-height:1.06;
  font-weight:560;
}
.hero p.lede{margin:24px 0 0;font-size:17px;line-height:1.65;color:var(--ink-dim);max-width:440px;}
.hero-cta{display:flex;align-items:center;gap:14px;margin-top:32px;flex-wrap:wrap;}
.trust-row{display:flex;align-items:center;gap:16px;margin-top:44px;}
.avatars{display:flex;}
.avatars span{
  width:34px;height:34px;border-radius:50%;border:2.5px solid var(--cream);
  margin-left:-10px;background:linear-gradient(135deg,var(--gold),var(--ink-faint));
}
.avatars span:first-child{margin-left:0;}
.trust-text{font-size:14.5px;}
.trust-text b{font-family:var(--display);font-size:16.5px;font-weight:650;}
.trust-text a{text-decoration:underline;text-underline-offset:3px;color:var(--ink);}

/* hero visual */
.hero-visual{position:relative;height:520px;display:flex;align-items:flex-end;justify-content:center;}
.hero-photo{
  position:absolute;
  right:-56px;top:-8px;
  width:440px;height:520px;
  border-radius:24px 24px 24px 200px;
  overflow:hidden;
  box-shadow:0 30px 60px -30px rgba(27,23,16,.4);
  background:var(--card);
}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 35%;}
.badge{
  position:absolute;
  left:8px;
  bottom:36px;
  z-index:3;
  width:132px;height:132px;
  background:var(--white);
  border-radius:50%;
  border:1px solid var(--line);
  box-shadow:0 20px 40px -18px rgba(27,23,16,.25);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;
  gap:2px;
}
.badge svg{width:30px;height:30px;color:var(--gold-deep);}
.badge .badge-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;color:var(--ink-dim);text-align:center;margin-top:4px;}
.badge .badge-status{font-family:var(--mono);font-size:9px;color:var(--gold-deep);}
.orbit{
  position:absolute;left:-20px;bottom:20px;
  width:172px;height:172px;
  border:1.5px dashed var(--ink-faint);
  border-radius:50%;
  z-index:1;
}
.orbit-spin{position:absolute;inset:0;animation:spin 16s linear infinite;}
.orbit-icon{position:absolute;top:-10px;left:50%;transform:translateX(-50%);animation:counter-spin 16s linear infinite;color:var(--gold-deep);}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes counter-spin{to{transform:translateX(-50%) rotate(-360deg);}}

/* service strip inside hero */
.service-strip{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:64px;}
.service-card{
  background:var(--card);
  border-radius:18px;
  padding:24px;
  position:relative;
  overflow:hidden;
  min-height:170px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.service-card .card-eyebrow{font-size:11.5px;color:var(--ink-dim);font-weight:500;}
.service-card h3{font-size:1.25rem;margin-top:6px;line-height:1.2;font-weight:600;font-family:var(--display);}
.service-card .card-icon{
  position:absolute;right:16px;top:16px;
  width:52px;height:52px;
  color:var(--ink);
  opacity:.9;
}
.service-card .btn{margin-top:16px;align-self:flex-start;}

/* route divider */
.route-divider{display:block;width:100%;height:46px;}

/* ---------- PAGE HEADER (inner pages) ---------- */
.page-header{padding:56px 0 60px;border-bottom:1px solid var(--line);}
.page-header .wrap{max-width:720px;}
.page-header h1{font-size:clamp(2.4rem,4.6vw,3.4rem);margin-top:14px;line-height:1.08;}
.page-header p.lede{margin:20px 0 0;font-size:17px;line-height:1.65;color:var(--ink-dim);max-width:560px;}
.page-header .hero-cta{margin-top:28px;}

/* ---------- SPLIT SECTION (photo + copy) ---------- */
.split{padding:100px 0;border-bottom:1px solid var(--line);}
.split .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split.reverse .wrap{direction:rtl;}
.split.reverse .wrap>*{direction:ltr;}
.split-photo{border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -34px rgba(27,23,16,.35);}
.split-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;}
.split-copy h2{font-size:clamp(1.9rem,3.2vw,2.5rem);margin-top:14px;line-height:1.15;}
.split-copy p{color:var(--ink-dim);margin-top:16px;font-size:16.5px;max-width:460px;}
.split-copy .tracking-points{margin-top:22px;}

/* ---------- TRUST STRIP ---------- */
.trust-strip{background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0;}
.trust-strip .wrap{display:flex;align-items:center;gap:40px;flex-wrap:wrap;justify-content:space-between;}
.trust-strip-label{font-size:13px;color:var(--ink-dim);white-space:nowrap;}
.trust-logos{display:flex;gap:42px;flex-wrap:wrap;}
.trust-logos span{font-family:var(--display);font-weight:600;font-size:16.5px;color:var(--ink-faint);}

/* ---------- SECTION HEAD ---------- */
.section{padding:110px 0;border-bottom:1px solid var(--line);}
.section.no-border{border-bottom:none;}
.section.alt{background:var(--cream-2);}
.section-head{max-width:600px;margin:0 auto 56px;text-align:center;}
.section-head.left{margin-left:0;text-align:left;}
.section-head h2{font-size:clamp(2rem,3.6vw,2.7rem);margin-top:14px;}
.section-head p{color:var(--ink-dim);margin-top:16px;font-size:16.5px;}
.center{text-align:center;}

/* ---------- STEPS ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.step{
  background:var(--card);
  border-radius:18px;
  padding:30px 24px;
  position:relative;
}
.step .num{font-family:var(--mono);font-size:13px;color:var(--gold-deep);}
.step h3{font-size:1.15rem;margin-top:18px;font-weight:600;font-family:var(--display);}
.step p{font-size:14px;color:var(--ink-dim);margin-top:10px;line-height:1.55;}
.step-connector{position:absolute;top:50%;right:-24px;width:24px;height:1px;background:var(--ink-faint);}
.step:last-child .step-connector{display:none;}

/* ---------- FEATURE GRID ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.feature{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:28px 24px;}
.feature-icon{width:44px;height:44px;border-radius:10px;background:var(--card);display:flex;align-items:center;justify-content:center;color:var(--gold-deep);margin-bottom:18px;}
.feature h3{font-size:1.1rem;font-weight:600;}
.feature p{font-size:14px;color:var(--ink-dim);margin-top:10px;line-height:1.55;}

/* ---------- REGION / ROUTE LISTS ---------- */
.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.region-col h3{font-family:var(--display);font-size:1.3rem;font-weight:650;margin-bottom:18px;}
.region-col ul{display:flex;flex-direction:column;gap:12px;}
.region-col li{font-size:15px;color:var(--ink-dim);display:flex;align-items:baseline;gap:10px;}
.region-col li::before{content:'';width:5px;height:5px;background:var(--gold-deep);border-radius:50%;flex-shrink:0;transform:translateY(-2px);}
.region-col li b{color:var(--ink);font-weight:600;}

.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.route-card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px;}
.route-card .route-pair{font-family:var(--display);font-weight:650;font-size:1.05rem;display:flex;align-items:center;gap:8px;}
.route-card .route-pair svg{color:var(--gold-deep);flex-shrink:0;}

/* ---------- GALLERY ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.gallery-item{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  aspect-ratio:3/4;
  background:var(--card);
}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-caption{
  position:absolute;left:0;right:0;bottom:0;
  padding:28px 16px 14px;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.65));
  color:#fff;
}
.gallery-caption .name{font-family:var(--display);font-weight:650;font-size:1rem;}
.gallery-caption .route{font-family:var(--mono);font-size:11px;color:#E7E0CE;margin-top:3px;display:block;}
.gallery-cta{
  background:var(--ink);color:var(--cream);
  border-radius:16px;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  gap:14px;padding:28px;
  aspect-ratio:3/4;
}
.gallery-cta h3{color:var(--cream);font-size:1.3rem;line-height:1.25;}
.gallery-cta p{color:#B9B4A6;font-size:14px;line-height:1.5;}
.route-card .route-time{font-family:var(--mono);font-size:12px;color:var(--ink-dim);margin-top:10px;}

/* ---------- TRACKING SHOWCASE ---------- */
.tracking{background:var(--ink);color:var(--cream);padding:110px 0;}
.tracking .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.tracking .eyebrow{color:var(--gold);}
.tracking h2{color:var(--cream);font-size:clamp(2rem,3.4vw,2.6rem);margin-top:14px;}
.tracking p{color:#B9B4A6;margin-top:16px;font-size:16.5px;max-width:440px;}
.tracking-points{margin-top:24px;display:flex;flex-direction:column;gap:12px;}
.tracking-points li{display:flex;gap:10px;font-size:14.5px;align-items:flex-start;}
.tracking-points li svg{flex-shrink:0;margin-top:3px;color:var(--gold);}

.track-card{background:#26211A;border:1px solid #3A3327;border-radius:16px;padding:22px;}
.track-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.track-id{font-family:var(--mono);font-size:12px;color:#B9B4A6;}
.track-live{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--gold);}
.dot-live{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:pulse-dot 2s ease-out infinite;}
@keyframes pulse-dot{0%{box-shadow:0 0 0 0 rgba(240,180,41,.55);}70%{box-shadow:0 0 0 8px rgba(240,180,41,0);}100%{box-shadow:0 0 0 0 rgba(240,180,41,0);}}

.route-map{width:100%;margin-bottom:18px;}
.route-path{stroke-dasharray:600;stroke-dashoffset:600;animation:draw 2s cubic-bezier(.2,.7,.2,1) forwards .3s;}
@keyframes draw{to{stroke-dashoffset:0;}}

.track-timeline{display:flex;flex-direction:column;gap:14px;}
.track-step{display:flex;align-items:center;gap:12px;font-size:13.5px;color:#D8D3C4;}
.track-step .tdot{width:9px;height:9px;border-radius:50%;border:2px solid var(--gold);flex-shrink:0;}
.track-step.done .tdot{background:var(--gold);}
.track-step.current{color:var(--cream);font-weight:600;}
.track-step .ttime{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:#8a8574;}

/* ---------- STAT BAND ---------- */
.stat-band{padding:90px 0;border-bottom:1px solid var(--line);}
.stat-band .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:center;}
.stat-band .num{font-family:var(--display);font-weight:650;font-size:clamp(2.4rem,4.2vw,3.4rem);color:var(--ink);}
.stat-band .num .accent{color:var(--gold-deep);}
.stat-band .cap{font-size:14px;color:var(--ink-dim);margin-top:8px;}

/* ---------- TESTIMONIAL ---------- */
.testimonial{padding:100px 0;border-bottom:1px solid var(--line);}
.testimonial .wrap{max-width:740px;text-align:center;}
.testimonial blockquote{
  font-family:var(--display);font-weight:500;font-style:italic;
  font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.4;color:var(--ink);margin:0;
}
.testimonial-attr{margin-top:26px;display:flex;align-items:center;justify-content:center;gap:12px;}
.attr-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--ink-faint));}
.attr-name{font-size:14.5px;font-weight:600;text-align:left;}
.attr-role{font-size:12.5px;color:var(--ink-dim);text-align:left;}

/* ---------- OPTIONS / PRICING ---------- */
.options{padding:110px 0;background:var(--cream-2);border-bottom:1px solid var(--line);}
.options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.plan{
  background:var(--white);border:1px solid var(--line);border-radius:18px;
  padding:32px 28px;display:flex;flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;
}
.plan:hover{transform:translateY(-4px);box-shadow:0 24px 40px -26px rgba(27,23,16,.25);}
.plan.featured{border-color:var(--gold-deep);position:relative;}
.plan.featured::before{
  content:'MOST BOOKED';position:absolute;top:-12px;left:28px;
  font-size:10.5px;letter-spacing:.06em;font-weight:700;
  background:var(--gold);color:var(--ink);padding:4px 12px;border-radius:20px;
}
.plan-name{font-family:var(--display);font-size:1.3rem;font-weight:650;}
.plan-price{font-family:var(--display);font-size:1.9rem;font-weight:650;margin-top:12px;}
.plan-price span{font-family:var(--body);font-size:13px;font-weight:400;color:var(--ink-dim);}
.plan-desc{color:var(--ink-dim);font-size:14.5px;margin-top:10px;min-height:44px;}
.plan-feats{margin:22px 0 28px;display:flex;flex-direction:column;gap:12px;flex-grow:1;}
.plan-feats li{display:flex;gap:10px;font-size:14px;color:var(--ink-dim);align-items:flex-start;}
.plan-feats li svg{flex-shrink:0;margin-top:3px;color:var(--gold-deep);}
.plan .btn{justify-content:center;width:100%;}

.price-note{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:28px 30px;margin-top:32px;}
.price-note h3{font-size:1.1rem;font-weight:600;margin-bottom:14px;}
.price-note ul{display:flex;flex-direction:column;gap:10px;}
.price-note li{font-size:14.5px;color:var(--ink-dim);display:flex;gap:10px;}
.price-note li b{color:var(--ink);}

/* ---------- FAQ ---------- */
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:800px;margin:0 auto;}
.faq-item{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:6px 24px;}
.faq-item summary{
  font-family:var(--display);font-weight:600;font-size:1.05rem;
  padding:18px 0;cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:'+';font-family:var(--body);font-weight:400;font-size:22px;color:var(--gold-deep);flex-shrink:0;
}
.faq-item[open] summary::after{content:'\2212';}
.faq-item p{color:var(--ink-dim);font-size:15px;line-height:1.65;padding-bottom:20px;margin:0;max-width:620px;}

/* ---------- ABOUT / VALUES ---------- */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.value-card{padding:8px 0;}
.value-card .num{font-family:var(--mono);font-size:12px;color:var(--gold-deep);}
.value-card h3{font-size:1.15rem;margin-top:14px;font-weight:600;}
.value-card p{font-size:14.5px;color:var(--ink-dim);margin-top:10px;line-height:1.6;}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start;}
.contact-form{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:36px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.form-field label{font-size:13px;font-weight:600;color:var(--ink);}
.form-field input,.form-field select,.form-field textarea{
  font-family:var(--body);font-size:14.5px;color:var(--ink);
  background:var(--cream);border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;width:100%;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--gold-deep);outline-offset:1px;}
.form-field textarea{resize:vertical;min-height:100px;}
.contact-form .btn{width:100%;justify-content:center;margin-top:6px;}
.form-note{font-size:12.5px;color:var(--ink-faint);margin-top:14px;text-align:center;}
.form-status{font-size:13.5px;margin-top:14px;text-align:center;min-height:1.2em;}
.form-status-success{color:#3E7C4A;font-weight:600;}
.form-status-error{color:#B3261E;font-weight:600;}
.hp-field{position:absolute;left:-9999px;top:-9999px;}

.info-card{background:var(--card);border-radius:18px;padding:28px;margin-bottom:20px;}
.info-card h3{font-size:1rem;font-weight:600;margin-bottom:10px;}
.info-card p,.info-card a{font-size:14.5px;color:var(--ink-dim);line-height:1.6;}
.info-card a{text-decoration:underline;text-underline-offset:2px;color:var(--ink);}

/* ---------- CTA BANNER ---------- */
.cta-banner{padding:100px 0;text-align:center;}
.cta-banner h2{font-size:clamp(2rem,4vw,3rem);max-width:640px;margin:0 auto;line-height:1.18;}
.cta-banner p{color:var(--ink-dim);margin:18px auto 0;max-width:440px;font-size:16.5px;}
.cta-banner .hero-cta{justify-content:center;margin-top:32px;}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--ink);color:#B9B4A6;padding:64px 0 30px;}
.site-footer a{color:#B9B4A6;}
.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-bottom:44px;border-bottom:1px solid #34301F;}
.footer-brand{color:var(--cream);display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:650;font-size:19px;}
.footer-brand-mark{width:26px;height:26px;}
.footer-blurb{color:#8a8574;font-size:14px;margin-top:14px;max-width:250px;}
.footer-col h4{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8a8574;margin-bottom:16px;font-weight:500;}
.footer-col ul{display:flex;flex-direction:column;gap:11px;}
.footer-col a{font-size:14px;transition:color .15s ease;}
.footer-col a:hover{color:var(--cream);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;flex-wrap:wrap;gap:14px;font-size:12.5px;color:#6f6a5a;}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .hero-top{grid-template-columns:1fr;}
  .hero-visual{height:380px;margin-top:28px;justify-content:flex-end;}
  .hero-photo{position:relative;right:auto;top:auto;width:100%;height:380px;border-radius:24px 24px 24px 120px;}
  .orbit{left:8px;bottom:-24px;}
  .badge{left:24px;bottom:-24px;}
  .service-strip{grid-template-columns:1fr;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .step-connector{display:none;}
  .feature-grid{grid-template-columns:1fr 1fr;}
  .route-grid{grid-template-columns:1fr 1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .region-grid{grid-template-columns:1fr;gap:32px;}
  .split .wrap{grid-template-columns:1fr;gap:32px;}
  .split.reverse .wrap{direction:ltr;}
  .split-photo img{aspect-ratio:16/9;}
  .tracking .wrap{grid-template-columns:1fr;gap:40px;}
  .options-grid{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:1fr;}
  .stat-band .wrap{grid-template-columns:1fr;gap:36px;}
  .contact-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .nav-links{display:none;}
}
@media (max-width:560px){
  .wrap{padding:0 20px;}
  .nav-outer{padding:14px 12px 0;}
  .steps{grid-template-columns:1fr;}
  .feature-grid{grid-template-columns:1fr;}
  .route-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .trust-strip .wrap{flex-direction:column;align-items:flex-start;gap:18px;}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .orbit-spin,.orbit-icon,.dot-live,.route-path,.reveal{animation:none !important;stroke-dashoffset:0 !important;}
  .reveal{opacity:1 !important;transform:none !important;}
}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
