/**
 * FWC Classic Pass lander (staging /passes-v2).
 *
 * The brochure half only: nav, hero, includes, talent, mosaic. Everything
 * below the brochure is the shipping checkout flow and is styled by
 * fwc-checkout-flow.css, which this file does not repeat.
 *
 * Values come from the same token set as the flow: #404742 theme dark,
 * #333333 text, #F7F8F4 cream, #DCE0CE card, #BEC5A6 sage, #E68D8A coral
 * accent, #D37872 primary action. Rules are rgba(51,51,51,.12) on light and
 * rgba(247,248,244,.18) on dark. Display type is Min Sans 700, UI and body
 * are Gotham.
 */

/* Gotham, the build V5 uses. The child theme's style.css declares Gotham
   from theme/fonts/, a different build of the same face (other checksums,
   other vertical metrics): with it, line-height: normal on 14px text is
   17.33px where V5 gets 16px, and the SquadUp form, which relies on
   normal, ran 53px taller. V5 loads uploads/2023/11/Gotham-*.woff2, which
   this site has too (identical files on production and staging). Same
   family and weights declared later, so these descriptors win on this
   page only. Min Sans already comes from the same uploads folder. */
@font-face {
	font-family: 'Gotham';
	font-weight: 400;
	src: url('/wp-content/uploads/2023/11/Gotham-Book.woff2') format('woff2'),
		url('/wp-content/uploads/2023/11/Gotham-Book.woff') format('woff');
	font-display: swap;
}
@font-face {
	font-family: 'Gotham';
	font-weight: 700;
	src: url('/wp-content/uploads/2023/11/Gotham-Bold.woff2') format('woff2'),
		url('/wp-content/uploads/2023/11/Gotham-Bold.woff') format('woff');
	font-display: swap;
}

.fwc-lander {
	--fwc-nav-h: 89px;
}

/* ── Uncode chrome ───────────────────────────────────────────────────
   The navbar, page header and footer are switched off by page meta
   (see fwc_lander_apply_page_options). What is left are the content
   wrappers, which still carry the site's gutters and would letterbox a
   full-bleed hero. overflow has to stay visible or the sticky nav sticks
   to its wrapper instead of the viewport. SquadUp's form is Bootstrap
   and its .row gutters (margin 0 -15px) must be left alone, or the
   checkout form narrows by 30px per nesting level. */

body.page-template-template-passes-v2 .box-wrapper,
body.page-template-template-passes-v2 .box-container,
body.page-template-template-passes-v2 .main-wrapper,
body.page-template-template-passes-v2 .main-container,
body.page-template-template-passes-v2 .page-wrapper,
body.page-template-template-passes-v2 .sections-container,
body.page-template-template-passes-v2 .row:not(#squadup-checkout .row),
body.page-template-template-passes-v2 .row-parent,
body.page-template-template-passes-v2 .row-container {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

/* Uncode's grid (style-core.css): .row { display: table; table-layout:
   fixed; width: 100%; position: relative }. SquadUp's form is Bootstrap 3,
   where .row is a block whose -15px gutters widen it past its column. As
   a fixed table it cannot widen, so the form lost 30px per nesting level
   (ticket table 639px against V5's 729px) and ran 200px taller. Restore
   the Bootstrap values; the one flex row (.flexxy-centered) keeps its own. */
body.page-template-template-passes-v2 #squadup-checkout .row:not(.flexxy-centered) {
	display: block;
}
body.page-template-template-passes-v2 #squadup-checkout .row {
	table-layout: auto;
	width: auto;
	position: static;
}

/* Uncode still prints a page title / leftover nav CSS even when the
   navbar and header type are off. Hide the nodes; do not restyle them. */
body.page-template-template-passes-v2 #page-header,
body.page-template-template-passes-v2 .page-header,
body.page-template-template-passes-v2 .header-wrapper,
body.page-template-template-passes-v2 .menu-wrapper,
body.page-template-template-passes-v2 #masthead,
body.page-template-template-passes-v2 #colophon,
body.page-template-template-passes-v2 .footer-scroll-top {
	display: none !important;
}

