/* Projects inherit the existing One Journey typography and footer. */
.project-site .header { position:sticky; color:var(--color-text); background:var(--color-bg); border-bottom:1px solid var(--color-divider); }
.project-site .header::before { display:none; }
.project-site .header.is-hidden { transform:none; }
.project-site .nav a[aria-current=page] { opacity:1; border-bottom:1px solid currentColor; }
.project-intro { padding-top:clamp(48px,8vw,112px); padding-bottom:clamp(40px,6vw,80px); }
.project-intro h1 { font:300 clamp(48px,7.5vw,106px)/1.02 var(--font-display); letter-spacing:-.04em; margin:24px 0 32px; }
.project-intro h1 em,.project-next h2 em,.project-story h2 em,.project-roadmap h2 em { color:var(--color-moss); }
.project-lede { max-width:55ch; color:var(--color-text-muted); }
.collection-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; flex-wrap:wrap; }
.collection-heading h2 { font:300 var(--text-xl)/1.15 var(--font-display); }
.collection-heading p { font-size:var(--text-sm); color:var(--color-text-muted); }
.project-feature { display:grid; grid-template-columns:1.3fr 1fr; background:var(--color-surface); border-radius:var(--radius-xl); overflow:hidden; }
.project-feature__image { display:block; min-height:420px; }
.project-feature__image img { width:100%; height:100%; object-fit:cover; }
.project-feature__copy { padding:clamp(24px,4vw,56px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:20px; }
.project-pill { display:inline-flex; font-size:12px; line-height:1.5; letter-spacing:.04em; padding:6px 12px; border:1px solid currentColor; border-radius:99px; }
.project-feature h3 { font:300 clamp(32px,3.6vw,52px)/1.05 var(--font-display); letter-spacing:-.02em; }
.project-feature__copy p { color:var(--color-text-muted); font-size:var(--text-sm); }
.project-feature__copy .link-arrow { margin-top:0; }
.project-transparency { display:grid; grid-template-columns:1fr 2fr; gap:32px; margin-top:32px; padding:24px 0; border-bottom:1px solid var(--color-divider); }
.project-transparency p { color:var(--color-text-muted); font-size:var(--text-sm); max-width:70ch; }
.project-next { padding-block:64px 48px; }
.project-next h2 { font:300 var(--text-2xl)/1.1 var(--font-display); margin-bottom:24px; }
.project-next p { max-width:60ch; color:var(--color-text-muted); }
.ocean-hero { position:relative; min-height:640px; display:flex; align-items:end; color:#f1f9f5; background:#083f4d; isolation:isolate; }
.ocean-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; z-index:-2; }
.ocean-hero__shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,30,40,.15),rgba(3,30,40,.75)); z-index:-1; }
.ocean-hero__content { width:100%; padding-block:40px 56px; }
.project-back { display:block; width:fit-content; font-size:var(--text-sm); margin-bottom:40px; border-bottom:1px solid rgba(255,255,255,.4); }
.ocean-hero h1 { font:300 clamp(46px,7vw,96px)/1.05 var(--font-display); letter-spacing:-.03em; margin:24px 0 32px; max-width:900px; }
.ocean-hero h1 em { color:#a7f1e5; }
.hero-project-meta { display:flex; gap:20px; align-items:center; flex-wrap:wrap; font-size:var(--text-sm); }
.hero-photo-credit { font-size:11px; line-height:1.4; margin:20px 0 0; color:#fff; max-width:600px; }
.hero-photo-credit a { text-decoration:underline; text-underline-offset:2px; }
.project-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-block:32px; gap:24px; border-bottom:1px solid var(--color-divider); }
.project-facts span { font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--color-text-muted); }
.project-facts p { margin-top:8px; font-size:var(--text-sm); }
.project-story,.project-roadmap { display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(32px,6vw,80px); padding-block:clamp(48px,7vw,96px); }
.project-story h2,.project-roadmap h2,.project-support h2 { font:300 var(--text-2xl)/1.1 var(--font-display); letter-spacing:-.025em; margin:20px 0 24px; }
.project-copy p { margin-bottom:20px; color:var(--color-text-muted); }
.project-note { font-size:12px !important; color:var(--color-text-muted); line-height:1.6; }
.ocean-image-pair { display:grid; grid-template-columns:1.2fr 1fr; gap:24px; }
.ocean-image-pair img { height:420px; width:100%; object-fit:cover; border-radius:16px; }
.ocean-image-pair figure:last-child { padding-top:56px; }
.ocean-image-pair figcaption { font-size:12px; color:var(--color-text-muted); margin-top:12px; }
.original-encounter img { height:auto; aspect-ratio:4/3; object-fit:contain; }
.whale-encounter h2 { font:300 var(--text-2xl)/1.1 var(--font-display); letter-spacing:-.025em; margin:20px 0 24px; }
.whale-encounter h2 em { color:var(--color-moss); }
.whale-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; margin:32px 0 20px; }
.whale-gallery figure:first-child { grid-column:1/-1; }
.whale-gallery img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; border-radius:16px; }
.whale-gallery figcaption { font-size:12px; color:var(--color-text-muted); margin-top:12px; }
@media(max-width:860px) { .whale-gallery { grid-template-columns:minmax(0,1fr); } }
.project-original-video { padding-top:64px; }
.project-original-video h2 { font:300 var(--text-2xl)/1.1 var(--font-display); margin:20px 0; }
.project-original-video>p { max-width:75ch; color:var(--color-text-muted); margin-bottom:20px; }
.project-original-video video { width:100%; max-height:680px; background:#073c4a; border-radius:16px; margin-bottom:16px; }
.roadmap-list { list-style:none; }
.roadmap-list li { display:grid; grid-template-columns:40px 1fr; gap:20px; padding:24px 0; border-top:1px solid var(--color-divider); }
.roadmap-list li>span { font-size:12px; color:var(--color-primary); }
.roadmap-list h3 { font-size:var(--text-lg); margin-bottom:12px; }
.roadmap-list p { font-size:var(--text-sm); color:var(--color-text-muted); }
.project-updates { padding-bottom:64px; }
.update-entry { display:grid; grid-template-columns:1fr 2fr; gap:24px; border-top:1px solid var(--color-divider); padding:24px 0; }
.update-entry time { font-size:12px; color:var(--color-text-muted); }
.update-entry h3 { font-size:var(--text-lg); margin-bottom:12px; }
.update-entry p { font-size:var(--text-sm); color:var(--color-text-muted); max-width:70ch; }
.project-support { background:#073c4a; color:#f1f9f5; padding-block:64px; }
.project-support__inner { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(32px,6vw,80px); align-items:center; }
.project-support h2 em { color:#9de6da; }
.project-support__inner>div>p { max-width:48ch; color:#d2e9e7; }
.project-support__card { background:var(--color-bg); color:var(--color-text); padding:32px; border-radius:20px; }
.project-support__card h3 { font:300 var(--text-xl)/1.1 var(--font-display); margin:24px 0 16px; }
.project-support__card p { font-size:var(--text-sm); color:var(--color-text-muted); }
.project-support__inner>.project-support__card>p { color:var(--color-text-muted); }
.project-support__card .btn { margin:24px 0 12px; }
.project-support__card .btn:disabled { opacity:.55; cursor:not-allowed; }
.project-details { padding-block:32px 40px; }
.project-details details { border-bottom:1px solid var(--color-divider); padding:16px 0; font-size:var(--text-sm); }
.project-details summary { cursor:pointer; }
.project-details p { max-width:80ch; margin-top:16px; color:var(--color-text-muted); }
.project-details a { text-decoration:underline; text-underline-offset:3px; }
.home-project { padding-block:clamp(48px,6vw,80px); }
.home-project__head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; flex-wrap:wrap; }
.home-project__head h2 { font:300 var(--text-2xl)/1.1 var(--font-display); margin-top:12px; }
.home-project__card { display:grid; grid-template-columns:1.15fr 1fr; background:var(--color-surface); overflow:hidden; border-radius:24px; }
.home-project__card>img { height:380px; width:100%; object-fit:cover; }
.home-project__copy { padding:clamp(24px,4vw,48px); align-self:center; }
.home-project__copy h3 { font:300 var(--text-xl)/1.1 var(--font-display); margin:20px 0 16px; }
.home-project__copy p { font-size:var(--text-sm); color:var(--color-text-muted); }
.nav { gap:clamp(12px,1.6vw,24px); }
@media(max-width:860px) {
  .project-feature,.project-story,.project-roadmap,.project-support__inner,.home-project__card { grid-template-columns:minmax(0,1fr); }
  .project-feature__image { min-height:300px; height:320px; }
  .project-transparency,.update-entry { grid-template-columns:1fr; gap:16px; }
  .project-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ocean-hero { min-height:560px; }
  .ocean-image-pair { grid-template-columns:1fr; }
  .ocean-image-pair figure:last-child { padding-top:0; }
  .ocean-image-pair img { height:320px; }
  .home-project__card>img { height:300px; }
  .project-support__card { padding:24px; }
}
