/*
Theme Name: Visit Yellowknife Region
Author: The Travel Spark Company LLC
Description: A lean native WordPress travel guide theme inspired by Yellowknife's aurora, Great Slave Lake, Old Town, and northern seasons.
Version: 1.0.11
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: visit-yellowknife-region
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
	--snow: #fbfaf7;
	--paper: #ffffff;
	--ink: #112033;
	--night: #10233e;
	--night-deep: #071426;
	--lake-ice: #deedf3;
	--lake: #1d759b;
	--aurora: #28bd79;
	--aurora-glow: #53e48f;
	--aurora-deep: #177657;
	--muted: #657080;
	--border: #dce2e8;
	--danger: #9a2d2d;
	--gradient-aurora: linear-gradient(135deg, var(--aurora) 0%, var(--lake) 55%, var(--aurora-glow) 100%);
	--gradient-night: linear-gradient(180deg, #071426 0%, #10233e 100%);
	--shadow-soft: 0 8px 28px -18px rgba(17, 32, 51, .3);
	--shadow-card: 0 18px 44px -22px rgba(17, 32, 51, .38);
	--radius: 18px;
	--font-display: Georgia, 'Times New Roman', serif;
	--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--snow);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--aurora-deep); text-underline-offset: .18em; }
a:hover { color: var(--lake); }
button, input, textarea, select { font: inherit; }
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .55em;
	color: var(--night);
	font-family: var(--font-display);
	font-weight: 600;
	letter-spacing: -.022em;
	line-height: 1.12;
}
h1 { font-size: clamp(2.65rem, 6vw, 5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.25rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.15em; }
:focus-visible { outline: 3px solid var(--aurora); outline-offset: 4px; }

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus,
.skip-link:focus {
	clip: auto !important;
	clip-path: none;
	height: auto;
	left: 1rem;
	padding: .8rem 1rem;
	top: 1rem;
	width: auto;
	z-index: 10000;
	background: var(--paper);
	color: var(--night);
	border-radius: 8px;
	box-shadow: var(--shadow-card);
}

.container-editorial,
.container-narrow,
.container-article {
	width: min(100% - 2.5rem, 1152px);
	margin-inline: auto;
}
.container-narrow { width: min(100% - 2.5rem, 768px); }
.container-article { width: min(100% - 2.5rem, 1120px); }
.site-main { min-height: 55vh; }
.section { padding-block: clamp(4.5rem, 8vw, 7rem); }
.section--ice { background: rgba(222, 237, 243, .52); border-block: 1px solid rgba(220, 226, 232, .78); }
.section--field-note { background: var(--paper); border-block: 1px solid var(--border); }

.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin: 0 0 .9rem;
	color: var(--aurora-deep);
	font-size: .73rem;
	font-weight: 750;
	letter-spacing: .18em;
	line-height: 1.4;
	text-transform: uppercase;
}
.eyebrow--light { color: var(--aurora-glow); }
.section-heading { max-width: 720px; margin-bottom: 2.6rem; }
.section-heading > p:last-child { color: var(--muted); font-size: 1.08rem; }
.section-heading--split { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; max-width: none; }
.section-heading--split > div { max-width: 680px; }
.section-heading--split > p { max-width: 420px; margin: 0 0 .6rem; }

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(251, 250, 247, .94);
	border-bottom: 1px solid rgba(220, 226, 232, .82);
	backdrop-filter: blur(15px);
}
.site-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 78px; gap: 1.5rem; }
.site-brand, .footer-brand { display: inline-flex; align-items: center; gap: .65rem; color: inherit; text-decoration: none; }
.custom-logo-link { display: inline-flex; align-items: center; max-width: 285px; }
.custom-logo { width: auto; max-height: 54px; }
.site-brand__mark {
	position: relative;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	border-radius: 50%;
	background: var(--gradient-aurora);
}
.site-brand__mark::before { content: ''; position: absolute; inset: 4px; border-radius: inherit; background: var(--night-deep); }
.site-brand__mark span { position: relative; color: var(--aurora-glow); font-family: var(--font-display); font-weight: 700; }
.site-brand__words { display: flex; flex-direction: column; line-height: 1.05; }
.site-brand__name { color: var(--night); font-family: var(--font-display); font-size: 1.02rem; font-weight: 650; }
.site-brand__region { color: var(--aurora-deep); font-size: .66rem; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.primary-navigation { display: flex; align-items: center; gap: 1.1rem; }
.primary-navigation .menu { display: flex; align-items: center; gap: clamp(.65rem, 1.35vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.primary-navigation .menu a { color: rgba(17, 32, 51, .78); font-size: .82rem; font-weight: 650; text-decoration: none; white-space: nowrap; }
.primary-navigation .menu a:hover, .primary-navigation .current-menu-item > a { color: var(--aurora-deep); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; border-radius: 10px; background: transparent; color: var(--night); cursor: pointer; }
.menu-toggle__icon, .menu-toggle__icon::before, .menu-toggle__icon::after { display: block; width: 22px; height: 2px; margin: auto; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.menu-toggle__icon { position: relative; }
.menu-toggle__icon::before, .menu-toggle__icon::after { content: ''; position: absolute; left: 0; }
.menu-toggle__icon::before { top: -7px; }
.menu-toggle__icon::after { top: 7px; }
.menu-toggle[aria-expanded='true'] .menu-toggle__icon { background: transparent; }
.menu-toggle[aria-expanded='true'] .menu-toggle__icon::before { top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded='true'] .menu-toggle__icon::after { top: 0; transform: rotate(-45deg); }

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	min-height: 45px;
	padding: .72rem 1.35rem;
	border: 0;
	border-radius: 999px;
	font-size: .86rem;
	font-weight: 750;
	letter-spacing: .015em;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform .2s ease, filter .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-1px); }
.button--aurora { background: var(--gradient-aurora); color: var(--night-deep); box-shadow: 0 18px 55px -22px rgba(40, 189, 121, .62); }
.button--aurora:hover { color: var(--night-deep); filter: brightness(1.05); }
.button--ink { background: var(--night); color: var(--snow); }
.button--ink:hover { color: var(--snow); filter: brightness(1.18); }
.button--outline-light { border: 2px solid rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .04); color: var(--snow); }
.button--outline-light:hover { background: rgba(255, 255, 255, .12); color: var(--snow); }
.button-row { display: flex; flex-wrap: wrap; gap: .85rem; }

.home-hero { position: relative; display: grid; min-height: clamp(600px, 72vh, 780px); overflow: hidden; }
.home-hero__image, .article-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-hero__overlay, .article-hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 20, 38, .15), rgba(7, 20, 38, .87)); }
.home-hero__content { position: relative; align-self: end; z-index: 1; padding-block: clamp(5rem, 10vw, 9rem); }
.home-hero h1 { max-width: 850px; color: var(--snow); font-size: clamp(3.4rem, 8vw, 6.7rem); line-height: .98; }
.home-hero__content > p:not(.eyebrow) { max-width: 790px; margin: 1.4rem 0 2rem; color: rgba(251, 250, 247, .86); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.responsible-note { padding: 1.25rem 0; background: rgba(222, 237, 243, .62); border-block: 1px solid var(--border); color: rgba(17, 32, 51, .78); font-size: .92rem; }
.responsible-note strong { color: var(--night); }

.quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.15rem; }
.quick-card { padding: 1.6rem; background: var(--paper); border: 1px solid rgba(220, 226, 232, .9); border-radius: var(--radius); box-shadow: var(--shadow-soft); }
.quick-card > span { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 1.1rem; border-radius: 50%; background: rgba(40, 189, 121, .12); color: var(--aurora-deep); font-size: 1.2rem; }
.quick-card h2, .quick-card h3 { font-size: 1.22rem; }
.quick-card p { margin: 0; color: var(--muted); font-size: .91rem; }
.topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.topic-card, .post-card { overflow: hidden; background: var(--paper); border: 1px solid rgba(220, 226, 232, .9); border-radius: var(--radius); box-shadow: var(--shadow-soft); transition: transform .25s ease, box-shadow .25s ease; }
.topic-card { color: inherit; text-decoration: none; }
.topic-card:hover, .post-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card); }
.topic-card__image, .post-card__image { display: block; overflow: hidden; aspect-ratio: 4 / 3; background: var(--lake-ice); }
.topic-card__image img, .post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.topic-card:hover img, .post-card:hover .post-card__image img { transform: scale(1.035); }
.topic-card__body { padding: 1.5rem; }
.topic-card__body h3 { margin-top: .3rem; color: var(--night); }
.topic-card__body p { color: var(--muted); font-size: .91rem; }
.topic-card__body strong { color: var(--aurora-deep); font-size: .86rem; }
.topic-card__icon { color: var(--aurora-deep); font-size: 1.25rem; }

.seasonal-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.7rem; }
.season-card { overflow: hidden; border-radius: 24px; }
.season-card img { width: 100%; aspect-ratio: 5 / 3; object-fit: cover; }
.season-card > div { padding: clamp(1.8rem, 4vw, 2.8rem); }
.season-card h2 { font-size: clamp(1.8rem, 3vw, 2.55rem); }
.season-card p { color: rgba(251, 250, 247, .78); }
.season-card a { font-weight: 750; text-decoration: none; }
.season-card--winter { background: var(--gradient-night); color: var(--snow); }
.season-card--winter h2 { color: var(--snow); }
.season-card--winter a { color: var(--aurora-glow); }
.season-card--summer { background: var(--lake-ice); color: var(--ink); }
.season-card--summer p { color: rgba(17, 32, 51, .72); }

.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.post-card { display: flex; flex-direction: column; }
.post-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.45rem; }
.post-card__title { margin: .2rem 0 .7rem; font-size: 1.3rem; }
.post-card__title a { color: var(--night); text-decoration: none; }
.post-card__title a:hover { color: var(--aurora-deep); }
.post-card__excerpt { flex: 1; color: var(--muted); font-size: .9rem; }
.post-card__excerpt p { margin: 0 0 1.2rem; }
.post-card__meta { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-top: 1rem; border-top: 1px solid var(--border); color: var(--muted); font-size: .76rem; }
.post-card__meta a { font-weight: 750; text-decoration: none; }
.topic-chips, .archive-tools { padding-bottom: 4.5rem; }
.topic-chips > div, .topic-chips__links { display: flex; flex-wrap: wrap; gap: .55rem; }
.topic-chips a, .topic-chips__links a { padding: .52rem .9rem; border-radius: 999px; background: var(--lake-ice); color: var(--night); font-size: .8rem; font-weight: 650; text-decoration: none; }
.topic-chips a:hover, .topic-chips__links a:hover, .topic-chips__links .is-current { background: var(--night); color: var(--snow); }
.archive-tools { padding-top: 3.5rem; padding-bottom: 0; }

.page-hero { background: var(--gradient-night); color: var(--snow); }
.page-hero__inner { padding-block: clamp(4.5rem, 8vw, 7rem); }
.page-hero h1 { max-width: 980px; color: var(--snow); }
.page-hero__intro { max-width: 760px; margin: 1rem 0 0; color: rgba(251, 250, 247, .78); font-size: 1.12rem; }
.page-hero__intro p:last-child { margin-bottom: 0; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.4rem; color: rgba(251, 250, 247, .63); font-size: .8rem; }
.breadcrumbs a { color: rgba(251, 250, 247, .72); text-decoration: none; }
.breadcrumbs a:hover { color: var(--aurora-glow); }
.featured-guide { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(2rem, 5vw, 4.2rem); color: inherit; text-decoration: none; }
.featured-guide__image { overflow: hidden; border-radius: 24px; box-shadow: var(--shadow-soft); }
.featured-guide__image img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.featured-guide__body h2 { transition: color .2s ease; }
.featured-guide:hover h2 { color: var(--aurora-deep); }
.featured-guide__body > p:not(.eyebrow) { color: var(--muted); font-size: 1.05rem; }
.featured-guide__body > strong { color: var(--aurora-deep); }
.guide-meta { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.3rem; color: var(--muted); font-size: .82rem; }
.navigation.pagination { margin-top: 3.5rem; }
.nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: .5rem .8rem; border: 1px solid var(--border); border-radius: 999px; color: var(--night); text-decoration: none; }
.page-numbers.current, a.page-numbers:hover { background: var(--night); border-color: var(--night); color: var(--snow); }
.empty-state { width: 100%; padding: 2.4rem; background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius); color: var(--muted); text-align: center; }

.article-hero { position: relative; min-height: clamp(500px, 62vh, 690px); display: grid; overflow: hidden; }
.article-hero__overlay { background: linear-gradient(180deg, rgba(7, 20, 38, .35), rgba(7, 20, 38, .9)); }
.article-hero__content { position: relative; z-index: 1; align-self: end; padding-block: clamp(4rem, 8vw, 6.5rem); }
.article-hero h1 { color: var(--snow); }
.article-meta { display: flex; flex-wrap: wrap; gap: 1.2rem; color: rgba(251, 250, 247, .76); font-size: .84rem; }
.article-layout { display: grid; grid-template-columns: minmax(0, 768px); justify-content: center; gap: 3.5rem; padding-block: clamp(4rem, 7vw, 6rem); }
.article-layout.has-sidebar { grid-template-columns: minmax(0, 768px) minmax(250px, 1fr); align-items: start; }
.article-main { min-width: 0; }
.guide-sidebar { position: sticky; top: 110px; display: grid; min-width: 0; max-width: 100%; gap: 1.2rem; }
.guide-widget { min-width: 0; max-width: 100%; overflow: hidden; padding: 1.4rem; background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius); }
.guide-widget input, .guide-widget form { max-width: 100%; }
.guide-widget__title { font-size: 1.25rem; }

.entry-content { color: rgba(17, 32, 51, .88); font-size: 1.06rem; line-height: 1.78; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content p { margin: 0 0 1.3rem; }
.entry-content .lead, .entry-content > p:first-child { color: var(--ink); font-size: 1.22rem; font-weight: 520; line-height: 1.7; }
.entry-content h2 { margin-top: 2.8rem; font-size: clamp(1.75rem, 3vw, 2.35rem); }
.entry-content h3 { margin-top: 2.2rem; }
.entry-content ul, .entry-content ol { margin: 0 0 1.5rem; padding-left: 1.4rem; }
.entry-content li { margin-bottom: .5rem; }
.entry-content blockquote { margin: 2rem 0; padding: .5rem 0 .5rem 1.3rem; border-left: 4px solid var(--aurora); color: var(--muted); font-style: italic; }
.entry-content figure { margin: 2.4rem 0; }
.entry-content figure img { width: 100%; border-radius: 16px; }
.entry-content figcaption { margin-top: .65rem; color: var(--muted); font-size: .82rem; line-height: 1.55; text-align: center; }
.entry-content table { display: block; width: 100%; max-width: 100%; margin: 2rem 0; overflow-x: auto; border-collapse: collapse; font-size: .9rem; }
.entry-content caption { margin-bottom: .7rem; color: var(--night); font-family: var(--font-display); font-size: 1.18rem; font-weight: 650; text-align: left; }
.entry-content th, .entry-content td { min-width: 160px; padding: .8rem .9rem; border: 1px solid var(--border); text-align: left; vertical-align: top; }
.entry-content th { background: var(--lake-ice); color: var(--night); }
.page-entry { min-height: 36vh; }
.integration { margin: 2.2rem 0; padding: clamp(1.5rem, 4vw, 2.4rem); border-radius: var(--radius); }
.integration--unconfigured { background: rgba(222, 237, 243, .56); border: 2px dashed rgba(23, 118, 87, .4); color: var(--muted); text-align: center; }
.integration--unconfigured p:last-child { max-width: 660px; margin: 0 auto; }
.newsletter-section { padding-block: 2rem 6rem; }
.newsletter-section .integration { padding-block: clamp(2.5rem, 6vw, 4.2rem); background: var(--gradient-night); border: 0; color: rgba(251, 250, 247, .75); }
.newsletter-section .integration .eyebrow { color: var(--aurora-glow); font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -.02em; text-transform: none; }
.share-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.share-row > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.share-row a { padding: .42rem .75rem; border: 1px solid var(--border); border-radius: 999px; color: var(--night); font-size: .8rem; text-decoration: none; }
.post-navigation { margin-top: 2.5rem; }
.post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.post-navigation a { display: flex; flex-direction: column; height: 100%; padding: 1.2rem; background: var(--paper); border: 1px solid var(--border); border-radius: 14px; color: var(--night); text-decoration: none; }
.post-navigation .nav-next { text-align: right; }
.post-navigation strong { font-family: var(--font-display); }

.tours-topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; padding-bottom: 1rem; }
.tours-topic-grid .quick-card h2 { font-size: 1.4rem; }
.contact-form { position: relative; margin-top: 2.2rem; padding: clamp(1.4rem, 4vw, 2.2rem); background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-soft); }
.contact-form__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.contact-form label { display: block; margin-bottom: .35rem; color: var(--night); font-size: .85rem; font-weight: 750; }
.contact-form input, .contact-form textarea { width: 100%; padding: .78rem .9rem; border: 1px solid var(--border); border-radius: 10px; background: var(--snow); color: var(--ink); }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--aurora-deep); outline: 3px solid rgba(40, 189, 121, .23); }
.contact-form__website { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-notice { margin: 1.5rem 0; padding: 1rem 1.2rem; border-radius: 12px; }
.form-notice--success { background: rgba(40, 189, 121, .14); color: var(--aurora-deep); }
.form-notice--error { background: rgba(154, 45, 45, .12); color: var(--danger); }
.error-page { display: grid; min-height: 65vh; background: radial-gradient(circle at 80% 10%, rgba(40, 189, 121, .18), transparent 30%), var(--night-deep); color: var(--snow); }
.error-page__content { align-self: center; padding-block: 6rem; }
.error-page h1 { color: var(--snow); }
.error-page p:not(.eyebrow) { max-width: 620px; color: rgba(251, 250, 247, .76); font-size: 1.1rem; }

.site-footer { margin-top: 5rem; background: var(--night-deep); color: rgba(251, 250, 247, .72); }
.site-footer__main { display: grid; grid-template-columns: 1.4fr .75fr 1fr; gap: 4rem; padding-block: 4.5rem; }
.site-footer h2 { color: var(--snow); font-size: 1.05rem; }
.site-footer a { color: rgba(251, 250, 247, .72); text-decoration: none; }
.site-footer a:hover { color: var(--aurora-glow); }
.footer-brand { margin-bottom: 1.2rem; color: var(--snow); }
.footer-brand > span:last-child { display: flex; flex-direction: column; line-height: 1.1; }
.footer-brand strong { color: var(--snow); font-family: var(--font-display); font-size: 1.15rem; }
.footer-brand small { color: var(--aurora-glow); font-size: .64rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.site-footer__brand p { max-width: 440px; font-size: .88rem; }
.footer-menu, .footer-categories { margin: 0; padding: 0; list-style: none; }
.footer-menu li, .footer-categories li { margin: .42rem 0; }
.footer-categories { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 .7rem; }
.site-footer__notes { display: grid; gap: .45rem; padding-block: 2rem; border-top: 1px solid rgba(251, 250, 247, .14); font-size: .74rem; }
.site-footer__notes p { margin: 0; }
.site-footer__notes strong { color: var(--aurora-glow); }

@media (max-width: 1100px) {
	.menu-toggle { display: inline-grid; place-items: center; margin-left: auto; }
	.primary-navigation {
		position: fixed;
		top: 78px;
		left: 0;
		right: 0;
		display: none;
		max-height: calc(100vh - 78px);
		overflow-y: auto;
		padding: 1.25rem;
		background: var(--snow);
		border-bottom: 1px solid var(--border);
		box-shadow: var(--shadow-card);
	}
	.primary-navigation.is-open { display: block; }
	.primary-navigation .menu { display: flex; align-items: stretch; flex-direction: column; gap: 0; }
	.primary-navigation .menu a { display: block; padding: .72rem .2rem; font-size: .98rem; }
	.header-tour-link { width: 100%; margin-top: 1rem; }
	.quick-grid { grid-template-columns: repeat(2, 1fr); }
	.topic-grid, .post-grid { grid-template-columns: repeat(2, 1fr); }
	.article-layout.has-sidebar { grid-template-columns: minmax(0, 1fr); }
	.guide-sidebar { position: static; }
}

@media (max-width: 760px) {
	.container-editorial, .container-narrow, .container-article { width: min(100% - 2rem, 1152px); }
	.site-header__inner { min-height: 68px; }
	.primary-navigation { top: 68px; max-height: calc(100vh - 68px); }
	.site-brand__mark { width: 38px; height: 38px; flex-basis: 38px; }
	.site-brand__name { font-size: .93rem; }
	.home-hero { min-height: 640px; }
	.home-hero__content { padding-block: 4.5rem; }
	.home-hero h1 { font-size: clamp(3rem, 15vw, 4.4rem); }
	.section { padding-block: 4.2rem; }
	.section-heading--split { align-items: flex-start; flex-direction: column; gap: 1rem; }
	.quick-grid, .topic-grid, .post-grid, .seasonal-grid, .tours-topic-grid, .site-footer__main { grid-template-columns: 1fr; }
	.seasonal-grid { gap: 1.2rem; }
	.featured-guide { grid-template-columns: 1fr; gap: 1.6rem; }
	.featured-guide__body h2 { font-size: 2rem; }
	.article-hero { min-height: 600px; }
	.article-hero__content { padding-block: 4rem; }
	.article-meta { gap: .65rem 1rem; }
	.entry-content { font-size: 1rem; }
	.entry-content .lead, .entry-content > p:first-child { font-size: 1.1rem; }
	.share-row { align-items: flex-start; flex-direction: column; }
	.post-navigation .nav-links { grid-template-columns: 1fr; }
	.post-navigation .nav-next { text-align: left; }
	.contact-form__grid { grid-template-columns: 1fr; gap: 0; }
	.site-footer__main { gap: 2.3rem; }
	.footer-categories { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
	.button-row .button { width: 100%; }
	.quick-grid { grid-template-columns: 1fr; }
	.home-hero__content > p:not(.eyebrow) { font-size: 1rem; }
	.post-card__meta { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
/* Yellowknife live integration refinements: 2026-08-22 */
.site-main--tours {
	overflow: clip;
}

