:root {
  --ink: #18392f; --rust: #234a36; --rust-dark: #163625;
  --petrol: #18392f; --muted: #344c40; --line: #aaa78e;
  --tan: #ad7b36; --paper: #f5eddd;
}
.stamp-home h1, .stamp-home h2, .stamp-home h3, .stamp-home .brand-name, .stamp-home .footer-name { font-weight: 700; }
.site-header::after, .hero::after { content: ''; display: block; width: min(100% - 7rem, 1250px); height: 1px; margin-inline: auto; background: #607451; }
.hero-inner { min-height: 520px; padding-block: 62px 74px; align-items: flex-start; }
.hero-copy { width: 49%; }
.hero h1 { font-size: clamp(3rem, 4.8vw, 4.6rem); line-height: 1.06; letter-spacing: -.045em; }
.hero-copy > p { max-width: 460px; font-size: 1.25rem; line-height: 1.5; }
.hero-image { top: 14px; bottom: 20px; right: max(2rem, calc((100% - 1250px) / 2)); width: 49%; }
.hero-image img { object-position: center; }
.button { border-radius: 2px; font-family: var(--font-heading); font-size: 1.075rem; font-weight: 700; }
.button-primary { background: var(--rust) url('images/collage/paper-grain.webp') repeat; background-blend-mode: multiply; }
.button-outline { border-color: #52664a; background: transparent; }
.guidance-preview { padding-block: 32px 38px; }
.section-heading h2 { font-size: clamp(2rem, 3.05vw, 2.8rem); }
.topic-art { width: 90px; height: 120px; background-image: url('images/stamp/topic-stamps.webp'); clip-path: none; }
.topic { padding-inline: 23px; }
.topic + .topic { border-color: #c1ad85; }
.topic h3 { font-size: 1.5rem; }
.topic p { font-size: 1rem; }
.guidance-more { text-align: left; margin-top: 25px; }
.guidance-more .text-link { color: var(--ink); text-decoration-color: var(--tan); }
.hosts-section { padding-block: 0 48px; }
.hosts-section > .wrap { border-top: 1px solid #c1ad85; padding-top: 32px; }
.hosts-portraits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; max-width: 560px; margin: 28px 0 22px; }
.host-portrait { margin: 0; min-width: 0; }
.host-portrait img { width: 100%; aspect-ratio: 4 / 5; height: auto; object-fit: cover; object-position: center top; border-radius: 8px; }
.host-portrait figcaption { margin-top: 10px; font-family: var(--font-heading); font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
.host-portrait a, .host-video h3 a { color: var(--ink); }
.host-portrait a:hover, .host-video h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.hosts-intro { max-width: 78ch; font-size: 1.1rem; line-height: 1.7; }
.hosts-videos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin-top: 28px; }
.host-video { min-width: 0; }
.video-player { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: var(--ink); }
.video-poster { display: block; height: 100%; position: relative; }
.video-poster img { width: 100%; height: 100%; object-fit: cover; }
.video-poster:focus-visible { outline-offset: -5px; outline-color: #fffaf0; }
.video-play { position: absolute; right: 16px; bottom: 16px; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #18392fe6; color: #fffaf0; }
.video-poster:hover .video-play { background: var(--rust-dark); }
.host-video h3 { margin-top: 14px; font-size: 1.5rem; line-height: 1.25; letter-spacing: -.02em; }
.membership-banner { width: min(100% - 3rem, 1300px); margin: 0 auto 48px; background: #ecd7af url('images/collage/paper-grain.webp') repeat; background-blend-mode: multiply; color: var(--ink); border-radius: 3px; }
.membership-banner::before, .membership-banner::after, .site-footer::before { display: none; }
.membership-inner { min-height: 240px; padding-block: 30px; }
.membership-copy { width: 70%; }
.membership-copy h2 { font-size: clamp(2rem, 3.1vw, 3rem); }
.membership-copy > p { font-size: 1.1rem; }
.membership-copy .coming-soon { display: inline-block; background: #a97834 url('images/collage/paper-grain.webp'); background-blend-mode: multiply; color: #fffaf0; margin-right: 15px; padding: 10px 18px; transform: none; border-radius: 2px; }
.membership-copy .button { background: #fffaf044; border: 1px solid #52664a; color: var(--ink); padding: 9px 18px; }
.membership-copy .button:hover { background: var(--ink); color: #fffaf0; }
.membership-image { top: 22px; bottom: 22px; right: 3%; width: 28%; }
.stay-connected { padding-block: 42px 54px; }
.connect-grid { gap: 65px; }
.connect-grid h2 { font-size: clamp(2rem, 3vw, 2.7rem); }
.contact-section::before { left: -32px; }
.site-form .button { font-size: 1.075rem; }
.site-form input, .site-form textarea { background: #fffaf033; border-color: #b0ad98; }
.site-footer { background: transparent; color: var(--ink); }
.footer-row { border-top: 1px solid #607451; padding-block: 25px; min-height: 110px; gap: 32px; }
.footer-name, .footer-domain, .footer-row nav a, .footer-row a:hover { color: var(--ink); }
.site-footer :focus-visible, .membership-banner :focus-visible { outline-color: var(--rust); }
@media (max-width: 1180px) {
  .site-header::after, .hero::after { width: calc(100% - 5rem); }
  .hero-inner { min-height: 470px; padding-block: 48px 56px; }
  .hero h1 { font-size: 4.9vw; }
  .hero-copy > p { font-size: 1.15rem; }
  .membership-copy { width: 70%; }
}
@media (max-width: 960px) {
  .hero-inner { min-height: 420px; }
  .hero-copy > p { font-size: 1rem; }
  .hero-image { right: 1rem; width: 49%; }
  .membership-copy { width: 69%; }
  .membership-copy h2 { font-size: 2.1rem; }
  .membership-image { width: 27%; }
  .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px; }
  .topic:nth-child(3) { border-left: 0; }
}
@media (max-width: 360px) {
  .brand-name { font-size: .95rem; }
}
@media (max-width: 760px) {
  .site-header::after, .hero::after { width: calc(100% - 3rem); }
  .hero-inner { min-height: auto; padding-block: 35px 10px; }
  .hero-copy { width: 100%; }
  .hero h1 { font-size: clamp(2.65rem, 7.8vw, 3.7rem); }
  .hero-copy > p { font-size: 1.1rem; }
  .hero-image { top: auto; right: auto; bottom: auto; width: min(100% - 2rem, 580px); margin: 0 auto; padding-bottom: 20px; }
  .guidance-preview { padding-block: 30px 35px; }
  .topic { padding-inline: 12px; }
  .hosts-section { padding-bottom: 36px; }
  .hosts-section > .wrap { padding-top: 28px; }
  .hosts-portraits { gap: 18px; margin-top: 22px; }
  .host-portrait figcaption { font-size: 1.1rem; }
  .hosts-intro { font-size: 1rem; }
  .hosts-videos { grid-template-columns: minmax(0, 1fr); gap: 26px; margin-top: 24px; }
  .membership-banner { width: calc(100% - 2rem); }
  .membership-inner { min-height: auto; padding-block: 28px 5px; }
  .membership-inner.wrap { width: calc(100% - 2rem); }
  .membership-copy { width: 100%; }
  .membership-copy h2 { font-size: 2.05rem; }
  .membership-copy .coming-soon { margin-right: 8px; }
  .membership-image { top: auto; right: auto; bottom: auto; width: min(68%, 310px); margin: 0 5% 0 auto; }
  .stay-connected { padding-block: 35px 40px; }
  .connect-grid { gap: 35px; }
  .connect-grid h2 { font-size: 2.2rem; }
  .footer-row { padding-block: 24px; }
}
@media (max-width: 400px) {
  .site-header::after, .hero::after { width: calc(100% - 2.5rem); }
  .hero h1 { font-size: 2.6rem; }
  .topic h3 { font-size: 1.2rem; }
  .topic p { font-size: .9rem; }
  .topic-art { width: 75px; height: 100px; }
}
