/*
 * Do Not Disturb — design layer, shared parts (theme 2.0.0, 6 October 2026).
 *
 * Source: the "DND design pass" canvas; rules from the build brief (Darren,
 * 5–6 Oct). DND brand guide (Sept 2025): Deep Forest #353D33 for dark surfaces
 * and buttons, Soft Earth #7A4E43 for text, Deserted Beach #EDE9E2 for
 * backgrounds, #F6F4F0 as the lighter tint. Calls to action in capitals with
 * letter-spacing. Fonts: the Adobe kit (the canvas's Jost = ivyepic, Mulish =
 * haboro-soft, Newsreader italic = haboro-serif italic).
 *
 * Loaded after dist/style.css and dist/dnd-enquiry.css. Everything new is
 * prefixed dui-; the few rules that restyle older classes (.primary-btn,
 * #ts-journey, #contact-form, .header-spacer) are in section 9.
 *
 *  1 tokens and helpers      7 trust strip          13 phone bar
 *  2 buttons                 8 reviews band         14 enquiry section
 *  3 header                  9 older classes        15 away at the form
 *  4 menus (mega panels)    10 cards
 *  5 phone header           11 search box
 *  6 sub-nav                12 drawer, footer
 */

/* ---------------------------------------------------------------- 1 */
:root {
	--dui-forest: #353D33;
	--dui-forest-2: #4A5246;
	--dui-forest-d: #293128;
	--dui-earth: #7A4E43;
	--dui-sand: #EDE9E2;
	--dui-tint: #F6F4F0;
	--dui-line: #CBBBB3;
	--dui-line-2: #E6DED3;
	--dui-head: "ivyepic", Georgia, "Times New Roman", serif;
	--dui-body: "haboro-soft", "Helvetica Neue", Arial, sans-serif;
	--dui-it: "haboro-serif", Georgia, serif;
	--dui-cta: "haboro-soft-extended", "haboro-soft", "Helvetica Neue", Arial, sans-serif; /* brand guide: CTAs in Haboro Soft Ext Demi, caps */
	--dui-cta: "haboro-soft-extended", "haboro-soft", "Helvetica Neue", Arial, sans-serif;
	--dui-bar: 92px;
	--dui-bar-c: 76px;
	--dui-strip: 46px;
	--dui-ph: 64px;
}
.dui-wrap { max-width: 1280px; margin: 0 auto; padding: 0 56px; box-sizing: border-box; }
@media (max-width: 1099.98px) { .dui-wrap { padding: 0 32px; } }
@media (max-width: 859.98px) { .dui-wrap { padding: 0 22px; } }
.dui-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; }
.dui-rule { width: 96px; height: 1px; background: var(--dui-earth); margin: 24px 0 30px; }
.dui-rule-light { background: var(--dui-line-2); margin: 26px 0 28px; }
.dui-arrow { display: block; flex: 0 0 auto; transition: transform .3s ease; }
.dui-ico { display: block; }

