:root {
  --black: #03070d;
  --navy: #111b24;
  --navy-2: #243749;
  --steel: #34475a;
  --storm: #6f8ba4;
  --white: #e8ebee;
  --muted: #9dacb6;
  --electric: #32a9e8;
  --electric-pale: #a9dcf7;
  --rust: #a45132;
  --line: rgba(142, 182, 207, .18);
  --title: "Arial Narrow", "Aptos Display", "Roboto Condensed", sans-serif;
  --body: Inter, Aptos, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { margin: 0; color: var(--white); background: var(--black); font-family: var(--body); line-height: 1.65; overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .14; z-index: 20; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.23'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
a { color: inherit; }
img { display: block; width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -4rem; left: 1rem; z-index: 100; background: var(--electric); color: var(--black); padding: .7rem 1rem; font-weight: 800; }
.skip-link:focus { top: 1rem; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 30; height: 78px; padding: 0 clamp(1.25rem, 4vw, 4.5rem); display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid transparent; transition: .35s ease; }
.site-header.scrolled { height: 66px; background: rgba(3,7,13,.91); backdrop-filter: blur(18px); border-color: var(--line); }
.brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; font: 800 .78rem/1 var(--title); letter-spacing: .19em; }
.brand-mark {
  display: inline-block;
  flex: 0 0 auto;
  width: 46px;
  height: 31px;
  background: url('/assets/eh-logo-transparent.png') center / contain no-repeat;
}
.brand-mark::before, .brand-mark::after { content: none; }
.primary-nav { display: flex; align-items: center; gap: clamp(1rem, 2.2vw, 2.2rem); }
.primary-nav a { color: #c6d0d7; font-size: .77rem; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; transition: color .2s; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--electric-pale); }
.language-switch { display:flex; align-items:center; gap:.32rem; margin-left:.15rem; color:#5f737f; font-size:.68rem; }
.language-switch a { padding:.25rem; border:0; color:#788a94; background:transparent; font:800 .68rem var(--body); letter-spacing:.12em; text-decoration:none; }
.language-switch a.active { color:var(--electric-pale); }
.menu-button { display: none; width: 42px; height: 42px; padding: 9px; border: 0; background: transparent; }
.menu-button > span:not(.sr-only) { display: block; height: 1px; margin: 6px 0; background: var(--white); }

.hero { position: relative; min-height: 100svh; display: flex; align-items: center; isolation: isolate; overflow: hidden; }
.hero-image { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center; z-index: -4; transform: scale(1.015); animation: drift 18s ease-in-out infinite alternate; }
.hero-shade { position: absolute; inset: 0; z-index: -3; background: linear-gradient(90deg, rgba(3,7,13,.93) 0%, rgba(3,7,13,.66) 34%, rgba(3,7,13,.08) 67%), linear-gradient(0deg, var(--black) 0%, transparent 24%, rgba(3,7,13,.24) 100%); }
.pulse-rings { position:absolute; inset:0; z-index:-2; overflow:hidden; pointer-events:none; }
.pulse-rings::before, .pulse-rings::after { content:""; position:absolute; inset:-12%; opacity:0; mix-blend-mode:screen; filter:blur(18px) saturate(1.15); }
.pulse-rings::before { background:radial-gradient(ellipse at 67% 19%, rgba(238,249,255,.7), rgba(111,202,247,.28) 19%, rgba(45,142,204,.08) 38%, transparent 59%), radial-gradient(ellipse at 38% 13%, rgba(169,222,249,.28), transparent 42%); animation:cloud-lightning-main 16s linear infinite; }
.pulse-rings::after { background:radial-gradient(ellipse at 48% 29%, rgba(225,246,255,.58), rgba(90,190,240,.2) 23%, transparent 55%), radial-gradient(ellipse at 82% 10%, rgba(132,210,249,.22), transparent 38%); animation:cloud-lightning-distant 23s linear -7s infinite; }
.hero-content { width: min(780px, 88vw); margin-left: clamp(1.25rem, 8vw, 9rem); padding-top: 4rem; }
.eyebrow { margin: 0 0 1.1rem; color: var(--electric-pale); font-size: .72rem; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }
.hero h1, h2, h3 { font-family: var(--title); font-stretch: condensed; text-transform: uppercase; }
.hero h1 {
  margin: 0;
  width: min(700px, 88vw);
  line-height: 1;
}
.hero-title-image { width:100%; height:auto; filter:drop-shadow(0 3px 1px rgba(0,0,0,.8)) drop-shadow(0 0 17px rgba(71,181,239,.35)); }
.subtitle { margin: 1.75rem 0 .5rem; color: #eef5f9; font: 800 clamp(1rem, 2vw, 1.35rem)/1 var(--title); letter-spacing: .5em; text-shadow: 0 0 14px rgba(50,169,232,.58); }
.author-line { margin: 0 0 1.8rem; color: #bac6cd; font-size: .86rem; letter-spacing: .12em; text-transform: uppercase; }
.author-line strong { color: var(--white); }
blockquote { margin: 0 0 2.1rem; max-width: 540px; color: #d4dde3; font-family: Georgia, serif; font-size: clamp(1.05rem, 2vw, 1.3rem); font-style: italic; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; }
.button { min-height: 49px; display: inline-flex; align-items: center; justify-content: center; padding: .78rem 1.35rem; border: 1px solid transparent; color: var(--white); font-size: .74rem; font-weight: 800; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; cursor: pointer; transition: transform .2s, background .2s, border-color .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--electric); color: #00111c; box-shadow: 0 0 28px rgba(50,169,232,.18); }
.button-primary:hover { background: #63c3f3; box-shadow: 0 0 34px rgba(50,169,232,.32); }
.button-ghost { border-color: rgba(230,237,242,.38); background: rgba(3,7,13,.22); backdrop-filter: blur(5px); }
.button-ghost:hover { border-color: var(--white); }
.scroll-cue { position: absolute; right: clamp(1.25rem, 4vw, 4rem); bottom: 2.4rem; display: flex; align-items: center; gap: .7rem; color: #aab6bd; font-size: .65rem; letter-spacing: .2em; text-decoration: none; text-transform: uppercase; writing-mode: vertical-rl; }
.scroll-cue b { font-weight:500; }
.scroll-cue span { height: 58px; width: 1px; background: linear-gradient(var(--electric), transparent); }

.section { position: relative; max-width: 1380px; margin: 0 auto; padding: clamp(5rem, 10vw, 10rem) clamp(1.25rem, 7vw, 7rem); }
.section-number { position: absolute; right: clamp(1.25rem, 7vw, 7rem); top: 5rem; color: rgba(97,147,176,.13); font: 800 clamp(5rem, 13vw, 11rem)/1 var(--title); }
.section-heading { position: relative; z-index: 1; max-width: 820px; }
.section-heading h2, .story-copy h2, .author-copy h2 { margin: 0; font-size: clamp(2.55rem, 5.2vw, 5.4rem); line-height: .94; letter-spacing: -.035em; }
.intro-section { background: radial-gradient(circle at 80% 35%, rgba(24,50,71,.28), transparent 40%); }
.intro-grid { position: relative; z-index: 1; margin-top: clamp(3rem, 6vw, 6rem); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 8vw, 9rem); align-items: start; }
.lead { margin: 0; color: #dbe3e8; font-family: Georgia, serif; font-size: clamp(1.35rem, 2.5vw, 2.05rem); line-height: 1.5; }
.intro-copy { color: var(--muted); font-size: 1.02rem; }
.intro-copy p:first-child { margin-top: 0; }
.signal-line { margin-top: clamp(4rem, 8vw, 8rem); height: 44px; position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.signal-line span { position: absolute; left: 0; bottom: -1px; width: 100%; height: 34px; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 1200 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 32H215l8-2 5-16 8 20 7-8 8 6h160l8-3 6-25 8 31 7-13 8 10h390l8-2 5-18 8 21 7-8 8 7h313' fill='none' stroke='%2332a9e8' stroke-opacity='.55'/%3E%3C/svg%3E") center / cover no-repeat; }

.story-section { min-height: 850px; position: relative; display: flex; align-items: center; justify-content: flex-end; overflow: hidden; }
.story-image { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center; }
.story-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,7,13,.15), rgba(3,7,13,.92) 65%, #03070d 100%), linear-gradient(0deg, var(--black), transparent 24%, rgba(3,7,13,.35)); }
.story-copy { position: relative; width: min(590px, 88vw); margin-right: clamp(1.25rem, 9vw, 10rem); padding: 7rem 0; }
.story-copy p:not(.eyebrow) { color: #b7c2c9; }
.no-spoilers { display: inline-block; margin-top: 1rem; padding: .35rem .7rem; border-left: 2px solid var(--rust); color: #d0b1a4; font-size: .67rem; letter-spacing: .16em; text-transform: uppercase; }

.cast-section { background: linear-gradient(180deg, var(--black), var(--navy) 52%, var(--black)); }
.heading-note { color: var(--muted); }
.cards-grid { margin-top: 4rem; display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; }
.profile-card, .vessel-card { position: relative; min-height: 320px; padding: 2rem; border: 1px solid var(--line); background: rgba(8,22,34,.68); overflow: hidden; }
.profile-card { grid-column: span 2; }
.profile-card::after { content:""; position:absolute; right:-35px; bottom:-35px; width:120px; height:120px; border:1px solid rgba(50,169,232,.13); border-radius:50%; box-shadow: 0 0 0 24px rgba(50,169,232,.035), 0 0 0 48px rgba(50,169,232,.025); }
.card-type, .book-index { margin: 0 0 .6rem; color: var(--electric); font-size: .65rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.profile-card h3, .vessel-card h3, .book-card h3 { margin: 0 0 1.25rem; font-size: 1.75rem; letter-spacing: .015em; }
.profile-card p:last-child { position: relative; color: #9dabb4; z-index: 1; }
.vessel-card { grid-column: span 3; min-height: 370px; display: flex; align-items: flex-end; background-position: center; background-size: cover; }
.vessel-card::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(3,7,13,.98), rgba(3,7,13,.12)); }
.vessel-card > div { position: relative; width: 100%; }
.vessel-polaris { background-image: url('assets/polaris-first-pulse.webp'); }
.vessel-marie { background-image: url('assets/marie-jeanne-storm.webp'); }
.vessel-card dl { margin: 0; display: flex; gap: 3rem; }
.vessel-card dl div { display: grid; }
.vessel-card dt { color: #82919b; font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; }
.vessel-card dd { margin: 0; color: #d6dfe4; }

.series-section { max-width: none; background: radial-gradient(circle at 20% 55%, rgba(50,169,232,.12), transparent 32%), var(--black); }
.series-section > * { max-width: 1160px; margin-left: auto; margin-right: auto; }
.book-shelf { margin-top: 5rem; display: grid; gap: 1.25rem; }
.book-card { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line); background: rgba(9,24,37,.55); }
.book-card.current { display: grid; grid-template-columns: minmax(250px, 390px) 1fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.book-art { position: relative; overflow:hidden; border: 1px solid rgba(189,193,199,.4); background:#111b24; box-shadow: -18px 25px 55px rgba(0,0,0,.62), 0 0 42px rgba(50,169,232,.12); transform: perspective(900px) rotateY(5deg); }
.book-art::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 35px rgba(50,169,232,.08); }
.book-art img { width:100%; height:auto; }
.book-details { max-width: 580px; }
.book-details h3 { font-size: clamp(2.6rem, 6vw, 5.5rem); line-height: .95; }
.book-details > p:not(.book-index) { color: var(--muted); font-size: 1.1rem; }
.status { display: block; margin: 1.8rem 0; color: #d2a18e; font-size: .72rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.status a { color: inherit; text-decoration-color: rgba(210,161,142,.6); text-underline-offset: .28em; }
.status a:hover, .status a:focus-visible { color: var(--white); text-decoration-color: var(--electric); }
.upcoming { min-height: 220px; display:grid; grid-template-columns: 150px 1fr; align-items:center; gap:2rem; opacity:.72; }
.upcoming.with-cover { min-height: 420px; grid-template-columns: minmax(180px, 260px) 1fr; gap: clamp(2rem, 6vw, 5rem); opacity:.88; }
.concept-cover { display:grid; gap:.9rem; }
.concept-cover .book-art { transform: perspective(900px) rotateY(4deg); }
.concept-cover > span { color:#81909a; font-size:.65rem; font-weight:800; letter-spacing:.16em; text-align:center; text-transform:uppercase; }
.future-mark { color:transparent; -webkit-text-stroke:1px rgba(105,119,130,.55); font:800 7rem/1 var(--title); }
.upcoming p { color: var(--muted); }
.status-muted { margin-bottom: 0; color: #81909a; }

.author-section { padding: clamp(5rem, 11vw, 11rem) clamp(1.25rem, 7vw, 7rem); background: linear-gradient(120deg, #0c2132, #03070d 58%); border-top: 1px solid var(--line); }
.author-inner { max-width: 1100px; margin: auto; display: grid; grid-template-columns: minmax(220px, 360px) 1fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.author-portrait { position: relative; aspect-ratio: 4 / 5; margin: 0; overflow: hidden; border: 1px solid rgba(50,169,232,.35); background: #0c1720; box-shadow: -18px 25px 55px rgba(0,0,0,.5), 0 0 42px rgba(50,169,232,.1); }
.author-portrait::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 45px rgba(3,7,13,.5); }
.author-portrait img { height: 100%; object-fit: cover; object-position: center 46%; }
.author-copy p:not(.eyebrow):not(.lead) { color: var(--muted); }
.author-copy .lead { margin: 1.7rem 0; font-size: 1.3rem; }
.author-contacts { display: grid; gap: .55rem; margin-top: 1.7rem; }
.author-contact { display: flex; flex-wrap: wrap; gap: .45rem 1rem; align-items: baseline; margin: 0; }
.author-contact span { color: var(--electric-pale); font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.author-contact a { color: var(--white); text-underline-offset: .25em; text-decoration-color: rgba(50,169,232,.65); }
.author-contact a:hover, .author-contact a:focus-visible { color: var(--electric-pale); }

.faq-section { max-width:none; border-top:1px solid var(--line); background:radial-gradient(circle at 78% 18%, rgba(50,169,232,.1), transparent 32%), #050b12; }
.faq-section > * { max-width:1160px; margin-left:auto; margin-right:auto; }
.faq-grid { position:relative; z-index:1; margin-top:4rem; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1rem; }
.faq-item { padding:clamp(1.5rem, 3vw, 2.2rem); border:1px solid var(--line); background:rgba(9,24,37,.58); }
.faq-item h3 { margin:0 0 1rem; color:var(--electric-pale); font-size:1.25rem; line-height:1.2; letter-spacing:.015em; }
.faq-item p { margin:0; color:var(--muted); }

.editorial-body { background:radial-gradient(circle at 80% 8%, rgba(50,169,232,.12), transparent 28%), var(--black); }
.editorial-header { position:sticky; background:rgba(3,7,13,.95); border-bottom-color:var(--line); backdrop-filter:blur(18px); }
.editorial-main { min-height:75vh; padding-top:78px; }
.editorial-hero { max-width:1160px; margin:auto; padding:clamp(5rem,9vw,8rem) clamp(1.25rem,7vw,5rem) 3rem; }
.editorial-hero h1 { max-width:900px; margin:0; font:800 clamp(3.5rem,9vw,8rem)/.84 var(--title); letter-spacing:-.055em; text-transform:uppercase; }
.editorial-hero h1 span { color:transparent; -webkit-text-stroke:1px rgba(169,220,247,.78); }
.editorial-hero .logbook-page-title { display:flex; width:min(780px,100%); flex-direction:column; align-items:flex-start; gap:.45rem; }
.editorial-hero .logbook-page-title .title-kicker { color:var(--electric-pale); font:800 clamp(1rem,2.2vw,1.45rem)/1 var(--title); letter-spacing:.28em; -webkit-text-stroke:0; }
.logbook-title-image { width:min(720px,100%); height:auto; filter:drop-shadow(0 3px 1px rgba(0,0,0,.8)) drop-shadow(0 0 15px rgba(71,181,239,.28)); }
.editorial-intro { max-width:760px; margin:2rem 0 0; color:#c0cbd2; font-family:Georgia,serif; font-size:clamp(1.15rem,2vw,1.45rem); }
.logbook-grid { max-width:1160px; margin:auto; padding:2rem clamp(1.25rem,7vw,5rem) clamp(6rem,10vw,10rem); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.logbook-card { display:flex; min-height:390px; flex-direction:column; padding:2rem; border:1px solid var(--line); background:linear-gradient(145deg,rgba(16,39,57,.92),rgba(6,15,24,.9)); text-decoration:none; transition:transform .25s,border-color .25s,box-shadow .25s; }
.logbook-card:hover,.logbook-card:focus-visible { transform:translateY(-5px); border-color:rgba(50,169,232,.55); box-shadow:0 20px 45px rgba(0,0,0,.3); }
.logbook-card time,.article-meta { color:var(--electric); font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.logbook-card h2 { margin:1.2rem 0; font-size:clamp(1.65rem,2.4vw,2.35rem); line-height:1; overflow-wrap:anywhere; hyphens:auto; }
.logbook-card p { color:var(--muted); }
.logbook-card .read-more { margin-top:auto; color:var(--electric-pale); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.logbook-card-image { padding:0; overflow:hidden; }
.logbook-card-image img { width:100%; height:190px; object-fit:cover; object-position:center 39%; border-bottom:1px solid var(--line); }
.logbook-card-image > div { display:flex; flex:1; flex-direction:column; padding:1.6rem 2rem 2rem; }
.article-figure { margin:2.5rem 0; }
.article-figure img { display:block; width:100%; height:auto; border:1px solid var(--line); box-shadow:0 24px 60px rgba(0,0,0,.35); }
.article-figure figcaption { margin-top:.8rem; color:#83939d; font-size:.82rem; line-height:1.5; }
.article-figure-wide img { max-height:520px; object-fit:cover; object-position:center; }
.article-figure-wide img[src*="eddy-hollander-writing"] { object-position:center 30%; }
.crew-list { display:grid; gap:.85rem; margin:2rem 0 3rem; padding:0; list-style:none; }
.crew-list li { padding:1.15rem 1.3rem; border-left:2px solid var(--electric); background:rgba(12,33,50,.5); }
.crew-list strong { display:block; color:var(--white); font-size:1.08rem; }
.article-shell { max-width:900px; margin:auto; padding:clamp(5rem,9vw,8rem) clamp(1.25rem,7vw,5rem) clamp(6rem,10vw,10rem); }
.article-back { display:inline-block; margin-bottom:3rem; color:var(--electric-pale); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.article-shell h1 { margin:.8rem 0 2rem; font:800 clamp(3rem,7vw,6.5rem)/.9 var(--title); letter-spacing:-.045em; text-transform:uppercase; }
.article-lead { color:#dbe3e8; font-family:Georgia,serif; font-size:clamp(1.25rem,2.5vw,1.7rem); line-height:1.55; }
.article-content { max-width:740px; color:#acbbc4; font-size:1.05rem; }
.article-content h2 { margin:3rem 0 1rem; color:var(--white); font-size:2rem; line-height:1.05; }
.article-content p { margin:0 0 1.35rem; }
.article-content .fact-box { margin:2.5rem 0; padding:1.5rem 1.7rem; border-left:3px solid var(--electric); background:rgba(12,33,50,.72); color:#d4dde3; }
.article-cta { margin-top:4rem; padding:2rem; border:1px solid var(--line); background:rgba(9,24,37,.55); }
.article-cta h2 { margin-top:0; }

.site-footer { padding: 2rem clamp(1.25rem, 4vw, 4rem); display:flex; justify-content:space-between; align-items:center; gap:1.5rem; border-top:1px solid var(--line); color:#83929b; font-size:.72rem; }
.site-footer > a:last-child { text-decoration:none; text-transform:uppercase; letter-spacing:.1em; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity: 1; transform: none; }

@keyframes drift { to { transform: scale(1.04) translate3d(-.5%, -.4%, 0); } }
@keyframes cloud-lightning-main { 0%, 18%, 18.8%, 19.7%, 20.6%, 57%, 57.8%, 58.7%, 100% { opacity:0; } 18.35% { opacity:.28; } 19.15% { opacity:.78; } 20.05% { opacity:.2; } 57.35% { opacity:.48; } 58.15% { opacity:.18; } }
@keyframes cloud-lightning-distant { 0%, 36%, 36.9%, 38%, 39%, 81%, 82.1%, 100% { opacity:0; } 36.45% { opacity:.32; } 37.35% { opacity:.62; } 38.45% { opacity:.16; } 81.55% { opacity:.38; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }

@media (max-width: 900px) {
  .menu-button { display:block; z-index:2; }
  .primary-nav { position:fixed; inset:0; padding:7rem 2rem 2rem; display:flex; flex-direction:column; align-items:flex-start; gap:1.5rem; background:rgba(3,7,13,.98); transform:translateX(100%); transition:transform .3s; }
  .primary-nav.open { transform:none; }
  .primary-nav a { font-size:1rem; }
  .language-switch { margin-top:.5rem; }
  .hero-shade { background:linear-gradient(90deg, rgba(3,7,13,.87), rgba(3,7,13,.15)), linear-gradient(0deg, var(--black), transparent 35%); }
  .hero-image { object-position:56% center; }
  .intro-grid { grid-template-columns:1fr; }
  .profile-card { grid-column:span 3; }
  .profile-card:last-of-type { grid-column:span 6; }
  .vessel-card { grid-column:span 3; }
  .story-overlay { background:linear-gradient(0deg, var(--black) 2%, rgba(3,7,13,.85) 56%, rgba(3,7,13,.16)); }
  .story-copy { align-self:flex-end; margin:0 auto; padding:18rem 0 5rem; }
}

@media (max-width: 1050px) and (min-width: 641px) {
  .logbook-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .site-header { height:66px; }
  .brand { font-size:.68rem; }
  .hero { min-height: 820px; align-items:flex-end; }
  .hero-content { margin:0 1.25rem; padding:0 0 6rem; }
  .hero h1 { font-size:clamp(4rem, 20vw, 6.2rem); }
  .subtitle { letter-spacing:.28em; }
  .scroll-cue { display:none; }
  .section-number { top:3rem; }
  .section-heading h2, .story-copy h2, .author-copy h2 { font-size:2.7rem; }
  .cards-grid { grid-template-columns:1fr; }
  .profile-card, .profile-card:last-of-type, .vessel-card { grid-column:auto; }
  .vessel-card { min-height:330px; }
  .book-card.current { grid-template-columns:1fr; }
  .book-art { max-width:270px; margin:auto; }
  .upcoming { grid-template-columns:1fr; }
  .upcoming.with-cover { grid-template-columns:1fr; }
  .concept-cover { width:min(100%, 240px); margin:auto; }
  .future-mark { font-size:4rem; }
  .author-inner { grid-template-columns:1fr; }
  .faq-grid { grid-template-columns:1fr; }
  .logbook-grid { grid-template-columns:1fr; }
  .author-portrait { width: min(100%, 360px); }
  .site-footer { flex-direction:column; text-align:center; }
}
