/* Phone compositions. Loaded only at <=650px, after each page's desktop styles. */
html { scroll-padding-top: 88px; }
body::before { background-image: linear-gradient(#1007248a, #10072470), url('/assets/illustrated/ocean-mobile-768-v1.webp'); }
.mobile-gallery-controls { display: grid; grid-template-columns: 52px minmax(0, 1fr) 52px; align-items: center; gap: 7px; margin: 9px 0 14px; padding-inline: 7px; }
.mobile-gallery-controls .coverflow-btn { position: static; transform: none; width: 52px; height: 56px; margin: 0; }
.mobile-gallery-controls .coverflow-toolbar { grid-column: 2; grid-row: 1; display: flex; flex-direction: column-reverse; gap: 0; margin: 0; }
.mobile-gallery-controls .coverflow-next { grid-column: 3; grid-row: 1; }
.mobile-gallery-controls .coverflow-prev { grid-column: 1; grid-row: 1; }
.mobile-gallery-controls .coverflow-play-toggle { min-height: 44px; padding: 5px 10px; font-size: 17px; }
.back-to-top { right: 8px; bottom: 8px; width: 44px; }

/* Canvas, then the tools. Detailed numeric controls have their own disclosure. */
.beastify-main { width: calc(100% - 16px); padding-top: 95px; }
.beastify-heading .voyage-title { padding: 43px 12% 51px; }
.beastify-heading > p:not(.beastify-kicker) { font-size: 19px; padding-inline: 12px; }
.beastify-heading .local-processing-note { font-size: 17px!important; }
.upload-zone { min-height: 0; padding-bottom: 23px; }
.upload-workshop-art { max-width: 340px; }
.upload-copy { padding: 7px 5%; }
.upload-title { font-size: 28px; }
.upload-subtitle { font-size: 19px; margin-top: 3px; }
.upload-hint { font-size: 16px; margin-top: 8px; }
.beastify-workspace .editor { padding: 25px 12px 34px; scroll-margin-top: 82px; }
.editor.voyage-cabinet::before { background-size: 100% 35px, 100% 40px, 3% 300px, 3% 300px; }
.canvas-wrapper { padding: 9px; background-size: 10px 250px, 10px 250px, 100% 10px, 100% 10px; }
.canvas-wrapper canvas { max-height: min(58svh, 520px); width: auto; height: auto; object-fit: contain; }
.editor:has(.mobile-adjustments-toggle[aria-expanded="true"]) .canvas-wrapper { position: sticky; top: 76px; z-index: 6; }
.editor:has(.mobile-adjustments-toggle[aria-expanded="true"]) .canvas-wrapper canvas { max-height: min(32svh, 290px); }
.editor:has(.mobile-adjustments-toggle[aria-expanded="true"]) .selection-controls input,
.editor:has(.mobile-adjustments-toggle[aria-expanded="true"]) .selection-controls button { scroll-margin-top: calc(108px + min(32svh, 290px)); }
.editor .toolbar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px 2px; margin: 9px 0 5px; padding: 0; border: 0; }
.editor .toolbar-btn { min-height: 48px; width: 100%; padding: 12px 9px; font-size: 16px; white-space: normal; line-height: 1.15; }
.editor .toolbar-btn.primary { font-size: 14px; padding-inline: 10px; }
.editor .toolbar-spacer { display: none; }
.mobile-adjustments-toggle { display: block; margin: 0 auto 8px; min-height: 46px; border: 0; background: none; color: #f0d09d; font-size: 19px; text-decoration: underline; text-underline-offset: 4px; }
.selection-controls { gap: 8px 10px; padding: 10px 7px 14px; border-block: 1px solid #a17b5c80; }
.selection-controls label { width: calc(50% - 5px); }
.selection-controls .toolbar-btn { width: calc(50% - 5px); }
.selection-controls input { height: 44px; }
.canvas-help { font-size: 17px; line-height: 1.35; margin-top: 10px; }
.canvas-help .keyboard-help { display: none; }
.editor .editor-status { font-size: 17px; margin-top: 8px; }

/* Surface to cabin: four instruments on one reading deck. */
/* Keep the full boat above the controls, even when the portrait art fits by width. */
.hero { min-height: 610px; height: max(min(740px, 100svh), 150vw); aspect-ratio: auto; }
.hero-content { top: 76px; }
.hero-title { height: 39vw; }
.hero-tagline { font-size: clamp(21px, 5.5vw, 29px); }
.hero-subtitle { font-size: clamp(17px, 4.6vw, 23px); }
.hero-buy { top: 77%; min-height: 58px; min-width: 180px; font-size: 22px; line-height: 1.2; }
.hero-explore { bottom: 1%; font-size: 19px; }
.hero-explore span { font-size: 27px; }
.surface-below { width: calc(100% - 16px); margin: 0 auto; gap: 12px; padding: 0 0 14px; }
#contractHero, #buy .hold-contract { display: grid; grid-template-columns: minmax(0, 1fr) 46px; align-items: center; gap: 5px; width: 100%; max-width: 480px; min-height: 88px; height: 88px; aspect-ratio: auto; padding: 19px max(24px, calc(min(100vw - 24px, 480px) * .08)); margin: 0 auto; background: url('/assets/illustrated-mobile/contract-v1.svg') center / 100% 100% no-repeat; }
#contractHero .nameboard-art { display: none; }
#contractHero .contract-reading { position: static; display: flex; align-items: baseline; gap: 0; width: 100%; min-width: 0; transform: none; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #c29a69 #23122f; overscroll-behavior-x: contain; }
#contractHero .ca-label, #buy .hold-ca-prefix { display: inline; flex: none; font: 17px/1.5 ui-monospace, monospace; color: #e9c9a5; }
#contractHero .ca-text, #buy .hold-contract .ca-text { flex: none; display: block; font: 17px/1.5 ui-monospace, monospace; letter-spacing: -.3px; white-space: nowrap; overflow-wrap: normal; word-break: normal; text-wrap: nowrap; padding: 0 3px 0 0; }
#contractHero .copy-btn, #buy .hold-contract .copy-btn { position: static; width: 46px; height: 46px; margin: 0; padding: 9px; font-size: 11px; grid-column: 2; grid-row: 1; }
#contractHero .copy-btn svg, #buy .hold-contract .copy-btn svg { width: 21px; height: 21px; }
.contract-scroll-hint { margin: -3px auto 2px; text-align: center; font-size: 15px; line-height: 1.2; color: #d0b6e5; }
#buy .contract-scroll-hint { grid-area: contract-hint; }
#statsTicker { max-width: 470px; }
#statsTicker .stats-ticker-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 8px; max-width: none; }
#statsTicker .ship-instrument { max-width: 210px; }
#statsTicker .stat-label { left: 12%; right: 12%; top: 84%; height: 10%; font-size: clamp(18px, 5.1vw, 23px); }
#statsTicker .stat-value { font-size: min(28px, 15cqi); }
#statsTicker .stat-value[data-length="long"] { font-size: min(25px, 12.3cqi); }
#statsTicker .stat-value[data-length="extra"] { font-size: min(21px, 11cqi); }
#statsTicker [data-reading="loading"] .stat-value { font-size: 18px; }
.instrument-caption { top: 101%; font-size: 16px; }
.instrument-mechanism text { font-size: 17px; }
#statsTicker .stats-updated { margin-top: 4px; font-size: 16px; line-height: 1.3; }
.section-jump-nav { margin: 6px auto 8px; padding: 12px 14px; width: calc(100% - 16px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 6px; background: url('/assets/illustrated-secondary/rail-v1.svg') bottom / 100% 13px no-repeat; }
.section-jump-nav a { display: flex; align-items: center; justify-content: center; padding: 5px 1px; min-height: 44px; font-size: 18px; }
#about.cabin { padding: 104px 0 24px; background: radial-gradient(ellipse at 50% 10%, #321647aa, #10072499 85%); }
#about.cabin::before { height: 105px; background-size: 550px 367px, 440px 110px; mask-size: 550px 367px, 100% 100%; }
#about .cabin-interior { width: calc(100% - 30px); }
#about .cabin-heading { margin-bottom: 15px; }
#about .cabin-guide { width: 56px; height: 56px; top: -88px; right: 7px; }
.cabin-eyebrow { font-size: 16px; }
#about .section-title { font-size: clamp(33px, 9vw, 43px); }
#about .section-intro { font-size: 20px; line-height: 1.4; }
.cabin-mascot { width: min(280px, 85%); margin: 5px auto -8px; }
#about .cabin-log { padding: 27px 20px 30px 19%; margin-bottom: 0!important; }
#about .cabin-log h3 { font-size: 27px; }
#about .origin-portrait { width: 59px; height: 59px; }
.cabin-log-heading { gap: 9px; margin-bottom: 10px; }
#about .cabin-log p, #about .cabin-keepsake p { font-size: 20px; line-height: 1.4; }
.cabin-source { font-size: 18px; min-height: 44px; margin-top: 8px; display: inline-flex; align-items: center; }
.cabin-keepsakes { gap: 26px; margin-top: 26px; }
.cabin-keepsakes::before, .cabin-keepsakes::after { width: 16px; top: -20px; bottom: -15px; background-size: 16px 700px; }
.cabin-keepsakes::before { left: -15px; }
.cabin-keepsakes::after { right: -15px; }
#about .cabin-keepsake { display: block; padding: 6px 10px 37px; margin: 0!important; }
.cabin-photo { float: left; width: 32%; max-width: 120px; padding: 5px; margin: 0 18px 8px 0; }
.cabin-photo::before, .cabin-photo::after, .cabin-photo-corner::before, .cabin-photo-corner::after { width: 25px; height: 25px; }
.cabin-reel, .cabin-medallion { width: 40px; bottom: -18px; left: -6px; }
.cabin-medallion { left: auto; right: -10px; }
.cabin-keepsake-copy { padding: 0; }
.cabin-keepsake-copy::after { content: ''; display: block; clear: both; }
#about .cabin-keepsake h3 { font-size: 26px; line-height: 1.15; margin-bottom: 10px; }
.cabin-inscription { font-size: 16px; margin-bottom: 5px; }
#about .cabin-keepsake::after { left: -4px; right: -4px; height: 48px; bottom: -2px; }
.cabin-departure { padding-top: 24px; }
.cabin-departure > p { font-size: 23px; }

/* The treasure, address and usable hatch share a shorter hold. */
#buy.treasure-hold { padding: 70px 0 24px; }
#buy .hold-interior { width: calc(100% - 24px); }
#buy .section-title { font-size: clamp(34px, 10vw, 43px); }
.hold-kicker { font-size: 16px; }
#buy .hold-guide { width: 54px; height: 54px; top: -62px; }
.hold-heading { margin-bottom: 14px; }
.hold-layout { grid-template-areas: 'intro' 'contract' 'contract-hint' 'hatch' 'treasure'; gap: 9px; }
#buy .section-intro { font-size: 20px; line-height: 1.4; }
#buy .hold-welcome { padding-inline: 8px; }
#buy .hold-hatch { padding: max(62px, calc((100vw - 24px) * .208333 - 2px)) 24px max(68px, calc((100vw - 24px) * .208333 + 6px)); }
.hold-provider { top: calc((100vw - 24px) * .092 - 7px); font-size: 15px; }
#buy .swap-consent { padding: 12px 5px; }
#buy .swap-consent h3 { font-size: 25px; margin-bottom: 12px; }
#buy .swap-consent p { font-size: 19px; line-height: 1.35; }
#buy .swap-consent-actions { margin-top: 15px; }
#buy .swap-load-button { font-size: 19px; min-height: 54px; padding: 12px 18px; }
.hold-service-footer { margin: 0 0 8px; }
.hold-service-footer a { font-size: 18px; min-height: 44px; padding: 6px 0; }
.hold-treasure { width: min(235px, 70%); margin: 12px auto 0; }
.hold-floor { margin-top: 32px; }
/* Consent opens the third-party app at the full phone width, including when
   the swimming companion reserves water on both sides of the reading column. */
#buy .hold-hatch.loaded, #buy .hold-hatch.loading { width: 100vw; max-width: none; margin-left: calc((100% - 100vw) / 2); }
.footer-contract { width: 100%; min-width: 0; }
.footer-contract code { display: block; max-width: 100%; overflow-x: auto; white-space: nowrap; font-size: 14px; padding: 7px 0; scrollbar-width: thin; }
.footer-utility { gap: 8px 18px; }
.footer-utility > a, .footer-utility > button { min-height: 44px; display: inline-flex; align-items: center; }

/* A wider aperture and finer rim for each of the eighteen measured hulls. */
.timeline-section > .container { width: calc(100% - 12px); }
#timeline { padding-top: 40px; }
.journey-titlepiece { padding: 42px 39px 40px; }
.journey-title-pair { font-size: 21px; }
.journey-title-name { font-size: clamp(35px, 10vw, 53px); }
#timeline .journey-deckline { font-size: 20px; line-height: 1.35; padding-inline: 20px; margin: 8px auto 9px; }
.journey-winch { width: min(360px, calc(100% - 22px)); }
.journey-opening { margin-bottom: 36px; }
.timeline-item, .timeline-item[data-side=right] { width: calc(100% - 34px); max-width: none; padding-top: 24px; }
.timeline-item:has(.timeline-guide) { padding-top: 51px; }
.timeline-item .timeline-guide { top: -1px; right: 15%; width: 56px; height: 56px; margin: 0; }
.journey-vessel { padding-bottom: calc(max(7.555555556cqw, 21px) + 8.444444444cqw); }
.journey-vessel > .timeline-content { width: 86%; margin-left: 8%; padding-top: 14.444444444cqw; }
.timeline-copy { padding: 18px clamp(12px, 3.6cqw, 17px) 0; }
.journey-vessel .timeline-copy h3 { font-size: clamp(23px, 6.8cqw, 29px); line-height: 1.16; margin-bottom: 11px; }
.journey-vessel .timeline-copy p { font-size: 20px; line-height: 1.4; }
.journey-vessel > .timeline-marker { top: 5.2cqw; left: 9%; width: 40px; height: 28px; font-size: 16px; transform: rotate(-4deg); }
.journey-vessel .grant-badge { font-size: 15px; padding: 10px 18px; min-height: 50px; margin-bottom: 12px; }
.timeline { padding-bottom: 0; }
.journey-end { padding-top: 28px; }
.anchor-monument { width: min(300px, 69vw, 48svh); }
.anchor-banner { width: min(430px, 100%); margin-top: -25px; }
.anchor-banner-art { aspect-ratio: 600/240; }
.journey-end .anchor-motto { inset: 27% 12% 15%; gap: 4px; }
.anchor-motto span { font-size: clamp(18px, 5.4cqw, 23px); }
.anchor-motto strong { font-size: clamp(19px, 6.1cqw, 28px); }
.timeline-item .timeline-guide { top: calc(14.444444444cqw - 13px); right: 34%; }

/* One connected picture house, with more of the phone given to the actual film. */
#cinema { padding-top: 45px; padding-bottom: 28px; }
#cinema > .container, #gallery > .container { width: calc(100% - 24px); }
#cinema .cinema-heading { padding: 42px 9% 36px; }
.js #cinema .cinema-heading { margin-bottom: -12px; }
#cinema .cinema-heading .arts-entrance-art img, #gallery .photography-heading .arts-entrance-art img, .station-crown img { visibility: hidden; }
#cinema .cinema-heading .arts-entrance-art { background: url('/assets/illustrated-mobile/cinema-crown-v1.svg') center / 100% 100% no-repeat; }
.arts-titlepiece .arts-eyebrow { font-size: 17px; margin-bottom: 6px; }
.arts-titlepiece .section-title { font-size: clamp(30px, 9cqw, 44px); margin-bottom: 7px; }
.arts-titlepiece .section-intro { font-size: 19px; line-height: 1.3; margin-bottom: 7px; padding: 0; }
.arts-titlepiece .arts-navigation a { font-size: 17px; min-height: 44px; min-width: 105px; }
.cinema-heading .cinema-host { width: 58px; left: 12%; top: -35px; }
#cinema .cinema-stage { height: clamp(380px, calc(100svh - 140px), 650px); background-image: url('/assets/illustrated-mobile/theatre-v1.svg'); }
#cinema .cinema-aperture { inset: 51px 7% 55px; }
#cinema .cinema-valance { height: 35px; top: 8px; }
#cinema .cinema-stage-sign { bottom: 8px; font-size: 16px; padding: 10px 23px; }
.cinema-house::after { top: 140px; background-size: 4% 370px; }
.cinema-house::before { top: 135px; }
#cinema .cinema-now-showing { padding: 36px 9% 34px; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 8px; background-image: url('/assets/illustrated-mobile/credits-v1.svg'); }
#cinema .cinema-now-showing h3 { font-size: 24px; }
#cinema .cinema-now-showing .arts-eyebrow { font-size: 17px; }
#cinemaOpenFilm { min-width: 85px; min-height: 46px; padding: 12px 16px; font-size: 17px; }
#cinema .cinema-credit { font-size: 18px; gap: 3px; }
#cinema .cinema-credit a { padding-block: 8px; min-height: 44px; }
#cinema .cinema-programme { padding: 0 4.5% 60px; }
#cinema .cinema-programme::after { height: 60px; }
#cinema .cinema-programme-heading { padding: 27px 10% 31px; margin: 0 -1% 7px; }
#cinema .cinema-programme-heading h3 { font-size: 26px; margin-bottom: 5px; }
#cinema .cinema-programme-heading p { font-size: 19px; }
#cinema .cinema-films { gap: 10px; }
#cinema .cinema-film { padding: 21px 8% 26px; gap: 13px; grid-template-columns: 62px minmax(0, 1fr); align-items: center; background-image: url('/assets/illustrated-mobile/film-ticket-v1.svg'); }
#cinema .cinema-film-art { height: 111px; }
#cinema .cinema-film-copy { gap: 6px; }
#cinema .cinema-film-title { font-size: 21px; }
#cinema .cinema-film-description { font-size: 18px; line-height: 1.25; }
#cinema .cinema-film-meta { font-size: 15px; }
#cinema .cinema-film-number { font-size: 15px; padding: 5px 11px; top: 2px; left: 0; }
#cinema .cinema-film-arrow { bottom: 11px; right: 19px; font-size: 16px; }
.arts-divider { margin-top: 28px; }

/* A hanging photograph with its controls directly beneath it. */
#gallery { padding-top: 34px; padding-bottom: 15px; }
#gallery .photography-heading { padding: 43px 9% 36px; }
#gallery .photography-heading .arts-entrance-art { background: url('/assets/illustrated-mobile/gallery-crown-v1.svg') center / 100% 100% no-repeat; }
.photography-heading .section-title { font-size: clamp(28px, 8.9cqw, 40px); }
.photography-heading .section-title span:first-child { display: inline; font-size: 22px; }
.photography-heading .section-title span:last-child { display: block; }
.photography-heading .photo-host { width: 56px; left: 12%; top: -32px; }
.gallery-camera { width: 17%; left: 66%; top: -33px; }
.photography-heading .photography-studio-label { font-size: 16px; margin-top: 6px; }
.gallery-rope-origin { top: 92%; }
#gallery .photography-studio { padding: 8px 0 10px; }
.js .gallery-featured { width: 100%; }
#gallery .gallery-print { padding: calc(6.8% + 5px) calc(7.6% + 5px) calc(9% + 6px); }
.gallery-featured-caption { font-size: 19px; line-height: 1.3; padding-inline: 12px; margin-top: 10px; }
.gallery-open-hint { font-size: 17px; margin-top: 4px; }
#gallery .mobile-gallery-controls .coverflow-btn { width: 52px; height: 56px; }
.coverflow-viewport { margin-top: 4px; }
.js .coverflow-track { padding-block: 8px; gap: 8px; }
.js .coverflow-slide { flex-basis: 70px; }
.photography-film-edge { margin-top: 8px; }
.photography-note { font-size: 18px; line-height: 1.35; padding-inline: 12px; }

/* Telegram's station keeps its insignia beside the opening pitch. */
#buybot-promo { padding: 40px 0 30px; }
.station-heading { padding: 41px 11% 39px; }
.station-crown { background: url('/assets/illustrated-mobile/station-crown-v1.svg') center / 100% 100% no-repeat; }
.station-eyebrow { font-size: 17px; margin-bottom: 7px; }
.station-heading h2 { font-size: clamp(30px, 9.5cqw, 45px); margin-bottom: 8px; }
.station-caption { font-size: 19px; }
.station-body { margin-top: -13px; padding: 13px 7% 83px; }
.station-body::after { background-size: 4% 440px; }
.telegram-station::after { height: 72px; }
.station-content { row-gap: 12px; padding-top: 4px; }
.station-pitch { padding: 0 2%; }
.station-pitch h3 { font-size: 29px; line-height: 1.15; margin-bottom: 11px; }
.station-lede { font-size: 21px; line-height: 1.35; margin-bottom: 9px; }
.mobile-station-brands { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 0 0 10px; }
.mobile-station-brands img { width: 65px; height: 44px; object-fit: contain; }
.mobile-station-brands img:last-child { width: 43px; background: url('/assets/illustrated-secondary/porthole-v1.svg') center / contain no-repeat; padding: 9px; }
.station-actions { margin-top: 10px; gap: 0; }
.station-actions .station-install { min-height: 60px; padding: 18px 23px 20px; font-size: 18px; }
.station-actions .station-explore { min-height: 52px; padding: 15px 25px 19px; font-size: 19px; }
.station-action-note { margin-top: 3px; font-size: 16px; }
.station-scene { width: min(300px, 100%); margin: 0 auto; }
.station-receiver { gap: .3cqw; padding-bottom: 1cqw; }
.station-receiver img { width: 15cqw; }
.station-receiver strong { font-size: clamp(10px, 3.2cqw, 12px); }
.station-branding { height: 70px; padding-inline: 14%; font-size: clamp(12px, 4cqw, 14px); line-height: 1.2; }
.station-story { font-size: 20px; line-height: 1.4; padding-inline: 2%; }
.station-proofs { width: 100%; margin: 13px auto 17px; gap: 6px; padding-bottom: 24px; }
.station-makers { padding: 30px 48px 36px; max-width: 310px; }
.station-makers span { font-size: 16px; }
.station-makers strong { font-size: 21px; }
.station-logbook { max-width: 310px; padding: 23px 8% 30px; gap: 22px; }
.station-logbook p { font-size: 18px; }
#buybot-promo .station-host { width: 45px; height: 45px; bottom: 62px; }

.archive-image-viewport { overflow: auto; max-height: calc(100dvh - 245px); scrollbar-width: thin; }
.archive-image-viewport.is-zoomed .lightbox-img { width: 200%; max-width: none; max-height: none; }
.archive-caption { font-size: 17px; line-height: 1.3; margin: 10px 2px; text-align: center; }
.journey-vessel .timeline-content > img[role=button] { cursor: zoom-in; }
.mobile-chapter-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 14px; width: calc(100% - 20px); margin: 12px auto 0; padding: 7px 5px 15px; background: url('/assets/illustrated-secondary/rail-v1.svg') bottom / 100% 12px no-repeat; }
.mobile-chapter-nav a { display: flex; align-items: center; min-height: 44px; font-size: 19px; text-decoration-color: #b39168; }

/* The standalone station keeps its full pitch, feature list and five steps. */
.buybot-main { padding-top: 93px; }
.buybot-main .container { width: calc(100% - 26px); }
.buybot-hero { padding-bottom: 8px; }
.buybot-hero .voyage-title { padding: 40px 10% 46px; }
.voyage-title .signal-label { font-size: 17px; margin-bottom: 6px; }
.voyage-title .signal-name { font-size: clamp(30px, 8.5vw, 43px); }
.buybot-hero-copy { padding: 8px 7px 10px; }
.buybot-eyebrow, .buybot-kicker { font-size: 18px; margin-bottom: 10px; }
.buybot-hero h1 { font-size: 30px; margin-bottom: 14px; }
.buybot-hero-lede { font-size: 20px; line-height: 1.4; }
.buybot-hero-actions { margin: 14px 0 10px; gap: 0 6px; }
.buybot-button { min-height: 58px; padding: 18px 24px 20px; font-size: 16px; }
.buybot-button-secondary { min-height: 52px; padding: 16px 21px 18px; font-size: 19px; }
.buybot-proof-list { font-size: 18px; margin: 5px 0; }
.buybot-proof-list li { margin: 3px 0; }
.buybot-hero-visual { width: min(285px, 90%); }
.signal-scene-note { font-size: 17px; margin: 24px 0 0; }
.buybot-section { padding: 29px 0 9px; }
.buybot-section-heading { margin-bottom: 20px; padding-top: 35px; }
.buybot-section-heading::before { height: 23px; }
.buybot-section-heading h2, .buybot-alert-copy h2, .buybot-trending-copy h2, .buybot-help-copy h2, .buybot-faq-intro h2 { font-size: 29px; line-height: 1.17; margin-bottom: 15px; }
.buybot-section-heading > p:last-child, .buybot-alert-copy > p, .buybot-trending-copy > p, .buybot-help-copy > p, .buybot-faq-intro > p { font-size: 20px; line-height: 1.4; }
.buybot-benefit-grid { padding: 0 7px; gap: 15px; }
.buybot-benefit-card { padding: 0 0 18px; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 0 12px; }
.buybot-benefit-card .buybot-icon { position: static; width: 48px; height: 48px; grid-column: 1; grid-row: 1; }
.buybot-icon svg { width: 22px; height: 22px; }
.buybot-benefit-card h3 { grid-column: 2; font-size: 24px; align-self: center; margin: 0; }
.buybot-benefit-card p { grid-column: 1/-1; font-size: 20px; line-height: 1.4; margin-top: 9px; }
.buybot-alert-grid, .buybot-faq-layout { padding: 0 7px; gap: 22px; }
.buybot-check-list { margin: 16px 0; font-size: 20px; }
.buybot-check-list li { margin: 10px 0; gap: 9px; }
.buybot-main .voyage-cabinet { padding: 39px 7% 43px; }
.buybot-main .voyage-cabinet::before { background-size: 100% 48px, 100% 46px, 4% 320px, 4% 320px; }
.signal-customisation > img { float: left; width: 77px; margin: 0 15px 5px 0; }
.signal-dial-title { font-size: 24px; text-align: left; min-height: 77px; display: flex; align-items: center; margin-bottom: 9px; }
.signal-options { clear: both; font-size: 18px; gap: 5px 12px; }
.signal-options span { padding: 7px 2px; }
.buybot-trending-card { gap: 18px; }
.trending-flow { flex-direction: row; width: 100%; align-items: stretch; position: relative; padding-bottom: 6px; }
.trending-node { width: calc((100% - 8px)/3); min-height: 154px; padding: 25px 7px 30px; background-image: url('/assets/illustrated-secondary/control-v1.svg'); }
.trending-node strong { font-size: 16px; line-height: 1.1; }
.trending-node small { font-size: 15px; line-height: 1.15; }
.trending-node-icon svg { width: 25px; height: 25px; }
.trending-node-beast img { width: 35px; height: 32px; }
.trending-rank img { width: 49px; height: 24px; }
.trending-rank { font-size: 14px; }
.trending-connector { position: relative; width: 10px; height: 15px; flex-shrink: 0; margin: 67px -3px 0; transform: rotate(90deg); }
.setup-step { grid-template-columns: 42px minmax(0, 1fr); gap: 5px; padding-bottom: 16px; }
.setup-number { width: 42px; height: 42px; font-size: 19px; margin-top: 24px; }
.setup-timeline::before { left: 15px; width: 12px; background-size: 12px 190px; }
.buybot-main .setup-step > div { padding: 34px 14px 42px; }
.setup-step h3 { font-size: 23px; margin: 5px 0 8px; }
.setup-step p { font-size: 19px; line-height: 1.4; }
.setup-label { font-size: 16px; }
.setup-actions p { font-size: 19px; line-height: 1.4; }
.buybot-help-card { gap: 15px; }
.feature-pills { gap: 3px 15px; margin-top: 14px; }
.feature-pills li { font-size: 17px; }
.buybot-help-action { display: grid; grid-template-columns: 86px minmax(0, 1fr); align-items: center; gap: 3px 12px; }
.help-command { grid-row: 1/3; width: 86px; height: 86px; font-size: 21px; line-height: 86px; }
.buybot-help-action p { margin: 0; text-align: left; font-size: 18px; }
.buybot-help-action .buybot-button { padding-inline: 15px; }
.buybot-main .buybot-faq-list details { padding: 21px 17px; margin-bottom: 10px; }
.buybot-faq-list summary { font-size: 18px; gap: 10px; }
.buybot-faq-list details p { font-size: 19px; line-height: 1.4; margin-top: 10px; }
.buybot-final-cta { padding-top: 27px; }
.final-beast { width: 105px; height: 70px; margin-bottom: 7px; }
.buybot-final-card h2 { font-size: 29px; margin-bottom: 13px; }
.buybot-final-card > p { font-size: 20px; }

/* The ledger and lost-at-sea page use the same compact reading proportions. */
.legal-main { padding: 92px 8px 10px; }
.legal-card { padding: 52px 6% 46px; }
.legal-card::before { background-size: 100% 69px, 100% 49px, 3% 350px, 3% 350px; }
.legal-kicker { margin: 13px 0 7px; font-size: 19px; }
.legal-card h1 { font-size: 44px; }
.ledger-keeper { width: 80px; margin: 15px 0 12px 7px; }
.legal-updated { margin: 12px 0 14px; font-size: 17px; }
.legal-card .mobile-chapter-nav { clear: both; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; width: 100%; padding-bottom: 14px; scrollbar-width: thin; gap: 18px; }
.legal-card .mobile-chapter-nav a { white-space: nowrap; font-size: 18px; flex-shrink: 0; }
.legal-card section { padding: 20px 0; }
.legal-card h2 { font-size: 25px; margin-bottom: 12px; }
.legal-card p { font-size: 20px; line-height: 1.45; }
.not-found-main { padding: 10px 16px 25px; }
.not-found-beast { width: min(360px, 85%, 54svh); margin-bottom: -16px; }
.not-found-main .not-found-code { font-size: 46px; line-height: 1; padding: 23px 15% 31px; width: 85%; margin: -5px auto 14px; }
.not-found-main h1 { font-size: 28px; margin-bottom: 12px; }
.not-found-main > p { font-size: 19px; line-height: 1.35; }
.not-found-actions { margin-top: 15px; gap: 6px 15px; }
.not-found-actions .cta-button { min-height: 55px; padding: 17px 26px; font-size: 17px; }
.not-found-actions a:last-child { min-height: 44px; display: inline-flex; align-items: center; font-size: 18px; }

/* Clearance refinements from the first full visual pass. */
#cinema .cinema-film { padding: 42px 10% 40px; }
#statsTicker .stat-value[data-length="extra"] { font-size: min(19px, 9.6cqi); }
#gallery .photography-heading { padding-top: 48px; padding-bottom: 58px; }
.footer-utility .back-to-top { position: static; display: inline-flex; align-items: center; justify-content: center; gap: 6px; width: auto; height: 50px; min-width: 146px; padding: 12px 20px; font-size: 17px; visibility: visible; pointer-events: auto; }
.trending-flow { flex-direction: column; align-items: center; }
.trending-node { width: 100%; min-height: 105px; display: grid; grid-template-columns: 49px minmax(0, 1fr); gap: 2px 10px; text-align: left; align-items: center; padding: 22px 28px 25px; background-image: url('/assets/illustrated-mobile/credits-v1.svg'); }
.trending-node strong { grid-column: 2; font-size: 19px; align-self: end; }
.trending-node small { grid-column: 2; font-size: 17px; align-self: start; margin: 0; }
.trending-node-icon, .trending-node-beast > img, .trending-rank { grid-column: 1; grid-row: 1/3; margin: 0; text-align: center; }
.trending-node-beast > img { width: 49px; height: 49px; }
.trending-rank img { width: 46px; height: 25px; margin: 0 auto 3px; }
.trending-connector { width: 14px; height: 24px; margin: -6px 0; transform: none; }
.buybot-hero .mobile-chapter-nav { margin-block: 0 12px; }
@media (max-width: 359px) {
    .lightbox-action { font-size: 15px; padding-inline: 11px; }
    .hero-buy { min-height: 52px; padding-block: 12px; }
    #about .cabin-keepsake h3 { font-size: 23px; }
    #about .cabin-log p, #about .cabin-keepsake p { font-size: 19px; }
    .cabin-photo { margin-right: 13px; }
}
