/*!
Theme Name: Grailwood Games
Theme URI: https://them.es/starter
Author: Gary Cooke
Author URI: https://GrailwoodGames.com
Description: Wordpress theme for Grailwood Games
Version: 3.7.0
Requires at least: 5.0
Tested up to: 7.0
Requires PHP: 7.2
License: GPL version 2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0
Tags: custom-background, custom-colors, featured-images, flexible-header, microformats, post-formats, rtl-language-support, theme-options, translation-ready, accessibility-ready
Text Domain: grailwood-games-theme
*/

/* Don't overwrite this file. Compile "/assets/main.scss" to "/build/main.css" */

/* From http://codex.wordpress.org/CSS */

.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	max-width: 96%; /* Image does not overflow the content area */
	padding: 5px 3px 10px;
	text-align: center;
}
.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}
.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}
.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.gallery-item {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	width: 50%;
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
	background: none;
	display: inline-block;
	max-width: 100%;
}

.gallery-item a img {
	display: block;
	-webkit-transition: -webkit-filter 0.2s ease-in;
	transition: -webkit-filter 0.2s ease-in;
	transition: filter 0.2s ease-in;
	transition:
		filter 0.2s ease-in,
		-webkit-filter 0.2s ease-in;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
	-webkit-filter: opacity(60%);
	filter: opacity(60%);
}

