/* ==========================================================================
   Stream & Rise — main.css
   All theme styles live here. Flat colour only: no gradients, no pure black.
   ========================================================================== */

/* ---------- Fonts (self-hosted; see README → Fonts) ---------- */
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/playfair-display-400.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/playfair-display-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/playfair-display-600.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/dm-sans-400.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/dm-sans-500.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/dm-sans-700.woff2") format("woff2"); }

/* ---------- Tokens ---------- */
:root {
	--sr-ink:      #13111A; /* near black: headings, hero and dark bands */
	--sr-forest:   #1A4A3C; /* primary accent: every CTA, links */
	--sr-forest-2: #143A2F; /* CTA hover */
	--sr-gold:     #B8954A; /* secondary: rules, numerals, small labels on dark, waveform */
	--sr-ivory:    #F5F2EB; /* page background */
	--sr-ivory-2:  #ECE7DC; /* alternating section background */
	--sr-stone:    #7C7670; /* 4.01:1 on ivory: 18px+ or non-essential meta only */
	--sr-white:    #FFFFFF;
	--sr-radius:   4px;
	--sr-max:      1180px;
	--sr-gutter:   clamp(16px, 4vw, 40px);
	--sr-space:    clamp(72px, 10vw, 140px);

	/* Derived (contrast figures in README) */
	--sr-text:       #353339; /* ink at 85% on ivory: 11.15:1 */
	--sr-stone-dark: #69635D; /* 5.30:1 on ivory, 4.81:1 on ivory-2 */
	--sr-line:       rgba(19, 17, 26, .2);
	--sr-hair:       rgba(19, 17, 26, .12);
	--sr-error:      #9B2318; /* 7.10:1 on ivory, 7.93:1 on white */
	--sr-on-dark:    #C8C5C1; /* ivory at 80% on ink: 10.88:1 */
	--sr-on-forest:  #C9D0C8; /* ivory at 80% on forest: 6.39:1 */

	--sr-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--sr-sans:  "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--sr-ease:  cubic-bezier(.2, .7, .2, 1);
	--sr-header-h: 72px;
}
@media (max-width: 767px) { :root { --sr-header-h: 64px; } }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
/* Anchor offset comes from scroll-margin-top on [id] only; adding scroll-padding-top here doubled it. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--sr-ivory);
	color: var(--sr-text);
	font-family: var(--sr-sans);
	font-size: clamp(17px, 16px + .2vw, 18px);
	line-height: 1.65;
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, svg, video, canvas { display: block; max-width: 100%; }
img { height: auto; }
p, ul, ol, figure, blockquote, h1, h2, h3, h4 { margin: 0; }
ul, ol { padding: 0; list-style: none; }
button { font: inherit; color: inherit; }
a { color: var(--sr-forest); }
[hidden] { display: none !important; }
[id] { scroll-margin-top: var(--sr-header-h); }

:focus-visible { outline: 2px solid var(--sr-forest); outline-offset: 2px; border-radius: 2px; }
.sr-band--ink :focus-visible, .sr-hero :focus-visible, .sr-sheet :focus-visible, .sr-footer :focus-visible,
body.sr-has-hero .sr-header:not(.is-scrolled) :focus-visible { outline-color: var(--sr-gold); }
.sr-band--forest :focus-visible { outline-color: var(--sr-ivory); }

.sr-visually-hidden {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

.sr-skip {
	position: fixed; left: 16px; top: -100px; z-index: 1000;
	background: var(--sr-forest); color: var(--sr-white); padding: 12px 20px;
	border-radius: var(--sr-radius); text-decoration: none; font-weight: 500;
}
.sr-skip:focus { top: 12px; }

.sr-wrap { width: 100%; max-width: calc(var(--sr-max) + 2 * var(--sr-gutter)); margin-inline: auto; padding-inline: var(--sr-gutter); }
.sr-wrap--mid { max-width: calc(860px + 2 * var(--sr-gutter)); }
.sr-wrap--narrow { max-width: calc(720px + 2 * var(--sr-gutter)); }

/* ---------- Typography ---------- */
.sr-h1, .sr-h2, .sr-h3, .sr-hero__title, .sr-prose h2, .sr-prose h3 {
	font-family: var(--sr-serif); color: var(--sr-ink); font-weight: 600;
	line-height: 1.12; letter-spacing: -.01em; overflow-wrap: break-word; text-wrap: balance;
}
.sr-h1, .sr-hero__title { font-size: clamp(44px, 6vw + 1rem, 84px); line-height: 1.04; }
.sr-h2 { font-size: clamp(32px, 3.2vw + 1rem, 52px); }
.sr-h3 { font-size: clamp(22px, 1vw + 1rem, 28px); line-height: 1.25; }
.sr-h1 em, .sr-h2 em, .sr-hero__title em { font-style: italic; font-weight: 400; }
.sr-nb { white-space: nowrap; }
/* Each sentence of the tagline sits on its own line. */
.sr-line { display: block; }
/* The French tagline is longer: a smaller size keeps each sentence to one or two lines. */
.sr-lang-fr .sr-hero__title { font-size: clamp(34px, 4.6vw + .8rem, 72px); }

.sr-eyebrow {
	display: inline-flex; align-items: center; gap: 12px;
	font-family: var(--sr-sans); font-size: 13px; font-weight: 500; line-height: 1.4;
	letter-spacing: .12em; text-transform: uppercase; color: var(--sr-stone-dark);
	margin-bottom: 18px;
}
.sr-eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--sr-gold); flex: none; }
.sr-band--ink .sr-eyebrow, .sr-hero .sr-eyebrow { color: var(--sr-gold); }
.sr-band--forest .sr-eyebrow { color: var(--sr-on-forest); }
.sr-band--forest .sr-eyebrow::before { background: var(--sr-on-forest); }