body.page-template-template-passes-v2 {
	background: #F7F8F4;
	margin: 0;
}

/* Uncode: html { overflow-x: hidden; overflow-y: scroll }. With overflow
   set on the root, 100vw stops counting the scrollbar, so every clamp(vw)
   size on the page (hero h1, review headline, prompt title) comes out
   ~1.4% under V5, which leaves html at overflow: visible. Match V5. The
   add-on prompt's html:has(...fwc-upsell-open) { overflow: hidden } in
   fwc-flow-v5.css is more specific and still wins while it is open. */
html:has(body.page-template-template-passes-v2) {
	overflow: visible !important;
}

/* Uncode (≥960px): header { z-index: 1000; position: relative }. That
   hits every <header> on the page, so the flow's step headers stack
   above the fixed cart strip (z 900) and swallow its clicks. Only the
   lander nav is meant to have a z-index. */
body.page-template-template-passes-v2 .fwc-lander header:not(.fwc-nav) {
	z-index: auto !important;
	position: static !important;
}

/* Beat Uncode's heading / button / image defaults so V5 sizes hold from
   1280 down through the 420px tier. */
body.page-template-template-passes-v2 .fwc-lander,
body.page-template-template-passes-v2 .fwc-lander * {
	box-sizing: border-box;
}

/* Only strip Uncode's extras. Do not set font-size, padding, or border —
   those selectors beat the V5 title rules and flatten the type scale.
   Brochure and nav only: the store's own sheets set their p / h margins
   (ledes, eyebrows, notes) with plain class selectors, which this would
   beat on specificity. */
body.page-template-template-passes-v2 .fwc-nav h1,
body.page-template-template-passes-v2 .fwc-nav h2,
body.page-template-template-passes-v2 .fwc-nav h3,
body.page-template-template-passes-v2 .fwc-nav p,
body.page-template-template-passes-v2 .fwc-brochure h1,
body.page-template-template-passes-v2 .fwc-brochure h2,
body.page-template-template-passes-v2 .fwc-brochure h3,
body.page-template-template-passes-v2 .fwc-brochure p {
	margin: 0;
	background: transparent;
}

body.page-template-template-passes-v2 .fwc-lander button {
	font-family: inherit;
	appearance: none;
	-webkit-appearance: none;
}

body.page-template-template-passes-v2 .fwc-lander img {
	max-width: 100%;
	border: 0;
	vertical-align: top;
}

body.page-template-template-passes-v2 .fwc-hero-photo,
body.page-template-template-passes-v2 .fwc-talent-card img,
body.page-template-template-passes-v2 .fwc-mosaic img {
	max-width: none;
	width: 100%;
	height: 100%;
}

/* Uncode's img { height: auto } plus the reset above would otherwise
   let the SVG mark render at its intrinsic 606×260. */
body.page-template-template-passes-v2 .fwc-nav-logo {
	height: 56px !important;
	width: auto !important;
	max-width: none !important;
}

/* ── Shared pieces ───────────────────────────────────────────────────── */

.fwc-lander .fwc-ic {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: #E68D8A;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
	flex: none;
}

/* Primary action on dark sections. */
.fwc-btn-inv {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 13px 28px;
	border: 0;
	border-radius: 0;
	background: #D37872;
	color: #333333;
	font-family: 'Gotham', sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: opacity .25s ease;
}

.fwc-btn-inv:hover {
	opacity: .85;
}

/* Coral is the accent everywhere else, but it is too close to #D37872 to
   read as a ring on the button itself. */
.fwc-btn-inv:focus-visible {
	outline: 2px solid #F7F8F4;
	outline-offset: 2px;
}

/* The flow scopes its own focus ring to .fwc-flow, so the brochure needs one. */
.fwc-brochure :focus-visible {
	outline: 2px solid #E68D8A;
	outline-offset: 2px;
}

/* The list price never stands alone. */
.fwc-lander .fwc-fee-note {
	font-family: 'Gotham', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	color: #333333;
	opacity: .65;
	margin: 4px 0 0;
	white-space: nowrap;
}

