/* Afterlight: contact-sheet editorial direction. Scoped to the Afterlight fragment. */
body.theme-afterlight { --afterlight-bg:#f7f7f4; --afterlight-paper:#fff; --afterlight-ink:#17233f; --afterlight-muted:#626b7c; --afterlight-accent:#f7941d; --afterlight-dark:#080c15; --paper:var(--afterlight-paper); --ink:var(--afterlight-ink); --accent:var(--afterlight-accent); --wash:#eef0f4; --line:#d8dce5; background:var(--afterlight-bg); color:var(--afterlight-ink); }
body.theme-afterlight .new-nav, body.theme-afterlight .new-footer { background:var(--afterlight-bg); color:var(--afterlight-ink); }
body.theme-afterlight .new-nav a, body.theme-afterlight .new-footer a { color:inherit; }
.afterlight-page { overflow:hidden; }
.afterlight-hero { position:relative; min-height:clamp(680px, 94svh, 960px); padding:clamp(24px, 4vw, 72px) clamp(20px, 5vw, 72px) 48px; background:var(--afterlight-dark); color:#f7f8fb; display:flex; flex-direction:column; }
.afterlight-hero-top, .afterlight-hero-intro { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:flex-start; gap:24px; font-size:clamp(14px, 1.2vw, 16px); }
.afterlight-hero h1 { margin:0; font:700 clamp(16px, 1.2vw, 18px)/1 Manrope, sans-serif; letter-spacing:-.03em; }
.afterlight-hero-link, .afterlight-primary { color:inherit; text-decoration:none; transition:color .2s ease, background .2s ease; }
.afterlight-hero-link:hover, .afterlight-hero-link:focus-visible { color:var(--afterlight-accent); }
.afterlight-hero-intro { margin-top:auto; align-items:flex-end; }
.afterlight-hero-intro p { max-width:34ch; margin:0; line-height:1.45; }
.afterlight-primary { display:inline-flex; align-items:center; gap:18px; min-height:48px; padding:12px 18px; background:var(--afterlight-accent); color:var(--afterlight-ink); font-weight:700; }
.afterlight-primary:hover, .afterlight-primary:focus-visible { background:#fff; }
.afterlight-hero-image { position:absolute; z-index:0; inset:24% 0 25%; margin:0; overflow:hidden; background:#111827; }
.afterlight-hero-image img { width:100%; height:100%; object-fit:cover; filter:brightness(.55) saturate(.78); }
.afterlight-hero-image figcaption { position:absolute; left:clamp(20px, 5vw, 72px); bottom:18px; max-width:36ch; font-size:13px; color:#fff; }
.afterlight-contact-strip { position:absolute; z-index:1; left:50%; top:50%; transform:translate(-50%,-50%); display:flex; gap:10px; width:max-content; height:min(34vh, 330px); }
.afterlight-contact-strip figure { width:clamp(190px, 18vw, 270px); height:100%; margin:0; flex:none; position:relative; overflow:hidden; scroll-snap-align:center; background:#1b2334; }
.afterlight-contact-strip figure:nth-child(1), .afterlight-contact-strip figure:nth-child(4) { width:clamp(150px, 14vw, 220px); }
.afterlight-contact-strip img { width:100%; height:100%; object-fit:cover; filter:brightness(.58); transition:filter .3s ease, transform .4s ease; }
.afterlight-contact-strip figure:nth-child(2) img { filter:brightness(.88); }
.afterlight-contact-strip figure:hover img, .afterlight-contact-strip figure:focus-within img { filter:brightness(1); transform:scale(1.025); }
.afterlight-contact-strip figcaption { position:absolute; left:12px; bottom:11px; font-size:13px; color:#fff; }
.afterlight-reading { display:grid; grid-template-columns:minmax(0, 1fr) minmax(260px, 380px); gap:clamp(48px, 14vw, 220px); padding:clamp(96px, 13vw, 180px) clamp(20px, 15vw, 220px); background:var(--afterlight-bg); }
.afterlight-reading-copy { max-width:530px; }
.afterlight-reading h2, .afterlight-section-head h2, .afterlight-contact-copy h2 { margin:0 0 28px; font-size:clamp(32px, 4.5vw, 66px); line-height:.98; letter-spacing:-.055em; }
.afterlight-reading p, .afterlight-contact-copy p { max-width:58ch; margin:0 0 22px; font-size:clamp(16px, 1.35vw, 19px); line-height:1.55; }
.afterlight-reading-note { align-self:end; padding:24px 0 0 26px; border-left:4px solid var(--afterlight-accent); }
.afterlight-reading-note span { display:block; margin-bottom:16px; color:var(--afterlight-muted); font-size:14px; }
.afterlight-reading-note strong { font:500 clamp(23px, 2.2vw, 34px)/1.08 'Cormorant Garamond', Georgia, serif; }
.afterlight-stories-section { padding:clamp(96px, 11vw, 160px) clamp(20px, 5vw, 72px); background:var(--afterlight-paper); }
.afterlight-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:48px; margin:0 auto 62px; max-width:1320px; }
.afterlight-section-head h2 { max-width:11ch; margin-bottom:20px; }
.afterlight-section-head p { max-width:38ch; margin:0; color:var(--afterlight-muted); font-size:16px; line-height:1.5; }
.afterlight-view-control { display:flex; align-items:center; flex-wrap:wrap; gap:8px; max-width:330px; font-size:14px; }
.afterlight-view-control span { width:100%; color:var(--afterlight-muted); margin-bottom:5px; }
.afterlight-view-control button { border:0; background:#e8eaf0; color:var(--afterlight-ink); min-height:42px; padding:10px 14px; cursor:pointer; font:600 14px Manrope, sans-serif; }
.afterlight-view-control button.is-active, .afterlight-view-control button:hover { background:var(--afterlight-ink); color:#fff; }
.new-stories { max-width:1320px; margin:0 auto; display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); gap:clamp(22px, 3vw, 50px) 16px; }
.new-card { grid-column:span 4; color:inherit; text-decoration:none; position:relative; transition:transform .3s ease, opacity .3s ease; }
.new-card:nth-child(1) { grid-column:span 7; }
.new-card:nth-child(2) { grid-column:span 5; margin-top:clamp(40px, 8vw, 120px); }
.new-card:nth-child(3) { grid-column:span 4; }
.new-card:nth-child(4) { grid-column:span 4; margin-top:clamp(20px, 5vw, 80px); }
.new-card:nth-child(5) { grid-column:span 4; }
.new-card img { display:block; width:100%; height:clamp(250px, 28vw, 420px); object-fit:cover; background:#e8eaf0; transition:object-fit .25s ease, filter .3s ease; }
.new-card:nth-child(1) img { height:clamp(360px, 45vw, 630px); }
.new-card:nth-child(2) img { height:clamp(300px, 34vw, 480px); }
.new-card-meta { display:flex; justify-content:space-between; gap:12px; margin-top:14px; color:var(--afterlight-muted); font-size:13px; }
.new-card h3 { margin:11px 0 8px; max-width:20ch; font:600 clamp(22px, 2.1vw, 31px)/1.03 Manrope, sans-serif; letter-spacing:-.045em; }
.new-card p { max-width:42ch; margin:0; font-size:16px; line-height:1.45; color:var(--afterlight-muted); }
.new-card-arrow { position:absolute; right:14px; top:14px; display:grid; place-items:center; width:42px; height:42px; background:#fff; color:var(--afterlight-ink); font-size:21px; opacity:0; transition:opacity .2s ease; }
.new-card:hover, .new-card:focus-visible { transform:translateY(-5px); }
.new-card:hover .new-card-arrow, .new-card:focus-visible .new-card-arrow { opacity:1; }
.afterlight-contact { display:grid; grid-template-columns:1.1fr .9fr; min-height:640px; background:var(--afterlight-dark); color:#fff; }
.afterlight-contact-mosaic { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1.2fr .8fr; gap:6px; min-height:100%; }
.afterlight-contact-mosaic img { width:100%; height:100%; object-fit:cover; min-height:200px; filter:saturate(.72); }
.afterlight-contact-mosaic img:first-child { grid-row:span 2; }
.afterlight-contact-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(48px, 8vw, 120px); }
.afterlight-contact-copy h2 { max-width:9ch; }
.afterlight-contact-copy p { color:#d2d7e2; }
.afterlight-contact-link { align-self:flex-start; margin-top:24px; color:#fff; text-decoration:underline; text-decoration-thickness:3px; text-underline-offset:7px; font-size:16px; }
.afterlight-contact-link:hover, .afterlight-contact-link:focus-visible { color:var(--afterlight-accent); }
.afterlight-page a:focus-visible, .afterlight-page button:focus-visible { outline:3px solid var(--afterlight-accent); outline-offset:4px; }
.afterlight-page[data-crop="contain"] .new-card img { object-fit:contain; }
@media (max-width:800px) {
  .afterlight-hero { min-height:780px; padding:22px 20px 28px; }
  .afterlight-hero-top, .afterlight-hero-intro { font-size:14px; }
  .afterlight-hero-intro { display:block; padding-top:15px; }
  .afterlight-hero-intro p { margin-bottom:20px; }
  .afterlight-hero-image { inset:22% 0 28%; }
  .afterlight-contact-strip { height:46vh; max-width:none; overflow-x:auto; width:100vw; padding:0 20vw; left:0; transform:translateY(-50%); scrollbar-width:none; }
  .afterlight-contact-strip::-webkit-scrollbar { display:none; }
  .afterlight-contact-strip figure { width:72vw; }
  .afterlight-contact-strip figure:nth-child(1), .afterlight-contact-strip figure:nth-child(4) { width:60vw; }
  .afterlight-reading { display:block; padding:88px 20px 110px; }
  .afterlight-reading-note { margin-top:64px; max-width:260px; }
  .afterlight-section-head { display:block; margin-bottom:44px; }
  .afterlight-section-head h2 { max-width:12ch; }
  .afterlight-view-control { margin-top:34px; }
  .new-stories { display:block; }
  .new-card, .new-card:nth-child(1), .new-card:nth-child(2), .new-card:nth-child(3), .new-card:nth-child(4), .new-card:nth-child(5) { display:block; margin:0 0 58px; }
  .new-card img, .new-card:nth-child(1) img, .new-card:nth-child(2) img { height:62vw; max-height:420px; }
  .new-card h3 { font-size:26px; }
  .afterlight-contact { display:block; }
  .afterlight-contact-mosaic { height:390px; }
  .afterlight-contact-copy { min-height:470px; padding:64px 20px 80px; }
}
@media (prefers-reduced-motion:reduce) {
  .afterlight-page *, .afterlight-page *::before, .afterlight-page *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