.sr-lead { font-size: clamp(18px, 16px + .5vw, 21px); line-height: 1.6; margin-top: 20px; max-width: 46em; }

/* ---------- Links and buttons ---------- */
.sr-link {
	color: var(--sr-forest); font-weight: 500;
	text-decoration: underline; text-decoration-color: var(--sr-gold);
	text-decoration-thickness: 1.5px; text-underline-offset: 5px;
	display: inline-flex; align-items: center; gap: 6px; min-height: 44px;
}
.sr-link:hover { text-decoration-thickness: 2.5px; color: var(--sr-forest-2); }
.sr-link .sr-icon { width: 16px; height: 16px; }
.sr-link--light, .sr-band--ink .sr-link { color: var(--sr-ivory); }
.sr-link--light:hover, .sr-band--ink .sr-link:hover { color: var(--sr-white); }
.sr-cta-row { margin-top: 36px; }
.sr-link-row { margin-top: 16px; }

.sr-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 0 24px; border: 1px solid var(--sr-forest); border-radius: var(--sr-radius);
	background: var(--sr-forest); color: var(--sr-white);
	font-family: var(--sr-sans); font-size: 16px; font-weight: 500; line-height: 1.2;
	text-decoration: none; text-align: center; cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease;
}
.sr-btn:hover { background: var(--sr-forest-2); border-color: var(--sr-forest-2); color: var(--sr-white); }
.sr-btn .sr-icon { width: 18px; height: 18px; transition: transform .25s var(--sr-ease); }
.sr-btn:hover .sr-icon, .sr-btn:focus-visible .sr-icon { transform: translateX(4px); }
.sr-btn--sm { min-height: 44px; padding: 0 16px; font-size: 15px; }
/* On ink, a gold hairline keeps the forest button's edge visible. */
.sr-btn--on-dark, .sr-band--ink .sr-btn, .sr-hero .sr-btn, .sr-tier--featured .sr-btn { border-color: var(--sr-gold); }

.sr-linkbtn {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0;
	background: none; border: 0; cursor: pointer; color: var(--sr-forest); font-weight: 500;
	text-decoration: underline; text-decoration-color: var(--sr-gold); text-decoration-thickness: 1.5px; text-underline-offset: 5px;
}
.sr-linkbtn .sr-icon { width: 18px; height: 18px; }

.sr-icon { width: 24px; height: 24px; flex: none; }

/* ---------- Header ---------- */
.sr-sentinel { position: absolute; top: 0; left: 0; width: 1px; height: 80px; pointer-events: none; }
.sr-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 100;
	height: var(--sr-header-h);
	background: var(--sr-ivory); color: var(--sr-ink);
	border-bottom: 1px solid var(--sr-hair);
	transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}
body.sr-has-hero .sr-header:not(.is-scrolled):not(.is-open) { background: transparent; border-color: transparent; color: var(--sr-ivory); }
.admin-bar .sr-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .sr-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .sr-header { top: 0; } }

.sr-header__inner { height: 100%; display: flex; align-items: center; gap: 16px; }
.sr-logo {
	font-family: var(--sr-serif); font-weight: 600; font-size: 22px; line-height: 1.05;
	color: inherit; text-decoration: none; white-space: nowrap; margin-right: auto;
	min-height: 44px; display: inline-flex; align-items: center;
}
/* The logo is a flex container, which drops the spaces around this span: restore them as margins. */
.sr-logo__amp { font-style: italic; font-weight: 400; color: var(--sr-gold); margin-inline: .22em; }

.sr-nav { display: none; }
.sr-nav__list { display: flex; gap: 4px; }
.sr-nav a, .sr-lang a {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px;
	color: inherit; text-decoration: none; font-size: 15px; font-weight: 500;
}
.sr-nav a:hover { text-decoration: underline; text-decoration-color: var(--sr-gold); text-underline-offset: 6px; }

.sr-header__actions { display: flex; align-items: center; gap: 8px; }
.sr-lang__list { display: flex; align-items: center; }
.sr-lang li + li::before { content: "|"; opacity: .45; padding-inline: 2px; }
.sr-lang li { display: flex; align-items: center; }
.sr-lang a { padding: 0 6px; min-width: 40px; justify-content: center; letter-spacing: .06em; }
.sr-lang a[aria-current="true"] { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 6px; text-decoration-color: var(--sr-gold); }
.sr-lang a.is-preferred:not([aria-current]) { text-decoration: underline dotted; text-underline-offset: 6px; }

.sr-menu-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0; background: none; border: 0; cursor: pointer; color: inherit;
}
.sr-menu-btn__close { display: none; }
.sr-menu-btn[aria-expanded="true"] .sr-menu-btn__open { display: none; }
.sr-menu-btn[aria-expanded="true"] .sr-menu-btn__close { display: inline-flex; }
html:not(.js) .sr-menu-btn { display: none; }

@media (min-width: 1024px) {
	.sr-nav { display: block; }
	.sr-menu-btn { display: none; }
	.sr-logo { margin-right: 0; }
	.sr-nav { margin-inline: auto; }
}
@media (max-width: 419px) {
	.sr-header__inner { gap: 8px; }
	/* Two-line wordmark so logo + toggle + Apply + menu fit inside the 16px gutters at 360px. */
	.sr-logo { display: block; font-size: 18px; white-space: normal; max-width: 4.6em; padding-block: 4px; }
	.sr-logo .sr-logo__amp { margin-inline: 0; }
	.sr-logo--footer { max-width: none; font-size: 26px; }
	.sr-header__actions { gap: 4px; }
	.sr-lang a { min-width: 40px; padding: 0 4px; }
	.sr-header .sr-btn--sm { padding: 0 12px; }
}