.fwc-lander .fwc-fee-note--dark {
	color: #F7F8F4;
	opacity: .75;
}

.fwc-eyebrow-sage {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #BEC5A6;
}

/* The flow's steps are scrolled to by fwc-checkout-flow.js; the lander's
   sticky nav would otherwise cover the step heading it lands on. */
.fwc-lander .fwc-flow-step {
	scroll-margin-top: calc(var(--fwc-nav-h) + 8px);
}

/* ── Sticky nav ───────────────────────────────────────────────────────
   Logo plus CTA, always in the scrolled (solid) placement. No price
   block (Figma T3). */

.fwc-nav {
	position: sticky;
	top: 0;
	z-index: 20;
	color: #F7F8F4;
	background: rgba(64, 71, 66, 0);
	border-bottom: 1px solid transparent;
	transition: background .35s, border-color .35s, backdrop-filter .35s;
}

.fwc-nav.is-solid {
	background: rgba(64, 71, 66, .92);
	border-color: rgba(247, 248, 244, .18);
	backdrop-filter: blur(12px);
}

.fwc-nav-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 16px 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: var(--fwc-nav-h);
}

.fwc-nav-logo {
	height: 56px;
	width: auto;
	filter: brightness(0) invert(1);
	display: block;
}

.fwc-nav-cta {
	opacity: 1;
	pointer-events: auto;
}

/* Once the flow's own strip is up it carries the cart; the nav CTA steps aside. */
body.fwc-flow-strip-on .fwc-nav-cta,
body.fwc-cart-on .fwc-nav-cta,
body.fwc-checkout-on .fwc-nav-cta {
	opacity: 0 !important;
	pointer-events: none !important;
}

/* ── Brochure ─────────────────────────────────────────────────────────── */

.fwc-brochure {
	background: #404742;
	color: #F7F8F4;
}

.fwc-brochure img {
	max-width: 100%;
}

/* ── Hero: text on a plate ───────────────────────────────────────────
   The photo is full-bleed and rotates. All type sits on one plate in the
   lower-left, inside the 1280 wrap so it shares the page's left edge.
   A flat darken carries the photo, and every line of hero type gets a
   soft shadow rather than a blur overlay (Nick, Sep 18). Measured on
   #404742: cream 8.9:1, sage 5.4:1, coral 3.9:1 at display sizes. */

.fwc-hero {
	position: relative;
	min-height: max(560px, calc(70vh - var(--fwc-nav-h)));
	/* Ceiling for tall displays (4K, portrait monitors) so the photo does
	   not stretch to a 1500px viewport with the plate lost in one corner.
	   Content measures 688px at 1440 and 720px at 1024. */
	max-height: 990px;
	margin-top: calc(var(--fwc-nav-h) * -1);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: #404742;
}

.fwc-hero-media {
	position: absolute;
	inset: 0;
}

.fwc-hero-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--fwc-focus, 65% 40%);
	opacity: 0;
	transition: opacity 1.2s ease;
}

.fwc-hero-photo.is-on {
	opacity: 1;
}

/* Phones and portrait tablets receive the 3:4 crop from the <picture>
   source, so they read the portrait focal point instead. */
@media (max-width: 1023px) and (orientation: portrait) {
	.fwc-hero-photo {
		object-position: var(--fwc-focus-portrait, 50% 35%);
	}
}

.fwc-hero-blend {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: rgba(32, 36, 34, .325);
}

.fwc-hero-count-num,
.fwc-hero-count-label,
.fwc-hero-count-sub,
.fwc-hero-eyebrow,
.fwc-hero-h1,
.fwc-hero-sub,
.fwc-hero-card-label,
.fwc-hero-price,
.fwc-hero-card .fwc-fee-note {
	text-shadow: 0 2px 20px rgba(0, 0, 0, .65), 0 0 24px rgba(0, 0, 0, .45);
}

/* The numeral is large enough that the shared shadow reads as a halo on
   busy photos (Nick, Sep 23: mobile tailgate). Wider blur, less opacity. */
