/* Coastal research is a section of the existing site, not a tenth navigation world. */
body.coastal-page {
  --ink: #eef5ef;
  --muted: #bcd0cc;
  --line: #3a5c60;
  --accent: #bce3bd;
  --accent-2: #d9c7a5;
  --bg-panel: #112f35;
  --bg-strong: #15383b;
  --world-base: #081e25;
  --world-glow: #1b4445;
  --accent-soft: #214940;
}
.coastal-page main { line-height: 1.7; }
.coastal-page h1, .coastal-page h2, .coastal-page h3 { text-wrap: balance; }
.coastal-page h3 { font-size: 1.35rem; line-height: 1.35; }
.coastal-page p { max-width: 78ch; }
.coastal-page :is(a, button, summary):focus-visible { outline-color: #edce93; }
.coastal-page main a:not(.button) { color: var(--accent); text-decoration: underline; text-underline-offset: .2em; }
.coastal-page .hero-copy h1 { max-width: 12ch; font-size: clamp(3rem, 6vw, 5.6rem); }
.coastal-page .hero-copy .coastal-tagline { color: #e3d3af; font-size: 1.1rem; }
.coastal-status { font-size: .76rem; letter-spacing: .065em; line-height: 1.65; font-weight: 700; color: #d9e9cf; }
.coastal-page .hero-copy .coastal-status { font-size: .76rem; border-left: 3px solid #a8cca1; padding-left: 14px; }
.coastal-page .button { white-space: normal; text-align: center; line-height: 1.4; min-height: 46px; }
.coastal-art { margin: 0; position: relative; }
.coastal-art img { width: 100%; height: auto; display: block; }
.coastal-art figcaption { color: #bcd0cc; font-size: .75rem; text-align: right; }
.coastal-evidence-card { border: 1px solid #688777; border-left: 4px solid #c8d3a2; border-radius: 3px; padding: 24px; background: #122e32; }
.coastal-evidence-card p:not(.eyebrow) { color: #eef5ef; font-size: 1.35rem; line-height: 1.65; }
.coastal-evidence-card span { color: #d4dfc2; font-size: .7rem; letter-spacing: .07em; }
.coastal-disclaimer { margin-top: 36px; padding: 14px 20px; background: #112f35; border-left: 3px solid #dbc99f; }
.coastal-disclaimer p { margin: 0; color: #dfebe6; font-size: .9375rem; max-width: none; }
.coastal-nav { display: flex; gap: 8px 26px; flex-wrap: wrap; padding-top: 28px; }
.coastal-nav a { display: inline-flex; min-height: 44px; align-items: center; font-size: .875rem; }
.coastal-work-list { margin-top: 30px; }
.coastal-work { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 48px; padding-block: 34px; border-top: 1px solid var(--line); }
.coastal-work h3 { max-width: 18ch; font-size: clamp(1.5rem, 2.8vw, 2rem); }
.coastal-work p:first-child { margin-top: 0; }
.coastal-note { background: #112f35; border-left: 2px solid #b6c9a8; padding: 18px 22px; margin-block: 26px; color: #d4e4d8; }
.coastal-note p { margin: 0; }
.coastal-flow { list-style: none; display: grid; grid-template-columns: 1fr; margin: 28px 0; padding: 0; }
.coastal-flow li { padding: 9px 18px; border-left: 1px solid #9cbfa4; color: #ecf1df; }
.coastal-flow li + li::before { content: '↓'; display: block; color: #bcd0cc; margin: -9px 0 4px; }
.coastal-paper-grid, .coastal-two-col, .coastal-funding-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.coastal-paper { background: #112f35; border: 1px solid var(--line); padding: 30px; border-radius: 5px; }
.coastal-paper h3 { margin-top: 0; }
.coastal-paper:target, .coastal-source:target { outline: 2px solid #edce93; outline-offset: 6px; }
.coastal-page main details { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 10px; }
.coastal-page main summary { cursor: pointer; color: #d8eacb; min-height: 44px; padding-block: 9px; font-size: .925rem; }
.coastal-page main details p { font-size: .925rem; }
.coastal-feature { background: #e8eddf; color: #142f31; border-top: 5px solid #aab98d; padding: clamp(24px, 4vw, 52px); border-radius: 4px; }
.coastal-page .coastal-feature :is(p, h2, h3) { color: #203e3e; }
.coastal-page .coastal-feature .eyebrow, .coastal-page .coastal-feature .coastal-status { color: #395d48; }
.coastal-page .coastal-feature a:not(.button) { color: #244f42; }
.coastal-feature h2 { max-width: 22ch; font-size: clamp(1.9rem, 3.5vw, 3rem); line-height: 1.2; }
.coastal-abstract { max-width: 76ch; }
.coastal-funding { border-top: 1px solid #749189; padding: 22px 0; }
.coastal-funding h3 { margin-block: 12px; }
.coastal-funding > p:nth-of-type(2) { font-size: .875rem; color: #ded1ae; }
.coastal-opportunity { padding: 22px; border: 1px solid var(--line); border-radius: 4px; }
.coastal-document-hero h1 { font-size: clamp(2.6rem, 5vw, 4.5rem); line-height: 1.1; max-width: 20ch; }
.coastal-lede { font-size: 1.1rem; line-height: 1.8; }
.coastal-source-list { margin-top: 36px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.coastal-source { border-top: 1px solid var(--line); padding-top: 24px; }
.coastal-source-date { font-size: .85rem; color: #d4d8bd; }
.coastal-page [id] { scroll-margin-top: 110px; }
@media (prefers-reduced-motion: no-preference) {
  .coastal-art { animation: coastal-arrive .65s ease-out both; }
  @keyframes coastal-arrive { from { opacity: .4; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
  .coastal-page *, .coastal-page *::before, .coastal-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (max-width: 800px) {
  body.coastal-page .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .coastal-work { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .coastal-work h3 { max-width: 28ch; }
  .coastal-paper-grid, .coastal-two-col, .coastal-funding-grid, .coastal-source-list { grid-template-columns: minmax(0, 1fr); }
  .coastal-art { max-width: 440px; margin-inline: auto; }
  .coastal-page .hero-copy h1 { font-size: clamp(2.7rem, 10vw, 4.4rem); }
}
@media (max-width: 420px) {
  .coastal-page .hero-actions .button { width: 100%; }
  .coastal-paper { padding: 22px; }
  .coastal-page .coastal-status { overflow-wrap: anywhere; }
}