/* Mobile sheet */
.sr-sheet {
	position: fixed; inset: var(--sr-header-h) 0 0 0; z-index: 90;
	background: var(--sr-ink); color: var(--sr-ivory);
	padding: 32px var(--sr-gutter); overflow-y: auto;
}
.admin-bar .sr-sheet { top: calc(var(--sr-header-h) + 46px); }
.sr-sheet__list a {
	display: flex; align-items: center; min-height: 56px;
	font-family: var(--sr-serif); font-size: 30px; color: var(--sr-ivory); text-decoration: none;
	border-bottom: 1px solid rgba(245, 242, 235, .12);
}
body.sr-sheet-open { overflow: hidden; }
.sr-header.is-open { background: var(--sr-ink); color: var(--sr-ivory); border-color: transparent; }

/* ---------- Main and sections ---------- */
.sr-main--page { padding-top: var(--sr-header-h); }
.sr-main:focus { outline: none; }
.sr-section { padding-block: var(--sr-space); position: relative; }
.sr-section--slim { padding-block: clamp(48px, 6vw, 80px); }
.sr-band--alt { background: var(--sr-ivory-2); }
.sr-band--ink { background: var(--sr-ink); color: var(--sr-on-dark); }
.sr-band--ink .sr-h2, .sr-band--ink .sr-h3 { color: var(--sr-ivory); }
.sr-band--forest { background: var(--sr-forest); color: var(--sr-on-forest); }
.sr-band--forest .sr-h2 { color: var(--sr-ivory); }
.sr-head { max-width: 760px; margin-bottom: clamp(40px, 5vw, 64px); }
.sr-head--center { margin-inline: auto; text-align: center; }
.sr-head--center .sr-lead { margin-inline: auto; }

/* Reveal: content is visible by default; hidden start state only when JS runs. */
.js [data-reveal] {
	opacity: 0; transform: translateY(16px);
	transition: opacity .6s var(--sr-ease), transform .6s var(--sr-ease);
	transition-delay: var(--sr-delay, 0ms);
}
.js [data-reveal].is-in { opacity: 1; transform: none; }

/* ---------- Hero ---------- */
.sr-hero {
	position: relative; overflow: hidden;
	padding-top: calc(var(--sr-header-h) + clamp(48px, 8vw, 110px));
	padding-bottom: clamp(64px, 9vw, 130px);
	color: var(--sr-on-dark);
}
.sr-hero__wave { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.sr-hero__grid { position: relative; display: grid; gap: clamp(40px, 5vw, 72px); align-items: center; }
.sr-hero__title { color: var(--sr-ivory); }
.sr-hero__promise { margin-top: 28px; font-size: clamp(18px, 16px + .5vw, 21px); line-height: 1.6; max-width: 36em; color: var(--sr-ivory); opacity: .88; }
.sr-hero__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 36px; }
.sr-hero__micro { margin-top: 20px; font-size: 15px; color: var(--sr-on-dark); }
@media (min-width: 900px) { .sr-hero__grid { grid-template-columns: 1.15fr .85fr; } }

/* The two specialists, equal weight, on the first screen */
.sr-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 28px; margin-top: 28px; max-width: 40em; }
.sr-duo__item { border-top: 1px solid var(--sr-gold); padding-top: 14px; }
.sr-duo__label { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sr-ivory); line-height: 1.4; min-height: 1.4em; }
.sr-duo__name { font-family: var(--sr-serif); font-style: italic; font-size: 18px; color: var(--sr-gold); margin-top: 4px; }
.sr-duo__text { font-size: 15px; line-height: 1.5; color: var(--sr-on-dark); margin-top: 8px; }
@media (max-width: 479px) {
	.sr-duo { gap: 12px 16px; margin-top: 22px; }
	.sr-duo__label { font-size: 12px; letter-spacing: .06em; }
	.sr-duo__name { font-size: 16px; }
	.sr-duo__text { font-size: 14px; }
}
.sr-hero__ctas { margin-top: 32px; }

/* Second line of the H1: says what this is, with "music" in it */
.sr-hero__sub {
	display: block; margin-top: 18px; max-width: 26em;
	font-family: var(--sr-sans); font-size: clamp(17px, 1vw + 12px, 22px); font-weight: 500; font-style: normal;
	line-height: 1.4; letter-spacing: 0; color: var(--sr-gold); text-wrap: pretty;
}

/* ---------- Benefits (ink band) ---------- */
.sr-benefits__grid { display: grid; gap: 0 48px; }
.sr-benefit { border-top: 1px solid rgba(245, 242, 235, .16); padding: 28px 0 36px; }
.sr-benefit__num { display: block; font-family: var(--sr-serif); font-size: 28px; line-height: 1; color: var(--sr-gold); margin-bottom: 14px; }
.sr-benefit .sr-h3 { margin-bottom: 10px; }
.sr-benefits__expect { margin-top: 24px; padding: 24px 28px; border-left: 2px solid var(--sr-gold); background: rgba(245, 242, 235, .06); max-width: 52em; }
.sr-benefits__expect strong { color: var(--sr-ivory); font-family: var(--sr-serif); }
.sr-benefits__expect .sr-cta-row { margin-top: 12px; }
@media (min-width: 768px) { .sr-benefits__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) {
	.sr-benefits__grid { grid-template-columns: repeat(6, 1fr); }
	.sr-benefit { grid-column: span 2; }
	.sr-benefit:nth-child(n + 4) { grid-column: span 3; }
}

