/* Typefaces, 8 Nov 2026: Source Serif 4 (headings, replaces Fraunces whose quirky f read as twisted) and Figtree (text), both SIL Open Font License,
   self-hosted from Fontsource. No third-party font requests. */
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../fonts/source-serif-4-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../fonts/source-serif-4-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(../fonts/figtree-vf-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(../fonts/figtree-vf-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* =====================================================================
   Volcan Tours design system, 7 November 2026
   Source of truth for colour, type, spacing and shared components.
   Brand colours taken from the approved logo SVG (volcan2-lockup.svg):
     teal   #0F3743   orange #F28820
   Loaded last (functions.php, vt_brand_system), so older layers defer to it.
   Contrast notes (WCAG 2.2):
     #0F3743 on #FFFFFF 12.7:1   #0A2730 on #F28820 5.9:1 (primary button)
     #A9560A on #FFFFFF 5.2:1 (orange text)   #FFFFFF on #F28820 2.6:1 (never used for text)
   ===================================================================== */

:root{
  /* Brand */
  --vt-teal:#0F3743; --vt-teal-ink:#0A2730; --vt-teal-700:#164A59; --vt-teal-100:#E7EEF0; --vt-teal-50:#F2F6F7;
  --vt-orange:#F28820; --vt-orange-ink:#A9560A; --vt-orange-200:#F9C48E; --vt-orange-50:#FDF3E8;
  /* Neutrals */
  --vt-ivory:#FDFCF7; --vt-sand:#F6F1E7; --vt-sand-2:#EFE7D8; --vt-white:#FFFFFF;
  --vt-ink:#13262C; --vt-ink-2:#3F4E53; --vt-ink-3:#5B686D; --vt-line:#DCE3E5; --vt-line-2:#C4CFD3;
  /* Type */
  --vt-display:"Source Serif 4","Iowan Old Style",Georgia,serif;
  --vt-sans:"Figtree","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --vt-fs-body:clamp(1rem,.96rem + .2vw,1.075rem);
  --vt-fs-small:.875rem; --vt-fs-lede:clamp(1.075rem,1rem + .45vw,1.25rem);
  --vt-fs-h1:clamp(2.25rem,1.55rem + 3.1vw,4.25rem);
  --vt-fs-h2:clamp(1.75rem,1.35rem + 1.75vw,2.75rem);
  --vt-fs-h3:clamp(1.2rem,1.1rem + .45vw,1.45rem);
  --vt-lh:1.65; --vt-measure:68ch;
  /* Layout */
  --vt-wrap:1200px; --vt-wrap-text:760px; --vt-gutter:clamp(16px,4vw,40px);
  --vt-space-1:8px; --vt-space-2:16px; --vt-space-3:24px; --vt-space-4:40px; --vt-space-5:clamp(56px,7vw,96px);
  --vt-radius:14px; --vt-radius-sm:8px; --vt-radius-pill:999px;
  --vt-shadow:0 1px 2px rgba(10,39,48,.06),0 14px 34px -22px rgba(10,39,48,.45);
  --vt-shadow-lift:0 2px 6px rgba(10,39,48,.08),0 26px 50px -28px rgba(10,39,48,.55);
  --vt-focus:0 0 0 3px var(--vt-ivory),0 0 0 6px var(--vt-orange-ink);
  --vt-ease:cubic-bezier(.22,.61,.36,1);
  --vt-header-h:76px;

  /* Legacy tokens mapped to the system, so older templates follow it */
  --ink:var(--vt-ink); --ink-2:var(--vt-ink-2); --ink-3:var(--vt-ink-3);
  --paper:var(--vt-sand); --paper-2:var(--vt-white); --panel:var(--vt-teal-50);
  --terra:var(--vt-orange); --terra-deep:var(--vt-orange-ink); --deep:var(--vt-teal); --deep-2:var(--vt-teal-ink);
  --line:var(--vt-line); --line-strong:var(--vt-line-2);
  --vc-teal:var(--vt-teal); --vc-teal-deep:var(--vt-teal-ink); --vc-orange:var(--vt-orange); --vc-orange-dark:var(--vt-orange-ink);
  --vc-sand:var(--vt-sand); --vc-ink:var(--vt-ink); --vc-slate:var(--vt-ink-2);
  --lx-teal:var(--vt-teal); --lx-teal-deep:var(--vt-teal-ink); --lx-orange:var(--vt-orange); --lx-orange-deep:var(--vt-orange-ink); --lx-sand:var(--vt-sand);
  --b2-teal:var(--vt-teal); --b2-teal-ink:var(--vt-teal-ink); --b2-orange:var(--vt-orange); --b2-orange-deep:var(--vt-orange-ink); --b2-ivory:var(--vt-ivory); --b2-sand:var(--vt-sand);
  --display:var(--vt-display)!important; --sans:var(--vt-sans)!important; --serif:var(--vt-display)!important;
  --wrap:var(--vt-wrap); --header-h:var(--vt-header-h);
}

/* ---------- 1. Base ---------- */
html{scroll-padding-top:calc(var(--vt-header-h) + 16px);-webkit-text-size-adjust:100%}
body{background:var(--vt-ivory);color:var(--vt-ink);font-family:var(--vt-sans);font-size:var(--vt-fs-body);line-height:var(--vt-lh);text-rendering:optimizeLegibility}
body h1,body h2,body h3,body .h1,body .h2{font-family:var(--vt-display);font-weight:400;color:inherit;letter-spacing:-.005em;text-wrap:balance}
body h1,body .h1{font-size:var(--vt-fs-h1);line-height:1.08}
body h2,body .h2{font-size:var(--vt-fs-h2);line-height:1.15}
body h3{font-size:var(--vt-fs-h3);line-height:1.3}
body h1 em,body h2 em,body .h1 em,body .h2 em{font-style:normal;color:var(--vt-orange-ink)}
body .section--deep h2 em,body .hero h1 em,.vt2-hero h1 em,.vt2-dark h2 em{color:var(--vt-orange)}
body p{text-wrap:pretty}
main .lede{font-size:var(--vt-fs-lede);line-height:1.6;color:var(--vt-ink-2);max-width:62ch}
.eyebrow,.vt2-eyebrow{display:inline-block;font-family:var(--vt-sans);font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--vt-orange-ink)}
a{color:var(--vt-teal);text-underline-offset:.18em;text-decoration-thickness:1px}
main a:not([class]):hover{color:var(--vt-orange-ink)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--vt-focus);border-radius:6px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:10000;background:var(--vt-teal);color:#fff;padding:10px 16px;border-radius:8px}
.skip-link:focus{top:12px}
.wrap{max-width:var(--vt-wrap);padding-left:var(--vt-gutter);padding-right:var(--vt-gutter)}
img{height:auto}

/* ---------- 2. Buttons ---------- */
body .btn,.vt2-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.75em 1.5em;border-radius:var(--vt-radius-pill);border:2px solid var(--vt-orange);background:var(--vt-orange);color:var(--vt-teal-ink);font-family:var(--vt-sans);font-size:1rem;font-weight:600;letter-spacing:.01em;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .2s var(--vt-ease),color .2s var(--vt-ease),border-color .2s var(--vt-ease),transform .2s var(--vt-ease)}
body .btn:hover,.vt2-btn:hover{background:var(--vt-teal);border-color:var(--vt-teal);color:#fff;transform:translateY(-1px)}
body .btn--ghost,.vt2-btn--ghost{background:transparent;border-color:var(--vt-teal);color:var(--vt-teal)}
body .btn--ghost:hover,.vt2-btn--ghost:hover{background:var(--vt-teal);color:#fff}
body .btn--ghost-on-deep,.vt2-btn--light{background:transparent;border-color:rgba(255,255,255,.85);color:#fff}
body .btn--ghost-on-deep:hover,.vt2-btn--light:hover{background:#fff;border-color:#fff;color:var(--vt-teal-ink)}
body .btn--sm{min-height:42px;padding:.55em 1.15em;font-size:.95rem}
body .btn--block{display:flex;width:100%}

/* ---------- 3. Header ---------- */
body .header{height:auto;min-height:var(--vt-header-h)}
body .header .header-inner{max-width:var(--vt-wrap);margin:0 auto;padding:10px var(--vt-gutter);min-height:var(--vt-header-h);display:flex;align-items:center;gap:clamp(16px,2.5vw,36px);flex-wrap:nowrap}
body .header .brand{flex:0 0 auto;display:flex;align-items:center}
body .header .brand-logo,body .header .vx-logo{height:46px;width:auto;max-width:none}
body .header .nav{flex:1 1 auto;display:flex;justify-content:center;position:static;transform:none}
body .header .nav ul{display:flex;gap:clamp(14px,2vw,30px);margin:0;padding:0;list-style:none;flex-wrap:nowrap}
body .header .nav a{font-family:var(--vt-sans);font-size:.98rem;font-weight:500;letter-spacing:.01em;text-transform:none;text-decoration:none;padding:8px 2px;border-bottom:2px solid transparent;white-space:nowrap}
body .header .nav a:hover,body .header .nav a[aria-current="page"]{border-bottom-color:var(--vt-orange)}
body .header .header-cta{flex:0 0 auto;display:flex;align-items:center;gap:12px;margin-left:auto}
body .header .vx-head-social{display:none}
body .header.is-solid,body .header.header--always-solid,body .header.scrolled{background:rgba(253,252,247,.97);box-shadow:0 1px 0 var(--vt-line);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px)}
body .header.header--always-solid .nav a,body .header.is-solid .nav a,body .header.scrolled .nav a{color:var(--vt-teal)}
@media (max-width:1023px){
  body .header .nav{display:none}
  body .header .header-cta .btn{display:none}
  body .header .brand-logo,body .header .vx-logo{height:40px}
  :root{--vt-header-h:64px}
}
body .menu-btn{min-width:48px;min-height:48px}
body .mobile-nav .mnav-link{min-height:52px}

/* ---------- 4. Sections and rhythm ---------- */
body .section,.vt2-section{padding-top:var(--vt-space-5);padding-bottom:var(--vt-space-5)}
.vt2-section--sand{background:var(--vt-sand)}
.vt2-section--white{background:var(--vt-white)}
.vt2-dark,body .section--deep{background:var(--vt-teal);color:#E9F0F1}
.vt2-dark a:not(.vt2-btn){color:#fff}
.vt2-head{max-width:var(--vt-wrap-text);margin:0 0 var(--vt-space-4)}
.vt2-head--center{margin-left:auto;margin-right:auto;text-align:center}
.vt2-head h2{margin:.3em 0 .35em}
.vt2-head p{color:var(--vt-ink-2);font-size:var(--vt-fs-lede);margin:0}
.vt2-dark .vt2-head p{color:#C9D7DB}
.vt2-dark .vt2-eyebrow{color:var(--vt-orange-200)}
.vt2-headrow{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:var(--vt-space-4)}
.vt2-headrow .vt2-head{margin-bottom:0}
.vt2-rule{width:56px;height:3px;border:0;border-radius:3px;background:var(--vt-orange);margin:0 0 18px}

/* Page heroes on inner pages */
body .page-hero{background:var(--vt-teal);color:#fff;padding-top:calc(var(--vt-header-h) + clamp(32px,5vw,64px));padding-bottom:clamp(36px,5vw,64px);border-bottom:0}
body .page-hero .h1{max-width:20ch;margin:.25em 0 .3em}
body .breadcrumb{font-size:var(--vt-fs-small);color:var(--vt-ink-3)}
body .breadcrumb a{color:var(--vt-ink-2)}

/* Long-form text stays at a readable width */
body .entry-content,body .page-content,body .prose,body .single-post .content{max-width:var(--vt-wrap-text);margin-left:auto;margin-right:auto}
body .entry-content p,body .prose p{max-width:var(--vt-measure)}

/* ---------- 5. Cards ---------- */
body .tour-card{border-radius:var(--vt-radius);background:#fff;box-shadow:var(--vt-shadow);overflow:hidden;border:1px solid rgba(15,55,67,.06);transition:transform .25s var(--vt-ease),box-shadow .25s var(--vt-ease);display:flex;flex-direction:column}
body .tour-card:hover{transform:translateY(-3px);box-shadow:var(--vt-shadow-lift)}
body .tour-card-photo{aspect-ratio:3/2;overflow:hidden;position:relative}
body .tour-card-photo img{width:100%;height:100%;object-fit:cover}
body .tour-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
body .tour-card-body h3{font-size:1.2rem;line-height:1.3;margin:0 0 6px}
body .tour-card-body h3 a{color:var(--vt-teal-ink);text-decoration:none}
body .tour-card-body h3 a::after{content:"";position:absolute;inset:0}
body .tour-card{position:relative}
body .tour-meta{color:var(--vt-ink-3);font-size:.92rem;margin:0 0 14px}
body .tour-card-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--vt-line)}
body .tour-price{font-family:var(--vt-sans);font-weight:700;font-size:1.15rem;color:var(--vt-teal-ink)}
body .tour-price small{font-weight:500;color:var(--vt-ink-3)}
body .tour-view{position:relative;z-index:1;font-weight:600;color:var(--vt-orange-ink);white-space:nowrap}
body .tour-tag{background:var(--vt-teal);color:#fff;border-radius:var(--vt-radius-pill);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px}
body .tour-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(18px,2.4vw,28px)}

/* ---------- 6. Forms ---------- */
body input[type=text],body input[type=email],body input[type=tel],body input[type=search],body input[type=date],body select,body textarea{font:inherit;font-size:1rem;color:var(--vt-ink);background:#fff;border:1.5px solid var(--vt-line-2);border-radius:var(--vt-radius-sm);padding:.7em .85em;min-height:48px;width:100%}
body textarea{min-height:120px}
body input:focus,body select:focus,body textarea:focus{border-color:var(--vt-teal)}
body .form-field label,body .vbc-dialog label{display:block;font-weight:600;font-size:.95rem;margin-bottom:6px;color:var(--vt-ink)}
body .form-opt{font-weight:400;color:var(--vt-ink-3)}
body .form-status.is-visible{display:block;padding:12px 14px;border-radius:var(--vt-radius-sm);background:#FCEDEA;color:#8A2A16;border-left:4px solid #B23A1E}
body .form-consent{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--vt-ink-2);margin-top:14px}
body .form-consent input{width:20px;height:20px;min-height:0;margin-top:2px;flex:0 0 20px;accent-color:var(--vt-teal)}
.vt2-copy{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 12px;border-radius:var(--vt-radius-pill);border:1.5px solid currentColor;background:transparent;color:inherit;font:600 .85rem var(--vt-sans);cursor:pointer}
.vt2-copy[data-done]{background:var(--vt-teal);border-color:var(--vt-teal);color:#fff}

/* ---------- 7. Footer ---------- */
body .footer{background:var(--vt-teal-ink);color:#C9D7DB;padding-top:clamp(48px,6vw,80px)}
body .footer a{color:#E9F0F1}
body .footer a:hover{color:var(--vt-orange-200)}
body .footer h4{font-family:var(--vt-sans);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vt-orange-200);font-weight:600}
body .footer-bottom{border-top:1px solid rgba(255,255,255,.12);font-size:.85rem;color:#AFC2C7}

/* ---------- 8. Floating contact: one per device ---------- */
body .volcan-wa,body .vbc-fab{display:none!important}
@media (max-width:1023px){ body .vx-help{display:none!important} }
@media (min-width:1024px){ body .vx-dock{display:none!important} }

/* ---------- 9. Motion and accessibility preferences ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
}
@media (forced-colors:active){ body .btn,.vt2-btn{border:2px solid ButtonText} }

/* ---------- 10. Header details: language menu, menu button ---------- */
.vt2-lang{position:relative}
.vt2-lang summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border-radius:var(--vt-radius-pill);cursor:pointer;font-weight:600;font-size:.9rem;color:inherit}
.vt2-lang summary::-webkit-details-marker{display:none}
.vt2-lang[open] summary,.vt2-lang summary:hover{background:rgba(15,55,67,.08)}
.vt2-lang ul{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:180px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid var(--vt-line);border-radius:12px;box-shadow:var(--vt-shadow-lift)}
.vt2-lang li a,.vt2-lang li span{display:block;padding:9px 12px;border-radius:8px;color:var(--vt-teal-ink);text-decoration:none;font-size:.95rem}
.vt2-lang li a:hover{background:var(--vt-teal-50)}
.vt2-lang li span{font-weight:700;background:var(--vt-orange-50)}
body .header:not(.header--always-solid):not(.is-solid):not(.scrolled) .vt2-lang summary{color:#fff}
body .header:not(.header--always-solid):not(.is-solid):not(.scrolled) .nav a{color:#fff}
@media (min-width:1024px){ body .header .menu-btn{display:none!important} }
@media (max-width:1023px){ body .header .vt2-lang{display:none} body .header .menu-btn{display:flex!important} }

/* ---------- 11. Alignment: centred containers, left-aligned reading ---------- */
body .section-head{max-width:var(--vt-wrap-text)}
body .cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
body .page-hero .lede{margin-left:0}
main ul:not([class]) > li::marker{color:var(--vt-orange-ink)}

/* ---------- 12. Typography lock: one heading face, one text face ---------- */
html body:not(#_) :is(h1,h2,h3,.h1,.h2,.h3,.d-name,.loc-name,.display-name){font-family:var(--vt-display)!important;font-weight:500!important;letter-spacing:-.018em!important;font-variation-settings:"SOFT" 50,"WONK" 0;font-optical-sizing:auto}
html body:not(#_) :is(h1,h2,.h1,.h2) em{font-family:var(--vt-display)!important;font-style:italic!important;font-weight:400!important;font-size:1em!important;letter-spacing:-.01em!important}
html body:not(#_) .tour-card-body h3,html body:not(#_) .vt2-guide h3{font-size:1.18rem!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.3!important}
html body:not(#_) .hero h1,html body:not(#_) .vt2-hero h1{font-size:var(--vt-fs-h1)!important;line-height:1.06!important}
body{font-feature-settings:"kern","liga"}

/* ---------- 13. Header sizing (fits 1024 to 1440 without clipping) ---------- */
html body:not(#_) .header .brand .vx-logo,html body:not(#_) .header .brand-logo{height:44px!important;width:auto!important}
body .header .nav{flex:1 1 auto;min-width:0}
body .header .nav ul{gap:clamp(10px,1.6vw,26px)}
body .header .nav a{font-size:.95rem!important}
@media (max-width:1180px){ body .header .header-cta .btn{padding:.5em 1em;font-size:.9rem} body .header .nav a{font-size:.9rem!important} }

/* ---------- 14. Cards: title first, one clean basis label ---------- */
body .tour-card-body > *{order:0!important}
.vt2-basis{display:block;margin-top:4px;font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--vt-ink-3)}
.vt2-tours .tour-price::after,.vt2-tours .tour-price small.vx-cnote{display:none!important}

/* ---------- 15. Inner page heroes: deep teal, white text ---------- */
html body:not(#_) .page-hero :is(h1,.h1){color:#fff!important}
body .page-hero .lede,body .page-hero p{color:#D5E1E4!important}
body .page-hero .eyebrow{color:var(--vt-orange-200)!important}
body .page-hero .breadcrumb,body .page-hero .breadcrumb a{color:#C9D7DB!important}
body .page-hero h1 em,body .page-hero .h1 em{color:var(--vt-orange-200)!important}

/* ---------- 16. Button contrast lock (WCAG AA) ---------- */
html body:not(#_) :is(.btn,.vt2-btn,.vf-go,.featured-more,.vcc-btn):not(.btn--ghost):not(.btn--ghost-on-deep):not(.vt2-btn--ghost):not(.vt2-btn--light):not(.vcc-btn--ghost){background:var(--vt-orange)!important;border-color:var(--vt-orange)!important;color:var(--vt-teal-ink)!important}
html body:not(#_) :is(.btn,.vt2-btn,.vf-go,.featured-more,.vcc-btn):not(.btn--ghost):not(.btn--ghost-on-deep):not(.vt2-btn--ghost):not(.vt2-btn--light):not(.vcc-btn--ghost):hover{background:var(--vt-teal)!important;border-color:var(--vt-teal)!important;color:#fff!important}
html body:not(#_) :is(.btn--ghost,.vt2-btn--ghost){color:var(--vt-teal)!important;background:transparent!important;border-color:var(--vt-teal)!important}
html body:not(#_) :is(.btn--ghost,.vt2-btn--ghost):hover{color:#fff!important;background:var(--vt-teal)!important}
html body:not(#_) :is(.btn--ghost-on-deep,.vt2-btn--light){color:#fff!important;background:transparent!important;border-color:rgba(255,255,255,.85)!important}
html body:not(#_) :is(.btn--ghost-on-deep,.vt2-btn--light):hover{color:var(--vt-teal-ink)!important;background:#fff!important}

/* ---------- 17. Itinerary helpers ---------- */
.vt2-pricebasis{max-width:72ch;margin:22px 0 0;padding:14px 18px;border-left:4px solid var(--vt-orange);background:rgba(255,255,255,.06);border-radius:0 8px 8px 0;font-size:.95rem;line-height:1.6;color:inherit}
.vt2-pricebasis a{color:inherit;font-weight:600}
.vt2-tools{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}

/* ---------- 18. Print: itineraries print as a clean document ---------- */
@media print{
  @page{margin:16mm}
  body{background:#fff!important;color:#000!important;font-size:11pt}
  .header,.mobile-nav,.mnav-scrim,.footer,.vx-dock,.vx-help,.volcan-wa,.vbc-fab,.vbc-dialog,.vcc-banner,.daybar,.dayrail,.vq form,.vq,.book,.rel,.vrev,.routemap,#vt-routemap,.lb,.vt2-tools,.share,.igal,video,iframe,.skip-link{display:none!important}
  .ihero{min-height:0!important;color:#000!important;background:#fff!important}
  .ihero .bg,.ihero .veil{display:none!important}
  .ihero *,.ov *,.days *,.incl *{color:#000!important;text-shadow:none!important}
  .ov,.days,.incl,.qa{background:#fff!important}
  details{display:block}details>*{display:block!important}
  a{text-decoration:none!important;color:#000!important}
  .day,.incl{break-inside:avoid}
  main::after{content:"Volcan Tours & Travel · info@volcantours.com · +254 716 692 555 · volcantours.com. Prices are estimates; your written quote confirms the final price.";display:block;margin-top:12mm;font-size:9pt;border-top:1px solid #999;padding-top:4mm}
}

/* ---------- 19. Itinerary hero action in brand orange ---------- */
html body:not(#_) .vt-itin .ihero .acts .b--soft,html body:not(#_) .ihero .acts .b--soft{background:var(--vt-orange)!important;border-color:var(--vt-orange)!important;color:var(--vt-teal-ink)!important}
html body:not(#_) .ihero .acts .b--soft:hover{background:#fff!important;border-color:#fff!important}

/* ---------- 20. Itinerary transfer times ---------- */
.vt2-legs{margin:18px 0 8px;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:4px 16px}
.vt2-legs summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.vt2-legs dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:8px 24px;margin:6px 0 10px}
.vt2-legs dt{font-weight:600}.vt2-legs dd{margin:0;opacity:.85}
.vt2-legs p{font-size:.9rem;opacity:.85;margin:0 0 12px}

/* 21. PageSpeed accessibility fixes, 7 Nov 2026 */
html body:not(#_) .footer h3.f-h,html body:not(#_) .f-news h3.f-h{font-family:var(--vt-sans)!important;font-size:.8rem!important;line-height:1.4!important;letter-spacing:.14em!important;color:var(--vt-orange-200)!important;font-weight:600!important;margin:0 0 1rem!important}
html body .tour-card-foot .tour-view{color:var(--vt-teal)!important}
html body .vt2-panel--teal h2 em{color:var(--vt-orange-200)}
html body .f-news button[type=submit]{color:var(--vt-teal)!important}
html body:not(#_) .days p.place,html body:not(#_) .days .dayrail > b,html body:not(#_) .days .stayb-head > h4,html body:not(#_) .days span.loc,html body:not(#_) .days span.t1,html body:not(#_) .days span.t2{color:#9A4D07!important}
html body:not(#_) .days div.n{color:#A47B55!important;opacity:1!important}
html body .vt-itin .shot .figcap{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 12px;font-size:11.5px;font-weight:500;color:#fff;background:linear-gradient(0deg,rgba(12,9,5,.88),transparent)}html body .vt-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html body:not(#_) .park-card .p-ico{color:#9A4D07!important}html body:not(#_) .volcan-card em{color:#9A4D07!important}html body .form-field[hidden]{display:none!important}
html body .vf-status{margin:14px 0 0;font-weight:600;color:var(--vt-teal)}
html body .vf-field--sort select{width:100%}html body .stay-again{margin:10px 0 0;padding:12px 14px;border:1px dashed rgba(15,55,67,.25);border-radius:10px;font-size:.95rem;color:var(--vt-ink,#22313a)}
html body .stay-again a{color:var(--vt-teal);text-decoration:underline}
/* 22. Build pack, 7 Nov 2026: hero browse link */
.vt2-hero .vt2-hero-browse{margin:14px 0 0;font-size:15px}
html body:not(#_) .vt2-hero .vt2-hero-browse a{color:#FDFBF5;text-decoration:underline;text-underline-offset:3px}
html body:not(#_) .vt2-hero .vt2-hero-browse a:hover{color:#fff}
/* 23. Two step call form, 7 Nov 2026 */
.vbc-form .vbc-wa{font-size:14px;margin:0 0 14px;color:#5a4a3a}
.vbc-form .vbc-wa a{color:#0F5F55;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.vbc-form .vbc-wa--bottom{margin:18px 0 0;padding-top:14px;border-top:1px solid rgba(0,0,0,.08)}
.vbc-progress{display:none;list-style:none;margin:0 0 16px;padding:0;gap:8px}
.vbc-js .vbc-progress{display:flex}
.vbc-progress li{flex:1;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#7a6a5a;padding-top:8px;border-top:3px solid #e6dccb}
.vbc-progress li.is-on{color:#0F5F55;border-top-color:#0F5F55}
.vbc-form .vbc-stage[hidden],.vbc-form [hidden]{display:none !important}
.vbc-form .vbc-trip{margin-top:6px}
.vbc-form .vbc-trip legend em{font-weight:400;font-style:normal;color:#7a6a5a;font-size:.9em}
.vbc-form .vbc-row input[type=number]{max-width:120px}
.vbc-form .vbc-reassure{font-size:14px;color:#3d5a4f;background:#eef5f1;border-radius:8px;padding:10px 12px;margin:14px 0}
.vbc-form .vbc-next{display:none}
.vbc-js .vbc-next{display:inline-flex}
.vbc-form .vbc-back{display:none;background:none;border:0;color:#0F5F55;font-weight:600;text-decoration:underline;cursor:pointer;padding:12px 4px;font:inherit}
.vbc-js .vbc-back{display:inline-block}
.vbc-form .vbc-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.vbc-form .vbc-err{color:#9b1c1c;background:#fdecec;border-radius:8px;padding:10px 12px;font-size:14px}
.vbc-form :user-invalid{outline:2px solid #b42318;outline-offset:1px}
.vbc-form .vbc-submit[disabled]{opacity:.7;cursor:progress}
.vbc-form legend[tabindex]:focus{outline:none}
@media (max-width:640px){
 dialog.vbc-dialog[open]{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;inset:0}
 .vbc-form .vbc-row input[type=number]{max-width:none}
 .vbc-form .vbc-next,.vbc-form .vbc-submit{width:100%;justify-content:center}
 .vbc-form .vbc-nav{flex-direction:column-reverse;align-items:stretch}
}
/* 24. Guide pages, estimator, gorilla callout, 7 Nov 2026 */
.vt-guidepage .prose h2{margin-top:2.2em}
.vt-guidepage .prose h3{margin-top:1.6em}
.vt-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1em 0 1.5em}
.vt-compare{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.vt-compare th,.vt-compare td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid #e6dccb}
.vt-compare thead th{background:#1F3A44;color:#FDFBF5;font-weight:600}
.vt-compare tbody th{font-weight:600;color:#1F3A44;width:28%}
.vt-guide-cta,.vbp-callout{background:#eef5f1;border-radius:12px;padding:20px 22px;margin:2em 0}
.vt-guide-cta p:last-child{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:0}
html body:not(#_) .vt-guide-cta .vt-guide-wa,html body:not(#_) .vce .vce-wa{color:#0F5F55;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.vbp-callout-wrap{padding-top:0}
.vbp-callout p{margin:0 0 10px}
.vce{display:grid;gap:24px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;margin:1.5em 0 2.5em;font-size:16px}
.vce fieldset{border:0;padding:0;margin:0 0 18px}
.vce legend{font-weight:600;margin-bottom:8px;color:#1F3A44}
.vce legend em{font-weight:400;font-style:normal;color:#7a6a5a}
.vce-pills{display:flex;flex-wrap:wrap;gap:8px}
.vce-pill input{position:absolute;opacity:0;width:1px;height:1px}
.vce-pill span{display:inline-block;padding:9px 14px;border:1px solid #cdbfa8;border-radius:999px;background:#fff;cursor:pointer;font-size:15px;line-height:1.2}
.vce-pill input:checked+span{background:#1F3A44;border-color:#1F3A44;color:#FDFBF5}
.vce-pill input:focus-visible+span{outline:2px solid #0F5F55;outline-offset:2px}
.vce-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.vce-row label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#1F3A44}
.vce-row select{padding:10px;border:1px solid #cdbfa8;border-radius:8px;font:inherit;background:#fff}
.vce-days output{font-weight:700;color:#0F5F55}
.vce-days input{width:100%;accent-color:#0F5F55}
.vce-scale{display:flex;justify-content:space-between;font-weight:400;font-size:13px;color:#7a6a5a}
.vce-out{background:#1F3A44;color:#FDFBF5;border-radius:14px;padding:22px;position:sticky;top:90px}
.vce-out .vce-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin:0 0 6px;opacity:.85}
.vce-out .vce-range{font-size:clamp(26px,4vw,34px);font-weight:700;margin:0 0 8px;line-height:1.15;color:#fff}
.vce-out .vce-basis{font-size:14px;margin:0 0 12px;opacity:.9}
.vce-out .vce-notes{font-size:14px;margin:0 0 16px;padding-left:18px}
.vce-out .vce-notes li{margin-bottom:6px}
.vce-cta{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
html body:not(#_) .vce .vce-out .vce-wa{color:#FDFBF5}
.vce-out .vce-fine{font-size:12px;opacity:.8;margin:14px 0 0}
@media (max-width:760px){.vce{grid-template-columns:1fr}.vce-out{position:static}.vce-row{grid-template-columns:1fr}}.vf-estimate{font-size:14px;margin:6px 0 0;color:#5a4a3a}
html body:not(#_) .vf-estimate a{color:#0F5F55;font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* =====================================================================
   25. Design consistency pass, 7 Nov 2026 (evening)
   One palette and one type pairing everywhere, readable labels,
   AA contrast fixes found by an automated audit of 19 page types.
   ===================================================================== */

/* 25a. Itinerary pages: map the prototype's own palette and fonts to the
   brand tokens, so itineraries match every other page. */
html body .vt-itin{
  --paper:var(--vt-sand); --panel:var(--vt-sand-2);
  --ink:var(--vt-ink); --ink-2:var(--vt-ink-2); --ink-3:var(--vt-ink-3);
  --terra:var(--vt-orange-ink); --terra-bright:var(--vt-orange); --terra-deep:#8A4507;
  --deep-2:var(--vt-teal-ink); --deep-3:#071D24;
  --line:var(--vt-line); --line-strong:var(--vt-line-2);
  --white:var(--vt-ivory); --cream:#E7EEF0; --gold:var(--vt-orange-200);
  --serif:var(--vt-display); --sans:var(--vt-sans);
  font-family:var(--vt-sans);
}

/* 25b. Label floor: no practical label below 12px. */
html body .vt-itin .tag,html body .vt-itin .ihero .kick span,html body .vt-itin .ihero .f b,
html body .vt-itin .daybar .n,html body .vt-itin .facts .f b,html body .vt-itin .sublabel,
html body .vt-itin .fold>summary .fold-lb,html body .vt-itin .legend>b,html body .vt-itin .dayrail>b,
html body .vt-itin .dayrail .stop b,html body .vt-itin .day .place,html body .vt-itin .car-head b,
html body .vt-itin .stayb-head h4,html body .vt-itin .book .price .from,html body .vt-itin .pt-lb,
html body .vt-itin .stayb::before{font-size:.75rem;letter-spacing:.12em}
@media (min-width:821px){html body .vt-itin .pt-tbl thead th{font-size:.75rem;letter-spacing:.1em}}
html body .vt-itin .mkey,html body .vt-itin .swipe,html body .vt-itin .stayb-head .nights,
html body .vt-itin .stayrow .body .chips span,html body .vt-itin .months div{font-size:.8125rem}
html body .vt-itin .months div{color:var(--vt-ink-2)}
html body .vt-itin .mkey{color:var(--vt-ink-3)}
html body .vt-itin .leaflet-control-attribution{font-size:11px}
html body .vt-itin .leaflet-control-attribution a{color:var(--vt-teal)}

/* 25c. Itinerary hero: clearer facts over the photograph. */
html body .vt-itin .ihero .sub{color:rgba(253,252,247,.9)}
html body .vt-itin .ihero .f span i{color:rgba(253,252,247,.8);font-size:.875rem}
html body .vt-itin .ihero .kick{background:rgba(7,29,36,.55)}
html body .vt-itin .ihero .kick span{color:#fff}
html body .vt-itin .tag--gold{background:rgba(246,181,107,.12)!important;box-shadow:inset 0 0 0 1px rgba(246,181,107,.45)}
html body .vt-itin .hi{color:var(--vt-teal-ink)!important}
html body .vt-itin .facts .f i,html body .vt-itin .facts .f span i{color:rgba(253,252,247,.8)!important}

/* 25d. Orange text on light backgrounds uses the accessible ink variant. */
html body:not(#_) .dest-card .link-arrow{color:var(--vt-orange-ink)}
html body:not(#_) main :is(p,li) > em{color:inherit}

/* 25e. Solid orange buttons carry dark ink text (5.9:1), never white (2.6:1). */
html body:not(#_) a.volcan-btn:not(.volcan-btn--gh):not(.volcan-btn--ghost),html body:not(#_) button.volcan-btn:not(.volcan-btn--gh):not(.volcan-btn--ghost){color:var(--vt-teal-ink)!important}
html body:not(#_) .volcan-cta h2,html body:not(#_) .volcan-cta h3{color:#fff}

/* 25f. Floating WhatsApp help: dark text on WhatsApp green (9:1). */
html body:not(#_) .vx-help .vx-help__q,html body:not(#_) .vx-help .vx-help__a{color:#062A1A}

/* 25g. Not found page: chips and secondary action readable on deep teal. */
html body.error404:not(#_) .page-hero .chip{background:rgba(253,252,247,.08);color:#fff;box-shadow:inset 0 0 0 1px rgba(253,252,247,.35)}
html body.error404:not(#_) .page-hero .chip:hover{background:rgba(253,252,247,.16)}
html body.error404:not(#_) .btn--ghost{color:#fff!important;border-color:rgba(253,252,247,.6)!important;background:transparent!important}
html body:not(#_) .notfound-links-label{color:#C9D6DA}

/* 25h. Lodge cards: a deeper veil so names, type and location read over bright skies. */
html body:not(#_) .stay-card::before{background:linear-gradient(0deg,rgba(7,29,36,.95) 6%,rgba(7,29,36,.62) 48%,rgba(7,29,36,.08) 82%)!important}
html body:not(#_) .stay-card .stay-kicker{color:var(--vt-orange-200);letter-spacing:.12em;font-size:.75rem;font-weight:600;text-transform:uppercase}
html body:not(#_) .stay-card .stay-meta span{color:rgba(253,252,247,.88)}

/* 25i. Phones: comfortable touch targets for language and phone links. */
@media (max-width:820px){
  html body:not(#_) .vx-langs a,html body:not(#_) .vx-langs span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}
  html body:not(#_) .mnav-contact a[href^="tel:"]{display:inline-flex;align-items:center;min-height:40px}
}

/* 25j. One numbering style: tabular, zero padded figures in the accent ink. */
.vt-num{font-family:var(--vt-display);font-variant-numeric:tabular-nums lining-nums;color:var(--vt-orange-ink);font-weight:500;letter-spacing:.02em}
.section--deep .vt-num,.vt2-dark .vt-num{color:var(--vt-orange)}

/* 25k. Reduced motion: no reveal animation, no smooth scroll. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .reveal,.rv,[class*="reveal"]{opacity:1!important;transform:none!important;transition:none!important}
}
/* 25l. Footer headings are h2 for a correct outline; same look as before. */
html body:not(#_) .footer h2.f-h,html body:not(#_) .f-news h2.f-h{font-family:var(--vt-sans)!important;font-size:.8rem!important;line-height:1.4!important;letter-spacing:.14em!important;color:var(--vt-orange-200)!important;font-weight:600!important;margin:0 0 1rem!important;text-transform:none!important}
/* 25m. Cookie notice: fully on screen and compact on phones and tablets. */
@media (max-width:820px){
  html body:not(#_) .vcc-banner{left:10px!important;right:10px!important;bottom:10px!important;width:auto!important;max-width:none!important;transform:none!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:12px 14px!important}
  html body:not(#_) .vcc-banner p{flex:0 0 auto!important;font-size:.875rem!important;line-height:1.45!important;margin:0!important;max-width:none!important}
  html body:not(#_) .vcc-banner .vcc-actions{display:flex!important;gap:8px!important}
  html body:not(#_) .vcc-banner .vcc-btn{flex:1 1 0!important;min-height:42px!important;padding:8px 12px!important;font-size:.9375rem!important}
}
/* 25n. Itinerary hero: the darkening layer reaches the top of long titles on phones. */
html body .vt-itin .ihero h1{text-shadow:0 2px 22px rgba(7,29,36,.45)}
@media (max-width:820px){html body .vt-itin .ihero .veil{height:82%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%);mask-image:linear-gradient(180deg,transparent 0,#000 22%)}}
/* 25o. Links inside reading text use the accessible orange ink; small labels at least 12px;
   footer links tall enough to tap on phones. */
html body:not(#_) main :is(.prose,.lede,.vt2-pricebasis,.entry-content) a:not(.btn):not(.volcan-btn):not(.link-arrow){color:var(--vt-orange-ink);text-decoration:underline;text-underline-offset:3px}
html body:not(#_) .f-langs-lb,html body:not(#_) .vt-share-lb,html body:not(#_) .vf-kicker{font-size:.75rem!important}
html body:not(#_) .vf legend,html body:not(#_) [class*="vf-"] legend,html body:not(#_) [class*="vf-"] > label{font-size:.75rem!important;letter-spacing:.1em}
@media (max-width:820px){
  html body:not(#_) .footer-top li a,html body:not(#_) .footer a[href^="mailto:"],html body:not(#_) .footer a[href^="tel:"]{min-height:36px;display:inline-flex;align-items:center}
  html body:not(#_) input[type=range]{min-height:32px}
}html body:not(#_) .vsi-cta h2.vsi-cta-h{font-size:var(--vt-fs-h3);line-height:1.3;margin:.4em 0 .5em}html body .vt-itin .bit,html body .vt-itin .figcap,html body .vt-itin .stayrow .loc,html body .vt-itin .stayrow .pic .badge{font-size:.75rem!important}
html body .vtco-lab{font-size:.75rem!important}
html body:not(#_) button.vtco-btn.vtco-pay,html body:not(#_) #vtco-bpay{color:var(--vt-teal-ink)!important}
/* 25p. Filter panel is deep teal: status line and estimator link in light text. */
html body:not(#_) .vf-status{color:rgba(253,252,247,.86)!important}
html body:not(#_) .vf-estimate{color:rgba(253,252,247,.8)!important}
html body:not(#_) .vf-estimate a{color:var(--vt-orange-200)!important}
/* 25q. Trip cards: one clear price, the arrangement as a short label, readable country tags. */
html body:not(#_) .tour-card .tour-price::after{content:none!important;display:none!important}
html body:not(#_) .tour-card .tour-card-foot{align-items:flex-end;gap:12px}
html body:not(#_) .tour-card .vx-cnote{display:block;margin-top:4px;font-size:.8125rem;color:var(--vt-ink-3);font-weight:500}
html body:not(#_) .tour-card .tour-tags span{font-size:.75rem!important;padding:3px 9px}
html body:not(#_) .tour-card h3{font-family:var(--vt-display);font-weight:500;letter-spacing:-.005em}
.vt-grid-note{font-size:.875rem;color:var(--vt-ink-3);margin:0 0 18px;max-width:70ch}html body .vt-itin .b{font-size:.9375rem!important;letter-spacing:.01em}@media (max-width:480px){html body:not(#_) .vt2-hero .vt2-eyebrow{letter-spacing:.08em!important;font-size:.75rem!important;white-space:nowrap}}@media (max-width:600px){html body .vt-itin .day .top{display:block!important}html body .vt-itin .day .top>.n{display:block;margin:0 0 6px;font-size:2rem;line-height:1}}html body .vt-itin .day .top>.n{color:var(--vt-orange-ink)!important;font-family:var(--vt-display);font-variant-numeric:lining-nums tabular-nums}
/* 25r. Day rail: upcoming days readable (no transparency), current day marked by weight and colour. */
html body .vt-itin .dayrail .stop b,html body .vt-itin .dayrail .stop em,html body .vt-itin .dayrail .stop.done b,html body .vt-itin .dayrail .stop.done em{opacity:1!important}
html body .vt-itin .dayrail .stop b{color:var(--vt-ink-3)!important;font-size:.75rem!important}
html body .vt-itin .dayrail .stop em{color:var(--vt-ink-3)!important;font-size:.8125rem}
html body .vt-itin .dayrail .stop.on b{color:var(--vt-orange-ink)!important}
html body .vt-itin .dayrail .stop.on em{color:var(--vt-ink)!important;font-weight:600}
/* =====================================================================
   26. Type refresh, 8 Nov 2026: Source Serif 4 semibold for headings, no
   italic display type (emphasis is colour only), steady sizes.
   ===================================================================== */
html body:not(#_):not(#__):not(#___) :is(h1,h2,h3,.h1,.h2){font-family:var(--vt-display)!important;font-weight:600!important;letter-spacing:-.01em}
html body:not(#_) h4{font-weight:600}
html body:not(#_):not(#__) :is(h1,h2,h3,.h1,.h2,.h3,.lede) em{font-family:inherit!important;font-style:normal!important;font-size:inherit!important;font-weight:inherit!important}
html body .vt-itin h1,html body .vt-itin h2,html body .vt-itin h3{font-weight:600!important}
html body .vt-itin .ihero h1{letter-spacing:-.015em}
/* 27. Homepage revamp, 8 Nov 2026: Amboseli and Kilimanjaro hero, text on a left side shade. */
html body:not(#_) .vt3-hero{min-height:min(94vh,860px)}
html body:not(#_) .vt3-hero .vt2-hero-media img{object-position:58% 62%}
html body:not(#_) .vt3-hero::after{background:linear-gradient(90deg,rgba(7,29,36,.82) 0%,rgba(7,29,36,.62) 34%,rgba(7,29,36,.18) 62%,rgba(7,29,36,0) 78%),linear-gradient(0deg,rgba(7,29,36,.9) 0%,rgba(7,29,36,.35) 26%,rgba(7,29,36,0) 46%),linear-gradient(180deg,rgba(7,29,36,.45) 0%,rgba(7,29,36,0) 22%)!important}
html body:not(#_) .vt3-hero h1{max-width:19ch;text-shadow:0 2px 20px rgba(0,0,0,.35)}
html body:not(#_) .vt3-hero .vt2-hero-lede{max-width:52ch}
html body:not(#_) .vt3-hero .vt2-hero-facts b{font-weight:600}
@media (max-width:767px){
  html body:not(#_) .vt3-hero .vt2-hero-media img{object-position:66% 100%}
  html body:not(#_) .vt3-hero::after{background:linear-gradient(180deg,rgba(7,29,36,.55) 0%,rgba(7,29,36,.42) 48%,rgba(7,29,36,.55) 70%,rgba(7,29,36,.9) 100%)!important}
  html body:not(#_) .vt3-hero h1,html body:not(#_) .vt3-hero .vt2-hero-lede{text-shadow:0 2px 16px rgba(0,0,0,.55)}
}
.vt2-close-trade{margin-top:14px;font-size:.95rem;color:rgba(253,252,247,.82)}
html body:not(#_) .vt2-close-trade a{color:var(--vt-orange-200);text-decoration:underline;text-underline-offset:3px}
/* ==========================================================================
   28. Presentation refresh, 8 November 2026
   Textured brand sections, two tone headings, three colour divider,
   glass hero panel, rounder cards, check bullets. Volcan colours kept.
   ========================================================================== */
:root{
  --vt-sun:#F6B56B;
  --vt-sky:#7FB3C0;
  --vt-accent-ink:#B85D0C;
  --vt-radius-lg:20px;
  --vt-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23F28820' stroke-opacity='.06' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 58c16-11 52-13 72-2-18 7-54 9-72 2z'/%3E%3Cpath d='M54 60l-2 38M53 74l-11-11M53 71l13-10'/%3E%3Ccircle cx='186' cy='46' r='15'/%3E%3Cpath d='M186 22v-6M186 76v-6M162 46h-6M216 46h-6'/%3E%3Cpath d='M118 206l42-60 15 15 11-11 38 56'/%3E%3Cpath d='M150 160l10-14 8 9 5-5'/%3E%3Cpath d='M26 206c2-9 5-14 9-18M36 206c0-9 3-14 7-20M46 206c-1-7-3-11-7-15'/%3E%3C/g%3E%3C/svg%3E");
  --vt-pattern-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23F9C48E' stroke-opacity='.045' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 58c16-11 52-13 72-2-18 7-54 9-72 2z'/%3E%3Cpath d='M54 60l-2 38M53 74l-11-11M53 71l13-10'/%3E%3Ccircle cx='186' cy='46' r='15'/%3E%3Cpath d='M186 22v-6M186 76v-6M162 46h-6M216 46h-6'/%3E%3Cpath d='M118 206l42-60 15 15 11-11 38 56'/%3E%3Cpath d='M150 160l10-14 8 9 5-5'/%3E%3Cpath d='M26 206c2-9 5-14 9-18M36 206c0-9 3-14 7-20M46 206c-1-7-3-11-7-15'/%3E%3C/g%3E%3C/svg%3E");
  --vt-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23F28820'/%3E%3Cpath d='M6.5 12.4l3.6 3.6 7.4-7.6' fill='none' stroke='%230A2730' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --vt-divider:linear-gradient(90deg,#F28820 0 30%,transparent 30% 35%,#F6B56B 35% 65%,transparent 65% 70%,#7FB3C0 70% 100%);
}

/* Textured backgrounds */
.vt2-section--sand,
.vt-reviews-strip{
  background-color:var(--vt-sand,#F6F1E7)!important;
  background-image:var(--vt-pattern)!important;
  background-size:240px 240px!important;
}
.vt2-dark{
  background-color:var(--vt-teal,#0F3743)!important;
  background-image:var(--vt-pattern-dark),radial-gradient(ellipse 70% 60% at 12% 0%,rgba(242,136,32,.12),transparent 60%),radial-gradient(ellipse 60% 60% at 100% 100%,rgba(127,179,192,.10),transparent 60%)!important;
  background-size:240px 240px,auto,auto!important;
}

/* Two tone headings */
.vt-accent{color:var(--vt-accent-ink)}
html body:not(#_):not(#__):not(#___) :is(h1,h2,h3) .vt-accent{font-family:inherit!important;font-weight:inherit!important;font-style:normal!important;letter-spacing:inherit!important;font-size:inherit!important;text-transform:none!important}
.vt2-dark .vt-accent,
.vt3-hero .vt-accent{color:var(--vt-sun)}

/* Three colour divider under section headings */
html body .vt2-head h2::after{
  width:64px!important;height:4px!important;border-radius:2px!important;
  background:var(--vt-divider)!important;
}

/* Eyebrows as pills */
.vt2-head .vt2-eyebrow,
.vt2-close .vt2-eyebrow{
  display:inline-block;padding:6px 14px;border-radius:999px;
  background:var(--vt-orange-50,#FDF3E8);border:1px solid var(--vt-orange-200,#F9C48E);
  color:var(--vt-accent-ink);letter-spacing:.08em;
}
.vt2-dark .vt2-eyebrow{
  background:rgba(246,181,107,.12);border-color:rgba(246,181,107,.35);color:var(--vt-sun);
}

/* Hero: glass panel over the photograph */
.vt3-hero .vt3-panel{
  max-width:720px;padding:34px 38px 30px;border-radius:24px;
  background:rgba(8,29,36,.38);
  border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.55);
}
.vt3-hero .vt3-panel h1{margin-top:.35em}
.vt3-hero .vt2-eyebrow--light{
  padding:6px 14px;border-radius:999px;
  background:rgba(246,181,107,.14);border:1px solid rgba(246,181,107,.4);
  color:#FBD9B0;font-size:.82em;letter-spacing:.1em;
}
.vt3-hero .vt2-hero-browse{margin-bottom:0}
@media (min-width:901px){
  html body:not(#_):not(#__) .vt3-hero::after{
    background:linear-gradient(90deg,rgba(8,29,36,.55) 0%,rgba(8,29,36,.18) 55%,rgba(8,29,36,0) 75%),
               linear-gradient(0deg,rgba(8,29,36,.75) 0%,rgba(8,29,36,0) 32%)!important;
  }
}
/* Trust facts as glass chips */
.vt3-hero .vt2-trustbar{gap:12px!important;padding-top:22px!important}
.vt3-hero .vt2-trustbar li{
  list-style:none;padding:12px 16px;border-radius:14px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  font-size:.86em;line-height:1.4;
}
.vt3-hero .vt2-trustbar li b{color:var(--vt-sun)}
@media (max-width:900px){
  .vt3-hero .vt3-panel{padding:24px 20px 22px;border-radius:20px;background:rgba(8,29,36,.45)}
}

/* Cards */
.tour-card,
.vt2-dest{
  border-radius:var(--vt-radius-lg)!important;overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
}
.tour-card:hover,
.vt2-dest:hover{transform:translateY(-4px);box-shadow:var(--vt-shadow-lift)!important}
.vt2-steps li{
  background:#fff!important;border-radius:var(--vt-radius-lg)!important;
  border:1px solid var(--vt-line,#DCE3E5)!important;
  box-shadow:var(--vt-shadow);position:relative;overflow:hidden;
}
.vt2-steps li::after{
  content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--vt-divider);
}
.vt2-steps li .vt2-step-n{background:var(--vt-orange,#F28820)!important;color:var(--vt-teal-ink,#0A2730)!important;font-weight:700}
.vt2-section--white{
  background-color:#fff;
  background-image:radial-gradient(ellipse 50% 40% at 50% 0%,rgba(242,136,32,.06),transparent 70%);
}

/* Why Volcan: points as glass cards on the dark section */
.vt2-why-list li{
  padding:22px 22px 22px 72px!important;margin-bottom:14px;border-radius:18px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
}
.vt2-why-list li::before{left:22px!important;top:22px!important}

/* Check bullets in guides, tour pages and lodge pages */
.vt-art-body ul:not([class]) li,
.single-tour_package .entry-content ul:not([class]) li,
.single-accommodation .entry-content ul:not([class]) li{
  list-style:none;position:relative;padding-left:32px;
}
.vt-art-body ul:not([class]),
.single-tour_package .entry-content ul:not([class]),
.single-accommodation .entry-content ul:not([class]){padding-left:0}
.vt-art-body ul:not([class]) li::before,
.single-tour_package .entry-content ul:not([class]) li::before,
.single-accommodation .entry-content ul:not([class]) li::before{
  content:"";position:absolute;left:0;top:.28em;width:20px;height:20px;
  background:var(--vt-check) center/contain no-repeat;
}

/* Buttons: soft lift */
.vt2-btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.vt2-btn:not(.vt2-btn--ghost):not(.vt2-btn--light){box-shadow:0 10px 24px -12px rgba(242,136,32,.75)}
.vt2-btn:hover{transform:translateY(-2px)}

@media (prefers-reduced-motion:reduce){
  .tour-card,.vt2-dest,.vt2-btn{transition:none}
  .tour-card:hover,.vt2-dest:hover,.vt2-btn:hover{transform:none}
}
/* 28b. Hero panel width */
html body:not(#_):not(#__) .vt3-hero .vt3-panel{max-width:780px}
html body:not(#_):not(#__) .vt3-hero .vt3-panel h1{max-width:none!important;font-size:clamp(2.2rem,4.2vw,3.5rem)!important;line-height:1.08}
@media (min-width:901px){html body:not(#_):not(#__) .vt3-hero .vt2-hero-inner{padding-top:108px!important;padding-bottom:56px!important}}
/* 28c. Quick links as pills */
.vt2-headlinks{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.vt2-headlinks a{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:#fff;border:1px solid var(--vt-line,#DCE3E5);color:var(--vt-teal,#0F3743);font-weight:600;font-size:.92em;text-decoration:none;box-shadow:var(--vt-shadow);transition:border-color .2s ease,transform .2s ease}
.vt2-headlinks a::before{content:"";width:8px;height:8px;border-radius:3px;background:var(--vt-orange,#F28820)}
.vt2-headlinks a:hover{border-color:var(--vt-orange,#F28820);transform:translateY(-1px)}.vt2-headlinks > span[aria-hidden]{display:none}@media (max-width:900px){html body:not(#_):not(#__) .vt3-hero .vt3-panel{background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;border-radius:0}html body:not(#_):not(#__) .vt3-hero .vt2-trustbar li{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(8,29,36,.45)}}