.fwc-hero-count-num {
	text-shadow: 0 2px 32px rgba(0, 0, 0, .42), 0 0 40px rgba(0, 0, 0, .28);
}

.fwc-hero-inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: calc(var(--fwc-nav-h) + 32px) 48px 64px;
}

.fwc-hero-plate {
	display: flex;
	flex-direction: column;
	gap: 28px;
	max-width: 720px;
}

/* Countdown: big number with its label beside it, first row of the plate
   (Figma T2/T6). Label sits on the numeral's baseline (Nick, Sep 23). */
.fwc-hero-count {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	padding-bottom: 22px;
	border-bottom: 1px solid rgba(247, 248, 244, .18);
}

.fwc-hero-count-num {
	font-family: 'Min Sans', 'Gotham', sans-serif;
	font-weight: 700;
	font-size: 56px;
	line-height: .85;
	letter-spacing: -.02em;
	color: #E68D8A;
	min-width: 2ch;
}

.fwc-hero-count-text {
	display: flex;
	flex-direction: column;
	gap: 5px;
	/* Lifts the label's baseline onto the numeral's (Min Sans at .85 line-height). */
	padding-bottom: 3px;
}

.fwc-hero-count-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #BEC5A6;
}

.fwc-hero-count-sub {
	font-size: 14px;
	line-height: 1.3;
	color: #F7F8F4;
}

.fwc-hero-copy {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.fwc-hero-eyebrow {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #BEC5A6;
}

.fwc-hero-h1 {
	margin: 0;
	font-family: 'Min Sans', 'Gotham', sans-serif;
	font-weight: 700;
	font-size: clamp(42px, 4vw, 54px);
	line-height: .9;
	letter-spacing: -.02em;
	text-transform: uppercase;
	color: #F7F8F4;
}

.fwc-hero-h1 em {
	font-style: normal;
	color: #E68D8A;
}

/* "Three Days. Top Chefs." shares a line on desktop and tablet (Ashley,
   Nick, Sep 23); the break only renders on phones. */
.fwc-hero-br {
	display: none;
}

.fwc-hero-sub {
	margin: 0;
	font-size: 18px;
	line-height: 1.45;
	color: #F7F8F4;
	max-width: 600px;
}

/* Offer row: price block and button on one line under a hairline rule.
   A divider, not a box. */
.fwc-hero-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px 28px;
	align-items: center;
	border-top: 1px solid rgba(247, 248, 244, .18);
	padding-top: 24px;
}

.fwc-hero-card-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #BEC5A6;
}

.fwc-hero-price {
	font-family: 'Min Sans', 'Gotham', sans-serif;
	font-weight: 700;
	font-size: 26px;
	letter-spacing: -.01em;
	line-height: 1;
	margin-top: 8px;
	color: #F7F8F4;
}

.fwc-lander .fwc-hero-card .fwc-fee-note {
	white-space: normal;
	margin-top: 8px;
}

.fwc-hero-cta {
	min-height: 56px;
	padding: 14px 32px;
	min-width: 220px;
}

/* ── Includes ─────────────────────────────────────────────────────────── */

.fwc-includes {
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 48px 0;
}

.fwc-includes-title {
	margin: 0;
	font-family: 'Min Sans', 'Gotham', sans-serif;
	font-weight: 700;
	font-size: 32px;
	line-height: 1.1;
	color: #F7F8F4;
	padding-bottom: 28px;
	border-bottom: 1px solid rgba(247, 248, 244, .18);
}

.fwc-includes-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 48px;
}

.fwc-include {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 40px 0;
}

.fwc-include-img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 15%;
	display: block;
	pointer-events: none;
	-webkit-user-drag: none;
}

.fwc-include-num {
	font-family: 'Min Sans', 'Gotham', sans-serif;
	font-weight: 700;
	font-size: 88px;
	line-height: .85;
	letter-spacing: -.03em;
	color: #E68D8A;
}