/* ---------- Pricing ---------- */
.sr-pricing__grid { display: grid; gap: 24px; align-items: stretch; }
.sr-price { position: relative; background: var(--sr-white); border: 1px solid var(--sr-hair); border-top: 3px solid var(--sr-line); border-radius: var(--sr-radius); padding: clamp(24px, 3vw, 36px); }
.sr-price--featured { border-top-color: var(--sr-gold); }
.sr-price__name { font-family: var(--sr-sans); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sr-forest); }
.sr-price__amount { font-family: var(--sr-serif); font-size: clamp(40px, 3vw + 1rem, 56px); font-weight: 600; line-height: 1.1; color: var(--sr-ink); margin-top: 14px; }
.sr-price__for { margin-top: 12px; color: var(--sr-ink); }
.sr-price__label { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--sr-hair); font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--sr-stone-dark); }
.sr-price__list { margin-top: 6px; font-size: 16px; }
.sr-price__list li { padding-block: 8px; }
.sr-pricing__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 48px; margin-top: 40px; padding: 24px 28px; background: var(--sr-ivory-2); border-radius: var(--sr-radius); }
.sr-pricing__note { flex: 1 1 28em; max-width: 46em; }
@media (min-width: 900px) { .sr-pricing__grid { grid-template-columns: repeat(3, 1fr); } }
.sr-glance__more { margin-top: 8px; font-size: 15px; }
.sr-glance__cell--price > .sr-glance__more + .sr-glance__cta { margin-top: 12px; }

/* Hero photo (until the intro video exists) */
.sr-hero__photo { margin: 0; aspect-ratio: 4 / 3; border-radius: var(--sr-radius); overflow: hidden; border: 1px solid rgba(184, 149, 74, .45); background: var(--sr-ink); }
.sr-hero__img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Programme at a glance ---------- */
.sr-glance { position: relative; z-index: 2; padding-bottom: clamp(24px, 4vw, 56px); }
.sr-glance__card {
	background: var(--sr-white); border: 1px solid var(--sr-hair); border-top: 3px solid var(--sr-gold);
	border-radius: var(--sr-radius); padding: clamp(24px, 3.5vw, 48px);
	margin-top: clamp(-88px, -6vw, -40px); /* overlaps the hero so the summary starts on the first screen */
}
.sr-glance__head { margin-bottom: clamp(24px, 3vw, 36px); }
.sr-glance__title { font-size: clamp(28px, 2.2vw + 1rem, 40px); }
.sr-glance__grid { display: grid; gap: 28px; }
.sr-glance__cell { font-size: 16px; line-height: 1.55; }
.sr-glance__label { font-family: var(--sr-sans); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sr-forest); margin-bottom: 12px; }
.sr-glance__who li + li { margin-top: 12px; }
.sr-glance__who strong { display: block; font-family: var(--sr-serif); font-size: 19px; font-weight: 600; color: var(--sr-ink); }
.sr-glance__how li { display: grid; grid-template-columns: 26px 1fr; gap: 8px; }
.sr-glance__how li + li { margin-top: 8px; }
.sr-glance__num { font-family: var(--sr-serif); font-size: 20px; line-height: 1.25; color: var(--sr-gold); }
.sr-glance__cell--price { display: flex; flex-direction: column; background: var(--sr-ivory); border-radius: var(--sr-radius); padding: 20px; }
.sr-glance__prices > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-block: 8px; border-bottom: 1px solid var(--sr-hair); }
.sr-glance__prices dt { color: var(--sr-ink); font-weight: 500; }
.sr-glance__prices dd { margin: 0; font-family: var(--sr-serif); font-size: 24px; font-weight: 600; color: var(--sr-ink); }
.sr-glance__note { font-size: 14px; color: var(--sr-stone-dark); margin-top: 12px; }
.sr-glance__cta { margin-top: auto; align-self: stretch; }
.sr-glance__cell--price > p + .sr-glance__cta, .sr-glance__prices + .sr-glance__note + .sr-glance__cta { margin-top: 20px; }
@media (min-width: 700px) { .sr-glance__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .sr-glance__grid { grid-template-columns: 1fr 1fr 1.2fr 1.05fr; gap: 36px; } }
.sr-glance + .sr-section { padding-top: clamp(48px, 6vw, 88px); }

/* ---------- Music photography ---------- */
.sr-photo { width: 100%; height: 100%; object-fit: cover; }
.sr-split__photo, .sr-banner { margin: 0; }
.sr-split__photo:not(:has(img, .sr-photo-missing)), .sr-banner:not(:has(img, .sr-photo-missing)) { display: none; }
.sr-split__photo:has(img) { aspect-ratio: 4 / 5; border-radius: var(--sr-radius); overflow: hidden; margin-bottom: clamp(40px, 5vw, 64px); max-height: 560px; }
@media (min-width: 900px) {
	.sr-split--media { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(40px, 5vw, 80px); align-items: center; }
}
.sr-banner:has(img) { aspect-ratio: 21 / 9; border-radius: var(--sr-radius); overflow: hidden; margin-bottom: clamp(32px, 4vw, 56px); }
.sr-banner--after:has(img) { margin-top: clamp(40px, 5vw, 64px); margin-bottom: 0; }
.sr-banner:has(.sr-photo-missing), .sr-split__photo:has(.sr-photo-missing) { margin-bottom: 32px; }
@media (max-width: 699px) { .sr-banner:has(img) { aspect-ratio: 3 / 2; } }
.sr-photo-missing { font-size: 14px; }
.sr-hero .sr-photo-missing { margin-top: 12px; }

/* Photo backgrounds on ink bands: flat ink overlay, no gradient */
.sr-band__bg { position: absolute; inset: -24px 0; overflow: hidden; pointer-events: none; }
.sr-band__img { width: 100%; height: 100%; object-fit: cover; }
.sr-band__bg::after { content: ""; position: absolute; inset: 0; background: var(--sr-ink); opacity: .8; }
.sr-closing { overflow: hidden; }
.sr-closing__inner { position: relative; }