.vyr-tours-live {
	padding: 1rem 0 0;
}

.vyr-tours-live > .integration {
	width: min(100% - 2.5rem, 1152px);
	margin: 0 auto;
	padding: 0;
}

.vyr-tours-live .travelspark-tours-index {
	margin-top: 0;
}

.vyr-tours-live .travelspark-tours-index__hero {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
	align-items: end;
	gap: clamp(1.5rem, 4vw, 4rem);
	min-height: clamp(540px, 68vh, 720px);
	padding: clamp(2rem, 6vw, 5.5rem);
	overflow: hidden;
	border: 0;
	border-radius: var(--radius);
	background:
		linear-gradient(110deg, rgba(7, 20, 38, .93) 8%, rgba(7, 20, 38, .66) 58%, rgba(7, 20, 38, .25) 100%),
		url('assets/images/hero-aurora.jpg') center / cover no-repeat;
	box-shadow: var(--shadow-card);
}

.vyr-tours-live .travelspark-tours-index__hero::after {
	content: '';
	position: absolute;
	inset: auto 0 0;
	z-index: -1;
	height: 42%;
	background: linear-gradient(180deg, transparent, rgba(7, 20, 38, .72));
	pointer-events: none;
}

.vyr-tours-live .travelspark-tours-index__hero-copy,
.vyr-tours-live .travelspark-tours-index__hero-panel {
	position: relative;
	z-index: 1;
}

