/*
Theme Name: Playpark QNY 2026
Author: QNY Creative
Author URI: https://qnycreative.com
Description: Playpark Lodge custom theme — Terabi blocks system
Version: 1.0
*/

/* ─── design tokens ─── */
:root{
	--navy:#16263F;
	--navy-2:#22364F;
	--orange:#DC7B3A;
	--orange-2:#C2682C;
	--cream:#FBF7F1;
	--cream-2:#F2EBDF;
	--ink:#1B2534;
	--muted:#5C6675;
	--line:rgba(22,38,63,.10);
	--eyebrow-on-dark:#F2B57A;

	--font-display:"Outfit",system-ui,sans-serif;
	--font-body:"Outfit",system-ui,sans-serif;
	--display-weight:700;
	--display-tracking:.02em;
	--display-case:uppercase;

	--hero-size:clamp(40px,6vw,84px);
	--h1-size:clamp(32px,4.2vw,42px);
	--h2-size:clamp(24px,2.6vw,36px);
	--eyebrow-size:13px;
	--body-size:16px;
	--body-line:1.7;

	--maxw:1240px;
	--pad-x:clamp(20px,4vw,56px);
	--section-y:60px;
	--radius:14px;
	--radius-sm:8px;
	--shadow-card:0 12px 36px rgba(22,38,63,.06);
	--shadow-strong:0 24px 44px -16px rgba(13,26,44,.45);
}

/* ─── reset / base ─── */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
	margin:0;
	background:var(--cream);
	color:var(--ink);
	font-family:var(--font-body);
	font-size:var(--body-size);
	line-height:var(--body-line);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em}

/* ─── primitives ─── */
.brandStrip{height:3px;background:var(--navy);position:sticky;top:0;z-index:60}
.content{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad-x)}
.section{padding:var(--section-y) 0}
.section-cream{background:var(--cream)}
.section-cream-2{background:var(--cream-2)}
.section-navy{background:var(--navy);color:#F4EFE6}
.section-navy .eyebrow{color:var(--eyebrow-on-dark)}

.display{
	font-family:var(--font-display);
	font-weight:var(--display-weight);
	letter-spacing:var(--display-tracking);
	text-transform:var(--display-case);
	line-height:1.05;
}
.eyebrow{
	font-family:var(--font-display);
	font-size:var(--eyebrow-size);
	letter-spacing:.18em;
	text-transform:uppercase;
	color:var(--orange);
	font-weight:600;
}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line) 20%,var(--line) 80%,transparent);border:0;margin:0}
.rule-orange{display:inline-block;width:56px;height:3px;background:var(--orange);border-radius:2px;margin:0 0 18px}