/* Video facade */
.sr-video {
	position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
	aspect-ratio: 16 / 9; width: 100%;
	background: var(--sr-ink); border: 1px solid rgba(184, 149, 74, .45); border-radius: var(--sr-radius);
	color: var(--sr-ivory); text-decoration: none; overflow: hidden;
}
.sr-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sr-video__play {
	position: relative; display: inline-flex; align-items: center; justify-content: center;
	width: 72px; height: 72px; border: 1.5px solid var(--sr-gold); border-radius: 50%; color: var(--sr-gold);
	background: rgba(19, 17, 26, .7); transition: transform .25s var(--sr-ease);
}
.sr-video__play .sr-icon { width: 28px; height: 28px; margin-left: 3px; }
.sr-video__label { position: relative; font-size: 15px; color: var(--sr-on-dark); text-align: center; padding-inline: 16px; }
a.sr-video:hover .sr-video__play { transform: scale(1.06); }
.sr-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Problem ---------- */
.sr-pains { display: grid; gap: 1px; background: var(--sr-hair); border-block: 1px solid var(--sr-hair); counter-reset: none; }
.sr-pains__item { background: var(--sr-ivory); padding: 28px 0; display: grid; grid-template-columns: 56px 1fr; column-gap: 16px; }
.sr-pains__num { grid-row: span 2; font-family: var(--sr-serif); font-size: 28px; line-height: 1.1; color: var(--sr-gold); }
.sr-pains__quote { font-family: var(--sr-serif); font-size: clamp(21px, 1vw + 16px, 26px); line-height: 1.3; color: var(--sr-ink); }
.sr-pains__text { margin-top: 6px; }
@media (min-width: 900px) {
	.sr-pains { grid-template-columns: repeat(2, 1fr); column-gap: 48px; background: none; border: 0; }
	.sr-pains__item { border-top: 1px solid var(--sr-hair); }
	.sr-pains__item:last-child { grid-column: 1 / -1; }
}

.sr-ticker { overflow: hidden; margin-block: clamp(48px, 6vw, 80px); border-block: 1px solid var(--sr-hair); padding-block: 18px; }
.sr-ticker__track { display: flex; width: max-content; animation: sr-marquee 70s linear infinite; }
.sr-ticker:hover .sr-ticker__track { animation-play-state: paused; }
.sr-ticker__set { display: flex; flex: none; }
.sr-ticker__item { font-family: var(--sr-serif); font-size: clamp(22px, 2vw + 12px, 34px); color: var(--sr-stone-dark); padding-inline: 28px; white-space: nowrap; }
.sr-ticker__item::after { content: "·"; color: var(--sr-gold); padding-left: 56px; }
@keyframes sr-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.sr-problem__close { font-size: clamp(18px, 16px + .5vw, 21px); max-width: 46em; color: var(--sr-ink); }

/* ---------- Fit ---------- */
.sr-fit__cols { display: grid; gap: 24px; }
.sr-fit__col { background: var(--sr-ivory); border-radius: var(--sr-radius); padding: clamp(24px, 3vw, 40px); }
.sr-fit__col .sr-h3 { margin-bottom: 20px; }
.sr-checklist li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; padding-block: 10px; border-top: 1px solid var(--sr-hair); }
.sr-checklist li:first-child { border-top: 0; }
.sr-checklist .sr-icon { color: var(--sr-forest); margin-top: 3px; }
.sr-checklist--no .sr-icon { color: var(--sr-stone-dark); }
@media (min-width: 768px) { .sr-fit__cols { grid-template-columns: 1fr 1fr; } }

/* ---------- Quiz ---------- */
.sr-quiz__app {
	background: var(--sr-white); border: 1px solid var(--sr-hair); border-radius: var(--sr-radius);
	padding: clamp(24px, 4vw, 48px); max-width: 720px; margin-inline: auto;
}
html:not(.js) .sr-quiz__app { display: none; }
.js .sr-quiz__nojs { display: none; }
.sr-quiz__nojs { text-align: center; }
.sr-quiz__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.sr-dots { display: flex; gap: 8px; }
.sr-dots__dot { width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid var(--sr-forest); }
.sr-dots__dot.is-done { background: var(--sr-forest); }
.sr-dots__dot.is-current { background: var(--sr-gold); border-color: var(--sr-gold); }
.sr-quiz__count { font-size: 14px; color: var(--sr-stone-dark); font-weight: 500; }
.sr-quiz__q { font-family: var(--sr-serif); font-weight: 600; font-size: clamp(22px, 1vw + 1rem, 28px); line-height: 1.25; color: var(--sr-ink); margin-bottom: 20px; }
.sr-quiz__q:focus { outline: none; }
.sr-quiz__options { display: grid; gap: 12px; }
.sr-quiz__opt {
	width: 100%; min-height: 56px; padding: 14px 20px; text-align: left; cursor: pointer;
	background: var(--sr-ivory); border: 1px solid var(--sr-line); border-radius: var(--sr-radius);
	color: var(--sr-ink); font-size: 17px; line-height: 1.4;
	transition: border-color .2s ease, background-color .2s ease;
}
.sr-quiz__opt:hover { border-color: var(--sr-forest); }
.sr-quiz__opt[aria-pressed="true"] { border-color: var(--sr-forest); background: var(--sr-ivory-2); box-shadow: inset 3px 0 0 var(--sr-forest); }
.sr-quiz__nav { margin-top: 16px; min-height: 44px; }
.sr-quiz__card .sr-h3 { margin-bottom: 12px; }
.sr-quiz__card .sr-h3:focus { outline: none; }
.sr-quiz__card .sr-btn { margin-top: 24px; }
.sr-quiz__restart { margin-top: 12px; }