.vyr-tours-live .travelspark-tours-index__hero h1,
.vyr-tours-live .travelspark-tours-index__hero p,
.vyr-tours-live .travelspark-tours-index__hero strong,
.vyr-tours-live .travelspark-tours-index__hero span {
	color: var(--snow);
}

.vyr-tours-live .travelspark-tours-index__hero h1 {
	max-width: 760px;
	font-family: var(--font-display);
	font-size: clamp(3rem, 5.2vw, 4.7rem);
	font-weight: 600;
	letter-spacing: -.035em;
	line-height: 1;
}

.vyr-tours-live .travelspark-tours-index__hero-copy > p {
	max-width: 680px;
	font-size: clamp(1rem, 1.8vw, 1.22rem);
	line-height: 1.6;
}

.vyr-tours-live .travelspark-tours-index__hero-panel {
	padding: 1.35rem;
	border: 1px solid rgba(255, 255, 255, .24);
	border-radius: var(--radius);
	background: rgba(7, 20, 38, .64);
	box-shadow: 0 22px 60px -38px rgba(7, 20, 38, .9);
	backdrop-filter: blur(12px);
}

.vyr-tours-live .travelspark-tours-index__hero-panel > div {
	border-color: rgba(255, 255, 255, .18);
	background: rgba(7, 20, 38, .78);
}

