/* Across the Water feature — page-specific styles (extends fe-*) */
.atw-hero-photo img { max-height: 560px; object-fit: cover; aspect-ratio: 4 / 3.4; }
.atw-hero-photo figcaption a { color: inherit; }
.atw-big { font-family: 'Fraunces', Georgia, serif; font-size: 2.6rem; font-weight: 700; line-height: 1; margin: 0 0 0.75rem !important; color: #e0553f !important; font-variant-numeric: tabular-nums; }
.fe-morning .fe-note { font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 1.15rem; line-height: 1.5; color: rgba(245,237,220,0.9); max-width: 820px; margin: 2.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid rgba(245,237,220,0.18); }

/* Image strip */
.atw-strip { display: grid; grid-template-columns: 1.3fr 1fr 1.3fr; gap: 1rem; margin: 0 0 3rem; }
.atw-strip figure { margin: 0; }
.atw-strip img { width: 100%; height: 240px; object-fit: cover; display: block; filter: saturate(0.9); }
.atw-strip figcaption { font-family: 'Inter', sans-serif; font-size: 0.74rem; line-height: 1.45; color: rgba(11,18,32,0.65); margin-top: 0.5rem; }
.atw-strip figcaption strong { color: var(--ink); }

/* Legend */
.atw-legend { display: flex; gap: 1.25rem; flex-wrap: wrap; margin: 0 0 1.5rem; font-family: 'Inter', sans-serif; font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; }
.atw-legend .k { display: inline-flex; align-items: center; gap: 0.45rem; color: rgba(11,18,32,0.75); }
.atw-legend .k::before { content: ""; width: 12px; height: 12px; display: inline-block; }
.atw-legend .uk::before { background: #1f3a5f; }
.atw-legend .us::before { background: var(--accent); }
.atw-legend .both::before { background: linear-gradient(90deg, #1f3a5f 50%, var(--accent) 50%); }

/* Two shores timeline */
.atw-shores { list-style: none; margin: 0; padding: 0; position: relative; }
.atw-shores::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; background: rgba(11,18,32,0.2); transform: translateX(-1px); }
.atw-shores > li { position: relative; display: grid; grid-template-columns: 1fr 7rem 1fr; align-items: start; margin: 0 0 1.75rem; }
.atw-shores .d { grid-column: 2; grid-row: 1; justify-self: center; position: relative; z-index: 1; background: var(--parchment); font-family: 'Inter', sans-serif; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.04em; color: var(--ink); padding: 0.35rem 0.55rem; border: 2px solid var(--ink); text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
.atw-shores .t { grid-row: 1; background: #fbf7ee; border: 1px solid rgba(11,18,32,0.14); padding: 1.15rem 1.3rem 1.25rem; }
.atw-shores li.uk .t { grid-column: 1; border-top: 3px solid #1f3a5f; }
.atw-shores li.us .t { grid-column: 3; border-top: 3px solid var(--accent); }
.atw-shores li.both .t { grid-column: 1 / span 3; border-top: 3px solid transparent; border-image: linear-gradient(90deg, #1f3a5f 50%, var(--accent) 50%) 1; max-width: 760px; justify-self: center; margin-top: 2.6rem; }
.atw-shores li.both .d { position: absolute; left: 50%; transform: translateX(-50%); top: 0; }
.atw-shores .w { font-family: 'Inter', sans-serif; font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 700; color: rgba(11,18,32,0.55); margin: 0 0 0.4rem; }
.atw-shores li.uk .w { color: #1f3a5f; }
.atw-shores li.us .w { color: var(--accent); }
.atw-shores h3 { font-family: 'Fraunces', Georgia, serif; font-size: 1.22rem; line-height: 1.25; font-weight: 700; margin: 0 0 0.55rem; }
.atw-shores .t > p:not(.w) { font-family: 'Fraunces', Georgia, serif; font-size: 0.98rem; line-height: 1.55; margin: 0; color: rgba(11,18,32,0.85); }
.atw-shores .t a { font-family: 'Inter', sans-serif; font-size: 0.76rem; font-weight: 600; color: rgba(11,18,32,0.7); white-space: nowrap; }
.atw-shores figure { margin: 1rem 0 0; display: grid; grid-template-columns: 110px 1fr; gap: 0.85rem; align-items: end; }
.atw-shores figure img { width: 110px; height: 136px; object-fit: cover; object-position: top; display: block; }
.atw-shores li:has(img[src*="trumbull"]) figure { grid-template-columns: 1fr; }
.atw-shores li:has(img[src*="trumbull"]) figure img { width: 100%; height: auto; aspect-ratio: 16/9; object-position: center; }
.atw-shores figcaption { font-family: 'Inter', sans-serif; font-size: 0.72rem; line-height: 1.45; color: rgba(11,18,32,0.6); }
.atw-shores li.now .t { background: var(--ink); color: var(--parchment); border-color: var(--ink); }
.atw-shores li.now .t h3 { color: var(--parchment); }
.atw-shores li.now .t > p:not(.w) { color: rgba(245,237,220,0.88); }
.atw-shores li.now .w { color: #e0553f; }
.atw-shores li.now .t a { color: var(--parchment); }
.atw-shores li.now .d { background: var(--ink); color: var(--parchment); border-color: var(--ink); }

/* Where we stand */
.atw-now-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1.25rem; margin: 0 0 2rem; }
.atw-now { background: #fbf7ee; border: 1px solid rgba(11,18,32,0.16); padding: 1.4rem 1.5rem 1.5rem; }
.atw-now .fe-statute-head { color: var(--accent); }
.atw-now p { font-family: 'Fraunces', Georgia, serif; font-size: 0.99rem; line-height: 1.55; margin: 0 0 0.9rem; color: rgba(11,18,32,0.85); }
.atw-now a { color: var(--ink); }
.atw-now.dark { background: var(--ink); border-color: var(--ink); }
.atw-now.dark .fe-statute-head { color: #e0553f; }
.atw-now.dark p { color: rgba(245,237,220,0.9); font-size: 1.08rem; }
.atw-now-grid + .fe-callout, #now .fe-callout { border-left: 4px solid var(--accent); background: #efe6d2; padding: 1.1rem 1.4rem; max-width: 880px; }
#now .fe-callout p { font-family: 'Fraunces', Georgia, serif; font-size: 1rem; line-height: 1.55; margin: 0; }

/* Hope */
.atw-hope { background: #efe6d2; border-top: 1px solid rgba(11,18,32,0.15); }
.atw-hope-grid { grid-template-columns: repeat(3, 1fr); }
.atw-hope-grid .fe-act-card.dark { grid-column: span 2; }
.atw-hope .fe-act-card:hover { border-color: rgba(11,18,32,0.18); }
.atw-hope .fe-act-card.dark:hover { border-color: var(--ink); }
.atw-src { margin: 0 !important; }
.atw-src a { font-family: 'Inter', sans-serif; font-size: 0.76rem; font-weight: 700; color: var(--accent); }
.fe-act-card.dark .atw-src a { color: #e0553f; }

/* Principles */
.atw-lede-light { max-width: 860px; font-style: italic; }
.atw-principles { list-style: none; margin: 0 0 3rem; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; counter-reset: none; }
.atw-principles li { border-top: 3px solid #e0553f; padding-top: 1rem; }
.atw-principles .n { display: block; font-family: 'Fraunces', Georgia, serif; font-size: 2rem; font-weight: 700; color: #e0553f; line-height: 1; margin: 0 0 0.6rem; }
.atw-principles h3 { font-family: 'Fraunces', Georgia, serif; font-size: 1.12rem; font-weight: 700; line-height: 1.25; margin: 0 0 0.5rem; color: var(--parchment); }
.atw-principles p { font-family: 'Fraunces', Georgia, serif; font-size: 0.94rem; line-height: 1.5; margin: 0 0 0.6rem; color: rgba(245,237,220,0.88); }
.atw-principles .src { font-family: 'Inter', sans-serif; font-size: 0.72rem; line-height: 1.4; color: rgba(245,237,220,0.62); margin: 0; }
.atw-sign { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.atw-sign-col { background: rgba(245,237,220,0.05); border-top: 3px solid rgba(245,237,220,0.3); padding: 1.5rem 1.6rem 1.7rem; }
.atw-sign-col h3 { font-family: 'Fraunces', Georgia, serif; font-size: 1.3rem; font-weight: 700; margin: 0 0 0.75rem; color: var(--parchment); }
.atw-sign-col p { font-family: 'Fraunces', Georgia, serif; font-size: 0.98rem; line-height: 1.55; margin: 0 0 0.9rem; color: rgba(245,237,220,0.88); }
.atw-sign-col a { color: var(--parchment); }
.atw-signers { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid rgba(245,237,220,0.15); }
.atw-signers p { margin: 0 0 0.3rem; font-size: 0.92rem; }
.atw-form { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }
.atw-form input[type=email] { flex: 1 1 220px; min-width: 0; font: 500 1rem 'Inter', sans-serif; padding: 0.8rem 0.9rem; border: 1px solid rgba(245,237,220,0.35); background: rgba(245,237,220,0.08); color: var(--parchment); }
.atw-form input[type=email]::placeholder { color: rgba(245,237,220,0.5); }
.atw-form .btn { flex: 0 0 auto; }
.atw-consent { flex: 1 1 100%; display: flex; gap: 0.6rem; align-items: flex-start; font-family: 'Inter', sans-serif; font-size: 0.8rem; line-height: 1.45; color: rgba(245,237,220,0.8); cursor: pointer; }
.atw-consent input { margin-top: 0.2rem; width: 1rem; height: 1rem; flex: 0 0 auto; accent-color: #e0553f; }
.atw-status { flex: 1 1 100%; font-family: 'Inter', sans-serif; font-size: 0.85rem; margin: 0; min-height: 1.2em; color: rgba(245,237,220,0.85); }
.atw-status.is-error { color: #ffb4a6; }
.atw-status.is-success { color: #b9e4c3; }

/* Action */
.atw-act-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.atw-act-card { background: #fbf7ee; border: 1px solid rgba(11,18,32,0.16); border-top: 3px solid var(--accent); padding: 1.5rem 1.6rem 1.6rem; }
.atw-act-card:nth-child(2) { border-top-color: #1f3a5f; }
.atw-act-card:nth-child(2) .fe-statute-head { color: #1f3a5f; }
.atw-act-card .fe-statute-head { color: var(--accent); }
.atw-act-card h3 { font-family: 'Fraunces', Georgia, serif; font-size: 1.3rem; font-weight: 700; line-height: 1.25; margin: 0 0 0.7rem; }
.atw-act-card p { font-family: 'Fraunces', Georgia, serif; font-size: 0.98rem; line-height: 1.55; color: rgba(11,18,32,0.82); margin: 0 0 0.9rem; }
.atw-act-card ul { list-style: none; margin: 0; padding: 0; }
.atw-act-card li { border-top: 1px solid rgba(11,18,32,0.12); }
.atw-act-card li a { display: block; padding: 0.7rem 0; font-family: 'Inter', sans-serif; font-size: 0.92rem; font-weight: 600; color: var(--ink); text-decoration: none; }
.atw-act-card li a:hover { color: var(--accent); }
.atw-sources p { font-size: 0.9rem !important; color: rgba(11,18,32,0.8); }

@media (max-width: 1100px) {
  .atw-principles { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .atw-strip { grid-template-columns: 1fr 1fr; }
  .atw-strip figure:first-child { grid-column: 1 / -1; }
  .atw-now-grid, .atw-sign, .atw-act-grid { grid-template-columns: 1fr; }
  .atw-hope-grid { grid-template-columns: 1fr 1fr; }
  /* timeline collapses to a single rail on the left */
  .atw-shores::before { left: 0.9rem; }
  .atw-shores > li { grid-template-columns: 1fr; padding-left: 2.4rem; }
  .atw-shores .d, .atw-shores li.both .d { grid-column: 1; grid-row: 1; justify-self: start; position: relative; left: auto; transform: none; margin: 0 0 0.5rem -2.4rem; }
  .atw-shores li.uk .t, .atw-shores li.us .t, .atw-shores li.both .t { grid-column: 1; grid-row: 2; margin-top: 0; max-width: none; }
}
@media (max-width: 560px) {
  .atw-strip { grid-template-columns: 1fr; }
  .atw-strip img { height: 200px; }
  .atw-hope-grid, .atw-principles, .atw-signers { grid-template-columns: 1fr; }
  .atw-hope-grid .fe-act-card.dark { grid-column: auto; }
  .atw-shores figure { grid-template-columns: 90px 1fr; }
  .atw-shores figure img { width: 90px; height: 112px; }
  .atw-shores .t a { white-space: normal; }
}
.atw-now p.fe-statute-head, .atw-act-card p.fe-statute-head, .atw-signers p.fe-statute-head, .atw-now.dark p.fe-statute-head { font-family: 'Inter', sans-serif; font-size: 0.7rem; letter-spacing: 0.2em; line-height: 1.3; margin: 0 0 0.8rem; }
