@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#17221f;--muted:#60706b;--paper:#eef3ef;--band:#e1ebe6;--line:rgba(23,34,31,.12);--accent:#31584d;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(238,243,239,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;width:max-content;font-family:Manrope,sans-serif;font-size:17px;letter-spacing:-.03em}.brand-mark{width:25px;height:25px;object-fit:contain;flex:none}.brand-words>span{font-weight:700}.brand-words i{font-style:normal;font-size:.78em;color:var(--muted);font-weight:400}.navlinks{display:flex;gap:30px;justify-content:center;font-size:14px}.navlinks a,.rightlinks a{transition:opacity .2s ease}.navlinks a:hover,.rightlinks a:hover{opacity:.55}.rightlinks{display:flex;justify-content:flex-end;align-items:center;gap:19px;font-size:14px}.social-icon{width:20px;height:20px;display:grid;place-items:center}.social-icon svg{width:18px;height:18px;fill:currentColor}.support{font-weight:600;margin-left:4px}.menu{display:none;border:0;background:none;font:inherit}
.hero{padding:clamp(45px,7vw,82px) 0 0;text-align:center}.hero-intro{display:flex;flex-direction:column;align-items:center}.hero-mark{width:38px;height:38px;object-fit:contain;margin-bottom:16px}.hero-name{font-family:Manrope,sans-serif;font-size:clamp(3rem,7vw,5.4rem);line-height:.95;letter-spacing:-.055em;margin:0;font-weight:700}.hero-title{margin:13px 0 0;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:500;color:var(--muted)}.hero-media{width:min(100%,var(--max));aspect-ratio:16/9;margin:42px auto 0;background-size:cover;background-position:center}
.home-section{padding:clamp(72px,9vw,120px) 0}.section-a{background:var(--paper)}.section-b{background:var(--band)}.section-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:600;margin-bottom:12px}.home-section h2{font-family:Manrope,sans-serif;font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.045em;line-height:1.05;margin:0 0 22px}.home-section p{max-width:760px;font-size:clamp(1.05rem,1.5vw,1.25rem);color:#3d4c48;margin:0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.muted{color:var(--muted)}.films{display:grid;grid-template-columns:1.35fr .9fr;gap:22px}.film-card{display:block}.film-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.film-info{padding-top:14px}.film-title{font-family:Manrope,sans-serif;font-weight:600;font-size:1.1rem;line-height:1.3}.watch{font-size:13px;color:var(--muted);margin-top:7px}.film-side{display:grid;gap:22px}.film-card.small img{aspect-ratio:16/9}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.story-copy{max-width:650px}.story-copy p{margin:0 0 18px}.watch-link,.support-link{display:inline-block;margin-top:12px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:3px}.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ig-tile{aspect-ratio:4/5;overflow:hidden;background:#d7e1dc}.ig-tile img{width:100%;height:100%;object-fit:cover}.button{display:inline-block;margin-top:24px;padding:12px 18px;background:var(--ink);color:#fff;border-radius:999px;font-size:14px;font-weight:600}
.page-hero{padding:72px 0 50px}.page-hero h1{font-family:Manrope,sans-serif;font-size:clamp(2.8rem,6vw,5rem);letter-spacing:-.055em;line-height:1;margin:0}.film-list{padding-bottom:100px}.film-row{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,5vw,72px);align-items:center;padding:60px 0;border-top:1px solid var(--line)}.film-row:nth-child(even) .film-thumb{order:2}.film-row:nth-child(even) .film-details{order:1}.film-thumb{width:100%;aspect-ratio:16/9;overflow:hidden}.film-thumb img{width:100%;height:100%;object-fit:cover}.film-details h2{font-family:Manrope,sans-serif;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.04em;line-height:1.08;margin:0 0 18px}.film-details p{color:var(--muted);max-width:540px}
.story-hero{padding-bottom:35px}.story-page-title{font-size:clamp(3rem,5vw,4.6rem)!important}.story-photo{background:#d7e1dc;aspect-ratio:16/9;overflow:hidden}.story-photo.portrait{aspect-ratio:4/5}.story-photo.placeholder{display:grid;place-items:center;color:#60706b;font-size:13px;text-align:center;padding:20px}.story-section{padding:clamp(60px,7vw,95px) 0}.story-band{background:var(--band)}.story-row{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,5vw,68px);align-items:center}.story-row.reverse .story-photo{order:2}.story-row.reverse .story-copy{order:1}.story-row .story-copy p{font-size:clamp(1.08rem,1.55vw,1.28rem)}.today{padding:70px 0 34px;background:var(--paper)}.today .wrap{max-width:780px}.today-label{font-family:Manrope,sans-serif;font-size:clamp(1.6rem,2.5vw,2.1rem);font-weight:600;line-height:1.1;margin-bottom:12px}.today-copy{font-size:clamp(1.25rem,2vw,1.6rem);margin:0;color:#3d4c48}.mission-section{padding:70px 0 90px;background:var(--band);text-align:center}.mission-section p{max-width:760px;margin:0 auto;font-family:Manrope,sans-serif;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.03em}.cta{padding:80px 0;background:var(--paper)}.cta p{font-size:1.2rem;max-width:700px}.cta-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:18px}.cta-links a{font-weight:600}
.connect-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:80px}.contact-card{padding:28px 0;border-top:1px solid var(--line)}.email{font-family:Manrope,sans-serif;font-size:1.7rem}.socials{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px;font-weight:600}.connect-grid h3{font-family:Manrope,sans-serif;font-size:2rem;margin:0 0 12px}.story-band#support{padding:80px 0}.support-copy{max-width:700px}.support-link{margin-top:20px}
footer{border-top:1px solid var(--line);padding:28px 0;background:var(--paper);font-size:13px;color:var(--muted)}.footer-row{display:flex;justify-content:space-between;gap:25px}.footer-links{display:flex;gap:18px}
@media(max-width:800px){.nav{grid-template-columns:1fr auto}.navlinks,.rightlinks{display:none}.menu{display:block}.hero-name{font-size:3.2rem}.films{grid-template-columns:1fr}.film-side{grid-template-columns:1fr 1fr}.story-grid,.story-row,.connect-grid{grid-template-columns:1fr;gap:28px}.film-row{grid-template-columns:1fr;gap:28px;padding:45px 0}.film-row:nth-child(even) .film-thumb,.film-row:nth-child(even) .film-details{order:initial}.ig-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:start;flex-direction:column}.page-hero{padding:55px 0 35px}.footer-row{flex-direction:column}.story-row.reverse .story-photo,.story-row.reverse .story-copy{order:initial}}
@media(max-width:500px){.wrap{width:min(calc(100% - 30px),var(--max))}.hero{padding-top:38px}.hero-media{margin-top:30px}.film-side{grid-template-columns:1fr}.home-section{padding:60px 0}.story-section{padding:52px 0}}
.films-intro{max-width:650px;font-family:Manrope,sans-serif;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.18;letter-spacing:-.03em;color:var(--ink);margin:0}