.vyr-tours-live .travelspark-tours-index__hero-panel > div + div {
	border-color: rgba(255, 255, 255, .18);
}

.vyr-tours-live .travelspark-tours-index__actions a {
	min-height: 45px;
	border-radius: 999px;
}

.vyr-tours-live .travelspark-tours-index__topic-grid,
.vyr-tours-live .travelspark-tours-index__guide-grid,
.vyr-tours-live .travelspark-tours-index__planning-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vyr-tours-live .travelspark-tours-index__topic,
.vyr-tours-live .travelspark-tours-index__guide,
.vyr-tours-live .travelspark-tours-index__planning-grid > article {
	border-color: var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-soft);
}

.newsletter-band .sib_signup_form,
.newsletter-band .sib_signup_box_inside_1 {
	width: 100%;
}

.newsletter-band .sib_signup_form form,
.newsletter-band .sib_signup_box_inside_1 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: .8rem 1rem;
}

.newsletter-band .sib_signup_form p,
.newsletter-band .sib_signup_box_inside_1 p {
	margin: 0;
}

.newsletter-band .sib-email-area {
	grid-column: 1;
}

.newsletter-band .sib-consent {
	grid-column: 1 / -1;
	font-size: .82rem;
	line-height: 1.5;
}

.newsletter-band .sib-consent label {
	display: flex;
	align-items: flex-start;
	gap: .55rem;
}