.fwc-include-label {
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.fwc-include p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: rgba(247, 248, 244, .8);
}

.fwc-includes-rule {
	border-top: 1px solid rgba(247, 248, 244, .18);
}

/* ── Talent spotlight ─────────────────────────────────────────────────── */

.fwc-talent {
	padding: 96px 0 0;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.fwc-talent-head {
	max-width: 1280px;
	margin: 0 auto;
	width: 100%;
	padding: 0 48px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
}

.fwc-talent-ctrl {
	display: flex;
	align-items: center;
	gap: 20px;
}

.fwc-talent-pos {
	font-size: 12px;
	color: #BEC5A6;
	letter-spacing: .06em;
}

.fwc-talent-arrows {
	display: flex;
	gap: 8px;
}

.fwc-talent-arrow {
	width: 52px;
	height: 52px;
	border: 1px solid rgba(247, 248, 244, .18);
	background: transparent;
	color: #F7F8F4;
	font-family: inherit;
	font-size: 20px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: border-color .25s, color .25s;
}

.fwc-talent-arrow:hover {
	border-color: #E68D8A;
	color: #E68D8A;
}

.fwc-talent-clip {
	overflow: hidden;
}

.fwc-talent-lane {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 48px;
}

.fwc-talent-track {
	display: flex;
	gap: 14px;
	transition: transform .6s cubic-bezier(.2, .7, .2, 1);
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
	cursor: grab;
}

.fwc-talent-track.no-anim {
	transition: none;
}

.fwc-talent-card {
	flex: none;
	width: 290px;
	position: relative;
	height: 400px;
	background: #BEC5A6;
	overflow: hidden;
}

.fwc-talent-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 15%;
	display: block;
	pointer-events: none;
	-webkit-user-drag: none;
}

.fwc-talent-card::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(64, 71, 66, 0) 50%, rgba(64, 71, 66, .92) 100%);
}

.fwc-talent-cap {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 18px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	z-index: 1;
}

.fwc-talent-name {
	font-family: 'Min Sans', 'Gotham', sans-serif;
	font-weight: 700;
	font-size: 28px;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: -.01em;
	color: #F7F8F4;
}

.fwc-talent-role {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #E68D8A;
}

.fwc-talent-dots {
	max-width: 1280px;
	margin: 0 auto;
	width: 100%;
	padding: 0 48px;
	display: flex;
	gap: 6px;
}

.fwc-talent-dot {
	width: 10px;
	height: 3px;
	background: rgba(247, 248, 244, .18);
	transition: all .4s;
}

.fwc-talent-dot.is-on {
	width: 28px;
	background: #E68D8A;
}

/* ── The crossing ─────────────────────────────────────────────────────
   Photographs carry the page from theme dark to theme cream. */

.fwc-crossing {
	background: #404742;
}

.fwc-crossing-space {
	height: 112px;
	background: #404742;
}

.fwc-mosaic-wrap {
	position: relative;
	background: #404742;
}

.fwc-mosaic-wrap::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 50%;
	background: #F7F8F4;
	z-index: 0;
}

.fwc-mosaic {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-auto-rows: 260px;
	gap: 6px;
}

.fwc-mosaic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.fwc-mosaic img:first-child {
	grid-row: span 2;
}

/* ── Store ────────────────────────────────────────────────────────────
   Deliberately not position:relative. The hidden widget is absolutely
   positioned and has to pin to the document top, or its boot-time
   autoscroll drags the page down to the store. */

.fwc-store {
	background: #F7F8F4;
	color: #333333;
}

/* The site footer is off on this page, so the flow's closing legal line
   lives here instead. */
.fwc-legal {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 60px 48px;
}

.fwc-legal-inner {
	font-size: 11px;
	line-height: 1.6;
	color: #333333;
	opacity: .65;
	padding-top: 20px;
	border-top: 1px solid rgba(51, 51, 51, .12);
	display: flex;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}

/* ── Small desktop / tablet landscape (1024–1279) ─────────────────────
   Keep each H1 sentence on one line. */