/* ---------- Tiers ---------- */
.sr-tiers__grid { display: grid; gap: 24px; align-items: start; }
.sr-tier {
	position: relative; display: flex; flex-direction: column;
	background: var(--sr-ivory); border-radius: var(--sr-radius); padding: clamp(24px, 3vw, 36px);
	transition: transform .3s var(--sr-ease);
}
.sr-tier::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--sr-gold); opacity: 0; transition: opacity .3s ease; border-radius: var(--sr-radius) var(--sr-radius) 0 0; }
.sr-tier__badge { align-self: flex-start; font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--sr-gold); margin-bottom: 14px; }
.sr-tier__name { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sr-forest); margin-bottom: 14px; }
.sr-tier__title { font-family: var(--sr-serif); font-weight: 600; font-size: clamp(22px, .8vw + 1rem, 26px); line-height: 1.25; color: var(--sr-ink); }
.sr-tier__situation { margin-top: 14px; }
.sr-tier__label { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--sr-hair); font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--sr-stone-dark); }
.sr-tier__split { display: grid; gap: 20px; margin-top: 16px; }
.sr-tier__who { font-family: var(--sr-sans); font-size: 16px; font-weight: 700; color: var(--sr-ink); margin-bottom: 8px; }
.sr-tier__list li { position: relative; padding-left: 18px; margin-top: 8px; font-size: 16px; line-height: 1.55; }
.sr-tier__list li::before { content: ""; position: absolute; left: 0; top: .72em; width: 8px; height: 1px; background: var(--sr-gold); }
.sr-tier__leave { margin-top: 24px; padding: 16px; background: var(--sr-ivory-2); border-radius: var(--sr-radius); font-size: 16px; }
.sr-tier__leave strong { display: block; color: var(--sr-ink); }
.sr-tier__cta { margin-top: auto; padding-top: 24px; }
.sr-tier__price { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--sr-hair); font-size: 15px; }
.sr-tier__price strong { font-family: var(--sr-serif); font-size: 26px; color: var(--sr-ink); }
.sr-tier--featured .sr-tier__price { border-color: rgba(245, 242, 235, .16); }
.sr-tier--featured .sr-tier__price strong { color: var(--sr-ivory); }
.sr-tier__price + .sr-tier__leave { margin-top: 16px; }

.sr-tier--featured { background: var(--sr-ink); color: var(--sr-on-dark); }
.sr-tier--featured::before { opacity: 1; }
.sr-tier--featured .sr-tier__name { color: var(--sr-gold); }
.sr-tier--featured .sr-tier__title, .sr-tier--featured .sr-tier__who, .sr-tier--featured .sr-tier__leave strong { color: var(--sr-ivory); }
.sr-tier--featured .sr-tier__label { color: var(--sr-on-dark); border-color: rgba(245, 242, 235, .16); }
.sr-tier--featured .sr-tier__leave { background: rgba(245, 242, 235, .06); }

@media (min-width: 1024px) {
	.sr-tiers__grid { grid-template-columns: 1fr 1.08fr 1fr; }
	.sr-tier--featured { margin-top: -16px; padding-block: 48px; }
}
@media (hover: hover) and (pointer: fine) {
	.sr-tier:hover { transform: translateY(-4px); }
	.sr-tier:hover::before { opacity: 1; }
}

/* ---------- Custom scope ---------- */
.sr-scope__inner { display: grid; gap: 16px 48px; border-top: 1px solid var(--sr-hair); padding-top: 32px; }
.sr-scope__title { margin: 0; }
.sr-scope .sr-cta-row { margin-top: 12px; }
@media (min-width: 900px) { .sr-scope__inner { grid-template-columns: 1fr 1.4fr; } }

/* ---------- How it works ---------- */
.sr-steps { display: grid; gap: 32px; counter-reset: none; }
.sr-steps__item { border-top: 1px solid var(--sr-line); padding-top: 24px; }
.sr-steps__num { display: block; font-family: var(--sr-serif); font-size: 44px; line-height: 1; color: var(--sr-gold); margin-bottom: 16px; }
.sr-steps__item .sr-h3 { margin-bottom: 10px; }
.sr-how__note { margin-top: 48px; padding: 20px 24px; border-left: 2px solid var(--sr-gold); background: var(--sr-ivory-2); max-width: 46em; }
@media (min-width: 768px) { .sr-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .sr-steps { grid-template-columns: repeat(4, 1fr); } }

/* ---------- Team ---------- */
.sr-team__grid { display: grid; gap: 48px; }
.sr-person__photo { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--sr-radius); background: var(--sr-ivory); max-width: 460px; }
.sr-person__frame { position: absolute; inset: -24px 0; }
.sr-person__frame img { width: 100%; height: 100%; object-fit: cover; }
.sr-person__name { font-family: var(--sr-serif); font-size: clamp(26px, 1vw + 1.2rem, 32px); font-weight: 600; color: var(--sr-ink); margin-top: 24px; }
.sr-person__role { font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--sr-stone-dark); margin-top: 6px; }
.sr-person__bio { margin-top: 16px; }
.sr-person__link { margin-top: 8px; }
.sr-team__why { margin-top: 64px; padding-top: 32px; border-top: 1px solid var(--sr-line); max-width: 46em; font-size: clamp(18px, 16px + .5vw, 21px); }
.sr-team__why strong { color: var(--sr-ink); font-family: var(--sr-serif); }
@media (min-width: 768px) { .sr-team__grid { grid-template-columns: 1fr 1fr; } }

[data-parallax] { transform: translate3d(0, var(--sr-py, 0px), 0); }

