/**

 * Site-wide type and component polish.

 *

 * This is deliberately loaded after the catalogue and reference styles so

 * Elementor, Gutenberg and PHP-rendered templates share the same readable

 * Lora/Manrope system without changing markup or business behaviour.

 */



/* Catalogue surfaces follow the About editorial type contract, including

   templates whose body does not carry the reference-page class. */

body section#offers-promotions {background:linear-gradient(180deg,#fff6ed 0%,var(--swt-palette-fffaf5, #fffaf5) 65%,#fff 100%);padding-block:clamp(2.5rem,5vw,4.5rem);border-top:1px solid var(--swt-palette-f5dfcc, #f5dfcc)}

.swt-offers__header {display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:3rem;align-items:center;margin-bottom:2rem}

body .swt-offers__eyebrow {display:inline-block;color:var(--swt-palette-a43a13, #a43a13);font:700 .72rem/1.5 var(--font-body);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.8rem}

body .swt-offers__copy h2 {font:700 clamp(2rem,3.8vw,3.4rem)/1.08 var(--font-display);letter-spacing:-.025em;margin:0 0 1rem;color:var(--swt-palette-241b17, #241b17)}

body .swt-offers__copy .ref-section-header__intro {max-width:650px;margin:0;font:500 1rem/1.7 var(--font-body);color:var(--swt-palette-55463c, #55463c)}

.swt-offers__invitation {position:relative;padding:1.5rem 1.75rem;border-radius:18px;background:var(--sunward-primary,var(--swt-palette-e85a1f, #e85a1f));color:#fff;box-shadow:0 12px 30px var(--swt-palette-c75a1820, #c75a1820);transform:rotate(2deg)}

.swt-offers__ticket-label {font:700 .7rem/1.4 var(--font-body);letter-spacing:.15em;text-transform:uppercase}

.swt-offers__invitation strong {display:block;font:700 1.65rem/1.15 var(--font-display);margin:.6rem 0 1rem;color:#fff}

body .swt-offers__invitation a {display:flex;align-items:center;justify-content:space-between;color:#fff;font:700 .85rem/1.5 var(--font-body);border-top:1px dashed #ffffff80;padding-top:.8rem;text-decoration:none}

.swt-offers__grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}

.swt-offer-card {display:flex;flex-direction:column;min-width:0;border:1px solid var(--swt-palette-efdfd2, #efdfd2);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 24px var(--swt-palette-55301809, #55301809);transition:transform .2s ease,box-shadow .2s ease}

.swt-offer-card:hover,.swt-offer-card:focus-within {transform:translateY(-4px);box-shadow:0 16px 32px var(--swt-palette-55301818, #55301818)}

.swt-offer-card__image {display:block;position:relative;aspect-ratio:3/2;background:var(--swt-palette-f5f1ec, #f5f1ec);overflow:hidden}

.swt-offer-card__image img {width:100%;height:100%;object-fit:cover}

.swt-offer-card__image>span {position:absolute;top:.8rem;left:.8rem;background:#fff;color:var(--swt-palette-bb3d0b, #bb3d0b);padding:.4rem .7rem;border-radius:6px;font:700 .7rem var(--font-ui);box-shadow:0 3px 12px #00000012}

.swt-offer-card__image>span.swt-offer-card__image-arrow {left:auto;top:auto;bottom:.8rem;right:.8rem;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;padding:0;font-size:1.1rem}

.swt-offer-card__body {display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:1.25rem}

body .swt-offer-card__category {font:700 .65rem/1.5 var(--font-body);color:var(--swt-palette-786557, #786557);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.55rem}

body .swt-offer-card h3 {font:700 1.35rem/1.22 var(--font-display);margin:0 0 .75rem}

body .swt-offer-card h3 a {color:var(--swt-accent-text, var(--sunward-primary,var(--swt-palette-e85a1f, #e85a1f)))}

body .swt-offer-card h3 a:hover,

body .swt-offer-card h3 a:focus-visible {color:var(--swt-accent-text, var(--sunward-primary-dark,var(--swt-palette-c84512, #c84512)))}

.swt-offer-card__body p {font:500 .925rem/1.65 var(--font-body);color:var(--swt-palette-554c45, #554c45);margin:0 0 1.25rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

body .swt-offer-card__body .btn {margin-top:auto;width:100%;display:flex;justify-content:space-between;gap:.75rem;padding-inline:1rem;border-radius:9px;font-size:.75rem;min-height:44px}

body .swt-offers a:focus-visible {outline:3px solid var(--swt-palette-78330f, #78330f);outline-offset:4px}

@media(max-width:767px){.swt-offers__header{grid-template-columns:1fr;gap:1.5rem}.swt-offers__invitation{display:none}}

@media(prefers-reduced-motion:reduce){.swt-offer-card{transition:none}.swt-offer-card:hover,.swt-offer-card:focus-within{transform:none}}

body .swt-memberships {background:#fff;border-top:1px solid #eee;padding-block:3rem}

body .swt-memberships h2 {font:700 clamp(1.25rem,2vw,1.6rem)/1.3 var(--font-body);color:var(--swt-accent-text, var(--clay,var(--swt-palette-ef571b, #ef571b)));margin:0 0 2rem}

.swt-memberships__logos {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:1.5rem;list-style:none;padding:0;margin:0}

.swt-memberships__logos li {display:flex;align-items:center;justify-content:center;min-width:0;height:110px}

.swt-memberships__logos img {display:block;max-width:100%;max-height:110px;width:auto;height:auto;object-fit:contain}

@media(max-width:1024px){.swt-offers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.swt-memberships__logos{grid-template-columns:repeat(4,minmax(0,1fr))}}

@media(max-width:600px){.swt-offers__grid{grid-template-columns:1fr}.swt-memberships__logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.swt-memberships__logos li{height:90px}.swt-memberships__logos img{max-height:90px}}



body :is(.swt-vehicle-catalogue,.swt-v2-vehicle,.swt-visa-vehicles,.swt-v2-directory,.swt-v2-car-hire) :is(h1,h2,h3) {

  font-family:var(--font-display,"Lora",serif);font-weight:700;letter-spacing:-.018em;line-height:1.08;

}

body :is(.swt-directory-head,.swt-section-heading) h2 {

  font-family:var(--font-display,"Lora",serif);font-size:clamp(1.85rem,3.4vw,3.4rem);font-weight:700;color:var(--swt-palette-171717, #171717);

}

body .swt-vehicle-card .swt-vehicle-card__body h2,

body .swt-vehicle-card .swt-vehicle-card__body h2 a {font-family:var(--font-display,"Lora",serif);font-size:clamp(1.35rem,2vw,1.65rem);font-weight:700;color:var(--swt-palette-1c1c1c, #1c1c1c);line-height:1.2}

body :is(.swt-directory-head,.swt-section-heading,.swt-service-proof,.swt-vehicle-card__body) p {font-family:var(--font-body,"Manrope",sans-serif);font-weight:500;color:var(--swt-palette-3d3d3d, #3d3d3d);line-height:1.7;font-size:1rem}

body .swt-vehicle-card :is(.swt-vehicle-features,.swt-vehicle-services) {font-family:var(--font-ui,"Manrope",sans-serif);font-weight:600;color:#555;font-size:.875rem;line-height:1.6}

body .swt-vehicle-card .btn {font-family:var(--font-ui,"Manrope",sans-serif);font-weight:700}

body .swt-vehicle-card__media {aspect-ratio:3/2;background:#f5f5f5}

body .swt-vehicle-card__media img {width:100%;height:100%;object-fit:contain;object-position:center}

body .swt-v2-vehicle .swt-product-hero__media img {object-fit:contain;background:#f5f5f5}

body .swt-vehicle-image-credit,body .swt-vehicle-card__body .swt-vehicle-image-credit {font:500 .72rem/1.5 var(--font-body,"Manrope",sans-serif);color:#555;margin:0 0 1rem}

body .swt-vehicle-image-credit a {color:inherit;text-decoration:underline}

body .swt-vehicle-card__body .swt-vehicle-image-credit {order:10;margin:1rem 0 0;padding-top:.75rem;border-top:1px solid #e5e5e5}

body .swt-vehicle-catalogue .swt-section-heading>p {color:var(--swt-palette-3d3d3d, #3d3d3d);font-weight:500;font-size:1.0625rem}

body .swt-vehicle-catalogue .swt-section-heading h2 {font-size:clamp(1.85rem,3.4vw,3.4rem);line-height:1.04;letter-spacing:-.025em}

body .swt-vehicle-card .swt-vehicle-features li {font-size:.875rem;font-weight:600;color:#555}

body .swt-section-heading--light :is(h2,p) {color:#fff}



/* Mobile homepage: size the slide stack from its copy, not a desktop-height

   canvas. All slides share one grid cell so rotation never shifts the page. */

@media (max-width:767px) {

  body.reference-home .ref-hero.hero {

    height:auto;min-height:0;max-height:none;margin-top:0;margin-bottom:0;

  }

  body.reference-home .ref-hero.hero .hero-slides {

    display:grid;position:relative;inset:auto;min-width:0;

  }

  body.reference-home .ref-hero.hero .hero-slide {

    grid-area:1 / 1;position:relative;inset:auto;min-width:0;min-height:0;

  }

  body.reference-home .ref-hero.hero .ref-hero__content-wrap {

    align-items:center;box-sizing:border-box;height:auto;min-height:0;

    width:100%;max-width:100%;padding:2.5rem 1.25rem 4rem;

  }

  body.reference-home .ref-hero.hero .ref-hero__content {

    flex:1 1 0;min-width:0;width:100%;max-width:100%;margin-inline:0;

  }

  body.reference-home .ref-hero.hero .ref-hero__content :is(h1,h2) {

    font-size:clamp(2rem,8.5vw,2.75rem);line-height:1.1;

    overflow-wrap:anywhere;margin-block:.75rem 1rem;

  }

  body.reference-home .ref-hero.hero .ref-hero__content .lede {

    font-size:1rem;line-height:1.6;margin-top:0;

  }

  body.reference-home .ref-hero.hero .ref-hero__actions {gap:.625rem;margin-top:1.25rem}

  body.reference-home .ref-hero.hero .ref-hero__actions .btn {

    min-width:0;max-width:100%;white-space:normal;padding-inline:1rem;

  }

  body.reference-home .elementor .elementor-element .ref-journey-finder {margin-top:0;padding-block:1rem 0 !important}

  body.reference-home .ref-journey-finder .journey-finder-section {margin:0;padding-block:0}

}



/* The editorial contract used by the About pages, extended to every

   WordPress-rendered content surface. */

body,

body .site-main,

body .wp-site-blocks,

body .wp-block-post-content,

body .entry-content,

body .swt-pack-content,

body .article-single,

body .guide-single,

body .tour-single {

  color: var(--sunward-body, var(--swt-palette-3d3d3d, #3d3d3d));

  font-family: var(--font-body, "Manrope", sans-serif);

  font-weight: 500;

}



/* All public reference/template headings use the two supplied Lora weights.

   This also corrects legacy 500 declarations on archive, visa, vehicle and

   destination-guide headings without touching body copy or navigation. */

body.swt-reference-ui :where(h1, h2, h3, h4, h5, h6) {

  font-family: var(--font-display, "Lora", serif);

  font-weight: 700;

}



/* Several older template rules are intentionally very specific (and a few

   use 500 for Lora). Keep the menu's functional headings alone, while

   normalising the public reference, catalogue and content-pack headings. */

body.swt-reference-ui [class*="swt-"] :is(h1, h2, h3, h4, h5, h6),

body.swt-reference-ui [class*="ref-"] :is(h1, h2, h3, h4, h5, h6),

body.swt-reference-ui .page-hero :is(h1, h2, h3, h4, h5, h6),

body.swt-reference-ui .tour-single :is(h1, h2, h3, h4, h5, h6),

body.swt-reference-ui .guide-single :is(h1, h2, h3, h4, h5, h6),

body.swt-reference-ui .article-single :is(h1, h2, h3, h4, h5, h6) {

  font-family: var(--font-display, "Lora", serif);

  font-weight: var(--display-weight, 700) !important;

}



body :where(.entry-content, .wp-block-post-content, .swt-pack-content, .article-single__body, .guide-single__body, .tour-single__body) :where(h1, h2, h3, h4, h5, h6) {

  color: var(--sunward-heading, var(--swt-palette-171717, #171717));

  font-family: var(--font-display, "Lora", serif);

  font-weight: 700;

  letter-spacing: -.018em;

  line-height: 1.08;

  text-wrap: balance;

}



body :where(.entry-content, .wp-block-post-content, .swt-pack-content, .article-single__body, .guide-single__body, .tour-single__body) :where(p, li, dd, dt, table, figcaption, cite) {

  color: var(--sunward-body, var(--swt-palette-3d3d3d, #3d3d3d));

  font-family: var(--font-body, "Manrope", sans-serif);

  font-size: 1rem;

  font-weight: 500;

  line-height: 1.72;

}



body :where(.entry-content, .wp-block-post-content, .swt-pack-content) :where(h1) {

  font-size: clamp(2.5rem, 6vw, 5.5rem);

}



body :where(.entry-content, .wp-block-post-content, .swt-pack-content) :where(h2) {

  font-size: clamp(2rem, 4vw, 3.75rem);

}



body :where(.entry-content, .wp-block-post-content, .swt-pack-content) :where(h3) {

  font-size: clamp(1.45rem, 2.5vw, 2.1rem);

}



body :where(.entry-content, .wp-block-post-content, .swt-pack-content) :where(h4, h5, h6) {

  font-size: clamp(1.15rem, 1.8vw, 1.45rem);

}



/* Elementor widgets use native controls and remain fully editable. */

body.swt-elementor-ui :where(.elementor-widget-text-editor, .elementor-widget-theme-post-content, .elementor-widget-post-content) :where(p, li, td, th, figcaption) {

  color: var(--sunward-body, var(--swt-palette-3d3d3d, #3d3d3d));

  font-family: var(--font-body, "Manrope", sans-serif);

  font-weight: 500;

  line-height: 1.7;

}



body.swt-elementor-ui :where(.elementor-widget-heading, .elementor-widget-theme-post-title) :where(h1, h2, h3, h4, h5, h6) {

  color: var(--sunward-heading, var(--swt-palette-171717, #171717));

  font-family: var(--font-display, "Lora", serif);

  font-weight: 700;

  letter-spacing: -.018em;

  line-height: 1.08;

  text-wrap: balance;

}



body.swt-elementor-ui :where(.elementor-button, .elementor-cta__button, .elementor-widget-button a) {

  font-family: var(--font-body, "Manrope", sans-serif);

  font-weight: 800;

  letter-spacing: .015em;

}



/* Homepage sections use the same display scale as the About page. The

   catalogue card labels stay Manrope, while editorial headings use Lora 700. */

body.reference-home :is(.ref-section-header, .ref-destination-hub__copy, .ref-global__intro, .ref-partner__grid, .ref-confidence__grid, .ref-final-cta__content) h2 {

  color: var(--sunward-heading, var(--swt-palette-171717, #171717));

  font-family: var(--font-display, "Lora", serif);

  font-size: clamp(2.1rem, 3.8vw, 3.65rem);

  font-weight: var(--display-weight, 700) !important;

  letter-spacing: -.02em;

  line-height: 1.04;

}



body.reference-home :is(.ref-section-header__intro, .ref-destination-hub__copy > p:not(.eyebrow), .ref-global__intro > p:not(.eyebrow), .ref-partner__grid > div > p, .ref-confidence__intro, .ref-final-cta__content > p) {

  font-family: var(--font-body, "Manrope", sans-serif);

  font-size: 1rem;

  font-weight: 500;

  line-height: 1.7;

}



body.reference-home :is(.ref-safari-grid, .ref-holiday-grid, .ref-destination-hub__cards, .ref-global__offices, .ref-mice__grid, .ref-confidence__cards, .ref-trust__grid, .ref-testimonials__grid, .ref-articles__grid) :is(h2, h3, h4, .holiday-card__destination, .ref-destination-card__name, .ref-global-card__city) {

  font-family: var(--font-display, "Lora", serif);

  font-weight: var(--display-weight, 700) !important;

  letter-spacing: -.012em;

  line-height: 1.12;

}



/* Some homepage cards intentionally use paragraphs instead of headings so

   their Elementor controls remain simple. Give those title-like labels the

   same editorial treatment as the semantic headings above. */

body.reference-home .ref-confidence-card__label,

body.reference-home .ref-trust-card h3,

body.reference-home .ref-quick-card__label {

  color: var(--sunward-card-heading, var(--swt-palette-1c1c1c, #1c1c1c));

  font-family: var(--font-display, "Lora", serif) !important;

  font-size: clamp(1.12rem, 1.35vw, 1.34rem);

  font-weight: var(--display-weight, 700) !important;

  letter-spacing: -.012em;

  line-height: 1.16;

}



body.reference-home .ref-confidence-card__body,

body.reference-home .ref-trust-card p,

body.reference-home .ref-quick-card__blurb {

  color: var(--sunward-body, var(--swt-palette-3d3d3d, #3d3d3d));

  font-family: var(--font-body, "Manrope", sans-serif) !important;

  font-size: .9375rem;

  font-weight: 500 !important;

  line-height: 1.62;

}



body.reference-home .ref-mice-card__overlay p,

body.reference-home .ref-destination-card__name,

body.reference-home .ref-global-card__city {

  font-family: var(--font-display, "Lora", serif) !important;

  font-weight: var(--display-weight, 700) !important;

  letter-spacing: -.012em;

  line-height: 1.12;

}



body.reference-home .ref-mice-card__overlay p,

body.reference-home .ref-destination-card__name,

body.reference-home .ref-global-card__city {

  color: var(--ivory, #fff) !important;

}



/* Featured holidays expose the same editable layout choice as safaris. The

   carousel remains touch-friendly without changing the card markup or data;

   Grid stays the stable default for existing Elementor documents. */

body.reference-home .ref-featured-holidays--carousel .ref-holiday-grid {

  display: flex;

  flex-wrap: nowrap;

  gap: 1.25rem;

  overflow-x: auto;

  padding-bottom: .5rem;

  scroll-snap-type: x mandatory;

  scrollbar-width: thin;

}



body.reference-home .ref-featured-holidays--carousel .ref-holiday-grid > .holiday-card {

  flex: 0 0 min(82vw, 22rem);

  scroll-snap-align: start;

}



@media (min-width: 48rem) {

  body.reference-home .ref-featured-holidays--carousel .ref-holiday-grid > .holiday-card {

    flex-basis: calc((100% - 2.5rem) / 3);

  }

}



/* Image-led destination hub: attraction photography replaces the Visa flag

   treatment and the cards use a calmer editorial masonry rhythm. */

body.reference-home .ref-destination-hub--image-led {

  overflow: hidden;

}



body.reference-home .ref-destination-hub--image-led .ref-destination-hub__copy {

  max-width: 34rem;

}



body.reference-home .ref-destination-hub--image-led .ref-destination-hub__cards {

  gap: 1rem;

}



body.reference-home .ref-destination-hub--image-led .ref-destination-card {

  aspect-ratio: 4 / 3;

  border: 1px solid rgba(255, 255, 255, .24);

  border-radius: 1.15rem;

  box-shadow: 0 1.25rem 2.75rem var(--swt-palette-3d1b0c-a200, rgba(61, 27, 12, .2));

  min-height: 12rem;

  transition: transform .3s ease, box-shadow .3s ease;

}



body.reference-home .ref-destination-hub--image-led .ref-destination-card:hover,

body.reference-home .ref-destination-hub--image-led .ref-destination-card:focus-visible {

  box-shadow: 0 1.5rem 3.25rem var(--swt-palette-3d1b0c-a280, rgba(61, 27, 12, .28));

  transform: translateY(-4px);

}



body.reference-home .ref-destination-hub--image-led .ref-destination-card__overlay {

  background: linear-gradient(180deg, var(--swt-palette-17110d-a20, rgba(23, 17, 13, .02)) 28%, var(--swt-palette-17110d-a860, rgba(23, 17, 13, .86)) 100%);

  display: flex;

  flex-direction: column;

  justify-content: flex-end;

  padding: 1.15rem;

}



body.reference-home .ref-destination-hub--image-led .ref-destination-card__name {

  font-size: clamp(1.25rem, 2vw, 1.75rem);

}



@media (min-width: 64rem) {

  body.reference-home .ref-destination-hub--image-led .ref-destination-hub__grid {

    align-items: stretch;

    gap: clamp(3.5rem, 6vw, 6rem);

    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);

  }



  body.reference-home .ref-destination-hub--image-led .ref-destination-hub__copy {

    align-self: center;

  }



  body.reference-home .ref-destination-hub--image-led .ref-destination-hub__cards {

    grid-auto-rows: minmax(10rem, 1fr);

    grid-template-columns: repeat(3, minmax(0, 1fr));

  }



  body.reference-home .ref-destination-hub--image-led .ref-destination-card:first-child {

    grid-row: span 2;

    min-height: 21rem;

  }



body.reference-home .ref-destination-hub--image-led .ref-destination-card:nth-child(4) {

    grid-column: span 2;

  }

}



/* Destination hub layout controls: grid is the calm, balanced default while

   the optional carousel keeps cards touch-friendly on smaller screens. */

body.reference-home .ref-destination-hub--image-led {

  background: #fff;

  color: var(--sunward-body, var(--swt-palette-3d3d3d, #3d3d3d));

}



body.reference-home .ref-destination-hub--image-led .ref-destination-hub__grid {

  display: block;

}



body.reference-home .ref-destination-hub--image-led .ref-destination-hub__copy {

  margin-bottom: 2rem;

  max-width: 42rem;

}



body.reference-home .ref-destination-hub--image-led .ref-destination-hub__features {

  grid-template-columns: repeat(2, minmax(0, 1fr));

  max-width: 38rem;

}



body.reference-home .ref-destination-hub--image-led .ref-destination-hub__actions {

  align-items: center;

  gap: .75rem;

  margin-top: 1.5rem;

}



body.reference-home .ref-destination-hub--image-led .ref-destination-hub__cards {

  grid-template-columns: 1fr;

}



body.reference-home .ref-destination-hub--image-led .ref-destination-card {

  aspect-ratio: 3 / 2;

  border: 1px solid var(--swt-palette-171717-a100, rgba(23, 23, 23, .1));

  box-shadow: 0 .75rem 2rem var(--swt-palette-171717-a80, rgba(23, 23, 23, .08));

}



@media (min-width: 48rem) {

  body.reference-home .ref-destination-hub--image-led .ref-destination-hub__cards {

    grid-template-columns: repeat(3, minmax(0, 1fr));

  }



  body.reference-home .ref-destination-hub--image-led .ref-destination-hub__features {

    grid-template-columns: repeat(4, minmax(0, 1fr));

  }

}



body.reference-home .ref-destination-hub--grid .ref-destination-hub__cards {

  align-items: stretch;

  grid-auto-rows: auto;

  grid-template-columns: 1fr;

}



body.reference-home .ref-destination-hub--grid .ref-destination-card,

body.reference-home .ref-destination-hub--grid .ref-destination-card:first-child,

body.reference-home .ref-destination-hub--grid .ref-destination-card:nth-child(4) {

  grid-column: auto;

  grid-row: auto;

  min-height: 0;

}



body.reference-home .ref-destination-hub--grid .ref-destination-card {

  aspect-ratio: 3 / 2;

}



@media (min-width: 48rem) {

  body.reference-home .ref-destination-hub--grid .ref-destination-hub__cards {

    grid-template-columns: repeat(3, minmax(0, 1fr));

  }

}



body.reference-home .ref-destination-hub--carousel .ref-destination-hub__cards {

  display: flex;

  flex-wrap: nowrap;

  gap: 1rem;

  overflow-x: auto;

  padding-bottom: .6rem;

  scroll-snap-type: x mandatory;

  scrollbar-width: thin;

}



body.reference-home .ref-destination-hub--carousel .ref-destination-card {

  flex: 0 0 min(78vw, 20rem);

  aspect-ratio: 4 / 3;

  scroll-snap-align: start;

}



@media (min-width: 64rem) {

  body.reference-home .ref-destination-hub--carousel .ref-destination-card {

    flex-basis: calc((100% - 2rem) / 3);

  }

}



/* Safari/tour cards use class-only title elements rather than headings. These

   explicit selectors are required to beat the legacy card rule that assigned

   Manrope or Lora 500 at higher specificity. */

body.swt-reference-ui .tour-card .tour-card__title,

body.swt-reference-ui .safari-card .safari-card__title,

body.reference-home .ref-safari-grid .tour-card__title,

body.reference-home .ref-safari-grid .safari-card__title {

  color: var(--sunward-card-heading, var(--swt-palette-1c1c1c, #1c1c1c));

  font-family: var(--font-display, "Lora", serif) !important;

  font-size: clamp(1.18rem, 1.8vw, 1.42rem);

  font-weight: 700 !important;

  letter-spacing: -.012em;

  line-height: 1.12;

}



body.swt-reference-ui .tour-card :is(.tour-card__type, .tour-card__code, .tour-card__duration),

body.swt-reference-ui .safari-card :is(.safari-card__style, .safari-card__code),

body.swt-reference-ui .tour-card .tour-card__footer a,

body.swt-reference-ui .safari-card .safari-card__footer a {

  font-family: var(--font-body, "Manrope", sans-serif) !important;

  font-weight: 800 !important;

}



body.swt-reference-ui .tour-card .tour-card__excerpt,

body.swt-reference-ui .safari-card .safari-card__excerpt,

body.reference-home .ref-section-header__intro {

  color: var(--sunward-body, var(--swt-palette-3d3d3d, #3d3d3d));

  font-family: var(--font-body, "Manrope", sans-serif) !important;

  font-size: 1rem;

  font-weight: 500 !important;

  line-height: 1.68;

}



body.swt-reference-ui .tour-card--overlay .tour-card__title,

body.swt-reference-ui .tour-card--overlay .tour-card__title a,

body.swt-reference-ui .tour-card--overlay .tour-card__excerpt,

body.swt-reference-ui .tour-card--overlay .tour-card__body > p {

  color: #fff;

}



body.reference-home :is(.ref-safari-grid, .ref-holiday-grid, .ref-destination-hub__cards, .ref-global__offices, .ref-mice__grid, .ref-confidence__cards, .ref-trust__grid, .ref-testimonials__grid, .ref-articles__grid) :is(p, li, .tour-card__excerpt, .holiday-card__type, .ref-global-card__role, .ref-global-card__detail) {

  font-family: var(--font-body, "Manrope", sans-serif);

  font-weight: 500;

  line-height: 1.62;

}



/* Theme-orange is a first-class Elementor tone, not a one-off override. */

body.reference-home .tone-orange {

  background: var(--sunward-primary, var(--swt-palette-e85a1f, #e85a1f)) !important;

  color: #fff;

  position: relative;

}



body.reference-home .tone-orange :is(h2, h3, h4),

body.reference-home .tone-orange .ref-global__intro > p:not(.eyebrow),

body.reference-home .tone-orange .ref-destination-hub__copy > p:not(.eyebrow),

body.reference-home .tone-orange .ref-destination-hub__features li {

  color: #fff;

}



body.reference-home .tone-orange .ref-global__intro h2,

body.reference-home .tone-orange .ref-destination-hub__copy h2 {

  color: #fff;

}



body.reference-home .tone-orange .ref-global__intro .eyebrow,

body.reference-home .tone-orange .ref-destination-hub__copy .eyebrow,

body.reference-home .tone-orange .ref-destination-card__region,

body.reference-home .tone-orange .ref-global-card__region {

  color: var(--sunward-gold, var(--swt-palette-f4b83c, #f4b83c));

}



body.reference-home .tone-orange .ref-destination-hub__feature-icon {

  background: rgba(255, 255, 255, .16);

  color: #fff;

}



body.reference-home .tone-orange .ref-global__stats {

  border-top-color: rgba(255, 255, 255, .26);

}



body :where(.eyebrow, .section-eyebrow, .swt-label, .swt-landing-eyebrow, .tour-single__eyebrow, .guide-single__eyebrow) {

  font-family: var(--font-body, "Manrope", sans-serif);

  font-weight: 800;

  letter-spacing: .16em;

}



/* Give theme/editor content a calm, premium reading rhythm. */

body.swt-reference-ui .swt-pack-content {

  max-width: 66rem;

  padding-block: clamp(3.25rem, 6vw, 5.5rem);

}



body.swt-reference-ui .swt-pack-section {

  background: linear-gradient(145deg, #fff 0%, color-mix(in srgb, var(--ivory, #fff) 92%, var(--sand, var(--swt-palette-e8e4de, #e8e4de))) 100%);

  border: 1px solid color-mix(in srgb, var(--sand, var(--swt-palette-e8e4de, #e8e4de)) 86%, transparent);

  border-radius: 1.25rem;

  box-shadow: 0 18px 45px -32px var(--swt-palette-2c241b-a340, rgba(44, 36, 27, .34));

  margin-block: 1.5rem;

  padding: clamp(1.5rem, 3.5vw, 3rem);

}



body.swt-reference-ui .swt-pack-section:first-child { margin-top: 0; }

body.swt-reference-ui .swt-pack-section:last-child { margin-bottom: 0; }



body.swt-reference-ui .swt-pack-subsection {

  border-color: color-mix(in srgb, var(--sand, var(--swt-palette-e8e4de, #e8e4de)) 90%, transparent);

  border-radius: 1rem;

  box-shadow: 0 12px 28px -24px var(--swt-palette-2c241b-a500, rgba(44, 36, 27, .5));

}



/* Gutenberg blocks and classic-editor content get the same treatment. */

body :where(.entry-content, .wp-block-post-content) .wp-block-quote,

body :where(.entry-content, .wp-block-post-content) blockquote {

  background: color-mix(in srgb, var(--ivory, #fff) 92%, var(--sand, var(--swt-palette-e8e4de, #e8e4de)));

  border-inline-start: 3px solid var(--clay, var(--swt-palette-8a3a1c, #8a3a1c));

  border-radius: 0 .9rem .9rem 0;

  color: var(--sunward-secondary, #555);

  margin-block: 2rem;

  padding: 1.25rem 1.5rem;

}



body :where(.entry-content, .wp-block-post-content) .wp-block-table,

body :where(.entry-content, .wp-block-post-content) table {

  border: 1px solid var(--sand, var(--swt-palette-e8e4de, #e8e4de));

  border-collapse: separate;

  border-radius: .9rem;

  border-spacing: 0;

  overflow: hidden;

  width: 100%;

}



body :where(.entry-content, .wp-block-post-content) :where(th, td) {

  border-color: var(--sand, var(--swt-palette-e8e4de, #e8e4de));

  padding: .8rem 1rem;

  text-align: start;

}



body :where(.entry-content, .wp-block-post-content) th {

  background: color-mix(in srgb, var(--ivory, #fff) 88%, var(--sand, var(--swt-palette-e8e4de, #e8e4de)));

  color: var(--sunward-heading, var(--swt-palette-171717, #171717));

  font-weight: 800;

}



body :where(.entry-content, .wp-block-post-content) .wp-block-image img,

body :where(.entry-content, .wp-block-post-content) figure img {

  border-radius: 1rem;

  box-shadow: 0 18px 38px -26px var(--swt-palette-2c241b-a420, rgba(44, 36, 27, .42));

}



/* Catalogue and archive cards: consistent hierarchy, without changing grids. */

body.swt-reference-ui :where(.service-card, .article-card, .swt-content-card, .tour-card, .holiday-card, .guide-card, .swt-country-card, .swt-vehicle-card, .swt-guidance-card, .swt-spec-card, .swt-official-card, .swt-v2-detail-block) {

  border-radius: 1rem;

  box-shadow: 0 16px 38px -28px var(--swt-palette-2c241b-a420, rgba(44, 36, 27, .42));

  transition: border-color var(--transition, 220ms ease), box-shadow var(--transition, 220ms ease), transform var(--transition, 220ms ease);

}



body.swt-reference-ui :where(a.service-card, a.article-card, a.tour-card, a.holiday-card, a.guide-card, a.swt-country-card, a.swt-vehicle-card):hover,

body.swt-reference-ui :where(a.service-card, a.article-card, a.tour-card, a.holiday-card, a.guide-card, a.swt-country-card, a.swt-vehicle-card):focus-visible {

  box-shadow: 0 22px 44px -27px var(--swt-palette-2c241b-a480, rgba(44, 36, 27, .48));

  transform: translateY(-3px);

}



body.swt-reference-ui :where(.service-card, .article-card, .swt-content-card, .tour-card, .holiday-card, .guide-card, .swt-country-card, .swt-vehicle-card, .swt-guidance-card, .swt-spec-card, .swt-official-card, .swt-v2-detail-block) :where(h2, h3, h4, .swt-vehicle-card__title, .swt-country-card__name) {

  color: var(--sunward-card-heading, var(--swt-palette-1c1c1c, #1c1c1c));

  font-family: var(--font-display, "Lora", serif);

  font-weight: 700;

  line-height: 1.12;

  text-wrap: balance;

}



body.swt-reference-ui :where(.service-card, .article-card, .swt-content-card, .tour-card, .holiday-card, .guide-card, .swt-country-card, .swt-vehicle-card, .swt-guidance-card, .swt-spec-card, .swt-official-card, .swt-v2-detail-block) :where(p, li, dd, .swt-vehicle-card__excerpt) {

  color: var(--sunward-body, var(--swt-palette-3d3d3d, #3d3d3d));

  font-family: var(--font-body, "Manrope", sans-serif);

  font-weight: 500;

  line-height: 1.65;

}



/* Forms are compact and legible on both editor and PHP-rendered pages. */

body :where(.service-form-card, .swt-visa-layout, .swt-vehicle-enquiry, .swt-enquiry-form, .conversion-form, .elementor-form) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {

  background: #fff;

  border: 1px solid color-mix(in srgb, var(--sand, var(--swt-palette-e8e4de, #e8e4de)) 92%, var(--sunward-secondary, #555));

  border-radius: .7rem;

  color: var(--sunward-body, var(--swt-palette-3d3d3d, #3d3d3d));

  font-family: var(--font-body, "Manrope", sans-serif);

  font-size: .94rem;

  font-weight: 500;

  line-height: 1.45;

  min-height: 3rem;

  padding: .72rem .85rem;

}



body :where(.service-form-card, .swt-visa-layout, .swt-vehicle-enquiry, .swt-enquiry-form, .conversion-form, .elementor-form) :where(input, select, textarea):focus {

  border-color: var(--clay, var(--swt-palette-8a3a1c, #8a3a1c));

  box-shadow: 0 0 0 3px color-mix(in srgb, var(--clay, var(--swt-palette-8a3a1c, #8a3a1c)) 16%, transparent);

  outline: none;

}



body :where(.service-form-card, .swt-visa-layout, .swt-vehicle-enquiry, .swt-enquiry-form, .conversion-form, .elementor-form) :where(button, input[type="submit"], .btn) {

  font-family: var(--font-body, "Manrope", sans-serif);

  font-weight: 800;

}



@media (max-width: 760px) {

  body :where(.entry-content, .wp-block-post-content, .swt-pack-content) :where(h1) { font-size: clamp(2.35rem, 12vw, 4rem); }

  body :where(.entry-content, .wp-block-post-content, .swt-pack-content) :where(h2) { font-size: clamp(1.85rem, 9vw, 3rem); }

  body.swt-reference-ui .swt-pack-section { border-radius: 1rem; padding: 1.25rem; }

}



/* Public office contacts and honest route displays. */

.utility-call { position: relative; }

.utility-call summary { cursor: pointer; list-style: none; }

.utility-call summary::-webkit-details-marker { display: none; }

.utility-call__panel { position: absolute; top: calc(100% + 12px); right: 0; z-index: 100; width: 235px; padding: 18px; background: #fff; color: var(--swt-palette-302b27, #302b27); border: 1px solid var(--swt-palette-efdfd2, #efdfd2); border-radius: 12px; box-shadow: 0 10px 30px #0002; }

.utility-call__panel :is(span,small,a) { display: block; }

.utility-call__panel a { color:var(--swt-accent-text, var(--swt-palette-bd4210, #bd4210)) !important; font-size: 18px; margin-block: 8px; }

.utility-call__panel small { color: var(--swt-palette-62584f, #62584f); font-size: 12px; }

.swt-footer-offices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding-block: 24px; border-bottom: 1px solid #ffffff30; }

.swt-footer-offices strong,.swt-footer-offices a { display: block; overflow-wrap: anywhere; }

.swt-footer-offices strong { font-size: 13px; margin-bottom: 6px; }

.swt-route-timeline { list-style: none; margin: 0; padding: 8px 0; counter-reset: route-stop; }

.swt-route-timeline li { position: relative; min-height: 58px; padding: 8px 0 20px 54px; counter-increment: route-stop; border-left: 2px solid var(--swt-palette-f1d9c6, #f1d9c6); margin-left: 18px; line-height: 1.5; }

.swt-route-timeline li::before { content: counter(route-stop, decimal-leading-zero); position: absolute; left: -19px; top: 0; width: 36px; height: 36px; display: grid; place-items: center; background: var(--swt-palette-fff0e4, #fff0e4); color: var(--swt-palette-b53d0b, #b53d0b); border: 2px solid #fff; border-radius: 50%; font-weight: 700; font-size: 12px; }

.swt-route-timeline li:last-child { border-color: transparent; padding-bottom: 0; }

.tour-single__day-toggle:focus-visible, .utility-call summary:focus-visible { outline: 3px solid var(--swt-palette-ef5818, #ef5818); outline-offset: 3px; }

html:not(.js) body .tour-single__day-card .tour-single__day-body { display: block; }

@media(max-width:650px) { .swt-footer-offices { grid-template-columns: 1fr; gap: 16px; } }



/* Partnership page and a lighter, readable consultant card. */

body .tour-single__consultant-card { background: #fff6ed; color: var(--swt-palette-302b27, #302b27); border: 1px solid var(--swt-palette-f1dccb, #f1dccb); border-top: 3px solid var(--swt-palette-ef5818, #ef5818); padding: 24px; }

body .tour-single__consultant-kicker, body .tour-single__consultant-link { color:var(--swt-accent-text, var(--swt-palette-bd4210, #bd4210)); }

body .tour-single__consultant-title { color: var(--swt-palette-302b27, #302b27); font-family: var(--font-display); font-size: 24px; line-height: 1.25; }

body .tour-single__consultant-copy { color: var(--swt-palette-62584f, #62584f); line-height: 1.6; }

body .tour-single__consultant-link { display: inline-flex; margin-top: 10px; padding: 10px 0; font-weight: 700; }

.swt-partner-page { color: var(--swt-palette-302b27, #302b27); }

.swt-partner-hero { padding: 80px 0 0; background: radial-gradient(ellipse at 90% 10%, var(--swt-palette-ffe4c5, #ffe4c5), transparent 55%), var(--swt-palette-fff8f0, #fff8f0); border-bottom: 1px solid var(--swt-palette-eaded3, #eaded3); }

.swt-partner-hero h1 { max-width: 900px; font-size: clamp(40px, 5.5vw, 76px); line-height: 1.06; letter-spacing: -.035em; margin: 20px 0 24px; }

.swt-partner-hero h1 em { color:var(--swt-accent-text, var(--swt-palette-ed5519, #ed5519)); }

.swt-partner-hero .lede { max-width: 650px; margin-bottom: 28px; }

.swt-partner-hero .cluster { display: flex; gap: 12px; flex-wrap: wrap; }

.swt-partner-pillars { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 56px; border-top: 1px solid var(--swt-palette-e8d6c5, #e8d6c5); }

.swt-partner-pillars span { padding: 22px 12px; font-size: 13px; font-weight: 600; }

.swt-partner-pillars span + span { border-left: 1px solid var(--swt-palette-e8d6c5, #e8d6c5); }

.swt-partner-page h2 { font-size: clamp(30px, 3.3vw, 44px); line-height: 1.15; margin-bottom: 24px; }

.swt-partner-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 32px; }

.swt-partner-path { padding: 28px; border: 1px solid var(--swt-palette-e9e0d8, #e9e0d8); border-radius: 18px; display: flex; flex-direction: column; background: #fff; transition: border-color .2s; }

.swt-partner-path:hover { border-color: var(--swt-palette-ef5818, #ef5818); }

.swt-partner-number { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--swt-palette-fff0e5, #fff0e5); color:var(--swt-accent-text, var(--swt-palette-bd4210, #bd4210)); font-size: 13px; font-weight: 700; margin-bottom: 24px; }

.swt-partner-path h3 { font-size: 27px; line-height: 1.15; margin-bottom: 20px; }

.swt-partner-path strong { font-size: 14px; }

.swt-partner-path p { font-size: 15px; line-height: 1.7; margin: 12px 0 24px; }

.swt-partner-path a { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--swt-palette-eee3da, #eee3da); font-weight: 700; color:var(--swt-accent-text, var(--swt-palette-bd4210, #bd4210)); }

.swt-partner-trade { font-size: 14px; margin-top: 24px; }

.swt-partner-apply { background: var(--swt-palette-fbf7f2, #fbf7f2); }

.swt-partner-apply-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 72px; align-items: start; }

.swt-partner-steps { list-style: none; padding: 0; counter-reset: partner-step; margin: 32px 0; }

.swt-partner-steps li { position: relative; padding: 0 0 24px 48px; counter-increment: partner-step; }

.swt-partner-steps li::before { content: counter(partner-step, decimal-leading-zero); position: absolute; left: 0; top: 0; color:var(--swt-accent-text, var(--swt-palette-bd4210, #bd4210)); font-size: 14px; font-weight: 700; }

.swt-partner-steps span { display: block; font-size: 14px; margin-top: 6px; color: var(--swt-palette-665d55, #665d55); }

.swt-partner-note { border-left: 2px solid var(--swt-palette-ef5818, #ef5818); padding-left: 16px; font-size: 13px; }

.swt-partner-page #partner-enquiry { scroll-margin-top: 180px; }

.swt-quote-choices .swt-partner-paths { grid-template-columns: repeat(3,minmax(0,1fr)); }

@media(max-width: 850px) {

  .swt-partner-paths, .swt-partner-apply-grid, .swt-quote-choices .swt-partner-paths { grid-template-columns: 1fr; gap: 20px; }

  .swt-partner-hero { padding-top: 44px; }

  .swt-partner-pillars { grid-template-columns: 1fr; margin-top: 32px; }

  .swt-partner-pillars span + span { border-left: 0; border-top: 1px solid var(--swt-palette-e8d6c5, #e8d6c5); }

}



/* Contextual quote rails: keep the package visible while enquiring. */

.swt-inline-enquiry, .swt-inline-enquiry [id$="-enquiry"] { scroll-margin-top: 190px; min-width: 0; }

.tour-single__sidebar-sticky { position: static; }

.swt-service-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; align-items: start; padding-block: 32px; }

.swt-service-detail-copy { min-width: 0; }

.swt-service-detail-copy :is(.container, .container-wide) { width: 100%; max-width: 100%; padding-inline: 16px; }

.swt-service-detail-copy :is(.ref-highlight-cards__grid, .service-card-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.swt-inline-enquiry .service-form-card { margin: 0; padding: 20px; border: 1px solid var(--swt-palette-eaded5, #eaded5); border-top: 3px solid var(--swt-palette-ef5818, #ef5818); border-radius: 16px; background: #fff; }

.swt-inline-enquiry :is(h2, .tour-enquiry__title) { font-size: 24px !important; line-height: 1.2; margin-bottom: 12px; }

.swt-inline-enquiry .lede.meta { font-size: 12px; letter-spacing: 0; text-transform: none; line-height: 1.5; margin: 0 0 16px; }

.swt-inline-enquiry .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

.swt-inline-enquiry .form-field { min-width: 0; margin: 0; font-size: 12px; }

.swt-inline-enquiry .form-field--full { grid-column: 1 / -1; }

.swt-inline-enquiry :is(input:not([type=checkbox]):not([type=hidden]), select, textarea) { width: 100%; min-width: 0; box-sizing: border-box; padding: 9px 10px; min-height: 40px; font-size: 14px; }

.swt-inline-enquiry textarea { height: 72px; min-height: 72px; }

.swt-inline-enquiry .form-consent { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; line-height: 1.5; }

.swt-inline-enquiry .form-consent input { flex: 0 0 auto; width: 16px; margin-top: 3px; }

.swt-inline-enquiry .btn { width: 100%; }

.swt-form-extras summary { cursor: pointer; padding-block: 8px; font-size: 13px; font-weight: 600; }

@media (max-width: 1000px) {

  .swt-service-detail-grid { grid-template-columns: minmax(0, 1fr); }

  .swt-service-detail-grid > .swt-inline-enquiry { width: 100%; max-width: 620px; justify-self: center; }

}

@media (max-width: 480px) {

  .swt-inline-enquiry :is(input:not([type=checkbox]), select, textarea) { font-size: 16px; }

  .swt-service-detail-copy :is(.ref-highlight-cards__grid, .service-card-grid) { grid-template-columns: 1fr; }

}



@media (prefers-reduced-motion: reduce) {

  body.swt-reference-ui :where(.service-card, .article-card, .swt-content-card, .tour-card, .holiday-card, .guide-card, .swt-country-card, .swt-vehicle-card, .swt-guidance-card, .swt-spec-card, .swt-official-card, .swt-v2-detail-block) { transition: none; }

}



/* Locally hosted editorial photography and its required attribution. */

.tour-single__hero, .guide-single__hero { position: relative; }

.swt-photo-credit { display: inline-block; font-family: var(--font-body), Manrope, sans-serif; font-size: .72rem; font-weight: 600; line-height: 1.5; }

.swt-photo-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

.swt-photo-credit--card { display: block; margin: .2rem 0 .55rem; color: var(--swt-palette-53635d, #53635d); font-size: .65rem; overflow-wrap: anywhere; }

.swt-photo-credit--feature { display: block; margin: .4rem .2rem 0; color: var(--swt-palette-53635d, #53635d); overflow-wrap: anywhere; }

.swt-photo-credit--hero { position: absolute; z-index: 4; right: max(16px, calc((100vw - 1440px) / 2)); bottom: 12px; max-width: min(70vw, 540px); padding: 5px 9px; color: #fff; background: rgba(22, 22, 22, .72); border-radius: 5px; text-align: right; }

.tour-single__gallery .tour-single__section-title { font-family: var(--font-display), Lora, serif; font-weight: 700; }

.tour-single__photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }

.tour-single__photo-grid[data-count="1"] { grid-template-columns: minmax(0, 1fr); }

.tour-single__photo { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--swt-palette-e8e4de, #e8e4de); border-radius: 16px; background: #fff; }

.tour-single__photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }

.tour-single__photo figcaption { padding: 8px 12px 10px; color: var(--swt-palette-4a5b48, #4a5b48); font-family: var(--font-body), Manrope, sans-serif; }

.guide-gallery-mosaic__item { position: relative; }

.guide-gallery-mosaic__item figcaption { position: absolute; right: 8px; bottom: 8px; left: 8px; padding: 5px 8px; color: #fff; background: rgba(22, 22, 22, .76); border-radius: 4px; }

.guide-why__inset figcaption { padding: 7px 9px; color: var(--swt-palette-4a5b48, #4a5b48); background: #fff; }

.guide-source-note { margin-top: 2rem !important; padding: 14px 18px; border-left: 3px solid var(--swt-palette-b88a3e, #b88a3e); border-radius: 0 8px 8px 0; background: var(--swt-palette-f3eee6, #f3eee6); color: var(--swt-palette-4a5b48, #4a5b48); font-family: var(--font-body), Manrope, sans-serif; font-size: .86rem; line-height: 1.65; }

.guide-source-note a { color: var(--swt-palette-8a3a1c, #8a3a1c); text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 700px) {

  .tour-single__photo-grid { grid-template-columns: 1fr; }

  .swt-photo-credit--hero { right: 10px; bottom: 8px; max-width: calc(100vw - 20px); font-size: .65rem; }

}



/* Keep the same mobile navigation control on catalog and guide templates. */

@media (max-width: 850px) {

  .site-header .menu-toggle { background: var(--swt-palette-e85a1f, #e85a1f); border-color: var(--swt-palette-e85a1f, #e85a1f); border-radius: 4px; color: #fff; }

  .site-header .menu-toggle:focus-visible { outline: 3px solid var(--swt-palette-1f3527, #1f3527); outline-offset: 3px; }

}

