.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-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.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, .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;
	}
}