:root {
  color-scheme: dark;
  --ink: #071520;
  --night: #0d2c3e;
  --paper: #eaf4f4;
  --muted: #9fc0c9;
  --cyan: #60d8df;
  --amber: #f4b860;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); }
main { overflow: hidden; }

.hero { min-height: min(760px, 100svh); position: relative; display: grid; align-items: end; isolation: isolate; }
.hero-image, .shade { inset: 0; position: absolute; width: 100%; height: 100%; }
.hero-image { object-fit: cover; z-index: -2; }
.shade { z-index: -1; background: linear-gradient(90deg, rgba(7,21,32,.96) 0%, rgba(7,21,32,.77) 43%, rgba(7,21,32,.12) 80%), linear-gradient(0deg, rgba(7,21,32,.9), transparent 55%); }
.hero-content { width: min(760px, calc(100% - 3rem)); margin: 0 auto; padding: clamp(5rem, 11vw, 9.5rem) 0 4rem; }
.eyebrow, .section-label { margin: 0 0 1rem; color: var(--cyan); font-size: .78rem; font-weight: 750; letter-spacing: .14em; line-height: 1.4; }
.eyebrow span { color: var(--amber); }
h1, h2, p { margin-top: 0; }
h1 { max-width: 13ch; margin-bottom: 1.35rem; font-size: clamp(3rem, 8vw, 6.5rem); letter-spacing: -.065em; line-height: .91; }
h2 { font-size: clamp(2rem, 4.7vw, 3.8rem); letter-spacing: -.045em; line-height: 1; }
.lede { max-width: 42rem; font-size: clamp(1.1rem, 2.1vw, 1.35rem); line-height: 1.55; }
.availability { color: var(--amber); font-size: .95rem; font-weight: 650; }
.jump { display: inline-flex; gap: .6rem; align-items: center; margin-top: 1.2rem; padding: .9rem 1.1rem; border: 1px solid var(--cyan); color: var(--paper); font-weight: 700; text-decoration: none; }
.jump:hover, .jump:focus-visible { background: var(--cyan); color: var(--ink); }

.intro, .notice { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 8vw, 9rem); padding: clamp(4.5rem, 10vw, 8rem) max(1.5rem, calc((100% - 1120px) / 2)); }
.intro { background: var(--paper); color: var(--ink); }
.intro p:last-child, .notice p:last-child { max-width: 36rem; font-size: 1.15rem; line-height: 1.65; }
.intro .section-label { color: #16777d; }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--night); }
.principles article { min-height: 22rem; padding: clamp(2rem, 5vw, 4.5rem); border-right: 1px solid rgba(234,244,244,.18); }
.principles article:last-child { border: 0; }
.number { display: block; color: var(--amber); font-family: ui-monospace, monospace; font-size: .85rem; margin-bottom: 4.5rem; }
.principles h2 { font-size: clamp(1.6rem, 2.8vw, 2.5rem); }
.principles p { color: var(--muted); font-size: 1.05rem; line-height: 1.6; }
.notice { background: #10202a; }
.notice h2 { margin-bottom: 0; }
footer { display: flex; justify-content: space-between; gap: 1rem; padding: 1.5rem max(1.5rem, calc((100% - 1120px) / 2)); color: var(--muted); font-size: .875rem; }
footer p { margin: 0; }
footer strong { color: var(--paper); }

@media (max-width: 700px) {
  .hero { min-height: 680px; }
  .shade { background: linear-gradient(0deg, rgba(7,21,32,.96), rgba(7,21,32,.3) 80%), linear-gradient(90deg, rgba(7,21,32,.65), rgba(7,21,32,.1)); }
  .intro, .notice, .principles { grid-template-columns: 1fr; }
  .principles article { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(234,244,244,.18); }
  .number { margin-bottom: 2.75rem; }
  footer { flex-direction: column; }
}
