.status-page{min-height:100vh;background:var(--cream);display:grid;place-items:center}.status-shell{width:min(620px,calc(100% - 32px))}.status-window{background:#fff;border:3px outset #eadfca;box-shadow:8px 8px 0 #123b4a}.status-titlebar{display:flex;justify-content:space-between;padding:8px 10px;background:var(--dark);color:#fff;font:700 13px 'Space Grotesk'}.status-content{padding:44px 42px}.status-icon,.status-code{display:grid;place-items:center;width:64px;height:64px;margin-bottom:22px;background:var(--orange);color:#102b31;border:3px outset #eadfca;box-shadow:3px 3px 0 #123b4a;font:700 30px 'Space Grotesk'}.status-code{width:auto;height:auto;display:inline-block;padding:4px 9px;font-size:21px}.status-content h1{font-size:clamp(40px,7vw,64px);line-height:1;letter-spacing:-3px;margin:10px 0 18px;color:var(--ink)}.status-content>p:not(.section-kicker){max-width:480px;color:var(--muted);line-height:1.55}.status-actions{display:flex;align-items:center;gap:22px;margin-top:28px}.status-link{color:var(--orange-dark);font-size:13px;font-weight:700}.status-link:hover{color:var(--dark)}@media(prefers-color-scheme:dark){.status-page{background:#173238}.status-window{background:#203f44;border-color:#668487}.status-titlebar{background:#102b31}.status-content h1{color:#e7f3ef}.status-content>p:not(.section-kicker){color:#b1c8c4}.status-link{color:#65e3e7}}@media(max-width:520px){.status-content{padding:32px 25px}.status-actions{align-items:flex-start;flex-direction:column;gap:15px}}
.package-card:not(.package-featured){background:#fff!important;color:#123b4a!important;border-color:#9fb9b4!important}.package-card:not(.package-featured) .package-subtitle,.package-card:not(.package-featured) ul{color:#526b70}.package-card:not(.package-featured) li{border-color:#c7d6d2}@media(prefers-color-scheme:dark){.package-card:not(.package-featured){background:#203f44!important;color:#e7f3ef!important;border-color:#527477!important}.package-card:not(.package-featured) .package-subtitle,.package-card:not(.package-featured) ul{color:#b1c8c4}.package-card:not(.package-featured) li{border-color:#527477}}
.dark-mode-surfaces{display:none}@media(prefers-color-scheme:dark){body{background:#173238!important;color:#e7f3ef!important}.service-section{background:#102b31!important}.package-page,.service-page{background:#304a4d!important}.intro-band,.contact-section{background:#304a4d!important}.package-detail,.service-detail{background:#173238!important}.package-nav,.service-nav,.site-header{background:#173238!important}.button-primary,.button-dark,.cart-toggle,.service-add{background:#20c4cf!important;color:#102b31!important}.travel-checker,.booking-panel,.service-booking{background:#203f44!important;color:#e7f3ef!important}}
.dark-mode-note{color:#d8f3ef}@media(prefers-color-scheme:dark){:root{--ink:#e7f3ef;--muted:#b1c8c4;--cream:#304a4d;--paper:#173238;--orange:#20c4cf;--orange-dark:#65e3e7;--teal:#28d1d3;--line:#527477;--dark:#102b31}body{background:var(--paper);color:var(--ink)}.site-header,.package-nav,.service-nav,.site-footer{background:#173238;color:var(--ink)}.hero-note{background:#304a4d;border-color:#668487;border-left-color:var(--orange)}.package-card{background:#203f44;border-color:#527477;color:var(--ink)}.package-featured,.service-section{background:#102b31;color:#e7f3ef}.package-subtitle,.package-card ul,.package-card li,.section-heading>p,.hero-text,.intro-grid>p:last-child,.package-lede,.service-lede,.service-detail-grid>div>p:not(.section-kicker),.detail-grid>div>p{color:var(--muted)}.travel-checker,.booking-panel,.service-booking{background:#203f44;border-color:#668487;color:var(--ink)}.travel-checker>p:not(.section-kicker),.booking-panel p,.service-booking p:not(.section-kicker){color:#d8e8e4!important}.contact-section,.intro-band{background:#304a4d}.contact-card{background:#203f44;color:var(--ink)}.cart-panel,.appointment-dialog{background:#203f44;color:var(--ink);border-color:#668487}.cart-item,.cart-heading{border-color:#527477}.cart-empty,.cart-item small,.cart-heading button,.travel-result,.result-success span{color:var(--muted)}.address-input-row input,.coupon-form input,.package-booking-form input,.package-booking-form select,.appointment-dialog form input,.appointment-dialog form textarea,.address-suggestions,.address-suggestions button{background:#e7f3ef;color:#102b31}.address-suggestions button:hover,.address-suggestions button:focus-visible{background:var(--teal);color:#102b31}.service-link{color:#d8e8e4}.service-item{border-color:#527477}.service-tooltip,.cart-recommendation{background:#304a4d;color:var(--ink);border-color:#668487}.appointment-modal{background:rgba(4,23,27,.82)}.site-footer{color:var(--muted)}}
.address-suggestions{position:relative;z-index:2;max-height:150px;overflow:auto;background:#fff;border:2px inset #fff}.address-suggestions:empty{display:none}.address-suggestions button{display:block;width:100%;padding:8px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;font:12px 'DM Sans';cursor:pointer}.address-suggestions button:hover,.address-suggestions button:focus-visible{background:var(--teal);color:#fff;outline:0}
.service-booking #service-book-link,.service-booking .service-add-button{display:flex;width:100%;justify-content:center;align-items:center}.service-booking #service-book-link{margin-top:8px}.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status{display:block;min-height:16px;margin-top:6px;font-size:11px}.form-error{color:#a52828}
.marketing-opt-in { display: flex !important; align-items: flex-start; gap: 9px; margin: 14px 0 !important; font-size: 12px !important; line-height: 1.5; }
.checkout-terms a { text-decoration: underline; font-weight: bold; }
.request-confirmation { width: min(440px, calc(100% - 32px)); padding: 24px; border: 3px outset white; border-radius: 0; background: #c0c0c0; color: black; }
.request-confirmation::backdrop { background: rgba(0, 0, 0, .45); }
.request-confirmation h2 { margin: 0 0 16px; font: bold 22px Tahoma, Verdana, sans-serif; letter-spacing: 0; }
.request-confirmation p { line-height: 1.6; }
.request-confirmation a { color: #000080; text-decoration: underline; }
.request-confirmation button { padding: 8px 20px; border: 2px outset white; border-radius: 0; background: #c0c0c0; font-weight: bold; }
.service-link:focus-visible,.service-add:focus-visible,.service-group>a:focus-visible{outline:3px solid #000080!important;outline-offset:2px;box-shadow:0 0 0 2px #fff!important}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #000080!important;outline-offset:2px;box-shadow:0 0 0 2px #fff!important}
@media(prefers-color-scheme:dark){:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline-color:#20c4cf!important;box-shadow:0 0 0 2px #102b31!important}}
.service-link b,.service-group>a b{color:#ffcc66!important}.service-add{color:#56e2e6!important}
.service-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.package-card { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.package-window-titlebar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 10px; margin-bottom: 12px; background: var(--dark); color: #fff; font: 700 11px Tahoma, Verdana, sans-serif; }
.package-window-controls { flex: none; color: #fff; font: 700 12px Tahoma, Verdana, sans-serif; white-space: nowrap; }
.package-card > .card-top,.package-card > h3,.package-card > .package-subtitle,.package-card > .package-learn,.package-card > ul,.package-card > .button { margin-left: 20px; margin-right: 20px; }
.package-card > .card-top { margin-top: 0; }
.package-card > .package-window-taskbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding: 7px 10px; border-top: 2px groove #fff; background: var(--cream); color: var(--ink); font: 700 10px Tahoma, Verdana, sans-serif; }
.package-taskbar-mark { display: inline-grid; width: 16px; height: 16px; margin-right: 4px; place-items: center; background: var(--orange); color: #fff; }
.service-catalog .service-item { flex-wrap: wrap; }
.service-catalog .service-item p { flex-basis: 100%; margin: 8px 0 0; line-height: 1.6; }
.service-catalog .service-link { min-width: 0; flex: 1 1 180px; }
.service-catalog .service-link span { min-width: 0; overflow-wrap: break-word; }
.service-catalog .service-link b { flex: none; white-space: nowrap; }
.service-catalog .service-item ul { flex-basis: 100%; margin: 12px 0; padding-left: 20px; line-height: 1.6; }
.service-catalog .service-link, .service-catalog .service-add { transition: none; animation: none; transform: none; }
@media (max-width: 700px) { .service-catalog { grid-template-columns: minmax(0, 1fr); } }
.marketing-opt-in input { width: 16px !important; min-width: 16px; height: 16px !important; margin: 2px 0 0; accent-color: var(--orange); }
.service-remove-button{background:#a52828;color:#fff;border-color:#eadfca}.service-remove-button:hover{background:#c83b3b;color:#fff}
.modal-open{overflow:hidden}.appointment-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(7,86,106,.72)}.appointment-modal[hidden]{display:none}.appointment-dialog{position:relative;width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:28px;background:var(--paper);border:4px outset #eadfca;box-shadow:8px 8px 0 #123b4a;color:var(--ink)}.appointment-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border:2px outset #eadfca;background:var(--cream);color:var(--ink);font-size:18px;line-height:20px;cursor:pointer}.appointment-dialog h2{margin:8px 40px 8px 0;font-size:30px;line-height:1}.appointment-dialog>p:not(.section-kicker){color:var(--muted);font-size:13px;margin-bottom:18px}.appointment-dialog form label{display:block;margin:10px 0 5px;font-size:12px;font-weight:700}.appointment-dialog form input,.appointment-dialog form textarea{display:block;width:100%;border:2px inset #fff;background:#fff;color:var(--ink);padding:8px;font:13px 'DM Sans'}.appointment-dialog form textarea{resize:vertical}.appointment-dialog form .button{width:100%;margin-top:17px;border:0;cursor:pointer}
:root{--modal-ease:cubic-bezier(.22,.8,.25,1)}.appointment-modal:not([hidden]){animation:appointment-dim-in .24s ease-out both}.appointment-modal:not([hidden]) .appointment-dialog{animation:appointment-dialog-in .3s var(--modal-ease) both}@keyframes appointment-dim-in{from{opacity:0}to{opacity:1}}@keyframes appointment-dialog-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.appointment-modal:not([hidden]),.appointment-modal:not([hidden]) .appointment-dialog{animation:none}}
.package-booking-form{margin:18px 0 10px}.package-booking-form label{display:block;margin:10px 0 5px;color:#fff;font-size:11px;font-weight:700}.package-booking-form input,.package-booking-form select{width:100%;height:31px;border:2px inset #fff;background:#fff;color:var(--ink);padding:0 7px;font:12px 'DM Sans'}.package-coupon-row{display:flex;gap:5px}.package-coupon-row input{flex:1;min-width:0}.package-coupon-row button{height:31px;border:2px outset #eadfca;background:var(--orange);color:#fff;padding:0 10px;cursor:pointer;font:700 11px 'DM Sans'}.package-coupon-row button:active{border-style:inset}.package-booking-form small{display:block;min-height:15px;margin-top:5px;font-size:10px}.package-total{display:flex;justify-content:space-between;align-items:center;margin:16px 0;color:#fff;font-size:12px}.package-total strong{font:600 22px 'Space Grotesk';color:#fff}.package-booking-form .button{width:100%;border:0;cursor:pointer}.booking-panel>a{display:none}
.coupon-form{margin:14px 0;padding-top:12px;border-top:1px solid var(--line)}.coupon-form label{display:block;margin-bottom:6px;font-size:11px;font-weight:700}.coupon-form>div{display:flex;gap:5px}.coupon-form input{min-width:0;flex:1;height:28px;border:2px inset #fff;padding:0 7px;background:#fff;color:var(--ink);font:12px 'DM Sans'}.coupon-form button{height:28px;border:2px outset #eadfca;background:var(--orange);color:#fff;cursor:pointer;font:700 11px 'DM Sans'}.coupon-form button:active{border-style:inset}.coupon-form small{display:block;min-height:15px;margin-top:5px;font-size:10px}.coupon-success{color:#08722c}.coupon-error{color:#a52828}.cart-total small{font-size:10px;color:var(--orange-dark)}
 .booking-panel p,.service-booking p:not(.section-kicker){color:#fff!important;font-weight:500}.booking-panel h3,.service-booking h2{color:#fff}
:root{--ink:#123b4a;--muted:#526b70;--cream:#eadfca;--paper:#fbf5e8;--orange:#009eaa;--orange-dark:#007f8a;--teal:#00b8c4;--line:#9fb9b4;--dark:#07566a}html{scrollbar-color:var(--orange) var(--cream);scrollbar-width:auto}body{background:var(--paper);color:var(--ink)}body::-webkit-scrollbar{width:16px}body::-webkit-scrollbar-track{background:var(--cream);border-left:2px solid #fff}body::-webkit-scrollbar-thumb{background:var(--orange);border:3px outset #eadfca;box-shadow:inset 0 0 0 1px #007f8a}body::-webkit-scrollbar-thumb:hover{background:#00cbd6}body::-webkit-scrollbar-button{height:16px;background:var(--cream);border:2px outset #fff}.button{border-radius:0}.button-primary,.button-dark{background:var(--orange);box-shadow:3px 3px 0 #123b4a}.button-primary:hover,.button-dark:hover{background:#00cbd6}.brand-mark{border-radius:0;box-shadow:2px 2px 0 #123b4a}.hero-note{background:var(--cream);border-radius:0;border:2px inset #fff;border-left:5px solid var(--orange)}.package-card{border-radius:0}.package-featured .button-dark{background:var(--orange)}.package-featured .button-dark:hover,.package-featured .button-dark:focus-visible{background:#00cbd6;box-shadow:4px 4px 0 #123b4a}.travel-checker,.booking-panel{border-radius:0;border:3px outset #eadfca}.cart-toggle{border-radius:0;background:var(--orange);box-shadow:3px 3px 0 #123b4a}.cart-panel{border-radius:0;border:3px outset #eadfca}.service-item:hover,.service-item:focus-within{background:rgba(0,184,196,.18)}.service-add{min-width:58px;height:28px;padding:0 8px;border:2px outset #eadfca;background:var(--orange);color:#fff;box-shadow:2px 2px 0 #123b4a;font:700 11px 'DM Sans';line-height:24px}.service-add:hover,.service-add:focus-visible{background:#00cbd6;color:#123b4a;outline:0}.service-add:active{border-style:inset;box-shadow:none}.cart-recommendation{margin:12px 0;padding:10px;background:var(--cream);border:2px inset #fff;color:var(--ink);font-size:11px}.cart-recommendation strong,.cart-recommendation span,.cart-recommendation a{display:block}.cart-recommendation strong{font-size:12px}.cart-recommendation span{margin:4px 0;color:var(--muted)}.cart-recommendation a{color:var(--orange-dark);font-weight:700}.cart-recommendation a:hover{color:var(--dark)}.service-tooltip{position:fixed;z-index:50;width:260px;padding:9px 10px;background:var(--cream);border:2px outset #fff;box-shadow:3px 3px 0 #123b4a;color:var(--ink);font-size:12px;line-height:1.35;pointer-events:none}.package-card li:before,.included-list li:before{content:'•'!important}

/* Dark theme: neutral Windows-style surfaces, raised controls and a visible taskbar. */
@media (prefers-color-scheme: dark) {
	:root {
		color-scheme: dark;
		--ink: #f2f2f4;
		--muted: #c8c9ce;
		--cream: #303238;
		--paper: #202126;
		--orange: #a9c9f4;
		--orange-dark: #b9d5fa;
		--teal: #b9d5fa;
		--line: #63666e;
		--dark: #26282e;
	}
	html { scrollbar-color: #747986 #303238; }
	body, .status-page { background: var(--paper) !important; color: var(--ink) !important; }
	body::-webkit-scrollbar-track, body::-webkit-scrollbar-button { background: #303238; border-color: #696c74; }
	body::-webkit-scrollbar-thumb { background: #747986; border-color: #51545c; box-shadow: none; }
	body::-webkit-scrollbar-thumb:hover { background: #969ba6; }

	body > .site-header, .package-nav, .service-nav {
		background: #3b3d44 !important;
		color: var(--ink);
		border-top: 1px solid #75777e;
		border-bottom: 2px solid #111216;
		box-shadow: inset 0 1px 0 #53555d, 0 4px 0 rgba(0, 0, 0, .2);
	}
	body > .site-header {
		width: 100%;
		padding-inline: max(24px, calc((100% - 1280px) / 2));
	}
	.package-nav, .service-nav { border-bottom: 2px solid #111216 !important; }
	.package-nav .site-header, .service-nav .site-header { background: transparent !important; }
	.nav-links, .back-link { color: #e1e2e6; }
	.header-call { color: var(--ink); }
	.nav-links a:hover, .back-link:hover, .header-call:hover { color: var(--orange); }
	.brand-mark { background: #536e99; box-shadow: 2px 2px 0 #17191e; }
	.brand-dot { color: var(--orange); }

	.package-page, .service-page, .intro-band, .contact-section { background: var(--cream) !important; }
	.package-detail, .service-detail { background: var(--paper) !important; }
	.service-section, .package-featured { background: #26282e !important; color: var(--ink); }
	.package-featured { border-color: var(--line); }
	.hero-note { background: #363840; border-color: #777a82; border-left-color: var(--orange); }
	.package-card:not(.package-featured) { background: #34363d !important; color: var(--ink) !important; border-color: var(--line) !important; }
	.package-card:not(.package-featured) .package-subtitle,
	.package-card:not(.package-featured) ul { color: var(--muted); }
	.package-card:not(.package-featured) li { border-color: var(--line); }
	.package-featured .package-subtitle, .package-featured ul, .light-heading > p { color: #d2d4d9; }
	.contact-card, .cart-panel, .appointment-dialog, .status-window {
		background: #34363d;
		color: var(--ink);
		border-color: #747780;
		box-shadow: 5px 5px 0 #121317;
	}
	.status-titlebar { background: #505d78; }
	.status-icon, .status-code { background: var(--orange); color: #171c27; border-color: #747780; box-shadow: 3px 3px 0 #17191e; }
	.status-content h1 { color: var(--ink); }
	.status-content > p:not(.section-kicker), .status-link:hover { color: var(--muted); }
	.travel-checker, .booking-panel, .service-booking {
		background: #34363d !important;
		color: var(--ink) !important;
		border-color: #747780;
		box-shadow: 5px 5px 0 #15161a;
	}
	.travel-checker > p:not(.section-kicker), .booking-panel p,
	.service-booking p:not(.section-kicker) { color: #e0e1e5 !important; }
	.hero-text, .intro-grid > p:last-child, .package-lede, .service-lede,
	.section-heading > p, .detail-grid > div > p,
	.service-detail-grid > div > p:not(.section-kicker), .travel-copy > p:last-child,
	.service-note, .package-meta, .service-meta { color: var(--muted); }
	.service-link { color: #ececf0; }
	.service-item { border-color: var(--line); }
	.service-item:hover, .service-item:focus-within { background: #454954; }
	.service-tooltip, .cart-recommendation { background: #3d4049; color: var(--ink); border-color: #777a82; }
	.cart-recommendation span, .cart-empty, .cart-item small, .cart-heading button,
	.travel-result, .result-success span { color: var(--muted); }
	.cart-item, .cart-heading { border-color: var(--line); }
	.travel-result { border-color: var(--line); }
	.result-success strong { color: var(--ink); }
	.appointment-modal { background: rgba(11, 12, 16, .84); }

	.button-primary, .button-dark, .cart-toggle, .service-add {
		background: var(--orange) !important;
		color: #171c27 !important;
		box-shadow: 3px 3px 0 #111216;
	}
	.button-primary:hover, .button-dark:hover, .cart-toggle:hover,
	.service-add:hover, .service-add:focus-visible,
	.package-featured .button-dark:hover, .package-featured .button-dark:focus-visible {
		background: #d2e3fc !important;
		color: #171c27 !important;
	}
	.button-outline, .service-add-button { border-color: #858993; color: var(--ink); }
	.button-outline:hover, .service-add-button:hover { background: #454954; color: var(--ink); }
	.service-add-button { color: var(--orange); }
	.cart-toggle span { color: #171c27; }
	.address-input-row input, .coupon-form input, .package-booking-form input,
	.package-booking-form select, .appointment-dialog form input,
	.appointment-dialog form textarea, .address-suggestions,
	.address-suggestions button {
		color-scheme: light;
		background: #ededf0;
		color: #202126;
		border-color: #898b94;
	}
	.address-input-row input::placeholder, .coupon-form input::placeholder,
	.appointment-dialog form input::placeholder { color: #5d6069; }
	.address-suggestions button:hover, .address-suggestions button:focus-visible {
		background: #c5d9f5;
		color: #202126;
	}
	.package-coupon-row button, .coupon-form button { color: #171c27; border-color: #858993; }
	.coupon-success { color: #a8e8b6; }
	.coupon-error, .form-error { color: #ffabab; }
	.site-footer { background: transparent; color: var(--muted); }
	.footer-brand { color: var(--ink); }
	.package-footer, .service-footer { border-top: 1px solid var(--line); }
}
@media (prefers-color-scheme: dark) and (max-width: 520px) {
	body > .site-header { padding-inline: 16px; }
}

/* Expandable descriptions on package and individual-service detail pages. */
.inclusions-intro {
	margin: 22px 0 10px;
	padding: 15px 18px;
	background: var(--cream);
	border-left: 4px solid var(--orange);
	color: var(--ink) !important;
	font-size: 14px;
	line-height: 1.6;
}
.service-detail .inclusions-intro { margin: 0 0 18px; }
.included-list > li.included-entry {
	padding: 0;
	border-bottom: 1px solid var(--line);
}
.included-list > li.included-entry::before { content: none !important; display: none; }
.included-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	padding: 14px 12px;
	border: 0;
	background: transparent;
	color: var(--ink);
	text-align: left;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .2s ease;
}
.included-trigger > span:first-child::before {
	content: '\2022';
	color: var(--orange);
	margin-right: 12px;
}
.included-trigger:hover, .included-entry.is-open .included-trigger { background: rgba(0, 158, 170, .1); }
.included-trigger:focus-visible { outline: 2px solid var(--orange); outline-offset: -2px; }
.included-indicator {
	flex: none;
	font: 700 20px 'Space Grotesk', sans-serif;
	color: var(--orange-dark);
	transition: transform .28s ease;
}
.included-entry.is-open .included-indicator { transform: rotate(45deg); }
.included-drawer {
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	visibility: hidden;
	background: rgba(0, 158, 170, .065);
	transition: grid-template-rows .3s ease, opacity .24s ease, visibility 0s linear .3s;
}
.included-entry.is-open .included-drawer {
	grid-template-rows: 1fr;
	opacity: 1;
	visibility: visible;
	transition: grid-template-rows .3s ease, opacity .24s ease, visibility 0s;
}
.included-drawer-inner { min-height: 0; overflow: hidden; }
.included-drawer p { padding: 5px 36px 17px; color: var(--muted); font-size: 13px; line-height: 1.55; }
@media (prefers-color-scheme: dark) {
	.inclusions-intro { background: #34363d; }
	.included-trigger:hover, .included-entry.is-open .included-trigger { background: #3b3d44; }
	.included-drawer { background: #303238; }
}
@media (prefers-reduced-motion: reduce) {
	.included-trigger, .included-indicator, .included-drawer { transition: none !important; }
}

.promo-overlay { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 20px; background: rgba(9, 18, 23, .7); }
.promo-window { width: min(460px, 100%); max-height: calc(100vh - 40px); overflow: auto; background: var(--paper); color: var(--ink); border: 3px outset var(--line); box-shadow: 8px 8px 0 #111216; }
.promo-titlebar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 8px 6px 13px; background: var(--dark); color: #fff; font: 700 13px 'Space Grotesk', sans-serif; }
.promo-close { width: 28px; height: 28px; border: 2px outset #c9c9c9; background: #e4e4e4; color: #202126; cursor: pointer; font-size: 20px; line-height: 20px; }
.promo-content { padding: 30px; }
.promo-kicker { font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--orange-dark); }
.promo-content h2 { margin: 12px 0; font-size: clamp(27px, 5vw, 37px); line-height: 1.1; }
.promo-content > p:not(.promo-kicker) { font-size: 14px; line-height: 1.55; }
.promo-code-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 23px 0 11px; padding: 12px; border: 2px inset var(--line); background: var(--cream); font-size: 13px; }
.promo-code-row strong { display: block; color: var(--ink); font: 700 19px 'Space Grotesk', sans-serif; letter-spacing: 1px; }
.promo-copy { padding: 8px 10px; border: 2px outset var(--line); background: var(--paper); color: var(--ink); font: 700 12px 'DM Sans', sans-serif; cursor: pointer; }
.promo-content .promo-fine-print { color: var(--muted); font-size: 12px !important; }
.promo-browse { margin-top: 22px; }
@media (prefers-color-scheme: dark) { .promo-window { border-color: #75777e; } .promo-titlebar { background: #505d78; } .promo-code-row { background: #34363d; } }
@media (max-width: 520px) { .promo-content { padding: 24px 20px; } .promo-code-row { flex-wrap: wrap; } }

.privacy-banner { position: fixed; bottom: 16px; left: 16px; right: 16px; z-index: 140; display: flex; justify-content: space-between; align-items: center; gap: 24px; max-width: 960px; margin: auto; padding: 20px 24px; background: var(--paper); color: var(--ink); border: 3px outset var(--line); box-shadow: 5px 5px 0 #15161a; font-size: 13px; }
.privacy-banner strong { display: block; margin-bottom: 4px; font: 700 17px 'Space Grotesk', sans-serif; }
.privacy-banner p { max-width: 550px; }
.privacy-banner a, .footer-legal a, .footer-legal button { color: var(--orange-dark); text-decoration: underline; text-underline-offset: 3px; }
.privacy-banner-actions { display: flex; flex-wrap: wrap; gap: 8px; flex: none; }
.privacy-banner button { padding: 9px 12px; border: 2px outset var(--line); background: var(--cream); color: var(--ink); font: 700 12px 'DM Sans', sans-serif; cursor: pointer; }
.privacy-banner button[data-choice='offers'] { background: var(--orange); color: #102b31; }
.footer-legal { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; font-size: 12px; }
.footer-legal button { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
.footer-legal a:hover, .footer-legal button:hover { color: var(--ink); }
.policy-page { min-height: 100vh; display: flex; flex-direction: column; }
.policy-main { width: min(760px, calc(100% - 48px)); margin: 58px auto 90px; flex: 1; }
.policy-main h1 { font-size: clamp(36px, 6vw, 56px); line-height: 1.1; margin: 10px 0 14px; }
.policy-main h2 { font-size: 23px; margin: 30px 0 8px; }
.policy-main p, .policy-main li { color: var(--muted); line-height: 1.7; }
.policy-main ul { padding-left: 24px; }
.policy-main a { color: var(--orange-dark); text-decoration: underline; text-underline-offset: 3px; }
.policy-main [data-privacy-settings] { padding: 0; border: 0; background: transparent; color: var(--orange-dark); text-decoration: underline; font: inherit; cursor: pointer; }
.policy-main .policy-updated { font-size: 13px; }
.status-page { grid-template-rows: 1fr auto; }
.status-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; padding: 22px 16px; color: var(--muted); font-size: 12px; }
.status-footer a { color: var(--orange-dark); text-decoration: underline; }

/* About Saier */
.about-page { background: var(--paper); color: var(--ink); }
.about-inline-link { color: var(--orange-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.about-inline-link:hover { color: var(--ink); }
.about-hero { background: var(--cream); padding: clamp(64px, 9vw, 120px) 0; }
.about-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 7vw, 100px); align-items: center; }
.about-hero h1 { font-size: clamp(54px, 8vw, 100px); line-height: .95; letter-spacing: -.065em; margin: 16px 0 26px; }
.about-hero h1 em, .about-values h2 em { color: var(--orange); font-family: Georgia, serif; font-weight: 400; }
.about-lede { max-width: 600px; font-size: clamp(18px, 2vw, 22px); line-height: 1.5; margin-bottom: 32px; }
.about-intro { background: var(--paper); border: 3px outset var(--line); box-shadow: 7px 7px 0 var(--dark); }
.about-intro-title { background: var(--dark); color: #fff; padding: 10px 18px; font: 700 14px 'Space Grotesk', sans-serif; }
.about-intro p { margin: 20px 24px; font-size: 15px; line-height: 1.7; }
.about-story, .about-values-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(36px, 8vw, 115px); }
.about-story { padding-top: clamp(70px, 9vw, 112px); padding-bottom: clamp(70px, 9vw, 112px); }
.about-story h2, .about-values h2 { font-size: clamp(37px, 5vw, 54px); line-height: 1.06; letter-spacing: -.04em; margin-top: 13px; }
.about-story-copy p, .about-values-grid > div:last-child p { font-size: 17px; line-height: 1.75; margin: 0 0 24px; }
.about-values { background: var(--cream); padding: clamp(70px, 9vw, 112px) 0; }
.about-values .button { margin-top: 5px; }
.about-contact { padding: clamp(70px, 9vw, 112px) 0; }
.about-contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(36px, 8vw, 115px); align-items: start; }
.about-contact h2 { font-size: clamp(37px, 5vw, 54px); line-height: 1.06; letter-spacing: -.04em; margin: 13px 0 20px; }
.about-contact-grid > div > p:not(.section-kicker) { max-width: 390px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.about-contact-grid > div > .about-contact-note { margin-top: 22px; font-size: 13px !important; }
.about-contact-form { padding: 30px; background: var(--cream); border: 3px outset var(--line); box-shadow: 6px 6px 0 var(--dark); }
.about-contact-form label { display: block; margin: 14px 0 6px; font-size: 13px; font-weight: 700; }
.about-contact-form label:first-child { margin-top: 0; }
.about-contact-form input, .about-contact-form textarea, .about-contact-form select { display: block; width: 100%; padding: 11px 12px; border: 2px inset var(--line); background: var(--paper); color: var(--ink); font: 14px 'DM Sans', sans-serif; }
.about-contact-form textarea { resize: vertical; }
.about-contact-form input:focus-visible, .about-contact-form textarea:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.about-contact-form .button { margin-top: 20px; border: 0; cursor: pointer; }
.about-form-status { min-height: 1.4em; margin-top: 12px; color: var(--muted); font-size: 13px; }
.about-footer { gap: 20px; }
@media (prefers-color-scheme: dark) { .about-hero, .about-values { background: var(--cream); } .about-intro, .about-contact-form { background: #34363d; border-color: #747780; box-shadow: 7px 7px 0 #15161a; } .about-intro-title { background: #505d78; } .about-contact-form input, .about-contact-form textarea, .about-contact-form select { background: #ededf0; color: #202126; border-color: #898b94; color-scheme: light; } }
@media (max-width: 800px) { .about-hero-grid, .about-story, .about-values-grid, .about-contact-grid { grid-template-columns: 1fr; } .about-story, .about-values-grid, .about-contact-grid { gap: 28px; } }
@media (max-width: 520px) { .about-contact-form { padding: 22px; } }
@media (max-width: 700px) { .privacy-banner { flex-direction: column; align-items: flex-start; gap: 14px; } .policy-main { margin: 42px auto 70px; } }

/* Keep navigation available while moving through long pages. */
body > .site-header, .package-nav, .service-nav {
	position: sticky;
	top: 0;
	z-index: 40;
	background: var(--paper);
	border-bottom: 1px solid var(--line);
	box-shadow: 0 3px 10px rgba(0, 0, 0, .12);
}
body > .site-header {
	width: 100%;
	padding-inline: max(24px, calc((100% - 1280px) / 2));
}
#top, #packages, #services, #contact { scroll-margin-top: 90px; }
@media (max-width: 800px) {
	body > .site-header {
		height: auto;
		min-height: 76px;
		flex-wrap: wrap;
		gap: 8px;
		padding-block: 10px;
	}
	body > .site-header .nav-links {
		order: 3;
		display: flex;
		flex-basis: 100%;
		justify-content: center;
		gap: clamp(12px, 4vw, 30px);
		font-size: 13px;
	}
	#top, #packages, #services, #contact { scroll-margin-top: 135px; }
}
@media (max-width: 520px) {
	body > .site-header { padding-inline: 16px; }
}

/* The service cart only occupies screen space once a service is selected. */
.service-cart {
	transition: transform .35s ease, opacity .25s ease, visibility 0s;
}
.service-cart.is-empty {
	transform: translateX(calc(100% + 40px));
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: transform .35s ease, opacity .25s ease, visibility 0s linear .35s;
}
@media (prefers-reduced-motion: reduce) {
	.service-cart, .service-cart.is-empty { transition: none; }
}

/* Transparent sail-and-wave mark based on the supplied logo. */
.brand-mark {
	width: 52px;
	height: 52px;
	flex: 0 0 52px;
	border-radius: 0;
	background: transparent url('assets/navnet-logo.svg') center / contain no-repeat;
	box-shadow: none;
	font-size: 0;
}
.footer-brand .brand-mark { width: 42px; height: 42px; flex-basis: 42px; }
@media (prefers-color-scheme: dark) {
	.brand-mark {
		background: transparent url('assets/navnet-logo.svg') center / contain no-repeat;
		box-shadow: none;
		filter: none;
	}
}

/* Classic desktop-window treatment for the package tiles. */
.package-grid .package-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 3px !important;
	overflow: hidden;
	background: #c0c0c0 !important;
	color: #111 !important;
	border: 2px outset #fff !important;
	border-radius: 0;
	box-shadow: 4px 4px 0 #171717;
}
.package-window-titlebar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 30px;
	margin: 0;
	padding: 3px 4px 3px 6px;
	background: linear-gradient(90deg, #000080, #1084d0);
	color: #fff;
	font: 700 12px Tahoma, Verdana, sans-serif;
}
.package-window-caption { display: flex; align-items: center; gap: 6px; min-width: 0; }
.package-window-appicon {
	display: grid;
	flex: 0 0 18px;
	height: 18px;
	place-items: center;
	border: 1px inset #fff;
	background: #c0c0c0;
	color: #000080;
	font: 700 12px Tahoma, Verdana, sans-serif;
}
.package-window-controls { display: flex; flex: none; gap: 2px; color: #111; }
.package-window-controls span {
	display: grid;
	width: 19px;
	height: 19px;
	place-items: center;
	border: 2px outset #fff;
	background: #c0c0c0;
	font: 700 12px Tahoma, Verdana, sans-serif;
	line-height: 1;
}
.package-window-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	margin: 3px 0;
	padding: 13px;
	border: 2px inset #fff;
	background: #dfdfdf;
	color: #111;
}
.package-window-content > .card-top,
.package-window-content > h3,
.package-window-content > .package-subtitle,
.package-window-content > .package-learn,
.package-window-content > ul,
.package-window-content > .button { margin-left: 0; margin-right: 0; }
.package-window-content > .card-top { margin-top: 0; margin-bottom: 8px; }
.package-window-content .card-tag { padding: 3px 5px; border: 1px solid #7f7f7f; background: #d4d0c8; color: #000080; font: 700 10px Tahoma, Verdana, sans-serif; }
.package-window-content .price { color: #000080; }
.package-window-content > h3 { margin-top: 5px; color: #111; }
.package-window-content .package-subtitle { color: #404040; }
.package-window-content .package-learn,
.package-window-content .package-featured .package-learn { color: #000080; }
.package-window-content > ul { flex: 1; color: #222; }
.package-window-content > ul li { border-color: #b5b5b5; }
.package-window-content > .button {
	width: 100%;
	margin-top: 14px;
	border: 2px outset #fff !important;
	border-radius: 0;
	background: #c0c0c0 !important;
	color: #111 !important;
	box-shadow: 2px 2px 0 #222 !important;
	font: 700 13px Tahoma, Verdana, sans-serif;
}
.package-window-content > .button:hover { background: #d8d8d8 !important; }
.package-window-content > .button:active { border-style: inset !important; box-shadow: none !important; }
.package-window-taskbar {
	display: flex;
	align-items: center;
	gap: 5px;
	min-height: 34px;
	margin: 0;
	padding: 3px;
	border-top: 2px groove #fff;
	background: #c0c0c0;
	color: #111;
	font: 700 10px Tahoma, Verdana, sans-serif;
}
.package-taskbar-start,
.package-taskbar-app {
	display: flex;
	align-items: center;
	gap: 4px;
	min-height: 25px;
	padding: 2px 6px;
	border: 2px outset #fff;
	background: #c0c0c0;
	color: #111;
}
.package-taskbar-start { font-weight: 700; }
.package-taskbar-app { flex: 1; border-style: inset; background: #d4d0c8; }
.package-taskbar-mark { display: inline-grid; width: 17px; height: 17px; margin: 0; place-items: center; background: #000080; color: #fff; font: 700 11px Tahoma, Verdana, sans-serif; }
.package-grid .package-window-content > .package-subtitle,
.package-grid .package-window-content > ul,
.package-grid .package-window-content > ul li { color: #333 !important; }
.package-grid .package-window-content .card-tag { color: #000080 !important; }

/* Shared Windows-style frame for the other major site panels and dialogs. */
.hero-note,.contact-card,.travel-checker,.booking-panel,.service-booking,.cart-panel,.about-intro,.about-contact-form,.appointment-dialog,.promo-window,.request-confirmation,.status-window {
	border: 3px outset #fff !important;
	border-radius: 0 !important;
	box-shadow: 5px 5px 0 #171717 !important;
}
.hero-note,.contact-card,.travel-checker,.booking-panel,.service-booking,.cart-panel,.about-intro,.about-contact-form,.appointment-dialog,.promo-window,.request-confirmation,.status-window {
	background: #c0c0c0 !important;
	color: #111 !important;
}
.hero-note > .section-kicker,.travel-checker > .section-kicker,.booking-panel > .section-kicker,.service-booking > .section-kicker,.appointment-dialog > .section-kicker,.about-intro-title,.promo-titlebar,.status-titlebar,.about-contact-form::before,.request-confirmation::before {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 30px;
	margin: 0;
	padding: 6px 10px;
	background: linear-gradient(90deg, #000080, #1084d0) !important;
	color: #fff !important;
	font: 700 12px Tahoma, Verdana, sans-serif;
}
.hero-note > .section-kicker,.travel-checker > .section-kicker,.booking-panel > .section-kicker,.service-booking > .section-kicker,.appointment-dialog > .section-kicker { text-transform: none !important; letter-spacing: 0 !important; }
.hero-note h2 { color: #222 !important; font-family: Tahoma, Verdana, sans-serif !important; font-size: 24px !important; font-weight: 700 !important; line-height: 1.25 !important; letter-spacing: 0 !important; }
.hero-note > p:not(.section-kicker),.hero-note > a { color: #222 !important; }
.hero-note,.travel-checker,.booking-panel,.service-booking { padding: 0 22px 20px !important; }
.hero-note > .section-kicker,.travel-checker > .section-kicker,.booking-panel > .section-kicker,.service-booking > .section-kicker { margin: 0 -22px 18px; }
.hero-note > h2,.hero-note > p:not(.section-kicker),.hero-note > a { color: #111 !important; }
.contact-card,.cart-panel { display: flex; flex-direction: column; overflow: hidden; padding: 0 !important; }
.contact-window-content > div:first-child { padding: 8px 10px 6px; color: #111; }
.contact-window-content > div:first-child span { display: block; color: #000080; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.contact-actions { padding: 8px 16px 16px; }
.contact-card .package-window-caption {
	display: flex;
	color: #fff;
	font: 700 12px Tahoma, Verdana, sans-serif;
	letter-spacing: 0;
	text-transform: none;
}
.contact-card .package-window-appicon {
	display: grid;
	color: #000080;
	font: 700 12px Tahoma, Verdana, sans-serif;
	letter-spacing: 0;
	text-transform: none;
}
.contact-card .package-window-controls {
	display: flex;
	color: #111;
	letter-spacing: 0;
	text-transform: none;
}
.contact-card .package-window-controls span {
	display: grid;
	color: #111;
	font: 700 12px Tahoma, Verdana, sans-serif;
	letter-spacing: 0;
	text-transform: none;
}
.contact-card .package-taskbar-start,.contact-card .package-taskbar-app {
	display: flex;
	color: #111;
	font: 700 10px Tahoma, Verdana, sans-serif;
	letter-spacing: 0;
	text-transform: none;
}
.contact-card .package-taskbar-mark {
	display: inline-grid;
	color: #fff;
	font: 700 11px Tahoma, Verdana, sans-serif;
	letter-spacing: 0;
	text-transform: none;
}
.cart-window-titlebar { flex: none; margin: 0; }
.cart-panel { width: min(320px, calc(100vw - 32px)); }
.cart-window-content { max-height: min(55vh, 440px); overflow-y: auto; margin: 3px 0; padding: 12px; }
.cart-window-controls { display: flex; flex: none; gap: 2px; }
.cart-window-controls button {
	display: grid;
	width: 19px;
	height: 19px;
	place-items: center;
	padding: 0;
	border: 2px outset #fff;
	background: #c0c0c0;
	color: #111;
	font: 700 12px/1 Tahoma, Verdana, sans-serif;
}
.cart-window-controls button:active { border-style: inset; }
.cart-window-taskbar { flex: none; margin: 0; }
.cart-window-content > .cart-items { margin-top: 0; }
.cart-window-content > .cart-total { margin-bottom: 8px; }
.hero-note::after,.travel-checker::after,.booking-panel::after,.service-booking::after,.about-intro::after,.about-contact-form::after,.appointment-dialog::after,.promo-window::after,.request-confirmation::after,.status-window::after {
	content: "N  Start     NavNet";
	display: flex;
	flex: none;
	align-items: center;
	min-height: 26px;
	margin: auto -22px -20px;
	padding: 3px 8px;
	border-top: 2px groove #fff;
	background: #c0c0c0;
	color: #111;
	font: 700 10px Tahoma, Verdana, sans-serif;
}
.about-intro::after,.about-contact-form::after,.appointment-dialog::after,.promo-window::after,.request-confirmation::after,.status-window::after { margin-right: 0; margin-left: 0; }
.about-intro,.about-contact-form { overflow: hidden; padding: 0 !important; }
.about-intro-title,.about-contact-form::before { margin: 0; }
.about-intro p { margin: 16px 18px; color: #222; }
.about-contact-form::before { content: "NavNet - Contact Form"; margin-bottom: 14px; }
.about-contact-form > :not(:first-child):not(:last-child) { margin-right: 18px; margin-left: 18px; }
.about-contact-form > :last-child { margin-right: 18px; margin-left: 18px; }
.appointment-dialog { padding: 0 24px 18px !important; }
.appointment-dialog > .section-kicker { margin: 0 -24px 18px; padding-right: 46px; }
.appointment-close { z-index: 1; top: 4px !important; right: 4px !important; width: 22px !important; height: 22px !important; border: 2px outset #fff !important; background: #c0c0c0 !important; color: #111 !important; font: 700 14px Tahoma, Verdana, sans-serif !important; }
.appointment-dialog form input,.appointment-dialog form textarea { border: 2px inset #808080 !important; background: #fff !important; color: #111 !important; }
.promo-window { padding: 0 !important; }
.promo-titlebar,.status-titlebar { border: 0 !important; }
.promo-content { padding: 20px 24px !important; background: #dfdfdf; color: #111; }
.promo-content h2,.promo-content p { color: #111; }
.request-confirmation { padding: 0 22px 18px !important; }
.request-confirmation::before { content: "NavNet - Appointment Request"; margin: 0 -22px 18px; }
.request-confirmation::after { margin: 18px -22px -18px; }
.status-window { overflow: hidden; }
.status-content { background: #dfdfdf; color: #111; }
.service-tooltip,.cart-recommendation { border: 2px outset #fff !important; border-radius: 0 !important; box-shadow: 3px 3px 0 #171717; }
.contact-card { padding: 0 !important; }
.about-intro::after,.about-contact-form::after,.promo-window::after,.status-window::after { margin: 0; }
.appointment-dialog::after { margin: 18px -24px -18px; }
.request-confirmation::after { margin: 18px -22px -18px; }
.hero-note h2,.hero-note > p:not(.section-kicker),.hero-note .about-inline-link { color: #222 !important; }
.hero-note > .button,.contact-card .button,.about-contact-form .button,.appointment-dialog .button,.request-confirmation button,.promo-window .button {
	border: 2px outset #fff !important;
	border-radius: 0;
	background: #c0c0c0 !important;
	color: #111 !important;
	box-shadow: 2px 2px 0 #222 !important;
	font: 700 12px Tahoma, Verdana, sans-serif;
}
.hero-note > .button:hover,.contact-card .button:hover,.about-contact-form .button:hover,.appointment-dialog .button:hover,.request-confirmation button:hover,.promo-window .button:hover { background: #dedede !important; }
.travel-checker h2,.booking-panel h3,.service-booking h2,
.travel-checker > p:not(.section-kicker),.booking-panel p:not(.section-kicker),.service-booking p:not(.section-kicker),
.travel-checker label,.package-booking-form label,.package-total,.package-total strong { color: #222 !important; }
.travel-checker h2,.booking-panel h3,.service-booking h2 { margin: 4px 0 10px !important; font-family: Tahoma, Verdana, sans-serif !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
.booking-panel > h3 { display: flex; align-items: center; justify-content: space-between; min-height: 34px; margin: 0 -22px 18px !important; padding: 6px 10px; background: linear-gradient(90deg, #000080, #1084d0) !important; color: #fff !important; font: 700 12px Tahoma, Verdana, sans-serif !important; }
.booking-panel > h3 .booking-window-controls { display: flex; flex: none; gap: 2px; }
.booking-panel > h3 .booking-window-control { box-sizing: border-box; display: grid; width: 20px; height: 20px; place-items: center; border: 2px outset #fff; background: #c0c0c0; color: #111; font: 700 12px Tahoma, Verdana, sans-serif; line-height: 1; }
.travel-checker .travel-result,.travel-checker .result-success span { color: #333 !important; }
.travel-checker .result-success strong,.travel-checker .result-success b { color: #000080 !important; }
.travel-checker .button,.booking-panel .button,.service-booking .button,.package-booking-form .button {
	border: 2px outset #fff !important;
	border-radius: 0;
	background: #c0c0c0 !important;
	color: #111 !important;
	box-shadow: 2px 2px 0 #222 !important;
	font: 700 12px Tahoma, Verdana, sans-serif;
}
.travel-checker .button:hover,.booking-panel .button:hover,.service-booking .button:hover,.package-booking-form .button:hover { background: #dedede !important; }
.cart-panel { color: #111 !important; }
.cart-window-content { background: #dfdfdf; color: #111; }
.cart-panel .cart-window-close { border: 2px outset #fff; background: #c0c0c0; color: #111; }
.cart-panel .cart-item,.cart-panel .cart-total,.cart-panel .cart-empty,.cart-panel .cart-item small { color: #222 !important; }
.about-intro p,.about-contact-form label,.about-contact-form .about-form-status { color: #222; }
.about-contact-form input,.about-contact-form textarea,.about-contact-form select { border: 2px inset #808080; background: #fff; color: #111; }
.promo-content { border: 2px inset #fff; }
.status-window .status-content { border: 2px inset #fff; }
@media (max-width: 520px) {
	.hero-note,.travel-checker,.booking-panel,.service-booking { padding-right: 16px !important; padding-left: 16px !important; }
	.hero-note > .section-kicker,.travel-checker > .section-kicker,.booking-panel > .section-kicker,.service-booking > .section-kicker { margin-right: -16px; margin-left: -16px; }
	.contact-card > div:first-child,.contact-actions { padding-right: 12px; padding-left: 12px; }
}

.hero-note {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	padding: 3px !important;
	background: #c0c0c0 !important;
	color: #111 !important;
	border: 2px outset #fff !important;
	border-radius: 0 !important;
	box-shadow: 4px 4px 0 #171717 !important;
}
.hero-note::after { content: none !important; display: none !important; }
.hero-note-content {
	flex: 1;
	margin: 3px 0 !important;
	padding: 20px !important;
	border: 2px inset #fff;
	background: #dfdfdf;
	color: #111;
}
.hero-note-content > .section-kicker {
	display: block;
	min-height: 0;
	margin: 0 0 12px !important;
	padding: 0 !important;
	background: transparent !important;
	color: #000080 !important;
	font: 700 11px Tahoma, Verdana, sans-serif !important;
	letter-spacing: 0;
}
.hero-note-content > h2 {
	margin: 0 0 12px !important;
	color: #111 !important;
	font: 700 25px/1.2 Tahoma, Verdana, sans-serif !important;
	letter-spacing: 0 !important;
}
.hero-note-content > p:not(.section-kicker) {
	max-width: none;
	margin: 0 0 18px !important;
	color: #222 !important;
	font: 14px/1.55 Tahoma, Verdana, sans-serif;
}
.hero-note-content .about-inline-link {
	color: #000080 !important;
	font-weight: 700;
	text-decoration: underline;
}
.hero-note-content > .button {
	align-self: flex-start;
	width: auto;
	margin-top: 4px;
	border: 2px outset #fff !important;
	border-radius: 0 !important;
	background: #c0c0c0 !important;
	color: #111 !important;
	box-shadow: 2px 2px 0 #222 !important;
	font: 700 13px Tahoma, Verdana, sans-serif;
}
.hero-note-content > .button:hover { background: #d8d8d8 !important; }
.hero-note-content > .button:active { border-style: inset !important; box-shadow: none !important; }
.hero-note .package-window-taskbar { flex: none; }
@media (prefers-color-scheme: dark) {
	.hero-note { background: #c0c0c0 !important; color: #111 !important; }
	.hero-note-content { background: #dfdfdf; color: #111; }
}
@media (max-width: 520px) {
	.hero-note-content { padding: 16px !important; }
	.hero-note-content > h2 { font-size: 22px !important; }
}
/* Public windows keep a readable light palette, independent of OS preference. */
body:not(.owner-page) {
	color-scheme: light;
	--ink: #123b4a;
	--muted: #405f68;
	--cream: #e2eef0;
	--paper: #f5fbfa;
	--orange: #006c74;
	--orange-dark: #00535b;
	--teal: #008080;
	--line: #a3c4c9;
	--dark: #000080;
	background: #eaf4f3 !important;
	color: var(--ink) !important;
	font-family: Tahoma, Verdana, Arial, sans-serif;
}
body:not(.owner-page) :is(h1,h2,h3,.brand,.button,.package-meta strong,.service-meta strong,input,select,textarea,.privacy-banner strong,.privacy-banner button,.address-suggestions button) {
	font-family: Tahoma, Verdana, Arial, sans-serif;
}
body:not(.owner-page) :is(h1,h2,h3) { letter-spacing: normal; }
body:not(.owner-page) :is(h1,h2) em { font-family: inherit; font-weight: inherit; font-style: normal; letter-spacing: normal; }
body:not(.owner-page) :is(.package-page,.service-page,.intro-band,.contact-section,.about-hero,.about-values) { background: #e2eef0 !important; }
body:not(.owner-page) :is(.package-detail,.service-detail) { background: #f5fbfa !important; }
body:not(.owner-page) :is(.site-header,.package-nav,.service-nav,.site-footer,.entry-header) {
	background: #d7e9ec !important;
	color: #123b4a;
	border-color: #a3c4c9 !important;
}
body:not(.owner-page) :is(.package-nav,.service-nav) .site-header { background: transparent !important; }
body:not(.owner-page) :is(.nav-links,.back-link,.header-call,.brand,.footer-legal button) { color: #123b4a; }
body:not(.owner-page) :is(.brand-mark,.package-window-appicon,.package-taskbar-mark) {
	background: #fff url('assets/navnet-logo.svg') center / contain no-repeat;
	color-scheme: light;
	font-size: 0 !important;
	color: transparent !important;
}
body:not(.owner-page) .brand-mark { width: 38px; height: 38px; flex-basis: 38px; border: 2px inset #fff; padding: 3px; }
body:not(.owner-page) :is(.hero-note,.contact-card,.travel-checker,.booking-panel,.service-booking,.cart-panel,.about-intro,.about-contact-form,.appointment-dialog,.promo-window,.request-confirmation,.status-window,.package-grid .package-card) {
	background: #f5fbfa !important;
	color: #111 !important;
	border-color: #e5f2f3 !important;
	box-shadow: 4px 4px 0 #315b68 !important;
}
body:not(.owner-page) :is(.package-window-content,.hero-note-content,.cart-window-content,.promo-content,.status-content) { background: #f5fbfa !important; color: #111; }
body:not(.owner-page) :is(.package-window-titlebar,.hero-note > .section-kicker,.travel-checker > .section-kicker,.booking-panel > .section-kicker,.service-booking > .section-kicker,.appointment-dialog > .section-kicker,.about-intro-title,.promo-titlebar,.status-titlebar,.booking-panel > h3,.about-contact-form::before,.request-confirmation::before) {
	background: linear-gradient(90deg, #000080, #087e88) !important;
	color: #fff !important;
}
body:not(.owner-page) :is(.package-window-taskbar,.package-taskbar-start,.package-taskbar-app,.hero-note::after,.travel-checker::after,.booking-panel::after,.service-booking::after,.about-intro::after,.about-contact-form::after,.appointment-dialog::after,.promo-window::after,.request-confirmation::after,.status-window::after) { background: #d7e9ec !important; color: #123b4a !important; }
body:not(.owner-page) :is(.package-window-controls span,.booking-window-control) { color: #111 !important; }
body:not(.owner-page) :is(.button,.cart-toggle,.service-add,.coupon-form button,.request-confirmation button,.privacy-banner button[data-choice='offers'],.transaction-content button) {
	background: #006c74 !important;
	color: #fff !important;
	border: 2px outset #a5e6e8 !important;
	border-radius: 0;
	box-shadow: 2px 2px 0 #123b4a !important;
	font-family: Tahoma, Verdana, Arial, sans-serif;
}
body:not(.owner-page) :is(.button,.cart-toggle,.service-add,.coupon-form button,.request-confirmation button,.transaction-content button):hover { background: #00535b !important; color: #fff !important; }
body:not(.owner-page) :is(.button,.cart-toggle,.service-add,.coupon-form button,.request-confirmation button,.transaction-content button):active { border-style: inset !important; box-shadow: none !important; }
body:not(.owner-page) :is(.status-content h1,.status-content > p:not(.section-kicker),.promo-content h2,.promo-content p,.contact-window-content,.about-intro p,.about-contact-form label) { color: #123b4a !important; }
body:not(.owner-page) :is(.status-link,.policy-main a,.cart-recommendation a) { color: #00535b; }
body:not(.owner-page) :is(.status-icon,.status-code) { background: #006c74; color: #fff; border-color: #a5e6e8; }
body:not(.owner-page) :is(.service-section,.package-featured) { background: #123b4a !important; color: #fff; }
body:not(.owner-page) .service-section :is(.section-kicker,.service-link b) { color: #a5e6e8 !important; }
body:not(.owner-page) .service-section .service-link { color: #fff; }
body:not(.owner-page) :is(.privacy-banner,.cart-recommendation,.service-tooltip) { background: #e2eef0; color: #123b4a; }
body:not(.owner-page) :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline-color: #000080 !important; box-shadow: 0 0 0 2px #fff !important; }
body:not(.owner-page) :is(.about-contact-form,.transaction-content form) :is(input,select,textarea) { box-sizing: border-box; max-width: 100%; }
body:not(.owner-page) .about-contact-form :is(input,select,textarea) { width: calc(100% - 36px); }
#manage-form::before { content: "NavNet - Change or Cancel a Visit"; }
.transaction-content { padding: 24px; }
.transaction-content h1 { font-size: clamp(26px, 5vw, 40px); line-height: 1.2; margin-bottom: 18px; }
.transaction-content h2 { font-size: 21px; margin: 24px 0 12px; }
.transaction-content p { margin: 12px 0; line-height: 1.6; }
.transaction-content a { color: #00535b; text-decoration: underline; }
.transaction-content form > label:not(.marketing-opt-in) { display: block; margin-top: 14px; font-weight: bold; font-size: 13px; }
.transaction-content form > label:not(.marketing-opt-in) :is(input,textarea) { display: block; width: 100%; padding: 10px; margin-top: 5px; border: 2px inset #a3c4c9; background: #fff; color: #111; font: inherit; }
.transaction-content button { padding: 10px 14px; margin-top: 14px; font-weight: bold; cursor: pointer; }
.transaction-content .marketing-opt-in input { flex: none; }
.transaction-page .status-shell { margin: 32px auto; }
html:has(> body:not(.owner-page)) { color-scheme: light; scrollbar-color: #087e88 #d7e9ec; }
body:not(.owner-page) .cart-panel[hidden] { display: none !important; }
body:not(.owner-page)::-webkit-scrollbar-track,
body:not(.owner-page)::-webkit-scrollbar-button { background: #d7e9ec; border-color: #fff; }
body:not(.owner-page)::-webkit-scrollbar-thumb { background: #087e88; border-color: #a3c4c9; }