@media (min-width: 1024px) and (max-width: 1279px) {
	.fwc-hero-plate {
		max-width: 640px;
	}

	.fwc-hero-h1 {
		font-size: clamp(40px, 4vw, 48px);
	}

	.fwc-hero-count-num {
		font-size: 50px;
	}

	.fwc-hero-card {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.fwc-hero-cta {
		width: 100%;
	}

	.fwc-talent-card {
		width: 270px;
		height: 380px;
	}
}

/* ── Tablet (768–1023): a tier of its own, not desktop squeezed. ─────── */

@media (min-width: 768px) and (max-width: 1023px) {
	.fwc-nav-inner,
	.fwc-includes,
	.fwc-talent-head,
	.fwc-talent-lane,
	.fwc-talent-dots {
		padding-left: 40px;
		padding-right: 40px;
	}

	.fwc-hero {
		min-height: max(504px, 70vh);
	}

	.fwc-hero-inner {
		padding: calc(var(--fwc-nav-h) + 24px) 40px 44px;
	}

	.fwc-hero-plate {
		max-width: none;
		gap: 24px;
	}

	.fwc-hero-count {
		padding-bottom: 20px;
	}

	.fwc-hero-count-num {
		font-size: 52px;
	}

	.fwc-hero-copy {
		gap: 18px;
	}

	.fwc-hero-h1 {
		font-size: clamp(40px, 5.6vw, 52px);
	}

	.fwc-hero-sub {
		max-width: 600px;
	}

	.fwc-hero-card {
		max-width: 640px;
	}

	.fwc-includes {
		padding: 80px 40px 0;
	}

	.fwc-includes-title {
		font-size: 28px;
	}

	.fwc-includes-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 40px;
	}

	.fwc-include {
		padding: 32px 0;
	}

	/* The third card has the row to itself, so it lies down. */
	.fwc-include:nth-child(3) {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		gap: 40px;
		border-top: 1px solid rgba(247, 248, 244, .18);
	}

	.fwc-include:nth-child(3) .fwc-include-img {
		width: 44%;
		flex: none;
	}

	.fwc-include:nth-child(3) .fwc-include-copy {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.fwc-include-num {
		font-size: 72px;
	}

	.fwc-talent {
		padding-top: 80px;
	}

	.fwc-talent-card {
		width: 260px;
		height: 360px;
	}

	.fwc-talent-name {
		font-size: 24px;
	}

	.fwc-crossing-space {
		height: 72px;
	}

	.fwc-mosaic {
		grid-auto-rows: 200px;
	}

	.fwc-legal {
		padding: 0 40px 48px;
	}
}

/* ── Mobile (≤767) ────────────────────────────────────────────────────── */

@media (max-width: 767px) {
	.fwc-lander {
		--fwc-nav-h: 72px;
	}

	.fwc-nav-inner {
		padding: 14px 22px;
		min-height: var(--fwc-nav-h);
	}

	.fwc-nav-logo {
		height: 44px !important;
	}

	.fwc-nav-cta {
		min-height: 40px;
		padding: 9px 16px;
		font-size: 14px;
	}

	.fwc-hero {
		min-height: max(640px, 100vh);
		max-height: none;
	}

	.fwc-hero-inner {
		padding: calc(var(--fwc-nav-h) + 16px) 22px 30px;
	}

	.fwc-hero-plate {
		max-width: none;
		gap: 20px;
	}

	.fwc-hero-count {
		gap: 8px;
		padding-bottom: 18px;
	}

	.fwc-hero-count-text {
		padding-bottom: 2px;
	}

	.fwc-hero-br {
		display: inline;
	}

	.fwc-hero-count-num {
		font-size: 44px;
	}

	.fwc-hero-count-label {
		font-size: 10px;
		letter-spacing: .12em;
	}

	.fwc-hero-count-sub {
		font-size: 13px;
	}

	.fwc-hero-copy {
		margin-top: 0;
		gap: 14px;
	}

	.fwc-hero-eyebrow {
		font-size: 11px;
		letter-spacing: .12em;
	}

	.fwc-hero-h1 {
		font-size: clamp(28px, 8.1vw, 38px);
		line-height: .92;
		letter-spacing: -.015em;
	}

	.fwc-hero-sub {
		font-size: 15px;
		line-height: 1.3;
		max-width: none;
	}

	.fwc-hero-card {
		grid-template-columns: 1fr;
		gap: 16px;
		padding-top: 20px;
	}

	.fwc-hero-price {
		font-size: 24px;
	}

	.fwc-hero-cta {
		width: 100%;
		min-height: 52px;
		min-width: 0;
	}

	.fwc-includes {
		padding: 32px 22px 8px;
	}

	.fwc-includes-title {
		font-size: 24px;
		padding-bottom: 14px;
		border-bottom: 0;
	}

	.fwc-includes-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	/* Copy leads, photograph shrinks to a thumbnail beside it. */
	.fwc-include {
		display: grid;
		grid-template-columns: 1fr 108px;
		gap: 18px;
		padding: 24px 0;
		border-top: 1px solid rgba(247, 248, 244, .18);
		align-items: center;
	}

	.fwc-include-img {
		grid-column: 2;
		grid-row: 1;
		width: 108px;
		height: 144px;
		aspect-ratio: auto;
	}

	.fwc-include-copy {
		grid-column: 1;
		grid-row: 1;
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.fwc-include-num {
		font-size: 64px;
		line-height: .9;
	}

	.fwc-include-label {
		font-size: 14px;
	}

	.fwc-include p {
		font-size: 13px;
		line-height: 1.5;
	}

	.fwc-talent {
		padding: 36px 0 8px;
		gap: 18px;
	}

	.fwc-talent-head {
		padding: 0 22px;
	}

	.fwc-talent-pos {
		display: none;
	}

	.fwc-talent-arrows {
		gap: 6px;
	}

	.fwc-talent-arrow {
		width: 44px;
		height: 44px;
		font-size: 16px;
	}

	.fwc-talent-lane {
		padding: 0 22px;
	}

	.fwc-talent-track {
		gap: 10px;
	}

	.fwc-talent-card {
		width: 224px;
		height: 300px;
	}

	.fwc-talent-cap {
		left: 14px;
		right: 14px;
		bottom: 14px;
		gap: 4px;
	}

	.fwc-talent-name {
		font-size: 22px;
	}

	.fwc-talent-role {
		font-size: 10px;
	}

	.fwc-talent-dots {
		padding: 0 22px;
		gap: 5px;
		justify-content: space-between;
		align-items: center;
	}

	.fwc-talent-dot {
		width: 8px;
	}

	.fwc-talent-dot.is-on {
		width: 22px;
	}

	/* The position label moves down beside the dots on mobile. */
	.fwc-talent-dots .fwc-talent-pos {
		display: block;
		font-size: 11px;
		margin-left: auto;
	}

	.fwc-crossing-space {
		height: 36px;
	}

	.fwc-mosaic {
		grid-template-columns: 2fr 1fr;
		grid-auto-rows: 150px;
		gap: 4px;
	}

	.fwc-legal {
		padding: 0 20px 96px;
	}

	.fwc-legal-inner {
		flex-direction: column;
		gap: 8px;
	}
}

@media (max-width: 420px) {
	.fwc-hero-h1 {
		font-size: clamp(28px, 8.1vw, 34px);
	}

	.fwc-hero-count-num {
		font-size: 38px;
	}
}

/* ── Lock V5 type over Uncode heading rules ───────────────────────────
   Uncode's style-custom writes:
     h1:not([class*="fontsize-"]) { font-size: 42px; }
     @media (max-width: 959px) { ... 28px }
     h2:not([class*="fontsize-"]) { font-size: 29px; }
   Specificity 0,1,1 beats a bare .fwc-hero-h1. Match that :not() and
   sit on the page-template class so V5 sizes hold at every breakpoint. */

body.page-template-template-passes-v2 h1.fwc-hero-h1:not([class*="fontsize-"]) {
	font-family: 'Min Sans', 'Gotham', sans-serif !important;
	font-weight: 700 !important;
	font-size: clamp(42px, 4vw, 54px) !important;
	line-height: .9 !important;
	letter-spacing: -.02em !important;
	text-transform: uppercase !important;
	color: #F7F8F4 !important;
	margin: 0 !important;
}

body.page-template-template-passes-v2 h2.fwc-includes-title:not([class*="fontsize-"]) {
	font-family: 'Min Sans', 'Gotham', sans-serif !important;
	font-weight: 700 !important;
	font-size: 32px !important;
	line-height: 1.1 !important;
	color: #F7F8F4 !important;
	margin: 0 !important;
	padding-bottom: 28px !important;
	border-bottom: 1px solid rgba(247, 248, 244, .18) !important;
}

body.page-template-template-passes-v2 .fwc-lander .fwc-talent-name {
	font-family: 'Min Sans', 'Gotham', sans-serif !important;
	font-weight: 700 !important;
	font-size: 28px !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	letter-spacing: -.01em !important;
	color: #F7F8F4 !important;
}

/* Uncode sets p { font-size + line-height } with enough weight to
   flatten every brochure paragraph to the site body size (17/25). */
body.page-template-template-passes-v2 .fwc-lander p.fwc-hero-eyebrow {
	font-size: 13px !important;
	line-height: normal !important;
	letter-spacing: .14em !important;
	margin: 0 !important;
}

body.page-template-template-passes-v2 .fwc-lander p.fwc-hero-sub {
	font-size: 18px !important;
	line-height: 1.45 !important;
	margin: 0 !important;
}

body.page-template-template-passes-v2 .fwc-lander p.fwc-fee-note {
	font-size: 12px !important;
	line-height: 1.4 !important;
}

body.page-template-template-passes-v2 .fwc-lander .fwc-include p {
	font-size: 15px !important;
	line-height: 1.55 !important;
	margin: 0 !important;
}

@media (min-width: 1024px) and (max-width: 1279px) {
	body.page-template-template-passes-v2 h1.fwc-hero-h1:not([class*="fontsize-"]) {
		font-size: clamp(40px, 4vw, 48px) !important;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	body.page-template-template-passes-v2 h1.fwc-hero-h1:not([class*="fontsize-"]) {
		font-size: clamp(40px, 5.6vw, 52px) !important;
	}

	body.page-template-template-passes-v2 h2.fwc-includes-title:not([class*="fontsize-"]) {
		font-size: 28px !important;
	}

	body.page-template-template-passes-v2 .fwc-lander .fwc-talent-name {
		font-size: 24px !important;
	}
}

@media (max-width: 767px) {
	body.page-template-template-passes-v2 .fwc-nav-logo {
		height: 44px !important;
	}

	body.page-template-template-passes-v2 h1.fwc-hero-h1:not([class*="fontsize-"]) {
		font-size: clamp(28px, 8.1vw, 38px) !important;
		line-height: .92 !important;
		letter-spacing: -.015em !important;
	}

	body.page-template-template-passes-v2 h2.fwc-includes-title:not([class*="fontsize-"]) {
		font-size: 24px !important;
		padding-bottom: 14px !important;
		border-bottom: 0 !important;
	}

	body.page-template-template-passes-v2 .fwc-lander .fwc-talent-name {
		font-size: 22px !important;
	}

	body.page-template-template-passes-v2 .fwc-lander p.fwc-hero-eyebrow {
		font-size: 11px !important;
		letter-spacing: .12em !important;
	}

	body.page-template-template-passes-v2 .fwc-lander p.fwc-hero-sub {
		font-size: 15px !important;
		line-height: 1.3 !important;
	}

	body.page-template-template-passes-v2 .fwc-lander .fwc-include p {
		font-size: 13px !important;
		line-height: 1.5 !important;
	}
}

@media (max-width: 420px) {
	body.page-template-template-passes-v2 h1.fwc-hero-h1:not([class*="fontsize-"]) {
		font-size: clamp(28px, 8.1vw, 34px) !important;
	}
}