/* ---------- Compare ---------- */
.sr-table { width: 100%; border-collapse: collapse; font-size: 16px; }
.sr-table th, .sr-table td { text-align: left; vertical-align: top; padding: 18px 20px; border-bottom: 1px solid var(--sr-hair); }
.sr-table thead th { font-family: var(--sr-serif); font-size: 20px; font-weight: 600; color: var(--sr-ink); border-bottom: 1px solid var(--sr-line); }
.sr-table tbody th { font-weight: 500; color: var(--sr-ink); width: 22%; }
.sr-table .is-us { background: var(--sr-ivory-2); color: var(--sr-ink); }
.sr-table thead .is-us { border-top: 3px solid var(--sr-gold); }
@media (max-width: 767px) {
	.sr-table, .sr-table tbody, .sr-table tr, .sr-table th, .sr-table td { display: block; width: 100%; }
	.sr-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
	.sr-table tr { background: var(--sr-white); border: 1px solid var(--sr-hair); border-radius: var(--sr-radius); margin-bottom: 16px; overflow: hidden; }
	.sr-table tbody th { width: 100%; font-family: var(--sr-serif); font-size: 20px; padding: 16px 16px 8px; border: 0; }
	.sr-table td { padding: 10px 16px; border: 0; border-top: 1px solid var(--sr-hair); }
	.sr-table td::before { content: attr(data-label); display: block; font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--sr-stone-dark); margin-bottom: 2px; }
	.sr-table td.is-us { border-left: 3px solid var(--sr-gold); }
}