.gallery-caption {
	display: block;
	text-align: left;
	padding: 0 10px 0 0;
	margin-bottom: 0;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

.bypostauthor {
	font-weight: bold;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}
/* 1. Grailwood design tokens and typography */
:root {
  --gw-cream: #FFF9EE;
  --gw-ink: #18313B;
  --gw-teal: #007579;
  --gw-teal-deep: #00595D;
  --gw-coral: #FF795B;
  --gw-lilac: #AE92EE;
  --gw-gold: #FFE078;
  --gw-mint: #D7F0EC;
  --gw-paper: #FFFFFF;
  --gw-muted: #39535B;
  --gw-line: #D8DFDC;
  --gw-radius: 18px;
  --gw-shadow: 0 14px 35px rgba(24, 49, 59, .07);
  --gw-font-display: 'Bricolage Grotesque', Arial, sans-serif;
  --gw-font-body: 'Atkinson Hyperlegible Next', system-ui, sans-serif;
  --gw-type-hero: clamp(2.5rem, 1.9rem + 2.5vw, 4rem);
  --gw-type-h1: clamp(2.25rem, 1.8rem + 1.8vw, 3.25rem);
  --gw-type-h2: clamp(1.875rem, 1.6rem + 1.1vw, 2.625rem);
  --gw-type-h3: clamp(1.5rem, 1.4rem + .4vw, 1.75rem);
  --bs-body-font-family: var(--gw-font-body);
  --bs-body-line-height: 1.6;
}
body { font-family: var(--gw-font-body); color: var(--gw-ink); background: var(--gw-cream); font-size: 1.0625rem; line-height: 1.6; }
h1, h2, .gw-display { font-family: var(--gw-font-display); font-weight: 700; line-height: 1.15; letter-spacing: -.02em; font-optical-sizing: auto; }
h3, h4, h5, h6 { font-family: var(--gw-font-body); font-weight: 700; line-height: 1.3; }
.gw-display { font-size: var(--gw-type-hero); font-weight: 800; }
.gw-reading { max-width: 70ch; }
.gw-game-stats { font-variant-numeric: tabular-nums; }

/* 2. Existing PHP-rendered homepage hero */
#main.gw-front-main { width: 100%; max-width: none; margin-top: 0; padding: 0; }
.gw-hero {
  color: var(--gw-ink);
  background: var(--gw-cream);
  padding: clamp(3.25rem, 6vw, 6.5rem) 0 clamp(3.25rem, 5vw, 5.5rem);
  overflow: clip;
}
.gw-hero__row { min-height: min(620px, 72vh); }
.gw-hero__copy { max-width: 675px; }
.gw-hero__eyebrow { color: var(--gw-teal-deep); font-size: .85rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.gw-hero__eyebrow span { color: #BD4B30; margin-inline-end: .35rem; }
.gw-hero__title {
  max-width: 13ch;
  margin: 0 0 1.25rem;
  color: var(--gw-ink);
  font-family: var(--gw-font-display);
  font-size: clamp(2.65rem, 4.65vw, 5.4rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.gw-hero__description { max-width: 55ch; margin-bottom: 2rem; color: #37535B; font-size: clamp(1.05rem, 1.4vw, 1.25rem); line-height: 1.65; }
.gw-hero__actions { margin-bottom: 1.1rem; }
.gw-hero .gw-hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-height: 52px;
  padding: .82rem 1.45rem;
  border: 2px solid var(--gw-teal);
  border-radius: .7rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease;
}
.gw-hero .gw-hero__button--primary { background: var(--gw-teal); color: #FFFFFF; }
.gw-hero .gw-hero__button--primary:hover { background: var(--gw-teal-deep); border-color: var(--gw-teal-deep); color: #FFFFFF; }
.gw-hero .gw-hero__button--secondary { background: transparent; color: var(--gw-teal-deep); }
.gw-hero .gw-hero__button--secondary:hover { background: var(--gw-mint); color: var(--gw-ink); }
.gw-hero .gw-hero__button:focus-visible { outline: 3px solid var(--gw-ink); outline-offset: 4px; }
.gw-hero__reassurance { color: #3D565E; font-size: .94rem; line-height: 1.5; }
.gw-hero__reassurance span { color: var(--gw-teal-deep); margin-inline-end: .35rem; font-weight: 700; }
.gw-hero__art {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  max-width: 565px;
  margin-inline: auto;
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid rgba(0, 117, 121, .14);
  border-radius: 46% 46% 32% 32% / 35% 35% 25% 25%;
  background: var(--gw-mint);
}
.gw-hero__art::before { content: ''; position: absolute; inset: 5%; z-index: -1; border: 2px dashed rgba(0, 117, 121, .15); border-radius: inherit; }
.gw-hero__logo { display: block; width: 100%; max-width: 530px; height: auto; }
.gw-hero__ornament { position: absolute; display: block; border-radius: 50%; }
.gw-hero__ornament--coral { width: clamp(28px, 4.8vw, 55px); aspect-ratio: 1; background: var(--gw-coral); inset-block-start: 15%; inset-inline-start: -1.5%; }
.gw-hero__ornament--lilac { width: clamp(19px, 2.8vw, 34px); aspect-ratio: 1; background: var(--gw-lilac); inset-block-end: 18%; inset-inline-end: -1.5%; }
.gw-hero__pillars { margin-top: 1.1rem; color: var(--gw-ink); font-family: var(--gw-font-display); font-size: .92rem; font-weight: 700; letter-spacing: .065em; }
.gw-hero__pillars span { padding-inline: .3rem; color: var(--gw-teal); }

/* 3. Sitewide primitives, buttons and cards */
.gw-site, .gw-site * { box-sizing: border-box; }
.gw-site { min-width: 0; color: var(--gw-ink); font-family: var(--gw-font-body); }
.gw-site .gw-wrap { width: min(calc(100% - 40px), 1200px); margin-inline: auto; }
.gw-site .gw-section { padding-block: clamp(64px, 7vw, 110px); }
.gw-site .gw-eyebrow { margin: 0 0 18px; color: var(--gw-teal-deep); font-size: .84rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.gw-site .gw-heading { color: var(--gw-ink); font-family: var(--gw-font-display); font-weight: 800; line-height: 1.07; letter-spacing: -.035em; text-wrap: balance; overflow-wrap: break-word; }
.gw-site .gw-lead { color: var(--gw-muted); font-size: clamp(1.06rem, 1.45vw, 1.2rem); line-height: 1.65; }
.gw-site .gw-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7em;
  min-height: 52px;
  max-width: 100%;
  padding: .75rem 1.4rem;
  border: 2px solid var(--gw-teal);
  border-radius: 11px;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none !important;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.gw-site .gw-button--primary { background: var(--gw-teal); color: #FFFFFF !important; }
.gw-site .gw-button--primary:hover { background: var(--gw-teal-deep); border-color: var(--gw-teal-deep); color: #FFFFFF !important; }
.gw-site .gw-button--outline { background: transparent; color: var(--gw-teal-deep) !important; }
.gw-site .gw-button--outline:hover { background: var(--gw-mint); color: var(--gw-ink) !important; }
.gw-site .gw-button--gold { background: var(--gw-gold); border-color: var(--gw-gold); color: var(--gw-ink) !important; }
.gw-site .gw-button--gold:hover { background: #FFF0BC; border-color: #FFF0BC; }
.gw-site .gw-button--outline-light { background: transparent; border-color: var(--gw-gold); color: var(--gw-gold) !important; }
.gw-site .gw-button--outline-light:hover { background: rgba(255, 224, 120, .12); color: #FFFFFF !important; }
.gw-site :is(a,button):focus-visible { outline: 3px solid var(--gw-ink); outline-offset: 4px; }
.gw-site .gw-card { overflow: hidden; border: 1px solid var(--gw-line); border-radius: var(--gw-radius); background: var(--gw-paper); box-shadow: var(--gw-shadow); }
.gw-site .gw-card-link { display: inline-flex; align-items: center; gap: 13px; width: max-content; max-width: 100%; min-height: 48px; color: var(--gw-teal-deep) !important; font-weight: 800; text-decoration: none !important; }
.gw-site .gw-card-link:hover { color: var(--gw-ink) !important; text-decoration: underline !important; text-underline-offset: .18em; }
.gw-site .gw-card-link__arrow { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: var(--gw-card-accent, var(--gw-mint)); color: var(--gw-ink); font-size: 1.15rem; }

/* 4. Full-width homepage without 100vw overflow */
body.home #main.gw-front-main,
body.home .gw-home-editor-content {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.home .gw-site.gw-page-home { width: 100%; max-width: 100%; min-width: 0; margin: 0; padding: 0; }
body.home .gw-site .gw-full-bleed { position: relative; left: auto; right: auto; width: 100%; max-width: 100%; min-width: 0; margin: 0; transform: none; }
body.home .gw-site .gw-full-bleed > .container-xxl { margin-inline: auto; }
.gw-site .row > * { min-width: 0; }
.gw-site img, .gw-site svg { max-width: 100%; height: auto; }
.gw-site .gw-full-width-inner { width: 100%; max-width: 100%; padding-inline: clamp(20px, 4vw, 72px); margin-inline: auto; }

/* 5. Discover, Create, Gather */
.gw-site .gw-paths { background: #F6F2E9; }
.gw-site .gw-paths__intro { max-width: 800px; margin: 0 auto 44px; text-align: center; }
.gw-site .gw-paths__title { margin: 0 0 17px; font-size: clamp(2.25rem, 3.75vw, 3.65rem); }
.gw-site .gw-paths__intro .gw-lead { margin-inline: auto; }
.gw-site .gw-paths__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 32px); }
.gw-site .gw-path-card { --gw-card-accent: var(--gw-coral); display: flex; flex-direction: column; min-width: 0; height: 100%; transition: transform .2s ease, box-shadow .2s ease; }
.gw-site .gw-path-card--create { --gw-card-accent: var(--gw-lilac); }
.gw-site .gw-path-card--gather { --gw-card-accent: var(--gw-gold); }
.gw-site .gw-path-card__body { display: flex; flex: 1; flex-direction: column; padding: clamp(24px, 2.7vw, 32px); }
.gw-site .gw-path-card__meta { margin: 0 0 10px; color: #425B62; font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .095em; }
.gw-site .gw-path-card__meta strong { margin-right: 8px; color: var(--gw-teal-deep); }
.gw-site .gw-path-card__title { margin: 0 0 13px; font-size: clamp(1.75rem, 2.2vw, 2.2rem); }
.gw-site .gw-path-card__description { flex: 1; margin: 0 0 22px; color: var(--gw-muted); font-size: 1rem; line-height: 1.65; }
.gw-site .gw-path-card .gw-card-link { margin-top: auto; }

/* 6. Story-driven homepage chapters */
.gw-journey .gw-chapter { padding-block: clamp(64px, 7vw, 108px); }
.gw-journey .gw-story-title { max-width: 850px; margin: 0 0 24px; font-size: clamp(2.3rem, 4.5vw, 4.6rem); line-height: 1.1; }
.gw-journey .gw-story-title em { color: var(--gw-teal); font-style: normal; }
.gw-journey .gw-story-copy { max-width: 630px; margin-bottom: 26px; color: #425B60; font-size: clamp(1rem, 1.3vw, 1.13rem); line-height: 1.8; }
.gw-journey .gw-story-kicker { margin-bottom: 17px; color: var(--gw-teal); font-size: .8rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.gw-journey .gw-story-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.gw-journey .gw-chapter--paths { background: #F6F2E9; }
.gw-journey .gw-chapter--library, .gw-journey .gw-chapter--market { background: var(--gw-cream); }
.gw-journey .gw-chapter--journal { background: #F0E9E1; }
.gw-journey .gw-chapter--dark { background: var(--gw-ink); color: var(--gw-cream); }
.gw-journey .gw-chapter--game { background: radial-gradient(ellipse at 85% 15%, rgba(0,117,121,.4), transparent 55%), var(--gw-ink); }
.gw-journey .gw-chapter--campfire { background: radial-gradient(ellipse at 20% 85%, rgba(255,121,91,.13), transparent 55%), var(--gw-ink); }
.gw-journey .gw-chapter--letter { background: linear-gradient(135deg, var(--gw-teal), var(--gw-teal-deep) 55%, var(--gw-ink)); }
.gw-journey .gw-chapter--dark .gw-story-title, .gw-journey .gw-chapter--dark .gw-lead { color: var(--gw-cream); }
.gw-journey .gw-chapter--dark .gw-story-title em, .gw-journey .gw-chapter--dark .gw-story-kicker { color: var(--gw-gold); }
.gw-journey .gw-chapter--dark .gw-story-copy { color: var(--gw-mint); }
.gw-journey .gw-chapter--dark :is(a,button):focus-visible { outline: 3px solid var(--gw-gold); outline-offset: 4px; }

/* 7. Reusable artwork placeholders and images */
.gw-journey .gw-story-media {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  min-height: 280px;
  aspect-ratio: 16 / 10;
  margin: 0;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(24,49,59,.12);
  border-radius: 24px;
  background: var(--gw-mint);
}
.gw-journey .gw-story-media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.gw-journey .gw-story-media__label { position: relative; z-index: 1; display: inline-block; max-width: 360px; padding: 13px 18px; border-radius: 12px; background: rgba(24,49,59,.9); color: var(--gw-cream); font-size: .88rem; font-weight: 700; line-height: 1.5; }
.gw-journey .gw-story-media--portrait { min-height: 380px; aspect-ratio: 4 / 5; }
.gw-journey .gw-story-media--discover { background: linear-gradient(140deg, var(--gw-coral), #FFE5D7); }
.gw-journey .gw-story-media--create { background: linear-gradient(140deg, var(--gw-lilac), #EEE6FF); }
.gw-journey .gw-story-media--gather { background: linear-gradient(140deg, var(--gw-gold), #FFF5CD); }
.gw-journey .gw-story-media--road { background: linear-gradient(145deg, #061F2C, var(--gw-teal) 65%, var(--gw-gold)); border-color: rgba(255,224,120,.35); }
.gw-journey .gw-story-media--backpack { background: linear-gradient(145deg, var(--gw-mint), var(--gw-teal)); }
.gw-journey .gw-story-media--workshop { background: linear-gradient(145deg, #EADFFF, var(--gw-lilac), var(--gw-gold)); }
.gw-journey .gw-story-media--campfire { background: linear-gradient(160deg, #081E2B, var(--gw-teal) 65%, var(--gw-coral)); border-color: rgba(255,224,120,.3); }
.gw-journey .gw-story-media--market { background: linear-gradient(145deg, #FFE5D7, var(--gw-coral)); }
.gw-journey .gw-story-media--letter { background: linear-gradient(145deg, var(--gw-gold), #FFB56D); }
.gw-journey .gw-path-card__art.gw-story-media { min-height: 170px; aspect-ratio: 16 / 8; padding: 18px; border: 0; border-top: 6px solid var(--gw-card-accent); border-radius: 0; }
.gw-journey .gw-story-media--path .gw-story-media__label { padding: 10px 13px; font-size: .77rem; }

/* 8. Supporting narrative elements */
.gw-journey .gw-story-facts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.gw-journey .gw-story-facts span { padding: 8px 12px; border: 1px solid rgba(255,224,120,.35); border-radius: 30px; color: #FFFFFF; font-size: .85rem; font-weight: 700; }
.gw-journey .gw-story-list { padding: 0; margin: 24px 0 30px; list-style: none; border-top: 1px solid #CADBD5; }
.gw-journey .gw-story-list li { padding: 14px 0; border-bottom: 1px solid #CADBD5; color: #425B60; line-height: 1.6; }
.gw-journey .gw-story-list strong { display: block; margin-bottom: 4px; color: var(--gw-ink); }
.gw-journey .gw-story-divider { width: 70px; height: 4px; margin: 24px 0; border: 0; border-radius: 4px; background: var(--gw-coral); opacity: 1; }
.gw-journey .gw-story-social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.gw-journey .gw-story-social a { display: inline-flex; align-items: center; padding: 10px 16px; border: 1px solid rgba(255,224,120,.5); border-radius: 40px; color: #FFFFFF; font-weight: 700; text-decoration: none; }
.gw-journey .gw-story-social a:hover { background: var(--gw-gold); color: var(--gw-ink); }

/* 9. Responsive adjustments and motion preferences */
@media (max-width: 991.98px) {
  .gw-hero__row { min-height: auto; }
  .gw-hero__copy { max-width: 680px; }
  .gw-hero__title { max-width: 16ch; }
  .gw-hero__art { max-width: 445px; }
  .gw-site .gw-paths__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gw-site .gw-path-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
  .gw-site .gw-paths__grid { grid-template-columns: 1fr; }
  .gw-site .gw-path-card:last-child { grid-column: auto; }
  .gw-site .gw-paths__intro { margin-bottom: 32px; }
  .gw-site .gw-wrap { width: min(calc(100% - 32px), 1200px); }
  .gw-site .gw-full-width-inner { padding-inline: 20px; }
  .gw-journey .gw-story-media--portrait { min-height: 260px; aspect-ratio: 16 / 11; }
  .gw-journey .gw-story-media { padding: 16px; }
}
@media (max-width: 575.98px) {
  .gw-hero { padding-top: 2.65rem; }
  .gw-hero__title { font-size: clamp(2.4rem, 11vw, 3.25rem); }
  .gw-hero .gw-hero__button { width: 100%; }
  .gw-hero__art { max-width: 335px; }
  .gw-hero__pillars { font-size: .82rem; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .gw-site .gw-path-card:hover { transform: translateY(-4px); box-shadow: 0 17px 38px rgba(24,49,59,.13); }
}
@media (prefers-reduced-motion: reduce) {
  .gw-site .gw-button, .gw-site .gw-path-card, .gw-hero .gw-hero__button { transition: none; }
}

/* End of Grailwood brand and homepage stylesheet. */


body.home #main {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

body.home #gw-site-header.gw-site-header {
  margin-bottom: -94px;
  background: transparent;
  border-bottom: 0;
  box-shadow: none;
}

body.home #gw-site-header.is-compact.gw-site-header {
  background: rgba(5, 30, 43, .96);
  box-shadow: 0 5px 22px rgba(0, 0, 0, .18);
}

body.home #gw-site-header .gw-brand-horizontal,
body.home #gw-site-header .gw-brand-icon {
  filter: brightness(0) invert(1);
}

body.home #gw-site-header .gw-desktop-nav .gw-nav-link,
body.home #gw-site-header .gw-desktop-nav .gw-submenu-toggle {
  color: #FFF9EE;
}

body.home #gw-site-header .gw-desktop-nav .gw-nav-link:hover,
body.home #gw-site-header .gw-desktop-nav .gw-nav-link:focus,
body.home #gw-site-header .gw-desktop-nav .gw-nav-link.active,
body.home #gw-site-header .gw-desktop-nav .gw-submenu-toggle:hover {
  background: rgba(255, 224, 120, .15);
  color: #FFE078;
}

body.home #gw-site-header .gw-menu-toggle {
  color: #FFF9EE;
  border-color: rgba(255, 249, 238, .65);
}

body.home #gw-site-header .gw-menu-toggle:hover {
  background: rgba(255, 224, 120, .15);
}

body.home #gw-site-header .gw-play-button {
  background: #FFE078;
  color: #18313B;
  border-color: #FFE078;
}

body.home #gw-site-header .gw-play-button:hover,
body.home #gw-site-header .gw-play-button:focus-visible {
  background: #FFF1B5;
  color: #18313B;
  border-color: #FFF1B5;
}

body.home #gw-site-header :is(a,button):focus-visible {
  outline-color: #FFE078;
}

body.home #gw-site-header .gw-mobile-navigation :is(a,button):focus-visible {
  outline-color: #18313B;
}

body.home #gw-site-header .gw-mobile-navigation .gw-play-button {
  background: #007579;
  border-color: #007579;
  color: white;
}

.gw-cinematic-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: clamp(720px, 83vh, 980px);
  width: 100%;
  overflow: hidden;
  background: #072838;
  color: #FFF9EE;
}

.gw-cinematic-hero__image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.gw-cinematic-hero::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3,28,41,.97) 0%, rgba(3,28,41,.88) 25%, rgba(3,28,41,.55) 49%, rgba(3,28,41,.09) 100%),
    linear-gradient(0deg, rgba(3,28,41,.52) 0%, transparent 36%);
}

.gw-cinematic-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-top: clamp(150px, 14vw, 205px);
  padding-bottom: clamp(70px, 8vw, 115px);
}

.gw-cinematic-hero__copy {
  max-width: 710px;
}

.gw-cinematic-hero__eyebrow {
  margin: 0 0 18px;
  color: #FFE078;
  font: 800 .88rem/1.4 'Atkinson Hyperlegible Next', sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.gw-cinematic-hero__eyebrow span {
  margin-right: .55rem;
}

.gw-cinematic-hero__title {
  margin: 0 0 24px;
  max-width: 13ch;
  color: #FFF9EE;
  font: 700 clamp(3.2rem, 5.5vw, 5.8rem)/1.04 Georgia, 'Times New Roman', serif;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.gw-cinematic-hero__title em {
  color: #FFE078;
  font-weight: 700;
}

.gw-cinematic-hero__description {
  max-width: 590px;
  margin: 0 0 28px;
  color: #F4F6F1;
  font: 400 clamp(1.05rem, 1.55vw, 1.3rem)/1.6 'Atkinson Hyperlegible Next', system-ui, sans-serif;
}

.gw-cinematic-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 20px;
}

.gw-cinematic-hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 54px;
  padding: 13px 24px;
  border: 2px solid #FFF9EE;
  border-radius: 15px;
  font: 700 1rem/1.25 'Atkinson Hyperlegible Next', system-ui, sans-serif;
  text-decoration: none;
  text-align: center;
}

.gw-cinematic-hero__button--primary {
  background: #FFE078;
  border-color: #FFE078;
  color: #18313B;
}

.gw-cinematic-hero__button--primary:hover {
  background: #FFF1B5;
  border-color: #FFF1B5;
  color: #18313B;
}

.gw-cinematic-hero__button--secondary {
  background: rgba(4, 28, 39, .24);
  color: #FFF9EE;
}

.gw-cinematic-hero__button--secondary:hover {
  background: rgba(255, 249, 238, .16);
  color: #FFF9EE;
}

.gw-cinematic-hero :is(a,button):focus-visible {
  outline: 3px solid #FFE078;
  outline-offset: 4px;
}

.gw-cinematic-hero__note {
  margin: 0 0 24px;
  color: #FFF9EE;
  font-size: .96rem;
}

.gw-cinematic-hero__note span {
  color: #FFE078;
  margin-right: .3rem;
}

.gw-cinematic-hero__pillars {
  margin: 0;
  color: #FFF9EE;
  font: 800 .84rem/1.4 'Atkinson Hyperlegible Next', sans-serif;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.gw-cinematic-hero__pillars span {
  color: #FFE078;
  margin-inline: 12px;
}

@media (max-width: 1199.98px) {
  body.home #gw-site-header.gw-site-header {
    margin-bottom: -80px;
  }
}

@media (max-width: 767.98px) {
  .gw-cinematic-hero {
    min-height: 780px;
  }

  .gw-cinematic-hero__image {
    object-position: 63% center;
  }

  .gw-cinematic-hero::before {
    background:
      linear-gradient(90deg, rgba(3,28,41,.93), rgba(3,28,41,.73)),
      linear-gradient(0deg, rgba(3,28,41,.55), transparent 50%);
  }

  .gw-cinematic-hero__content {
    padding-top: 150px;
    padding-bottom: 65px;
  }

  .gw-cinematic-hero__title {
    font-size: clamp(2.65rem, 9vw, 4.2rem);
  }
}

@media (max-width: 575.98px) {
  body.home #gw-site-header.gw-site-header {
    margin-bottom: -80px;
  }

  .gw-cinematic-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .gw-cinematic-hero__button {
    width: 100%;
  }

  .gw-cinematic-hero__pillars {
    letter-spacing: .08em;
  }

  .gw-cinematic-hero__pillars span {
    margin-inline: 6px;
  }
}