.newsletter-band input[type='email'] {
	min-height: 48px;
	padding: .75rem 1rem;
	border: 1px solid var(--border);
	border-radius: 10px;
	background: var(--paper);
	color: var(--ink);
}

.newsletter-band input[type='submit'] {
	min-height: 48px;
	padding: .75rem 1.3rem;
	border: 0;
	border-radius: 999px;
	background: var(--aurora);
	color: var(--night-deep);
	font-weight: 750;
	cursor: pointer;
}

@media (max-width: 820px) {
	.vyr-tours-live .travelspark-tours-index__hero {
		grid-template-columns: 1fr;
		min-height: 660px;
		padding: 2rem 1.25rem;
		border-radius: 14px;
	}

	.vyr-tours-live .travelspark-tours-index__topic-grid,
	.vyr-tours-live .travelspark-tours-index__guide-grid,
	.vyr-tours-live .travelspark-tours-index__planning-grid,
	.newsletter-band .sib_signup_form form,
	.newsletter-band .sib_signup_box_inside_1 {
		grid-template-columns: 1fr;
	}

	.newsletter-band .sib-email-area,
	.newsletter-band .sib-consent {
		grid-column: 1;
	}
}


/* Yellowknife brand lockup: 2026-08-22 */
.custom-logo-link {
	width: min(285px, 38vw);
}