/* ---------- Proof ---------- */
.sr-proof { overflow: hidden; }
.sr-proof__texture {
	position: absolute; inset: -24px 0; pointer-events: none; opacity: .5;
	background-image: url("../img/texture.svg"); background-size: 480px auto; background-repeat: repeat;
}
.sr-proof__inner { position: relative; }
.sr-quotes { display: grid; gap: 24px; }
.sr-quote figure { height: 100%; padding: 28px; border: 1px solid rgba(184, 149, 74, .35); border-radius: var(--sr-radius); }
.sr-quote blockquote p { font-family: var(--sr-serif); font-size: 21px; line-height: 1.45; color: var(--sr-ivory); }
.sr-quote figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 20px; font-size: 15px; }
.sr-quote__photo { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.sr-quote__name { color: var(--sr-ivory); font-weight: 500; }
.sr-quote__name a { color: inherit; }
.sr-quote__stage { color: var(--sr-gold); }
@media (min-width: 768px) { .sr-quotes { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Lead magnet ---------- */
.sr-magnet__grid { display: grid; gap: 40px; align-items: start; }
.sr-magnet .sr-head { margin-bottom: 0; }
.sr-form__small { margin-top: 16px; font-size: 15px; color: var(--sr-on-forest); }
@media (min-width: 900px) { .sr-magnet__grid { grid-template-columns: 1.1fr .9fr; gap: 72px; } }

/* ---------- FAQ ---------- */
.sr-accordion { border-top: 1px solid var(--sr-line); }
.sr-acc { border-bottom: 1px solid var(--sr-line); }
.sr-acc__q {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	min-height: 64px; padding: 18px 0; cursor: pointer; list-style: none;
	font-family: var(--sr-serif); font-size: clamp(19px, .6vw + 1rem, 23px); line-height: 1.35; color: var(--sr-ink);
}
.sr-acc__q::-webkit-details-marker { display: none; }
.sr-acc__q::marker { content: ""; }
.sr-acc__q .sr-icon { color: var(--sr-forest); }
.sr-icon__v { transform-box: fill-box; transform-origin: center; transition: transform .25s var(--sr-ease); }
details[open] > summary .sr-icon__v { transform: scaleY(0); }
.sr-acc__a { padding: 0 48px 24px 0; overflow: hidden; }

/* ---------- Apply ---------- */
.sr-apply__form { background: var(--sr-white); border: 1px solid var(--sr-hair); border-radius: var(--sr-radius); padding: clamp(20px, 4vw, 48px); }
.sr-apply__form:empty { display: none; }
.sr-quick { margin-top: 32px; }
.sr-quick__toggle {
	display: inline-flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; list-style: none;
	color: var(--sr-forest); font-weight: 500; text-decoration: underline; text-decoration-color: var(--sr-gold); text-decoration-thickness: 1.5px; text-underline-offset: 5px;
}
.sr-quick__toggle::-webkit-details-marker { display: none; }
.sr-quick__toggle::marker { content: ""; }
.sr-quick__toggle .sr-icon { width: 18px; height: 18px; }
.sr-quick__body { overflow: hidden; margin-top: 16px;background: var(--sr-white); border: 1px solid var(--sr-hair); border-radius: var(--sr-radius); padding: clamp(20px, 3vw, 32px); }

/* ---------- Closing ---------- */
.sr-closing__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 32px; }
.sr-closing__line { font-family: var(--sr-serif); font-size: clamp(32px, 3.2vw + 1rem, 52px); line-height: 1.12; color: var(--sr-ivory); max-width: 16em; text-wrap: balance; }

/* ---------- Forms (SureForms output + generic fallbacks) ----------
   Selectors target .srfm-* classes and plain elements inside .sr-form.
   VERIFY on install: inspect SureForms' real markup and adjust class names. */
.sr-form label, .sr-form .srfm-block-label, .sr-form legend { display: block; font-weight: 500; color: var(--sr-ink); margin-bottom: 8px; font-size: 16px; }
.sr-form input[type="text"], .sr-form input[type="email"], .sr-form input[type="url"], .sr-form input[type="tel"],
.sr-form input[type="number"], .sr-form select, .sr-form textarea, .sr-form .srfm-input-common {
	width: 100%; min-height: 52px; padding: 12px 16px;
	background: var(--sr-white); color: var(--sr-ink);
	border: 1px solid var(--sr-line); border-radius: var(--sr-radius);
	font-family: var(--sr-sans); font-size: 17px; line-height: 1.4;
}
.sr-form textarea { min-height: 140px; resize: vertical; }
.sr-form input:focus-visible, .sr-form select:focus-visible, .sr-form textarea:focus-visible, .sr-form .srfm-input-common:focus-visible {
	outline: 2px solid var(--sr-forest); outline-offset: 2px; border-color: var(--sr-forest);
}
.sr-form input[type="checkbox"], .sr-form input[type="radio"] { width: 20px; height: 20px; accent-color: var(--sr-forest); }
.sr-form .srfm-error-message, .sr-form .srfm-error, .sr-form [role="alert"] { color: var(--sr-error); font-size: 15px; margin-top: 6px; }
.sr-form .srfm-help-text, .sr-form .srfm-description { color: var(--sr-stone-dark); font-size: 15px; margin-top: 6px; }
.sr-form button[type="submit"], .sr-form .srfm-submit-button, .sr-form input[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px;
	background: var(--sr-forest); color: var(--sr-white); border: 1px solid var(--sr-forest); border-radius: var(--sr-radius);
	font-family: var(--sr-sans); font-size: 16px; font-weight: 500; cursor: pointer;
}
.sr-form button[type="submit"]:hover, .sr-form .srfm-submit-button:hover { background: var(--sr-forest-2); border-color: var(--sr-forest-2); }
/* Forest band: an ivory button with forest text, since a forest fill would vanish. */
.sr-form--on-dark label, .sr-form--on-dark .srfm-block-label, .sr-form--on-dark legend { color: var(--sr-ivory); }
.sr-form--on-dark a { color: var(--sr-ivory); }
.sr-form--on-dark .srfm-help-text, .sr-form--on-dark .srfm-description { color: var(--sr-on-forest); }
.sr-form--on-dark input:focus-visible, .sr-form--on-dark .srfm-input-common:focus-visible { outline-color: var(--sr-ivory); }
.sr-form--on-dark button[type="submit"], .sr-form--on-dark .srfm-submit-button, .sr-form--on-dark input[type="submit"] { background: var(--sr-ivory); color: var(--sr-forest); border-color: var(--sr-ivory); }
.sr-form--on-dark button[type="submit"]:hover, .sr-form--on-dark .srfm-submit-button:hover { background: var(--sr-white); color: var(--sr-forest-2); }
.sr-form--on-dark .srfm-error-message, .sr-form--on-dark .srfm-error { color: var(--sr-ivory); font-weight: 500; }

.sr-form-missing { border: 2px dashed var(--sr-stone); border-radius: var(--sr-radius); padding: 24px; font-size: 15px; color: var(--sr-ink); background: var(--sr-ivory); }

/* ---------- Pages ---------- */
.sr-page__title { margin-bottom: 40px; }
.sr-prose { max-width: 70ch; }
.sr-prose > * + * { margin-top: 1em; }
.sr-prose h2 { font-size: clamp(26px, 1.5vw + 1rem, 34px); margin-top: 2em; }
.sr-prose h3 { font-size: clamp(20px, .6vw + 1rem, 24px); margin-top: 1.6em; }
.sr-prose ul { list-style: disc; padding-left: 1.3em; }
.sr-prose ol { list-style: decimal; padding-left: 1.3em; }
.sr-prose li + li { margin-top: .4em; }
.sr-prose a { text-decoration-color: var(--sr-gold); text-underline-offset: 3px; }
.sr-prose table { width: 100%; border-collapse: collapse; font-size: 16px; display: block; overflow-x: auto; }
.sr-prose th, .sr-prose td { border: 1px solid var(--sr-hair); padding: 10px 12px; text-align: left; vertical-align: top; }
.sr-thanks .sr-lead, .sr-404 .sr-lead { margin-bottom: 32px; }

/* Admin-only helpers */
.sr-admin-banner { background: #F6E7A8; color: var(--sr-ink); border: 1px solid #C9A227; border-radius: var(--sr-radius); padding: 14px 18px; margin-bottom: 32px; font-size: 15px; }
.sr-flag { display: inline-block; vertical-align: middle; margin-left: 6px; padding: 2px 6px; border-radius: 3px; background: #F6E7A8; color: var(--sr-ink); font: 600 11px/1.3 var(--sr-sans); letter-spacing: .04em; text-transform: none; cursor: help; }

/* ---------- Footer ---------- */
.sr-footer { background: var(--sr-ink); color: var(--sr-on-dark); padding-block: clamp(56px, 7vw, 96px) 32px; font-size: 15px; }
.sr-footer a { color: var(--sr-ivory); text-decoration-color: rgba(184, 149, 74, .7); text-underline-offset: 3px; }
.sr-footer__top { display: grid; gap: 40px; }
.sr-footer__brand p { margin-top: 12px; max-width: 36em; }
.sr-logo--footer { color: var(--sr-ivory); font-size: 26px; margin: 0; }
.sr-footer__small { font-size: 14px; }
.sr-footer__h { font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--sr-gold); margin-bottom: 8px; }
.sr-footer__col a, .sr-footer__col .sr-linkbtn { display: inline-flex; align-items: center; min-height: 44px; }
.sr-footer .sr-linkbtn { color: var(--sr-ivory); text-decoration-color: rgba(184, 149, 74, .7); text-decoration-thickness: 1px; text-underline-offset: 3px; font-weight: 400; }
.sr-footer__copy { margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(245, 242, 235, .12); font-size: 14px; }
@media (min-width: 768px) { .sr-footer__top { grid-template-columns: 2fr 1fr 1fr 1fr; } }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; animation-iteration-count: 1 !important; }
	.js [data-reveal] { opacity: 1; transform: none; }
	.sr-ticker__track { animation: none; }
	[data-parallax] { transform: none; }
}
html.sr-reduced [data-reveal] { opacity: 1; transform: none; transition: none; }
html.sr-reduced .sr-ticker__track { animation: none; }
html.sr-reduced { scroll-behavior: auto; }

/* ---------- Print ---------- */
@media print {
	.sr-header, .sr-sheet, .sr-hero__wave, .sr-ticker, .sr-quiz, .sr-magnet, .sr-apply, .sr-closing { display: none !important; }
	.sr-main--page, .sr-hero { padding-top: 0; }
	.sr-band--ink, .sr-hero, .sr-footer { background: none; color: #000; }
	.js [data-reveal] { opacity: 1; transform: none; }
}
