:root {
	--cyn-navy: #06384b;
	--cyn-navy-deep: #032632;
	--cyn-teal: #0b7285;
	--cyn-turquoise: #18a7aa;
	--cyn-gold: #d9a329;
	--cyn-gold-dark: #b77d0c;
	--cyn-ink: #102f3c;
	--cyn-muted: #607781;
	--cyn-cloud: #f2f7f6;
	--cyn-sand: #f8f4ea;
	--cyn-white: #fff;
	--cyn-line: #dce8e8;
	--cyn-shadow: 0 24px 60px rgba(2, 38, 50, .13);
	--cyn-radius: 22px;
	--cyn-container: 1240px;
	--cyn-font: Calibri, "Segoe UI", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--cyn-white); color: var(--cyn-ink); font-family: var(--cyn-font); font-size: 17px; line-height: 1.58; margin: 0; overflow-x: hidden; }
body.admin-bar .cyn-header { top: 32px; }
img { display: block; height: auto; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(217, 163, 41, .72); outline-offset: 3px; }
.cyn-container { margin-inline: auto; max-width: var(--cyn-container); padding-inline: 28px; width: 100%; }
.cyn-skip-link { background: var(--cyn-navy); color: #fff; left: 12px; padding: 12px 18px; position: fixed; top: -90px; z-index: 9999; }
.cyn-skip-link:focus { top: 12px; }
.cyn-eyebrow { color: var(--cyn-teal); font-size: .76rem; font-weight: 800; letter-spacing: .16em; margin: 0 0 12px; text-transform: uppercase; }

.cyn-header { background: rgba(255,255,255,.96); box-shadow: 0 1px 0 rgba(6,56,75,.08); left: 0; position: sticky; right: 0; top: 0; z-index: 1000; }
.cyn-header__utility { background: var(--cyn-navy-deep); color: rgba(255,255,255,.82); font-size: .77rem; }
.cyn-header__utility-inner { align-items: center; display: flex; justify-content: space-between; min-height: 32px; }
.cyn-header__utility a { color: #fff; font-weight: 700; }
.cyn-header__main { align-items: center; display: flex; gap: 22px; justify-content: flex-start; min-height: 82px; }
.cyn-header__brand { display: inline-flex; flex: 0 0 auto; }
.cyn-logo { height: auto; max-width: 218px; width: 100%; }
.cyn-nav { align-items: center; display: flex; gap: 20px; margin-left: auto; }
.cyn-nav__list { align-items: center; display: flex; gap: 18px; list-style: none; margin: 0; padding: 0; }
.cyn-nav__list a { color: var(--cyn-navy); display: inline-flex; font-size: .86rem; font-weight: 700; padding-block: 28px; position: relative; white-space: nowrap; }
.cyn-nav__list a::after { background: var(--cyn-gold); bottom: 20px; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .22s ease; width: 100%; }
.cyn-nav__list a:hover::after, .cyn-nav__list .current-menu-item > a::after { transform: scaleX(1); }
.cyn-nav-toggle { background: transparent; border: 0; color: var(--cyn-navy); display: none; }
.cyn-nav-toggle__icon { display: grid; gap: 6px; width: 24px; }
.cyn-nav-toggle__icon i { background: currentColor; display: block; height: 2px; transition: transform .2s ease; width: 100%; }
.cyn-nav-toggle__label { height: 1px; overflow: hidden; position: absolute; width: 1px; }
.cyn-header-whatsapp {
	align-items: center;
	background: linear-gradient(135deg, #25d366, #18b957);
	border: 1px solid rgba(8,112,54,.16);
	border-radius: 999px;
	box-shadow: 0 9px 22px rgba(21,150,72,.22);
	color: #fff;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: .8rem;
	font-weight: 800;
	gap: 8px;
	justify-content: center;
	min-height: 44px;
	padding: 9px 15px 9px 11px;
	transition: box-shadow .2s ease, filter .2s ease, transform .2s ease;
}
.cyn-header-whatsapp:hover { box-shadow: 0 13px 28px rgba(21,150,72,.3); filter: saturate(1.08); transform: translateY(-2px); }
.cyn-header-whatsapp__icon { align-items: center; background: rgba(255,255,255,.16); border-radius: 50%; display: inline-flex; height: 30px; justify-content: center; width: 30px; }

.cyn-button { align-items: center; border: 1px solid transparent; border-radius: 999px; cursor: pointer; display: inline-flex; font-size: .9rem; font-weight: 800; gap: 10px; justify-content: center; min-height: 50px; padding: 12px 24px; transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease; }
.cyn-button:hover { transform: translateY(-2px); }
.cyn-button--gold { background: var(--cyn-gold); box-shadow: 0 10px 24px rgba(183,125,12,.22); color: var(--cyn-navy-deep); }
.cyn-button--gold:hover { background: #e9b63a; box-shadow: 0 14px 30px rgba(183,125,12,.3); }
.cyn-button--outline { border-color: rgba(6,56,75,.28); color: var(--cyn-navy); }
.cyn-button--outline:hover { background: var(--cyn-navy); border-color: var(--cyn-navy); color: #fff; }
.cyn-text-link { align-items: center; display: inline-flex; font-size: .9rem; font-weight: 800; gap: 9px; }

.cyn-hero { min-height: 670px; overflow: hidden; position: relative; }
.cyn-hero__image, .cyn-page-hero > img, .cyn-detail-hero > img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.cyn-hero__veil, .cyn-page-hero__veil, .cyn-detail-hero__veil { background: linear-gradient(90deg, rgba(2,38,50,.92) 0%, rgba(2,38,50,.62) 45%, rgba(2,38,50,.08) 78%); inset: 0; position: absolute; }
.cyn-hero__content { color: #fff; padding-bottom: 138px; padding-top: 126px; position: relative; z-index: 1; }
.cyn-hero .cyn-eyebrow, .cyn-page-hero .cyn-eyebrow, .cyn-detail-hero .cyn-eyebrow { color: #f2c761; }
.cyn-hero h1 { font-size: clamp(3.2rem, 6vw, 6.4rem); letter-spacing: -.05em; line-height: .88; margin: 0 0 28px; max-width: 800px; }
.cyn-hero h1 em { color: #f0cb76; font-style: normal; font-weight: 400; }
.cyn-hero__content > p:not(.cyn-eyebrow) { color: rgba(255,255,255,.86); font-size: 1.16rem; max-width: 610px; }
.cyn-hero__actions { align-items: center; display: flex; gap: 24px; margin-top: 34px; }
.cyn-hero__note { background: rgba(255,255,255,.94); bottom: 64px; color: var(--cyn-navy); display: grid; gap: 2px; padding: 18px 28px; position: absolute; right: 0; width: min(360px, 36vw); z-index: 1; }
.cyn-hero__note span { color: var(--cyn-teal); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.cyn-search-wrap { margin-top: -64px; position: relative; z-index: 3; }
.cyn-search-wrap--page { background: var(--cyn-cloud); margin-top: 0; padding: 0 0 48px; }
.cyn-search {
	align-items: stretch;
	background: linear-gradient(135deg, rgba(255,255,255,.99), rgba(248,253,252,.99));
	border: 1px solid rgba(6,56,75,.09);
	border-radius: 24px;
	box-shadow: 0 24px 70px rgba(2,38,50,.16);
	display: grid;
	gap: 14px;
	grid-template-columns: 250px minmax(0,1fr) auto;
	overflow: visible;
	padding: 14px;
	position: relative;
}
.cyn-search::before { background: linear-gradient(90deg, var(--cyn-teal), #21b8ad, var(--cyn-gold)); border-radius: 24px 24px 0 0; content: ""; height: 4px; inset: 0 0 auto; position: absolute; }
.cyn-search__intro { background: linear-gradient(145deg, #06384b, #075f6d); border-radius: 17px; color: #fff; display: flex; flex-direction: column; justify-content: center; min-height: 86px; padding: 15px 20px; }
.cyn-search__eyebrow { color: #87e0d9; font-size: .64rem; font-weight: 800; letter-spacing: .13em; margin-bottom: 5px; text-transform: uppercase; }
.cyn-search__intro strong { font-size: 1.05rem; letter-spacing: -.01em; }
.cyn-search__intro small { color: rgba(255,255,255,.7); font-size: .72rem; line-height: 1.3; margin-top: 4px; }
.cyn-search__fields { align-items: stretch; background: #f5faf9; border: 1px solid #dcebea; border-radius: 17px; display: grid; grid-template-columns: 1fr 1.35fr 1fr 1.1fr; min-width: 0; }
.cyn-search .cyn-search-field { align-items: center; border: 0; border-right: 1px solid #d6e7e6; display: flex; gap: 11px; min-width: 0; padding: 12px 14px; position: relative; }
.cyn-search .cyn-search-field:last-child { border-right: 0; }
.cyn-search-field:focus-within { background: #fff; box-shadow: inset 0 0 0 2px rgba(11,114,133,.18); z-index: 3; }
.cyn-search-field__icon { align-items: center; background: #e3f4f2; border-radius: 50%; color: var(--cyn-teal); display: flex; flex: 0 0 34px; height: 34px; justify-content: center; width: 34px; }
.cyn-search-field__icon svg { fill: none; height: 19px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 19px; }
.cyn-search-field__body { display: grid; gap: 3px; min-width: 0; position: relative; width: 100%; }
.cyn-search-field__label { color: #58757e; font-size: .67rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.cyn-search input, .cyn-search select, .cyn-search button { font-family: inherit; }
.cyn-search input:not([type="hidden"]), .cyn-search select { background-color: transparent; border: 0; color: var(--cyn-navy-deep); font-size: .93rem; font-weight: 750; min-height: 28px; min-width: 0; outline: 0; padding: 0; width: 100%; }
.cyn-search input::placeholder { color: #82979c; font-weight: 600; }
.cyn-search__submit { align-items: center; align-self: stretch; background: linear-gradient(135deg, #efb52c, #d89412); border: 0; border-radius: 17px; box-shadow: 0 12px 28px rgba(183,125,12,.24); color: #042e3d; cursor: pointer; display: inline-flex; font-size: .88rem; font-weight: 850; gap: 12px; justify-content: center; min-width: 154px; padding: 0 21px; transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.cyn-search__submit svg { fill: none; height: 19px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; width: 19px; }
.cyn-search__submit:hover { box-shadow: 0 16px 34px rgba(183,125,12,.34); filter: saturate(1.08); transform: translateY(-2px); }
.cyn-search__submit:focus-visible, .cyn-search :where(input, select, button):focus-visible { outline: 3px solid rgba(24,167,170,.25); outline-offset: 2px; }
.cyn-search-date-native { height: 1px !important; opacity: 0; pointer-events: none; position: absolute; width: 1px !important; }
.cyn-search-date-trigger, .cyn-search-traveller-trigger { align-items: center; background: transparent; border: 0; color: #779098; cursor: pointer; display: flex; font-size: .91rem; font-weight: 650; justify-content: space-between; min-height: 28px; overflow: hidden; padding: 0; text-align: left; width: 100%; }
.cyn-search-date-trigger.has-value, .cyn-search-traveller-trigger { color: var(--cyn-navy-deep); font-weight: 750; }
.cyn-search-traveller-trigger > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cyn-search-traveller-trigger svg { fill: none; flex: 0 0 18px; height: 18px; stroke: var(--cyn-teal); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; transition: transform .2s ease; width: 18px; }
.cyn-search-field--travellers.is-open .cyn-search-traveller-trigger svg { transform: rotate(180deg); }
.cyn-search-service-native { height: 1px !important; opacity: 0; pointer-events: none; position: absolute; width: 1px !important; }
.cyn-search-service-trigger { align-items: center; background: transparent; border: 0; color: var(--cyn-navy-deep); cursor: pointer; display: flex; font-size: .93rem; font-weight: 750; gap: 8px; justify-content: space-between; min-height: 28px; overflow: hidden; padding: 0; text-align: left; width: 100%; }
.cyn-search-service-trigger__value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cyn-search-service-trigger__chevron { align-items: center; background: #e7f5f4; border-radius: 50%; color: var(--cyn-teal); display: flex; flex: 0 0 29px; height: 29px; justify-content: center; transition: background-color .2s ease, color .2s ease, transform .2s ease; width: 29px; }
.cyn-search-service-trigger__chevron svg { fill: none; height: 17px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; width: 17px; }
.cyn-search-field--service.is-open .cyn-search-service-trigger__chevron { background: var(--cyn-teal); color: #fff; transform: rotate(180deg); }
.cyn-search-service-panel { animation: cyn-search-pop .18s ease-out; background: rgba(255,255,255,.98); border: 1px solid #cfe1df; border-radius: 18px; box-shadow: 0 22px 60px rgba(2,38,50,.2); left: -48px; min-width: 245px; overflow: hidden; padding: 8px; position: absolute; top: calc(100% + 16px); z-index: 32; }
.cyn-search-service-option { align-items: center; background: transparent; border: 0; border-radius: 11px; color: var(--cyn-navy); cursor: pointer; display: flex; font-size: .82rem; font-weight: 750; gap: 11px; min-height: 43px; padding: 8px 10px; text-align: left; transition: background-color .15s ease, color .15s ease, transform .15s ease; width: 100%; }
.cyn-search-service-option:hover, .cyn-search-service-option:focus-visible { background: #eaf7f5; color: var(--cyn-teal); outline: 0; transform: translateX(2px); }
.cyn-search-service-option.is-selected { background: linear-gradient(135deg, #0b7285, #079c94); box-shadow: 0 7px 16px rgba(11,114,133,.2); color: #fff; }
.cyn-search-service-option__icon { align-items: center; background: rgba(11,114,133,.1); border-radius: 9px; display: flex; flex: 0 0 30px; font-size: .85rem; height: 30px; justify-content: center; width: 30px; }
.cyn-search-service-option.is-selected .cyn-search-service-option__icon { background: rgba(255,255,255,.18); }
.cyn-search-destination-panel { animation: cyn-search-pop .18s ease-out; background: rgba(255,255,255,.98); border: 1px solid #cfe1df; border-radius: 18px; box-shadow: 0 22px 60px rgba(2,38,50,.2); left: -48px; min-width: 335px; overflow: hidden; padding: 8px; position: absolute; top: calc(100% + 16px); z-index: 32; }
.cyn-search-destination-option { align-items: center; background: transparent; border: 0; border-radius: 12px; color: var(--cyn-navy); cursor: pointer; display: flex; gap: 12px; min-height: 58px; padding: 9px 11px; text-align: left; transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease; width: 100%; }
.cyn-search-destination-option:hover, .cyn-search-destination-option:focus-visible { background: #eaf7f5; box-shadow: inset 0 0 0 1px rgba(11,114,133,.09); outline: 0; transform: translateX(2px); }
.cyn-search-destination-option[aria-selected="true"] { background: linear-gradient(135deg, rgba(11,114,133,.11), rgba(239,181,44,.12)); }
.cyn-search-destination-option__marker { align-items: center; background: linear-gradient(135deg, #0b7285, #10a49a); border-radius: 11px; box-shadow: 0 6px 14px rgba(11,114,133,.2); color: #fff; display: flex; flex: 0 0 36px; height: 36px; justify-content: center; width: 36px; }
.cyn-search-destination-option__marker svg { fill: none; height: 19px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 19px; }
.cyn-search-destination-option__copy { display: grid; gap: 2px; min-width: 0; }
.cyn-search-destination-option__copy strong { color: var(--cyn-navy-deep); font-size: .84rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cyn-search-destination-option__copy small { color: #748b92; font-size: .67rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cyn-search-destination-empty { display: grid; gap: 3px; padding: 14px 13px; }
.cyn-search-destination-empty strong { color: var(--cyn-navy-deep); font-size: .82rem; }
.cyn-search-destination-empty span { color: #748b92; font-size: .7rem; line-height: 1.4; }
.cyn-search-calendar, .cyn-search-traveller-panel { animation: cyn-search-pop .18s ease-out; background: #fff; border: 1px solid #cfe1df; border-radius: 18px; box-shadow: 0 22px 60px rgba(2,38,50,.2); left: -50px; padding: 14px; position: absolute; top: calc(100% + 16px); width: 310px; z-index: 30; }
.cyn-search-traveller-panel { left: auto; right: -14px; width: 300px; }
@keyframes cyn-search-pop { from { opacity: 0; transform: translateY(-6px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
.cyn-search-calendar__header { align-items: center; display: grid; grid-template-columns: 38px 1fr 38px; margin-bottom: 10px; }
.cyn-search-calendar__month { color: var(--cyn-navy-deep); font-size: .94rem; text-align: center; }
.cyn-search-calendar__nav { align-items: center; background: #edf8f7; border: 0; border-radius: 50%; color: var(--cyn-teal); cursor: pointer; display: flex; height: 34px; justify-content: center; width: 34px; }
.cyn-search-calendar__nav:disabled { cursor: not-allowed; opacity: .35; }
.cyn-search-calendar__weekdays, .cyn-search-calendar__grid { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; }
.cyn-search-calendar__weekdays { color: #718991; font-size: .63rem; font-weight: 800; letter-spacing: .04em; margin-bottom: 5px; text-transform: uppercase; }
.cyn-search-calendar__weekdays span { padding-block: 5px; }
.cyn-search-calendar__day { aspect-ratio: 1; background: transparent; border: 0; border-radius: 50%; color: var(--cyn-navy); cursor: pointer; font-size: .78rem; font-weight: 700; margin: 2px; }
.cyn-search-calendar__day:hover:not(:disabled) { background: #e7f6f4; color: var(--cyn-teal); }
.cyn-search-calendar__day.is-today { box-shadow: inset 0 0 0 1px var(--cyn-teal); }
.cyn-search-calendar__day.is-selected { background: linear-gradient(135deg, var(--cyn-teal), #14a9a1); box-shadow: 0 6px 14px rgba(11,114,133,.25); color: #fff; }
.cyn-search-calendar__day:disabled { color: #c5d0d2; cursor: not-allowed; }
.cyn-search-calendar__footer { align-items: center; border-top: 1px solid #e2eceb; display: flex; justify-content: space-between; margin-top: 9px; padding-top: 10px; }
.cyn-search-calendar__action { background: transparent; border: 0; color: var(--cyn-teal); cursor: pointer; font-size: .74rem; font-weight: 800; padding: 5px; }
.cyn-search-calendar__action:disabled { opacity: .4; }
.cyn-search-counter { align-items: center; border-bottom: 1px solid #e2eceb; display: flex; justify-content: space-between; padding: 10px 2px 13px; }
.cyn-search-counter + .cyn-search-counter { padding-top: 14px; }
.cyn-search-counter strong, .cyn-search-counter small { display: block; }
.cyn-search-counter strong { color: var(--cyn-navy-deep); font-size: .86rem; }
.cyn-search-counter small { color: #718991; font-size: .7rem; margin-top: 2px; }
.cyn-search-counter__actions { align-items: center; display: grid; gap: 8px; grid-template-columns: 34px 28px 34px; text-align: center; }
.cyn-search-counter__actions button { align-items: center; background: #edf8f7; border: 1px solid #cce4e1; border-radius: 50%; color: var(--cyn-teal); cursor: pointer; display: flex; font-size: 1.1rem; height: 34px; justify-content: center; width: 34px; }
.cyn-search-counter__actions button:hover:not(:disabled) { background: var(--cyn-teal); color: #fff; }
.cyn-search-counter__actions button:disabled { cursor: not-allowed; opacity: .35; }
.cyn-search-counter__actions output { color: var(--cyn-navy-deep); font-size: .9rem; font-weight: 850; }
.cyn-search-traveller-panel__note { color: #70878f; font-size: .68rem; margin: 11px 0; text-align: center; }
.cyn-search-traveller-done { background: var(--cyn-navy); border: 0; border-radius: 10px; color: #fff; cursor: pointer; font-size: .78rem; font-weight: 800; min-height: 38px; width: 100%; }
.cyn-search-results { padding-top: 64px; }
.cyn-results-heading__summary { color: var(--cyn-teal); font-size: .9rem; font-weight: 750; margin: 10px 0 0; }
.cyn-results-heading__aside { align-items: flex-end; display: flex; flex-direction: column; gap: 10px; max-width: 390px; text-align: right; }
.cyn-results-heading__aside p { color: var(--cyn-muted); font-size: .88rem; margin: 0; }
.cyn-empty { background: linear-gradient(135deg, #f3fbfa, #fffaf0); border: 1px solid #d8e9e7; border-radius: 24px; box-shadow: 0 18px 45px rgba(2,38,50,.08); padding: 54px 28px; text-align: center; }
.cyn-empty__icon { align-items: center; background: linear-gradient(135deg, var(--cyn-teal), #21b8ad); border-radius: 50%; color: #fff; display: flex; font-size: 1.1rem; height: 48px; justify-content: center; margin: 0 auto 18px; width: 48px; }
.cyn-empty__actions { align-items: center; display: flex; gap: 24px; justify-content: center; margin-top: 26px; }

.cyn-section { padding-block: 96px; }
.cyn-section--tint { background: var(--cyn-cloud); }
.cyn-section-heading { align-items: end; display: flex; gap: 40px; justify-content: space-between; margin-bottom: 34px; }
.cyn-section-heading h2, .cyn-story h2, .cyn-services h2, .cyn-cta h2, .cyn-results-heading h2 { color: var(--cyn-navy); font-size: clamp(2rem, 3vw, 3.5rem); letter-spacing: -.04em; line-height: 1; margin: 0; }
.cyn-section-heading > a { border-bottom: 1px solid rgba(6,56,75,.3); color: var(--cyn-navy); font-size: .84rem; font-weight: 800; padding-bottom: 4px; white-space: nowrap; }
.cyn-section-heading > p { color: var(--cyn-muted); font-size: .9rem; margin: 0; max-width: 350px; }

.cyn-destination-grid { display: grid; gap: 14px; grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(2, 240px); }
.cyn-destination { border-radius: 18px; grid-column: span 3; overflow: hidden; position: relative; }
.cyn-destination:first-child { grid-column: span 5; grid-row: span 2; }
.cyn-destination:nth-child(2) { grid-column: span 4; }
.cyn-destination:nth-child(5) { grid-column: span 4; }
.cyn-destination img { height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); width: 100%; }
.cyn-destination::after { background: linear-gradient(180deg, transparent 30%, rgba(2,38,50,.88)); content: ""; inset: 0; position: absolute; }
.cyn-destination:hover img { transform: scale(1.045); }
.cyn-destination > span { bottom: 0; color: #fff; display: grid; left: 0; padding: 22px; position: absolute; right: 0; z-index: 1; }
.cyn-destination strong { font-size: 1.4rem; }
.cyn-destination small { color: rgba(255,255,255,.78); }

.cyn-card-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.cyn-card-grid--four { grid-template-columns: repeat(4, minmax(0,1fr)); }
.cyn-card { background: #fff; border: 1px solid var(--cyn-line); border-radius: 18px; box-shadow: 0 9px 30px rgba(2,38,50,.06); display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: transform .26s ease, box-shadow .26s ease; }
.cyn-card:hover { box-shadow: 0 18px 42px rgba(2,38,50,.12); transform: translateY(-5px); }
.cyn-card__media { aspect-ratio: 1.36; display: block; overflow: hidden; position: relative; }
.cyn-card__media::after { background: linear-gradient(180deg, rgba(2,38,50,.08), transparent 50%); content: ""; inset: 0; position: absolute; }
.cyn-card__media img { height: 100%; object-fit: cover; transition: transform .5s ease; width: 100%; }
.cyn-card:hover .cyn-card__media img { transform: scale(1.04); }
.cyn-card__type, .cyn-card__badge { border-radius: 999px; font-size: .67rem; font-weight: 800; padding: 7px 11px; position: absolute; top: 14px; z-index: 1; }
.cyn-card__type { background: rgba(255,255,255,.92); color: var(--cyn-navy); left: 14px; }
.cyn-card__badge { background: var(--cyn-gold); color: var(--cyn-navy-deep); right: 14px; }
.cyn-card__body { display: flex; flex: 1; flex-direction: column; padding: 21px; }
.cyn-card__location { color: var(--cyn-teal); font-size: .72rem; font-weight: 800; letter-spacing: .06em; margin: 0 0 7px; text-transform: uppercase; }
.cyn-card h3 { color: var(--cyn-navy); font-size: 1.35rem; letter-spacing: -.025em; line-height: 1.1; margin: 0 0 10px; }
.cyn-card__body > p:not(.cyn-card__location) { color: var(--cyn-muted); font-size: .88rem; margin: 0 0 18px; }
.cyn-card__meta { align-items: center; border-top: 1px solid var(--cyn-line); display: flex; gap: 12px; justify-content: space-between; margin-top: auto; padding-top: 15px; }
.cyn-card__meta span { color: var(--cyn-muted); font-size: .78rem; }
.cyn-card__meta strong { color: var(--cyn-navy); font-size: .92rem; }
.cyn-card__quote-link { color: var(--cyn-teal); font-size: .84rem; font-weight: 800; }
.cyn-card__quote-link:hover { color: var(--cyn-navy); }
.cyn-card__link { color: var(--cyn-teal); font-size: .82rem; font-weight: 800; margin-top: 13px; }

.cyn-story { align-items: stretch; background: var(--cyn-sand); display: grid; grid-template-columns: 1.1fr .9fr; }
.cyn-story__media { min-height: 590px; }
.cyn-story__media img { height: 100%; object-fit: cover; width: 100%; }
.cyn-story__content { align-self: center; max-width: 640px; padding: 80px clamp(38px, 6vw, 96px); }
.cyn-story__content > p:not(.cyn-eyebrow) { color: var(--cyn-muted); font-size: 1.04rem; }
.cyn-check-list { display: grid; gap: 9px; list-style: none; margin: 24px 0 30px; padding: 0; }
.cyn-check-list li::before { color: var(--cyn-gold-dark); content: "✓"; font-weight: 900; margin-right: 10px; }

.cyn-services { background: var(--cyn-navy-deep); color: #fff; padding-block: 92px; }
.cyn-services .cyn-eyebrow { color: #80d0d4; }
.cyn-services h2 { color: #fff; max-width: 580px; }
.cyn-services__grid { border-top: 1px solid rgba(255,255,255,.18); display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 42px; }
.cyn-services__grid a { border-right: 1px solid rgba(255,255,255,.18); display: grid; min-height: 180px; padding: 28px; transition: background-color .2s ease; }
.cyn-services__grid a:hover { background: rgba(255,255,255,.06); }
.cyn-services__grid span { color: var(--cyn-gold); font-size: .72rem; font-weight: 800; }
.cyn-services__grid strong { align-self: end; font-size: 1.35rem; }
.cyn-services__grid small { color: rgba(255,255,255,.64); }

.cyn-cta { background: #fff; padding-block: 64px; }
.cyn-cta__inner { align-items: center; background: linear-gradient(115deg, var(--cyn-cloud), var(--cyn-sand)); border-radius: 26px; display: flex; gap: 40px; justify-content: space-between; padding: 58px 64px; }
.cyn-cta h2 { max-width: 720px; }
.cyn-cta p:not(.cyn-eyebrow) { color: var(--cyn-muted); margin-bottom: 0; }

.cyn-page-hero { align-items: end; color: #fff; display: flex; min-height: 510px; overflow: hidden; position: relative; }
.cyn-page-hero > .cyn-container { padding-bottom: 80px; position: relative; z-index: 1; }
.cyn-page-hero h1 { font-size: clamp(2.8rem, 5vw, 5.3rem); letter-spacing: -.05em; line-height: .94; margin: 0; max-width: 850px; }
.cyn-page-hero .cyn-container > p:last-child { color: rgba(255,255,255,.82); font-size: 1.1rem; max-width: 680px; }
.cyn-page-hero--compact { background: var(--cyn-navy); min-height: 340px; }
.cyn-page-hero--compact > .cyn-container { padding-top: 80px; }
.cyn-form-shell { background: var(--cyn-cloud); }
.cyn-form-shell__intro { margin-bottom: 28px; max-width: 700px; }
.cyn-form-shell__intro h2 { color: var(--cyn-navy); font-size: 2.5rem; margin: 0 0 8px; }
.cyn-form-shell__intro > p:last-child { color: var(--cyn-muted); }

.cyn-results-heading { align-items: end; display: flex; gap: 40px; justify-content: space-between; margin-bottom: 32px; }
.cyn-results-heading > p { color: var(--cyn-muted); max-width: 390px; }
.page-numbers { display: flex; gap: 8px; justify-content: center; list-style: none; margin: 44px 0 0; padding: 0; }
.page-numbers a, .page-numbers span { align-items: center; border: 1px solid var(--cyn-line); border-radius: 50%; display: flex; height: 42px; justify-content: center; width: 42px; }
.page-numbers .current { background: var(--cyn-navy); color: #fff; }
.cyn-empty { background: var(--cyn-cloud); border: 1px solid var(--cyn-line); border-radius: 20px; padding: 38px; text-align: center; }
.cyn-empty h2 { color: var(--cyn-navy); margin-top: 0; }

.cyn-detail-hero { align-items: end; color: #fff; display: flex; min-height: 640px; overflow: hidden; position: relative; }
.cyn-detail-hero__content { padding-bottom: 72px; position: relative; z-index: 1; }
.cyn-detail-hero h1 { font-size: clamp(3rem, 5vw, 5.4rem); letter-spacing: -.05em; line-height: .92; margin: 0; max-width: 900px; }
.cyn-detail-hero__meta { align-items: center; display: flex; gap: 20px; margin-top: 24px; }
.cyn-detail-hero__meta span, .cyn-detail-hero__meta strong, .cyn-detail-hero__quote { background: rgba(255,255,255,.94); border-radius: 999px; color: var(--cyn-navy); padding: 9px 15px; }
.cyn-detail-hero__quote { font-weight: 800; }
.cyn-detail-hero__quote:hover { background: var(--cyn-gold); }
.cyn-detail-grid { align-items: start; display: grid; gap: 72px; grid-template-columns: minmax(0,1.5fr) minmax(340px,.7fr); }
.cyn-prose { color: var(--cyn-muted); font-size: 1rem; padding-block: 76px; }
.cyn-prose > * { max-width: 780px; }
.cyn-prose h2, .cyn-prose h3 { color: var(--cyn-navy); line-height: 1.1; }
.cyn-prose h2 { font-size: 2rem; margin-top: 42px; }
.cyn-lead { color: var(--cyn-ink); font-size: 1.25rem; }
.cyn-info-note { background: var(--cyn-sand); border-left: 4px solid var(--cyn-gold); margin-top: 42px; padding: 24px; }
.cyn-info-note p { margin-bottom: 0; }
.cyn-detail-enquiry { background: var(--cyn-cloud); border: 1px solid var(--cyn-line); border-radius: 22px; padding: 28px; position: sticky; scroll-margin-top: 130px; top: 140px; }
.cyn-detail-enquiry h2 { color: var(--cyn-navy); font-size: 2rem; margin: 0 0 8px; }
.cyn-detail-content { margin-inline: auto; max-width: 860px; padding-block: 10px; }
.cyn-detail-content__action { border-top: 1px solid var(--cyn-line); margin-top: 38px; padding-top: 30px; }
.cyn-enquiry-hero { background: linear-gradient(135deg, var(--cyn-navy-deep), var(--cyn-teal)); }
.cyn-form-shell--listing { min-height: 60vh; }
.cyn-enquiry-page { max-width: 920px; }
.cyn-enquiry-page__back { color: var(--cyn-navy); margin-bottom: 24px; }
.cyn-enquiry-page > .cyn-form { margin-inline: auto; width: 100%; }

.cyn-content-grid { padding-block: 80px; }
.cyn-not-found { align-items: center; background: var(--cyn-cloud); display: flex; min-height: 70vh; text-align: center; }
.cyn-not-found h1 { color: var(--cyn-navy); font-size: clamp(2.6rem, 6vw, 5rem); letter-spacing: -.05em; line-height: .95; }
.cyn-not-found p { color: var(--cyn-muted); }
.cyn-not-found div > div { align-items: center; display: flex; gap: 22px; justify-content: center; }

.cyn-footer { background: var(--cyn-navy-deep); color: rgba(255,255,255,.7); padding-top: 68px; }
.cyn-footer__grid { display: grid; gap: 54px; grid-template-columns: 1.5fr .7fr .7fr 1fr; }
.cyn-footer .cyn-logo { filter: brightness(0) invert(1); max-width: 200px; }
.cyn-footer__brand p { max-width: 360px; }
.cyn-footer h2 { color: #fff; font-size: .76rem; letter-spacing: .12em; margin: 0 0 18px; text-transform: uppercase; }
.cyn-footer ul { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.cyn-footer a:hover { color: #fff; }
.cyn-footer__contact { display: grid; gap: 8px; }
.cyn-footer__contact a { color: #fff; font-weight: 700; }
.cyn-footer__bottom { align-items: center; border-top: 1px solid rgba(255,255,255,.14); display: flex; font-size: .74rem; justify-content: space-between; margin-top: 55px; min-height: 74px; }
.cyn-footer__bottom nav { display: flex; gap: 18px; }

/* Polished companion-plugin form system */
.cynettell-modern .cyn-form {
	--cyn-form-primary: var(--cyn-navy);
	--cyn-form-accent: var(--cyn-gold);
	--cyn-form-accent-strong: #edb836;
	--cyn-form-border: #cfe1e1;
	background:
		radial-gradient(circle at 100% 0, rgba(24,167,170,.12), transparent 28%),
		linear-gradient(180deg, #fff 0%, #fbfdfd 100%);
	border: 1px solid rgba(11,114,133,.18);
	border-radius: 28px;
	box-shadow: 0 30px 80px rgba(2,38,50,.14), 0 2px 8px rgba(2,38,50,.05);
	color: var(--cyn-ink);
	overflow: hidden;
	padding: clamp(24px, 4.5vw, 52px);
	position: relative;
}
.cynettell-modern .cyn-form::before {
	background: linear-gradient(90deg, var(--cyn-teal), var(--cyn-turquoise) 48%, var(--cyn-gold));
	content: "";
	height: 6px;
	inset: 0 0 auto;
	position: absolute;
}
.cynettell-modern .cyn-form fieldset {
	background: linear-gradient(145deg, rgba(242,247,246,.92), rgba(255,255,255,.94));
	border: 1px solid rgba(11,114,133,.12);
	border-radius: 20px;
	box-shadow: 0 12px 32px rgba(2,38,50,.055);
	margin: 0 0 24px;
	padding: clamp(20px, 3vw, 30px);
}
.cynettell-modern .cyn-form fieldset.cyn-form-section--trip,
.cynettell-modern .cyn-form fieldset.cyn-form-section--flight,
.cynettell-modern .cyn-form fieldset.cyn-form-section--journey {
	background: linear-gradient(145deg, #fffaf0, #fff 68%);
	border-color: rgba(217,163,41,.24);
}
.cynettell-modern .cyn-form fieldset.cyn-form-section--services,
.cynettell-modern .cyn-form fieldset.cyn-form-section--travellers {
	background: linear-gradient(145deg, #eefafb, #fff 70%);
	border-color: rgba(24,167,170,.22);
}
.cynettell-modern .cyn-form fieldset.cyn-form-section--requests,
.cynettell-modern .cyn-form fieldset.cyn-form-section--review,
.cynettell-modern .cyn-form fieldset.cyn-form-section--message {
	background: linear-gradient(145deg, #f7f3ff, #fff 72%);
	border-color: rgba(94,79,162,.16);
}
.cynettell-modern .cyn-form-section legend {
	align-items: center;
	color: var(--cyn-navy);
	display: flex;
	font-size: clamp(1.4rem, 2.5vw, 1.9rem);
	gap: 12px;
	line-height: 1.05;
	margin: 0 0 12px;
}
.cynettell-modern .cyn-form-section legend::before {
	align-items: center;
	background: linear-gradient(135deg, var(--cyn-navy), var(--cyn-teal));
	border: 4px solid rgba(255,255,255,.9);
	border-radius: 50%;
	box-shadow: 0 6px 18px rgba(6,56,75,.2);
	color: #fff;
	content: "✦";
	display: inline-flex;
	flex: 0 0 42px;
	font-size: .9rem;
	height: 42px;
	justify-content: center;
}
.cynettell-modern .cyn-form-section__intro { color: var(--cyn-muted); margin: -3px 0 22px 54px; }
.cynettell-modern .cyn-field { gap: 8px; }
.cynettell-modern .cyn-field > span,
.cynettell-modern .cyn-checkbox-group > span {
	color: var(--cyn-navy);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .035em;
}
.cynettell-modern .cyn-form :where(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
	background: rgba(255,255,255,.92);
	border: 1px solid #c9dddd;
	border-radius: 13px;
	box-shadow: inset 0 1px 2px rgba(2,38,50,.035);
	color: var(--cyn-navy-deep);
	font-family: var(--cyn-font);
	min-height: 56px;
	padding: 13px 15px;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}
.cynettell-modern .cyn-form textarea { min-height: 132px; }
.cynettell-modern .cyn-form :where(input:not([type="checkbox"]), select, textarea):hover { border-color: rgba(11,114,133,.48); }
.cynettell-modern .cyn-form :where(input:not([type="checkbox"]), select, textarea):focus {
	background: #fff;
	border-color: var(--cyn-teal);
	box-shadow: 0 0 0 4px rgba(24,167,170,.14), 0 10px 24px rgba(2,38,50,.07);
	outline: 0;
	transform: translateY(-1px);
}
.cynettell-modern .cyn-form :where(input, textarea)::placeholder { color: #8aa0a5; }

/* Refined native dropdowns: keep reliable platform behaviour while presenting
   a consistent Cynettell control across enquiry and search experiences. */
.cynettell-modern .cyn-form select {
	-webkit-appearance: none;
	appearance: none;
	background-color: rgba(255,255,255,.96);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Ccircle cx='17' cy='17' r='16' fill='%23edf8f8'/%3E%3Cpath d='m12.5 15 4.5 4.5 4.5-4.5' fill='none' stroke='%230b7285' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"), linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,251,250,.98)) !important;
	background-position: right 11px center, 0 0 !important;
	background-repeat: no-repeat !important;
	background-size: 34px 34px, 100% 100% !important;
	color-scheme: light;
	cursor: pointer;
	font-weight: 650;
	padding-right: 56px;
}
.cynettell-modern .cyn-form select:hover { filter: saturate(1.04); }
.cynettell-modern .cyn-form select:focus,
.cynettell-modern .cyn-form select:focus-visible {
	filter: none;
}
.cynettell-modern .cyn-form select:disabled {
	background-color: #eef3f3;
	cursor: not-allowed;
	opacity: .68;
}
.cynettell-modern .cyn-form select option,
.cynettell-modern .cyn-form select optgroup {
	background: #fff;
	color: var(--cyn-navy-deep);
	font-family: var(--cyn-font);
	font-weight: 600;
}
.cynettell-modern .cyn-field:has(select):focus-within > span { color: var(--cyn-teal); }
.cynettell-modern .cyn-form select::-ms-expand { display: none; }

.cynettell-modern .cyn-search select {
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='13' fill='%23edf8f8'/%3E%3Cpath d='m10.5 12.5 3.5 3.5 3.5-3.5' fill='none' stroke='%230b7285' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: right 2px center;
	background-repeat: no-repeat;
	background-size: 28px 28px;
	color-scheme: light;
	cursor: pointer;
	padding-right: 36px;
}
.cynettell-modern .cyn-search select:focus-visible {
	border-radius: 7px;
	box-shadow: 0 0 0 3px rgba(24,167,170,.15);
}
.cynettell-modern .cyn-search select option { background: #fff; color: var(--cyn-navy-deep); }
.cynettell-modern .cyn-search select::-ms-expand { display: none; }
.cynettell-modern .cyn-checkbox-group { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.cynettell-modern .cyn-checkbox-group > span { grid-column: 1 / -1; }
.cynettell-modern .cyn-checkbox-group label {
	background: rgba(255,255,255,.9);
	border: 1px solid #cfe1e1;
	border-radius: 14px;
	color: var(--cyn-navy);
	cursor: pointer;
	font-weight: 700;
	min-height: 58px;
	padding: 12px 14px;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.cynettell-modern .cyn-checkbox-group label:hover { border-color: var(--cyn-teal); box-shadow: 0 8px 20px rgba(2,38,50,.08); transform: translateY(-2px); }
.cynettell-modern .cyn-checkbox-group label:has(input:checked) { background: linear-gradient(135deg, var(--cyn-navy), var(--cyn-teal)); border-color: transparent; box-shadow: 0 10px 24px rgba(6,56,75,.2); color: #fff; }
.cynettell-modern .cyn-checkbox-group input { accent-color: var(--cyn-gold); }
.cynettell-modern .cyn-form-context {
	background: linear-gradient(120deg, var(--cyn-navy-deep), var(--cyn-teal));
	border: 0;
	border-radius: 18px;
	box-shadow: 0 16px 36px rgba(2,38,50,.2);
	margin-bottom: 28px;
	overflow: hidden;
	padding: 22px 24px 22px 30px;
	position: relative;
}
.cynettell-modern .cyn-form-context::before { background: var(--cyn-gold); content: ""; inset: 0 auto 0 0; position: absolute; width: 6px; }
.cynettell-modern .cyn-form-context span { color: rgba(255,255,255,.7); letter-spacing: .12em; }
.cynettell-modern .cyn-form-context strong { color: #fff; font-size: clamp(1.25rem, 3vw, 1.7rem); }
.cynettell-modern .cyn-form-progress { gap: 0; margin-bottom: 32px; }
.cynettell-modern .cyn-form-progress li {
	color: #70878d;
	display: grid;
	font-weight: 750;
	gap: 9px;
	grid-template-rows: 40px auto;
	justify-items: center;
	min-width: 0;
	padding-inline: 8px;
	text-align: center;
}
.cynettell-modern .cyn-form-progress li:not(:last-child)::after {
	background: linear-gradient(90deg, #cbdede, #e6eeee);
	height: 3px;
	left: calc(50% + 22px);
	margin: 0;
	position: absolute;
	top: 19px;
	width: calc(100% - 44px);
}
.cynettell-modern .cyn-form-progress span {
	align-self: center;
	aspect-ratio: 1;
	background: #e7f0f0;
	border: 3px solid #fff;
	border-radius: 50%;
	box-sizing: border-box;
	box-shadow: 0 0 0 1px #cfdfdf;
	flex: 0 0 40px;
	height: 40px;
	min-width: 40px;
	position: relative;
	width: 40px;
	z-index: 1;
}
.cynettell-modern .cyn-form-progress li[aria-current="step"] { color: var(--cyn-navy); }
.cynettell-modern .cyn-form-progress li[aria-current="step"] span { background: linear-gradient(135deg, var(--cyn-navy), var(--cyn-teal)); box-shadow: 0 0 0 4px rgba(24,167,170,.15); }
.cynettell-modern .cyn-form-progress li.is-complete span { background: var(--cyn-gold); color: var(--cyn-navy-deep); }
.cynettell-modern .cyn-form [data-cyn-form-step]:not([hidden]) { animation: cyn-form-reveal .35s cubic-bezier(.2,.7,.2,1); }
@keyframes cyn-form-reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.cynettell-modern .cyn-form-submit,
.cynettell-modern .cyn-form-next {
	background: linear-gradient(135deg, var(--cyn-gold), #f0bf4f);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(183,125,12,.24);
	color: var(--cyn-navy-deep);
	font-weight: 800;
	min-height: 54px;
	padding: 13px 26px;
	transition: box-shadow .2s ease, transform .2s ease, filter .2s ease;
}
.cynettell-modern .cyn-form-submit:hover,
.cynettell-modern .cyn-form-next:hover { box-shadow: 0 16px 34px rgba(183,125,12,.32); filter: saturate(1.08); transform: translateY(-2px); }
.cynettell-modern .cyn-form-back { background: rgba(255,255,255,.9); border: 1px solid #c8dddd; border-radius: 999px; color: var(--cyn-navy); }
.cynettell-modern .cyn-form-review { background: linear-gradient(145deg, #edf8f8, #fff); border-color: rgba(11,114,133,.18); border-radius: 16px; padding: 24px; }
.cynettell-modern .cyn-form-consent { background: #fff8e8; border-left: 4px solid var(--cyn-gold); border-radius: 0 10px 10px 0; color: #665322; padding: 12px 15px; }
.cynettell-modern .cyn-form-notice { border-radius: 16px; box-shadow: 0 12px 30px rgba(2,38,50,.08); }

@media (max-width: 720px) {
	.cynettell-modern .cyn-form { border-radius: 20px; padding: 22px 16px; }
	.cynettell-modern .cyn-form fieldset { border-radius: 16px; padding: 20px 16px; }
	.cynettell-modern .cyn-form-section__intro { margin-left: 0; }
	.cynettell-modern .cyn-checkbox-group { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.cynettell-modern .cyn-form-progress li { font-size: .68rem; grid-template-rows: 34px auto; padding-inline: 3px; }
	.cynettell-modern .cyn-form-progress span { flex-basis: 34px; height: 34px; min-width: 34px; width: 34px; }
	.cynettell-modern .cyn-form-progress li:not(:last-child)::after { left: calc(50% + 20px); top: 16px; width: calc(100% - 40px); }
}

@media (max-width: 480px) {
	.cynettell-modern .cyn-checkbox-group { grid-template-columns: 1fr; }
	.cynettell-modern .cyn-form-progress li { font-size: 0; }
	.cynettell-modern .cyn-form-progress span { font-size: .75rem; }
}

@media (max-width: 1360px) {
	.cyn-header__main { min-height: 74px; }
	.cyn-header__brand { order: 1; }
	.cyn-header-whatsapp { margin-left: auto; order: 2; }
	.cyn-nav-toggle { align-items: center; display: flex; height: 44px; justify-content: center; order: 3; width: 44px; }
	.cyn-nav { align-items: stretch; background: #fff; box-shadow: 0 20px 40px rgba(2,38,50,.12); display: none; flex-direction: column; left: 0; padding: 18px 28px 28px; position: absolute; right: 0; top: 106px; }
	.cyn-header.is-open .cyn-nav { display: flex; }
	.cyn-header.is-open .cyn-nav-toggle__icon i:first-child { transform: translateY(4px) rotate(45deg); }
	.cyn-header.is-open .cyn-nav-toggle__icon i:last-child { transform: translateY(-4px) rotate(-45deg); }
	.cyn-nav__list { align-items: stretch; display: grid; gap: 0; grid-template-columns: repeat(3, 1fr); }
	.cyn-nav__list a { border-bottom: 1px solid var(--cyn-line); padding: 13px 4px; }
	.cyn-nav__list a::after { display: none; }
	.cyn-nav__cta { align-self: flex-start; }
	.cyn-search { grid-template-columns: 215px minmax(0,1fr) 146px; }
	.cyn-search__intro { padding-inline: 17px; }
	.cyn-search__fields { grid-template-columns: 1fr 1.35fr 1fr 1.1fr; }
	.cyn-search__submit { min-width: 146px; padding-inline: 15px; }
	.cyn-card-grid--four { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
	body.admin-bar .cyn-header { top: 46px; }
	.cyn-header__utility { display: none; }
	.cyn-nav { top: 74px; }
	.cyn-nav__list { grid-template-columns: 1fr; }
	.cyn-hero { min-height: 650px; }
	.cyn-hero__content { padding-bottom: 130px; padding-top: 92px; }
	.cyn-hero__note { bottom: 52px; width: 54vw; }
	.cyn-search-wrap { margin-top: -38px; }
	.cyn-search { grid-template-columns: 1fr; }
	.cyn-search__intro { min-height: 92px; }
	.cyn-search__fields { grid-template-columns: 1fr 1fr; }
	.cyn-search .cyn-search-field { border-bottom: 1px solid #d6e7e6; border-right: 1px solid #d6e7e6; min-height: 76px; }
	.cyn-search .cyn-search-field:nth-child(2n) { border-right: 0; }
	.cyn-search .cyn-search-field:nth-last-child(-n+2) { border-bottom: 0; }
	.cyn-search__submit { min-height: 58px; width: 100%; }
	.cyn-results-heading__aside { align-items: flex-start; text-align: left; }
	.cyn-section { padding-block: 72px; }
	.cyn-destination-grid { grid-template-rows: repeat(3, 220px); }
	.cyn-destination, .cyn-destination:first-child, .cyn-destination:nth-child(2), .cyn-destination:nth-child(5) { grid-column: span 6; grid-row: span 1; }
	.cyn-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.cyn-story { grid-template-columns: 1fr; }
	.cyn-story__media { min-height: 420px; }
	.cyn-services__grid { grid-template-columns: repeat(2,1fr); }
	.cyn-cta__inner { align-items: flex-start; flex-direction: column; padding: 42px; }
	.cyn-detail-grid { gap: 38px; grid-template-columns: 1fr; }
	.cyn-detail-enquiry { position: static; }
	.cyn-footer__grid { grid-template-columns: 1.2fr .8fr .8fr; }
	.cyn-footer__contact { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
	body { font-size: 16px; }
	.cyn-container { padding-inline: 18px; }
	.cyn-logo { max-width: 170px; }
	.cyn-header__main { min-height: 70px; }
	.cyn-header__main { gap: 9px; }
	.cyn-header-whatsapp { border-radius: 50%; height: 44px; min-height: 44px; padding: 0; width: 44px; }
	.cyn-header-whatsapp__icon { background: transparent; height: 32px; width: 32px; }
	.cyn-header-whatsapp__label { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
	.cyn-nav { top: 70px; }
	.cyn-hero { min-height: 630px; }
	.cyn-hero__veil, .cyn-page-hero__veil, .cyn-detail-hero__veil { background: linear-gradient(180deg, rgba(2,38,50,.35), rgba(2,38,50,.92)); }
	.cyn-hero__content { padding-bottom: 118px; padding-top: 82px; }
	.cyn-hero h1 { font-size: 3.15rem; }
	.cyn-hero__content > p:not(.cyn-eyebrow) { font-size: 1rem; }
	.cyn-hero__actions { align-items: flex-start; flex-direction: column; gap: 18px; }
	.cyn-hero__note { bottom: 26px; padding: 13px 18px; width: calc(100% - 36px); }
	.cyn-search-wrap { background: var(--cyn-cloud); margin-top: 0; padding-block: 18px 42px; }
	.cyn-search { border-radius: 19px; gap: 10px; grid-template-columns: 1fr; padding: 10px; }
	.cyn-search::before { border-radius: 19px 19px 0 0; }
	.cyn-search__intro { border-radius: 14px; min-height: 96px; }
	.cyn-search__fields { border-radius: 14px; grid-template-columns: 1fr; }
	.cyn-search .cyn-search-field, .cyn-search .cyn-search-field:nth-child(2n), .cyn-search .cyn-search-field:nth-last-child(-n+2) { border-bottom: 1px solid #d6e7e6; border-right: 0; min-height: 72px; }
	.cyn-search .cyn-search-field:last-child { border-bottom: 0; }
	.cyn-search-calendar, .cyn-search-traveller-panel, .cyn-search-service-panel, .cyn-search-destination-panel { left: -48px; right: auto; width: min(310px, calc(100vw - 48px)); }
	.cyn-search-field--travellers .cyn-search-traveller-panel { left: -48px; right: auto; }
	.cyn-search-results { padding-top: 48px; }
	.cyn-empty { padding: 42px 22px; }
	.cyn-empty__actions { align-items: stretch; flex-direction: column; gap: 18px; }
	.cyn-section-heading, .cyn-results-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
	.cyn-section-heading h2, .cyn-story h2, .cyn-services h2, .cyn-cta h2, .cyn-results-heading h2 { font-size: 2.35rem; }
	.cyn-destination-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: none; }
	.cyn-destination, .cyn-destination:first-child, .cyn-destination:nth-child(2), .cyn-destination:nth-child(5) { aspect-ratio: 1.28; grid-column: auto; }
	.cyn-card-grid, .cyn-card-grid--four { grid-template-columns: 1fr; }
	.cyn-story__media { min-height: 330px; }
	.cyn-story__content { padding: 54px 22px; }
	.cyn-services__grid { grid-template-columns: 1fr; }
	.cyn-services__grid a { border-bottom: 1px solid rgba(255,255,255,.18); border-right: 0; min-height: 145px; }
	.cyn-cta__inner { padding: 32px 24px; }
	.cyn-page-hero { min-height: 430px; }
	.cyn-page-hero > .cyn-container { padding-bottom: 48px; }
	.cyn-page-hero h1 { font-size: 3rem; }
	.cyn-detail-hero { min-height: 540px; }
	.cyn-detail-hero h1 { font-size: 3.05rem; }
	.cyn-footer__grid { grid-template-columns: 1fr 1fr; }
	.cyn-footer__brand, .cyn-footer__contact { grid-column: 1 / -1; }
	.cyn-footer__bottom { align-items: flex-start; flex-direction: column; gap: 10px; padding-block: 20px; }
	.cynettell-modern .cyn-form { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

