@import url("/assets/releases/20261015-main/assets/staging-fonts/fonts.css");

:root { --paper:#f1ece1; --cream:#faf7f0; --ink:#2a2b26; --muted:#5e5f58; --moss:#3f4d37; --clay:#9a4f32; --line:#c9c1b0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--cream); color:var(--ink); font-family:"DM Sans",sans-serif; margin:0; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
main { overflow:hidden; }
h1,h2,h3 { font-family:Fraunces,Georgia,serif; font-weight:400; letter-spacing:-.04em; }
h1,h2,h3,p { margin-top:0; }
.eyebrow { color:var(--clay); font-size:.68rem; font-weight:600; letter-spacing:.16em; margin:0 0 1.3rem; text-transform:uppercase; }
figcaption { color:var(--muted); font-size:.78rem; line-height:1.45; margin-top:.7rem; max-width:30rem; }
.reference-figure { margin:0; }
.reference-figure img { filter:grayscale(1) saturate(.35); object-fit:cover; width:100%; }

.opening { align-items:stretch; background:var(--cream); display:grid; grid-template-columns:2fr 1fr; }
.opening-media { margin:0; order:1; }
.opening-media img { aspect-ratio:4 / 3; height:auto; object-fit:cover; width:100%; }
.opening-copy { align-self:center; order:2; padding:clamp(3.5rem,4.5vw,4rem) clamp(2rem,5.2vw,6rem); }
.opening-copy h1 { font-size:clamp(3.25rem,5.2vw,5.5rem); line-height:.95; margin-bottom:1.7rem; max-width:10ch; }
.opening-copy > p:not(.eyebrow) { color:var(--muted); font-size:clamp(1rem,1.25vw,1.18rem); line-height:1.6; max-width:26rem; }
.opening-copy .opening-forming { border-top:1px solid var(--line); font-size:.95rem; margin-top:1.5rem; padding-top:1.2rem; }
.opening-copy .opening-origin { font-size:.95rem; }
.opening-copy .opening-origin a { color:var(--moss); display:inline-block; font-size:.78rem; font-weight:600; letter-spacing:.03em; margin-top:.7rem; }
.opening-copy .opening-location { color:var(--clay); font-size:.75rem; letter-spacing:.08em; margin-top:1.5rem; text-transform:uppercase; }

.land-first { align-items:center; background:var(--paper); display:grid; gap:clamp(2.5rem,5vw,5rem); grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); padding:clamp(4rem,6vw,5.75rem) max(1.25rem,calc((100vw - 80rem) / 2)); }
.land-first-copy { max-width:31rem; }
.land-first-copy h2 { font-size:clamp(3rem,4.7vw,5rem); line-height:.98; margin-bottom:2rem; max-width:10ch; }
.land-first-copy p:not(.eyebrow) { color:var(--muted); font-size:1rem; line-height:1.75; margin-bottom:1rem; }
.land-first-media { align-self:center; }
.land-first-media img { aspect-ratio:3 / 2; }

.everyday { background:var(--cream); display:grid; gap:clamp(1.5rem,3vw,3rem); grid-template-areas:"heading media copy" "support media copy"; grid-template-columns:minmax(0,.8fr) minmax(0,1.15fr) minmax(0,.85fr); padding:clamp(4rem,6vw,5.75rem) max(1.25rem,calc((100vw - 80rem) / 2)); }
.everyday-heading { grid-area:heading; align-self:end; }
.everyday-heading h2 { font-size:clamp(2.8rem,4vw,4.4rem); line-height:1; margin:0; max-width:10ch; }
.everyday-media { grid-area:media; align-self:center; }
.everyday-media img { aspect-ratio:3 / 2; }
.everyday-copy { align-self:center; grid-area:copy; max-width:25rem; }
.everyday-copy p { color:var(--muted); font-size:1rem; line-height:1.75; margin-bottom:1.1rem; }
.everyday-support { align-self:start; grid-area:support; }
.everyday-support img { aspect-ratio:3 / 2; }
.quiet-link,.primary-link { border-bottom:1px solid currentColor; display:inline-flex; font-size:.78rem; font-weight:600; gap:2.8rem; letter-spacing:.03em; padding-bottom:.55rem; }

