:root {
  --ink: #12343b;
  --ink-deep: #0b282e;
  --cream: #f6f0e5;
  --paper: #fffdf8;
  --terracotta: #a94d32;
  --terracotta-dark: #873c28;
  --terracotta-bright: #c86443;
  --gold: #d6b56f;
  --mist: #dce7e4;
  --line: rgba(18,52,59,.16);
  --muted: #557076;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
svg { display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; top: -60px; left: 1rem; z-index: 100;
  padding: .7rem 1rem; background: var(--paper); border: 2px solid var(--ink);
}
.skip-link:focus { top: 1rem; }

.site-header {
  min-height: 84px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 2rem; padding: 0 clamp(1.25rem, 5vw, 5rem);
  background: var(--paper); border-bottom: 1px solid var(--line);
  position: relative; z-index: 20;
}
.brand {
  display: inline-flex; align-items: center; gap: .75rem;
  text-decoration: none; font-family: "Newsreader", Georgia, serif;
  font-size: 1.17rem; font-weight: 600; letter-spacing: -.035em;
}
.brand-wordmark { display: grid; gap: .03em; line-height: .9; }
.brand strong {
  margin-left: .12em; color: inherit; font-family: "Newsreader", Georgia, serif;
  font-size: 1em; letter-spacing: -.035em;
}
.brand-mark {
  width: 52px; height: 48px; display: grid; place-items: center; flex: 0 0 auto;
}
.brand-mark img { width: 52px; height: 48px; }
.site-nav { display: flex; align-items: center; gap: clamp(.9rem, 2vw, 2rem); }
.site-nav a { text-decoration: none; font-size: .92rem; font-weight: 600; }
.site-nav a:not(.nav-cta):hover { color: var(--terracotta); }
.nav-cta {
  padding: .72rem 1.15rem; border: 1px solid var(--ink); border-radius: 2rem;
  transition: .2s ease;
}
.nav-cta:hover { color: var(--paper); background: var(--ink); }
.menu-button { display: none; background: none; border: 0; width: 44px; height: 44px; padding: 10px; }
.menu-button span:not(.sr-only) { display: block; height: 2px; margin: 5px 0; background: var(--ink); }

.hero {
  min-height: calc(100vh - 84px); display: grid; grid-template-columns: 1fr 1.03fr;
  background: var(--cream); overflow: hidden;
}
.hero-copy {
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(4rem, 7vw, 7.5rem) clamp(1.5rem, 6vw, 6.6rem);
}
.eyebrow {
  margin: 0 0 1rem; color: var(--terracotta-dark); font-size: .76rem;
  font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
.eyebrow.light { color: #efc89d; }
h1, h2, blockquote {
  margin: 0; font-family: "Newsreader", Georgia, serif;
  font-weight: 500; letter-spacing: -.035em; line-height: .98;
}
h1 { max-width: 720px; font-size: clamp(3.7rem, 6.5vw, 7.1rem); }
h1 em { color: var(--terracotta); font-weight: 500; }
h2 { font-size: clamp(2.6rem, 4.2vw, 4.6rem); }
h3 { margin: 0; line-height: 1.2; }
.hero-intro { max-width: 610px; margin: 2rem 0 0; color: var(--muted); font-size: clamp(1.05rem, 1.4vw, 1.25rem); }
.hero-actions { display: flex; align-items: center; gap: 1.8rem; margin-top: 2.25rem; flex-wrap: wrap; }
.button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 52px; padding: .8rem 1.45rem; border-radius: 2px;
  text-decoration: none; font-weight: 700; transition: transform .2s, background .2s;
}
.button:hover { transform: translateY(-2px); }
.button.primary { color: white; background: var(--terracotta); }
.button.primary:hover { background: var(--terracotta-dark); }
.button.cream { background: var(--cream); color: var(--ink); }
.text-link {
  text-decoration: none; font-weight: 700; border-bottom: 1px solid currentColor;
  padding-bottom: .18rem;
}
.text-link span { display: inline-block; margin-left: .3rem; transition: transform .2s; }
.text-link:hover span { transform: translateX(4px); }
.trust-line { display: flex; gap: 1.4rem; margin-top: 3.5rem; color: var(--muted); font-size: .79rem; }
.trust-line span { display: flex; align-items: center; gap: .45rem; }
.trust-line span::before { content: ""; width: 5px; height: 5px; background: var(--gold); border-radius: 50%; }

.hero-image-wrap { position: relative; min-height: 660px; }
.hero-image-wrap > img, .hero-video-link > img { width: 100%; height: 100%; object-fit: cover; object-position: 51% center; }
.hero-video-link { position: absolute; inset: 0; display: block; color: white; text-decoration: none; overflow: hidden; }
.hero-video-link::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(11,40,46,.88)); }
.hero-video-copy { position: absolute; z-index: 2; left: clamp(1.5rem, 4vw, 4rem); right: 1.5rem; bottom: clamp(1.5rem, 4vw, 4rem); display: flex; align-items: center; gap: 1.2rem; max-width: 520px; }
.hero-video-copy > span:last-child { display: grid; }
.hero-video-copy small, .video-card-label { color: #efc89d; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hero-video-copy strong { font-family: "Newsreader", Georgia, serif; font-size: clamp(1.55rem, 2.4vw, 2.4rem); line-height: 1.04; }
.hero-video-copy strong + span { margin-top: .25rem; color: #d7e2e0; font-size: .9rem; }
.play-disc { display: grid; place-items: center; width: 62px; height: 62px; flex: 0 0 auto; border-radius: 50%; color: var(--ink); background: var(--gold); font-size: 1.15rem; padding-left: .15rem; box-shadow: 0 0 0 7px rgba(255,255,255,.14); }
.image-note {
  position: absolute; left: 0; bottom: 0; max-width: 335px;
  display: flex; align-items: center; gap: 1rem;
  padding: 1.1rem 1.4rem; color: white; background: var(--ink);
}
.image-note svg { width: 25px; flex: 0 0 auto; color: var(--gold); }
.image-note span { font-size: .88rem; line-height: 1.4; }

.knowledge-hero h1 { font-size: clamp(3.5rem, 6vw, 6.7rem); }
.knowledge-hero .hero-image-wrap > img { filter: saturate(.86); }

.intro-band {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2rem;
  padding: 4.5rem clamp(1.5rem, 7vw, 8rem); background: var(--ink); color: white;
}
.intro-band p { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2.5rem); line-height: 1.25; }
.intro-band .serif { font-family: "Newsreader", Georgia, serif; color: #efc89d; }

.journey-section { background: var(--paper); }
.journey-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.journey-grid a { min-height: 210px; display: flex; flex-direction: column; padding: 1.7rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; transition: background .2s, color .2s; }
.journey-grid a:hover { color: white; background: var(--terracotta-dark); }
.journey-grid span { color: var(--terracotta-dark); font-size: .73rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.journey-grid a:hover span, .journey-grid a:hover small { color: #f4d5bd; }
.journey-grid strong { max-width: 330px; margin-top: 1.5rem; font-family: "Newsreader", Georgia, serif; font-size: 1.65rem; line-height: 1.1; }
.journey-grid small { margin-top: auto; padding-top: 1.2rem; color: var(--muted); font-size: .88rem; }

.guidance-finder { display: grid; grid-template-columns: .85fr 1.15fr; gap: 10%; padding: clamp(4.5rem, 7vw, 7rem) clamp(1.5rem, 7vw, 8rem); color: white; background: var(--ink-deep); }
.guidance-finder h2 { max-width: 640px; }
.guidance-search { align-self: end; }
.guidance-search label { display: block; margin-bottom: .7rem; font-weight: 700; }
.search-control { display: grid; grid-template-columns: 1fr auto; }
.search-control input { min-width: 0; min-height: 58px; padding: .9rem 1rem; border: 2px solid white; border-radius: 0; background: white; color: var(--ink); font: inherit; font-size: 1rem; }
.search-control button { min-height: 58px; padding: .8rem 1.3rem; border: 2px solid var(--terracotta); background: var(--terracotta); color: white; font: inherit; font-weight: 700; cursor: pointer; }
.search-control button:hover { background: var(--terracotta-dark); border-color: var(--terracotta-dark); }
.search-hint { margin: .65rem 0 0; color: #a9bfbd; font-size: .86rem; }
.search-results { margin-top: 1rem; border-top: 1px solid rgba(255,255,255,.2); }
.search-results p { margin: 1rem 0 0; color: #c7d6d4; }
.search-results a { display: block; padding: .85rem 0; color: white; font-weight: 700; text-decoration-color: var(--gold); text-underline-offset: .25em; border-bottom: 1px solid rgba(255,255,255,.15); }

.section { padding: clamp(5rem, 8vw, 8.5rem) clamp(1.5rem, 7vw, 8rem); }
.section-heading {
  display: grid; grid-template-columns: 1.3fr .7fr; gap: 8%;
  align-items: end; margin-bottom: 3.5rem;
}
.section-heading > p { margin: 0 0 .4rem; max-width: 460px; color: var(--muted); font-size: 1.05rem; }
.option-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.option-card { position: relative; min-height: 455px; padding: 2.2rem; border-right: 1px solid var(--line); }
.option-card:last-child { border-right: 0; }

.topic-grid {
  display: grid; grid-template-columns: repeat(6, 1fr);
  border-top: 1px solid var(--line); border-left: 1px solid var(--line);
}
.topic-card {
  grid-column: span 2;
  position: relative; min-height: 305px; padding: 2rem;
  border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);
  text-decoration: none; transition: color .2s, background .2s;
}
.topic-card:nth-last-child(-n+2) { grid-column: span 3; }
.topic-card:hover { color: white; background: var(--ink); }
.topic-number, .guide-label {
  color: var(--terracotta-dark); font-size: .73rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
}
.topic-card:hover .topic-number { color: #efc89d; }
.topic-card h3 {
  max-width: 270px; margin-top: 3.3rem; font-family: "Newsreader", Georgia, serif;
  font-size: 2rem; font-weight: 600;
}
.topic-card p { max-width: 330px; color: var(--muted); }
.topic-card:hover p { color: #c7d6d4; }
.topic-arrow { position: absolute; right: 1.8rem; bottom: 1.5rem; font-size: 1.4rem; }

.watch-preview { background: var(--mist); }
.watch-preview-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1.2rem; }
.video-card { position: relative; min-height: 290px; display: flex; flex-direction: column; justify-content: space-between; padding: 2rem; color: white; background: var(--ink); text-decoration: none; overflow: hidden; }
.video-card-featured { min-height: 440px; background: var(--ink-deep); }
.video-card-featured::after { content: "RLUK"; position: absolute; right: -1rem; bottom: -4.6rem; color: rgba(255,255,255,.035); font-family: "Newsreader", Georgia, serif; font-size: 12rem; line-height: 1; }
.video-card .play-disc { position: relative; z-index: 1; align-self: center; width: 74px; height: 74px; }
.video-card > span:last-child { position: relative; z-index: 1; display: grid; max-width: 590px; }
.video-card strong { font-family: "Newsreader", Georgia, serif; font-size: clamp(2rem, 3.2vw, 3.2rem); line-height: 1; }
.video-card small { max-width: 490px; margin-top: .65rem; color: #c7d6d4; font-size: .95rem; }
.video-series-list { display: grid; border-top: 1px solid rgba(18,52,59,.25); }
.video-series-link { display: grid; align-content: center; min-height: 142px; padding: 1.4rem 1.6rem; border-bottom: 1px solid rgba(18,52,59,.25); text-decoration: none; transition: color .2s, background .2s; }
.video-series-link span { font-family: "Newsreader", Georgia, serif; font-size: 1.5rem; font-weight: 600; line-height: 1.1; }
.video-series-link small { margin-top: .35rem; color: var(--muted); }
.video-series-link:hover { color: white; background: var(--terracotta-dark); }
.video-series-link:hover small { color: #f4d5bd; }
.watch-all { margin-top: 2rem; }

.membership-band { display: grid; grid-template-columns: 1.05fr .95fr; gap: 9%; color: white; background: var(--ink-deep); }
.membership-copy > p:not(.eyebrow) { max-width: 650px; color: #c7d6d4; font-size: 1.08rem; }
.membership-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 2rem; max-width: 620px; margin: 2rem 0 0; padding: 0; list-style: none; }
.membership-benefits li { position: relative; padding-left: 1.25rem; }
.membership-benefits li::before { content: ""; position: absolute; left: 0; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }
.membership-card { align-self: center; padding: clamp(2rem, 4vw, 3.5rem); color: var(--ink); background: var(--gold); }
.membership-label { display: block; margin-bottom: 2rem; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.membership-card h3 { max-width: 480px; font-family: "Newsreader", Georgia, serif; font-size: clamp(2.4rem, 4vw, 4rem); font-weight: 600; line-height: .95; }
.membership-card p { max-width: 540px; }
.membership-card .button { margin-top: 1rem; background: var(--paper); }
.membership-card small { display: block; max-width: 470px; margin-top: 1.1rem; color: #334f54; }
.membership-cta { margin-top: clamp(3rem, 6vw, 6rem); }

.editorial-feature {
  display: grid; grid-template-columns: 1.15fr .85fr; gap: 10%;
  padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 7vw, 8rem);
  color: white; background: var(--ink-deep);
}
.editorial-heading h2 { max-width: 800px; }
.editorial-copy { align-self: end; }
.editorial-copy p { margin: 0 0 2rem; color: #c7d6d4; font-size: 1.08rem; }
.guide-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.guide-card { min-height: 325px; padding: 2rem; background: var(--cream); }
.guide-card h3 { margin-top: 1.3rem; font-family: "Newsreader", Georgia, serif; font-size: 2rem; font-weight: 600; }
.guide-card > p:not(.guide-label) { color: var(--muted); }
.guide-card a { display: inline-block; margin-top: 1rem; font-weight: 700; text-underline-offset: .25em; }

.principles {
  display: grid; grid-template-columns: .75fr 1.25fr; gap: 10%;
  padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 7vw, 8rem);
  background: var(--gold);
}
.principles .eyebrow { color: var(--ink); }
.principle-list { border-top: 1px solid rgba(18,52,59,.35); }
.principle-list p { display: grid; grid-template-columns: .75fr 1.25fr; gap: 2rem; margin: 0; padding: 1.4rem 0; border-bottom: 1px solid rgba(18,52,59,.35); }
.principle-list strong { font-family: "Newsreader", Georgia, serif; font-size: 1.35rem; }
.principle-list span { color: #334f54; }
.signpost { display: grid; grid-template-columns: .85fr 1.15fr; gap: 10%; background: var(--cream); }
.signpost > div:last-child { align-self: end; }
.signpost > div:last-child p { margin-top: 0; color: var(--muted); font-size: 1.08rem; }

.page-hero {
  padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 12vw, 13rem);
  background: var(--cream);
}
.page-hero h1 { max-width: 980px; }
.page-hero h1 em { color: var(--terracotta); font-weight: 500; }
.page-hero > p:last-child { max-width: 780px; margin: 2rem 0 0; color: var(--muted); font-size: 1.15rem; }
.guide-directory { display: grid; grid-template-columns: .7fr 1.3fr; gap: 9%; }
.directory-intro { align-self: start; position: sticky; top: 2rem; }
.directory-intro > p:last-child { color: var(--muted); }
.big-checklist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.big-checklist li { display: grid; grid-template-columns: 60px 1fr; gap: 1rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.big-checklist li > span { color: var(--terracotta); font-family: "Newsreader", serif; font-size: 1.25rem; }
.big-checklist h3 { font-family: "Newsreader", Georgia, serif; font-size: 1.55rem; font-weight: 600; }
.big-checklist p { margin: .35rem 0 0; color: var(--muted); }
.guide-topics { background: var(--ink-deep); color: white; }
.guide-topics article { padding: clamp(4.5rem, 7vw, 7rem) clamp(1.5rem, 18vw, 19rem); border-bottom: 1px solid rgba(255,255,255,.15); }
.guide-topics article:nth-child(even) { background: rgba(255,255,255,.035); }
.guide-topics h2 { max-width: 900px; font-size: clamp(2.4rem, 4vw, 4.2rem); }
.guide-topics article > p:not(.guide-label) { max-width: 800px; color: #c7d6d4; font-size: 1.06rem; }
.guide-topics ul { max-width: 800px; margin: 1.7rem 0 0; padding-left: 1.25rem; color: #dbe5e3; }
.guide-topics li { margin: .45rem 0; }
.guide-topics .guide-label { color: #efc89d; }
.guide-topics .text-link { display: inline-block; margin-top: 1.3rem; color: #efc89d; }
.about-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10%; }
.about-grid > div:last-child { align-self: end; color: var(--muted); font-size: 1.08rem; }
.option-card.featured { background: var(--cream); }
.card-number { color: var(--muted); font-size: .73rem; font-weight: 700; letter-spacing: .12em; }
.option-icon {
  display: grid; place-items: center; width: 58px; height: 58px;
  margin: 2.4rem 0 1.8rem; border-radius: 50%; background: var(--ink); color: white;
}
.option-icon svg { width: 28px; }
.option-card h3 { font-family: "Newsreader", Georgia, serif; font-size: 1.85rem; font-weight: 600; }
.option-card > p { color: var(--muted); }
.option-card ul { list-style: none; padding: 0; margin: 1.8rem 0 0; border-top: 1px solid var(--line); }
.option-card li { padding: .55rem 0 .55rem 1.35rem; position: relative; font-size: .9rem; }
.option-card li:first-child { padding-top: 1.25rem; }
.option-card li::before { content: "✓"; position: absolute; left: 0; color: var(--terracotta); font-weight: 700; }
.card-link {
  display: inline-block; margin-top: 1.5rem; color: var(--terracotta-dark);
  font-size: .9rem; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .25em;
}
.card-link span { display: inline-block; margin-left: .2rem; transition: transform .2s; }
.card-link:hover span { transform: translateX(4px); }

.guide { display: grid; grid-template-columns: 1.45fr .55fr; color: white; background: var(--ink-deep); }
.guide-panel { padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 7vw, 8rem); }
.guide-panel h2 { max-width: 830px; }
.guide-lead { max-width: 670px; margin: 1.8rem 0 3.5rem; color: #b9ccca; font-size: 1.08rem; }
.steps { list-style: none; padding: 0; margin: 0; border-top: 1px solid rgba(255,255,255,.16); }
.steps li { display: grid; grid-template-columns: 55px 1fr; gap: 1.2rem; padding: 1.35rem 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.steps li > span { color: #efc89d; font-family: "Newsreader", serif; font-size: 1.3rem; }
.steps h3 { font-size: 1.05rem; }
.steps p { margin: .25rem 0 0; color: #b9ccca; font-size: .9rem; }
.guide-quote {
  display: flex; flex-direction: column; justify-content: center;
  padding: 4rem clamp(2rem, 4vw, 4rem); color: var(--ink); background: var(--gold);
}
.quote-mark { margin: 0 0 1rem; font-family: "Newsreader", serif; font-size: 6rem; line-height: .4; }
.guide-quote blockquote { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.08; }
.quote-rule { width: 50px; height: 2px; margin: 2rem 0 1rem; background: var(--ink); }
.guide-quote > p:last-child { margin: 0; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.checklist { display: grid; grid-template-columns: .82fr 1.18fr; gap: 10%; background: var(--cream); }
.checklist-copy p:not(.eyebrow) { max-width: 500px; color: var(--muted); }
.checklist-copy .text-link { display: inline-block; margin-top: 1rem; }
.checklist-list { border-top: 1px solid var(--line); }
.checklist-list > div { display: grid; grid-template-columns: 55px 1fr; gap: 1rem; align-items: center; min-height: 82px; border-bottom: 1px solid var(--line); }
.checklist-list span { color: var(--terracotta); font-family: "Newsreader", serif; }
.checklist-list p { margin: 0; font-size: 1.08rem; font-weight: 600; }

.faq { background: var(--paper); }
.faq-heading { grid-template-columns: 1fr; }
.accordion { max-width: 970px; margin-left: auto; border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary {
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
  min-height: 86px; padding: 1rem 0; cursor: pointer; list-style: none;
  font-family: "Newsreader", Georgia, serif; font-size: 1.45rem; font-weight: 600;
}
summary::-webkit-details-marker { display: none; }
summary span { color: var(--terracotta); font-family: "DM Sans", sans-serif; font-size: 1.7rem; font-weight: 400; transition: transform .2s; }
details[open] summary span { transform: rotate(45deg); }
details p { max-width: 760px; margin: -.4rem 0 1.7rem; color: var(--muted); }

.start {
  display: grid; grid-template-columns: 1fr .72fr auto; gap: 5%; align-items: center;
  margin: 0 clamp(1.5rem, 5vw, 5rem); padding: clamp(3.5rem, 6vw, 5.5rem);
  color: white; background: var(--terracotta);
}
.start p:not(.eyebrow) { margin: 0; color: #ffe9df; }
.start .eyebrow { color: #ffe0d0; }

footer {
  display: grid; grid-template-columns: 1fr 1fr auto; gap: 2rem; align-items: center;
  padding: 4rem clamp(1.5rem, 5vw, 5rem); color: #b9ccca; background: var(--ink-deep);
}
.footer-brand { color: white; }
footer p { margin: 0; font-size: .85rem; }
.copyright { text-align: right; }
.copyright a { color: white; text-underline-offset: .2em; }

.partners-hero {
  padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 12vw, 13rem);
  background: var(--cream);
}
.partners-hero h1 { max-width: 850px; }
.partners-hero > p:last-child {
  max-width: 720px; margin: 2rem 0 0; color: var(--muted);
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
}
.partners-section { display: grid; grid-template-columns: .55fr 1.45fr; gap: 8%; }
.partners-intro { align-self: start; position: sticky; top: 2rem; }
.partners-intro h2 { font-size: clamp(2.6rem, 4vw, 4rem); }
.partner-list { border-top: 1px solid var(--line); }
.partner-card {
  display: grid; grid-template-columns: 58px 1fr; gap: 1.4rem;
  padding: 2.8rem 0; border-bottom: 1px solid var(--line);
}
.partner-number { color: var(--terracotta); font-family: "Newsreader", serif; font-size: 1.25rem; }
.partner-type {
  margin: 0 0 .65rem; color: var(--muted); font-size: .74rem;
  font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.partner-card h3 { font-family: "Newsreader", Georgia, serif; font-size: clamp(2rem, 3vw, 3rem); font-weight: 600; }
.partner-card div > p:not(.partner-type) { max-width: 680px; margin: 1rem 0 1.4rem; color: var(--muted); }
.partner-link { font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .3em; }
.partner-link span { display: inline-block; margin-left: .25rem; transition: transform .2s; }
.partner-link:hover span { transform: translate(3px, -3px); }
.partner-note {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8%;
  padding: clamp(4.5rem, 7vw, 7rem) clamp(1.5rem, 7vw, 8rem);
  color: white; background: var(--ink);
}
.partner-note .eyebrow { grid-column: 1 / -1; margin-bottom: -1rem; }
.partner-note p:last-child { max-width: 520px; margin: .4rem 0 0; color: #b9ccca; font-size: 1.05rem; }

.watch-hero { background: var(--mist); }
.watch-feature { display: grid; grid-template-columns: 1.2fr .8fr; gap: 7%; align-items: center; background: var(--paper); }
.video-shell { position: relative; aspect-ratio: 16 / 9; overflow: hidden; color: white; background: var(--ink-deep); }
.video-shell > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) brightness(.66); }
.video-shell-overlay { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 1.2rem; padding: 2rem; text-align: center; }
.video-shell-overlay strong { font-family: "Newsreader", Georgia, serif; font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1; }
.video-shell-overlay small { color: #d5e1df; }
.watch-feature-copy > p:not(.eyebrow) { color: var(--muted); font-size: 1.06rem; }
.watch-feature-copy .text-link { display: inline-block; margin-top: 1rem; }
.series-section { background: var(--cream); }
.series-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.series-card { min-height: 300px; padding: 2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.series-card .guide-label { display: block; margin-bottom: 2.6rem; }
.series-card h3 { max-width: 430px; font-family: "Newsreader", Georgia, serif; font-size: clamp(2rem, 3vw, 3rem); font-weight: 600; }
.series-card p { max-width: 540px; color: var(--muted); }
.channel-band { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8%; color: white; background: var(--ink-deep); }
.channel-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.18); }
.channel-grid article { padding: 1.6rem 1.2rem 1.6rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.channel-grid h3 { font-family: "Newsreader", Georgia, serif; font-size: 1.55rem; }
.channel-grid p { margin-bottom: 0; color: #b9ccca; font-size: .9rem; }
.video-article { display: grid; grid-template-columns: 1.25fr .75fr; gap: 8%; }
.video-article-main h2 { max-width: 760px; margin-top: 3rem; }
.video-article-main > p { max-width: 760px; color: var(--muted); font-size: 1.08rem; }
.video-outline { align-self: start; padding: 2rem; background: var(--cream); }
.video-outline h3 { font-family: "Newsreader", Georgia, serif; font-size: 1.65rem; }
.video-outline ul { padding-left: 1.2rem; color: var(--muted); }
.video-outline li { margin: .55rem 0; }

.join-hero { background: var(--gold); }
.join-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 9%; }
.join-benefits { display: grid; gap: 1rem; }
.join-benefit { padding: 1.5rem 0; border-top: 1px solid var(--line); }
.join-benefit:last-child { border-bottom: 1px solid var(--line); }
.join-benefit h3 { font-family: "Newsreader", Georgia, serif; font-size: 1.65rem; }
.join-benefit p { max-width: 560px; margin: .45rem 0 0; color: var(--muted); }
.join-status { align-self: start; padding: clamp(2rem, 4vw, 3.5rem); color: white; background: var(--ink-deep); }
.join-status h2 { font-size: clamp(2.7rem, 4vw, 4.2rem); }
.join-status > p:not(.eyebrow) { color: #c7d6d4; }
.planned-profile { margin-top: 2rem; border-top: 1px solid rgba(255,255,255,.18); }
.planned-profile p { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: .9rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.planned-profile span { color: #b9ccca; font-size: .88rem; }
.data-promise { display: grid; grid-template-columns: .75fr 1.25fr; gap: 9%; background: var(--mist); }
.data-promise > div:last-child { align-self: end; }
.data-promise p { color: var(--muted); font-size: 1.05rem; }

.rental-hero { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 650px; background: var(--cream); }
.rental-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 7vw, 7rem) clamp(1.5rem, 7vw, 8rem); }
.rental-hero h1 { font-size: clamp(3.4rem, 5.5vw, 6.1rem); }
.rental-hero-copy > p:last-child { max-width: 650px; margin: 2rem 0 0; color: var(--muted); font-size: 1.15rem; }
.rental-hero > img { width: 100%; height: 100%; min-height: 650px; object-fit: cover; object-position: 52% center; }
.benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.benefit-grid article { min-height: 300px; padding: 2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.benefit-grid article:nth-child(3n) { border-right: 0; }
.benefit-grid article:nth-last-child(-n+3) { border-bottom: 0; }
.benefit-grid span { color: var(--terracotta); font-family: "Newsreader", serif; }
.benefit-grid h3 { margin-top: 2rem; font-family: "Newsreader", Georgia, serif; font-size: 1.7rem; }
.benefit-grid p { color: var(--muted); }
.rent-or-own { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 7vw, 8rem); color: white; background: var(--ink-deep); }
.comparison-copy { border-top: 1px solid rgba(255,255,255,.2); }
.comparison-copy p { margin: 0; padding: 1.3rem 0; color: #d4e1df; border-bottom: 1px solid rgba(255,255,255,.2); }
.comparison-copy .small-note { color: #9fb6b4; font-size: .88rem; }
.trusted-partner { display: grid; grid-template-columns: .45fr 1.55fr; gap: 8%; background: var(--cream); }
.partner-badge { align-self: start; display: inline-flex; justify-content: center; padding: .7rem 1rem; color: white; background: var(--terracotta); font-size: .76rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.trusted-partner-copy { max-width: 820px; }
.trusted-partner-copy > p:not(.eyebrow) { color: var(--muted); }
.trusted-partner-copy .button { margin-top: 1rem; }
.trusted-partner-copy .button span { margin-left: .45rem; }

:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }

@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-copy { min-height: 630px; }
  .hero-image-wrap { min-height: 540px; }
  .section-heading, .checklist { grid-template-columns: 1fr; }
  .section-heading { gap: 1.5rem; }
  .option-grid { grid-template-columns: 1fr; }
  .option-card { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .option-card:last-child { border-bottom: 0; }
  .guide { grid-template-columns: 1fr; }
  .guide-quote { min-height: 420px; }
  .checklist { gap: 3.5rem; }
  .start { grid-template-columns: 1fr; gap: 1.5rem; }
  .start .button { justify-self: start; }
  .partners-section, .partner-note { grid-template-columns: 1fr; }
  .partners-intro { position: static; }
  .partners-section { gap: 3.5rem; }
  .partner-note { gap: 1.5rem; }
  .rental-hero, .rent-or-own, .trusted-partner { grid-template-columns: 1fr; }
  .rental-hero > img { min-height: 500px; }
  .benefit-grid { grid-template-columns: 1fr 1fr; }
  .benefit-grid article, .benefit-grid article:nth-child(3n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .benefit-grid article:nth-child(2n) { border-right: 0; }
  .benefit-grid article:nth-last-child(-n+2) { border-bottom: 0; }
  .trusted-partner { gap: 3rem; }
  .topic-grid { grid-template-columns: 1fr 1fr; }
  .topic-card, .topic-card:nth-last-child(-n+2) { grid-column: auto; }
  .journey-grid { grid-template-columns: 1fr 1fr; }
  .guidance-finder { grid-template-columns: 1fr; gap: 3rem; }
  .editorial-feature, .principles, .signpost, .guide-directory, .about-grid { grid-template-columns: 1fr; }
  .editorial-feature, .principles, .signpost, .guide-directory, .about-grid { gap: 3.5rem; }
  .guide-card-grid { grid-template-columns: 1fr; }
  .guide-card { min-height: auto; }
  .directory-intro { position: static; }
  .watch-preview-grid, .watch-feature, .channel-band, .video-article, .membership-band, .join-grid, .data-promise { grid-template-columns: 1fr; }
  .watch-feature, .channel-band, .video-article, .membership-band, .join-grid, .data-promise { gap: 3.5rem; }
  footer { grid-template-columns: 1fr; }
  .copyright { text-align: left; }
}

@media (max-width: 760px) {
  .site-header { min-height: 72px; padding: 0 1.25rem; }
  .menu-button { display: block; }
  .site-nav {
    display: none; position: absolute; top: 72px; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0; padding: 1rem 1.25rem 1.5rem;
    background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 20px 30px rgba(18,52,59,.08);
  }
  .site-nav.open { display: flex; }
  .site-nav a { padding: .8rem 0; }
  .site-nav .nav-cta { margin-top: .5rem; padding: .75rem 1rem; text-align: center; }
  .hero-copy { min-height: auto; padding-top: 4.5rem; padding-bottom: 4.5rem; }
  h1 { font-size: clamp(3.35rem, 16vw, 5rem); }
  .trust-line { flex-direction: column; gap: .5rem; margin-top: 2.5rem; }
  .hero-image-wrap { min-height: 410px; }
  .image-note { max-width: calc(100% - 2rem); }
  .intro-band { grid-template-columns: 1fr; gap: .5rem; padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .section { padding-top: 4.5rem; padding-bottom: 4.5rem; }
  .option-card { padding: 1.6rem; }
  .guide-panel { padding-top: 4.5rem; padding-bottom: 4.5rem; }
  .guide-quote { min-height: 350px; }
  .accordion { margin-left: 0; }
  summary { min-height: 78px; font-size: 1.2rem; }
  .start { margin: 0; }
  .partner-card { grid-template-columns: 42px 1fr; gap: .8rem; padding: 2.2rem 0; }
  .rental-hero > img { min-height: 390px; }
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-grid article, .benefit-grid article:nth-child(2n), .benefit-grid article:nth-child(3n), .benefit-grid article:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .benefit-grid article:last-child { border-bottom: 0; }
  .topic-grid { grid-template-columns: 1fr; }
  .journey-grid { grid-template-columns: 1fr; }
  .journey-grid a { min-height: 190px; }
  .search-control { grid-template-columns: 1fr; gap: .6rem; }
  .topic-card { min-height: 270px; }
  .principle-list p { grid-template-columns: 1fr; gap: .5rem; }
  .guide-topics article { padding-top: 4.5rem; padding-bottom: 4.5rem; }
  .series-grid, .channel-grid { grid-template-columns: 1fr; }
  .video-card-featured { min-height: 380px; }
  .hero-video-copy { left: 1.4rem; bottom: 1.4rem; }
  .hero-video-copy .play-disc { width: 54px; height: 54px; }
  .membership-benefits { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,6vw,6rem);max-width:1200px;margin:auto}.enquiry-form{display:grid;gap:.65rem;background:var(--cream);padding:clamp(1.25rem,3vw,2.5rem);border:1px solid var(--line)}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;min-height:48px;padding:.75rem;border:1px solid var(--muted);background:var(--paper);color:var(--ink);font:inherit}.enquiry-form label{font-weight:600}.enquiry-form textarea{resize:vertical}.enquiry-form .privacy-check{display:flex;align-items:flex-start;gap:.75rem;font-weight:400;margin:.75rem 0}.privacy-check input{width:22px;min-height:22px;flex-shrink:0;margin-top:.3rem}.form-trap{position:absolute;left:-10000px;overflow:hidden;width:1px;height:1px}.enquiry-form button{font:inherit;cursor:pointer;background:var(--ink);color:white;border:0;padding:1rem}.enquiry-form button:disabled{opacity:.65;cursor:wait}.enquiry-form :focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}#enquiry-status{margin:0;overflow-wrap:anywhere}@media(max-width:720px){.contact-grid{grid-template-columns:1fr}}

/* Topic navigation and content hubs */
.site-nav{gap:clamp(.65rem,1.4vw,1.4rem)}.site-nav a{white-space:nowrap}.site-nav a[aria-current="page"]{color:var(--terracotta);text-decoration:underline;text-underline-offset:.4rem}.topic-jump{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;font-size:1rem}.topic-subtopics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.topic-subtopics span{padding:1.5rem;border-bottom:1px solid var(--line);font-weight:600}.small-note{font-size:.9rem;color:var(--muted)}
@media(min-width:761px) and (max-width:1280px){.site-header{min-height:84px}.menu-button{display:block}.site-nav{display:none;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:1rem 2rem;background:var(--paper);border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.site-nav a{padding:.65rem 0}}
@media(max-width:760px){.topic-subtopics{grid-template-columns:1fr}}

/* YouTube click-to-load players */
.film-section{scroll-margin-top:2rem}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.film-card{border:1px solid var(--line);background:var(--paper);min-width:0;scroll-margin-top:2rem}.youtube-player{aspect-ratio:16/9;position:relative;background:var(--ink-deep);overflow:hidden}.youtube-load{display:block;position:relative;border:0;padding:0;width:100%;height:100%;background:var(--ink-deep);color:white;cursor:pointer;font:inherit}.youtube-load img{width:100%;height:100%;object-fit:cover}.youtube-load:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.7))}.youtube-play{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--terracotta);font-size:1.5rem}.youtube-play-label{position:absolute;z-index:1;bottom:.75rem;left:1rem;font-weight:600}.youtube-load:hover .youtube-play{background:var(--terracotta-dark)}.youtube-load:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}.youtube-player iframe{display:block;width:100%;height:100%;border:0}.film-copy{padding:1.4rem}.film-copy h3{font-size:1.55rem;line-height:1.25;margin:0 0 1rem}.film-copy .text-link{font-size:.9rem}.film-grid:has(>.film-card:only-child){grid-template-columns:minmax(0,800px)}
@media(max-width:1100px){.film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.film-grid{grid-template-columns:1fr}}

.channel-uploads{background:var(--mist)}.channel-player{max-width:1000px;margin:0 auto}.channel-load{background:linear-gradient(130deg,var(--ink-deep),var(--ink));min-height:200px}.channel-player-heading{position:absolute;top:15%;left:0;right:0;text-align:center;font-family:"Newsreader",Georgia,serif;font-size:clamp(1.6rem,4vw,3rem)}.channel-load .youtube-play-label{left:0;right:0;text-align:center;bottom:12%}

/* Muted homepage introduction loop; YouTube controls remain available. */
.hero-loop{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--ink-deep);color:var(--paper)}.hero-loop-player{display:block;width:100%;flex:1;min-height:300px;border:0}.hero-loop-caption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:1rem 1.5rem;font-size:.85rem}.hero-loop-caption span{font-weight:600}.hero-loop-caption a{color:var(--cream);text-underline-offset:.25em}@media(max-width:760px){.hero-loop-caption{padding:.8rem 1rem}}