/* reveal-on-scroll */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* ─── buttons ─── */
.btn{
	display:inline-flex;align-items:center;gap:10px;
	padding:14px 26px;border-radius:999px;
	font-family:var(--font-display);font-weight:600;
	letter-spacing:.08em;text-transform:uppercase;font-size:13px;
	border:1.5px solid transparent;cursor:pointer;text-decoration:none;
	transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease,border-color .25s ease;
	white-space:nowrap;
}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 6px 18px rgba(220,123,58,.25)}
.btn-primary:hover{background:var(--orange-2);transform:translateY(-2px);box-shadow:0 12px 28px rgba(220,123,58,.32)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.btn-on-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-on-dark:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn .arr{display:inline-block;transition:transform .25s ease}
.btn:hover .arr{transform:translateX(3px)}

/* ─── topbar (optional, off by default) ─── */
.topbar{background:var(--navy);color:#E9E2D2;font-size:13px}
.topbar .content{display:flex;justify-content:space-between;align-items:center;padding-top:10px;padding-bottom:10px;gap:24px;flex-wrap:wrap}
.topbar a{color:inherit;opacity:.85;transition:opacity .2s ease,color .2s ease}
.topbar a:hover{opacity:1;color:var(--orange)}
.topbar .group{display:flex;gap:22px;align-items:center;flex-wrap:wrap}

/* ─── site header ─── */
.siteHeader{
	position:sticky;top:0;z-index:50;
	background:rgba(251,247,241,.92);
	backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
	border-bottom:1px solid var(--line);
	transition:background .2s ease,box-shadow .2s ease,padding .2s ease;
}
.siteHeader .content{
	display:flex;align-items:center;justify-content:space-between;gap:24px;
	padding-top:14px;padding-bottom:14px;
}
.siteLogo{display:flex;align-items:center;flex-shrink:0;color:var(--navy)}
.siteLogo .siteLogoImg{height:54px;width:auto;display:block;transition:height .2s ease}
.siteLogo .siteLogoText{
	font-family:var(--font-display);font-weight:700;
	letter-spacing:.08em;text-transform:uppercase;font-size:19px;color:var(--navy);
}
body.scrolled .siteHeader{box-shadow:0 8px 24px rgba(22,38,63,.06)}
body.scrolled .siteHeader .content{padding-top:10px;padding-bottom:10px}
body.scrolled .siteLogo .siteLogoImg{height:46px}

/* nav */
.siteNav{display:flex;align-items:center}
.siteNav .siteNavMenu{
	list-style:none;margin:0;padding:0;
	display:flex;align-items:center;gap:30px;
}
.siteNav .siteNavMenu > li{position:relative}
.siteNav .siteNavMenu > li > a{
	display:inline-block;padding:8px 0;
	font-family:var(--font-display);font-size:13.5px;font-weight:500;
	letter-spacing:.06em;text-transform:uppercase;color:var(--navy);
	position:relative;transition:color .2s ease;
}
/* underline animation (lives on ::before so ::after is free for the caret on parent items) */
.siteNav .siteNavMenu > li > a::before{
	content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--orange);
	transform:scaleX(0);transform-origin:left;transition:transform .25s ease;
}
.siteNav .siteNavMenu > li > a:hover{color:var(--orange)}
.siteNav .siteNavMenu > li > a:hover::before,
.siteNav .siteNavMenu > li.current-menu-item > a::before,
.siteNav .siteNavMenu > li.current-menu-parent > a::before,
.siteNav .siteNavMenu > li.current-menu-ancestor > a::before{transform:scaleX(1)}
/* caret on parent items */
.siteNav .siteNavMenu > li.menu-item-has-children > a::after{
	content:"\25BE";   /* ▾ */
	display:inline-block;
	margin-left:6px;
	font-size:14px;line-height:1;
	vertical-align:middle;
	transform:translateY(-3px);
	color:inherit;opacity:.75;
}
/* dropdown */
.siteNav .siteNavMenu .sub-menu{
	position:absolute;top:100%;left:-14px;min-width:220px;
	background:#fff;border:1px solid var(--line);border-radius:10px;
	box-shadow:0 18px 40px rgba(22,38,63,.12);
	padding:8px;list-style:none;margin:0;
	display:flex;flex-direction:column;gap:2px;
	opacity:0;visibility:hidden;transform:translateY(6px);
	transition:opacity .2s ease,transform .2s ease,visibility .2s;
	z-index:30;
}
.siteNav .siteNavMenu > li:hover .sub-menu,
.siteNav .siteNavMenu > li:focus-within .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.siteNav .siteNavMenu .sub-menu a{
	display:block;padding:10px 14px;border-radius:6px;
	font-family:var(--font-display);font-size:12.5px;font-weight:500;
	letter-spacing:.05em;text-transform:uppercase;color:var(--navy);
	transition:background .15s ease,color .15s ease;
}
.siteNav .siteNavMenu .sub-menu a:hover{background:var(--cream);color:var(--orange)}

.headerCta{flex-shrink:0;padding:11px 20px}

.navToggle{
	display:none;background:none;border:0;cursor:pointer;padding:8px;
	flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;
}
.navToggle span{
	display:block;width:24px;height:2px;background:var(--navy);border-radius:2px;
	transition:transform .25s ease,opacity .25s ease;
}

@media (max-width:980px){
	.siteHeader .content{position:relative}
	.siteNav{display:none}
	body.navOpen .siteNav{
		display:flex;flex-direction:column;align-items:stretch;gap:0;
		position:absolute;top:100%;left:0;right:0;
		background:var(--navy);padding:24px var(--pad-x) 28px;
		border-bottom:1px solid rgba(255,255,255,.1);
		box-shadow:0 18px 40px -18px rgba(13,26,44,.5);z-index:40;
	}
	body.navOpen .siteNav .siteNavMenu{flex-direction:column;align-items:stretch;gap:0}
	body.navOpen .siteNav .siteNavMenu > li{width:100%;text-align:center}
	body.navOpen .siteNav .siteNavMenu > li > a{
		display:block;color:#F4EFE6;width:100%;padding:12px 16px;border-radius:8px;
		transition:background .2s ease,color .2s ease;
	}
	body.navOpen .siteNav .siteNavMenu > li > a::after{display:none}
	body.navOpen .siteNav .siteNavMenu > li > a:hover{background:rgba(255,255,255,.08);color:var(--orange)}
	body.navOpen .siteNav .siteNavMenu .sub-menu{
		position:static;opacity:1;visibility:visible;transform:none;
		background:transparent;border:0;padding:0;box-shadow:none;
	}
	body.navOpen .siteNav .siteNavMenu .sub-menu a{
		color:rgba(244,239,230,.8);padding:10px 16px;
		text-transform:none;letter-spacing:.04em;font-size:13px;
	}
	.headerCta{display:none}
	.navToggle{display:flex}
	body.navOpen .navToggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
	body.navOpen .navToggle span:nth-child(2){opacity:0}
	body.navOpen .navToggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ─── site footer ─── */
.siteFooter{background:var(--navy);color:#D9D2C2}
.siteFooter .content{padding-top:72px;padding-bottom:32px}
.siteFooter .footerGrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;margin-bottom:56px}

.siteFooter .footerLogo{display:inline-block}
.siteFooter .footerLogo .footerLogoImg{height:84px;width:auto;opacity:.95;display:block}
.siteFooter .footerLogo .footerLogoText{
	font-family:var(--font-display);font-weight:700;
	letter-spacing:.08em;text-transform:uppercase;font-size:22px;color:#F4EFE6;
}

.siteFooter h4{
	font-family:var(--font-display);font-size:12px;
	letter-spacing:.18em;text-transform:uppercase;
	color:var(--eyebrow-on-dark);font-weight:600;margin:0 0 16px;
}
.siteFooter .footerLinks{
	list-style:none;padding:0;margin:0;
	display:flex;flex-direction:column;gap:9px;font-size:14.5px;
}
.siteFooter .footerLinks a{color:#D9D2C2;opacity:.85;transition:opacity .2s ease,color .2s ease}
.siteFooter .footerLinks a:hover{opacity:1;color:var(--orange)}

.siteFooter .footerContact{font-size:14.5px;line-height:1.8;margin-top:18px;color:rgba(217,210,194,.9)}
.siteFooter .footerContact .row{margin-bottom:6px}
.siteFooter .footerContact a{color:inherit}
.siteFooter .footerContact a:hover{color:var(--orange)}

.siteFooter .footerSocial{display:flex;gap:10px;margin-top:20px}
.siteFooter .footerSocial a{
	display:inline-flex;align-items:center;justify-content:center;
	width:36px;height:36px;border-radius:50%;
	border:1.5px solid rgba(217,210,194,.35);color:#D9D2C2;opacity:.85;
	font-size:0;transition:opacity .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.siteFooter .footerSocial a svg{display:block}
.siteFooter .footerSocial a:hover{opacity:1;color:var(--orange);border-color:var(--orange);transform:translateY(-2px)}

.siteFooter .footerBottom{
	border-top:1px solid rgba(255,255,255,.12);padding-top:24px;
	display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;
	font-size:13px;color:rgba(217,210,194,.7);
}
.siteFooter .footerLegal{display:flex;gap:18px}
.siteFooter .footerLegal a{color:inherit}
.siteFooter .footerLegal a:hover{color:var(--orange)}

@media (max-width:980px){
	.siteFooter .footerGrid{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:620px){
	.siteFooter .footerGrid{grid-template-columns:1fr}
	.siteFooter .footerBottom{flex-direction:column;align-items:center;text-align:center}
}

/* ─── home_hero block ─── */
.hero{
	position:relative;min-height:78vh;
	display:flex;align-items:center;
	color:#fff;overflow:hidden;background:var(--navy);
}
.hero .bg-video{
	position:absolute;inset:0;width:100%;height:100%;
	object-fit:cover;z-index:0;
}
.hero .bg-video-static{background-size:cover;background-position:center}
.hero .bg-video-overlay{
	position:absolute;inset:0;z-index:1;pointer-events:none;
	background:linear-gradient(180deg,rgba(22,38,63,.35),rgba(22,38,63,.6));
}
.hero .hero-text{
	position:relative;z-index:2;width:100%;
	padding-top:80px;padding-bottom:80px;
}
.hero .eyebrow{font-size:21px;color:var(--eyebrow-on-dark);margin-bottom:18px}
.hero h1{
	font-family:var(--font-display);font-weight:var(--display-weight);
	letter-spacing:var(--display-tracking);text-transform:var(--display-case);
	font-size:38px;line-height:1.02;margin:0 0 28px;
	max-width:30ch;text-wrap:balance;color:#fff;
}
.hero h1 .big{font-size:71px;display:block;margin-top:8px}
.hero p{
	font-size:19px;line-height:1.6;margin:0 0 36px;
	max-width:48ch;color:rgba(255,255,255,.92);
}
.hero a.btn{margin-top:0}
.hero p:last-child{margin-bottom:0}

.hero .scroll-hint{
	position:absolute;left:50%;bottom:28px;transform:translateX(-50%);
	font-size:11px;letter-spacing:.2em;text-transform:uppercase;
	color:rgba(255,255,255,.7);
	display:flex;flex-direction:column;align-items:center;gap:8px;z-index:3;
}
.hero .scroll-hint::after{
	content:"";width:1px;height:34px;background:rgba(255,255,255,.5);
	animation:scrollPulse 2.2s ease-in-out infinite;
}
@keyframes scrollPulse{
	0%,100%{opacity:.4;transform:scaleY(.7)}
	50%{opacity:1;transform:scaleY(1)}
}

@media (max-width:620px){
	.hero{min-height:72vh}
	.hero .hero-text{padding-top:48px;padding-bottom:48px}
	.hero .eyebrow{font-size:17px}
	.hero h1{font-size:30px}
	.hero h1 .big{font-size:48px}
	.hero p{font-size:17px}
}

/* ─── .welcome utility (centered narrow intro stack) ─── */
.welcome{text-align:center;margin:0 auto}
.welcome h2{
	font-family:var(--font-display);font-weight:var(--display-weight);
	letter-spacing:var(--display-tracking);text-transform:var(--display-case);line-height:1.05;
	font-size:var(--h1-size);margin:14px 0 10px;color:var(--orange);
}
.welcome .sub{
	font-family:var(--font-display);font-size:16px;color:#000;
	font-weight:500;margin:0 0 28px;text-transform:none;letter-spacing:0;
}
.welcome p{font-size:16px;line-height:1.75;color:var(--ink);margin:0 0 18px}
.welcome strong{color:var(--orange);font-weight:600}

/* ─── support_banner: navy CTA strip with text on left + buttons on right ─── */
.supportBanner{margin-top:48px}
.supportBanner .support-cta{
	padding:36px 40px;background:var(--navy);color:#fff;
	border-radius:var(--radius);
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;
}
.supportBanner .support-cta > *:first-child > *:first-child{margin-top:0}
.supportBanner .support-cta > *:first-child > *:last-child{margin-bottom:0}
.supportBanner .support-cta h3{
	font-family:var(--font-display);font-size:22px;font-weight:600;
	margin:0 0 6px;color:#fff;letter-spacing:.01em;
}
.supportBanner .support-cta p{margin:0;color:rgba(255,255,255,.8);font-size:15px;max-width:46ch}
.supportBanner .support-cta .support-cta-buttons{display:flex;gap:12px;flex-wrap:wrap}
.supportBanner .support-cta .btn-on-dark{background:#fff;color:var(--navy);border:0}
.supportBanner .support-cta .btn-on-dark:hover{background:var(--orange);color:#fff;transform:translateY(-2px)}

@media (max-width:980px){
	.supportBanner .support-cta{flex-direction:column;align-items:flex-start;text-align:left;padding:28px 26px}
}

/* ─── credits / vendor pills (Events page footer) ─── */
.credits{text-align:center;margin:0 auto}
.credits .credits-lede{font-family:var(--font-display);font-size:16px;font-weight:500;color:var(--navy);margin:0 0 28px;letter-spacing:.005em;line-height:1.5}
.credits-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.credit-pill{
	background:#fff;border:1px solid var(--line);border-radius:999px;
	padding:12px 22px;display:inline-flex;align-items:center;gap:12px;
	box-shadow:0 6px 16px rgba(22,38,63,.05);text-decoration:none;color:inherit;
	transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.credit-pill::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--orange)}
.credit-pill:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(22,38,63,.10);border-color:var(--orange)}
.credit-k{font-family:var(--font-display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);font-weight:600}
.credit-v{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--navy)}
@media (max-width:680px){.credits-pills{flex-direction:column;align-items:stretch}.credit-pill{justify-content:center}}

/* ─── per-page bg overrides ─── */

/* Testimonials page: cream-to-white gradient */
body.page-id-35 .bgSection{background:linear-gradient(180deg,var(--cream) 120px,#fff 220px,#fff 100%) !important}

/* Elfsight widgets: top spacing whenever embedded inline in a wysiwyg */
[class*="elfsight-app-"]{margin-top:48px}

/* ─── faq (accordion) ─── */
.faqBlock{margin-top:48px}
.faqBlock .faq-cat-head{
	font-family:var(--font-display);font-size:14px;letter-spacing:.2em;
	text-transform:uppercase;color:var(--orange);font-weight:600;
	margin:0 0 18px;display:flex;align-items:center;gap:14px;
}
.faqBlock .faq-cat-head::before{
	content:"";width:28px;height:2px;background:var(--orange);
	border-radius:2px;display:inline-block;
}
.faqBlock .faq-list{
	list-style:none;margin:0;padding:0;
	display:flex;flex-direction:column;
	border-top:1px solid var(--line);
}
.faqBlock .faq-item{border-bottom:1px solid var(--line);transition:border-color .2s}
.faqBlock .faq-q{
	width:100%;background:transparent;border:0;cursor:pointer;
	padding:22px 18px 22px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;
	font-family:var(--font-display);font-size:17px;font-weight:600;
	color:var(--navy);text-align:left;line-height:1.4;
	transition:color .2s;
}
.faqBlock .faq-q:hover{color:var(--orange)}
.faqBlock .faq-q .chev{
	flex-shrink:0;width:28px;height:28px;border-radius:50%;
	border:1.5px solid var(--line);
	display:flex;align-items:center;justify-content:center;
	font-size:18px;line-height:1;color:var(--muted);
	transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease;
}
.faqBlock .faq-item.is-open .faq-q{color:var(--orange)}
.faqBlock .faq-item.is-open .faq-q .chev{
	transform:rotate(45deg);background:var(--orange);color:#fff;border-color:var(--orange);
}
.faqBlock .faq-a{
	overflow:hidden;max-height:0;
	transition:max-height .35s ease,padding .25s ease;
}
.faqBlock .faq-item.is-open .faq-a{max-height:2000px;padding-bottom:24px;padding-right:48px}
.faqBlock .faq-a p{margin:0 0 12px;font-size:15px;line-height:1.75;color:var(--ink);opacity:.88}
.faqBlock .faq-a p:last-child{margin-bottom:0}
.faqBlock .faq-a ul,.faqBlock .faq-a ol{margin:0 0 12px;padding-left:22px;font-size:15px;line-height:1.75;color:var(--ink);opacity:.9}
.faqBlock .faq-a li{margin-bottom:6px}
.faqBlock .faq-a strong{color:var(--navy);font-weight:600}
.faqBlock .faq-a a{color:var(--orange);border-bottom:1px solid rgba(220,123,58,.4);transition:border-color .2s}
.faqBlock .faq-a a:hover{border-bottom-color:var(--orange)}
.faqBlock .faq-a em{color:var(--muted);font-style:italic}

@media (max-width:620px){
	.faqBlock .faq-q{font-size:16px;padding:18px 12px 18px 0}
	.faqBlock .faq-item.is-open .faq-a{padding-right:0}
}

/* ─── page_header (inner-page hero / banner — matches design's .faq-banner) ─── */
.pageHeader{
	position:relative;
	height:clamp(320px,42vw,460px);
	overflow:hidden;
	background:#1a2538;
	color:#fff;
}
.pageHeader .ph-bg{
	position:absolute;inset:0;
	background-size:cover;background-position:center 35%;
	transform:scale(1.04);
	transition:transform 8s ease-out;
}
.pageHeader.is-loaded .ph-bg{transform:scale(1)}
.pageHeader::after{
	content:"";position:absolute;inset:0;
	background:linear-gradient(180deg,rgba(20,30,48,.35) 0%,rgba(20,30,48,.55) 60%,rgba(20,30,48,.75) 100%);
}
.pageHeader .ph-content{
	position:relative;z-index:2;height:100%;
	display:flex;flex-direction:column;justify-content:flex-end;
	padding-bottom:48px;
}

.pageHeader .breadcrumbs{
	font-family:var(--font-display);font-size:12px;letter-spacing:.16em;
	text-transform:uppercase;color:rgba(255,255,255,.75);
	margin:0 0 18px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;
}
.pageHeader .breadcrumbs a{color:#fff;opacity:.85;transition:opacity .2s,color .2s}
.pageHeader .breadcrumbs a:hover{opacity:1;color:var(--orange)}
.pageHeader .breadcrumbs .sep{opacity:.5}
.pageHeader .breadcrumbs span[aria-current]{color:inherit}

.pageHeader .ph-text > *:first-child{margin-top:0}
.pageHeader .ph-text > *:last-child{margin-bottom:0}
.pageHeader .ph-text h1{
	font-family:var(--font-display);font-weight:var(--display-weight);
	letter-spacing:-.01em;text-transform:var(--display-case);
	font-size:clamp(36px,4vw,56px);line-height:1.05;
	margin:0;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.25);
}
.pageHeader .ph-text p{font-size:16px;line-height:1.7;color:rgba(255,255,255,.92);margin:14px 0 0;max-width:65ch}

/* fallback when no image is set — keep the dark hero look using only the navy fallback */
.pageHeader.no-image::after{display:none}
.pageHeader.no-image{background:linear-gradient(180deg,#1f2c40,#16263F)}

/* ─── home_awards (text left + 2x2 award grid right) ─── */
.homeAwards .ha-layout{
	display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center;
}
.homeAwards .ha-text > *:first-child{margin-top:0}
.homeAwards .ha-text > *:last-child{margin-bottom:0}
.homeAwards .ha-text h2{font-size:42px;line-height:1.05;margin:14px 0 18px}
.homeAwards .ha-text p:not(.eyebrow){font-size:16px;line-height:1.75;color:var(--muted);margin:0 0 14px}
.homeAwards .ha-text a{color:var(--orange);font-weight:600;border-bottom:1px solid transparent;transition:border-color .2s ease}
.homeAwards .ha-text a:hover{border-bottom-color:var(--orange)}

.homeAwards .ha-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.homeAwards .ha-award{
	background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);
	padding:22px;display:flex;align-items:center;justify-content:center;
	aspect-ratio:1.4/1;color:inherit;text-decoration:none;
	transition:transform .3s ease,box-shadow .3s ease;
}
.homeAwards .ha-award:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(22,38,63,.08)}
.homeAwards .ha-award img{max-height:90px;width:auto}

@media (max-width:980px){.homeAwards .ha-layout{grid-template-columns:1fr;gap:36px}}
@media (max-width:620px){.homeAwards .ha-grid{grid-template-columns:1fr}}

/* ─── slideshow_band (full-bleed Ken-Burns hero band with overlay text) ─── */
.slideshowBand{
	position:relative;min-height:60vh;
	display:flex;align-items:center;justify-content:center;
	overflow:hidden;background:#0d1a2c;color:#fff;text-align:center;
}
.slideshowBand .sb-slide{
	position:absolute;inset:0;z-index:0;
	background-size:cover;background-position:center;
	opacity:0;transform:scale(1);
	transition:opacity 1.6s ease;
}
.slideshowBand .sb-slide.is-active{opacity:1;animation:sbZoom 7s ease-out forwards}
@keyframes sbZoom{from{transform:scale(1)}to{transform:scale(1.12)}}

.slideshowBand .sb-overlay{
	position:absolute;inset:0;z-index:1;pointer-events:none;
	background:linear-gradient(180deg,rgba(22,38,63,.45),rgba(22,38,63,.7));
}
.slideshowBand .sb-content{
	position:relative;z-index:2;padding:90px 0;max-width:780px;
}
.slideshowBand .sb-content > *:first-child{margin-top:0}
.slideshowBand .sb-content > *:last-child{margin-bottom:0}
.slideshowBand .sb-content .eyebrow{color:var(--eyebrow-on-dark);margin:0 0 14px}
.slideshowBand .sb-content h2{
	font-size:clamp(34px,4vw,52px);color:#fff;
	margin:0 0 28px;line-height:1.15;
}
.slideshowBand .sb-content p{color:rgba(255,255,255,.92);font-size:16px;line-height:1.6;margin:0 0 28px}

/* ─── instagram_feed (social-band) ─── */
.instagramFeed .social-band{display:block}
.instagramFeed .social-head{
	display:flex;flex-direction:row;align-items:center;justify-content:space-between;
	gap:24px;flex-wrap:wrap;margin:0 0 28px;
}
.instagramFeed .social-text{display:flex;flex-direction:column;gap:0}
.instagramFeed .social-text .eyebrow{margin:0 0 6px}
.instagramFeed .social-text .handle{
	margin:0;font-family:var(--font-display);font-size:34px;font-weight:700;
	color:var(--navy);letter-spacing:.01em;line-height:1;
}
.instagramFeed .social-head .links{display:flex;gap:14px}
.instagramFeed .social-head .links a{
	display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;
	border:1.5px solid var(--navy);
	font-family:var(--font-display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
	font-weight:600;color:var(--navy);
	transition:background .25s ease,color .25s ease;
}
.instagramFeed .social-head .links a:hover{background:var(--navy);color:#fff}

.instagramFeed .social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.instagramFeed .ig-tile{
	aspect-ratio:1/1;border-radius:12px;
	background-size:cover;background-position:center;background-color:#0d1a2c;
	position:relative;overflow:hidden;display:block;
	transition:transform .35s ease,box-shadow .35s ease;
}
.instagramFeed .ig-tile::after{
	content:"";position:absolute;inset:0;
	background:linear-gradient(180deg,rgba(22,38,63,0) 55%,rgba(22,38,63,.55));
	opacity:0;transition:opacity .25s ease;
}
.instagramFeed .ig-tile:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(22,38,63,.18)}
.instagramFeed .ig-tile:hover::after{opacity:1}
.instagramFeed .ig-overlay{
	position:absolute;left:12px;bottom:10px;color:#fff;
	font-family:var(--font-display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
	opacity:0;transition:opacity .25s ease;z-index:2;
}
.instagramFeed .ig-tile:hover .ig-overlay{opacity:1}

@media (max-width:980px){.instagramFeed .social-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){
	.instagramFeed .social-head{flex-direction:column;align-items:flex-start;gap:14px}
	.instagramFeed .social-text .handle{font-size:28px}
}

/* ─── home_blog_list (text on left, 2-card blog grid on right) ─── */
.homeBlogList .blogs-layout{
	display:grid;grid-template-columns:1fr 2fr;gap:64px;align-items:center;
}
.homeBlogList .blogs-head{text-align:left;max-width:none;margin:0}
.homeBlogList .blogs-head > *:first-child{margin-top:0}
.homeBlogList .blogs-head > *:last-child{margin-bottom:0}
.homeBlogList .blogs-head h2{font-size:42px;line-height:1.05;margin:10px 0 14px}
.homeBlogList .blogs-head p:not(.eyebrow){color:var(--muted);font-size:16px;margin:0 0 24px}

.homeBlogList .blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.homeBlogList .blog{
	background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
	color:inherit;text-decoration:none;display:block;
	transition:transform .3s ease,box-shadow .3s ease;
}
.homeBlogList .blog:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(22,38,63,.10)}
.homeBlogList .blog img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block;transition:transform .6s ease}
.homeBlogList .blog:hover img{transform:scale(1.04)}
.homeBlogList .blog .body{padding:26px 28px 30px}
.homeBlogList .blog h3{
	font-family:var(--font-display);font-size:20px;font-weight:600;
	text-transform:none;letter-spacing:0;line-height:1.3;
	margin:0 0 12px;color:var(--navy);
}
.homeBlogList .blog p{color:var(--muted);font-size:15px;line-height:1.65;margin:0 0 14px}
.homeBlogList .blog .read{
	font-family:var(--font-display);font-size:12px;letter-spacing:.14em;
	text-transform:uppercase;color:var(--orange);font-weight:600;
}

@media (max-width:980px){
	.homeBlogList .blogs-layout{grid-template-columns:1fr;gap:36px}
	.homeBlogList .blog-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
	.homeBlogList .blog-grid{grid-template-columns:1fr}
}

/* ─── .section-head (centered eyebrow + h2 used at top of sections like Offers) ─── */
.section-head{text-align:center;margin-bottom:44px}
.section-head .eyebrow{margin-bottom:8px;display:block}
.section-head h2{font-size:42px;margin:10px 0 0;line-height:1.05}

/* ─── special_offers_list ─── */
.specialOffersList .offer-grid{
	display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.specialOffersList .offer{
	background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
	display:flex;flex-direction:column;
	transition:transform .3s ease,box-shadow .3s ease;
}
.specialOffersList .offer:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(22,38,63,.10)}
.specialOffersList .offer .ph{
	display:block;aspect-ratio:4/3;
	background:linear-gradient(135deg,#F2B57A,#DC7B3A 60%,#22364F);
	background-size:cover;background-position:center;
}
.specialOffersList .offer .body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;gap:10px}
.specialOffersList .offer h3{
	font-family:var(--font-display);font-weight:600;font-size:21px;
	text-transform:none;letter-spacing:0;margin:0;color:var(--navy);line-height:1.25;
}
.specialOffersList .offer h3 a{color:inherit}
.specialOffersList .offer h3 a:hover{color:var(--orange)}
.specialOffersList .offer .sub{margin:0;font-style:italic;color:var(--orange);font-size:14px}
.specialOffersList .offer p{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 14px;flex:1;white-space:pre-line}
.specialOffersList .offer .links{
	display:flex;gap:12px;align-items:center;
	font-family:var(--font-display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
	margin-top:auto;
}
.specialOffersList .offer .links a{color:var(--orange);transition:color .15s ease}
.specialOffersList .offer .links a:hover{color:var(--orange-2)}
.specialOffersList .offer .links span.dot{color:var(--line)}

@media (max-width:980px){.specialOffersList .offer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.specialOffersList .offer-grid{grid-template-columns:1fr}}

/* ─── text_with_gallery (35/65 grid + mosaic gallery, same shape as text_with_images) ─── */
.textWithGallery .content{
	display:grid;grid-template-columns:35% 65%;gap:64px;align-items:center;
}
.textWithGallery.side-left .content{grid-template-columns:65% 35%}
.textWithGallery.side-left .twg-text{order:2}
.textWithGallery.side-left .twg-visual{order:1}

.textWithGallery .twg-text > *:first-child{margin-top:0}
.textWithGallery .twg-text > *:last-child{margin-bottom:0}
.textWithGallery .twg-text h2{font-size:42px;line-height:1.05;margin:0 0 24px}

.textWithGallery .gallery{
	display:grid;gap:14px;border-radius:var(--radius);
	min-height:360px;width:100%;
}
.textWithGallery .gallery .g-tile{
	background-size:cover;background-position:center;
	border-radius:10px;overflow:hidden;position:relative;
	box-shadow:0 14px 30px -16px rgba(13,26,44,.35);
	transition:transform .5s ease,box-shadow .5s ease;
}
.textWithGallery .gallery .g-tile:hover{
	transform:translateY(-3px) scale(1.01);
	box-shadow:0 24px 44px -16px rgba(13,26,44,.45);
}
/* mosaic: big tile left spanning 3 rows, 3 stacked right */
.textWithGallery .gallery-mosaic{
	grid-template-columns:1.4fr 1fr;
	grid-template-rows:1fr 1fr 1fr;
	grid-auto-flow:column;
}
.textWithGallery .gallery-mosaic .g-tile-0{grid-row:1 / span 3}

@media (max-width:980px){
	.textWithGallery .content,
	.textWithGallery.side-left .content{grid-template-columns:1fr;gap:32px}
	.textWithGallery.side-left .twg-text,
	.textWithGallery.side-left .twg-visual{order:initial}
	.textWithGallery .gallery-mosaic{
		grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,160px);grid-auto-flow:row;
	}
	.textWithGallery .gallery-mosaic .g-tile-0{grid-column:auto;grid-row:auto}
}

/* ─── text_with_images block (35/65 grid + auto-rotating slider) ─── */
.textWithImages .content{
	display:grid;grid-template-columns:35% 65%;gap:64px;align-items:center;
}
.textWithImages.side-left .content{grid-template-columns:65% 35%}
.textWithImages.side-left .twi-text{order:2}
.textWithImages.side-left .twi-visual{order:1}

.textWithImages .twi-text > *:first-child{margin-top:0}
.textWithImages .twi-text > *:last-child{margin-bottom:0}
.textWithImages .twi-text h2{font-size:42px;line-height:1.05;margin:0 0 24px}

.textWithImages .twi-visual{
	position:relative;aspect-ratio:16/9;
	border-radius:var(--radius);overflow:hidden;
	background:#0d1a2c;
	box-shadow:0 30px 60px -20px rgba(0,0,0,.4);
}
.textWithImages .twi-visual .slide{
	position:absolute;inset:0;
	background-size:cover;background-position:center;
	opacity:0;transition:opacity .9s ease;
}
.textWithImages .twi-visual .slide.is-active{opacity:1}

.textWithImages .twi-visual .dots{
	position:absolute;bottom:14px;left:50%;transform:translateX(-50%);
	display:flex;gap:7px;z-index:2;
}
.textWithImages .twi-visual .dots button{
	width:8px;height:8px;border-radius:999px;border:0;
	background:rgba(255,255,255,.45);cursor:pointer;padding:0;
	transition:width .25s ease,background .25s ease;
}
.textWithImages .twi-visual .dots button.is-active{background:#fff;width:22px}

@media (max-width:980px){
	.textWithImages .content,
	.textWithImages.side-left .content{grid-template-columns:1fr;gap:32px}
	.textWithImages.side-left .twi-text,
	.textWithImages.side-left .twi-visual{order:initial}
}

/* ─── .features (4-card icon grid) ─── */
.features{
	display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
	gap:24px;margin-top:56px;
}
.feature{
	background:#fff;border:1px solid var(--line);border-radius:var(--radius);
	padding:34px 22px 28px;text-align:center;
	text-decoration:none;color:inherit;display:block;
	transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.feature:hover{
	transform:translateY(-6px);
	box-shadow:0 18px 40px rgba(22,38,63,.10);
	border-color:rgba(220,123,58,.4);
}
.feature .ico{
	width:96px;height:96px;margin:0 auto 18px;
	display:flex;align-items:center;justify-content:center;
}
.feature .ico img{max-height:96px;width:auto}
.feature h3{
	font-family:var(--font-display);text-transform:var(--display-case);
	letter-spacing:var(--display-tracking);font-size:16px;font-weight:600;
	margin:0;color:var(--navy);
}
@media (max-width:980px){
	.features{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
	.features{grid-template-columns:1fr}
}