/* Final visual refinements */
.navlinks a { font-weight: 600; }
.support { font-weight: 400; }
.hero-name { font-size: clamp(1.9rem, 3.5vw, 3.15rem) !important; }
.hero-title { font-size: clamp(.9rem, 1.35vw, 1.08rem) !important; letter-spacing: .01em; }
.hero-title span { margin: 0 .45em; color: var(--muted); }
.hero-media { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.home-main .section-a { background: var(--paper); }
.home-main .section-b { background: var(--band); }
.home-main .section-c { background: #dce8e2; }
.home-follow { margin-top: 20px !important; }
.home-manifesto { margin-top: 30px !important; font-family: Manrope, sans-serif; font-size: clamp(1.35rem, 2.5vw, 2.1rem) !important; line-height: 1.2; letter-spacing: -.025em; color: var(--ink) !important; }
.story-opening { margin-top: 20px !important; }
.story-section.story-light { background: var(--paper); }
.story-section.story-band { background: var(--band); }
.story-section { padding-top: clamp(52px, 6vw, 78px); padding-bottom: clamp(52px, 6vw, 78px); }
.today-band { background: #dce8e2 !important; padding: 70px 0 !important; }
.mission-section { background: var(--band) !important; }
footer { background: #d7e3dd; }
@media (max-width: 800px) { .hero-media { width: 100vw; } }

/* Final refinement */
.hero-name { font-size: clamp(2.35rem, 4.2vw, 3.8rem) !important; }
.hero-title { font-size: clamp(.9rem, 1.2vw, 1.05rem) !important; }
.support { font-weight: 400 !important; }
.hero-media { width: 100vw !important; max-width: none !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; border-radius: 0 !important; }
.freedom-divider { display:flex; align-items:center; gap:18px; width:100%; padding:30px 0; font-family:Manrope,sans-serif; font-size:clamp(.85rem,1.3vw,1.05rem); letter-spacing:.18em; font-weight:600; }
.freedom-divider .rule { height:1px; background:rgba(34,47,43,.25); flex:1; }
.freedom-divider .divider { letter-spacing:0; opacity:.45; }
.today-band { background:var(--band) !important; }
.today-label { font-size:clamp(1.7rem,2.7vw,2.25rem) !important; }
.story-section .story-grid { gap:clamp(2rem,3.2vw,3.5rem) !important; }
.film-list .film-row { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:clamp(28px,5vw,72px); align-items:center; }
.film-list .film-row:nth-child(even) .film-thumb { order:2; }
.film-list .film-row:nth-child(even) .film-details { order:1; }
.film-list .film-thumb img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
@media(max-width:760px){.film-list .film-row{display:flex;flex-direction:column;gap:22px}.film-list .film-row:nth-child(even) .film-thumb,.film-list .film-row:nth-child(even) .film-details{order:initial}.freedom-divider{gap:10px}}


/* Requested layout corrections */
.hero-media {
  position: relative;
  width: 100vw !important;
  max-width: none !important;
  left: 50%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(-50%);
  border-radius: 0 !important;
}
.story-opening p {
  font-size: clamp(1.08rem, 1.55vw, 1.28rem) !important;
}
.story-row.reverse .story-photo { order: 2; }
.story-row.reverse .story-copy { order: 1; }
.mission-band {
  background: var(--band);
  padding: 0 0 90px;
}
.mission-band .freedom-divider {
  padding: 30px 0 42px;
}
.mission-section {
  padding: 0;
  background: transparent !important;
}
.cta p {
  font-size: clamp(1.35rem, 2.2vw, 1.75rem) !important;
  line-height: 1.35;
  color: var(--ink);
}
.film-list .film-row {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
}
.film-list .film-row:nth-child(even) {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
}
@media(max-width:760px){
  .film-list .film-row,
  .film-list .film-row:nth-child(even) {
    grid-template-columns: 1fr;
  }
}

@media(min-width:761px){
  .mission-band .freedom-divider{
    width:100vw;
    margin-left:calc(50% - 50vw);
  }
}

/* Local photo slots: add the named files to /images to replace the guide placeholders. */
.hero-media.photo-slot { background-color: #d7e1dc; background-position: center; background-size: cover; }
.story-photo.placeholder { position: relative; }
.story-photo.placeholder img { display:block; width:100%; height:100%; object-fit:cover; }
.story-photo.placeholder span { position:absolute; inset:0; display:grid; place-items:center; padding:20px; }
.email a { color:inherit; text-decoration:none; }
.email a:hover { text-decoration:underline; text-underline-offset:5px; }

/* Homepage film cards: use the real YouTube thumbnails in consistent 16:9 frames. */
.home-main .film-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
}
.home-main .film-card { min-width: 0; }
.home-main .film-card img { background: #d7e1dc; }

/* Films page channel CTA */
.films-hero-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.channel-link{display:inline-block;white-space:nowrap;font-weight:600;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:5px;margin-bottom:5px}
.story-photo.portrait-camper{aspect-ratio:2/3}
@media(max-width:800px){.films-hero-inner{align-items:flex-start;flex-direction:column;gap:22px}.channel-link{margin-bottom:0}}


/* Camper chapter: a deliberate portrait feature, not another alternating row. */
.camper-feature {
  padding: clamp(72px, 9vw, 112px) 0 clamp(78px, 10vw, 124px);
  background: #dce8e2;
  text-align: center;
}
.camper-feature-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.camper-feature .section-kicker { margin-bottom: 10px; }
.camper-feature h2 {
  margin: 0 0 clamp(28px, 4vw, 42px);
  font-family: Manrope, sans-serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.08;
  letter-spacing: -.045em;
  font-weight: 600;
}
.story-photo.portrait-camper {
  width: min(100%, 560px);
  aspect-ratio: 3 / 4 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 auto;
}
.camper-feature > .wrap > .story-photo img,
.camper-feature .story-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.camper-feature .story-photo span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  color: var(--muted);
}
.camper-feature > .wrap > p,
.camper-feature-inner > p {
  max-width: 650px;
  margin: 26px auto 0;
  font-size: clamp(1.08rem, 1.55vw, 1.28rem);
  line-height: 1.65;
  color: #3d4c48;
}

/* Real photographs sit edge-to-edge in their frames, without the old green inset. */
.story-photo { background: transparent !important; }
.story-photo.placeholder {
  display: block;
  padding: 0 !important;
  background: transparent !important;
}
.story-photo.placeholder img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.story-photo.placeholder span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: transparent;
}
@media (max-width: 800px) {
  .camper-feature { padding: 64px 0 76px; }
  .story-photo.portrait-camper { width: min(100%, 520px); }
}


/* Canada photograph: preserve its native 3:2 composition instead of cropping it into 16:9. */
.story-photo.canada-photo { aspect-ratio: 3 / 2 !important; }
.story-photo.canada-photo img { object-fit: contain; }

/* Keep the principal story copy consistently dark and readable. */
.camper-feature > .wrap > p,
.camper-feature-inner > p,
.today-copy { color: var(--ink) !important; }

/* Version 15: homepage wording, editorial manifesto, section rhythm, and compass-mountain-road logo */
.home-manifesto-section{background:var(--paper);padding:clamp(42px,6vw,78px) 0;}
.home-manifesto{display:flex;align-items:center;gap:clamp(14px,2.4vw,30px);width:100%;margin:0;font-family:Manrope,sans-serif;font-size:clamp(1.2rem,2.15vw,1.85rem);line-height:1.2;letter-spacing:-.025em;color:var(--ink);}
.manifesto-rule{height:1px;background:rgba(23,34,31,.32);flex:1;min-width:12px;}
.manifesto-text{white-space:normal;text-align:center;}
.home-section-subtitle{margin-top:-8px!important;font-family:Manrope,sans-serif;font-size:clamp(1.25rem,2vw,1.75rem)!important;color:var(--ink)!important;}
.home-section .section-head{align-items:center;}
.home-section .section-head .muted{font-weight:600;border-bottom:1px solid currentColor;padding-bottom:4px;white-space:nowrap;}
.home-section .story-grid h2{max-width:440px;}
.home-section .story-copy .watch-link{margin-top:16px;}
.film-list{padding-bottom:0;}
.film-row{border:0;padding:clamp(44px,6vw,78px) 0;margin:0;}
.film-row.film-band{background:var(--band);}
.film-row.film-light{background:var(--paper);}
.film-row-inner{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,5vw,72px);align-items:center;}
.film-row:nth-child(even) .film-thumb{order:2;}
.film-row:nth-child(even) .film-details{order:1;}
@media(max-width:760px){.film-row-inner{display:flex;flex-direction:column;gap:22px}.film-row:nth-child(even) .film-thumb,.film-row:nth-child(even) .film-details{order:initial}.home-manifesto{gap:12px;font-size:clamp(1rem,4vw,1.35rem)}}


/* Version 16: deliberate background rhythm and restored film composition */
.home-hero { background:var(--band); padding-top:clamp(42px,6vw,72px); }
.home-hero .hero-intro { background:var(--band); }
.home-hero .hero-media { margin-top:38px; }
.home-intro-section { background:var(--band) !important; }
.home-manifesto-section { background:var(--paper) !important; }
.home-section.section-b { background:var(--band) !important; }
.home-section.section-a:not(.home-intro-section) { background:var(--paper) !important; }
.home-section.section-c { background:var(--band) !important; }

/* About page alternates every chapter, including the closing sections. */
.story-hero { background:var(--paper); }
.story-section.story-band { background:var(--band) !important; }
.story-section.story-light { background:var(--paper) !important; }
.camper-feature.story-light { background:var(--paper) !important; }
.today-band { background:var(--band) !important; }
.mission-band.story-light { background:var(--paper) !important; }
.cta.story-band { background:var(--band) !important; }

/* Films: the inner wrap owns the two-column grid. Keep image and copy balanced. */
.film-list .film-row { display:block !important; padding:0 !important; border:0 !important; }
.film-list .film-row-inner { display:grid !important; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important; gap:clamp(30px,5vw,68px) !important; align-items:center !important; width:min(calc(100% - 48px),var(--max)); margin:0 auto; padding:clamp(52px,7vw,88px) 0; }
.film-list .film-row:nth-child(even) .film-thumb { order:2; }
.film-list .film-row:nth-child(even) .film-details { order:1; }
.film-list .film-row:nth-child(odd) .film-thumb { order:1; }
.film-list .film-row:nth-child(odd) .film-details { order:2; }
.film-list .film-row.film-band { background:var(--band) !important; }
.film-list .film-row.film-light { background:var(--paper) !important; }
.film-list .film-thumb { display:block; width:100%; aspect-ratio:16/9; overflow:hidden; }
.film-list .film-thumb img { display:block; width:100%; height:100%; aspect-ratio:16/9; object-fit:cover; }
@media(max-width:760px){
 .film-list .film-row-inner { display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:22px !important; width:min(calc(100% - 30px),var(--max)); padding:46px 0; }
 .film-list .film-row:nth-child(even) .film-thumb,.film-list .film-row:nth-child(even) .film-details { order:initial; }
}

/* Homepage alternation: hero, intro, manifesto, films, story, Instagram, connect. */
.home-hero { background:var(--paper) !important; }
.home-intro-section { background:var(--band) !important; }
.home-manifesto-section { background:var(--paper) !important; }
.films-home-section { background:var(--band) !important; }
.story-home-section { background:var(--paper) !important; }
.instagram-home-section { background:var(--band) !important; }
.home-section.section-c { background:var(--paper) !important; }


/* Version 17: full-width alternating section bands and refreshed compass mark. */
/* Homepage rhythm: header (paper), title/logo band, photo, then alternating content sections. */
.home-hero { background: transparent !important; padding-top: 0 !important; }
.home-hero .hero-intro {
  width: 100%; max-width: none; margin: 0;
  padding: clamp(42px, 6vw, 72px) 24px clamp(30px, 4vw, 46px);
  background: var(--band) !important; text-align: center;
}
.home-hero .hero-media { margin-top: 0 !important; }
.home-intro-section { background: var(--paper) !important; }
.home-manifesto-section { background: var(--band) !important; }
.films-home-section { background: var(--paper) !important; }
.story-home-section { background: var(--band) !important; }
.instagram-home-section { background: var(--paper) !important; }
.home-section.section-c { background: var(--band) !important; }
.home-manifesto-section { padding-top: clamp(54px, 7vw, 86px); padding-bottom: clamp(54px, 7vw, 86px); }

/* Connect page: hero remains paper; contact content and support alternate full-width. */
.connect-hero { background: var(--paper) !important; }
.connect-content { background: var(--band) !important; padding: clamp(50px, 6vw, 78px) 0 0; }
.connect-content .connect-grid { padding-bottom: clamp(64px, 8vw, 96px); }
.connect-support { background: var(--paper) !important; padding: clamp(64px, 8vw, 96px) 0; }

/* Keep footer restrained and consistent across every page. */
footer { background: var(--band) !important; }
.footer-brand { color: var(--ink); font-weight: 600; letter-spacing: .01em; }

/* Logo should remain crisp in the header and hero. */
.brand-mark { width: 29px; height: 29px; }
.hero-mark { width: clamp(54px, 6vw, 72px); height: auto; }

@media(max-width:760px) {
  .home-hero .hero-intro { padding: 36px 18px 28px; }
  .connect-content .connect-grid { padding-bottom: 58px; }
}

/* Version 18: page-level section rhythm, footer wording, story image, and revised compass favicon. */
/* Homepage: title band is full width; all subsequent sections alternate. */
.home-hero { background:transparent !important; padding-top:0 !important; }
.home-hero .hero-intro { width:100%; max-width:none; margin:0; padding:clamp(42px,6vw,72px) 24px clamp(30px,4vw,46px); background:var(--band) !important; text-align:center; }
.home-hero .hero-media { margin-top:0 !important; }
.home-intro-section { background:var(--paper) !important; }
.home-manifesto-section { background:var(--band) !important; }
.films-home-section { background:var(--paper) !important; }
.story-home-section { background:var(--band) !important; }
.instagram-home-section { background:var(--paper) !important; }
.home-section.section-c { background:var(--band) !important; }
.home-story-photo { margin-top:28px; width:100%; max-width:440px; aspect-ratio:4/5; overflow:hidden; background:#d7e1dc; }
.home-story-photo img { display:block; width:100%; height:100%; object-fit:cover; }

/* Films: colored introduction first, then white / green / white film rows. */
.films-hero { background:var(--band) !important; padding:clamp(58px,7vw,88px) 0 !important; }
.film-list .film-row:nth-child(1) { background:var(--paper) !important; }
.film-list .film-row:nth-child(2) { background:var(--band) !important; }
.film-list .film-row:nth-child(3) { background:var(--paper) !important; }

/* Connect: colored page title, then paper contact section, then colored support section. */
.connect-hero { background:var(--band) !important; padding:clamp(58px,7vw,88px) 0 !important; }
.connect-content { background:var(--paper) !important; }
.connect-support { background:var(--band) !important; }

/* Standard copyright footer on every page. */
.footer-brand { font-weight:500 !important; }

/* Version 19: deliberate page-section backgrounds and story photo guidance */
.story-hero { background:var(--band) !important; }
.films-hero { background:var(--band) !important; }
.film-list .film-row:nth-child(1) { background:var(--paper) !important; }
.film-list .film-row:nth-child(2) { background:var(--band) !important; }
.film-list .film-row:nth-child(3) { background:var(--paper) !important; }

/* Version 23: tighter page rhythm and circular homepage story portrait. */
/* Keep the existing paper and green bands; reduce only excess vertical padding. */
.home-section { padding-top: clamp(52px, 6.5vw, 88px); padding-bottom: clamp(52px, 6.5vw, 88px); }
.home-manifesto-section { padding-top: clamp(42px, 5.2vw, 68px) !important; padding-bottom: clamp(42px, 5.2vw, 68px) !important; }
.story-section { padding-top: clamp(42px, 5vw, 66px) !important; padding-bottom: clamp(42px, 5vw, 66px) !important; }
.page-hero { padding-top: clamp(48px, 5.5vw, 66px); padding-bottom: clamp(34px, 4vw, 44px); }
.story-hero { padding-bottom: clamp(26px, 3vw, 34px) !important; }
.today-band { padding: 54px 0 !important; }
.mission-section { padding: 54px 0 66px !important; }
.cta { padding: 60px 0 !important; }
.film-list .film-row-inner { padding-top: clamp(42px, 5vw, 66px); padding-bottom: clamp(42px, 5vw, 66px); }
.films-hero, .connect-hero { padding-top: clamp(46px, 5.5vw, 68px) !important; padding-bottom: clamp(42px, 5vw, 62px) !important; }
.connect-content { padding-top: clamp(38px, 4.5vw, 58px) !important; }
.connect-content .connect-grid { padding-bottom: clamp(48px, 6vw, 70px) !important; }
.connect-support { padding-top: clamp(48px, 6vw, 70px) !important; padding-bottom: clamp(48px, 6vw, 70px) !important; }

/* A true circular crop, with the story copy centered against the heading + image. */
.home-main .story-home-section .story-grid { align-items: center !important; gap: clamp(38px, 5vw, 64px) !important; }
.home-story-photo {
  width: min(100%, 340px) !important;
  max-width: 340px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  margin: 26px auto 0 !important;
}
.home-story-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.home-main .story-home-section .story-copy { align-self: center !important; }
.home-main .story-home-section .story-copy p { margin-bottom: 16px; }

@media (max-width: 800px) {
  .home-main .story-home-section .story-grid { align-items: center !important; }
  .home-story-photo { width: min(76vw, 320px) !important; margin-top: 22px !important; }
  .home-main .story-home-section .story-copy { padding-top: 4px; }
  .home-section { padding-top: 48px; padding-bottom: 48px; }
  .story-section { padding-top: 42px !important; padding-bottom: 42px !important; }
  .film-list .film-row-inner { padding-top: 40px; padding-bottom: 40px; }
}
@media (max-width: 500px) {
  .home-story-photo { width: min(72vw, 280px) !important; }
  .page-hero { padding-top: 42px; padding-bottom: 32px; }
}

/* Version 24: make the vertical breathing room balanced on every page. */
:root { --section-space: clamp(44px, 5.5vw, 68px); }

/* Homepage title band: equal space above the logo and below the role line. */
.home-hero .hero-intro {
  padding-top: clamp(42px, 5.5vw, 68px) !important;
  padding-bottom: clamp(42px, 5.5vw, 68px) !important;
}

/* Keep top and bottom breathing room equal within every main section. */
.home-section {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}
.home-manifesto-section {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}
.story-section {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}
.page-hero,
.story-hero,
.films-hero,
.connect-hero {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}
.camper-feature {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}
.today-band {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}
.cta {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}

/* The freedom divider and its surrounding band now share balanced spacing. */
.mission-band {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}
.mission-band .freedom-divider {
  padding-top: 0 !important;
  padding-bottom: clamp(22px, 3vw, 32px) !important;
}
.mission-section {
  padding: 0 !important;
}

/* Film rows use equal vertical padding around each image/text pairing. */
.film-list .film-row-inner {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}

/* Connect content: balance the space before and after its two-column content. */
.connect-content {
  padding-top: var(--section-space) !important;
}
.connect-content .connect-grid {
  padding-bottom: var(--section-space) !important;
}
.connect-support {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}

@media (max-width: 800px) {
  :root { --section-space: 42px; }
  .home-hero .hero-intro {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
}

/* Version 25: final optical balance for the manifesto and Today story band. */
.home-manifesto-section {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}
.home-manifesto {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* The About page uses .today.today-light in its markup, not .today-band.
   Match the top and bottom breathing room of every other color-defined section. */
.today.today-light {
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}
.today.today-light .today-label,
.today.today-light .today-copy {
  margin-top: 0;
}


/* Version 26: mobile navigation stays visible and directly accessible.
   Row one keeps the brand and social/support links; row two contains page navigation. */
@media (max-width: 800px) {
  .nav {
    height: auto !important;
    min-height: 0;
    padding-top: 12px;
    padding-bottom: 11px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 12px;
    row-gap: 10px;
  }
  .brand { grid-column: 1; grid-row: 1; min-width: 0; font-size: 16px; }
  .brand-mark { width: 24px; height: 24px; }
  .rightlinks {
    grid-column: 2; grid-row: 1;
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    gap: clamp(9px, 2.8vw, 16px);
    white-space: nowrap;
    font-size: 13px;
  }
  .rightlinks .social-icon { width: 28px; height: 28px; }
  .rightlinks .social-icon svg { width: 19px; height: 19px; }
  .rightlinks .support { margin-left: 0; }
  .navlinks {
    grid-column: 1 / -1; grid-row: 2;
    display: flex !important;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    gap: clamp(18px, 5vw, 30px);
    font-size: 13px;
    line-height: 1.3;
  }
  .navlinks a { padding: 5px 0; white-space: nowrap; }
  .menu { display: none !important; }
}
@media (max-width: 360px) {
  .nav { column-gap: 7px; row-gap: 8px; }
  .brand { gap: 7px; font-size: 14px; }
  .brand-mark { width: 22px; height: 22px; }
  .rightlinks { gap: 7px; font-size: 12px; }
  .rightlinks .social-icon { width: 25px; height: 26px; }
  .navlinks { font-size: 12px; }
}

/* Version 28: prevent horizontal overflow on the mobile Connect page. */
@media (max-width: 800px) {
  .connect-content .connect-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .connect-content .connect-grid > div,
  .connect-content .contact-card {
    min-width: 0;
    max-width: 100%;
  }
  .connect-content .email {
    font-size: clamp(1rem, 4.6vw, 1.35rem);
    line-height: 1.4;
    overflow-wrap: anywhere;
  }
  .connect-content .email a {
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .connect-content .connect-grid h3 {
    max-width: 100%;
    font-size: clamp(1.45rem, 6vw, 1.85rem);
    line-height: 1.18;
    overflow-wrap: break-word;
  }
}


/* Version 29: homepage copy, Films heading line breaks, and regular footer weight. */
.footer-brand { font-weight: 400 !important; }
.films-intro-line { display: block; }
@media (max-width: 600px) {
  .films-intro-line { display: inline; }
}


/* Version 30: consistent alternating film dimensions. */
@media (min-width: 761px) {
  .film-list .film-row-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }

  .film-list .film-row .film-thumb,
  .film-list .film-row .film-details {
    order: initial !important;
  }

  .film-list .film-row:nth-child(odd) .film-thumb {
    grid-column: 1;
  }

  .film-list .film-row:nth-child(odd) .film-details {
    grid-column: 2;
  }

  .film-list .film-row:nth-child(even) .film-thumb {
    grid-column: 2;
  }

  .film-list .film-row:nth-child(even) .film-details {
    grid-column: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .film-list .film-row:nth-child(odd) .film-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}


/* Version 31: explicit film grid placement and compact watch links. */

.film-list .film-row .watch-link {
  display: inline-block !important;
  align-self: flex-start !important;
  justify-self: start !important;
  width: max-content !important;
  max-width: 100%;
}

@media (min-width: 801px) {
  .film-list .film-row-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }

  .film-list .film-row .film-thumb {
    grid-area: thumb !important;
    order: 0 !important;
    min-width: 0;
  }

  .film-list .film-row .film-details {
    grid-area: details !important;
    order: 0 !important;
    min-width: 0;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
  }

  .film-list .film-row:nth-child(odd) .film-row-inner {
    grid-template-areas: "thumb details";
  }

  .film-list .film-row:nth-child(even) .film-row-inner {
    grid-template-areas: "details thumb";
  }
}

@media (max-width: 800px) {
  .film-list .film-row-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .film-list .film-row .film-thumb,
  .film-list .film-row .film-details {
    order: initial !important;
  }
}

/* V30: hand-drawn mountain-road compass identity */
.brand-mark { width: 40px; height: 40px; object-fit: contain; flex: 0 0 auto; }
.hero-mark { width: clamp(105px, 14vw, 160px); height: auto; object-fit: contain; margin-bottom: 14px; }
@media (max-width: 650px) {
  .brand-mark { width: 34px; height: 34px; }
  .hero-mark { width: clamp(104px, 29vw, 142px); }
}


/* Contact form */
.connect-intro{margin-bottom:36px;max-width:720px}
.connect-intro h2{margin:8px 0 12px}
.contact-form{display:flex;flex-direction:column;gap:10px}
.contact-form label{font-weight:600;margin-top:10px}
.contact-form input:not([type=hidden]):not([type=checkbox]),
.contact-form textarea{
  box-sizing:border-box;width:100%;min-width:0;
  border:1px solid rgba(128,128,128,.45);
  border-radius:8px;padding:13px 14px;
  font:inherit;color:inherit;background:transparent;
}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-submit{
  align-self:flex-start;margin-top:14px;
  padding:12px 20px;border:1px solid currentColor;
  border-radius:8px;background:transparent;
  color:inherit;font:inherit;font-weight:600;cursor:pointer;
}
.contact-submit:hover,.copy-email:hover{opacity:.7}
.contact-submit:disabled{opacity:.5;cursor:wait}
.contact-honeypot{
  position:absolute!important;left:-10000px!important;
  width:1px!important;height:1px!important;
  opacity:0!important;pointer-events:none!important;
}
.form-note{font-size:.85rem;min-height:1.4em}
.direct-email{margin-top:26px;min-width:0}
.direct-email-row{
  display:flex;gap:12px;align-items:center;
  flex-wrap:wrap;margin-top:12px;min-width:0;
}
.direct-email-row a{overflow-wrap:anywhere;word-break:break-word}
.copy-email{
  padding:8px 14px;border:1px solid currentColor;
  border-radius:7px;background:transparent;
  color:inherit;font:inherit;cursor:pointer;
}
@media(max-width:600px){
  .connect-intro{margin-bottom:26px}
  .direct-email-row{align-items:flex-start}
}


/* Version 33 Connect page refinements */
.connect-content .connect-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr);
  column-gap: clamp(40px, 7vw, 110px);
  align-items: start;
}

.connect-content .connect-grid > div {
  min-width: 0;
}

.copy-email {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  flex-shrink: 0;
  border-radius: 9px;
  cursor: pointer;
}

.copy-email svg {
  display: block;
}

.copy-email:focus-visible,
.contact-submit:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

@media (max-width: 700px) {
  .connect-content .connect-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 42px;
  }
}


/* Larger Connect page introduction */
.connect-content .connect-intro {
  max-width: 850px;
  margin-bottom: 42px;
}

.connect-content .connect-intro p {
  font-size: clamp(1.25rem, 2.3vw, 1.65rem);
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: -0.015em;
}

@media (max-width: 600px) {
  .connect-content .connect-intro p {
    font-size: 1.25rem;
    line-height: 1.55;
  }
}

/* Larger Connect page introduction */
.connect-content .connect-intro p {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -0.02em;
}

@media (max-width: 600px) {
  .connect-content .connect-intro p {
    font-size: 1.65rem;
    line-height: 1.45;
  }
}


/* Connect introduction: stronger typography and spacing */
.connect-content .connect-intro {
  max-width: 1100px;
  margin-bottom: 48px;
}

.connect-content .connect-intro p {
  color: var(--ink, #171717);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.025em;
}

@media (max-width: 700px) {
  .connect-content .connect-intro {
    margin-bottom: 36px;
  }

  .connect-content .connect-intro p {
    font-size: clamp(1.45rem, 5vw, 1.8rem);
    line-height: 1.45;
  }
}


/* Final Connect page layout */
.connect-content .connect-intro {
  max-width: 850px;
  margin-bottom: 46px;
}

.connect-content .connect-intro p {
  color: var(--ink, #171717);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.connect-final-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, .65fr);
  gap: clamp(40px, 7vw, 110px);
  align-items: start;
}

.connect-form-column,
.connect-social-column {
  min-width: 0;
}

.connect-social-column .socials {
  margin-top: 16px;
}

@media (max-width: 700px) {
  .connect-final-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 42px;
  }

  .connect-content .connect-intro {
    margin-bottom: 34px;
  }

  .connect-content .connect-intro p {
    font-size: 1.35rem;
  }
}


/* Centered Connect layout */
.connect-content .connect-intro {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-bottom: 38px;
}

.connect-final-layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.connect-form-column {
  width: 100%;
  max-width: 600px;
  min-width: 0;
}

.connect-form-column .direct-email {
  margin-top: 12px;
}

.connect-form-column .contact-card {
  margin-bottom: 0;
}

.connect-social-column {
  width: 100%;
  margin-top: 50px;
  padding-top: 24px;
  border-top: 1px solid rgba(128,128,128,.2);
  text-align: center;
}

.connect-social-column .socials {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px 28px;
  margin-top: 0;
}

@media (max-width: 700px) {
  .connect-content .connect-intro {
    text-align: left;
    margin-bottom: 28px;
  }

  .connect-form-column {
    max-width: 100%;
  }

  .connect-social-column {
    margin-top: 36px;
  }
}


/* CONNECT REFINEMENT START */

/* Keep the entire contact experience in one centered column. */
.connect-content .connect-final-layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.connect-content .connect-form-column,
.connect-content .connect-social-column {
  box-sizing: border-box;
  width: 100%;
  max-width: 600px;
  min-width: 0;
}

/* Keep the contact form and email close together. */
.connect-content .connect-form-column .contact-card {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.connect-content .contact-form {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.connect-content .contact-form .form-note:empty {
  display: none;
}

.connect-content .contact-form .form-note {
  margin-bottom: 0;
}

.connect-content .direct-email {
  margin-top: 18px !important;
  padding-top: 0 !important;
}

/* Prominent, consistent headings. */
.connect-content .contact-method-heading {
  margin: 0 0 14px;
  color: var(--ink, #171717);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.connect-content .direct-email-row {
  margin-top: 0;
  gap: 12px;
}

.connect-content .direct-email-row a {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  line-height: 1.5;
}

/* Social links belong to the same contact composition. */
.connect-content .connect-social-column {
  margin-top: 34px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  text-align: left !important;
}

.connect-content .connect-social-column .socials {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start !important;
  align-items: center;
  gap: 12px 26px;
  margin: 0 !important;
}

@media (max-width: 700px) {
  .connect-content .connect-form-column,
  .connect-content .connect-social-column {
    max-width: 100%;
  }

  .connect-content .direct-email {
    margin-top: 16px !important;
  }

  .connect-content .connect-social-column {
    margin-top: 30px !important;
  }

  .connect-content .contact-method-heading {
    font-size: 1.4rem;
  }
}

/* CONNECT REFINEMENT END */


/* CONNECT SPACING UPDATE START */

/* No extra space above the first form field. */
.connect-content .connect-form-column .contact-card {
  margin-top: 0 !important;
}

/* Equal separation between contact methods. */
.connect-content .direct-email {
  margin-top: 36px !important;
}

.connect-content .connect-social-column {
  margin-top: 36px !important;
}

/* Remove unintended extra spacing around headings. */
.connect-content .contact-method-heading {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

/* Keep the email address and copy icon together. */
.connect-content .direct-email-row {
  margin-top: 0 !important;
}

/* Give the social links breathing room before Support. */
.connect-content {
  padding-bottom: 80px !important;
}

.connect-content .connect-social-column {
  padding-bottom: 0 !important;
}

/* Slightly tighter spacing on small screens. */
@media (max-width: 700px) {
  .connect-content .direct-email {
    margin-top: 30px !important;
  }

  .connect-content .connect-social-column {
    margin-top: 30px !important;
  }

  .connect-content {
    padding-bottom: 64px !important;
  }
}

/* CONNECT SPACING UPDATE END */


/* Version 35: lightweight YouTube players */
.video-player {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: #111;
  overflow: hidden;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.video-player img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.video-play-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.video-play-icon svg {
  width: 68px;
  height: 48px;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.35));
  transition: transform .2s ease;
}
.video-player:hover .video-play-icon svg {
  transform: scale(1.1);
}
.video-player:focus-visible {
  outline: 3px solid #ff0033;
  outline-offset: 3px;
}
.video-player iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Version 37: Keep linked films below the sticky navigation */
.video-player[id^="film-"] {
  scroll-margin-top: 110px;
}

@media (max-width: 768px) {
  .video-player[id^="film-"] {
    scroll-margin-top: 140px;
  }
}


/* Version 38: Films and Connect refinements */

/* Match the other page headings */
.films-hero h1 {
  margin: 0;
}

/* Make Send message a clear, dark button */
.contact-form .contact-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 24px;
  min-height: 48px;
  background: #111;
  color: #fff;
  border: 1px solid #111;
  border-radius: 6px;
  font: inherit;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s ease;
}

.contact-form .contact-submit:hover {
  background: #333;
  color: #fff;
}

.contact-form .contact-submit:focus-visible {
  outline: 3px solid #777;
  outline-offset: 3px;
}

.contact-form .contact-submit:disabled {
  opacity: .6;
  cursor: wait;
}

/* Vertically center email and Copy button */
.direct-email-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.direct-email-row a,
.direct-email-row .copy-email {
  align-self: center;
}

.direct-email-row a {
  overflow-wrap: anywhere;
}

.direct-email-row .copy-email {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
}


/* Version 41: targeted Connect page improvements */

/* Match homepage pill-shaped call to action */
.contact-submit {
  border-radius: 999px !important;
}

/* Independent social section */
.connect-social-v41 {
  background: var(--section-bg, #f7f7f5);
  padding: 48px 0;
  margin: 0;
}

.connect-social-v41 .connect-social-column {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Preserve existing form layout and alignment */
.connect-final-layout {
  grid-template-columns: minmax(0, 1fr);
}

/* Support section on white */
.connect-support {
  background: #ffffff;
}

@media (max-width: 768px) {
  .connect-social-v41 {
    padding: 36px 0;
  }
}


/* VERSION 43: Match established homepage palette */

/* Connect heading: original green-tinted background */
.connect-hero {
  background: var(--band) !important;
}

/* Contact form: original light background */
.connect-content {
  background: var(--paper) !important;
}

/* Social links: exact homepage intro background */
.connect-social-v41 {
  background: var(--band) !important;
  padding: 48px 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.connect-social-v41 .connect-social-column {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.connect-social-v41 .contact-method-heading {
  border: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Support: exact Adventures Unfiltered background */
.connect-support {
  background: var(--paper) !important;
}

/* Maintain equal social section padding on mobile */
@media (max-width: 768px) {
  .connect-social-v41 {
    padding: 36px 0 !important;
  }
}


/* VERSION 44: Refined contact section spacing */

/* Reduce excess space below the email address */
.connect-content {
  padding-bottom: 40px !important;
}

/* Slightly tighter on mobile */
@media (max-width: 700px) {
  .connect-content {
    padding-bottom: 32px !important;
  }
}

/* Allow About page introduction to use available width */
.story-hero .story-opening {
  max-width: none;
}

/* Today: center the text block, not the individual lines */
.story-page .today .wrap {
  width: min(calc(100% - 48px), 780px);
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.story-page .today .today-label,
.story-page .today .today-copy {
  width: 100%;
  text-align: left;
}

@media (max-width: 500px) {
  .story-page .today .wrap {
    width: min(calc(100% - 30px), 780px);
  }
}

/* Today: center the complete text group */
.story-page .today .wrap {
  width: min(calc(100% - 48px), 1180px);
  max-width: 1180px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.story-page .today .today-label,
.story-page .today .today-copy {
  width: min(100%, 780px);
  text-align: left;
}

@media (max-width: 500px) {
  .story-page .today .wrap {
    width: min(calc(100% - 30px), 1180px);
  }
}

/* Today: left-aligned heading, centered paragraph */
.story-page .today .today-label {
  text-align: left !important;
}

.story-page .today .today-copy {
  text-align: center !important;
}