/* ---------------------------------------------------------------- 2 */
.dui-btn { display: inline-flex; align-items: stretch; text-decoration: none; cursor: pointer; max-width: 100%; }
.dui-btn .t {
	display: flex; align-items: center; justify-content: center;
	background: var(--dui-forest); color: #fff;
	font-family: var(--dui-cta); font-weight: 400; font-size: 13.5px; line-height: 1.2;
	letter-spacing: .12em; text-transform: uppercase; white-space: nowrap;
	padding: 17px 24px; transition: background-color .25s ease;
}
.dui-btn .a { flex: 0 0 52px; background: var(--dui-forest-2); display: flex; align-items: center; justify-content: center; transition: background-color .25s ease; }
.dui-btn:hover .t, .dui-btn:focus-visible .t { background: var(--dui-forest-d); }
.dui-btn:hover .dui-arrow, .dui-btn:focus-visible .dui-arrow { transform: translateX(3px); }
.dui-btn-light .t { background: var(--dui-tint); color: var(--dui-forest); }
.dui-btn-light .a { background: var(--dui-line); }
.dui-btn-light:hover .t, .dui-btn-light:focus-visible .t { background: #fff; }
.dui-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* ---------------------------------------------------------------- 3 */
.dui-chrome { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; color: #fff; }
@media (prefers-reduced-motion: no-preference) { .dui-chrome { transition: transform .32s ease; } }
.dui-chrome.hdr-away { transform: translateY(-100%); }
.dui-chrome a { text-decoration: none; }
.dui-chrome a:focus-visible, .dui-chrome button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.dui-strip { background: var(--dui-forest); color: var(--dui-line-2); }
.dui-strip-in { height: var(--dui-strip); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.dui-strip-tag { font-family: var(--dui-body); font-size: 14px; color: inherit; }
.dui-strip-r { display: flex; align-items: center; gap: 24px; }
.dui-strip-tel { font-family: var(--dui-body); color: #fff; font-size: 15px; white-space: nowrap; }

.dui-hdr { position: relative; border-bottom: 1px solid rgba(255, 255, 255, .35); color: #fff; transition: background-color .25s ease, color .25s ease; }
.dui-bar { height: var(--dui-bar); display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 32px; }
.dui-bar-l { display: flex; align-items: center; min-width: 0; }
.dui-bar-r { display: flex; justify-content: flex-end; align-items: center; gap: 22px; min-width: 0; }
.dui-nav { display: flex; align-items: center; gap: 34px; }
.dui-nav-a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px solid transparent; color: inherit; font-family: var(--dui-body); font-weight: 300; font-size: 16px; white-space: nowrap; }
.dui-nav-a:hover, .dui-nav-a[aria-expanded="true"] { border-bottom-color: currentColor; }
.dui-nav-a svg { transition: transform .2s ease; }
.dui-nav-a[aria-expanded="true"] svg { transform: rotate(180deg); }
.dui-logo-a { display: flex; color: inherit; }
.dui-logo { display: block; height: auto; transition: width .25s ease; }
.dui-hdr .dui-logo { width: 250px; }
.dui-bar-r .dui-btn .t { font-size: 13.5px; padding: 14px 22px; }
.dui-bar-tel, .dui-compact-l, .dui-ph-menu, .dui-ph-ico { display: none; }
.dui-bar-tel { font-family: var(--dui-body); color: inherit; font-size: 15px; white-space: nowrap; }

/* light: a page without a hero, or a menu open over the hero (boards 2 and 3) */
body.dui-plain .dui-chrome .dui-hdr,
.dui-chrome.is-mega .dui-hdr { background: var(--dui-tint); color: var(--dui-earth); border-bottom-color: var(--dui-line); }

/* compact: scrolled (board 5); the logo stays centred */
.dui-chrome.is-compact .dui-strip { display: none; }
.dui-chrome.is-compact .dui-hdr { background: var(--dui-tint); color: var(--dui-earth); border-bottom-color: var(--dui-line); box-shadow: 0 6px 20px rgba(0, 0, 0, .06); }
.dui-chrome.is-compact .dui-bar { height: var(--dui-bar-c); gap: 28px; }
.dui-chrome.is-compact .dui-nav { display: none; }
.dui-chrome.is-compact .dui-compact-l { display: flex; align-items: center; gap: 18px; }
.dui-chrome.is-compact .dui-bar-tel { display: inline; }
.dui-chrome.is-compact .dui-hdr .dui-logo { width: 210px; }
.dui-chrome.is-compact .dui-bar-r .dui-btn .t { padding: 12px 20px; }
.dui-menu-btn {
	display: flex; align-items: center; gap: 12px; height: 40px; padding: 0 16px;
	background: none; border: 1px solid currentColor; color: inherit; cursor: pointer;
	font-family: var(--dui-body); font-weight: 300; font-size: 15px;
}
.dui-menu-btn span { font-family: inherit; }

/* room for the fixed header on pages without a hero */
.header-spacer { display: none !important; }
body.dui-plain main { padding-top: calc(var(--dui-strip) + var(--dui-bar)); }
/* older heroes: their breadcrumbs sat where the taller header now is */
@media (min-width: 1100px) {
	body.dui-overlay main .breadcrumbs.absolute { top: calc(var(--dui-strip) + var(--dui-bar) + 22px) !important; margin-top: 0 !important; }
}

/* ---------------------------------------------------------------- 4 */
.dui-mega {
	position: absolute; left: 0; right: 0; top: 100%;
	background: var(--dui-tint); color: var(--dui-earth);
	border-top: 1px solid var(--dui-line); box-shadow: 0 24px 48px rgba(0, 0, 0, .18);
	max-height: calc(100vh - var(--dui-strip) - var(--dui-bar)); overflow-y: auto; overscroll-behavior: contain;
}
.dui-mega[hidden] { display: none; }
.dui-mega a { color: inherit; }
.dui-mega a:hover { color: var(--dui-forest); text-decoration: underline; text-underline-offset: 3px; }
.dui-mega-in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; padding-top: 40px; padding-bottom: 12px; }
.dui-mega-in.has-side { grid-template-columns: minmax(0, 2.5fr) minmax(0, 1fr); }
.dui-mega-cols { column-count: 4; column-gap: 30px; }
.dui-mega-col { break-inside: avoid; margin-bottom: 24px; }
.dui-mega-h { display: block; margin: 0 0 8px; font-family: var(--dui-head); font-weight: 500; font-size: 17px; line-height: 1.3; }
.dui-mega-a { display: block; font-family: var(--dui-body); font-weight: 300; font-size: 15px; line-height: 1.95; }
.dui-mega-side { display: flex; flex-direction: column; gap: 18px; }
.dui-map { position: relative; aspect-ratio: 1250 / 751; background: var(--dui-forest); overflow: hidden; }
.dui-map img { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .9; }
.dui-mega .dui-pin {
	position: absolute; transform: translate(-50%, -50%); white-space: nowrap;
	padding: 3px 9px; border: 1px solid rgba(255, 255, 255, .5); background: rgba(41, 49, 40, .55);
	color: #fff; font-family: var(--dui-head); font-size: 13px; line-height: 1.4;
}
.dui-mega .dui-pin:hover, .dui-mega .dui-pin:focus-visible { background: var(--dui-tint); color: var(--dui-forest); text-decoration: none; }
.dui-mcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.dui-mega-inspiration .dui-mcards { grid-template-columns: minmax(0, 1fr); gap: 18px; }
.dui-mcard { display: block; text-decoration: none; }
.dui-mcard-img { display: block; height: 96px; background: #D6CDBF; overflow: hidden; }
.dui-mega-inspiration .dui-mcard-img { height: 150px; }
.dui-mcard-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dui-mcard-t { display: block; margin: 8px 0 0; font-family: var(--dui-head); font-size: 16px; }
.dui-mega-inspiration .dui-mcard-t { font-size: 18px; margin-top: 10px; }
.dui-mcard-d { display: block; margin-top: 2px; font-family: var(--dui-it); font-style: italic; font-size: 13px; }
.dui-mega-foot { border-top: 1px solid var(--dui-line); margin-top: 14px; }
.dui-mega-foot-in { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 16px; padding-bottom: 16px; }
.dui-mega-all { font-family: var(--dui-it); font-style: italic; font-size: 17px; text-decoration: underline; text-underline-offset: 3px; }
.dui-mega-foot p { margin: 0; font-family: var(--dui-body); font-size: 15px; }
.dui-mega-foot p a { text-decoration: underline; text-underline-offset: 3px; }

/* ---------------------------------------------------------------- 5 */
@media (max-width: 1099.98px) {
	.dui-strip, .dui-nav, .dui-compact-l, .dui-bar-tel, .dui-bar-r .dui-btn, .dui-mega { display: none !important; }
	.dui-hdr, .dui-chrome.is-compact .dui-hdr { background: var(--dui-tint); color: var(--dui-earth); border-bottom-color: var(--dui-line); }
	.dui-bar, .dui-chrome.is-compact .dui-bar { height: var(--dui-ph); gap: 8px; }
	.dui-hdr .dui-logo, .dui-chrome.is-compact .dui-hdr .dui-logo { width: 176px; }
	.dui-bar-r { gap: 0; }
	.dui-ph-menu, .dui-ph-ico { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: none; border: 0; color: inherit; cursor: pointer; }
	.dui-ph-menu { margin-left: -12px; }
	.dui-bar-r .dui-ph-ico:last-child { margin-right: -12px; }
	.dui-ph-ico .dui-ico { width: 19px; height: 19px; }
	body.dui main { padding-top: var(--dui-ph); }
}
.dui-psearch { background: var(--dui-tint); border-bottom: 1px solid var(--dui-line); padding: 12px 0; }
.dui-psearch[hidden] { display: none; }
.dui-psearch .dui-search { width: 100%; height: 46px; }
@media (min-width: 1100px) { .dui-psearch { display: none !important; } }

/* ---------------------------------------------------------------- 6 */
.dui-subnav {
	position: sticky; top: var(--dui-bar-c); z-index: 60;
	background: var(--dui-tint); border-bottom: 1px solid var(--dui-line); color: var(--dui-earth);
	transition: opacity .25s ease, visibility .25s ease;
}
.dui-subnav-in { display: flex; justify-content: space-between; align-items: stretch; gap: 24px; }
.dui-sn-cells { display: flex; min-width: 0; border-left: 1px solid var(--dui-line); overflow-x: auto; scrollbar-width: none; }
.dui-sn-cells::-webkit-scrollbar { display: none; }
.dui-sn-cell {
	display: flex; flex: 0 0 auto; align-items: center; gap: 8px; height: 64px; padding: 0 22px; box-sizing: border-box;
	color: var(--dui-earth); background: transparent; white-space: nowrap; text-decoration: none;
	font-family: var(--dui-body); font-weight: 300; font-size: 15.5px;
	border: 0; border-right: 1px solid var(--dui-line); border-bottom: 3px solid transparent; cursor: pointer;
}
.dui-sn-cells > :last-child.dui-sn-cell, .dui-sn-cells > :last-child .dui-sn-cell { border-right: 0; }
.dui-sn-cell:hover { color: var(--dui-forest); background: var(--dui-sand); }
.dui-sn-cell.is-current { color: var(--dui-forest); background: var(--dui-sand); border-bottom-color: var(--dui-earth); }
.dui-sn-cell:focus-visible { outline: 2px solid var(--dui-earth); outline-offset: -4px; }
.dui-sn-regions { display: flex; }
.dui-sn-btn[aria-expanded="true"] { background: var(--dui-sand); }
.dui-sn-caret { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; transition: transform .2s ease; }
.dui-sn-btn[aria-expanded="true"] .dui-sn-caret { transform: rotate(180deg); }
.dui-sn-menu {
	position: fixed; z-index: 70; min-width: 240px; max-height: 60vh; overflow-y: auto;
	background: #fff; border: 1px solid var(--dui-line); box-shadow: 0 18px 36px rgba(41, 49, 40, .12);
}
.dui-sn-menu[hidden] { display: none; }
.dui-sn-place { display: block; padding: 13px 20px; border-bottom: 1px solid var(--dui-line-2); color: var(--dui-earth); text-decoration: none; font-family: var(--dui-body); font-weight: 300; font-size: 15px; }
.dui-sn-place:last-child { border-bottom: 0; }
.dui-sn-place:hover, .dui-sn-place:focus-visible { background: var(--dui-tint); color: var(--dui-forest); }
.dui-sn-d2 { padding-left: 38px; font-family: var(--dui-it); font-style: italic; }
.dui-sn-d3 { padding-left: 56px; font-family: var(--dui-it); font-style: italic; }
.dui-sn-d4 { padding-left: 74px; font-family: var(--dui-it); font-style: italic; }
.dui-sn-quote {
	align-self: center; flex: 0 0 auto; padding: 12px 18px; background: var(--dui-forest); color: #fff; text-decoration: none;
	font-family: var(--dui-cta); font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap;
}
.dui-sn-quote:hover, .dui-sn-quote:focus-visible { background: var(--dui-forest-d); color: #fff; }
@media (max-width: 1439.98px) { .dui-sn-cell { padding: 0 18px; font-size: 15px; } }
@media (max-width: 1279.98px) { .dui-sn-cell { padding: 0 14px; } }
@media (max-width: 1099.98px) {
	.dui-subnav { top: var(--dui-ph); }
	.dui-subnav .dui-wrap { padding: 0; }
	.dui-sn-cells { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; border-left: 0; }
	.dui-sn-cells::-webkit-scrollbar { display: none; }
	.dui-sn-cell { height: 52px; padding: 0 18px; }
	.dui-sn-quote { display: none; }
}

/* ---------------------------------------------------------------- 7 */
.dui-trust { background: var(--dui-forest); color: var(--dui-line-2); }
.dui-trust-in { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dui-trust-five .dui-trust-in { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.dui-trust-i { padding: 30px 40px 32px; }
.dui-trust-i:first-child { padding-left: 0; }
.dui-trust-i + .dui-trust-i { border-left: 1px solid rgba(255, 255, 255, .18); }
.dui-trust .dui-trust-t { margin: 0 0 8px; font-family: var(--dui-head); font-size: 20px; line-height: 1.3; color: #fff; }
.dui-trust .dui-trust-d { margin: 0; font-family: var(--dui-body); font-weight: 300; font-size: 15px; line-height: 1.6; color: var(--dui-line-2); }
.dui-trust-five .dui-trust-i { padding: 30px 28px 32px; }
.dui-trust-five .dui-trust-i:first-child { padding-left: 0; }
.dui-trust-five .dui-trust-t { font-size: 19px; }
.dui-trust-five .dui-trust-d { font-size: 14.5px; }
@media (max-width: 1099.98px) {
	.dui-trust-in, .dui-trust-five .dui-trust-in { grid-template-columns: minmax(0, 1fr); }
	.dui-trust-i, .dui-trust-five .dui-trust-i, .dui-trust-i:first-child { padding: 18px 0; }
	.dui-trust-i + .dui-trust-i { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .18); }
	.dui-trust .dui-trust-t { font-size: 17px; margin-bottom: 4px; }
	.dui-trust .dui-trust-d { font-size: 14px; line-height: 1.55; }
}

/* ---------------------------------------------------------------- 8 */
.dui-reviews { background: var(--dui-forest); color: #fff; padding: 140px 0; }
.dui-reviews-in { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 56px; align-items: start; }
.dui-reviews-l { grid-column: span 4; }
.dui-reviews-r { grid-column: span 8; }
.dui-reviews h2 { margin: 0; font-family: var(--dui-head); font-weight: 500; font-size: 44px; line-height: 1.15; color: #fff; }
.dui-reviews-l p { margin: 0 0 24px; font-family: var(--dui-body); font-weight: 300; font-size: 17px; line-height: 1.75; color: var(--dui-line-2); }
.dui-ulink { color: #fff; font-family: var(--dui-it); font-style: italic; font-size: 17px; border-bottom: 1px solid #fff; text-decoration: none; padding-bottom: 2px; }
.dui-ulink:hover { color: var(--dui-line-2); border-bottom-color: var(--dui-line-2); }
.dui-rv { margin: 0; }
.dui-rv blockquote { margin: 0; padding: 0; border: 0; font-family: var(--dui-head); color: #fff; quotes: none; }
.dui-rv figcaption { display: flex; align-items: center; gap: 20px; }
.dui-rv-big { margin-bottom: 56px; }
.dui-rv-mark { display: block; margin-bottom: 12px; font-family: var(--dui-it); font-size: 120px; line-height: .6; color: rgba(255, 255, 255, .3); }
.dui-rv-big blockquote { font-size: 36px; line-height: 1.3; }
.dui-rv-big figcaption { margin-top: 24px; }
.dui-rv-who { font-family: var(--dui-it); font-style: italic; font-size: 18px; color: var(--dui-line-2); }
.dui-stars { letter-spacing: 5px; font-size: 15px; color: var(--dui-line-2); font-family: Arial, sans-serif; }
.dui-rv-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 48px; }
.dui-rv-sm { padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .22); }
.dui-rv-sm blockquote { font-size: 21px; line-height: 1.45; }
.dui-rv-sm figcaption { margin-top: 16px; justify-content: space-between; gap: 16px; }
.dui-rv-sm .dui-rv-who { font-size: 16px; }
@media (max-width: 1099.98px) {
	.dui-reviews { padding: 80px 0; }
	.dui-reviews-in { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
	.dui-reviews-l, .dui-reviews-r { grid-column: auto; }
	.dui-reviews h2 { font-size: 34px; }
	.dui-rv-big blockquote { font-size: 27px; }
	.dui-rv-mark { font-size: 90px; }
	.dui-rv-two { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.dui-rv-sm blockquote { font-size: 19px; }
}

/* ---------------------------------------------------------------- 9 */
/* Buttons the templates still print (69 of them): the same look as .dui-btn,
   capitals with letter-spacing and the arrow in its own darker block. */
.primary-btn, .header-btn { display: inline-flex !important; align-items: stretch; padding: 0 !important; background: none !important; border: 0 !important; text-decoration: none; }
.primary-btn span.primary-btn-text, .header-btn span.header-btn-text {
	display: flex; align-items: center; justify-content: center; transform: none !important;
	background: var(--dui-forest); color: #fff; padding: 17px 24px; line-height: 1.2;
	font-family: var(--dui-cta); font-weight: 400; font-size: 13.5px !important; letter-spacing: .12em; text-transform: uppercase;
	transition: background-color .25s ease;
}
.primary-btn span.primary-btn-arrow, .header-btn span.header-btn-arrow {
	position: static !important; opacity: 1 !important; right: auto !important;
	flex: 0 0 52px; display: flex; align-items: center; justify-content: center; background: var(--dui-forest-2);
}
.primary-btn span.primary-btn-arrow img, .header-btn span.header-btn-arrow img { width: 20px; height: auto; transition: transform .3s ease; }
.primary-btn:hover span.primary-btn-text, .primary-btn:focus-visible span.primary-btn-text { background: var(--dui-forest-d); }
.primary-btn:hover span.primary-btn-arrow img, .primary-btn:focus-visible span.primary-btn-arrow img { transform: translateX(3px); }
.secondary-btn { font-family: var(--dui-cta); font-size: 13.5px; letter-spacing: .12em; text-transform: uppercase; }

/* ---------------------------------------------------------------- 10 */
.dui-cards { display: grid; gap: 40px 32px; }
.dui-cards-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dui-card { display: flex; flex-direction: column; min-width: 0; color: var(--dui-earth); text-decoration: none; }
.dui-card-img { display: block; height: 180px; background: #D6CDBF; overflow: hidden; }
.dui-card-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.dui-card:hover .dui-card-img img { transform: scale(1.03); }
.dui-card-body { display: grid; grid-template-columns: minmax(0, 1fr) 30px; column-gap: 18px; padding: 22px 0 16px; border-bottom: 1px solid var(--dui-earth); }
.dui-card .dui-card-t {
	grid-column: 1; grid-row: 1; margin: 0; height: 84px; overflow: hidden;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
	font-family: var(--dui-head); font-weight: 500; font-size: 20px; line-height: 28px; color: inherit;
}
.dui-card-body .dui-arrow { grid-column: 2; grid-row: 1; margin-top: 6px; color: var(--dui-earth); }
.dui-card:hover .dui-arrow, .dui-card:focus-visible .dui-arrow { transform: translateX(4px); }
.dui-card .dui-card-price { grid-column: 1; margin-top: 12px; font-family: var(--dui-it); font-style: italic; font-weight: 300; font-size: 16px; line-height: 22px; color: inherit; }
.dui-card:focus-visible { outline: 2px solid var(--dui-earth); outline-offset: 4px; }
@media (max-width: 1099.98px) and (min-width: 640px) { .dui-cards-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639.98px) {
	/* phones: a sideways row with no scrollbar showing */
	.dui-cards-4 { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -16px; padding: 0 16px 4px; -webkit-overflow-scrolling: touch; }
	.dui-cards-4::-webkit-scrollbar { display: none; }
	.dui-cards-4 > * { flex: 0 0 280px; scroll-snap-align: start; }
	.dui-card-img { height: 170px; }
	.dui-card-body { grid-template-columns: minmax(0, 1fr) 26px; column-gap: 14px; padding: 16px 0 12px; }
	.dui-card .dui-card-t { font-size: 18px; line-height: 25px; height: 75px; }
	.dui-card .dui-card-price { font-size: 15px; line-height: 20px; margin-top: 10px; }
}

/* ---------------------------------------------------------------- 11 */
.dui-search { display: flex; align-items: center; gap: 10px; width: 320px; height: 36px; padding: 0 14px; box-sizing: border-box; border: 1px solid var(--dui-line); background: #fff; color: var(--dui-earth); margin: 0; }
.dui-compact-l .dui-search { width: 260px; }
.dui-search-ico { display: flex; flex: 0 0 auto; }
.dui-search input[type="search"] {
	flex: 1; min-width: 0; height: 100%; margin: 0; padding: 0; border: 0; background: transparent; outline: none; box-shadow: none;
	font-family: var(--dui-body); font-weight: 300; font-size: 14px; color: inherit; -webkit-appearance: none; appearance: none;
}
.dui-search input::placeholder { color: inherit; opacity: .75; }
.dui-search input::-webkit-search-decoration, .dui-search input::-webkit-search-cancel-button, .dui-search input::-webkit-search-results-button { -webkit-appearance: none; appearance: none; display: none; }
.dui-search:focus-within { border-color: var(--dui-earth); }
.dui-search-dark { border-color: rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .08); color: #fff; }
.dui-search-dark:focus-within { border-color: #fff; }
@media (max-width: 1099.98px) { .dui-search input[type="search"] { font-size: 16px; } }

/* ---------------------------------------------------------------- 12 */
.dui-scrim { position: fixed; inset: 0; z-index: 1100; background: rgba(20, 22, 19, .55); }
.dui-scrim[hidden], .dui-drawer[hidden] { display: none; }
.dui-drawer {
	position: fixed; top: 0; left: 0; bottom: 0; z-index: 1101; width: min(460px, 100vw);
	display: flex; flex-direction: column; background: var(--dui-tint); color: var(--dui-earth);
	box-shadow: 20px 0 40px rgba(0, 0, 0, .15); transform: translateX(-100%);
}
@media (prefers-reduced-motion: no-preference) { .dui-drawer { transition: transform .3s ease; } }
.dui-drawer.is-open { transform: none; }
/* On body, not html: dist/style.css gives body height:100% and overflow-x:hidden, so
   hiding html's overflow made body the scroller and the page jumped to the top. */
html.dui-drawer-open body { overflow: hidden; }
.dui-drawer a { color: inherit; text-decoration: none; }
.dui-drawer-head { flex: 0 0 auto; height: var(--dui-bar-c); display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; padding: 0 26px; border-bottom: 1px solid var(--dui-line); }
.dui-drawer-head > a { justify-self: center; display: flex; }
.dui-drawer-x { width: 44px; height: 44px; margin-left: -10px; padding: 0; background: none; border: 0; color: inherit; font-size: 32px; line-height: 1; cursor: pointer; }
.dui-drawer-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; padding: 26px 36px 0; }
.dui-drawer-body > * { flex-shrink: 0; }
.dui-drawer-body .dui-search { width: 100%; height: 44px; }
.dui-dr-nav { margin-top: 12px; }
.dui-dr > summary, .dui-dr-link {
	display: flex; justify-content: space-between; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--dui-line);
	font-family: var(--dui-head); font-size: 24px; line-height: 1.25; color: var(--dui-earth); list-style: none; cursor: pointer;
}
.dui-dr > summary::-webkit-details-marker, .dui-dr-grp > summary::-webkit-details-marker { display: none; }
.dui-dr-ch { font-family: var(--dui-it); font-size: 26px; line-height: 1; transition: transform .2s ease; }
.dui-dr[open] > summary .dui-dr-ch { transform: rotate(90deg); }
.dui-dr-sub { padding: 8px 0 18px; border-bottom: 1px solid var(--dui-line); }
.dui-drawer .dui-dr-all { display: block; padding: 8px 0; font-family: var(--dui-it); font-style: italic; font-size: 16px; text-decoration: underline; text-underline-offset: 3px; }
.dui-dr-grp > summary { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--dui-line-2); font-family: var(--dui-body); font-weight: 400; font-size: 17px; list-style: none; cursor: pointer; }
.dui-dr-pm { position: relative; width: 12px; height: 12px; }
.dui-dr-pm::before, .dui-dr-pm::after { content: ""; position: absolute; left: 0; top: 5px; width: 12px; height: 1.5px; background: currentColor; }
.dui-dr-pm::after { transform: rotate(90deg); transition: transform .2s ease; }
.dui-dr-grp[open] .dui-dr-pm::after { transform: rotate(0); }
.dui-dr-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; padding: 8px 0 12px; }
.dui-dr-links a { font-family: var(--dui-body); font-weight: 300; font-size: 15px; line-height: 2; }
.dui-dr-links .dui-dr-all { grid-column: 1 / -1; padding: 4px 0; font-size: 15px; }
.dui-dr-flat { display: block; padding: 10px 0; font-family: var(--dui-body); font-size: 16px; border-bottom: 1px solid var(--dui-line-2); }
.dui-drawer a:hover { color: var(--dui-forest); }
.dui-drawer summary:focus-visible, .dui-drawer a:focus-visible, .dui-drawer button:focus-visible { outline: 2px solid var(--dui-earth); outline-offset: 2px; }
.dui-drawer-foot { margin-top: auto; padding: 28px 0 calc(36px + env(safe-area-inset-bottom, 0px)); display: flex; flex-direction: column; gap: 18px; }
.dui-drawer-foot .dui-btn { width: 100%; }
.dui-drawer-foot .dui-btn .t { flex: 1; }
.dui-drawer-foot p { margin: 0; text-align: center; font-family: var(--dui-body); font-size: 15px; }
.dui-drawer-foot p a { font-family: var(--dui-head); font-size: 18px; margin-left: 6px; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1099.98px) { .dui-drawer-head { height: var(--dui-ph); padding: 0 18px; } .dui-drawer-body { padding: 20px 22px 0; } }

.dui-footer { background: var(--dui-forest); color: #fff; padding: 96px 0 0; }
.dui-footer a { color: var(--dui-line-2); text-decoration: none; }
.dui-footer a:hover, .dui-footer a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.dui-footer-logo { display: flex; justify-content: center; margin-bottom: 64px; }
.dui-footer-logo a, .dui-footer-logo a:hover { color: #fff; text-decoration: none; }
.dui-footer-logo .dui-logo { width: 260px; }
.dui-footer-cols { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 48px; padding-bottom: 64px; border-bottom: 1px solid rgba(255, 255, 255, .2); }
.dui-footer .dui-fh { margin: 0 0 12px; font-family: var(--dui-it); font-style: italic; font-size: 17px; color: #fff; }
.dui-flist { list-style: none; padding: 0; margin: 0; }
.dui-flist li { margin: 0; font-family: var(--dui-body); font-size: 15px; line-height: 2.1; }
.dui-flist-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.dui-footer .dui-ftel { display: block; margin: 0 0 22px; font-family: var(--dui-head); font-size: 22px; color: #fff; }
.dui-footer .dui-btn-light:hover { text-decoration: none; }
.dui-footer .dui-fnote { margin: 0 0 16px; font-family: var(--dui-body); font-size: 15px; color: var(--dui-line-2); }
.dui-fnews .dui-nl-row { border: 1px solid rgba(255, 255, 255, .5) !important; align-items: stretch !important; }
.dui-fnews .dui-nl-row > span:first-child { display: none; }
.dui-fnews #EMBED_FORM_EMAIL_LABEL { padding: 14px !important; font-family: var(--dui-body); font-size: 15px; color: #fff; background: transparent; border: 0; }
.dui-fnews #EMBED_FORM_EMAIL_LABEL::placeholder { color: rgba(255, 255, 255, .75); }
.dui-fnews .dui-nl-row > div { display: flex; }
.dui-fnews .dui-nl-btn { -webkit-appearance: none; appearance: none; height: auto; padding: 0 18px; border: 0; border-radius: 0; cursor: pointer; background: var(--dui-tint); color: var(--dui-forest); font-family: var(--dui-cta); font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; }
.dui-fnews .dui-nl-btn:hover, .dui-fnews .dui-nl-btn:focus-visible { background: #fff; }
.dui-footer .dui-fsocial { display: flex; flex-wrap: wrap; gap: 10px 16px; margin: 26px 0 0; font-family: var(--dui-body); font-size: 14px; }
.dui-footer .dui-fsocial a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.dui-footer-base { display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; padding: 26px 0; font-family: var(--dui-body); font-size: 13.5px; color: var(--dui-line-2); }
.dui-footer-base span { font-family: inherit; }
.dui-fbase-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.dui-fbase-links [aria-current] { color: #fff; }
.dui-ytg { display: inline-flex; padding: 4px 10px; border: 1px solid rgba(255, 255, 255, .4); }
.dui-ytg img { display: block; width: 96px; height: auto; }
@media (max-width: 1099.98px) {
	.dui-footer { padding: 64px 0 0; }
	.dui-footer-logo { margin-bottom: 40px; }
	.dui-footer-logo .dui-logo { width: 220px; }
	.dui-footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 32px; padding-bottom: 40px; }
	.dui-footer-base { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 639.98px) { .dui-footer-cols { grid-template-columns: minmax(0, 1fr); } }

/* ---------------------------------------------------------------- 13 */
.dui-pbar { display: none; }
@media (max-width: 1099.98px) {
	.dui-pbar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
		display: grid; grid-template-columns: 1fr 1fr; height: calc(var(--dui-ph) + env(safe-area-inset-bottom, 0px));
		padding-bottom: env(safe-area-inset-bottom, 0px); background: var(--dui-tint); box-shadow: 0 -6px 20px rgba(0, 0, 0, .12);
	}
	.dui-pbar a { display: flex; align-items: center; justify-content: center; gap: 10px; text-decoration: none; font-family: var(--dui-cta); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
	.dui-pbar a span { font-family: inherit; }
	.dui-pbar-call { color: var(--dui-forest); border-top: 1px solid var(--dui-line); }
	.dui-pbar-quote { background: var(--dui-forest); color: #fff; }
	body.dui { padding-bottom: calc(var(--dui-ph) + env(safe-area-inset-bottom, 0px)); }
	/* the chat button sits above the bar */
	#zsiq_float, .zsiq_floatmain, .zsiq_theme1.zsiq_floatmain { bottom: calc(var(--dui-ph) + 16px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (prefers-reduced-motion: no-preference) { .dui-pbar { transition: transform .32s ease; } }

/* ---------------------------------------------------------------- 14 */
/* dist/dnd-enquiry.css set #contact-form's offsets and #ts-journey's look by id. */
#contact-form.dui-enquiry { padding-top: 0; margin-top: 0; scroll-margin-top: 0; }
#ts-journey.dui-steps { padding: 130px 0; background: var(--dui-tint); color: var(--dui-earth); scroll-margin-top: 0; }
#ts-journey.dui-steps .dui-steps-head { text-align: center; margin: 0 0 64px; }
#ts-journey.dui-steps h2 { margin: 0; font-family: var(--dui-head); font-weight: 500; font-size: 44px; line-height: 1.15; text-align: center; }
#ts-journey.dui-steps .journey-intro { max-width: none; margin: 16px 0 0; opacity: 1; font-family: var(--dui-it); font-style: italic; font-size: 20px; }
.dui-steps-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; list-style: none; margin: 0; padding: 0; }
#ts-journey.dui-steps .dui-step { margin: 0; padding: 28px 0 0; border-top: 1px solid var(--dui-earth); list-style: none; }
#ts-journey.dui-steps .dui-step-n { display: block; margin: 0 0 10px; font-family: var(--dui-head); font-size: 44px; line-height: 1.1; color: var(--dui-line); }
#ts-journey.dui-steps .dui-step h3 { margin: 0 0 12px; font-family: var(--dui-head); font-weight: 500; font-size: 26px; line-height: 1.25; white-space: normal; }
#ts-journey.dui-steps .dui-step p { margin: 0; font-family: var(--dui-body); font-weight: 300; font-size: 17px; line-height: 1.7; }

#contact-form2.dui-formband { padding: 120px 0; background: var(--dui-forest); color: var(--dui-line-2); scroll-margin-top: 0; }
.dui-formband-in { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 56px; align-items: center; }
.dui-formband-l { grid-column: span 5; }
.dui-formband-r { grid-column: span 7; min-width: 0; }
.dui-formband .dui-eyebrow { margin: 0 0 10px; font-family: var(--dui-it); font-style: italic; font-size: 18px; color: var(--dui-line-2); }
.dui-formband h2 { margin: 0; font-family: var(--dui-head); font-weight: 500; font-size: 44px; line-height: 1.15; color: #fff; }
.dui-formband .dui-formband-p { margin: 0; font-family: var(--dui-body); font-weight: 300; font-size: 18px; line-height: 1.75; color: var(--dui-line-2); }
.dui-formband-call { margin-top: 34px; }
.dui-formband-call .dui-eyebrow { font-size: 15px; margin: 0 0 2px; opacity: .85; }
.dui-formband-call a { font-family: var(--dui-head); font-size: 26px; color: #fff; text-decoration: none; }
.dui-formband-call a:hover { text-decoration: underline; text-underline-offset: 4px; }
.dui-formband-steps { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.dui-formband-steps li { margin: 0; font-family: var(--dui-body); font-weight: 300; font-size: 16px; color: #fff; }
.dui-formband-steps span { margin-right: 12px; font-family: var(--dui-head); font-size: 18px; opacity: .6; }
.dui-formband .dui-formpanel, .dnd-enq.dui-formband .dnd-epanel { padding: 40px 40px 44px; background: var(--dui-tint); border: 1px solid var(--dui-line); box-shadow: 0 24px 50px rgba(0, 0, 0, .18); color: var(--dui-earth); }
/* the fields: boxed, white, labels above in sentence case (canvas, treatment A) */
.dui-formband .dnd-eform .erow { gap: 0 20px; }
.dui-formband .dnd-eform .f { margin-bottom: 18px; }
.dui-formband .dnd-eform .f > label, .dui-formband .dnd-eform .flabel { margin: 0 0 6px; font-family: var(--dui-body); font-weight: 400; font-size: 14px; letter-spacing: 0; text-transform: none; }
.dui-formband .dnd-eform input[type="text"], .dui-formband .dnd-eform input[type="email"], .dui-formband .dnd-eform input[type="tel"], .dui-formband .dnd-eform select {
	height: 48px; padding: 0 14px; background-color: #fff; border: 1px solid var(--dui-line); box-shadow: none;
}
.dui-formband .dnd-eform select { padding-right: 36px; background-position: right 14px center; }
.dui-formband .dnd-eform textarea { min-height: 110px; padding: 12px 14px; background: #fff; border: 1px solid var(--dui-line); }
.dui-formband .dnd-eform input:focus, .dui-formband .dnd-eform select:focus, .dui-formband .dnd-eform textarea:focus { border-color: var(--dui-earth); box-shadow: 0 0 0 1px var(--dui-earth); }
.dui-formband .dnd-eform .intl-tel-input.separate-dial-code input[name="tel"], .dui-formband .dnd-eform .iti--separate-dial-code input[name="tel"] { padding-left: 84px; }
.dui-formband .dnd-eform .chips .wpcf7-list-item-label { border-radius: 0; background: #fff; border-color: var(--dui-line); padding: 11px 16px; }
.dui-formband .dnd-eform .chips input[type="radio"]:checked + .wpcf7-list-item-label { background: var(--dui-forest); border-color: var(--dui-forest); }
.dui-formband .dnd-eform .enav { justify-content: space-between; margin-top: 24px; }
.dui-formband .dnd-eform .dnd-eform-privacy { flex: 1 1 260px; margin: 0; font-size: 13px; opacity: 1; }
.dui-formband form:not(.submitting) .wpcf7-spinner { display: none; }
.dui-formband .dnd-eform .wpcf7-submit {
	padding: 17px 76px 17px 24px; border: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='12' viewBox='0 0 22 12'%3E%3Cpath d='M0 6h20M15 1l5 5-5 5' fill='none' stroke='%23fff' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat right 16px center / 20px 12px, linear-gradient(to left, var(--dui-forest-2) 52px, var(--dui-forest) 52px);
	font-family: var(--dui-cta); font-size: 13.5px; letter-spacing: .12em; text-transform: uppercase;
}
.dui-formband .dnd-eform .wpcf7-submit:hover, .dui-formband .dnd-eform .wpcf7-submit:focus-visible {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='12' viewBox='0 0 22 12'%3E%3Cpath d='M0 6h20M15 1l5 5-5 5' fill='none' stroke='%23fff' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat right 14px center / 20px 12px, linear-gradient(to left, var(--dui-forest-2) 52px, var(--dui-forest-d) 52px);
}
@media (max-width: 1099.98px) {
	#ts-journey.dui-steps { padding: 72px 0; }
	#ts-journey.dui-steps .dui-steps-head { margin-bottom: 36px; }
	#ts-journey.dui-steps h2, .dui-formband h2 { font-size: 32px; }
	.dui-steps-row { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	#ts-journey.dui-steps .dui-step-n { font-size: 34px; }
	#ts-journey.dui-steps .dui-step h3 { font-size: 22px; }
	#ts-journey.dui-steps .dui-step p { font-size: 16px; }
	#contact-form2.dui-formband { padding: 64px 0 72px; }
	.dui-formband-in { grid-template-columns: minmax(0, 1fr); row-gap: 36px; }
	.dui-formband-l, .dui-formband-r { grid-column: auto; }
	.dui-formband .dui-formpanel, .dnd-enq.dui-formband .dnd-epanel { padding: 24px 18px 28px; }
	.dui-formband .dnd-eform .wpcf7-submit { width: 100%; }
}

/* ---------------------------------------------------------------- 15 */
/* While the enquiry form covers the screen, nothing else asks for attention
   (dist/dnd.js headerAwayOnEnquiry sets html.dui-away), as on the live site. */
html.dui-away .dui-chrome { transform: translateY(-100%); }
html.dui-away .dui-subnav { opacity: 0; visibility: hidden; pointer-events: none; }
html.dui-away .dui-pbar { transform: translateY(110%); }

/* =====================================================================
 * 2.1.0 — page sections (canvas: England, Tour, Hotel, Home, Honeymoons,
 * Editorial boards). Shared by every rebuilt template.
 * ===================================================================== */

/* ---------------------------------------------------------------- 16 hero */
.dui-hero { position: relative; height: 820px; min-height: 560px; max-height: 100vh; overflow: hidden; background: #3A4238; color: #fff; }
.dui-hero-tall { height: 900px; }
.dui-hero-mid { height: 640px; }
.dui-hero-img, .dui-hero > picture img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.dui-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.42) 0%, rgba(0,0,0,.1) 38%, rgba(0,0,0,.12) 55%, rgba(0,0,0,.5) 100%); pointer-events: none; }
.dui-hero > .dui-wrap { position: relative; z-index: 2; height: 100%; }
.dui-crumbs { position: absolute; z-index: 3; left: 0; right: 0; top: calc(var(--dui-strip) + var(--dui-bar) + 22px); font-family: var(--dui-it); font-style: italic; font-size: 15px; color: #fff; }
.dui-crumbs a, .dui-crumbs span { color: #fff; text-decoration: none; font-family: inherit; font-style: inherit; }
.dui-crumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.dui-hero-c { position: absolute; z-index: 2; left: max(56px, calc((100% - 1280px) / 2 + 56px)); right: max(56px, calc((100% - 1280px) / 2 + 56px)); bottom: 104px; text-align: center; } /* in line with the page column */
.dui-hero h1, .dui-hero .dui-hero-h { margin: 0; font-family: var(--dui-head); font-weight: 500; font-size: 76px; line-height: 1.05; color: #fff; }
.dui-hero-kicker { margin: 0 0 20px; font-family: var(--dui-it); font-style: italic; font-size: 21px; color: #fff; }
.dui-hero-sub { margin: 24px auto 0; max-width: 760px; font-family: var(--dui-it); font-style: italic; font-size: 23px; line-height: 1.45; color: #fff; }
.dui-hero-acts { display: flex; justify-content: center; align-items: center; gap: 32px; flex-wrap: wrap; margin-top: 40px; }
.dui-hero-link { color: #fff; font-family: var(--dui-it); font-style: italic; font-size: 18px; text-decoration: underline; text-underline-offset: 4px; }
.dui-hero-link:hover { color: var(--dui-line-2); }
@media (max-width: 1099.98px) {
	.dui-hero, .dui-hero-tall, .dui-hero-mid { height: 660px; min-height: 0; }
	.dui-crumbs { top: calc(var(--dui-ph) + 18px); font-size: 13px; }
	.dui-crumbs.dui-wrap { padding: 0 22px; }
	.dui-hero-c { left: 22px; right: 22px; bottom: 36px; text-align: left; }
	.dui-hero h1, .dui-hero .dui-hero-h { font-size: 42px; line-height: 1.08; }
	.dui-hero-sub { margin: 16px 0 0; font-size: 18px; }
	.dui-hero-acts { justify-content: flex-start; gap: 18px; margin-top: 28px; }
	.dui-hero-acts .dui-btn { width: 100%; }
	.dui-hero-acts .dui-btn .t { flex: 1; }
	.dui-hero-link { display: none; }
}
/* phones: the header sits on the new heroes, as on the canvas (body.dui-hero2) */
@media (max-width: 1099.98px) {
	body.dui-hero2 main { padding-top: 0; }
	body.dui-hero2 .dui-chrome:not(.is-compact) .dui-hdr { background: transparent; color: #fff; border-bottom-color: rgba(255,255,255,.35); }
}

/* ---------------------------------------------------------------- 17 sections */
.dui-sec { padding: 140px 0; color: var(--dui-earth); }
.dui-sec-tint { background: var(--dui-tint); }
.dui-sec-line { border-top: 1px solid var(--dui-line); }
.dui-sec h2, .dui-h2 { margin: 0; font-family: var(--dui-head); font-weight: 500; font-size: 44px; line-height: 1.15; color: var(--dui-earth); }
.dui-sec h3, .dui-sec h4 { font-family: var(--dui-head); font-weight: 500; color: var(--dui-earth); }
.dui-sec p, .dui-sec li { font-family: var(--dui-body); font-weight: 300; }
.dui-sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; margin-bottom: 56px; }
.dui-sec-head > div > p { margin: 18px 0 0; max-width: 640px; font-size: 19px; line-height: 1.6; }
.dui-sec-all { font-family: var(--dui-it); font-style: italic; font-size: 18px; color: var(--dui-earth); text-decoration: underline; text-underline-offset: 4px; }
.dui-sec-all:hover { color: var(--dui-forest); }
.dui-sec-foot { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--dui-line); }
.dui-sec-foot p { margin: 0; max-width: 640px; font-size: 19px; line-height: 1.6; }
.dui-g12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 56px; row-gap: 40px; align-items: start; }
.dui-s4 { grid-column: span 4; } .dui-s5 { grid-column: span 5; } .dui-s6 { grid-column: span 6; } .dui-s7 { grid-column: span 7; } .dui-s8 { grid-column: span 8; }
.dui-sticky { position: sticky; top: calc(var(--dui-bar-c) + 34px); }
.dui-prose { font-family: var(--dui-body); font-weight: 300; font-size: 18px; line-height: 1.8; color: var(--dui-earth); }
.dui-prose p { margin: 0 0 1.05em; }
.dui-prose h3, .dui-prose h4 { margin: 40px 0 12px; font-family: var(--dui-head); font-weight: 500; font-size: 24px; line-height: 1.3; }
.dui-prose > :first-child { margin-top: 0; }
.dui-prose a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.dui-prose ul, .dui-prose ol { margin: 0 0 1.05em; padding-left: 1.2em; }
.dui-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dui-frame { overflow: hidden; background: #D6CDBF; }
.dui-r43 { aspect-ratio: 4 / 3; } .dui-r45 { aspect-ratio: 4 / 5; } .dui-r32 { aspect-ratio: 3 / 2; }
@media (max-width: 1099.98px) {
	.dui-sec { padding: 72px 0; }
	.dui-sec h2, .dui-h2 { font-size: 32px; }
	.dui-sec-head { margin-bottom: 28px; align-items: flex-start; flex-direction: column; gap: 14px; }
	.dui-sec-head > div > p, .dui-sec-foot p { font-size: 17px; }
	.dui-g12 { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
	.dui-g12 > * { grid-column: auto; }
	.dui-sticky { position: static; }
	.dui-prose { font-size: 17px; line-height: 1.75; }
	.dui-sec-foot { margin-top: 36px; padding-top: 28px; }
	.dui-sec-foot .dui-btn { width: 100%; } .dui-sec-foot .dui-btn .t { flex: 1; }
}

/* intro (canvas: centred copy on the light tint) */
.dui-intro { padding: 150px 0; background: var(--dui-tint); text-align: center; }
.dui-intro .dui-prose { max-width: 840px; margin: 0 auto; font-size: 21px; line-height: 1.75; }
.dui-tagline { margin: 48px 0 44px; font-family: var(--dui-head); font-weight: 400; font-size: 32px; color: var(--dui-earth); }
.dui-tagline em { font-family: var(--dui-it); font-style: italic; font-weight: 300; }
@media (max-width: 1099.98px) { .dui-intro { padding: 64px 0 72px; text-align: left; } .dui-intro .dui-prose { font-size: 18px; } .dui-tagline { font-size: 25px; margin: 32px 0 30px; } .dui-intro .dui-btn { width: 100%; } .dui-intro .dui-btn .t { flex: 1; } }

/* why (text left, picture right) */
.dui-why { padding: 160px 0; border-bottom: 1px solid var(--dui-line); }
.dui-why .dui-prose { font-size: 19px; }
.dui-why .dui-rule { margin: 24px 0 30px; }
@media (max-width: 1099.98px) { .dui-why { padding: 72px 0; } .dui-why .dui-prose { font-size: 17px; } .dui-why .dui-rule { width: 72px; margin: 18px 0 22px; } }

/* rows of cards (phones: sideways, no scrollbar) */
.dui-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 40px; }
@media (max-width: 1099.98px) and (min-width: 640px) { .dui-cards-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 28px; } }
@media (max-width: 639.98px) {
	.dui-cards-3, .dui-row { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -22px; padding: 0 22px 4px; -webkit-overflow-scrolling: touch; }
	.dui-cards-3::-webkit-scrollbar, .dui-row::-webkit-scrollbar { display: none; }
	.dui-cards-3 > *, .dui-row > * { flex: 0 0 280px; scroll-snap-align: start; }
}
/* a row that scrolls on every screen (moments), with its own arrows */
.dui-row { display: flex; gap: 40px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.dui-row::-webkit-scrollbar { display: none; }
.dui-row > * { flex: 0 0 calc((100% - 80px) / 3); scroll-snap-align: start; }
.dui-row-btns { display: flex; gap: 10px; }
.dui-row-btns button { width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--dui-earth); background: none; color: var(--dui-earth); cursor: pointer; }
.dui-row-btns button:hover:not(:disabled) { background: var(--dui-earth); color: #fff; }
.dui-row-btns button:disabled { opacity: .35; cursor: default; }
.dui-row-btns .dui-prev .dui-arrow { transform: rotate(180deg); }
@media (max-width: 1099.98px) { .dui-row-btns { display: none; } }

/* hotel card */
.dui-card-hotel .dui-card-img { height: auto; aspect-ratio: 3 / 2; }
.dui-card-hotel .dui-card-body { flex: 1; display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; padding: 20px 0 14px; } /* fills the card, so rules line up across a row */
.dui-card-hotel .dui-card-t { height: auto; display: block; font-size: 23px; line-height: 1.25; -webkit-line-clamp: unset; }
.dui-card-place { display: block; margin-top: 6px; font-family: var(--dui-it); font-style: italic; font-size: 16px; }
.dui-card-hotel .dui-arrow { margin: 0 0 6px; }
/* moment card: title on the picture, the excerpt below */
.dui-card-moment .dui-card-img { position: relative; height: auto; aspect-ratio: 4 / 5; background: #3F473D; }
.dui-card-moment .dui-card-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(41,49,40,0) 40%, rgba(41,49,40,.82)); }
.dui-card-over { position: absolute; left: 26px; right: 26px; bottom: 26px; z-index: 1; color: #fff; }
.dui-card-moment .dui-card-t { height: auto; display: block; -webkit-line-clamp: unset; font-size: 26px; line-height: 1.2; color: #fff; }
.dui-card-strap { display: block; margin-top: 8px; font-family: var(--dui-it); font-style: italic; font-size: 17px; color: #fff; }
.dui-card-ex { display: block; margin-top: 20px; font-family: var(--dui-body); font-weight: 300; font-size: 17px; line-height: 1.7; color: var(--dui-earth); }
/* editorial card */
.dui-card-ed .dui-card-img { position: relative; height: auto; aspect-ratio: 3 / 2; }
.dui-card-badge { position: absolute; right: 0; bottom: 0; z-index: 1; padding: 5px 10px; background: var(--dui-forest); color: #fff; font-family: var(--dui-body); font-size: 14px; }
.dui-card-ed .dui-card-t { height: auto; display: block; -webkit-line-clamp: unset; margin: 24px 0 12px; font-size: 23px; line-height: 1.3; }
.dui-card-ed .dui-card-ex { margin-top: 0; }
@media (max-width: 639.98px) {
	.dui-card-moment .dui-card-t { font-size: 22px; } .dui-card-over { left: 18px; right: 18px; bottom: 18px; }
	.dui-card-ex { font-size: 16px; } .dui-card-ed .dui-card-t, .dui-card-hotel .dui-card-t { font-size: 20px; }
}

/* travel guides: all five, in order, with jump links */
.dui-tg-head { padding: 140px 0 40px; border-top: 1px solid var(--dui-line); text-align: center; }
.dui-tg-head h2 { font-size: 52px; }
.dui-tg-nav { display: flex; justify-content: center; gap: 12px 40px; flex-wrap: wrap; margin-top: 40px; padding: 20px 0; border-top: 1px solid var(--dui-line); border-bottom: 1px solid var(--dui-line); }
.dui-tg-nav a { font-family: var(--dui-it); font-style: italic; font-size: 18px; color: var(--dui-earth); }
.dui-tg { padding: 130px 0; border-top: 1px solid var(--dui-line); scroll-margin-top: calc(var(--dui-bar-c) + 64px); }
.dui-tg:first-of-type { border-top: 0; padding-top: 100px; }
.dui-tg h3 { margin: 0; font-size: 38px; line-height: 1.2; }
.dui-tg-wx { margin: 0 0 1em; font-family: var(--dui-body); font-weight: 300; font-size: 23px; line-height: 1.6; }
.dui-tg-cols { column-count: 2; column-gap: 48px; }
.dui-tg-cols h4 { break-after: avoid; margin-top: 0; padding-top: 26px; border-top: 1px solid var(--dui-earth); }
.dui-tg-cols p { break-inside: avoid; }
@media (max-width: 1099.98px) {
	.dui-tg-head { padding: 72px 0 24px; text-align: left; } .dui-tg-head h2 { font-size: 34px; }
	.dui-tg-nav { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 28px; margin: 24px -22px 0; padding: 16px 22px; }
	.dui-tg-nav::-webkit-scrollbar { display: none; }
	.dui-tg-nav a { white-space: nowrap; font-size: 17px; }
	.dui-tg, .dui-tg:first-of-type { padding: 56px 0; } .dui-tg h3 { font-size: 28px; } .dui-tg-wx { font-size: 19px; } .dui-tg-cols { column-count: 1; }
}

/* the mid-page band and the closing call to action */
.dui-band { padding: 96px 0; background: var(--dui-forest); color: #fff; }
.dui-band-in { display: flex; justify-content: space-between; align-items: center; gap: 40px; flex-wrap: wrap; }
.dui-band p { margin: 0; max-width: 720px; font-family: var(--dui-head); font-size: 32px; line-height: 1.3; color: #fff; }
.dui-cta { padding: 140px 0; background: var(--dui-forest); color: #fff; text-align: center; }
.dui-cta h2 { margin: 0 auto; max-width: 960px; font-family: var(--dui-head); font-weight: 500; font-size: 50px; line-height: 1.2; color: #fff; }
.dui-cta h2 em { font-family: var(--dui-it); font-style: italic; font-weight: 300; }
.dui-cta-sub { margin: 28px 0 48px; font-family: var(--dui-body); font-weight: 300; font-size: 20px; color: var(--dui-line-2); }
.dui-cta-acts { display: flex; justify-content: center; align-items: center; gap: 36px; flex-wrap: wrap; }
.dui-cta-acts p, .dui-band-call { margin: 0; font-family: var(--dui-body); font-size: 17px; color: #fff; }
.dui-cta-acts p a { margin-left: 8px; font-family: var(--dui-head); font-size: 20px; color: #fff; }
@media (max-width: 1099.98px) {
	.dui-band { padding: 56px 0; } .dui-band p { font-size: 24px; } .dui-band .dui-btn { width: 100%; } .dui-band .dui-btn .t { flex: 1; }
	.dui-cta { padding: 72px 0; text-align: left; } .dui-cta h2 { font-size: 32px; } .dui-cta-sub { font-size: 17px; margin: 20px 0 32px; }
	.dui-cta-acts { justify-content: flex-start; gap: 20px; } .dui-cta-acts .dui-btn { width: 100%; } .dui-cta-acts .dui-btn .t { flex: 1; }
}

/* experts */
.dui-expert h3 { margin: 24px 0 6px; font-size: 25px; }
.dui-expert-role { margin: 0 0 14px; font-family: var(--dui-it); font-style: italic; font-size: 17px; }
.dui-expert-bio { margin: 0; font-size: 17px; line-height: 1.7; }

/* FAQs: the heading and a call to the expert stay beside the questions */
.dui-faqs .dui-faqs-gh { margin: 0 0 8px; font-family: var(--dui-it); font-style: italic; font-weight: 300; font-size: 22px; }
.dui-faqs .dui-faqs-g + .dui-faqs-g { margin-top: 48px; }
.dui-faqs .dui-faqs-l p { margin: 24px 0 32px; font-size: 18px; line-height: 1.7; }
.dui-faq { border-bottom: 1px solid var(--dui-line); }
.dui-faq summary { display: flex; justify-content: space-between; gap: 16px; padding: 22px 0; font-family: var(--dui-head); font-weight: 500; font-size: 20px; line-height: 1.4; cursor: pointer; list-style: none; color: var(--dui-earth); }
.dui-faq summary::-webkit-details-marker { display: none; }
.dui-faq summary::after { content: "+"; flex: 0 0 auto; font-family: var(--dui-body); font-size: 22px; line-height: 1; }
.dui-faq[open] summary::after { content: "–"; }
.dui-faq summary:focus-visible { outline: 2px solid var(--dui-earth); outline-offset: 4px; }
.dui-faq-a { padding: 0 40px 24px 0; font-family: var(--dui-body); font-weight: 300; font-size: 17px; line-height: 1.75; }
.dui-faq-a p { margin: 0 0 .8em; } .dui-faq-a a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1099.98px) { .dui-faq summary { font-size: 18px; padding: 18px 0; } .dui-faq-a { padding-right: 0; font-size: 16px; } .dui-faqs .dui-faqs-l .dui-btn { width: 100%; } .dui-faqs .dui-faqs-l .dui-btn .t { flex: 1; } }

/* 2.1.0: long labels ("Plan your United Kingdom journey") wrap on phones instead of running off the screen */
.dui-btn .t { min-width: 0; }
@media (max-width: 639.98px) { .dui-btn .t { white-space: normal; text-align: center; } }

/* ---------------------------------------------------------------- 18 tour page (canvas: Tour2, Tour-facts) */
.dui-hero-tour { height: 780px; }
.dui-hero-left .dui-hero-c { text-align: left; }
.dui-hero-left .dui-hero-h { max-width: 900px; font-size: 80px; line-height: 1.04; }
.dui-hero-left .dui-hero-kicker { margin-bottom: 16px; font-size: 20px; }
.dui-facts-wrap { position: relative; z-index: 3; }
.dui-facts { display: grid; width: max-content; max-width: 100%; grid-auto-flow: column; grid-auto-columns: auto; margin: -52px 0 0; background: var(--dui-tint); border: 1px solid var(--dui-line); box-shadow: 0 12px 30px rgba(53, 61, 51, .10); color: var(--dui-earth); }
.dui-fact { padding: 22px 40px; }
.dui-fact + .dui-fact { border-left: 1px solid var(--dui-line); }
.dui-fact-l { margin: 0 0 6px; font-family: var(--dui-it); font-style: italic; font-size: 15px; }
.dui-fact-v { margin: 0; font-family: var(--dui-head); font-size: 23px; line-height: 1.25; }
.dui-facts-gap { height: 56px; }
@media (max-width: 1099.98px) {
	.dui-hero-tour { height: 600px; }
	.dui-hero-left .dui-hero-h { font-size: 40px; }
	.dui-hero-left .dui-hero-kicker { font-size: 16px; }
	.dui-hero-tour .dui-hero-c { bottom: 72px; }
	.dui-facts { display: grid; grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; margin-top: -40px; }
	.dui-fact { padding: 16px 18px; }
	.dui-fact-route { grid-column: 1 / -1; border-left: 0 !important; border-top: 1px solid var(--dui-line); }
	.dui-fact-v { font-size: 19px; }
	.dui-facts-gap { height: 36px; }
}
.dui-intro-lead .dui-prose { font-size: 28px; line-height: 1.55; max-width: 900px; }
.dui-intro-lead .dui-prose p { margin-bottom: 1em; }
.dui-intro-lead { padding: 130px 0; }
.dui-intro-lead .dui-btn { margin-top: 12px; }
@media (max-width: 1099.98px) { .dui-intro-lead { padding: 56px 0 64px; } .dui-intro-lead .dui-prose { font-size: 20px; } }

/* "In detail": every day in order, with a day row that follows the page */
.dui-days-head { padding: 130px 0 0; text-align: center; }
.dui-days-head h2 { font-size: 48px; }
.dui-daynav { position: sticky; top: var(--dui-bar-c); z-index: 40; margin-top: 40px; background: var(--dui-sand); border-top: 1px solid var(--dui-line); border-bottom: 1px solid var(--dui-line); }
.dui-daynav-in { display: flex; justify-content: safe center; overflow-x: auto; scrollbar-width: none; }
.dui-daynav-in::-webkit-scrollbar { display: none; }
.dui-daynav-cells { display: flex; border-left: 1px solid var(--dui-line); }
.dui-daynav a { flex: 0 0 auto; padding: 16px 18px; border-right: 1px solid var(--dui-line); border-bottom: 3px solid transparent; font-family: var(--dui-body); font-size: 15px; color: var(--dui-earth); text-decoration: none; white-space: nowrap; }
.dui-daynav a:hover { background: var(--dui-tint); }
.dui-daynav a.is-current, .dui-daynav a[aria-current] { background: var(--dui-tint); border-bottom-color: var(--dui-earth); color: var(--dui-forest); }
.dui-day { padding: 96px 0; scroll-margin-top: calc(var(--dui-bar-c) + 56px); }
.dui-day + .dui-day { border-top: 1px solid var(--dui-line); }
.dui-day .dui-g12 { align-items: center; }
.dui-day-flip .dui-day-pic { order: 2; }
.dui-day-k { margin: 0 0 10px; font-family: var(--dui-it); font-style: italic; font-size: 19px; }
.dui-day h3 { margin: 0; font-size: 36px; line-height: 1.15; }
.dui-day .dui-rule { margin: 24px 0 26px; }
.dui-day .dui-btn { margin-top: 32px; }
html.dui-away .dui-daynav { opacity: 0; visibility: hidden; }
@media (max-width: 1099.98px) {
	.dui-days-head { padding: 64px 0 0; text-align: left; } .dui-days-head h2 { font-size: 32px; }
	.dui-daynav { top: var(--dui-ph); margin-top: 24px; } .dui-daynav-in { justify-content: flex-start; } .dui-daynav-cells { border-left: 0; }
	.dui-daynav a { padding: 14px 16px; }
	.dui-day { padding: 48px 0; scroll-margin-top: calc(var(--dui-ph) + 52px); }
	.dui-day-flip .dui-day-pic { order: 0; }
	.dui-day h3 { font-size: 26px; }
	.dui-day .dui-btn { width: 100%; } .dui-day .dui-btn .t { flex: 1; }
}

/* moments: three across on the tour page too, as every moments row (2.2.30; the four-across row is gone) */

/* the trip gallery: a grid, the first picture large; any picture opens the viewer */
.dui-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 230px; gap: 16px; }
.dui-gallery a { display: block; overflow: hidden; background: #D6CDBF; }
.dui-gallery a[hidden] { display: none; }
.dui-gallery a:first-child { grid-column: span 2; grid-row: span 2; }
.dui-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.dui-gallery a:hover img { transform: scale(1.03); }
.dui-gallery a:focus-visible { outline: 2px solid var(--dui-earth); outline-offset: 3px; }
.dui-gallery-more { position: relative; }
.dui-gallery-more span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(41, 49, 40, .55); color: #fff; font-family: var(--dui-it); font-style: italic; font-size: 19px; }
@media (max-width: 1099.98px) { .dui-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; gap: 10px; } }
.dui-lb { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 56px 72px; background: rgba(20, 22, 19, .94); color: #fff; }
.dui-lb[hidden] { display: none; }
.dui-lb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.dui-lb-cap { position: absolute; left: 0; right: 0; bottom: 18px; text-align: center; font-family: var(--dui-it); font-style: italic; font-size: 15px; color: var(--dui-line-2); }
.dui-lb button { position: absolute; width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; background: none; border: 1px solid rgba(255,255,255,.5); color: #fff; cursor: pointer; }
.dui-lb button:hover, .dui-lb button:focus-visible { background: rgba(255,255,255,.12); outline: none; }
.dui-lb-x { top: 18px; right: 18px; font-size: 28px; }
.dui-lb-prev { left: 12px; top: 50%; transform: translateY(-50%); }
.dui-lb-prev .dui-arrow { transform: rotate(180deg); }
.dui-lb-next { right: 12px; top: 50%; transform: translateY(-50%); }
@media (max-width: 639.98px) { .dui-lb { padding: 64px 8px; } .dui-lb-prev, .dui-lb-next { top: auto; bottom: 8px; transform: none; } }

/* tour card: days and price on one line, places under it (the rule stays level) */
.dui-card-places { grid-column: 1; display: block; min-height: 22px; margin-top: 4px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: var(--dui-it); font-style: italic; font-size: 15px; line-height: 22px; }

/* editorial card with the rule (four across) */
.dui-card-ed.is-ruled .dui-card-img { aspect-ratio: auto; height: 180px; }
.dui-card-ed.is-ruled .dui-card-t { height: 84px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; margin: 20px 0 0; font-size: 20px; line-height: 28px; }
.dui-card-ed.is-ruled .dui-card-rule { display: block; height: 1px; margin: 16px 0 18px; background: var(--dui-earth); }
.dui-card-ed.is-ruled .dui-card-ex { font-size: 16px; line-height: 1.65; }

/* the framed closing panel (tour page) */
.dui-cta-framed { padding: 0 0 140px; }
.dui-cta-frame { position: relative; height: 460px; padding: 18px; background: #3F473D center / cover no-repeat; }
.dui-cta-frame::before { content: ""; position: absolute; inset: 0; background: rgba(41, 49, 40, .55); }
.dui-cta-frame-in { position: relative; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 40px; border: 1px solid rgba(255, 255, 255, .85); text-align: center; color: #fff; }
.dui-cta-frame h2 { margin: 0; max-width: 900px; font-family: var(--dui-head); font-weight: 500; font-size: 44px; line-height: 1.2; color: #fff; }
.dui-cta-frame h2 em { font-family: var(--dui-it); font-style: italic; font-weight: 300; }
.dui-cta-frame .dui-cta-sub { margin: 22px 0 40px; color: #fff; font-size: 21px; }
.dui-cta-frame .dui-cta-acts { gap: 32px; }
.dui-cta-div { width: 1px; height: 52px; background: #fff; }
.dui-cta-frame .dui-cta-acts p { text-align: left; font-size: 14px; }
.dui-cta-frame .dui-cta-acts p a { display: block; margin: 0; font-size: 20px; text-decoration: none; }
@media (max-width: 1099.98px) {
	.dui-cta-framed { padding: 0 0 72px; } .dui-cta-frame { height: auto; padding: 10px; } .dui-cta-frame-in { padding: 48px 20px; }
	.dui-cta-frame h2 { font-size: 28px; } .dui-cta-frame .dui-cta-sub { font-size: 17px; margin: 16px 0 28px; } .dui-cta-div { display: none; }
	.dui-cta-frame .dui-cta-acts { flex-direction: column; } .dui-cta-frame .dui-cta-acts p { text-align: center; }
}
.dui-days, .dui-day { color: var(--dui-earth); }
.dui-day h3 { font-family: var(--dui-head); font-weight: 500; color: var(--dui-earth); }
.dui-day-k { color: var(--dui-earth); }

/* ---------------------------------------------------------------- 19 hotel page (canvas: Hotel) */
.dui-cards-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 56px; }
.dui-room h3 { margin: 28px 0 0; font-family: var(--dui-head); font-weight: 500; font-size: 28px; line-height: 1.25; color: var(--dui-earth); }
.dui-room .dui-rule { margin: 20px 0 22px; }
.dui-room .dui-prose { font-size: 17px; }
@media (max-width: 1099.98px) { .dui-cards-2 { grid-template-columns: minmax(0, 1fr); gap: 48px; } .dui-room h3 { font-size: 23px; } }
.dui-detail-head { padding: 130px 0 0; text-align: center; }
.dui-detail-head .dui-tg-nav { margin-top: 32px; }
@media (max-width: 1099.98px) { .dui-detail-head { padding: 64px 0 0; text-align: left; } }

/* ---------------------------------------------------------------- 20 homepage (canvas: Home, Home-phone) */
.dui-hero-home { height: 900px; }
.dui-hero-home .dui-hero-c { bottom: 200px; }
.dui-hero-home .dui-hero-kicker { margin: 0 0 20px; font-size: 21px; font-weight: 300; }
.dui-hero-big { margin: 0; font-family: var(--dui-head); font-weight: 500; font-size: 84px; line-height: 1.02; color: #fff; }
.dui-hero-big em { font-family: var(--dui-it); font-style: italic; font-weight: 300; }
.dui-hero-ask { position: absolute; z-index: 2; left: 0; right: 0; bottom: 56px; padding: 0 22px; }
.dui-hero-ask p { margin: 0 0 14px; text-align: center; font-family: var(--dui-it); font-style: italic; font-size: 18px; color: #fff; }
.dui-ask { display: flex; max-width: 680px; margin: 0 auto; background: #fff; border: 1px solid var(--dui-line); }
.dui-ask input[type="search"] { flex: 1; min-width: 0; margin: 0; padding: 20px 22px; border: 0; background: transparent; font-family: var(--dui-body); font-weight: 300; font-size: 18px; color: var(--dui-earth); outline: none; -webkit-appearance: none; appearance: none; }
.dui-ask input::placeholder { color: var(--dui-earth); opacity: .7; }
.dui-ask input::-webkit-search-cancel-button, .dui-ask input::-webkit-search-decoration { -webkit-appearance: none; display: none; }
.dui-ask button { flex: 0 0 auto; width: 72px; display: flex; align-items: center; justify-content: center; border: 0; background: var(--dui-forest); color: #fff; cursor: pointer; }
.dui-ask button:hover, .dui-ask button:focus-visible { background: var(--dui-forest-d); }
.dui-ask:focus-within { box-shadow: 0 0 0 2px rgba(255,255,255,.6); }
@media (max-width: 1099.98px) {
	.dui-hero-home { height: 720px; }
	.dui-hero-home .dui-hero-c { bottom: 170px; }
	.dui-hero-home .dui-hero-kicker { font-size: 16px; margin-bottom: 12px; }
	.dui-hero-big { font-size: 46px; line-height: 1.05; }
	.dui-hero-ask { bottom: 28px; }
	.dui-hero-ask p { text-align: left; font-size: 16px; }
	.dui-ask input[type="search"] { padding: 16px; font-size: 16px; }
	.dui-ask button { width: 56px; }
}
.dui-home-intro { padding: 140px 0; }
.dui-home-intro h2 { max-width: 900px; margin: 0 auto; font-family: var(--dui-head); font-weight: 500; font-size: 40px; line-height: 1.3; color: var(--dui-earth); }
.dui-home-intro .dui-rule { margin: 30px auto 34px; }
.dui-home-intro .dui-prose { max-width: 860px; }
.dui-home-acts { display: flex; justify-content: center; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 40px; }
.dui-home-acts .dui-sec-all { text-decoration: none; border-bottom: 1px solid var(--dui-earth); padding-bottom: 2px; }
@media (max-width: 1099.98px) { .dui-home-intro { padding: 64px 0 72px; } .dui-home-intro h2 { font-size: 28px; } .dui-home-intro .dui-rule { margin: 22px 0 24px; } .dui-home-acts { justify-content: flex-start; } }
.dui-sec-center { text-align: center; margin-bottom: 64px; }
.dui-kicker { margin: 0 0 12px; font-family: var(--dui-it); font-style: italic; font-size: 18px; color: var(--dui-earth); }
@media (max-width: 1099.98px) { .dui-sec-center { text-align: left; margin-bottom: 28px; } }
/* signature journeys */
.dui-sigs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.dui-sig { display: block; text-decoration: none; color: var(--dui-earth); }
.dui-sig-img { position: relative; display: block; aspect-ratio: 455 / 573; overflow: hidden; background: #3F473D; }
.dui-sig-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.dui-sig:hover .dui-sig-img img { transform: scale(1.03); }
.dui-sig-over { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 92px 28px 28px; background: linear-gradient(180deg, rgba(41,49,40,0), rgba(41,49,40,.82)); color: #fff; }
.dui-sig-t { display: block; font-family: var(--dui-head); font-weight: 500; font-size: 30px; line-height: 1.15; color: #fff; }
.dui-sig-l { display: block; margin-top: 2px; font-family: var(--dui-it); font-style: italic; font-weight: 300; font-size: 28px; line-height: 1.2; color: #fff; }
.dui-sig-go { position: absolute; right: 24px; bottom: 24px; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; background: var(--dui-forest); color: #fff; }
.dui-sig-meta { display: block; margin-top: 14px; font-family: var(--dui-it); font-style: italic; font-size: 16px; }
/* explore destinations */
.dui-destgrid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; }
.dui-dest { display: flex; flex-direction: column; text-decoration: none; color: var(--dui-earth); }
.dui-destgrid > .dui-dest:first-child { grid-row: span 2; }
.dui-dest-img { flex: 1; display: block; min-height: 250px; overflow: hidden; background: #D6CDBF; }
.dui-destgrid > .dui-dest:first-child .dui-dest-img { min-height: 620px; }
.dui-destmore .dui-dest-img { flex: none; min-height: 0; aspect-ratio: 3 / 2; }
.dui-dest-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.dui-dest:hover .dui-dest-img img { transform: scale(1.03); }
.dui-dest-b { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--dui-earth); }
.dui-dest-t { font-family: var(--dui-head); font-weight: 500; font-size: 23px; }
.dui-destmore { margin-top: 40px; }
/* ways to travel */
.dui-ways { display: grid; gap: 24px; }
.dui-way { display: block; text-decoration: none; color: var(--dui-earth); }
.dui-way-img { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #D6CDBF; }
.dui-way-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.dui-way:hover .dui-way-img img { transform: scale(1.03); }
.dui-way-b { display: block; padding: 16px 0 12px; border-bottom: 1px solid var(--dui-earth); }
.dui-way-t { display: block; font-family: var(--dui-head); font-weight: 500; font-size: 22px; }
.dui-way-s { display: block; height: 44px; margin-top: 4px; overflow: hidden; font-family: var(--dui-it); font-style: italic; font-size: 15px; line-height: 22px; }
.dui-lead { margin: 0 0 20px; font-family: var(--dui-head); font-size: 24px; line-height: 1.4; color: var(--dui-earth); }
@media (max-width: 1099.98px) {
	.dui-sigs, .dui-ways { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -22px; padding: 0 22px 4px; }
	.dui-sigs::-webkit-scrollbar, .dui-ways::-webkit-scrollbar { display: none; }
	.dui-sigs > * { flex: 0 0 280px; scroll-snap-align: start; } .dui-ways > * { flex: 0 0 200px; scroll-snap-align: start; }
	.dui-sig-t { font-size: 24px; } .dui-sig-l { font-size: 22px; } .dui-sig-over { padding: 48px 76px 20px 20px; } .dui-sig-go { right: 16px; bottom: 16px; }
	.dui-destgrid { grid-template-columns: 1fr 1fr; gap: 14px; }
	.dui-destgrid > .dui-dest:first-child { grid-column: 1 / -1; grid-row: auto; } .dui-destgrid > .dui-dest:first-child .dui-dest-img { min-height: 260px; } .dui-dest-img { min-height: 150px; }
	.dui-dest-t { font-size: 18px; } .dui-lead { font-size: 20px; }
}

/* ---------------------------------------------------------------- 21 inspiration page (canvas: Honeymoons) */
.dui-anchors { position: sticky; top: var(--dui-bar-c); z-index: 60; background: var(--dui-tint); border-bottom: 1px solid var(--dui-line); }
.dui-anchors-in { display: flex; justify-content: safe center; gap: 12px 36px; overflow-x: auto; scrollbar-width: none; padding: 18px 0; }
.dui-anchors-in::-webkit-scrollbar { display: none; }
.dui-anchors a { flex: 0 0 auto; font-family: var(--dui-it); font-style: italic; font-size: 17px; color: var(--dui-earth); text-decoration: none; white-space: nowrap; border-bottom: 1px solid transparent; }
.dui-anchors a:hover, .dui-anchors a.is-current { border-bottom-color: var(--dui-earth); }
html.dui-away .dui-anchors { opacity: 0; visibility: hidden; }
@media (max-width: 1099.98px) { .dui-anchors { top: var(--dui-ph); } .dui-anchors .dui-wrap { padding: 0; } .dui-anchors-in { justify-content: flex-start; padding: 14px 22px; gap: 26px; } }
.dui-sec[id], .dui-intro[id] { scroll-margin-top: calc(var(--dui-bar-c) + 60px); }
.dui-pagesec .dui-g12 { align-items: center; }
.dui-flip .dui-pic { order: 2; }
@media (max-width: 1099.98px) { .dui-flip .dui-pic { order: 0; } }
.dui-side-k { margin: 0 0 14px; font-family: var(--dui-it); font-style: italic; font-size: 18px; }
.dui-picks { border-top: 1px solid var(--dui-line); }
.dui-pick { display: grid; grid-template-columns: 44px minmax(0, 1fr) 26px; align-items: center; gap: 8px; padding: 16px 0; border-bottom: 1px solid var(--dui-line); color: var(--dui-earth); text-decoration: none; }
.dui-pick-n { font-family: var(--dui-head); font-size: 22px; color: var(--dui-line); }
.dui-pick-t { font-family: var(--dui-head); font-size: 20px; }
.dui-pick:hover .dui-arrow { transform: translateX(4px); }
.dui-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 32px; }
.dui-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.dui-filter { padding: 9px 16px; border: 1px solid var(--dui-line); background: none; color: var(--dui-earth); font-family: var(--dui-body); font-size: 14px; cursor: pointer; }
.dui-filter:hover { border-color: var(--dui-earth); }
.dui-filter[aria-pressed="true"] { background: var(--dui-forest); border-color: var(--dui-forest); color: #fff; }
.dui-more-foot { display: flex; justify-content: center; margin-top: 48px; }
button.dui-btn { padding: 0; border: 0; background: none; }
.dui-card-kick { display: block; margin-bottom: 6px; font-family: var(--dui-it); font-style: italic; font-size: 16px; color: #fff; opacity: .9; }

/* ---------------------------------------------------------------- 22 editorial page (canvas: Editorial2, Editorial2-phone) */
.dui-hero-ed { height: 780px; }
.dui-hero-ed .dui-hero-h { max-width: 1000px; margin: 0 auto; font-size: 62px; line-height: 1.1; }
.dui-hero-ed .dui-hero-kicker { font-size: 19px; margin-bottom: 18px; }
.dui-hero-meta { margin: 28px 0 0; font-family: var(--dui-it); font-style: italic; font-size: 18px; color: #fff; }
.dui-hero-meta span { opacity: .6; margin: 0 10px; }
.dui-edgrid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; padding-top: 96px; padding-bottom: 0; }
.dui-ed { max-width: 780px; padding-right: 88px; border-right: 1px solid var(--dui-line); color: var(--dui-earth); }
.dui-ed-lead { font-family: var(--dui-body); font-weight: 300; font-size: 25px; line-height: 1.6; }
.dui-ed-lead p { margin: 0 0 .8em; }
.dui-ed-sec { margin-top: 72px; padding-top: 72px; border-top: 1px solid var(--dui-line); scroll-margin-top: calc(var(--dui-bar-c) + 32px); }
.dui-ed-sec h2 { margin: 0; font-family: var(--dui-head); font-weight: 500; font-size: 34px; line-height: 1.22; color: var(--dui-earth); }
.dui-ed-sec .dui-rule { margin: 24px 0 30px; }
.dui-ed .dui-prose { font-size: 19px; }
.dui-ed figure { margin: 44px 0 0; }
.dui-ed figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.dui-ed figcaption { margin-top: 10px; font-family: var(--dui-it); font-style: italic; font-size: 14px; }
.dui-ed-box { margin: 80px 0; padding: 44px 48px; background: var(--dui-tint); }
.dui-ed-box h2 { margin: 0 0 14px; font-family: var(--dui-head); font-weight: 500; font-size: 24px; color: var(--dui-earth); }
.dui-ed-box p { font-size: 18px; line-height: 1.75; }
.dui-ed-box.is-line { background: none; border: 1px solid var(--dui-line); }
.dui-ed-recs { margin: 80px 0; }
.dui-ed-recs > h2 { margin: 0 0 24px; font-family: var(--dui-head); font-weight: 500; font-size: 28px; color: var(--dui-earth); }
.dui-ed-recs-list { display: flex; flex-direction: column; gap: 20px; }
.dui-rec { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); border: 1px solid var(--dui-line); text-decoration: none; color: var(--dui-earth); }
.dui-rec-img { min-height: 200px; overflow: hidden; background: #D6CDBF; }
.dui-rec-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dui-rec-b { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; padding: 28px 32px; }
.dui-rec-k { display: block; margin: 0 0 6px; font-family: var(--dui-it); font-style: italic; font-size: 16px; }
.dui-rec-t { display: block; font-family: var(--dui-head); font-weight: 500; font-size: 24px; line-height: 1.3; }
.dui-rec-x { display: block; margin-top: 10px; font-family: var(--dui-body); font-weight: 300; font-size: 16px; line-height: 1.6; }
.dui-rec-f { display: flex; justify-content: space-between; align-items: center; padding-top: 16px; border-top: 1px solid var(--dui-earth); font-family: var(--dui-body); font-size: 17px; }
.dui-rec:hover .dui-arrow { transform: translateX(4px); }
.dui-ed-pn { display: flex; justify-content: space-between; gap: 24px; margin: 56px 0 0; padding-top: 28px; border-top: 1px solid var(--dui-line); }
.dui-ed-pn a { font-family: var(--dui-it); font-style: italic; font-size: 17px; color: var(--dui-earth); }
.dui-ed-side { padding-left: 48px; }
.dui-ed-side-in { position: sticky; top: calc(var(--dui-bar-c) + 34px); display: flex; flex-direction: column; gap: 52px; }
.dui-side-h { margin: 0 0 14px; font-family: var(--dui-it); font-style: italic; font-size: 17px; color: var(--dui-earth); }
.dui-toc { display: flex; flex-direction: column; gap: 12px; padding-left: 18px; border-left: 1px solid var(--dui-line); }
.dui-toc a { font-family: var(--dui-body); font-size: 15px; line-height: 1.45; color: var(--dui-earth); text-decoration: none; }
.dui-toc a:hover, .dui-toc a.is-current { text-decoration: underline; text-underline-offset: 3px; }
.dui-side-dest { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--dui-earth); color: var(--dui-earth); text-decoration: none; }
.dui-side-dest span { font-family: var(--dui-head); font-size: 22px; }
.dui-side-art { display: block; color: var(--dui-earth); text-decoration: none; }
.dui-side-art + .dui-side-art { margin-top: 26px; }
.dui-side-art-img { display: block; height: 160px; overflow: hidden; background: #D6CDBF; }
.dui-side-art-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dui-side-art-t { display: block; padding: 14px 0; border-bottom: 1px solid var(--dui-earth); font-family: var(--dui-head); font-weight: 500; font-size: 19px; line-height: 1.35; }
.dui-side-more { display: flex; flex-direction: column; gap: 10px; margin-top: 26px; }
.dui-side-more a { font-family: var(--dui-body); font-size: 15px; line-height: 1.45; color: var(--dui-earth); }
@media (max-width: 1099.98px) {
	.dui-hero-ed { height: 600px; } .dui-hero-ed .dui-hero-h { font-size: 34px; margin: 0; } .dui-hero-meta { font-size: 15px; margin-top: 16px; }
	.dui-edgrid { grid-template-columns: minmax(0, 1fr); padding-top: 40px; }
	.dui-ed { padding-right: 0; border-right: 0; max-width: none; }
	.dui-ed-lead { font-size: 20px; }
	.dui-ed-sec { margin-top: 48px; padding-top: 48px; } .dui-ed-sec h2 { font-size: 26px; } .dui-ed .dui-prose { font-size: 17px; }
	.dui-ed-box { margin: 48px 0; padding: 28px 22px; } .dui-ed-box .dui-btn { width: 100%; } .dui-ed-box .dui-btn .t { flex: 1; }
	.dui-rec { grid-template-columns: minmax(0, 1fr); } .dui-rec-img { min-height: 0; aspect-ratio: 3 / 2; } .dui-rec-b { padding: 20px; } .dui-rec-t { font-size: 20px; }
	.dui-ed-side { padding: 56px 0 0; } .dui-ed-side-in { position: static; }
	.dui-toc-phone { margin: 0 0 32px; border-top: 1px solid var(--dui-line); border-bottom: 1px solid var(--dui-line); }
	.dui-toc-phone summary { padding: 16px 0; font-family: var(--dui-it); font-style: italic; font-size: 17px; cursor: pointer; }
	.dui-toc-phone .dui-toc { margin-bottom: 18px; }
	.dui-ed-side .dui-side-toc { display: none; }
}
@media (min-width: 1100px) { .dui-toc-phone { display: none; } }
.dui-ed-box p { margin: 0 0 1em; }
.dui-ed-box .dui-btn { margin-top: 12px; }

/* ---------------------------------------------------------------- 23 country index pages (canvas: Index-tours/-hotels/-moments/-editorials) */
.dui-hero-index { height: 660px; }
.dui-hero-index .dui-hero-c { bottom: 92px; }
.dui-hero-index .dui-hero-h { font-size: 70px; line-height: 1.06; }
.dui-ix-intro { padding: 110px 0 100px; color: var(--dui-earth); }
.dui-ix-intro .dui-wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 64px; align-items: center; }
.dui-ix-intro .dui-prose { max-width: 820px; font-size: 24px; line-height: 1.6; }
.dui-ix .dnd-index-shell { padding: 120px 0; background: none; color: var(--dui-earth); }
.dui-ix .dnd-index-section--soft { background: var(--dui-tint); }
.dui-ix .dnd-index-section--tight, .dui-ix .dnd-index-list-section { padding: 0 0 120px; }
.dui-ix .dnd-index-tours-editorial-break, .dui-ix .dnd-index-section + .dnd-index-section:not(.dnd-index-section--soft) { border-top: 1px solid var(--dui-line); }
.dui-ix .dnd-index-container { width: auto; max-width: 1280px; margin: 0 auto; padding: 0 56px; box-sizing: border-box; } /* the page column (as .dui-wrap) */
.dui-ix .dnd-index-heading { margin: 0 0 56px; text-align: left; }
.dui-ix .dnd-index-section--soft .dnd-index-heading { text-align: center; }
.dui-ix .dnd-index-kicker { display: block; margin: 0 0 10px; font-family: var(--dui-it); font-style: italic; font-size: 18px; letter-spacing: 0; text-transform: none; color: var(--dui-earth); }
.dui-ix .dnd-index-heading h2 { margin: 0; font-family: var(--dui-head); font-weight: 500; font-size: 44px; line-height: 1.15; color: var(--dui-earth); }
.dui-ix .dnd-index-count { font-family: var(--dui-it); font-style: italic; font-size: 17px; }
.dui-ix .dnd-index-grid, .dui-ix .dnd-index-tour-grid, .dui-ix .dnd-index-featured-tour-grid, .dui-ix .dnd-index-moment-grid, .dui-ix .dnd-index-hotel-grid, .dui-ix .dnd-index-editorial-grid { display: grid; gap: 56px 32px; }
.dui-ix .dnd-index-tour-grid, .dui-ix .dnd-index-editorial-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dui-ix .dnd-index-featured-tour-grid, .dui-ix .dnd-index-moment-grid, .dui-ix .dnd-index-hotel-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dui-ix .dnd-index-featured-tour-grid { margin-top: 40px; }
.dui-ix .dnd-index-feature { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); border: 1px solid var(--dui-line); background: var(--dui-tint); }
.dui-ix .dnd-index-feature--reverse { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
.dui-ix .dnd-index-feature-media { display: block; min-height: 420px; overflow: hidden; background: #D6CDBF; }
.dui-ix .dnd-index-feature-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dui-ix .dnd-index-feature-content { display: flex; flex-direction: column; justify-content: center; padding: 48px 52px; }
.dui-ix .dnd-index-feature-title { margin: 0; font-family: var(--dui-head); font-weight: 500; font-size: 36px; line-height: 1.15; }
.dui-ix .dnd-index-feature .dnd-index-feature-title a { font-family: var(--dui-head); font-weight: 500; font-size: inherit; line-height: inherit; color: var(--dui-earth); text-decoration: none; }
.dui-ix .dnd-index-rule { width: 96px; height: 1px; margin: 22px 0; background: var(--dui-earth); }
.dui-ix .dnd-index-feature-excerpt { margin: 0 0 16px; font-family: var(--dui-body); font-weight: 300; font-size: 17px; line-height: 1.7; }
.dui-ix .dnd-index-feature-meta { margin: 0 0 6px; font-family: var(--dui-it); font-style: italic; font-size: 16px; }
.dui-ix .dnd-index-text-link { align-self: flex-start; margin-top: 10px; font-family: var(--dui-it); font-style: italic; font-size: 17px; color: var(--dui-earth); text-decoration: underline; text-underline-offset: 4px; }
.dui-ix .dnd-index-feature--compact .dnd-index-feature-media { min-height: 340px; }
.dui-mtile { position: relative; display: block; height: 380px; overflow: hidden; background: #3F473D; color: #fff; text-decoration: none; }
.dui-mtile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.dui-mtile:hover img { transform: scale(1.03); }
.dui-mtile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(41,49,40,0) 35%, rgba(41,49,40,.85)); }
.dui-mtile-b { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 26px 84px 26px 26px; }
.dui-mtile-t { display: block; font-family: var(--dui-head); font-weight: 500; font-size: 26px; line-height: 1.15; color: #fff; }
.dui-mtile-x { display: block; margin-top: 10px; font-family: var(--dui-body); font-weight: 300; font-size: 15px; line-height: 1.55; color: var(--dui-tint); }
.dui-mtile-go { position: absolute; z-index: 1; right: 0; bottom: 0; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; background: var(--dui-forest); }
@media (max-width: 1099.98px) {
	.dui-hero-index { height: 520px; } .dui-hero-index .dui-hero-h { font-size: 38px; } .dui-hero-index .dui-hero-c { bottom: 40px; }
	.dui-ix-intro { padding: 48px 0; } .dui-ix-intro .dui-wrap { grid-template-columns: minmax(0, 1fr); gap: 24px; } .dui-ix-intro .dui-prose { font-size: 19px; }
	.dui-ix-intro .dui-btn { width: 100%; } .dui-ix-intro .dui-btn .t { flex: 1; }
	.dui-ix .dnd-index-shell { padding: 64px 0; } .dui-ix .dnd-index-section--tight, .dui-ix .dnd-index-list-section { padding: 0 0 64px; }
	.dui-ix .dnd-index-container { padding: 0 22px; }
	.dui-ix .dnd-index-heading { margin-bottom: 28px; text-align: left !important; } .dui-ix .dnd-index-heading h2 { font-size: 30px; }
	.dui-ix .dnd-index-tour-grid, .dui-ix .dnd-index-editorial-grid, .dui-ix .dnd-index-featured-tour-grid, .dui-ix .dnd-index-moment-grid, .dui-ix .dnd-index-hotel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
	.dui-ix .dnd-index-feature, .dui-ix .dnd-index-feature--reverse { grid-template-columns: minmax(0, 1fr); }
	.dui-ix .dnd-index-feature-media { min-height: 240px; order: -1; } .dui-ix .dnd-index-feature-content { padding: 24px 20px; } .dui-ix .dnd-index-feature-title { font-size: 26px; }
	.dui-mtile { height: 320px; } .dui-mtile-t { font-size: 22px; }
}
@media (max-width: 639.98px) { .dui-ix .dnd-index-tour-grid, .dui-ix .dnd-index-editorial-grid, .dui-ix .dnd-index-featured-tour-grid, .dui-ix .dnd-index-moment-grid, .dui-ix .dnd-index-hotel-grid { grid-template-columns: minmax(0, 1fr); } }
.dui-ix .dnd-index-grid:not(.dnd-index-tour-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1099.98px) { .dui-ix .dnd-index-grid:not(.dnd-index-tour-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639.98px) { .dui-ix .dnd-index-grid:not(.dnd-index-tour-grid) { grid-template-columns: minmax(0, 1fr); } }
.dui-pager { display: flex; justify-content: center; gap: 8px; margin-top: 48px; font-family: var(--dui-body); }
.dui-pager a, .dui-pager span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--dui-line); color: var(--dui-earth); text-decoration: none; }
.dui-pager .current { background: var(--dui-forest); border-color: var(--dui-forest); color: #fff; }

/* ---------------------------------------------------------------- 24 destinations index (canvas: Destinations) */
.dui-worldmap { padding: 110px 0 60px; }
.dui-worldmap .dui-map { position: relative; aspect-ratio: 1250 / 751; overflow: hidden; background: var(--dui-forest); }
.dui-worldmap .dui-map img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.dui-worldmap .dui-map .dui-pin { position: absolute; transform: translate(-50%, -50%); white-space: nowrap; padding: 6px 14px; border: 1px solid rgba(255, 255, 255, .6); background: rgba(41, 49, 40, .6); color: #fff; font-family: var(--dui-head); font-size: 18px; line-height: 1.3; text-decoration: none; }
.dui-worldmap .dui-map .dui-pin:hover, .dui-worldmap .dui-map .dui-pin:focus-visible { background: var(--dui-tint); color: var(--dui-forest); }
.dui-az { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 36px; }
.dui-az-h { display: block; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px solid var(--dui-earth); font-family: var(--dui-head); font-size: 22px; color: var(--dui-earth); text-decoration: none; }
.dui-az-h span { font-family: var(--dui-it); font-style: italic; font-size: 15px; }
.dui-az ul { margin: 0; padding: 0; list-style: none; }
.dui-az li { margin: 0 0 8px; }
.dui-az li a { font-family: var(--dui-body); font-weight: 300; font-size: 16px; color: var(--dui-earth); text-decoration: none; }
.dui-az li a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1099.98px) {
	.dui-worldmap { padding: 48px 0 24px; }
	.dui-worldmap .dui-map .dui-pin { font-size: 12px; padding: 3px 8px; }
	.dui-az { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
}
.dui-edfilters { padding: 28px 0; background: var(--dui-tint); border-bottom: 1px solid var(--dui-line); }
.dui-edfilters .dui-filter { text-decoration: none; font-size: 15px; padding: 11px 18px; }
.dui-edfilters .dui-filter[aria-current] { background: var(--dui-forest); border-color: var(--dui-forest); color: #fff; }
.dui-cards-3.dui-cards .dui-card-ed.is-ruled .dui-card-img { height: 220px; }

/* ---------------------------------------------------------------- 25 moment page (canvas: Moment) */
.dui-side-cta { padding: 32px 30px; background: var(--dui-forest); color: #fff; }
.dui-side-cta-t { margin: 0 0 22px; font-family: var(--dui-head); font-size: 22px; line-height: 1.35; color: #fff; }
.dui-side-cta .dui-btn { width: 100%; } .dui-side-cta .dui-btn .t { flex: 1; }
.dui-side-tour { display: block; padding: 14px 0; border-bottom: 1px solid var(--dui-line); color: var(--dui-earth); text-decoration: none; }
.dui-side-tour-t { display: block; font-family: var(--dui-head); font-size: 17px; line-height: 1.35; }
.dui-side-tour-m { display: block; margin-top: 4px; font-family: var(--dui-it); font-style: italic; font-size: 14px; }
.dui-side-tour:hover .dui-side-tour-t { text-decoration: underline; text-underline-offset: 3px; }

/* ---------------------------------------------------------------- 26 About (canvas: About) */
.dui-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 28px; margin-top: 8px; }
.dui-team-m h3 { margin: 14px 0 2px; font-family: var(--dui-head); font-weight: 500; font-size: 21px; color: var(--dui-earth); }
.dui-team-m .dui-expert-role { font-size: 15px; margin: 0; }
.dui-about3 h3 { margin: 0 0 12px; padding-top: 26px; border-top: 1px solid var(--dui-earth); font-family: var(--dui-head); font-weight: 500; font-size: 26px; color: var(--dui-earth); }
.dui-video { position: relative; max-width: 1000px; margin: 0 auto; aspect-ratio: 16 / 9; overflow: hidden; background: #3F473D; }
.dui-video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dui-video-play { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; border: 0; background: rgba(41, 49, 40, .3); color: #fff; cursor: pointer; }
.dui-video-play span { width: 84px; height: 84px; display: flex; align-items: center; justify-content: center; border: 1px solid #fff; border-radius: 50%; font-size: 24px; padding-left: 4px; }
.dui-video-play em { font-family: var(--dui-it); font-size: 16px; }
.dui-video-play:hover span, .dui-video-play:focus-visible span { background: rgba(255, 255, 255, .15); }
@media (max-width: 1099.98px) { .dui-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; } }

/* ---------------------------------------------------------------- 27 pages without a picture (canvas: Legal, Thanks, Newsletter-thanks, NotFound) */
.dui-band-top { padding: calc(var(--dui-strip) + var(--dui-bar) + 110px) 0 110px; background: var(--dui-forest); color: #fff; }
.dui-band-top h1 { margin: 0; max-width: 1000px; font-family: var(--dui-head); font-weight: 500; font-size: 64px; line-height: 1.05; color: #fff; }
.dui-band-crumbs { margin: 0 0 22px; font-family: var(--dui-it); font-style: italic; font-size: 15px; color: #fff; }
.dui-band-crumbs a, .dui-band-crumbs span { color: #fff; text-decoration: none; }
.dui-band-crumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.dui-band-sub { margin: 22px 0 0; max-width: 760px; font-family: var(--dui-it); font-style: italic; font-size: 22px; color: var(--dui-line-2); }
.dui-thanks { font-size: 19px; }
.dui-thanks > p:first-child { font-size: 26px; line-height: 1.55; }
.dui-call-big { display: block; font-family: var(--dui-head); font-size: 30px; color: #fff; text-decoration: none; }
.dui-call-big:hover { text-decoration: underline; text-underline-offset: 4px; }
.dui-legal { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 64px; padding-top: 110px; padding-bottom: 120px; }
.dui-legal-text { max-width: 760px; font-size: 18px; line-height: 1.8; }
.dui-legal-text h2 { margin: 48px 0 18px; font-size: 32px; } .dui-legal-text h3 { margin: 28px 0 12px; font-size: 22px; }
.dui-legal-text h2:first-child { margin-top: 0; }
.dui-legal-text h2, .dui-legal-text h3 { scroll-margin-top: calc(var(--dui-bar-c) + 32px); }
.dui-toc a.is-sub { padding-left: 14px; font-size: 14px; }
.dui-ask-line { max-width: none; border-color: var(--dui-earth); }
.dui-ask-line button { width: auto; padding: 0 28px; font-family: var(--dui-body); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
.dui-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.dui-chips a { padding: 10px 16px; border: 1px solid var(--dui-earth); font-family: var(--dui-body); font-size: 15px; color: var(--dui-earth); text-decoration: none; }
.dui-chips a:hover { background: var(--dui-earth); color: #fff; }
.dui-chips-plain a { border-color: var(--dui-line); font-family: var(--dui-it); font-style: italic; }
@media (max-width: 1099.98px) {
	.dui-band-top { padding: calc(var(--dui-ph) + 48px) 0 48px; } .dui-band-top h1 { font-size: 38px; }
	.dui-band-crumbs { font-size: 13px; margin-bottom: 14px; }
	.dui-legal { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-top: 48px; padding-bottom: 64px; }
	.dui-legal-side .dui-sticky { position: static; } .dui-legal-text { font-size: 17px; }
	.dui-thanks > p:first-child { font-size: 21px; }
}
/* On the dark top band the header's button is the light one until the header compacts. */
body.dui-on-band .dui-chrome:not(.is-compact) .dui-hdr [data-dui-quote] .t { background: var(--dui-tint); color: var(--dui-forest); }
body.dui-on-band .dui-chrome:not(.is-compact) .dui-hdr [data-dui-quote] .a { background: var(--dui-line); color: var(--dui-forest); }
body.dui-on-band .dui-chrome:not(.is-compact) .dui-hdr [data-dui-quote]:hover .t { background: #fff; }

/* ---------------------------------------------------------------- 28 destinations index, 2.2.1 (intro with recommended reading; nested A to Z) */
.dui-dx-intro { padding: 110px 0 40px; }
.dui-dx-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 72px; align-items: start; }
.dui-dx-grid.is-single { grid-template-columns: minmax(0, 860px); }
.dui-readcard { display: block; border: 1px solid var(--dui-line); color: var(--dui-earth); text-decoration: none; background: var(--dui-tint); }
.dui-readcard-img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #D6CDBF; }
.dui-readcard-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dui-readcard-b { display: block; padding: 22px 24px 24px; }
.dui-readcard-b strong { display: block; font-family: var(--dui-head); font-weight: 500; font-size: 21px; line-height: 1.3; }
.dui-readcard-b span { display: block; margin-top: 10px; font-family: var(--dui-body); font-weight: 300; font-size: 15px; line-height: 1.6; }
.dui-readcard-b em { display: inline-block; margin-top: 14px; font-family: var(--dui-it); font-size: 16px; text-decoration: underline; text-underline-offset: 3px; }
.dui-az li.is-in { margin: 6px 0 0; padding-left: 14px; border-left: 1px solid var(--dui-line); }
.dui-az li.is-in a { font-size: 15px; font-style: italic; font-family: var(--dui-it); }
.dui-az ul ul { margin: 4px 0 6px; }
@media (max-width: 1099.98px) { .dui-dx-intro { padding: 48px 0 24px; } .dui-dx-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; } }
.dui-filter-n { margin-left: 4px; font-family: var(--dui-it); font-style: italic; font-size: 13px; opacity: .75; }

/* ---------------------------------------------------------------- 29 search results (as OOO 3.57: destination card, then results by type) */
.dui-search-top .dui-ask { max-width: 680px; margin: 34px 0 0; } /* in line with the title */
.dui-search-top h1 { font-size: 56px; }
.dui-filters-row { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; justify-content: safe center; }
.dui-filters-row::-webkit-scrollbar { display: none; }
.dui-filters-row .dui-filter { flex: 0 0 auto; }
.dui-search-note { margin: 40px 0 0; font-family: var(--dui-it); font-style: italic; font-size: 18px; color: var(--dui-earth); }
.dui-search-dest { padding-top: 64px; }
.dui-search-group { padding: 72px 0; }
.dui-search-group + .dui-search-group { border-top: 1px solid var(--dui-line); }
.dui-ways-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* the destination card (template-parts/search-destination.php), restyled for the redesign */
.dnd-sdest-sec { margin: 0; }
.dnd-sdest { position: relative; min-height: 420px; display: flex; align-items: flex-end; overflow: hidden; background: var(--dui-forest); color: #fff; }
.dnd-sdest-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dnd-sdest-veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(41,49,40,.1) 20%, rgba(41,49,40,.85)); }
.dnd-sdest-c { position: relative; z-index: 1; max-width: 820px; padding: 44px 48px; }
.dnd-sdest-lbl { margin: 0 0 10px; font-family: var(--dui-it); font-style: italic; font-size: 17px; color: var(--dui-line-2); }
.dnd-sdest-lbl a { color: inherit; }
.dnd-sdest-h { margin: 0; font-family: var(--dui-head); font-weight: 500; font-size: 48px; line-height: 1.1; color: #fff; }
.dnd-sdest-h a { color: #fff; text-decoration: none; }
.dnd-sdest-p { margin: 16px 0 0; font-family: var(--dui-body); font-weight: 300; font-size: 17px; line-height: 1.7; color: #fff; }
.dnd-sdest-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-top: 26px; }
.dnd-sdest-go { display: inline-flex; align-items: center; height: 46px; padding: 0 22px; background: var(--dui-tint); color: var(--dui-forest); font-family: var(--dui-body); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.dnd-sdest-chip { display: inline-flex; align-items: center; height: 46px; padding: 0 18px; border: 1px solid rgba(255,255,255,.6); color: #fff; font-family: var(--dui-body); font-size: 15px; text-decoration: none; }
.dnd-sdest-chip:hover, .dnd-sdest-go:hover { background: #fff; color: var(--dui-forest); }
.dnd-sdest-more { margin: 16px 0 0; font-family: var(--dui-it); font-style: italic; font-size: 16px; color: var(--dui-earth); }
.dnd-sdest-more a { color: inherit; }
@media (max-width: 1099.98px) {
	.dui-search-top h1 { font-size: 36px; } .dui-filters-row { justify-content: flex-start; }
	.dui-search-dest { padding-top: 36px; } .dui-search-group { padding: 48px 0; }
	.dnd-sdest { min-height: 0; flex-direction: column; align-items: stretch; background: var(--dui-forest); }
	.dnd-sdest-img { position: static; height: 220px; } .dnd-sdest-veil { display: none; }
	.dnd-sdest-c { padding: 24px 20px; } .dnd-sdest-h { font-size: 32px; }
	.dui-ways-4 { display: flex; gap: 14px; overflow-x: auto; scrollbar-width: none; margin: 0 -22px; padding: 0 22px 4px; }
}

/* 2.2.1: the destinations introduction and search, centred and larger */
.dui-dx-intro { text-align: center; }
.dui-dx-copy { max-width: 860px; margin: 0 auto; font-size: 21px; line-height: 1.75; }
.dui-dx-ask-k { margin: 44px 0 16px; font-size: 20px; }
.dui-ask-big { max-width: 820px; margin: 0 auto; border-color: var(--dui-earth); }
.dui-ask-big input[type="search"] { padding: 26px 28px; font-size: 21px; }
.dui-ask-big button { width: auto; padding: 0 36px; font-family: var(--dui-body); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; }
@media (max-width: 1099.98px) { .dui-dx-intro { text-align: left; } .dui-dx-ask-k { margin: 28px 0 12px; } .dui-ask-big input[type="search"] { padding: 18px; font-size: 17px; } .dui-ask-big button { padding: 0 18px; } }

/* 2.2.2 (audit F18): a visible focus ring on every search box, on light and dark grounds; placeholders at 4.5:1 or better. */
.dui-ask:focus-within { outline: 2px solid var(--dui-forest); outline-offset: 3px; box-shadow: none; }
.dui-hero .dui-ask:focus-within, .dui-band-top .dui-ask:focus-within, .dui-hdr .dui-ask:focus-within { outline-color: #fff; }
.dui-ask input::placeholder { color: var(--dui-earth); opacity: .92; }
/* About: specialists and founders hidden for paid-ad visits (decided in the browser, audit F09). */
html.dnd-paid [data-dnd-paid-hide] { display: none; }


/* ================================================================ 2.2.5: staging review (7 October 2026)
   The live site's quieter type scale (Ink Well, from the "DND Web Desktop v4"
   design): page titles ~56px, section headings ~32px, regular weight. */
.dui-hero h1, .dui-hero .dui-hero-h, .dui-hero-left .dui-hero-h, .dui-band-top h1 { font-size: clamp(34px, 3.6vw, 56px); font-weight: 400; line-height: 1.1; }
.dui-hero-big { font-size: clamp(36px, 3.7vw, 58px); font-weight: 400; line-height: 1.08; }
.dui-hero-ed .dui-hero-h, .dui-hero-index .dui-hero-h { font-size: clamp(32px, 3.2vw, 50px); font-weight: 400; }
.dui-hero-sub { font-size: 19px; }
.dui-hero .dui-hero-c { text-shadow: 0 1px 18px rgba(0, 0, 0, .35); }
.dui-sec h2, .dui-h2, .dui-reviews h2, #ts-journey.dui-steps h2, .dui-formband h2, .dui-ix .dnd-index-heading h2, .dui-tg-head h2, .dui-days-head h2 { font-size: 32px; font-weight: 400; line-height: 1.2; }
.dui-cta h2, .dui-cta-frame h2 { font-size: 34px; font-weight: 400; }
.dui-home-intro h2 { font-size: 28px; font-weight: 400; }
.dui-tg h3, .dui-day h3, .dui-ed-sec h2 { font-size: 26px; font-weight: 400; }
.dui-ix .dnd-index-feature-title { font-size: 28px; font-weight: 400; }
.dui-room h3, .dui-about3 h3 { font-size: 22px; font-weight: 400; }
.dui-sig-t { font-size: 24px; font-weight: 400; } .dui-sig-l { font-size: 20px; }
.dui-mtile-t, .dui-card-moment .dui-card-t { font-size: 21px; font-weight: 400; }
.dui-tagline, .dui-band p { font-size: 24px; }
.dui-intro-lead .dui-prose { font-size: 21px; }
.dui-rv-big blockquote { font-size: 26px; } .dui-rv-mark { font-size: 80px; }
#ts-journey.dui-steps .dui-step-n { font-size: 30px; } #ts-journey.dui-steps .dui-step h3 { font-size: 20px; font-weight: 400; }
.dui-formband-call a { font-size: 22px; }
.dui-thanks > p:first-child { font-size: 21px; }
.dui-dx-copy { font-size: 19px; }
/* Headings written inside page text (About columns, editorials, inspiration): calm, and inside their column. */
.dui-prose h2 { font-size: 24px; font-weight: 400; line-height: 1.3; }
.dui-prose h3, .dui-prose h4 { font-size: 20px; font-weight: 400; line-height: 1.35; }
.dui-sec .dui-prose h2 { font-size: 24px; }
.dui-prose h2, .dui-prose h3, .dui-prose h4, .dui-about3 { min-width: 0; overflow-wrap: break-word; }
.dui-about3 .dui-prose h2, .dui-about3 .dui-prose h3, .dui-about3 .dui-prose h4 { margin: 0 0 12px; font-size: 19px; }
.dui-about3 .dui-prose strong, .dui-prose h2 strong, .dui-prose h3 strong { font-weight: 500; }
.dui-cards > * { min-width: 0; }
@media (max-width: 1099.98px) {
	.dui-sec h2, .dui-h2, .dui-reviews h2, #ts-journey.dui-steps h2, .dui-formband h2, .dui-ix .dnd-index-heading h2, .dui-tg-head h2, .dui-days-head h2 { font-size: 26px; }
	.dui-cta h2, .dui-cta-frame h2 { font-size: 26px; }
	.dui-tg h3, .dui-day h3, .dui-ed-sec h2 { font-size: 22px; }
	.dui-home-intro h2 { font-size: 22px; }
}

/* Heroes: lower, and the words sit on a darker fade so they read. */
.dui-hero { height: 600px; min-height: 480px; }
.dui-hero-tall { height: 680px; }
.dui-hero-mid { height: 520px; }
.dui-hero-tour { height: 600px; }
.dui-hero-home { height: 740px; }
.dui-hero-index { height: 520px; }
.dui-hero::after { background: linear-gradient(to bottom, rgba(0,0,0,.40) 0%, rgba(0,0,0,.08) 30%, rgba(0,0,0,.14) 50%, rgba(0,0,0,.64) 100%); }
@media (max-width: 1099.98px) { .dui-hero, .dui-hero-tall, .dui-hero-mid, .dui-hero-tour, .dui-hero-ed, .dui-hero-index { height: 520px; } .dui-hero-home { height: 640px; } }

/* Destinations A to Z: continents flow in columns (no hole under the short lists). */
.dui-az { display: block; column-count: 4; column-gap: 48px; }
.dui-az-col { display: inline-block; width: 100%; margin: 0 0 40px; break-inside: avoid; }
.dui-az-h { font-size: 20px; white-space: nowrap; }
@media (max-width: 1099.98px) { .dui-az { column-count: 2; column-gap: 24px; } }

/* Five reasons (homepage, About): wider, with titles that fit on one line. */
.dui-trust-five .dui-trust-in { max-width: 1560px; }
.dui-trust-five .dui-trust-t { font-size: 17px; white-space: nowrap; }
.dui-trust-five .dui-trust-d { font-size: 14px; }
@media (max-width: 1299.98px) { .dui-trust-five .dui-trust-t { white-space: normal; } }

/* The closing band: room around it, and this page's picture behind it. */
.dui-cta-framed { padding: 110px 0 140px; }
.dui-sec-tint + .dui-cta-framed, .dui-sec-tint + * + .dui-cta-framed { margin-top: 0; }
@media (max-width: 1099.98px) { .dui-cta-framed { padding: 56px 0 72px; } }

/* Moments: the words appear over the picture on hover (as on the live site), none below. */
.dui-card-moment .dui-card-img { position: relative; }
.dui-card-hover { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; padding: 28px; background: rgba(41, 49, 40, .82); color: #fff; font-family: var(--dui-body); font-weight: 300; font-size: 15px; line-height: 1.6; opacity: 0; transition: opacity .25s ease; }
.dui-card-moment:hover .dui-card-hover, .dui-card-moment:focus-visible .dui-card-hover { opacity: 1; }
@media (hover: none) { .dui-card-hover { display: none; } }
.dui-card-moment .dui-card-ex { display: none; }

/* Destinations: equal tiles in balanced rows (--cols set by the template). */
.dui-destgrid { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px 24px; grid-template-columns: none; grid-template-rows: none; }
.dui-destgrid > .dui-dest { flex: 0 0 calc((100% - (var(--cols, 3) - 1) * 24px) / var(--cols, 3)); min-width: 0; grid-row: auto !important; grid-column: auto !important; }
.dui-destgrid .dui-dest-img { aspect-ratio: 4 / 3; height: auto !important; }
.dui-destgrid .dui-dest-img img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1099.98px) { .dui-destgrid > .dui-dest { flex-basis: calc(50% - 8px); } .dui-destgrid { gap: 20px 16px; } }

/* Footer: the email beside the phone (as OOO). */
.dui-footer .dui-fmail { display: block; margin: -12px 0 22px; font-family: var(--dui-body); font-weight: 300; font-size: 16px; color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* Tour facts: the tailor-made explainer. */
.dui-tm-q { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-left: 6px; padding: 0; border: 1px solid currentColor; border-radius: 50%; background: none; color: inherit; font-family: var(--dui-body); font-style: normal; font-size: 12px; line-height: 1; cursor: pointer; vertical-align: 1px; }
.dui-tm-q:hover, .dui-tm-q[aria-expanded="true"] { background: var(--dui-forest); border-color: var(--dui-forest); color: #fff; }
.dui-tm-note { position: relative; z-index: 3; max-width: 460px; margin: 12px 0 0; padding: 18px 22px; background: var(--dui-forest); color: #fff; font-family: var(--dui-body); font-weight: 300; font-size: 15px; line-height: 1.6; box-shadow: 0 16px 40px rgba(0,0,0,.18); }
.dui-tm-note strong { font-weight: 500; }


/* ================================================================ 2.2.5: the brand guide (September 2025)
   Ivy Epic: headings, titles, feature lines (Medium for headings, Regular for
   sub-headings, Light Italic for emphasis inside a heading). Haboro Soft: body
   (Book), CTAs in Haboro Soft Ext Demi caps with tracking. Haboro Serif:
   small italic subtitles and local links (Ext Medium Italic). */
.dui-hero h1, .dui-hero .dui-hero-h, .dui-hero-left .dui-hero-h, .dui-band-top h1 { font-size: clamp(34px, 3.4vw, 52px); font-weight: 500; }
.dui-hero-big { font-size: clamp(36px, 3.5vw, 54px); font-weight: 500; }
.dui-sec h2, .dui-h2, .dui-reviews h2, #ts-journey.dui-steps h2, .dui-formband h2, .dui-ix .dnd-index-heading h2, .dui-tg-head h2, .dui-days-head h2 { font-size: 30px; font-weight: 500; }
.dui-cta h2, .dui-cta-frame h2, .dui-home-intro h2 { font-weight: 500; }
/* Emphasis inside headings: Ivy Epic Light Italic (not the serif). */
.dui-hero-big em, .dui-hero-h em, .dui-hero h1 em, .dui-band-top h1 em, .dui-cta h2 em, .dui-cta-frame h2 em, .dui-tagline em, .dui-sec h2 em, .dui-home-intro h2 em, .dui-reviews h2 em, .dui-formband h2 em, .dui-sig-l { font-family: var(--dui-head); font-style: italic; font-weight: 300; }
/* Signature journeys (XD): the place in Ivy Epic Medium, the line in Ivy Epic Light Italic, the same size. */
.dui-sig-t { font-size: 26px; font-weight: 500; line-height: 1.2; }
.dui-sig-l { font-size: 26px; line-height: 1.2; margin-top: 0; }
.dui-sig-meta { display: none; }
@media (max-width: 1099.98px) { .dui-sig-t, .dui-sig-l { font-size: 21px; } .dui-sec h2, .dui-h2, .dui-reviews h2, #ts-journey.dui-steps h2, .dui-formband h2 { font-size: 25px; } }
/* CTAs: Haboro Soft Ext Demi, caps, tracked. */
.dui-btn .t, .dnd-sdest-go, .dui-bar-r .dui-btn .t { font-family: var(--dui-cta); font-weight: 400; letter-spacing: .12em; /* the kit's weight live uses; Demi (600) once confirmed in the kit */ text-transform: uppercase; }
.dui-btn .t { font-size: 12.5px; }
/* Small italic subtitles and local links: Haboro Serif (Ext) Medium Italic. */
.dui-kicker, .dui-hero-kicker, .dui-sec-all, .dui-side-h, .dui-dx-ask-k, .dui-band-crumbs, .dui-crumbs { font-family: var(--dui-it); font-style: italic; font-weight: 400; }

/* Header: the menu always clears the logo (live: a wide bar, a centred logo, space either side). */
.dui-hdr .dui-wrap, .dui-strip .dui-wrap { max-width: 1440px; padding: 0 48px; }
.dui-bar { gap: 48px; }
.dui-nav { gap: 28px; }
.dui-nav-a { font-size: 15px; letter-spacing: .01em; }
@media (max-width: 1279.98px) { .dui-nav { gap: 22px; } .dui-nav-a { font-size: 14.5px; } .dui-hdr .dui-logo { width: 210px; } }
@media (max-width: 1199.98px) { .dui-nav { gap: 18px; } .dui-nav-a { font-size: 14px; } .dui-hdr .dui-logo { width: 190px; } .dui-bar { gap: 32px; } }

/* 2.2.5 follow-ups: square-cornered 4:3 destination tiles; A to Z as blocks so columns balance; the moment title gives way to its words on hover. */
.dui-destgrid .dui-dest-img { flex: 0 0 auto; min-height: 0; aspect-ratio: 4 / 3; }
.dui-destgrid .dui-dest-t { font-size: 20px; }
.dui-az-col { display: block; }
.dui-card-moment .dui-card-over { transition: opacity .25s ease; }
.dui-card-moment:hover .dui-card-over, .dui-card-moment:focus-visible .dui-card-over { opacity: 0; }
@media (hover: none) { .dui-card-moment:hover .dui-card-over { opacity: 1; } }
.dui-destgrid > .dui-dest:nth-child(n) .dui-dest-img { flex: 0 0 auto; min-height: 0 !important; height: auto !important; aspect-ratio: 4 / 3; } /* the first tile too: one size for all */


/* ================================================================ 2.2.7: Darren's staging review (8 October 2026) */
/* Sub-menu: one Request a quote on screen (the header's); Regions opens on hover too. */
.dui-sn-quote { display: none !important; }
@media (hover: hover) and (pointer: fine) {
	/* 2.2.9: hover is handled in dnd-ui.js, which places the menu under its button */
}
/* Rows of three: more room for tours and editorials (index pages too). */
@media (min-width: 1100px) {
	.dui-cards-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dui-cards-4 > .dui-card-ed:nth-child(n+4) { display: none; }
	.dui-ix .dnd-index-grid, .dui-ix .dnd-index-card-grid, .dui-ix .dnd-index-editorial-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
/* Hotel cards: names line up whether or not a place is shown. */
.dui-card-hotel .dui-card-body { align-items: flex-start; }
.dui-card-hotel .dui-card-body svg { margin-top: 6px; }
/* No full-width rules between sections. */
.dui-sec-line { border-top: 0; }
.dui-search-group + .dui-search-group { border-top: 0; }
/* Planning a trip: an accordion beside one picture (as OOO). */
.dui-plan { padding: 100px 0; }
.dui-plan-l h2 { margin: 0; }
.dui-plan-l .dui-frame { margin-top: 32px; }
.dui-plan-i { border-top: 1px solid var(--dui-line); }
.dui-plan-i:last-child { border-bottom: 1px solid var(--dui-line); }
.dui-plan-i summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; cursor: pointer; list-style: none; }
.dui-plan-i summary::-webkit-details-marker { display: none; }
.dui-plan-t { font-family: var(--dui-head); font-weight: 400; font-size: 22px; color: var(--dui-earth); }
.dui-plan-x { position: relative; flex: 0 0 16px; height: 16px; }
.dui-plan-x::before, .dui-plan-x::after { content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 1.5px; background: var(--dui-earth); transition: transform .2s ease; }
.dui-plan-x::after { transform: rotate(90deg); }
.dui-plan-i[open] .dui-plan-x::after { transform: rotate(0); }
.dui-plan-b { padding: 0 0 28px; }
.dui-plan-b .dui-prose { font-size: 17px; }
@media (max-width: 1099.98px) { .dui-plan { padding: 56px 0; } .dui-plan-t { font-size: 19px; } }
/* Experts: compact, always three. */
.dui-experts-c .dui-g12 { align-items: start; }
.dui-experts-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.dui-expert-sm h3 { margin: 14px 0 2px; font-family: var(--dui-head); font-weight: 400; font-size: 19px; color: var(--dui-earth); }
.dui-expert-sm .dui-expert-role { margin: 0; font-size: 14px; }
@media (max-width: 1099.98px) { .dui-experts-row { gap: 12px; margin-top: 28px; } .dui-expert-sm h3 { font-size: 16px; } }
/* Enquiry: who replies (instead of three steps); budget choices on one line. */
.dui-formband-people { margin-top: 36px; }
.dui-faces { display: flex; }
.dui-face { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 2px solid var(--dui-forest); margin-right: -10px; }
.dui-faces-p { margin: 18px 0 6px; font-family: var(--dui-body); font-weight: 300; font-size: 16px; line-height: 1.6; color: #fff; max-width: 360px; }
.dui-faces-n { margin: 0; font-family: var(--dui-it); font-style: italic; font-size: 15px; color: var(--dui-line-2); }
.dui-formband-steps { display: none; }
@media (min-width: 1100px) {
	.dnd-eform .chips .wpcf7-radio, .dnd-eform .wpcf7-radio.chips { display: grid !important; grid-template-columns: repeat(5, auto); justify-content: start; gap: 6px; } /* 2.2.8: the list of choices, never its wrapper */
	.dnd-eform .chips .wpcf7-list-item-label { padding-left: 12px !important; padding-right: 12px !important; font-size: 13px !important; white-space: nowrap; text-align: center; }
}
/* Heroes: breadcrumbs readable; on phones the picture shows (title and one button only). */
.dui-hero .dui-crumbs, .dui-hero .dui-crumbs a { text-shadow: 0 1px 10px rgba(0, 0, 0, .55); }
.dui-hero::after { background: linear-gradient(to bottom, rgba(0,0,0,.50) 0%, rgba(0,0,0,.10) 28%, rgba(0,0,0,.12) 50%, rgba(0,0,0,.62) 100%); }
@media (max-width: 1099.98px) {
	.dui-hero .dui-crumbs, .dui-hero-sub, .dui-hero-link { display: none; }
	.dui-hero .dui-hero-h { font-size: 30px; }
	.dui-hero-kicker { font-size: 14px; }
}
/* Menus: room under the header line. */
.dui-mega .dui-mega-in { padding-top: 52px !important; padding-bottom: 28px !important; }
/* Jump links: wrap, never cut off. */
@media (min-width: 1100px) { .dui-anchors-in { flex-wrap: wrap; justify-content: center; overflow: visible; row-gap: 8px; } }
/* Moments on index pages: title only; the words on hover. */
.dui-mtile-x { opacity: 0; max-height: 0; overflow: hidden; transition: opacity .25s ease, max-height .25s ease; }
.dui-mtile:hover .dui-mtile-x, .dui-mtile:focus-visible .dui-mtile-x { opacity: 1; max-height: 12em; }
@media (hover: none) { .dui-mtile-x { display: none; } }
/* Editorial cards: whole titles. */
.dui-card-ed.is-ruled .dui-card-t { height: auto; display: block; overflow: visible; -webkit-line-clamp: unset; }
/* Feature panels: whole lines only. */
.dui-ix .dnd-index-feature-excerpt { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; max-height: none; }
/* Founders: smaller pictures beside their words. */
.dui-founders { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 56px; max-width: 1100px; }
.dui-founders .dui-expert { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 28px; align-items: start; }
.dui-founders .dui-expert > .dui-frame { grid-row: span 3; }
.dui-founders .dui-expert h3 { margin-top: 0; }
@media (max-width: 1099.98px) { .dui-founders { grid-template-columns: minmax(0, 1fr); } .dui-founders .dui-expert { grid-template-columns: 110px minmax(0, 1fr); gap: 16px; } }
/* Closing band: this page's picture behind it, with parallax on desktop. */
.dui-cta-photo { position: relative; background-size: cover; background-position: center; }
.dui-cta-photo::before { content: ""; position: absolute; inset: 0; background: rgba(41, 49, 40, .74); }
.dui-cta-photo > * { position: relative; }
@media (min-width: 1100px) and (hover: hover) { .dui-cta-photo { background-attachment: fixed; } }

/* 2.2.8: left-aligned heroes keep their button under the title. */
.dui-hero-left .dui-hero-acts { justify-content: flex-start; }
/* 2.2.8: editorials pages: a search and the places inside the country. */
.dui-ed-filter { padding: 48px 0 8px; }
.dui-ed-search { display: flex; max-width: 620px; margin: 0 auto 22px; border: 1px solid var(--dui-earth); background: #fff; }
.dui-ed-search input[type="search"] { flex: 1; min-width: 0; padding: 15px 18px; border: 0; background: transparent; font-family: var(--dui-body); font-weight: 300; font-size: 17px; color: var(--dui-earth); }
.dui-ed-search input::placeholder { color: var(--dui-earth); opacity: .8; }
.dui-ed-search button { padding: 0 24px; border: 0; background: var(--dui-forest); color: #fff; font-family: var(--dui-cta); font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.dui-ed-places { justify-content: center; flex-wrap: wrap; gap: 8px; }
.dui-ed-places .dui-filter { text-decoration: none; }
.dui-ed-places .dui-filter[aria-current] { background: var(--dui-forest); border-color: var(--dui-forest); color: #fff; }
.dui-ed-result-h { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin: 0 0 28px; }
.dui-ed-result-h h2 { margin: 0; font-size: 26px; }


/* ================================================================ 2.2.9: one design, applied everywhere */
/* Hero: the picture starts under a solid header (as OOO); readable breadcrumbs; the year line. */
.dui-hero .dui-crumbs, .dui-hero .dui-crumbs a, .dui-hero .dui-crumbs span { text-shadow: 0 1px 3px rgba(0,0,0,.55), 0 0 18px rgba(0,0,0,.45); }
.dui-hero-left .dui-hero-kicker { font-family: var(--dui-it); font-style: italic; font-size: 18px; margin-bottom: 12px; text-shadow: 0 1px 12px rgba(0,0,0,.45); }
.dui-hero-left .dui-hero-sub { max-width: 640px; margin: 14px 0 0; font-family: var(--dui-it); font-style: italic; font-size: 19px; line-height: 1.5; text-shadow: 0 1px 12px rgba(0,0,0,.45); }
.dui-hero-ctarow { padding: 22px 0; background: var(--dui-beach); }
.dui-hero-ctarow .dui-wrap { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.dui-hero-link2 { font-family: var(--dui-it); font-style: italic; font-size: 17px; color: var(--dui-earth); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1099.98px) { .dui-hero-ctarow { padding: 16px 0; } .dui-hero-left .dui-hero-sub { display: none; } }
/* Tour: the button beside the facts. */
.dui-facts-cta { display: flex; align-items: center; margin-top: 18px; }
/* Section headings: one line, "View all" as a forest button, clear arrows. */
@media (min-width: 1100px) {
	.dui-sec-head { flex-wrap: nowrap; align-items: flex-end; }
	.dui-sec-head > h2, .dui-sec-head > div:first-child { flex: 1 1 auto; min-width: 0; }
	.dui-sec-head > :last-child:not(:first-child) { flex: 0 0 auto; display: flex; align-items: center; gap: 16px; }
}
.dui-sec-head .dui-sec-all, .dui-ed-result-h .dui-sec-all, .dui-search-group .dui-sec-all {
	display: inline-flex; align-items: center; gap: 12px; padding: 13px 20px; background: var(--dui-forest); border: 1px solid var(--dui-forest); color: #fff;
	font-family: var(--dui-cta); font-style: normal; font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
.dui-sec-head .dui-sec-all::after, .dui-ed-result-h .dui-sec-all::after, .dui-search-group .dui-sec-all::after { content: "→"; font-size: 15px; letter-spacing: 0; }
.dui-sec-head .dui-sec-all:hover, .dui-ed-result-h .dui-sec-all:hover, .dui-search-group .dui-sec-all:hover { background: #2b3229; color: #fff; }
.dui-row-btns button { border-color: var(--dui-forest); color: var(--dui-forest); background: #fff; }
.dui-row-btns button:hover:not(:disabled) { background: var(--dui-forest); color: #fff; }
.dui-row-btns button:disabled { opacity: .3; }
/* Editorial cards: one design, every part lined up across the row. */
.dui-cards > .dui-card-ed { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; align-content: start; }
.dui-card-ed .dui-card-t { height: auto !important; display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important; margin: 22px 0 0 !important; align-self: start; }
.dui-card-ed .dui-card-rule { display: block; height: 1px; margin: 18px 0 16px; background: var(--dui-earth); align-self: end; }
.dui-card-ed .dui-card-ex { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; align-self: start; }
/* The closing band: full width, this page's picture, parallax on desktop (the homepage too). */
.dui-cta-photo { background-color: var(--dui-forest); }
/* The enquiry band and the footer: distinct. */
.dui-footer { background: #2b3229; }
/* As many expert faces as fit on one line. */
.dui-faces { flex-wrap: wrap; height: 60px; overflow: hidden; max-width: 460px; padding-right: 10px; }
/* Founders: heads in frame, even spacing beside them. */
.dui-founders .dui-expert img, .dui-founders .dui-expert .dui-img { object-position: 50% 12%; }
.dui-founders .dui-expert h3 { margin: 0 0 4px; }
.dui-founders .dui-expert .dui-expert-role { margin: 0 0 14px; }
.dui-founders .dui-expert p { margin-top: 0; }
/* Editorials pages: less space before the first editorial. */
.dui-ix-editorials .dui-ix-intro { padding-bottom: 28px !important; }
.dui-ix-editorials .dui-ed-filter { padding-top: 0; }
/* 2.2.9: editorials too (the 'ed' size used to centre its words); dark top bands start under the solid header. */
.dui-hero-left.dui-hero-ed .dui-hero-c, .dui-hero-left.dui-hero-ed .dui-hero-meta { text-align: left; align-items: flex-start; justify-content: flex-start; margin-left: 0; margin-right: 0; }
.dui-band-top { padding-top: 110px; }
@media (max-width: 1099.98px) { .dui-band-top { padding-top: 56px; } }

/* 2.2.10 (Darren): the homepage title at the live site's lighter weight; the search box straddles the
   picture and the five reasons below it (as live), "Ask us anything" just above it on the picture. */
.dui-hero-big { font-weight: 400 !important; }
.dui-hero-big strong, .dui-hero-big b { font-weight: 400; }
.dui-hero-home { overflow: visible; z-index: 3; }
.dui-hero-home .dui-hero-c { bottom: 150px; }
.dui-hero-home .dui-hero-ask { bottom: -34px; }
.dui-hero-home + .dui-trust { padding-top: 64px; }
@media (max-width: 1099.98px) {
	.dui-hero-home .dui-hero-c { bottom: 120px; }
	.dui-hero-home .dui-hero-ask { bottom: -28px; }
	.dui-hero-home + .dui-trust { padding-top: 52px; }
}


/* ================================================================ 2.2.11: live review (8 October 2026) */
/* Editorial cards: the picture first (an older rule pinned the title to row 1). */
.dui-cards > .dui-card-ed > .dui-card-t { grid-row: auto; grid-column: auto; }
/* Bold used sparingly: Ivy Epic at Regular for every heading and card name. */
.dui h1, .dui h2, .dui h3, .dui h4, .dui .dui-hero-h, .dui .dui-hero-big, .dui .dui-card-t, .dui .dui-sig-t, .dui .dui-trust-t, .dui .dui-dest-t, .dui .dui-mtile-t, .dui .dui-plan-t, .dui .dui-az-h, .dui .dnd-index-feature-title, .dui .dnd-index-card-title, .dui .dui-mega-h, .dui .dui-mega h3 { font-weight: 400 !important; }
/* One size for card names: tours, hotels and editorials alike. */
.dui .dui-card-tour .dui-card-t, .dui .dui-card-hotel .dui-card-t, .dui .dui-card-ed .dui-card-t { font-size: 20px; line-height: 1.3; }
@media (max-width: 1099.98px) { .dui .dui-card-tour .dui-card-t, .dui .dui-card-hotel .dui-card-t, .dui .dui-card-ed .dui-card-t { font-size: 18px; } }
/* Heroes: breadcrumbs at the top of the picture, the words at the bottom, a deeper shade so they read. */
.dui-hero .dui-crumbs { top: 28px !important; }
.dui-hero-left .dui-hero-c { top: auto !important; bottom: 56px !important; }
.dui-hero::after { background: linear-gradient(to right, rgba(0,0,0,.42) 0%, rgba(0,0,0,.16) 45%, rgba(0,0,0,0) 70%), linear-gradient(to top, rgba(0,0,0,.70) 0%, rgba(0,0,0,.34) 38%, rgba(0,0,0,.10) 62%, rgba(0,0,0,.42) 100%); }
.dui-hero-home::after { background: linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.18) 45%, rgba(0,0,0,.25) 100%); }
.dui-hero-left .dui-hero-h, .dui-hero-left.dui-hero-ed .dui-hero-h { margin-left: 0 !important; margin-right: 0 !important; max-width: 920px; }
@media (max-width: 1099.98px) { .dui-hero-left .dui-hero-c { bottom: 32px !important; } }
/* "View all …" under the cards. */
.dui-sec-foot { display: flex; justify-content: center; margin-top: 44px; }
/* Index pages: the first feature is bigger, its summary longer and cut with "…". */
.dui-ix .dnd-index-feature { min-height: 460px; }
.dui-ix .dnd-index-feature-media, .dui-ix .dnd-index-feature-media img { height: 100%; min-height: 460px; object-fit: cover; }
.dui-ix .dnd-index-feature-content { overflow: visible; }
.dui-ix .dnd-index-feature-excerpt { -webkit-line-clamp: 6 !important; }
/* Enquiry budget: the full wording, small enough to sit on one line. */
.dnd-eform .chips .wpcf7-radio, .dnd-eform .wpcf7-radio.chips { grid-template-columns: repeat(5, auto); gap: 5px; }
.dnd-eform .chips .wpcf7-list-item-label { padding-left: 9px !important; padding-right: 9px !important; font-size: 12px !important; }
@media (max-width: 1099.98px) { .dnd-eform .chips .wpcf7-radio, .dnd-eform .wpcf7-radio.chips { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Editorials search: suggestions as you type, like the site search. */
.dui-ed-search { position: relative; }
.dui-ac { position: absolute; z-index: 20; left: -1px; right: -1px; top: 100%; background: #fff; border: 1px solid var(--dui-earth); border-top: 0; box-shadow: 0 18px 40px rgba(0,0,0,.12); max-height: 440px; overflow-y: auto; }
.dui-ac-i { display: flex; align-items: center; gap: 14px; padding: 10px 16px; color: var(--dui-earth); text-decoration: none; font-family: var(--dui-body); font-weight: 300; font-size: 16px; line-height: 1.35; }
.dui-ac-i img, .dui-ac-ph { flex: 0 0 56px; width: 56px; height: 42px; object-fit: cover; background: #E6DED3; }
.dui-ac-i:hover, .dui-ac-i.is-sel { background: var(--dui-tint); }
.dui-ac-none { margin: 0; padding: 14px 16px; font-family: var(--dui-it); font-style: italic; color: var(--dui-earth); }
/* Thank-you: the booking card under the phone card. */
.dui-book { margin-top: 18px; }


/* ================================================================ 2.2.12: phones (Darren's mobile review) */
/* No bottom bar; the foot of the screen stays clear (as OOO). */
.dui-pbar { display: none !important; }
@media (max-width: 1099.98px) {
	body.dui { padding-bottom: 0 !important; }
	/* The header is the same at the top and after scrolling: the logo and the icons never move. */
	.dui-chrome .dui-hdr .dui-logo, .dui-chrome.is-compact .dui-hdr .dui-logo { width: 176px !important; transition: none !important; }
	.dui-chrome .dui-ph-menu, .dui-chrome.is-compact .dui-ph-menu, .dui-chrome .dui-ph-ico, .dui-chrome.is-compact .dui-ph-ico { width: 44px !important; height: 44px !important; padding: 0 !important; transition: none !important; }
	.dui-chrome .dui-ph-menu, .dui-chrome.is-compact .dui-ph-menu { margin-left: -12px !important; }
	.dui-chrome .dui-bar, .dui-chrome.is-compact .dui-bar { height: var(--dui-ph) !important; gap: 8px !important; transition: none !important; }
	.dui-chrome .dui-bar-r, .dui-chrome.is-compact .dui-bar-r { gap: 0 !important; }
	/* Tours, hotels and editorials: one under another, never a sideways scroll (as OOO). */
	.dui-cards-3, .dui-cards-4 { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 40px !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; scroll-snap-type: none !important; }
	.dui-cards-3 > *, .dui-cards-4 > * { flex: none !important; width: auto !important; min-width: 0 !important; }
	.dui-card-ed .dui-card-img, .dui-card-tour .dui-card-img, .dui-card-hotel .dui-card-img { height: auto !important; aspect-ratio: 3 / 2; }
	/* Moments: large cards in a carousel with room at both edges. */
	.dui-row { gap: 14px !important; margin: 0 -22px !important; padding: 0 22px 6px !important; scroll-padding-inline: 22px; }
	.dui-row > * { flex: 0 0 78vw !important; max-width: 340px; }
	.dui-row::after { content: ""; flex: 0 0 8px; }
	.dui-card-moment .dui-card-img { aspect-ratio: 4 / 5; height: auto !important; }
}
/* Index pages: no full-width rules running into cards. */
.dui-ix .dnd-index-support-section, .dui-ix .dnd-index-tours-editorial-break, .dui-ix section.dnd-index-shell { border-top: 0 !important; border-bottom: 0 !important; }
/* 2.2.12: "View all …" keeps its forest button look under the cards too. */
.dui-sec-foot .dui-sec-all {
	display: inline-flex; align-items: center; gap: 12px; padding: 13px 20px; background: var(--dui-forest); border: 1px solid var(--dui-forest); color: #fff;
	font-family: var(--dui-cta); font-style: normal; font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
.dui-sec-foot .dui-sec-all::after { content: "→"; font-size: 15px; letter-spacing: 0; }
.dui-sec-foot .dui-sec-all:hover { background: #2b3229; color: #fff; }
.dui-sec-foot { border-top: 0 !important; padding-top: 0 !important; }
@media (max-width: 1099.98px) {
	.dui-sec-foot .dui-sec-all { white-space: normal; text-align: center; }
	/* Tour cards: no gap between the name and its price on phones. */
	.dui-card-tour .dui-card-t, .dui-card-hotel .dui-card-t { height: auto !important; -webkit-line-clamp: unset !important; display: block !important; }
	.dui-card-tour .dui-card-body { padding-bottom: 14px; }
}

/* 2.2.12: weather in the "Planning a trip" accordion: one column, so each season's heading stays with its words. */
.dui-plan .dui-tg-cols { column-count: 1 !important; columns: auto !important; display: block; }
.dui-plan .dui-prose h3, .dui-plan .dui-prose h4 { margin: 26px 0 8px; font-size: 19px; }
.dui-plan .dui-prose h3:first-child, .dui-plan .dui-tg-wx + .dui-prose h3:first-child { margin-top: 18px; }
.dui-plan .dui-tg-wx { font-size: 18px; line-height: 1.6; margin: 0 0 6px; }
/* No box around a season after a click; a clear ring for keyboard users. */
.dui-plan-i summary:focus { outline: none; }
.dui-plan-i summary:focus-visible { outline: 2px solid var(--dui-earth); outline-offset: 4px; }
.dui-plan .dui-tg-cols h4 { border-top: 0; padding-top: 0; margin-top: 26px; }

/* 2.2.12: index lists: rows of three; a last row of one or two sits centred, so the design never looks unfinished. */
@media (min-width: 1100px) {
	.dui-ix .dnd-index-grid, .dui-ix .dnd-index-editorial-grid { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 36px 24px; }
	.dui-ix .dnd-index-grid > *, .dui-ix .dnd-index-editorial-grid > * { flex: 0 0 calc((100% - 48px) / 3); min-width: 0; }
}

/* ================================================================ 2.2.13: phone header as OOO and the brand guide:
   the logo on its own row, then a sticky action bar (Menu, Search, Call, Enquire). Nothing at the foot of the screen. */
@media (max-width: 1099.98px) {
	:root { --dui-ph: 104px; } /* 58px logo row + 46px action bar: page padding and sticky bars follow it */
	.dui-hdr .dui-wrap.dui-bar, .dui-chrome.is-compact .dui-hdr .dui-wrap.dui-bar {
		display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; grid-template-rows: 58px 46px;
		grid-template-areas: "logo logo logo logo" "menu search call enq"; height: auto !important; gap: 0 !important; padding: 0 !important; max-width: none;
	}
	.dui-hdr .dui-bar-l, .dui-hdr .dui-bar-r { display: contents !important; }
	.dui-hdr .dui-logo-a { grid-area: logo; justify-self: center; align-self: center; }
	.dui-hdr .dui-ph-menu { grid-area: menu; }
	.dui-hdr .dui-ph-ico[data-dui-psearch] { grid-area: search; }
	.dui-hdr .dui-ph-ico[href^="tel:"] { grid-area: call; }
	.dui-hdr .dui-bar-r .dui-btn { grid-area: enq; }
	.dui-chrome .dui-hdr .dui-ph-menu, .dui-chrome .dui-hdr .dui-ph-ico, .dui-chrome .dui-hdr .dui-bar-r .dui-btn,
	.dui-chrome.is-compact .dui-hdr .dui-ph-menu, .dui-chrome.is-compact .dui-hdr .dui-ph-ico, .dui-chrome.is-compact .dui-hdr .dui-bar-r .dui-btn {
		display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: 46px !important; margin: 0 !important; padding: 0 !important;
		border: 0; border-top: 1px solid var(--dui-line); border-left: 1px solid var(--dui-line); border-radius: 0; background: none;
	}
	.dui-hdr .dui-ph-menu { border-left: 0; }
	.dui-hdr .dui-bar-r .dui-btn { background: var(--dui-forest) !important; border-color: var(--dui-forest); }
	.dui-hdr .dui-bar-r .dui-btn .t { background: none !important; padding: 0 !important; font-size: 0 !important; letter-spacing: 0; }
	.dui-hdr .dui-bar-r .dui-btn .t::before { content: "Enquire"; font-family: var(--dui-cta); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
	.dui-hdr .dui-bar-r .dui-btn .a { display: none !important; }
	.dui-drawer-head { height: 58px !important; }
	#zsiq_float, .zsiq_floatmain, .zsiq_theme1.zsiq_floatmain { bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important; } /* no bottom bar to clear any more */
}

/* ================================================================ 2.2.14 */
/* Cookie banner (as OOO, in DND colours): small, bottom left; full width but compact on phones. Accept and Reject look the same. */
.dnd-consent[hidden] { display: none; }
.dnd-consent { position: fixed; left: 16px; bottom: 16px; z-index: 100001; width: calc(100% - 32px); max-width: 380px; box-sizing: border-box; padding: 18px 20px 16px; background: var(--dui-tint); color: var(--dui-earth); border: 1px solid var(--dui-line); box-shadow: 0 14px 36px rgba(0,0,0,.14); font-family: var(--dui-body); font-weight: 300; font-size: 14px; line-height: 1.55; }
.dnd-consent .cc-h { margin: 0 0 4px; font-family: var(--dui-head); font-weight: 400; font-size: 18px; color: var(--dui-earth); }
.dnd-consent .cc-t { margin: 0 0 14px; }
.dnd-consent .cc-t a { color: var(--dui-earth); text-decoration: underline; text-underline-offset: 2px; }
.dnd-consent .cc-b { display: flex; gap: 8px; }
.dnd-consent .cc-b button { flex: 1 1 0; min-height: 42px; padding: 8px 12px; background: none; border: 1px solid var(--dui-forest); color: var(--dui-forest); font-family: var(--dui-cta); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.dnd-consent .cc-b button:hover { background: var(--dui-forest); color: #fff; }
.dnd-consent .cc-b button:focus-visible { outline: 2px solid var(--dui-earth); outline-offset: 2px; }
@media (max-width: 560px) { .dnd-consent { left: 0; bottom: 0; width: 100%; max-width: none; padding: 14px 16px calc(12px + env(safe-area-inset-bottom, 0px)); font-size: 13px; border-left: 0; border-right: 0; } .dnd-consent .cc-h { display: none; } .dnd-consent .cc-t { margin-bottom: 10px; } }
.dui-consent-link { background: none; border: 0; padding: 0; margin: 0 14px 0 0; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
/* Six font files, not eight or more (PageSpeed): Ivy Epic Regular and Light Italic; Haboro Soft Light and Regular;
   Haboro Soft Extended (buttons); Haboro Serif Italic. */
.dui .dui-pin, .dui .dui-mcard-t, .dui .dui-dr-link, .dui .dui-step-n, .dui .dui-ftel, .dui .dui-way-t, .dui summary, .dui .dui-plan-t, .dui .dui-dr-ch, .dui .dui-rv-mark { font-family: var(--dui-head); font-weight: 400 !important; font-style: normal; }
.dui .dui-hero-kicker, .dui .dui-kicker, .dui .dui-expert-role, .dui span.opt, .dui .dui-mcard-d, .dui .dui-mega-all, .dui .dui-dr-all, .dui .dui-way-s, .dui .dui-ulink, .dui .dui-rv-who, .dui .breadcrumb-sep, .dui .dui-hero-link2, .dui .dui-card-price, .dui .dui-hero-sub, .dui .dui-crumbs, .dui .dui-crumbs a, .dui .dui-sec-all:not(.dui-sec-head .dui-sec-all):not(.dui-sec-foot .dui-sec-all) { font-family: var(--dui-it); font-style: italic; font-weight: 400 !important; }
/* Contrast (PageSpeed / axe). */
.dui .dui-step-n { color: #9c8076; }
.dnd-eform span.opt { color: var(--dui-earth); }
/* 2.2.14: the contrast fixes, at the specificity of the rules they replace; phone numbers in Ivy Epic Regular (one file fewer). */
#ts-journey.dui-steps .dui-step-n { color: #9c8076; }
.dnd-eform .opt, .dnd-eform span.opt { opacity: 1; color: var(--dui-earth); }
.dui a[href^="tel:"], .dui .dui-formband-call a { font-weight: 400; }
/* 2.2.14: the tagline band in Ivy Epic Regular too (one font file fewer). */
.dui .dui-band p { font-weight: 400; }

/* 2.2.15: the privacy line sits under the Send button, with room between (desktop and phones). */
.dnd-eform .enav, .dui-formband .dnd-eform .enav { flex-direction: column; flex-wrap: nowrap; align-items: flex-start; justify-content: flex-start; gap: 0; }
.dnd-eform .enav > * { order: 1; }
.dnd-eform .enav .wpcf7-spinner { order: 2; display: none; margin: 12px 0 0; }
.dnd-eform.submitting .enav .wpcf7-spinner, .dnd-eform .submitting .enav .wpcf7-spinner, form.submitting .enav .wpcf7-spinner { display: inline-block; }
.dnd-eform .enav .dnd-eform-privacy, .dui-formband .dnd-eform .enav .dnd-eform-privacy { order: 3; flex: none; margin: 18px 0 0; }

/* 2.2.18: tour heroes: the words sit above the facts card that overlaps the picture's foot (40px on phones, 52px on desktop), with room to spare. */
.dui-hero-left.dui-hero-tour .dui-hero-c { bottom: 100px !important; }
@media (max-width: 1099.98px) { .dui-hero-left.dui-hero-tour .dui-hero-c { bottom: 80px !important; } }


/* 2.2.19: the privacy line under the Send button, small and quiet. Contact Form 7 on the live site wraps the row in a <p>, so both levels are laid out. */
.dnd-eform .enav, .dnd-eform .enav > p { display: flex !important; flex-direction: column; flex-wrap: nowrap; align-items: flex-start; justify-content: flex-start; gap: 0; margin: 0; }
.dnd-eform .enav > p { width: 100%; }
.dnd-eform .enav > *, .dnd-eform .enav > p > * { order: 1; }
.dnd-eform .enav .wpcf7-spinner { order: 2; }
.dnd-eform .enav .dnd-eform-privacy, .dui-formband .dnd-eform .enav .dnd-eform-privacy { order: 3 !important; display: block; margin: 16px 0 0 !important; font-size: 12px !important; line-height: 1.5; color: #8b655b; opacity: 1; } /* the lightest Soft Earth that passes 4.5:1 */
.dnd-eform .enav .dnd-eform-privacy a { color: inherit; }
/* The form band opens with the logo (as OOO). */
.dui-formband-logo { margin: 0 0 36px; color: #fff; }
.dui-formband-logo .dui-logo { display: block; width: 210px; height: auto; color: #fff; fill: currentColor; }
@media (max-width: 1099.98px) { .dui-formband-logo { margin-bottom: 24px; } .dui-formband-logo .dui-logo { width: 180px; } }

/* 2.2.20 (phones): every carousel keeps room at both edges, before and after a swipe (signature journeys and
   ways to travel as the moments rows); the form band's logo has room under it. */
@media (max-width: 1099.98px) {
	.dui-sigs, .dui-ways { gap: 14px !important; margin: 0 -22px !important; padding: 0 22px 6px !important; scroll-padding-inline: 22px !important; }
	.dui-sigs::after, .dui-ways::after { content: ""; flex: 0 0 8px; }
	.dui-sigs > * { flex: 0 0 78vw !important; max-width: 340px; }
	.dui-sigs > *, .dui-ways > * { scroll-snap-align: start; }
	.dui-formband-logo { margin-bottom: 40px !important; }
}

/* 2.2.21: the phone header's action bar: three compact icon cells (Menu, Search, Call) and a wide Enquire. */
@media (max-width: 1099.98px) {
	.dui-hdr .dui-wrap.dui-bar, .dui-chrome.is-compact .dui-hdr .dui-wrap.dui-bar { grid-template-columns: 60px 60px 60px minmax(0, 1fr) !important; }
}

/* 2.2.22 (phones): the form first. The header already carries the logo and the Call button, so the band shows its title,
   then the form, then the reassurance (the faces and "Your enquiry goes straight to one of our travel experts…") under
   the Send button, where people decide. Desktop is unchanged. */
@media (max-width: 1099.98px) {
	.dui-formband-in { display: flex !important; flex-direction: column; row-gap: 0 !important; }
	.dui-formband-l { display: contents; }
	.dui-formband-logo, .dui-formband-l > .dui-eyebrow, .dui-formband-l > .dui-rule, .dui-formband-p, .dui-formband-call { display: none !important; }
	.dui-formband-l > h2 { order: 1; margin: 0 0 22px; }
	.dui-formband-r { order: 2; }
	.dui-formband-people { order: 3; margin-top: 30px; }
}

/* 2.2.23: on laptop-height screens the whole enquiry form, Send included, fits under the header. */
@media (min-width: 1100px) and (max-height: 1000px) {
	#contact-form2.dui-formband { padding: 40px 0; }
	.dnd-enq.dui-formband .dnd-epanel, .dui-formband .dui-formpanel { padding: 24px 32px 24px; }
	.dui-formband .dnd-eform .f { margin-bottom: 11px; }
	.dui-formband .dnd-eform .f > label, .dui-formband .dnd-eform .flabel { margin-bottom: 4px; font-size: 13.5px; }
	.dui-formband .dnd-eform input[type="text"], .dui-formband .dnd-eform input[type="email"], .dui-formband .dnd-eform input[type="tel"], .dui-formband .dnd-eform select { padding-top: 9px !important; padding-bottom: 9px !important; min-height: 0; font-size: 15px; }
	.dui-formband .dnd-eform .chips .wpcf7-list-item-label { padding-top: 7px !important; padding-bottom: 7px !important; }
	.dui-formband .dnd-eform textarea { min-height: 70px; height: 70px; padding: 9px 12px; }
	.dnd-eform .enav { margin-top: 2px; }
	.dnd-eform .enav .dnd-eform-privacy, .dui-formband .dnd-eform .enav .dnd-eform-privacy { margin-top: 10px !important; }
	.dui-formband h2 { font-size: 36px; }
	.dui-formband .dui-formband-p { font-size: 16px; line-height: 1.6; }
	.dui-formband-logo { margin-bottom: 22px; }
}
@media (min-width: 1100px) and (max-height: 760px) {
	#contact-form2.dui-formband { padding: 24px 0; }
	.dui-formband .dnd-eform .f { margin-bottom: 8px; }
	.dui-formband .dnd-eform textarea { min-height: 54px; height: 54px; }
	.dnd-enq.dui-formband .dnd-epanel, .dui-formband .dui-formpanel { padding: 18px 28px 18px; }
}

/* 2.2.24: less green above the form on every desktop; the fitting script (dnd-ui.js) may zoom the band out a little. */
@media (min-width: 1100px) { #contact-form2.dui-formband { padding-top: 64px; padding-bottom: 64px; } }
@media (min-width: 1100px) and (max-height: 1000px) { #contact-form2.dui-formband { padding-top: 40px; padding-bottom: 40px; } }
@media (min-width: 1100px) and (max-height: 760px) { #contact-form2.dui-formband { padding-top: 24px; padding-bottom: 24px; } }

/* 2.2.25: on desktop the enquiry band fills the window in its one colour, the form centred with room above and below,
   so landing on it shows nothing of the section after it. The message box keeps room for its two-line placeholder. */
@media (min-width: 1100px) {
	#contact-form2.dui-formband { min-height: 100vh; min-height: 100dvh; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; border: 0 !important; outline: 0 !important; box-shadow: none; }
	#contact-form2.dui-formband > .dui-formband-in { width: 100%; }
}
@media (min-width: 1100px) and (max-height: 1000px) { .dui-formband .dnd-eform textarea { min-height: 88px; height: 88px; overflow-y: auto; } }
@media (min-width: 1100px) and (max-height: 760px) { .dui-formband .dnd-eform textarea { min-height: 76px; height: 76px; } }

/* 2.2.25: on desktop the enquiry band always fills the screen, the form centred in one solid colour (nothing of the
   footer below it where "Request a quote" lands); the message box keeps room for its two-line placeholder. */
@media (min-width: 1100px) {
	#contact-form2.dui-formband { min-height: 100vh; min-height: 100dvh; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; }
	#contact-form2.dui-formband > .dui-formband-in { width: 100%; }
}
@media (min-width: 1100px) and (max-height: 1000px) { .dui-formband .dnd-eform textarea { min-height: 86px; height: 86px; } }
@media (min-width: 1100px) and (max-height: 760px) { .dui-formband .dnd-eform textarea { min-height: 68px; height: 68px; } }
/* 2.2.25: while the header has slid away over the form, none of its shadow or edge shows at the top of the screen. */
.dui-chrome.hdr-away, html.dui-away .dui-chrome, .dui-chrome.hdr-away .dui-hdr, html.dui-away .dui-chrome .dui-hdr { box-shadow: none !important; }
.dui-chrome.hdr-away, html.dui-away .dui-chrome { transform: translateY(calc(-100% - 2px)); }

/* 2.2.27: the country prompt in the brand (it is printed by dnd-geo-core with its own plain styles). */
body.dui #dnd-country-modal .dnd-country-modal-inner { border-radius: 0; background: var(--dui-tint); border: 1px solid var(--dui-line); padding: 40px 36px 34px; box-shadow: 0 24px 60px rgba(0,0,0,.22); color: var(--dui-earth); font-family: var(--dui-body); font-weight: 300; }
body.dui #dnd-country-modal h2, body.dui #dnd-country-modal #dnd-country-title { font-family: var(--dui-head); font-weight: 400; font-size: 28px; line-height: 1.2; color: var(--dui-earth); outline: none; }
body.dui #dnd-country-modal .dnd-country-icon { color: var(--dui-earth); }
body.dui #dnd-country-modal .dnd-cm-l1, body.dui #dnd-country-modal .dnd-cm-l2 { font-size: 15px; line-height: 1.6; color: var(--dui-earth); }
body.dui #dnd-country-modal .dnd-country-btn-primary, body.dui #dnd-country-modal .dnd-country-btn-secondary { border-radius: 0; font-family: var(--dui-cta); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; min-height: 46px; }
body.dui #dnd-country-modal .dnd-country-btn-primary { background: var(--dui-forest); border: 1px solid var(--dui-forest); color: #fff; }
body.dui #dnd-country-modal .dnd-country-btn-primary:hover { background: #2b3229; }
body.dui #dnd-country-modal .dnd-country-btn-secondary { background: none; border: 1px solid var(--dui-forest); color: var(--dui-forest); }
body.dui #dnd-country-modal .dnd-country-btn-secondary:hover { background: var(--dui-forest); color: #fff; }
body.dui #dnd-country-modal .dnd-country-close { color: var(--dui-earth); }
body.dui #dnd-country-modal :focus-visible { outline: 2px solid var(--dui-earth); outline-offset: 2px; }
body.dui #dnd-country-modal #dnd-country-title:focus-visible { outline: none; }

/* 2.2.30: index feature panels grow to fit their words. The Ink Well index stylesheet
   (template-parts/destination-indexes/destination-index.css) fixes them at 285–340px with overflow hidden;
   with the 460px minimum (2.2.11) a long title and summary (Santorini hotels: "Ultimate Luxury Greece:
   Athens, Mykonos and Santorini") pushed the price and "Discover more" out of sight on desktop. */
.dui-ix .dnd-index-feature { height: auto; }