.custom-logo {
	display: block;
	width: 100%;
	max-height: 62px;
	object-fit: contain;
	object-position: left center;
}

.footer-brand {
	display: block;
}

.footer-logo {
	display: block;
	width: min(100%, 330px);
	height: auto;
}

@media (max-width: 560px) {
	.custom-logo-link {
		width: min(236px, 68vw);
	}

	.custom-logo {
		max-height: 54px;
	}
}


/* Cinematic Page and 404 treatments: 2026-08-22 */
.page-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		linear-gradient(105deg, rgba(7, 20, 38, .94) 12%, rgba(7, 20, 38, .72) 62%, rgba(7, 20, 38, .42)),
		url('assets/images/hero-aurora.jpg') center 44% / cover no-repeat;
}

.page-hero::after {
	content: '';
	position: absolute;
	inset: auto 0 0;
	z-index: -1;
	height: 45%;
	background: linear-gradient(180deg, transparent, rgba(7, 20, 38, .62));
}

.error-page {
	position: relative;
	isolation: isolate;
	display: grid;
	min-height: 72vh;
	overflow: hidden;
	background: var(--night-deep);
	color: var(--snow);
}

.error-page__image,
.error-page__overlay {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.error-page__overlay {
	z-index: -1;
	background: linear-gradient(105deg, rgba(7, 20, 38, .95), rgba(7, 20, 38, .72) 62%, rgba(7, 20, 38, .38));
}

.error-page__topics {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin-top: 2rem;
}

.error-page__topics a {
	padding: .5rem .8rem;
	border: 1px solid rgba(251, 250, 247, .3);
	border-radius: 999px;
	color: var(--snow);
	font-size: .78rem;
	font-weight: 650;
	text-decoration: none;
}

.error-page__topics a:hover {
	border-color: var(--aurora-glow);
	color: var(--aurora-glow);
}


/* Compact provider hero without hiding content: 2026-08-22 */
@media (max-width: 820px) {
	.vyr-tours-live .travelspark-tours-index__hero {
		min-height: auto;
		gap: 1rem;
		padding: 1.5rem 1rem;
	}

	.vyr-tours-live .travelspark-tours-index__hero-panel {
		gap: .5rem;
		padding: .65rem;
	}

	.vyr-tours-live .travelspark-tours-index__hero-panel > div {
		padding: .5rem .65rem;
	}

	.vyr-tours-live .travelspark-tours-index__hero-panel strong {
		font-size: .92rem;
		line-height: 1.25;
	}

	.vyr-tours-live .travelspark-tours-index__hero-panel span {
		margin-top: .25rem;
		font-size: .78rem;
		line-height: 1.35;
	}
}


/* Yellowknife live review refinements: 2026-08-22 */
.header-tour-link {
	flex: 0 0 auto;
	white-space: nowrap;
}

.article-hero a.eyebrow,
.article-hero a.eyebrow:hover,
.article-hero a.eyebrow:focus {
	border-bottom: 0;
	text-decoration: none;
}

.footer-slogan {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: -.35rem 0 1.2rem;
	color: var(--snow);
	font-family: var(--font-display);
	font-size: clamp(1.02rem, 2vw, 1.2rem);
	font-weight: 650;
}
.footer-maple { display: inline-grid; place-items: center; color: #fff; }
.footer-maple svg { width: 1.05em; height: 1.05em; }
.footer-photo-credits { margin-top: .35rem; color: rgba(251,250,247,.65); }
.footer-photo-credits summary { width: fit-content; color: rgba(251,250,247,.82); cursor: pointer; font-weight: 650; }
.footer-photo-credits div { max-width: 980px; padding-top: .6rem; line-height: 1.65; }
.footer-photo-credits a { text-decoration: underline; text-underline-offset: 2px; }

.newsletter-band { padding-block: 2rem 6rem; }
.newsletter-band__shell {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0,.82fr) minmax(420px,1.18fr);
	gap: clamp(2rem,5vw,5rem);
	overflow: hidden;
	padding: clamp(2rem,5vw,4.2rem);
	border: 1px solid rgba(83,228,143,.25);
	border-radius: 28px;
	background:
		radial-gradient(circle at 10% 0%,rgba(83,228,143,.2),transparent 37%),
		linear-gradient(125deg,#071426 0%,#10233e 72%,#0d3440 100%);
	box-shadow: 0 32px 75px -46px rgba(7,20,38,.95);
	color: rgba(251,250,247,.78);
}
.newsletter-band__shell::after {
	content: '';
	position: absolute;
	right: -8%;
	bottom: -55%;
	z-index: -1;
	width: 440px;
	height: 440px;
	border: 1px solid rgba(83,228,143,.16);
	border-radius: 50%;
	box-shadow: 0 0 0 55px rgba(40,181,213,.045),0 0 0 110px rgba(131,88,191,.035);
}
.newsletter-band__intro { align-self: center; }
.newsletter-band__intro .eyebrow { margin-bottom: .8rem; color: var(--aurora-glow); }
.newsletter-band__intro h2 { max-width: 520px; margin: 0 0 1rem; color: var(--snow); font-size: clamp(2.25rem,4vw,4rem); line-height: 1.02; }
.newsletter-band__intro > p:not(.eyebrow) { max-width: 520px; margin: 0; font-size: 1rem; line-height: 1.7; }
.newsletter-band__promises { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.4rem; }
.newsletter-band__promises span { padding: .45rem .72rem; border: 1px solid rgba(251,250,247,.18); border-radius: 999px; color: rgba(251,250,247,.86); font-size: .74rem; font-weight: 700; }
.newsletter-band__form { align-self: center; }
.newsletter-band .integration { margin: 0; padding: clamp(1.35rem,3vw,2rem); border: 1px solid rgba(251,250,247,.15); border-radius: 20px; background: rgba(251,250,247,.075); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.newsletter-band .sib_signup_box_inside_1 { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .85rem 1rem; }
.newsletter-band .sib_signup_box_inside_1 > p { margin: 0; }
.newsletter-band .sib-email-area { grid-column: 1; }
.newsletter-band .sib-email-area label { display: block; margin-bottom: .5rem; color: var(--snow); font-size: .82rem; font-weight: 750; letter-spacing: .04em; }
.newsletter-band input[type='email'] { width: 100%; min-height: 52px; padding: .82rem 1rem; border: 1px solid rgba(251,250,247,.28); border-radius: 12px; background: rgba(251,250,247,.98); color: var(--ink); font: inherit; }
.newsletter-band input[type='email']:focus { border-color: var(--aurora-glow); outline: 3px solid rgba(83,228,143,.24); }
.newsletter-band input[type='submit'] { min-height: 52px; padding: .82rem 1.3rem; border: 0; border-radius: 999px; background: linear-gradient(135deg,var(--aurora-glow),var(--aurora)); color: var(--night-deep); font: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 12px 28px -18px rgba(83,228,143,.9); }
.newsletter-band input[type='submit']:hover { filter: brightness(1.08); transform: translateY(-1px); }
.newsletter-band .sib-consent { grid-column: 1 / -1; font-size: .78rem; line-height: 1.55; }
.newsletter-band .sib-consent label { display: flex; align-items: flex-start; gap: .65rem; }
.newsletter-band .sib-consent input { flex: 0 0 auto; margin-top: .2rem; accent-color: var(--aurora-glow); }
.newsletter-band .sib-consent a { color: var(--aurora-glow); }
.newsletter-band .sib_msg_disp:empty { display: none; }

.guide-sidebar { gap: 1.25rem; }
.guide-sidebar__intro { overflow: hidden; padding: 1.5rem; border: 1px solid rgba(83,228,143,.24); border-radius: 20px; background: radial-gradient(circle at 100% 0%,rgba(83,228,143,.18),transparent 45%),linear-gradient(145deg,#071426,#10233e); color: rgba(251,250,247,.75); box-shadow: var(--shadow-soft); }
.guide-sidebar__intro .eyebrow { margin-bottom: .65rem; color: var(--aurora-glow); }
.guide-sidebar__intro h2 { margin: 0 0 .7rem; color: var(--snow); font-size: 1.55rem; line-height: 1.05; }
.guide-sidebar__intro p:last-child { margin: 0; font-size: .84rem; line-height: 1.55; }
.guide-sidebar > .travelspark-widget,
.guide-sidebar > .travelspark-expedia,
.guide-sidebar > .travelspark-hotel-cards { width: 100%; max-width: 100%; margin: 0; }
.guide-sidebar .travelspark-widget__grid--sidebar,
.guide-sidebar .travelspark-hotel-cards__grid,
.guide-sidebar .travelspark-hotel-cards > div { grid-template-columns: minmax(0,1fr) !important; }
.guide-sidebar .tsva-card,
.guide-sidebar .travelspark-card,
.guide-sidebar [class*='hotel-card'] { width: 100% !important; min-width: 0 !important; max-width: 100% !important; border: 1px solid rgba(29,117,155,.18) !important; border-radius: 18px !important; background: var(--paper) !important; box-shadow: 0 18px 44px -32px rgba(7,20,38,.75) !important; }
.guide-sidebar .tsva-card img,
.guide-sidebar .travelspark-card img,
.guide-sidebar [class*='hotel-card'] img { width: 100% !important; max-width: 100% !important; aspect-ratio: 16 / 10; object-fit: cover; }
.guide-sidebar .travelspark-widget__header,
.guide-sidebar .travelspark-hotel-cards > header { padding: .35rem .1rem; }
.guide-sidebar .travelspark-widget__title,
.guide-sidebar .travelspark-hotel-cards h2 { color: var(--night); font-family: var(--font-display); font-size: 1.45rem; }
.guide-sidebar .tsva-button,
.guide-sidebar [class*='hotel-card'] a[class*='button'] { border-radius: 999px !important; background: var(--night) !important; color: var(--snow) !important; }
.guide-sidebar .tsva-powered { color: var(--muted); font-size: .68rem; text-align: right; }

@media (max-width: 820px) {
	.newsletter-band__shell { grid-template-columns: 1fr; }
	.newsletter-band .sib_signup_box_inside_1 { grid-template-columns: 1fr; }
	.newsletter-band .sib-email-area,
	.newsletter-band .sib-consent { grid-column: 1; }
	.newsletter-band input[type='submit'] { width: 100%; }
}
@media (max-width: 560px) {
	.newsletter-band { padding-bottom: 4rem; }
	.newsletter-band__shell { padding: 1.35rem; border-radius: 20px; }
	.newsletter-band .integration { padding: 1.05rem; }
	.footer-slogan { font-size: 1rem; }
}
/* Owned Yellowknife hotel-guide fallback: 2026-08-22 */
.vyr-sidebar-hotels { overflow: hidden; padding: 1rem; border: 1px solid rgba(29,117,155,.2); border-radius: 20px; background: linear-gradient(160deg,rgba(222,237,243,.78),rgba(251,250,247,.98)); box-shadow: var(--shadow-soft); }
.vyr-sidebar-hotels > header { display: flex; align-items: end; justify-content: space-between; gap: .8rem; margin-bottom: .85rem; }
.vyr-sidebar-hotels > header .eyebrow { margin: 0; }
.vyr-sidebar-hotels > header h2 { margin: 0; font-size: 1.45rem; }
.vyr-sidebar-hotel-card { display: block; overflow: hidden; border: 1px solid rgba(29,117,155,.16); border-radius: 16px; background: var(--paper); color: var(--ink); text-decoration: none; box-shadow: 0 18px 44px -34px rgba(7,20,38,.75); transition: transform .22s ease,box-shadow .22s ease; }
.vyr-sidebar-hotel-card:hover { transform: translateY(-2px); box-shadow: 0 22px 48px -32px rgba(7,20,38,.88); }
.vyr-sidebar-hotel-card__media { display: block; overflow: hidden; aspect-ratio: 16 / 10; background: var(--lake-ice); }
.vyr-sidebar-hotel-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.vyr-sidebar-hotel-card:hover img { transform: scale(1.035); }
.vyr-sidebar-hotel-card__body { display: grid; gap: .7rem; padding: 1.05rem; }
.vyr-sidebar-hotel-card__body .eyebrow { margin: 0; font-size: .66rem; }
.vyr-sidebar-hotel-card__body strong { color: var(--night); font-family: var(--font-display); font-size: 1.24rem; line-height: 1.12; }
.vyr-sidebar-hotel-card__body > span:not(.eyebrow) { color: var(--muted); font-size: .8rem; line-height: 1.55; }
.vyr-sidebar-hotel-card__body b { color: var(--aurora-deep); font-size: .78rem; }
.vyr-sidebar-hotels__note { margin: .75rem .2rem 0; color: var(--muted); font-size: .68rem; line-height: 1.5; }
/* Yellowknife contact and sidebar-detail refinement: 2026-08-23 */
.guide-sidebar .travelspark-card__description,
.guide-sidebar .tsva-card .travelspark-card__description {
	display: -webkit-box !important;
	overflow: hidden;
	margin: .55rem 0 .8rem !important;
	color: var(--muted) !important;
	font-size: .82rem !important;
	line-height: 1.5 !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.footer-maple svg { width: 1.12em; height: 1.12em; }