.governance { background:var(--moss); color:#fff; display:grid; gap:clamp(2.5rem,5vw,5rem); grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); padding:clamp(4rem,6vw,5.75rem) max(1.25rem,calc((100vw - 80rem) / 2)); }
.governance .eyebrow { color:#e1b79e; }
.governance-intro { max-width:34rem; }
.governance-intro h2 { font-size:clamp(3rem,4.2vw,4.6rem); line-height:.98; margin-bottom:2rem; max-width:11ch; }
.governance-intro p:not(.eyebrow) { color:#eef0e8; font-size:1rem; line-height:1.75; margin-bottom:1rem; }
.governance-path { align-self:center; border-top:1px solid rgb(255 255 255 / 40%); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.governance-step { border-bottom:1px solid rgb(255 255 255 / 40%); padding:1.25rem 1.25rem 1.35rem 0; }
.governance-step:nth-child(even) { border-left:1px solid rgb(255 255 255 / 40%); padding-left:1.5rem; }
.governance-step span { color:#d9c7a3; display:block; font-size:.68rem; letter-spacing:.14em; margin-bottom:.75rem; }
.governance-step h3 { font-size:2rem; line-height:1; margin-bottom:.75rem; }
.governance-step p { color:#eef0e8; font-size:.95rem; line-height:1.65; margin:0; }

.care-repair { align-items:center; background:var(--paper); display:grid; gap:clamp(2rem,4vw,4rem); grid-template-areas:"care image alloparent"; grid-template-columns:minmax(0,1fr) minmax(16rem,.72fr) minmax(0,1fr); padding:clamp(4rem,6vw,5.75rem) max(1.25rem,calc((100vw - 80rem) / 2)); }
.care-repair-copy { grid-area:care; max-width:30rem; }
.care-repair h2 { font-size:clamp(2.8rem,3.9vw,4.2rem); line-height:.98; margin-bottom:1.4rem; }
.care-repair p:not(.eyebrow) { color:var(--muted); font-size:1rem; line-height:1.75; margin-bottom:1rem; }
.care-media { grid-area:image; margin:0; }
.care-media img { aspect-ratio:3 / 4; object-fit:cover; width:100%; }
.alloparenting-copy { grid-area:alloparent; max-width:30rem; }
.alloparenting-copy h2 { font-size:clamp(2.5rem,3.6vw,3.8rem); line-height:1; margin-bottom:1.3rem; }

.invitation { align-items:end; border-top:1px solid var(--line); display:grid; gap:clamp(2.5rem,5vw,5.5rem); grid-template-columns:minmax(0,1.1fr) minmax(22rem,.9fr); padding:clamp(3rem,4.5vw,4rem) max(1.25rem,calc((100vw - 80rem) / 2)); }
.invitation-copy { max-width:40rem; }
.invitation-copy h2 { font-size:clamp(2.75rem,3.2vw,3rem); line-height:1; margin-bottom:1.45rem; max-width:12ch; }
.invitation-copy > p:not(.eyebrow) { color:var(--muted); font-size:1rem; line-height:1.7; max-width:35rem; }
.invitation-links { display:grid; gap:0; }
.invitation-links a { align-items:center; border-top:1px solid var(--line); display:flex; font-size:.85rem; justify-content:space-between; min-height:3.4rem; }
.invitation-links a:last-child { border-bottom:1px solid var(--line); }
.invitation-links .primary-link { border-bottom:0; color:var(--moss); font-weight:600; gap:0; letter-spacing:.06em; min-height:4rem; text-transform:uppercase; }

@media (max-width: 60rem) {
  .opening { display:flex; flex-direction:column; }
  .opening-copy { order:1; padding:4rem max(1.25rem,calc((100vw - 56rem) / 2)); }
  .opening-media { order:2; }
  .everyday { grid-template-areas:"heading media" "support media" "copy media"; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); }
  .governance,.care-repair { gap:2.75rem; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .care-repair { grid-template-areas:"care image" "alloparent alloparent"; }
  .alloparenting-copy { max-width:42rem; }
}

@media (max-width: 42rem) {
  .opening { display:flex; flex-direction:column; }
  .opening-copy { order:1; padding:3.25rem 1.25rem 2.75rem; }
  .opening-copy h1 { font-size:clamp(3.15rem,15vw,4.5rem); margin-bottom:1.3rem; }
  .opening-media { order:2; }
  .opening-media img { aspect-ratio:4 / 3; }
  .land-first { display:flex; flex-direction:column; gap:1.75rem; padding:3.25rem 1.25rem; }
  .land-first-copy { max-width:none; }
  .land-first-copy h2 { font-size:clamp(2.8rem,13vw,3.8rem); }
  .land-first-media { width:100%; }
  .everyday { display:flex; flex-direction:column; gap:1.75rem; padding:3.25rem 1.25rem; }
  .everyday-heading { order:1; }
  .everyday-media { order:2; width:100%; }
  .everyday-copy { order:3; max-width:none; }
  .everyday-support { order:4; width:min(100%,22rem); }
  .everyday-heading h2 { font-size:clamp(2.8rem,12vw,3.7rem); }
  .governance { display:block; padding:3.25rem 1.25rem; }
  .governance-intro { max-width:none; }
  .governance-intro h2 { font-size:clamp(2.8rem,12vw,3.7rem); }
  .governance-path { margin-top:1.875rem; grid-template-columns:1fr; }
  .governance-step:nth-child(even) { border-left:0; padding-left:0; }
  .care-repair { display:flex; flex-direction:column; gap:1.875rem; padding:3.25rem 1.25rem; }
  .care-repair-copy,.alloparenting-copy { max-width:none; }
  .care-media { order:2; width:min(100%,22rem); }
  .care-repair-copy { order:1; }
  .alloparenting-copy { order:3; }
  .invitation { display:block; padding:3rem 1.25rem 3.5rem; }
  .invitation-copy h2 { font-size:clamp(2.2rem,9vw,2.5rem); }
  .invitation-links { margin-top:1.75rem; }
}

@media (min-width: 43rem) and (max-width: 52rem) {
  .governance { display:block; }
  .governance-path { margin-top:3.5rem; }
}
