.sh-front,.sh-stop,.sh-ending,.sh-timeline{--sh-ink:#183e50;--sh-faded:#496570;--sh-red:#944631;--sh-rule:#839397;--sh-ice:#dfeae7;--sh-paper:#f9f6e8}
.sh-front figure,.sh-stop figure,.sh-ending figure{margin:0}
.sh-rail,.sh-label,.sh-front-art figcaption,.sh-muster span,.sh-plate figcaption,.sh-drift figcaption,.sh-glass-number small{font:600 10px/1.45 system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.sh-rail,.sh-front-art figcaption,.sh-plate figcaption,.sh-drift figcaption{display:flex;justify-content:space-between;gap:10px;align-items:center}
.sh-rail{border-block:3px double var(--sh-ink);padding:8px 9px;color:var(--sh-ink)}
.sh-head{text-align:center;padding:clamp(18px,2vw,36px) 10px 0}
.sh-label{color:var(--sh-red)}
.sh-head .sh-label{display:flex;align-items:center;justify-content:center;gap:10px;margin:0}
.sh-label i{width:26px;height:1px;background:var(--sh-red)}
.sh-head h1{font:400 clamp(43px,6.8vw,115px)/.94 var(--book-display);letter-spacing:-.058em;margin:8px auto clamp(18px,2.2vw,36px);text-wrap:balance;color:var(--sh-ink)}
.sh-head h1 em{font-weight:400;color:var(--sh-faded)}
.sh-front-art{border-top:1px solid var(--sh-rule)}
.sh-front-art img,.sh-plate img{display:block;width:100%;object-fit:cover}
.sh-front-art img{aspect-ratio:3.1;object-position:50% 52%}
.sh-front-art figcaption,.sh-plate figcaption{border-block:1px solid var(--sh-rule);color:var(--sh-faded);padding:8px 3px;font-size:9px}
.sh-front-art figcaption span:first-child,.sh-plate figcaption span{color:var(--sh-red)}
.sh-intro{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);align-items:center;gap:clamp(22px,5vw,84px);padding:clamp(23px,3.3vw,56px) clamp(2px,5vw,90px);border-bottom:3px double var(--sh-rule)}
.sh-intro>p{font:400 clamp(22px,2.6vw,42px)/1.2 var(--book-display);letter-spacing:-.022em;text-wrap:pretty;margin:0;color:var(--sh-ink)}
.sh-muster{text-align:center;border-block:1px solid var(--sh-rule);padding:8px}
.sh-muster strong,.sh-ending-count>strong{display:block;font:400 clamp(64px,8.4vw,140px)/.92 var(--book-display);letter-spacing:-.065em;color:var(--sh-ink)}
.sh-muster span{color:var(--sh-red);font-size:8px}
.sh-muster span i{text-transform:none;font:italic 14px var(--book-display);letter-spacing:0;color:var(--sh-ink)}
.sh-port,.sh-island,.sh-rescue,.sh-bearing,.sh-drift-spread{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:clamp(18px,3vw,48px)}
.sh-port .sh-plate img,.sh-island .sh-plate img,.sh-rescue .sh-plate img{aspect-ratio:1.37}
.sh-stop-2>.sh-plate img,.sh-stop-5>.sh-plate img{aspect-ratio:2.65;object-position:50% 52%}
.sh-drift-spread,.sh-bearing{align-items:start;margin-top:clamp(18px,2.3vw,38px)}
.sh-drift-spread{grid-template-columns:1.4fr .85fr}
.sh-log,.sh-instrument{border:1px solid var(--sh-rule);padding:clamp(12px,1.7vw,25px);background:linear-gradient(145deg,#e9eee6,#dce6e4);color:#2f4c56}
.sh-log>strong{display:block;margin:6px 0 1px;font:400 clamp(42px,4.25vw,71px)/1 var(--book-display);letter-spacing:-.04em}
.sh-log>strong i{font-size:.47em}
.sh-log p,.sh-instrument p,.sh-split p{font:15px/1.5 Georgia,serif;color:#344e57;margin:0}
.sh-log .sh-drift{margin:12px -4px -3px}
.sh-drift svg,.sh-instrument svg,.sh-drift-strip svg{display:block;width:100%;height:auto}
.sh-drift svg{border:1px solid #a9b9b7}
.sh-drift figcaption{font-size:8px;letter-spacing:.06em;padding-top:5px;color:var(--sh-red)}
.sh-drift figcaption span{font:italic 12px/1.35 Georgia,serif;text-transform:none;letter-spacing:0;color:var(--sh-faded)}
.sh-drift.is-revealed .sh-floe{animation:sh-floe-drift 4.4s ease-out 1 both}
@keyframes sh-floe-drift{from{transform:translate(123px,58px) rotate(-5deg)}to{transform:translate(173px,42px) rotate(0deg)}}
.sh-contact-sheet{position:relative;padding:11px 11px 0;background:#183d4d}
.sh-contact-sheet .sh-plate img{aspect-ratio:2.25}
.sh-contact-sheet .sh-plate figcaption,.sh-contact-sheet .sh-plate figcaption span{color:#f2e7ca;border:0}
.sh-glass-number{position:absolute;bottom:clamp(30px,3vw,42px);right:clamp(18px,3vw,44px);display:block;background:#fcf5e2f5;padding:9px 18px;border:3px double #6e827e;line-height:.9;font:italic 400 clamp(28px,3.5vw,56px)/1 var(--book-display);color:var(--sh-ink)}
.sh-glass-number small{display:block;font-size:7px;font-style:normal;color:var(--sh-red);margin-top:3px}
.sh-glass-copy{max-width:740px;margin:clamp(18px,2.5vw,39px) auto 0}
.sh-split{display:grid;grid-template-columns:1.1fr 1fr;border-block:3px double var(--sh-rule);margin-top:clamp(16px,2.5vw,38px);color:var(--sh-ink);background:linear-gradient(90deg,#e7ebe133,transparent 65%)}
.sh-split>div{padding:clamp(14px,2vw,26px)}
.sh-split>div+div{border-left:1px solid var(--sh-rule)}
.sh-split h4{font:400 clamp(43px,4.5vw,78px)/1 var(--book-display);letter-spacing:-.04em;margin:5px 0 8px}
.sh-split h4 i{font-size:.45em;letter-spacing:-.025em}
.sh-split p{max-width:32ch;margin-top:10px;font-size:14px}
.sh-roll,.sh-united{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.sh-roll i{display:block;flex:0 0 7px;width:7px;height:11px;border-radius:4px 4px 1px 1px;background:var(--sh-ink)}
.sh-roll-red i{background:var(--sh-red)}
.sh-bearing{grid-template-columns:.78fr 1.3fr}
.sh-instrument{text-align:center;background:#eee8d7}
.sh-instrument svg{max-height:133px;margin:6px auto}
.sh-instrument h4{font:400 clamp(22px,2.15vw,36px)/1.1 var(--book-display);margin:6px 0;color:var(--sh-ink)}
.sh-instrument p{font-size:14px}
.sh-instrument .entry-source{font-size:12px;margin-top:8px}
.sh-rescue{grid-template-columns:.94fr 1.16fr}
.sh-ending{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(22px,5vw,83px);align-items:center;margin:clamp(27px,4vw,66px) 0;padding:clamp(20px,4vw,62px);background:#e2eae5;border:3px double var(--sh-rule)}
.sh-ending-count{border-bottom:1px solid #839795;padding-bottom:12px}
.sh-ending-count>strong{margin:6px 0 12px}
.sh-united{max-width:160px;gap:4px}.sh-united .sh-roll{display:contents}
.sh-ending h2{font:400 clamp(32px,3.8vw,64px)/1.04 var(--book-display);letter-spacing:-.04em;color:var(--sh-ink);margin:0 0 9px}
.sh-ending p{font:clamp(16px,1.43vw,22px)/1.48 Georgia,serif;color:#324d56;margin:0}
.sh-ending .entry-source{margin-top:8px}
.sh-drift-strip{width:min(100%,165px);margin:10px auto 2px;overflow:hidden}
.sh-moving-ice{transform:translate(calc(var(--read-progress,0) * 98px),calc(var(--read-progress,0) * -9px));transition:transform .15s linear}
@media(max-width:1050px){
  .sh-drift-strip{position:absolute;left:4px;top:9px;width:67px;margin:0}
  .sh-timeline .timeline-line,.sh-timeline .timeline-heading{margin-left:73px}
}
@media(max-width:740px){
  .sh-rail{font-size:8px;letter-spacing:.08em}.sh-head{padding:19px 3px 0}.sh-head h1{font-size:clamp(40px,8.3vw,67px)}
  .sh-front-art img{aspect-ratio:1.9}.sh-front-art figcaption{font-size:7px;letter-spacing:.08em}
  .sh-intro{grid-template-columns:minmax(80px,.46fr) minmax(0,1fr);gap:14px;padding:17px 0}
  .sh-intro>p{font-size:clamp(18px,3vw,23px)}.sh-muster{padding:5px 2px}.sh-muster strong{font-size:55px}
  .sh-port,.sh-island,.sh-rescue,.sh-drift-spread,.sh-bearing,.sh-ending{grid-template-columns:1fr}
  .sh-rescue>.sh-plate,.sh-bearing>.sh-copy{grid-row:1}
  .sh-port .sh-plate img,.sh-island .sh-plate img,.sh-rescue .sh-plate img,.sh-stop-2>.sh-plate img,.sh-stop-5>.sh-plate img{aspect-ratio:1.8}
  .sh-log .sh-drift{max-width:400px}.sh-split>div{padding:11px}.sh-split h4{font-size:34px}.sh-split h4 i{display:block;font-size:18px;margin-top:3px}
  .sh-roll{gap:3px}.sh-roll i{flex-basis:5px;width:5px;height:9px}.sh-split p{font-size:13px}
  .sh-glass-number{padding:5px 8px}.sh-instrument{display:flow-root;text-align:left}.sh-instrument svg{float:right;width:34%;max-height:108px;margin:8px 0 5px 10px}
  .sh-ending{gap:15px}.sh-ending-count{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 14px}.sh-ending-count>.sh-label{grid-column:1/-1}
  .sh-ending-count>strong{font-size:66px;margin:5px 0}.sh-ending-count .sh-united{max-width:150px}
}
@media(prefers-reduced-motion:reduce){
  .sh-drift.is-revealed .sh-floe{animation:none}
  .sh-moving-ice{transition:none;transform:none}
}
