:root {
  --cs-cream: #f4efe5;
  --cs-ink: #17241d;
  --cs-orange: #ef5b2a;
  --cs-yellow: #f3bd3e;
  --cs-sage: #d5ddcf;
  --cs-footer: #0e1712;
  --cs-white: #ffffff;
  --cs-pad: 7vw;
  --cs-header: 88px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; overflow-x: clip; background: var(--cs-cream); color: var(--cs-ink); font-family: Arial, Helvetica, sans-serif; letter-spacing: 0; }
body.admin-bar .cs-header { top: 32px; }
img { display: block; max-width: 100%; }
a, button { cursor: pointer; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .wp-block-navigation-item__content:focus-visible { outline: 3px solid var(--cs-yellow); outline-offset: 4px; }

.cs-header {
  position: absolute;
  z-index: 50;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  min-height: var(--cs-header);
  padding: 0 5vw;
  color: var(--cs-white);
  transition: background 220ms ease, backdrop-filter 220ms ease;
}
.cs-header.is-scrolled { position: fixed; background: rgba(14, 23, 18, .93); backdrop-filter: blur(12px); }
.cs-header .wp-block-site-title { margin: 0; font-size: 25px; line-height: 1; font-weight: 800; letter-spacing: 0; }
.cs-header .wp-block-site-title a::after { content: "."; color: var(--cs-orange); }
.cs-header .wp-block-navigation { font-weight: 700; }
.cs-header .wp-block-navigation__container { gap: 34px; }
.cs-header .wp-block-navigation-submenu__toggle { min-height: 42px; padding: 0 16px; border-radius: 999px; background: rgba(255,255,255,.18); }
.cs-header .wp-block-navigation__submenu-container { min-width: 150px; padding: 8px; border: 0; background: var(--cs-ink); color: var(--cs-white); }

.cs-hero { position: relative; min-height: 720px; height: 100svh; max-width: none !important; overflow: hidden; background: var(--cs-ink); color: var(--cs-white); }
.cs-hero-media { position: absolute; inset: 0; display: block; width: 100%; height: 100%; margin: 0 !important; }
.cs-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 43%; }
.cs-hero-media--mobile { display: none; }
.cs-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(7,19,13,.72), rgba(7,19,13,.06) 70%), linear-gradient(0deg, rgba(7,19,13,.45), transparent 55%); pointer-events: none; }
.cs-hero-copy { position: absolute; z-index: 2; left: var(--cs-pad); bottom: 78px; width: min(880px, 72vw); }
.cs-eyebrow { margin: 0 0 23px; font-size: 12px; line-height: 1.2; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cs-hero-title { max-width: 900px; margin: 0; font-size: 108px; line-height: .9; font-weight: 500; letter-spacing: 0; }
.cs-hero-title em, .cs-serif { font-family: Georgia, serif; font-style: italic; font-weight: 400; }
.cs-hero-support { max-width: 600px; margin: 28px 0 25px; font-size: 19px; line-height: 1.5; }
.cs-mobile-break { display: none; }
.cs-actions { gap: 10px !important; }
.cs-actions .wp-block-button__link { min-height: 52px; padding: 14px 22px; border: 1px solid var(--cs-orange); display: inline-flex; align-items: center; justify-content: center; background: var(--cs-orange); color: var(--cs-ink); font-size: 16px; font-weight: 700; }
.cs-actions .is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.7); background: rgba(10,20,14,.12); color: var(--cs-white); }
.cs-placeholder-tag { position: absolute; z-index: 3; right: 18px; bottom: 14px; max-width: 390px; margin: 0; padding: 7px 9px; background: rgba(14,23,18,.76); color: var(--cs-white); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.cs-ticker { width: 100%; min-height: 68px; padding: 14px var(--cs-pad); overflow: hidden; background: var(--cs-yellow); }
.cs-ticker p { width: max-content; min-width: 100%; margin: 0; font-size: 19px; font-weight: 800; text-align: center; text-transform: uppercase; white-space: nowrap; }

.cs-section { max-width: none !important; padding: 108px var(--cs-pad); }
.cs-section--dark { background: var(--cs-ink); color: var(--cs-white); }
.cs-section--sage { background: var(--cs-sage); }
.cs-section--orange { background: var(--cs-orange); color: var(--cs-ink); }
.cs-section-head { margin-bottom: 52px; }
.cs-section-head--row { gap: 30px; }
.cs-section-title { margin: 0; font-size: 70px; line-height: .98; font-weight: 600; letter-spacing: 0; }
.cs-text-link { padding-bottom: 5px; border-bottom: 2px solid currentColor; font-weight: 700; }

.cs-story-card { position: relative; min-height: 480px; overflow: hidden; color: var(--cs-white); }
.cs-story-card--large { min-height: 680px; }
.cs-story-card__background { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease; }
.cs-story-card__overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg,rgba(6,16,11,.88),rgba(6,16,11,0) 68%); pointer-events: none; }
.cs-story-card:hover .cs-story-card__background { transform: scale(1.025); }
.cs-story-card .cs-story-copy { z-index: 2; }
.cs-story-card .cs-bookmark { position: absolute; top: 18px; right: 18px; z-index: 3; }
.cs-story-card .wp-block-cover__image-background { transition: transform 700ms ease; }
.cs-story-card:hover .wp-block-cover__image-background { transform: scale(1.025); }
.cs-story-card .wp-block-cover__background { background: linear-gradient(0deg, rgba(6,16,11,.88), rgba(6,16,11,0) 68%) !important; opacity: 1 !important; }
.cs-featured-layout { width: min(1280px, 100%); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 680px) minmax(300px, 1fr); gap: 64px; align-items: center; }
.cs-featured-media { position: relative; width: 100%; max-width: 680px; aspect-ratio: 4 / 5; overflow: hidden; background: #223128; }
.cs-featured-image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.cs-featured-media .cs-bookmark { position: absolute; top: 18px; right: 18px; }
.cs-featured-copy { max-width: 520px; }
.cs-featured-copy .cs-meta { margin: 0 0 14px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cs-featured-copy h3 { margin: 0 0 20px; font-size: 54px; line-height: 1; letter-spacing: 0; }
.cs-featured-copy .cs-dek { margin: 0 0 30px; font-size: 18px; line-height: 1.65; opacity: .86; }
.cs-save { position: absolute; z-index: 3; top: 18px; right: 18px; margin: 0; }
.cs-save .wp-block-button__link { min-height: 36px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.62); background: rgba(12,22,15,.45); color: var(--cs-white); font-size: 13px; font-weight: 700; }
.cs-save.is-active .wp-block-button__link { border-color: var(--cs-orange); background: var(--cs-orange); color: var(--cs-ink); }
.cs-story-copy { position: absolute; z-index: 2; left: 30px; right: 28px; bottom: 28px; }
.cs-story-copy .cs-meta { margin: 0; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cs-story-copy h3 { max-width: 650px; margin: 10px 0 8px; font-size: 43px; line-height: 1; letter-spacing: 0; }
.cs-story-copy .cs-dek { max-width: 650px; margin: 0; line-height: 1.55; opacity: .88; }
.cs-mosaic { display: grid !important; grid-template-columns: 1.25fr .75fr; gap: 18px !important; }
.cs-mosaic > .cs-story-card:first-child { grid-row: span 2; min-height: 860px; }
.cs-mosaic > .cs-story-card:not(:first-child) { min-height: 421px; }

.cs-intro { display: grid !important; grid-template-columns: minmax(0, 500px) minmax(0, 560px); gap: 64px !important; align-items: center; justify-content: center; }
.cs-portrait { position: relative; width: 100%; max-width: 500px; min-height: 0; aspect-ratio: 4 / 5; margin: 0 !important; overflow: hidden; }
.cs-portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cs-intro-copy { width: 100%; max-width: 560px; }
.cs-intro-copy .cs-eyebrow { margin-bottom: 18px; }
.cs-intro-copy .cs-section-title { margin-bottom: 20px; }
.cs-intro-copy > p:not(.cs-eyebrow) { max-width: 560px; margin: 0; font-size: 18px; line-height: 1.7; }
.cs-intro-copy .cs-actions { margin-top: 28px; gap: 14px !important; }
.cs-intro-copy .is-style-outline .wp-block-button__link { border-color: var(--cs-ink); background: transparent; color: var(--cs-ink); }
.cs-button-ink .wp-block-button__link { background: var(--cs-ink); color: var(--cs-white); }

.cs-film { display: flex !important; gap: 18px !important; width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; padding: 0 0 26px; scroll-snap-type: x mandatory; touch-action: pan-x pan-y; scrollbar-width: thin; }
.cs-film > .wp-block-image { flex: 0 0 320px; width: 320px; height: 410px; margin: 0 !important; scroll-snap-align: start; }
.cs-film > .wp-block-image:nth-child(even) { height: 510px; }
.cs-film img { width: 100%; height: calc(100% - 30px); object-fit: cover; }
.cs-film figcaption { margin: 8px 0 0; color: inherit; font-weight: 700; text-align: left; }

.cs-watch { display: grid !important; grid-template-columns: minmax(260px, .75fr) minmax(320px, 1.25fr); gap: 72px !important; align-items: center; }
.cs-watch-copy > p:not(.cs-eyebrow) { max-width: 440px; line-height: 1.65; }
.cs-video-lite { position: relative; }
.cs-video-lite__poster { position: relative; width: 100%; min-height: 580px; padding: 0; overflow: hidden; border: 0; background: var(--cs-ink); }
.cs-video-lite__poster img { width: 100%; height: 580px; object-fit: cover; }
.cs-video-lite__play { position: absolute; left: 50%; top: 50%; width: 88px; height: 88px; border-radius: 50%; display: grid; place-items: center; transform: translate(-50%,-50%); background: var(--cs-yellow); color: var(--cs-ink); font-size: 28px; }
.cs-video-lite__frame { width: 100%; aspect-ratio: 16 / 9; min-height: 580px; border: 0; background: #000; }
.cs-video-lite__copy h3 { margin: 18px 0 6px; font-size: 26px; }
.cs-video-lite__copy p { margin: 0; }
.cs-video-lite.is-vertical { width: min(100%, 430px); justify-self: center; }
.cs-video-lite.is-vertical .cs-video-lite__poster { min-height: 0; aspect-ratio: 9 / 16; }
.cs-video-lite.is-vertical .cs-video-lite__poster img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.cs-video-lite.is-vertical .cs-video-lite__frame { min-height: 0; aspect-ratio: 9 / 16; }
.cs-video-lite.is-vertical .cs-video-lite__copy { width: 100%; }

.cs-closing { max-width: none !important; padding: 125px var(--cs-pad); background: var(--cs-yellow); text-align: center; }
.cs-closing > p { margin: 0; font-size: 18px; font-weight: 800; text-transform: uppercase; }
.cs-closing h2 { margin: 14px 0 42px; font-size: 106px; line-height: .92; font-weight: 600; letter-spacing: 0; }
.cs-closing .cs-actions { justify-content: center; }
.cs-closing .is-style-outline .wp-block-button__link { border-color: var(--cs-ink); color: var(--cs-ink); }

.cs-footer { max-width: none !important; padding: 74px var(--cs-pad) 30px; background: var(--cs-footer); color: var(--cs-white); }
.cs-footer-main { gap: 56px !important; align-items: flex-start !important; }
.cs-footer-main > :first-child { max-width: 520px; }
.cs-footer-main > :first-child p { margin: 12px 0 0; line-height: 1.55; }
.cs-footer .wp-block-site-title { margin: 0 0 8px; font-size: 38px; font-weight: 800; }
.cs-footer .wp-block-site-title a::after { content: "."; color: var(--cs-orange); }
.cs-footer-links { min-width: 110px; gap: 10px !important; align-items: flex-start !important; }
.cs-footer-links p { margin: 0; }
.cs-footer a { color: inherit; }
.cs-footer-meta { margin-top: 35px; padding-top: 25px; border-top: 1px solid #445047; opacity: .68; }

.cs-page { min-height: 70vh; padding: 150px var(--cs-pad) 90px; }
.cs-page h1 { font-size: 70px; line-height: 1; }
.cs-placeholder-page { max-width: 720px; }

@media (max-width: 900px) {
  .cs-hero-title { font-size: 72px; }
  .cs-hero-copy { bottom: 70px; width: 76vw; }
  .cs-section-title { font-size: 56px; }
  .cs-featured-layout { grid-template-columns: minmax(0, 55%) minmax(0, 45%); gap: 36px; }
  .cs-featured-copy h3 { font-size: 42px; }
  .cs-intro { grid-template-columns: minmax(0, 46%) minmax(0, 54%); gap: 40px !important; }
  .cs-watch { grid-template-columns: 1fr !important; }
  .cs-watch-copy { max-width: 580px; }
  .cs-video-lite__poster, .cs-video-lite__poster img, .cs-video-lite__frame { min-height: 430px; }
  .cs-video-lite.is-vertical .cs-video-lite__poster, .cs-video-lite.is-vertical .cs-video-lite__poster img, .cs-video-lite.is-vertical .cs-video-lite__frame { min-height: 0; }
  .cs-closing h2 { font-size: 80px; }
}

@media (max-width: 600px) {
  :root { --cs-pad: 22px; --cs-header: 70px; }
  body.admin-bar .cs-header { top: 46px; }
  .cs-header { min-height: var(--cs-header); padding: 0 22px; }
  .cs-header .wp-block-site-title { font-size: 24px; }
  .cs-header .wp-block-navigation { position: absolute !important; top: 14px; right: 18px; z-index: 3; width: 42px; height: 42px; display: flex !important; align-items: center; justify-content: center; border-radius: 50%; background: rgba(239,91,42,.94); color: var(--cs-white); }
  .cs-header .wp-block-navigation__responsive-container-open { position: static; width: 42px; height: 42px; display: flex !important; align-items: center; justify-content: center; color: var(--cs-white); }
  .cs-header::before { content: ""; position: absolute; top: 27px; right: 31px; z-index: 4; width: 16px; height: 2px; background: var(--cs-white); box-shadow: 0 6px 0 var(--cs-white), 0 12px 0 var(--cs-white); pointer-events: none; }
  .cs-header .wp-block-navigation__responsive-container.is-menu-open { padding: 84px 22px 30px; background: var(--cs-ink); color: var(--cs-white); }
  .cs-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 22px; }
  .cs-header .wp-block-navigation__submenu-container { padding: 8px 0 0 !important; }
  .cs-hero { min-height: 844px; height: 100svh; }
  .cs-hero-media--desktop { display: none; }
  .cs-hero-media--mobile { display: block; }
  .cs-hero-media img { object-position: 56% top; }
  .cs-hero::after { background: linear-gradient(90deg, rgba(7,19,13,.46), rgba(7,19,13,.02) 72%), linear-gradient(0deg, rgba(7,19,13,.74), transparent 60%); }
  .cs-hero-copy { left: 22px; right: 22px; bottom: 138px; width: calc(100% - 44px) !important; max-width: calc(100% - 44px); }
  .cs-hero-copy > * { max-width: 100%; }
  .cs-eyebrow { margin-bottom: 18px; font-size: 11px; }
  .cs-hero-title { width: 100% !important; font-size: 50px; line-height: .96; font-weight: 500; }
  .cs-hero-support { width: 100% !important; max-width: 100% !important; margin: 20px 0 17px; font-size: 16px; overflow-wrap: anywhere; }
  .cs-mobile-break { display: inline; }
  .cs-actions { align-items: flex-start !important; }
  .cs-hero-copy .cs-actions { flex-direction: row; flex-wrap: wrap; gap: 9px !important; }
  .cs-actions .wp-block-button__link { min-height: 48px; padding: 11px 18px; }
  .cs-placeholder-tag { display: none; }
  .cs-ticker { padding-inline: 22px; overflow-x: auto; }
  .cs-ticker p { text-align: left; }
  .cs-section { padding: 74px 22px; }
  .cs-section-head--row { align-items: flex-start !important; }
  .cs-section-title { font-size: 47px; }
  .cs-story-card--large { min-height: 540px; }
  .cs-mosaic { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; }
  .cs-mosaic > .cs-story-card { flex: 0 0 calc(100vw - 58px); min-height: 470px !important; scroll-snap-align: start; }
  .cs-story-copy { left: 22px; right: 22px; bottom: 22px; }
  .cs-story-copy h3 { font-size: 36px; }
  .cs-featured-layout { grid-template-columns: 1fr; gap: 34px; }
  .cs-featured-media { max-width: 100%; }
  .cs-featured-copy h3 { font-size: 40px; }
  .cs-featured-copy .cs-dek { font-size: 16px; }
  .cs-intro { grid-template-columns: 1fr !important; gap: 32px !important; }
  .cs-portrait { width: 100%; max-width: 460px; min-height: 0; margin-inline: auto !important; }
  .cs-intro-copy { max-width: 100%; }
  .cs-intro-copy .cs-actions { flex-wrap: wrap; }
  .cs-film { margin-right: -22px; padding-right: 22px; }
  .cs-film > .wp-block-image { flex-basis: 74vw; width: 74vw; }
  .cs-video-lite__poster, .cs-video-lite__poster img, .cs-video-lite__frame { min-height: 360px; }
  .cs-closing { padding: 88px 22px; }
  .cs-closing h2 { font-size: 67px; }
  .cs-footer { padding: 58px 22px 28px; }
  .cs-footer-main { align-items: flex-start !important; }
  .cs-page { padding: 120px 22px 70px; }
  .cs-page h1 { font-size: 50px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Checkpoint 3: Stories, editorial pages and forms. */
.cs-stories { background: var(--cs-cream); }
body:not(.home) .cs-header { background: var(--cs-ink); color: var(--cs-white); }
.cs-stories-hero { min-height: 540px; padding: 150px var(--cs-pad) 80px; display: flex; flex-direction: column; justify-content: flex-end; background: var(--cs-ink); color: var(--cs-white); }
.cs-stories-hero h1 { max-width: 1000px; margin: 0; font-size: 92px; line-height: .95; font-weight: 600; }
.cs-stories-hero > p:last-child { max-width: 650px; margin: 28px 0 0; font-size: 21px; }
.cs-story-tools { padding: 44px var(--cs-pad) 26px; border-bottom: 1px solid rgba(23,36,29,.25); }
.cs-story-search { max-width: 760px; }
.cs-story-search > label, .cs-story-view-controls label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.cs-search-row { display: grid; grid-template-columns: 1fr auto; }
.cs-search-row input, .cs-contact-form input, .cs-contact-form select, .cs-contact-form textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--cs-ink); border-radius: 0; background: transparent; color: var(--cs-ink); font: inherit; }
.cs-search-row input { min-height: 58px; padding: 0 18px; font-size: 18px; }
.cs-search-row button, .cs-contact-form button, [data-load-more] { min-height: 48px; padding: 12px 22px; border: 1px solid var(--cs-ink); border-radius: 0; background: var(--cs-ink); color: var(--cs-white); font-weight: 800; cursor: pointer; }
.cs-filter-strip { display: flex; gap: 10px; margin-top: 28px; overflow-x: auto; scrollbar-width: thin; }
.cs-filter-strip button, .cs-saved-toggle { flex: 0 0 auto; padding: 9px 14px; border: 1px solid var(--cs-ink); border-radius: 0; background: transparent; color: inherit; cursor: pointer; }
.cs-filter-strip button[aria-pressed="true"], .cs-saved-toggle[aria-pressed="true"] { background: var(--cs-yellow); }
.cs-story-view-controls { display: flex; align-items: end; gap: 16px; margin-top: 24px; }
.cs-story-view-controls label { margin: 0 0 10px auto; }
.cs-story-view-controls select { min-height: 42px; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: inherit; font: inherit; }
.cs-story-status { min-height: 24px; padding: 24px var(--cs-pad) 0; font-weight: 700; }
.cs-story-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 56px 28px; padding: 34px var(--cs-pad) 90px; }
.cs-archive-card { position: relative; grid-column: span 4; min-width: 0; }
.cs-archive-card--large { grid-column: span 8; }
.cs-archive-card--wide { grid-column: span 5; }
.cs-archive-card__media { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--cs-sage); }
.cs-archive-card--large .cs-archive-card__media { aspect-ratio: 16 / 10; }
.cs-archive-card--wide .cs-archive-card__media { aspect-ratio: 5 / 4; }
.cs-archive-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.cs-archive-card:hover .cs-archive-card__media img { transform: scale(1.025); }
.cs-archive-card .cs-bookmark { position: absolute; top: 12px; right: 12px; }
.cs-bookmark { min-height: 40px; padding: 8px 12px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid currentColor; border-radius: 0; background: rgba(244,239,229,.94); color: var(--cs-ink); font: inherit; font-weight: 800; cursor: pointer; }
.cs-bookmark.is-saved { background: var(--cs-yellow); }
.cs-archive-card__copy { padding-top: 18px; }
.cs-archive-card__copy h2 { margin: 8px 0; font-size: 34px; line-height: 1.05; }
.cs-archive-card__copy > p:last-child { max-width: 52ch; margin: 10px 0 0; }
.cs-video-badge { position: absolute; left: 12px; bottom: 12px; padding: 7px 10px; background: var(--cs-orange); color: var(--cs-ink); font-size: 12px; font-weight: 800; }
.cs-story-pagination { padding: 0 var(--cs-pad) 100px; text-align: center; }
.cs-story-empty, .cs-empty-state { grid-column: 1 / -1; padding: 60px 0; }
.cs-story-single { padding-top: calc(var(--cs-header) + 65px); background: var(--cs-cream); }
.cs-breadcrumb, .cs-story-header, .cs-story-content, .cs-related, .cs-follow-story { width: min(1200px, calc(100% - (2 * var(--cs-pad)))); margin-inline: auto; }
.cs-breadcrumb { display: flex; gap: 8px; overflow: hidden; white-space: nowrap; font-size: 13px; }
.cs-breadcrumb span:last-child { overflow: hidden; text-overflow: ellipsis; }
.cs-story-header { padding: 80px 0 54px; }
.cs-story-header h1 { max-width: 1100px; margin: 10px 0 24px; font-size: 88px; line-height: .94; font-weight: 600; }
.cs-story-intro { max-width: 760px; font-family: Georgia,serif; font-size: 25px; line-height: 1.45; }
.cs-story-byline, .cs-story-actions { display: flex; flex-wrap: wrap; gap: 12px 22px; align-items: center; margin-top: 24px; }
.cs-story-byline { font-size: 13px; text-transform: uppercase; }
.cs-share { min-height: 40px; padding: 8px 12px; border: 1px solid var(--cs-ink); border-radius: 0; background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.cs-story-lead-media { width: 100%; max-height: 850px; overflow: hidden; background: var(--cs-ink); }
.cs-story-lead-media > img { width: 100%; height: min(72vw,850px); object-fit: cover; }
.cs-story-content { max-width: 760px; padding: 86px 0; font-family: Georgia,serif; font-size: 20px; line-height: 1.75; }
.cs-story-content h2 { margin-top: 2.4em; font-family: Arial,sans-serif; font-size: 46px; line-height: 1.05; }
.cs-story-content blockquote { margin: 60px -80px; padding: 25px 0 25px 42px; border-left: 8px solid var(--cs-orange); font-size: 31px; line-height: 1.35; }
.cs-sample-notice { padding: 18px; border: 1px solid var(--cs-orange); font-family: Arial,sans-serif; font-size: 14px; }
.cs-instagram-reference { padding: 60px var(--cs-pad); background: var(--cs-yellow); text-align: center; }
.cs-related { padding: 90px 0; }
.cs-related h2, .cs-follow-story h2 { font-size: 56px; line-height: 1; }
.cs-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.cs-related-grid .cs-archive-card { grid-column: auto; }
.cs-follow-story { padding: 80px 0; border-top: 1px solid var(--cs-ink); }
.cs-follow-story a { display: inline-block; margin: 15px 18px 0 0; font-weight: 800; text-decoration: underline; }
.cs-sneha-hero { padding: 160px var(--cs-pad) 90px; display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 464px); grid-template-rows: auto auto auto auto; column-gap: 64px; align-items: center; justify-content: center; background: var(--cs-ink); color: var(--cs-white); }
.cs-sneha-hero > .cs-eyebrow, .cs-sneha-hero > h1, .cs-sneha-hero > p:not(.cs-eyebrow), .cs-sneha-hero > .wp-block-buttons { grid-column: 1; }
.cs-sneha-hero > .cs-eyebrow { align-self: end; margin: 0 0 18px; }
.cs-sneha-hero h1 { max-width: 560px; margin: 0 0 22px; font-size: 72px; line-height: .96; }
.cs-sneha-hero > p:not(.cs-eyebrow) { max-width: 540px; margin: 0 0 28px; font-size: 18px; line-height: 1.65; }
.cs-sneha-hero > .wp-block-buttons { gap: 14px; align-self: start; }
.cs-sneha-hero figure { grid-column: 2; grid-row: 1 / span 4; width: min(100%, 464px); max-width: 464px !important; aspect-ratio: 4 / 5; margin: 0 auto !important; overflow: hidden; }
.cs-sneha-hero img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; }
.cs-sneha-copy, .cs-legal { padding: 100px var(--cs-pad); }
.cs-sneha-copy > *, .cs-legal > * { max-width: 800px; margin-inline: auto; }
.cs-sneha-copy h2, .cs-legal h2 { margin-top: 80px; font-size: 50px; }
.cs-sneha-copy .wp-block-gallery { max-width: 920px; margin: 40px auto 0; display: grid !important; grid-template-columns: repeat(2, minmax(300px, 440px)); gap: 40px !important; align-items: start; justify-content: center; }
.cs-sneha-copy .wp-block-gallery > .wp-block-image { width: 100% !important; max-width: 440px; aspect-ratio: 4 / 5; margin: 0 !important; overflow: hidden; }
.cs-sneha-copy .wp-block-gallery > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.cs-sneha-copy .wp-block-gallery > .wp-block-image:first-child img { object-position: center 24%; }
.cs-sneha-copy .wp-block-gallery > .wp-block-image:last-child img { object-position: center 20%; }
.cs-social-brand { max-width: 440px !important; margin: 42px auto !important; text-align: center; }
.cs-social-brand img { width: 100%; height: auto; }
.cs-contact-form { max-width: 900px; margin-top: 30px; }
.cs-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.cs-contact-form label { display: block; margin-bottom: 7px; font-weight: 700; }
.cs-contact-form input, .cs-contact-form select, .cs-contact-form textarea { padding: 12px; }
.cs-contact-form .cs-consent label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.cs-contact-form .cs-consent input { width: auto; margin-top: 5px; }
.cs-honeypot { position: absolute; left: -10000px; }
.cs-form-status { min-height: 24px; font-weight: 700; }
.cs-legal { min-height: 70vh; padding-top: 170px; }
.cs-legal h1 { font-size: 78px; }
@media (max-width: 900px) {
  .cs-stories-hero h1, .cs-story-header h1, .cs-sneha-hero h1 { font-size: 64px; }
  .cs-archive-card, .cs-archive-card--large, .cs-archive-card--wide { grid-column: span 6; }
  .cs-story-content blockquote { margin-inline: 0; }
  .cs-sneha-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 340px); column-gap: 38px; }
  .cs-sneha-hero figure { max-width: 340px !important; }
  .cs-sneha-copy .wp-block-gallery { grid-template-columns: repeat(2, minmax(300px, 1fr)); gap: 32px !important; }
}
@media (max-width: 600px) {
  .cs-stories-hero { min-height: 480px; padding: 125px 22px 56px; }
  .cs-stories-hero h1, .cs-story-header h1, .cs-sneha-hero h1 { font-size: 48px; }
  .cs-story-tools { padding-inline: 22px; }
  .cs-search-row { grid-template-columns: 1fr; }
  .cs-filter-strip { margin-right: -22px; padding-right: 22px; }
  .cs-story-view-controls { align-items: center; flex-wrap: wrap; }
  .cs-story-view-controls label { margin-left: 0; }
  .cs-story-grid { display: block; padding-inline: 22px; }
  .cs-archive-card { margin-bottom: 48px; }
  .cs-archive-card__media, .cs-archive-card--large .cs-archive-card__media, .cs-archive-card--wide .cs-archive-card__media { aspect-ratio: 4 / 5; }
  .cs-archive-card__copy h2 { font-size: 31px; }
  .cs-story-single { padding-top: calc(var(--cs-header) + 35px); }
  .cs-story-header { padding: 50px 0 36px; }
  .cs-story-intro { font-size: 21px; }
  .cs-story-byline { display: grid; grid-template-columns: 1fr 1fr; }
  .cs-story-content { padding: 55px 0; font-size: 18px; }
  .cs-story-content h2 { font-size: 36px; }
  .cs-story-content blockquote { padding-left: 22px; font-size: 25px; }
  .cs-related h2, .cs-follow-story h2 { font-size: 42px; }
  .cs-related-grid { display: block; }
  .cs-sneha-hero { padding: 130px 22px 65px; grid-template-columns: 1fr; grid-template-rows: auto; row-gap: 0; }
  .cs-sneha-hero > .cs-eyebrow, .cs-sneha-hero > h1, .cs-sneha-hero > p:not(.cs-eyebrow), .cs-sneha-hero > .wp-block-buttons, .cs-sneha-hero figure { grid-column: 1; }
  .cs-sneha-hero h1 { margin-bottom: 20px; }
  .cs-sneha-hero > p:not(.cs-eyebrow) { margin-bottom: 26px; }
  .cs-sneha-hero > .wp-block-buttons { flex-wrap: wrap; }
  .cs-sneha-hero figure { grid-row: auto; width: 88%; max-width: 400px !important; margin-top: 32px !important; }
  .cs-sneha-copy, .cs-legal { padding: 70px 22px; }
  .cs-sneha-copy h2, .cs-legal h2 { margin-top: 58px; font-size: 38px; }
  .cs-sneha-copy .wp-block-gallery { width: 100%; grid-template-columns: 1fr; gap: 24px !important; }
  .cs-sneha-copy .wp-block-gallery > .wp-block-image { width: 88% !important; max-width: 400px; margin-inline: auto !important; }
  .cs-legal { padding-top: 130px; }
  .cs-legal h1 { font-size: 52px; }
  .cs-form-grid { grid-template-columns: 1fr; gap: 0; }
}
