/* Far Meridian: the field notebook. Kraft pages ruled one line to every 20 m, a stamp-red margin,
   survey-blue routes; Courier Prime carries every fact, Caveat the hand. Scoped to .fm-book / .spec-far-meridian. */

@font-face { font-family: "Courier Prime"; src: url(/assets/fonts/specimen/courier-prime-400.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Courier Prime"; src: url(/assets/fonts/specimen/courier-prime-400-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: Caveat; src: url(/assets/fonts/specimen/caveat-var.woff2) format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }

body.spec-far-meridian { margin: 0; background: #B08D5E; }

.fm-book {
  --fm-kraft: #B08D5E; --fm-kraft-dk: #8A6A40; --fm-kraft-deep: #6E5230; --fm-ink: #1D1813; --fm-red: #7A1A12; --fm-blue: #22406B;
  --fm-print: #EFE8DA; --fm-ice: #E9EDEA; --fm-ice-rule: #A9BCCB;
  --fm-paper: var(--fm-kraft); --fm-rc: rgb(138 106 64 / .6); --fm-rc5: rgb(138 106 64 / .85); --fm-corner: var(--fm-kraft-dk);
  --fm-rule: 32px; --fm-rule-off: 24px; --fm-nav-h: 48px; --fm-gut: 56px; --fm-om: 88px; --fm-air: 24px; --fm-in: 48px;
  --fm-mono: "Courier Prime", "Courier New", ui-monospace, monospace;
  --fm-hand: Caveat, "Segoe Print", "Bradley Hand", cursive;
  --fm-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .11 0 0 0 0 .09 0 0 0 0 .07 0 0 0 .9 -.28'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url%28%23n%29' opacity='.16'/%3E%3C/svg%3E");
  --fm-bar: var(--bar-h, 40px);
  position: relative; color: var(--fm-ink); background: var(--fm-grain) var(--fm-kraft);
  font: 400 clamp(1rem, .94rem + .25vw, 1.125rem)/var(--fm-rule) var(--fm-mono);
  font-synthesis: none; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
.fm-book *, .fm-book *::before, .fm-book *::after { box-sizing: border-box; }
:where(.fm-book) :where(h1, h2, h3, p, ol, ul, figure, fieldset) { margin: 0; padding: 0; font-weight: 400; }
.fm-stick, .fm-host { -webkit-user-select: none; user-select: none; }
.fm-stick { touch-action: pan-y; cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21'%3E%3Cpath d='M10.5 1v7M10.5 13v7M1 10.5h7M13 10.5h7' stroke='%2322406B' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") 10 10, crosshair; }
.fm-days { cursor: default; }
.fm-days .fm-label, .fm-dticks a, .fm-scale, .fm-cue { text-shadow: 0 0 2px var(--fm-paper), 0 0 5px var(--fm-paper), 0 0 9px var(--fm-paper); }
.fm-book img { max-width: 100%; }
.fm-book a { color: inherit; }
.fm-book :focus-visible { outline: 2px solid var(--fm-blue); outline-offset: 3px; }
.fm-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.fm-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.fm-book abbr { text-decoration: none; }
.fm-is-ice { --fm-paper: var(--fm-ice); --fm-rc: rgb(169 188 203 / .8); --fm-rc5: rgb(112 138 163 / .75); --fm-corner: var(--fm-blue); }

/* ── the nav ───────────────────────────────────────────────────────────────────────────────────── */
.fm-nav {
  position: sticky; top: var(--fm-bar); z-index: 30; height: var(--fm-nav-h); display: flex; align-items: center; gap: 24px;
  padding: 0 28px; background: var(--fm-grain) var(--fm-kraft); border-bottom: 1px solid var(--fm-red);
}
.fm-mark { font: 600 1.875rem/1 var(--fm-hand); text-decoration: none; white-space: nowrap; }
.fm-run { flex: 1; min-width: 0; text-align: center; font: italic .8125rem/1 var(--fm-mono); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fm-links { display: flex; margin-left: auto; list-style: none; font: .8125rem/1 var(--fm-mono); letter-spacing: .08em; text-transform: uppercase; }
.fm-links li + li::before { content: "\00B7"; margin: 0 .55em; }
.fm-links a { display: inline-block; padding: 16px 0; text-decoration: none; }
.fm-uline { position: absolute; left: 0; bottom: 7px; width: 80px; height: 7px; fill: none; stroke: var(--fm-red); stroke-width: 1.7; stroke-linecap: round; opacity: 0; transition: transform .2s ease-out, width .2s ease-out, opacity .2s; pointer-events: none; }
.fm-uline.fm-on { opacity: 1; }

/* ── the spread: two pages and a gutter; pages bleed to the edges ─────────────────────────────── */
.fm-spread { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) var(--fm-gut) minmax(0, 1fr); }
.fm-pg { position: relative; grid-row: 1 / -1;
  background-image: linear-gradient(transparent calc(100% - 1.5px), var(--fm-rc5) 0), linear-gradient(transparent calc(100% - 1px), var(--fm-rc) 0);
  background-size: 100% calc(var(--fm-rule) * 5), 100% var(--fm-rule); background-position: 0 var(--fm-rule-off); }
.fm-is-ice .fm-pg, .fm-is-ice.fm-spread { background-color: var(--fm-ice); }
.fm-is-ice.fm-spread { background: var(--fm-grain) var(--fm-ice); }
.fm-pg-l { grid-column: 1; } .fm-pg-r { grid-column: 3; }
.fm-pg-host { background: none; }
.fm-gut { grid-column: 2; grid-row: 1 / -1; position: relative; z-index: 6; pointer-events: none;
  background: radial-gradient(circle, rgb(29 24 19 / .3) 1px, transparent 1.5px) 50% 20px / 6px 40px repeat-y,
    linear-gradient(90deg, transparent, rgb(110 82 48 / .35) 49%, rgb(239 232 218 / .45) 50%, rgb(110 82 48 / .3) 52%, transparent); }
.fm-mr { position: absolute; top: 0; bottom: 0; width: 4px; height: 100%; overflow: visible; z-index: 5; fill: none; stroke: var(--fm-red); stroke-width: 1.25px; pointer-events: none; transform-origin: 50% 0; }
.fm-mr use { vector-effect: non-scaling-stroke; }
.fm-pg-l .fm-mr { left: calc(var(--fm-om) - 2px); } .fm-pg-r .fm-mr { right: calc(var(--fm-om) - 2px); }
.fm-l, .fm-r { position: relative; grid-row: 1; min-width: 0; padding-bottom: calc(var(--fm-rule) * 4); }
.fm-l { grid-column: 1; padding-left: max(calc(var(--fm-om) + var(--fm-air)), calc(100% - var(--fm-in) - 600px)); padding-right: var(--fm-in); }
.fm-r { grid-column: 3; padding-left: var(--fm-in); padding-right: max(calc(var(--fm-om) + var(--fm-air)), calc(100% - var(--fm-in) - 600px)); }
.fm-spread::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; z-index: 7; pointer-events: none; background: linear-gradient(rgb(110 82 48 / .28), transparent); }

/* page heads and the running rhythm: every line box and margin is a whole number of rules */
.fm-head { display: flex; justify-content: space-between; gap: 1em; font: italic .8125rem/var(--fm-rule) var(--fm-mono); letter-spacing: .1em; text-transform: uppercase; margin-bottom: calc(var(--fm-rule) * 2); }
.fm-nc { text-transform: none; }
.fm-label { font: italic .8125rem/var(--fm-rule) var(--fm-mono); letter-spacing: .1em; text-transform: uppercase; }
.fm-h2 { font: 700 clamp(3rem, 1.6rem + 4.2vw, 5.5rem)/calc(var(--fm-rule) * 3) var(--fm-hand); margin-bottom: var(--fm-rule); }
.fm-h3 { font: 400 1rem/var(--fm-rule) var(--fm-mono); letter-spacing: .12em; text-transform: uppercase; }
.fm-p { max-width: 60ch; margin-bottom: var(--fm-rule); }
.fm-lede { font-size: .9375rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: var(--fm-rule); }
.fm-aside, .fm-capt, .fm-note { font: 500 clamp(1.625rem, 1.3rem + .7vw, 2rem)/var(--fm-rule) var(--fm-hand); }
.fm-aside { display: inline-block; transform: rotate(-2deg); transform-origin: 0 50%; margin-left: -12px; }
.fm-a { text-decoration: none; white-space: nowrap; }
.fm-a-u { padding-bottom: 6px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 6' preserveAspectRatio='none'%3E%3Cpath d='M1 3.8C17 2.4 33 4.6 51 3.2S83 2.2 99 3.6' fill='none' stroke='%237A1A12' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") 0 100% / 100% 7px no-repeat; }
.fm-a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }

/* stamps: double-ruled, worn, a few degrees off true */
.fm-stamp { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; padding: 9px 14px 7px; border: 2px solid var(--fm-red); border-radius: 2px;
  box-shadow: inset 0 0 0 2px transparent, inset 0 0 0 3px var(--fm-red); color: var(--fm-red); font: 400 1.5rem/1.05 var(--fm-mono); letter-spacing: .18em; text-transform: uppercase;
  opacity: .92; filter: url(#fm-rough); transform: rotate(var(--fm-rot, -6deg)); }
.fm-stamp-d:empty { min-width: 8ch; min-height: 1em; border-bottom: 1px dashed currentColor; }

/* prints pasted in with corners */
.fm-print { position: relative; background: var(--fm-print); padding: 6px; transform: rotate(var(--fm-t, 0deg));
  box-shadow: 0 1px 2px rgb(29 24 19 / .28), 0 8px 18px -10px rgb(29 24 19 / .4); }
.fm-print img { display: block; width: 100%; height: auto; }
.fm-print::after { content: ""; position: absolute; inset: -3px; pointer-events: none;
  background: linear-gradient(135deg, var(--fm-corner) 50%, transparent 50%) 0 0 / 20px 20px no-repeat, linear-gradient(225deg, var(--fm-corner) 50%, transparent 50%) 100% 0 / 20px 20px no-repeat,
    linear-gradient(45deg, var(--fm-corner) 50%, transparent 50%) 0 100% / 20px 20px no-repeat, linear-gradient(315deg, var(--fm-corner) 50%, transparent 50%) 100% 100% / 20px 20px no-repeat; }
.fm-print figcaption { position: absolute; left: 12px; right: 0; top: 100%; margin-top: 10px; }

/* ── the flyleaf ───────────────────────────────────────────────────────────────────────────────── */
.fm-fly { min-height: max(720px, calc(100svh - var(--fm-bar) - var(--fm-nav-h))); }
.fm-fly-l { display: flex; flex-direction: column; align-items: flex-start; padding-bottom: calc(var(--fm-rule) * 2); }
.fm-fly-l .fm-head { align-self: stretch; margin-bottom: var(--fm-rule); }
.fm-of { margin-bottom: 0; }
.fm-h1 { display: block; }
.fm-h1-name { display: block; font: 700 clamp(3.75rem, 1.2rem + 8.6vw, 9rem)/calc(var(--fm-rule) * 4) var(--fm-hand); letter-spacing: -.01em; transform: rotate(-1.5deg); transform-origin: 0 60%; margin-left: -6px; }
.fm-h1-line { display: block; max-width: 11.5ch; font: 400 clamp(1.5rem, .9rem + 2.4vw, 3rem)/calc(var(--fm-rule) * 2) var(--fm-mono); letter-spacing: -.01em; }
.fm-sub { max-width: 44ch; font-size: clamp(1rem, .9rem + .45vw, 1.25rem); margin-top: 0; }
.fm-opened { position: relative; z-index: 2; align-self: flex-end; margin: calc(var(--fm-rule) * .25) 3% 0 0; --fm-rot: -6deg; }
.fm-go { display: flex; flex-wrap: wrap; gap: 0 calc(var(--fm-rule) * 3); margin-top: calc(var(--fm-rule) * .4); }
.fm-fly-r { padding: 0; }
.fm-terrain { position: absolute; inset: 0 0 0 -24px; }
.fm-fly-r .fm-head-r { position: absolute; z-index: 4; left: var(--fm-in); right: calc(var(--fm-om) + var(--fm-air)); top: 0; }
.fm-print-ridge { position: absolute; z-index: 5; left: 41.6%; top: 56px; width: 300px; --fm-t: 3deg; }
.fm-note-hero { position: absolute; z-index: 5; left: 52px; top: 404px; max-width: 290px; color: var(--fm-red); font-size: 1.875rem; transform: rotate(-2deg); }
.fm-arrow { position: absolute; z-index: 5; left: 150px; top: 480px; width: 240px; height: 140px; fill: none; stroke: var(--fm-red); stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.fm-scale { position: absolute; z-index: 5; left: var(--fm-in); bottom: 40px; max-width: 23ch; color: var(--fm-blue); font: italic 1.5rem/var(--fm-rule) var(--fm-mono); letter-spacing: .02em; }
.fm-cue { position: absolute; z-index: 5; right: calc(var(--fm-om) + var(--fm-air)); bottom: 40px; font: 500 1.875rem/var(--fm-rule) var(--fm-hand); text-decoration: none; }
.fm-cue svg { position: absolute; left: 0; right: 0; bottom: -4px; width: 100%; height: 8px; fill: none; stroke: var(--fm-ink); stroke-width: 1.6; stroke-linecap: round; overflow: visible; }

/* the three hosts: one canvas moves between them; each keeps its own poster */
.fm-host { position: absolute; z-index: 1; overflow: hidden; touch-action: pan-y; }
.fm-host canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.fm-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 0 0; }
.fm-live > .fm-poster { visibility: hidden; }
.fm-flight, .fm-ice-view { inset: 0 0 0 -24px; cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21'%3E%3Cpath d='M10.5 1v7M10.5 13v7M1 10.5h7M13 10.5h7' stroke='%2322406B' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") 10 10, crosshair; }
.fm-flight:focus-visible, .fm-ice-view:focus-visible { outline-offset: -8px; }
.fm-camps { position: absolute; inset: 0; pointer-events: none; }
.fm-camp { position: absolute; left: 0; top: 0; width: 24px; height: 24px; margin: -12px 0 0 -12px; border: 1.6px solid var(--fm-red); border-radius: 50%;
  font: .9375rem/21px var(--fm-mono); text-align: center; color: var(--fm-ink); background: rgb(176 141 94 / .55); opacity: 0; }
.fm-is-ice .fm-camp { background: rgb(233 237 234 / .7); }
.fm-camp.fm-down { opacity: .92; }

/* ── contents and the key ───────────────────────────────────────────────────────────────────────── */
.fm-toc { list-style: none; max-width: 46ch; margin-bottom: calc(var(--fm-rule) * 2); }
.fm-toc li { position: relative; }
.fm-toc a { display: flex; align-items: baseline; text-decoration: none; }
.fm-toc-n { flex: none; width: 4.5ch; }
.fm-toc-l { flex: 1; margin: 0 .5ch; min-width: 2ch; align-self: stretch; background: radial-gradient(circle, currentColor .9px, transparent 1.2px) 0 calc(100% - 9px) / 9px 3px repeat-x; }
.fm-toc a:hover .fm-toc-t { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.fm-tick { position: absolute; left: -34px; top: 2px; width: 26px; height: 24px; fill: none; stroke: var(--fm-red); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fm-ack { border: 1px solid var(--fm-ink); box-shadow: inset 0 0 0 3px transparent, inset 0 0 0 4px rgb(29 24 19 / .5); padding: calc(var(--fm-rule) * .5 - 1px) 24px; max-width: 60ch; }
.fm-ack .fm-p { margin-bottom: 0; }
.fm-key-h { margin-bottom: var(--fm-rule); }
.fm-key { list-style: none; margin-bottom: var(--fm-rule); }
.fm-key li { display: flex; align-items: center; gap: 18px; }
.fm-sym { flex: none; width: 56px; height: 16px; overflow: visible; fill: none; stroke-linecap: round; }
.fm-k-minor { stroke: #4E3D27; stroke-width: 1; } .fm-k-index { stroke: var(--fm-ink); stroke-width: 1.8; }
.fm-k-route { stroke: var(--fm-blue); stroke-width: 2.5; } .fm-k-ahead { stroke: var(--fm-blue); stroke-width: 2.5; stroke-dasharray: 7 4; }
.fm-k-camp { stroke: var(--fm-red); stroke-width: 1.5; } .fm-k-num, .fm-k-fig { font: 9px var(--fm-mono); fill: var(--fm-ink); stroke: none; text-anchor: middle; }
.fm-k-fig { text-anchor: start; font-size: 10px; } .fm-k-spot { fill: var(--fm-ink); stroke: none; }
.fm-k-water { stroke: var(--fm-blue); stroke-width: 1.5; stroke-linejoin: round; } .fm-k-shore { stroke: var(--fm-ink); stroke-width: 1.1; }
.fm-k-wl { stroke: #4F6E91; stroke-width: 1.2; stroke-opacity: .8; }
.fm-honest { max-width: 52ch; }

/* ── the flight spreads (Ranges and Ice): typed log left, sticky right page ───────────────────── */
.fm-intro { min-height: 140svh; }
.fm-intro-in { position: sticky; top: calc(var(--fm-bar) + var(--fm-nav-h) + var(--fm-rule)); }
.fm-country { border-left: 2px solid var(--fm-ink); padding-left: 16px; margin-left: -18px; }
.fm-log { font-size: .9375rem; letter-spacing: .04em; margin-bottom: var(--fm-rule); }
.fm-log-t { color: var(--fm-ink); }
.fm-is-ice .fm-log-t { color: var(--fm-blue); }
.fm-day { min-height: 72svh; scroll-margin-top: calc(var(--fm-bar) + var(--fm-nav-h)); padding-top: var(--fm-rule); position: relative; }
.fm-day .fm-h3 { margin-bottom: 0; }
.fm-day::before { content: ""; position: absolute; left: calc(-1 * var(--fm-air) - 9px); top: calc(var(--fm-rule) + 6px); width: 16px; height: 2px; background: var(--fm-red); opacity: 0; transition: opacity .2s; }
.fm-day.fm-cur::before { opacity: 1; }
/* the last day holds a full screen, so its flight is never pushed up by the spread's end */
@media (min-width: 1180px) { .fm-day:last-of-type { min-height: calc(100svh - var(--fm-bar) - var(--fm-nav-h) - var(--fm-rule) * 3); } }
.fm-flyspread .fm-r { padding: 0; }
.fm-stick { position: sticky; top: calc(var(--fm-bar) + var(--fm-nav-h)); height: calc(100svh - var(--fm-bar) - var(--fm-nav-h)); }
.fm-head-over { position: absolute; z-index: 4; left: var(--fm-in); right: calc(var(--fm-om) + var(--fm-air)); top: 5px; margin: 0; align-items: center; line-height: 1.7; pointer-events: none; }
/* text over the flight sits on a scrap of the page, so the contours never strike through it */
.fm-head-over > span, .fm-ref, .fm-cap { width: fit-content; padding: 2px 8px; background: var(--fm-grain) var(--fm-paper); }
.fm-ref { position: absolute; z-index: 4; right: calc(var(--fm-om) + var(--fm-air)); top: calc(var(--fm-rule) * 1.5); color: var(--fm-blue); font: italic 1.5rem/1.15 var(--fm-mono); letter-spacing: .02em; pointer-events: none; }
.fm-is-ice .fm-ref { font-size: 1rem; }
.fm-card { position: absolute; z-index: 4; left: var(--fm-in); bottom: 96px; width: 220px; padding: 8px 8px 6px; background: rgb(239 232 218 / .93); transform: rotate(-1.5deg);
  box-shadow: 0 1px 2px rgb(29 24 19 / .25), 0 8px 18px -10px rgb(29 24 19 / .35); transition: opacity .5s ease; }
@media (min-width: 1180px) { .fm-quiet .fm-card { opacity: .35; } }
.fm-card::after { content: ""; position: absolute; inset: -3px; pointer-events: none;
  background: linear-gradient(135deg, var(--fm-corner) 50%, transparent 50%) 0 0 / 16px 16px no-repeat, linear-gradient(225deg, var(--fm-corner) 50%, transparent 50%) 100% 0 / 16px 16px no-repeat,
    linear-gradient(45deg, var(--fm-corner) 50%, transparent 50%) 0 100% / 16px 16px no-repeat, linear-gradient(315deg, var(--fm-corner) 50%, transparent 50%) 100% 100% / 16px 16px no-repeat; }
.fm-card-h { display: flex; align-items: center; flex-wrap: wrap; gap: 0 .45em; font: italic .6875rem/1.8 var(--fm-mono); letter-spacing: .08em; text-transform: uppercase; }
.fm-sb { display: inline-block; width: 44px; height: 6px; border: 1px solid var(--fm-ink); background: linear-gradient(90deg, var(--fm-ink) 25%, transparent 0 50%, var(--fm-ink) 0 75%, transparent 0); }
.fm-map, .fm-map svg, .fm-map img { display: block; width: 100%; height: auto; }
.fm-m-route { stroke-dasharray: 1 1; }
.fm-m-camp { opacity: 1; }
.fm-js .fm-map svg .fm-m-camp:not(.fm-down) { opacity: 0; }
.fm-days { position: absolute; z-index: 4; left: var(--fm-in); right: calc(var(--fm-om) + var(--fm-air)); bottom: 44px; height: 44px; display: flex; align-items: center; gap: 16px; }
.fm-days .fm-label { font-style: normal; }
.fm-range { position: relative; flex: 1; height: 44px; }
.fm-dticks { display: flex; justify-content: space-between; list-style: none; height: 100%;
  background: linear-gradient(var(--fm-ink), var(--fm-ink)) 50% calc(100% - 1px) / calc(100% - 44px) 1px no-repeat; }
.fm-dticks li { width: 44px; display: grid; place-items: center; }
.fm-dticks a { display: grid; place-items: center; width: 44px; height: 44px; text-decoration: none; font-size: 1rem; }
.fm-range input { position: absolute; inset: 0; width: 100%; height: 44px; margin: 0; background: transparent; -webkit-appearance: none; appearance: none; cursor: pointer; }
.fm-range input::-webkit-slider-runnable-track { height: 44px; background: transparent; }
.fm-range input::-moz-range-track { height: 44px; background: transparent; }
.fm-range input::-webkit-slider-thumb { -webkit-appearance: none; width: 44px; height: 44px; border: 2px solid var(--fm-red); border-radius: 2px; background: transparent; box-shadow: inset 0 0 0 3px var(--fm-red), inset 0 0 0 2px transparent; transform: rotate(-5deg); }
.fm-range input::-moz-range-thumb { width: 40px; height: 40px; border: 2px solid var(--fm-red); border-radius: 2px; background: transparent; transform: rotate(-5deg); }
.fm-range input:focus-visible { outline: 2px solid var(--fm-blue); outline-offset: 3px; }
.fm-js .fm-range input:not([hidden]) + .fm-dticks { pointer-events: none; }
.fm-cap { position: absolute; z-index: 4; left: var(--fm-in); right: calc(var(--fm-om) + var(--fm-air)); bottom: 8px; font: italic .75rem/1.5 var(--fm-mono); letter-spacing: .06em; text-transform: uppercase; pointer-events: none; }

/* no WebGL: the traced card grows to fill the right page, the poster behind it at 30 % */
.fm-nogl .fm-flyspread .fm-poster { opacity: .3; }
.fm-nogl .fm-flyspread .fm-card { left: var(--fm-in); right: calc(var(--fm-om) + var(--fm-air)); width: auto; max-width: min(100% - var(--fm-in) - var(--fm-om) - var(--fm-air), calc(100svh - 280px)); top: calc(var(--fm-rule) * 2.6); bottom: auto; }
.fm-nogl .fm-is-ice.fm-flyspread .fm-card { top: calc(var(--fm-rule) * 2.6 + 236px); max-width: min(100% - var(--fm-in) - var(--fm-om) - var(--fm-air), calc(100svh - 516px)); }

/* ── Section A–A′: the fold-out across the gutter ──────────────────────────────────────────────── */
.fm-side { grid-template-rows: auto auto auto; }
.fm-side-a { grid-row: 1; padding-bottom: calc(var(--fm-rule) * 3); }
.fm-side-b { grid-row: 1; padding-bottom: calc(var(--fm-rule) * 3); }
.fm-side-c { grid-row: 3; padding-top: var(--fm-rule); }
.fm-print-creek { width: 360px; max-width: 100%; --fm-t: -2deg; margin-left: 12px; }
.fm-print-kettle { width: 400px; max-width: 100%; --fm-t: 1.5deg; margin: calc(var(--fm-rule) * 3) 0 0 auto; }
.fm-fold { grid-row: 2; grid-column: 1 / -1; position: relative; z-index: 4; margin: 0 var(--fm-om); background: var(--fm-print); padding: 18px 20px 14px;
  box-shadow: 0 1px 2px rgb(29 24 19 / .25), 0 10px 24px -12px rgb(29 24 19 / .4); }
.fm-fold::after { content: ""; position: absolute; inset: -3px; pointer-events: none;
  background: linear-gradient(135deg, var(--fm-corner) 50%, transparent 50%) 0 0 / 20px 20px no-repeat, linear-gradient(225deg, var(--fm-corner) 50%, transparent 50%) 100% 0 / 20px 20px no-repeat,
    linear-gradient(45deg, var(--fm-corner) 50%, transparent 50%) 0 100% / 20px 20px no-repeat, linear-gradient(315deg, var(--fm-corner) 50%, transparent 50%) 100% 100% / 20px 20px no-repeat; }
.fm-fold-h { display: flex; justify-content: space-between; gap: 1em; font: italic .8125rem/1.6 var(--fm-mono); letter-spacing: .08em; text-transform: uppercase; }
.fm-fold-x { overflow-x: auto; }
/* the note rides inside the scrolling profile, so it stays over the steepest rise at every width */
.fm-prof-w { position: relative; min-width: 900px; }
.fm-prof { display: block; width: 100%; min-width: 900px; height: auto; }
.fm-prof a:focus-visible { outline: none; }
.fm-prof a:focus-visible circle { stroke: var(--fm-blue); stroke-width: 3; }
.fm-fold-hint { display: none; font: italic .8125rem/1.6 var(--fm-mono); letter-spacing: .08em; text-transform: uppercase; }
.fm-note-steep { position: absolute; top: 9%; left: var(--x, 50%); margin: 0; color: var(--fm-red); transform: translateX(-50%) rotate(-3deg); white-space: nowrap; pointer-events: none; }

/* ── the salt country: the page goes flat ──────────────────────────────────────────────────────── */
.fm-horizon { position: absolute; z-index: 3; left: 0; right: 0; top: var(--fm-hz, 48%); height: 1.5px; background: var(--fm-blue); pointer-events: none; transform-origin: 0 50%; }
.fm-salt .fm-r { display: flex; flex-direction: column; align-items: flex-start; }
.fm-salt .fm-r > .fm-head { align-self: stretch; }
.fm-print-salt { width: 560px; max-width: 100%; --fm-t: 1.5deg; z-index: 4; }
.fm-card-s { position: relative; left: auto; bottom: auto; width: 300px; max-width: 100%; margin: calc(var(--fm-rule) * 2) 0 0 24px; --fm-corner: var(--fm-kraft-dk); transform: rotate(-1deg); }
.fm-aside-salt { margin: auto 0 0 12px; padding-top: calc(var(--fm-rule) * 1.5); color: var(--fm-red); max-width: 24ch; }
.fm-entry { margin-bottom: var(--fm-rule); }

/* ── the vellum: tracing paper over the last brown page ────────────────────────────────────────── */
.fm-vellum { position: relative; z-index: 8; padding: calc(var(--fm-rule) * 4) var(--fm-om) calc(var(--fm-rule) * 4); background: var(--fm-ice);
  --fm-deckle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='14'%3E%3Cpath d='M0 6L3 5L6 6.5L9 5.5L12 7L15 5L18 4.5L21 6L24 5.5L27 7.5L30 6L33 4.5L36 5.5L39 6.5L42 5L45 4L48 5.5L51 7L54 6L57 5L60 6.5L63 5.5L66 4.5L69 6L72 7L75 5.5L78 5L81 6L84 7.5L87 6.5L90 5L93 4L96 5L99 6.5L102 6L105 5L108 5.5L111 7L114 6L117 4.5L120 5L123 6.5L126 7L129 5.5L132 4.5L135 5.5L138 6L141 7.5L144 6L147 5L150 5.5L153 4.5L156 6L159 7L162 6L165 5L168 4L171 5.5L174 6.5L177 5.5L180 6L183 7L186 5.5L189 4.5L192 5L195 6.5L198 6L201 5L204 6L207 7.5L210 6.5L213 5L216 4.5L219 5.5L222 7L225 6L228 5L231 5.5L234 6.5L237 5.5L240 6V14H0Z'/%3E%3C/svg%3E");
  -webkit-mask: var(--fm-deckle) 0 0 / 240px 14px repeat-x, linear-gradient(#000, #000) 0 13px / 100% calc(100% - 13px) no-repeat;
  mask: var(--fm-deckle) 0 0 / 240px 14px repeat-x, linear-gradient(#000, #000) 0 13px / 100% calc(100% - 13px) no-repeat; }
.fm-vellum-in { max-width: 62ch; margin: 0 auto; text-align: center; }
.fm-vellum .fm-p { margin: 0 auto; }
/* the interleaf: its top third lies over the salt spread's last entry and aside, which show faintly through */
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .fm-vellum { margin-top: calc(-12svh - 240px); background: linear-gradient(rgb(233 237 234 / .5), rgb(233 237 234 / .62) 30%, rgb(233 237 234 / .9) 48%, var(--fm-ice) 62%); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
  .fm-salt { padding-bottom: 12svh; }
}

/* ── the Ice ───────────────────────────────────────────────────────────────────────────────────── */
.fm-print-ice { position: absolute; z-index: 5; right: calc(var(--fm-om) - 12px); top: calc(var(--fm-rule) * 2.6); width: 300px; --fm-t: 2deg; }
.fm-is-ice .fm-ref { right: auto; left: var(--fm-in); top: calc(var(--fm-rule) * 1.5); }
.fm-list { list-style: none; max-width: 56ch; }
.fm-list li { position: relative; padding-left: 3ch; margin-bottom: var(--fm-rule); }
.fm-list li::before { content: "\2014"; position: absolute; left: 0; }
.fm-print-peng { width: 560px; max-width: 100%; --fm-t: -1deg; margin: 0 0 calc(var(--fm-rule) * 2) 12px; }
.fm-kitcols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin-bottom: var(--fm-rule); }
.fm-kit-x { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 28px; margin-bottom: var(--fm-rule); background: linear-gradient(var(--fm-ink), var(--fm-ink)) 0 0 / 100% 1.5px no-repeat; }
.fm-kit-x .fm-ticks { display: flex; flex-wrap: wrap; gap: 0 28px; }
.fm-ticks { list-style: none; font-size: 1rem; }
.fm-ticks li { position: relative; padding-left: 26px; }
.fm-ticks li::before { content: ""; position: absolute; left: 0; top: 7px; width: 18px; height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'%3E%3Cpath d='M2 9.5l4.2 4L16 2.5' fill='none' stroke='%231D1813' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat; }
.fm-ticks-x li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'%3E%3Cpath d='M3 3l11 10M14 3L3 13' fill='none' stroke='%231D1813' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); }
.fm-kit-ice { margin-top: var(--fm-rule); }
.fm-camp-h { margin-bottom: var(--fm-rule); }
.fm-stages { list-style: none; margin-bottom: var(--fm-rule); }
.fm-stages li { display: grid; grid-template-columns: 72px 1fr; margin-bottom: var(--fm-rule); }
.fm-stages .fm-stamp { grid-row: 1 / 3; align-self: start; justify-self: start; width: 48px; height: 48px; justify-content: center; padding: 0; font-size: 1.5rem; --fm-rot: -5deg; }
.fm-stages li:nth-child(2) .fm-stamp { --fm-rot: -8deg; } .fm-stages li:nth-child(3) .fm-stamp { --fm-rot: -4deg; } .fm-stages li:nth-child(4) .fm-stamp { --fm-rot: -7deg; }
.fm-stages .fm-p { margin: 0; }
.fm-q { font: 600 clamp(1.875rem, 1.4rem + 1.4vw, 2.5rem)/calc(var(--fm-rule) * 2) var(--fm-hand); }

/* ── write to us ───────────────────────────────────────────────────────────────────────────────── */
.fm-form { position: relative; max-width: 600px; }
.fm-form-note { font: italic .8125rem/var(--fm-rule) var(--fm-mono); letter-spacing: .06em; margin-bottom: var(--fm-rule); }
.fm-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.fm-field { display: flex; flex-direction: column; margin-bottom: var(--fm-rule); border: 0; min-width: 0; }
.fm-field label, .fm-field legend { font: italic .8125rem/var(--fm-rule) var(--fm-mono); letter-spacing: .1em; text-transform: uppercase; padding: 0; }
.fm-field input[type="text"], .fm-field select, .fm-field textarea { width: 100%; min-height: 44px; padding: 8px 10px; font: 1rem/1.75 var(--fm-mono); color: var(--fm-ink);
  background: rgb(239 232 218 / .5); border: 0; border-bottom: 1px solid var(--fm-ink); border-radius: 0; }
.fm-field textarea { resize: vertical; line-height: var(--fm-rule); padding-top: 4px;
  background: linear-gradient(transparent calc(100% - 1px), rgb(29 24 19 / .35) 0) 0 3px / 100% var(--fm-rule), rgb(239 232 218 / .5); }
.fm-field select { -webkit-appearance: none; appearance: none; padding-right: 36px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231D1813' stroke-width='1.5'/%3E%3C/svg%3E") calc(100% - 12px) 50% / 12px 8px no-repeat, rgb(239 232 218 / .5); }
.fm-hint { display: block; font: italic .8125rem/1.8 var(--fm-mono); }
.fm-which { display: flex; flex-wrap: wrap; gap: 0 28px; }
.fm-which legend { width: 100%; }
.fm-check { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; }
.fm-check input { -webkit-appearance: none; appearance: none; margin: 0; width: 28px; height: 28px; border: 2px solid var(--fm-ink); border-radius: 2px; background: rgb(239 232 218 / .5); cursor: pointer; flex: none; }
.fm-check input:checked { border-color: var(--fm-red); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13.5l5.5 5L21 5' fill='none' stroke='%237A1A12' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 50% / 22px no-repeat, rgb(239 232 218 / .5); }
.fm-send { font: 400 1.5rem/1 var(--fm-mono); letter-spacing: .18em; text-transform: uppercase; color: var(--fm-red); background: transparent; border: 2px solid var(--fm-red); border-radius: 2px;
  box-shadow: inset 0 0 0 3px var(--fm-red), inset 0 0 0 2px transparent; padding: 14px 24px; min-height: 56px; cursor: pointer; transform: rotate(-2deg); }
.fm-send:hover { background: rgb(122 26 18 / .06); }
.fm-status { min-height: var(--fm-rule); margin-top: var(--fm-rule); }
.fm-notsent { position: absolute; right: 0; bottom: 74px; --fm-rot: -7deg; opacity: 0; pointer-events: none; font-size: 1.75rem; }
.fm-notsent.fm-in { opacity: .92; }
.fm-card-end { position: relative; left: auto; bottom: auto; width: 300px; max-width: 100%; margin: 0 0 calc(var(--fm-rule) * 2) 12px; transform: rotate(1deg); }
.fm-card-end img { display: block; width: 100%; height: auto; }
.fm-card-end figcaption { margin-top: 6px; line-height: 1.6; }
.fm-colophon, .fm-ackline { max-width: 52ch; }
.fm-endmark { margin-top: var(--fm-rule); }
.fm-board { position: relative; background: var(--fm-grain) var(--fm-kraft-deep); color: var(--fm-print); text-align: center; padding: 44px 24px 48px; font: italic .8125rem/1.6 var(--fm-mono); letter-spacing: .12em; text-transform: uppercase;
  box-shadow: inset 0 10px 18px -12px rgb(0 0 0 / .5); }

/* ── motion: ink, stamp, turn ──────────────────────────────────────────────────────────────────── */
@keyframes fm-write { from { clip-path: inset(-20% 100% -20% -6%); } to { clip-path: inset(-20% -6% -20% -6%); } }
@keyframes fm-stamp { 0% { opacity: .6; transform: rotate(calc(var(--fm-rot, -6deg) + 2deg)) scale(1.12) translate(1px, -1px); } 100% { opacity: .92; transform: rotate(var(--fm-rot, -6deg)) scale(1); } }
@keyframes fm-ink { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes fm-rule { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes fm-flat { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes fm-curl { from { height: 24px; opacity: 1; } to { height: 0; opacity: 0; } }
.fm-js .fm-aside.fm-rv, .fm-js .fm-capt.fm-rv, .fm-js .fm-note.fm-rv { clip-path: inset(-20% 100% -20% -6%); }
.fm-js .fm-aside.fm-in, .fm-js .fm-capt.fm-in, .fm-js .fm-note.fm-in { animation: fm-write var(--fm-dur, .75s) cubic-bezier(.4, 0, .2, 1) both; }
.fm-js .fm-stamp.fm-rv:not(.fm-in), .fm-js .fm-notsent:not(.fm-in) { opacity: 0; }
.fm-js .fm-stamp.fm-in { animation: fm-stamp .16s cubic-bezier(.2, .7, .2, 1) both; }
.fm-arrow path, .fm-cue path { stroke-dasharray: 1 1; }
.fm-js .fm-arrow:not(.fm-in) path, .fm-js .fm-cue:not(.fm-in) path { stroke-dashoffset: 1; }
.fm-js .fm-arrow.fm-in path { animation: fm-ink .9s linear .5s both; }
.fm-js .fm-cue.fm-in path { animation: fm-ink .5s linear 1.1s both; }
.fm-js .fm-horizon:not(.fm-in) { transform: scaleX(0); }
.fm-js .fm-horizon.fm-in { animation: fm-flat 2.6s linear both; }
.fm-js .fm-camp.fm-down { animation: fm-stamp .16s cubic-bezier(.2, .7, .2, 1) both; --fm-rot: 0deg; }
.fm-js .fm-m-camp.fm-down .fm-m-st { animation: fm-stamp .16s cubic-bezier(.2, .7, .2, 1) both; --fm-rot: 0deg; transform-box: fill-box; transform-origin: 50% 50%; }
@supports (animation-timeline: view()) {
  .fm-mr { animation: fm-rule linear both; animation-timeline: view(); animation-range: entry 0% cover 45%; }
  .fm-spread::before { animation: fm-curl linear both; animation-timeline: view(); animation-range: entry 0% entry 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .fm-book *, .fm-book *::before, .fm-book *::after { animation: none !important; transition: none !important; }
  .fm-js .fm-rv, .fm-js .fm-aside.fm-rv, .fm-js .fm-capt.fm-rv, .fm-js .fm-note.fm-rv { clip-path: none !important; opacity: 1; }
  .fm-js .fm-stamp.fm-rv:not(.fm-in) { opacity: .92; }
  .fm-js .fm-arrow path, .fm-js .fm-cue path { stroke-dashoffset: 0 !important; }
  .fm-js .fm-horizon { transform: none !important; }
  .fm-spread::before { height: 0; }
  .fm-vellum { margin-top: 0 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background: var(--fm-ice) !important; }
  .fm-salt { padding-bottom: 0 !important; }
  .fm-intro { min-height: 0 !important; padding-bottom: calc(var(--fm-rule) * 2); }
}

/* ── one page at a time: the gutter becomes a top rule ─────────────────────────────────────────── */
@media (max-width: 1179px) {
  .fm-book { --fm-rule: 28px; --fm-rule-off: 21px; --fm-om: 40px; --fm-air: 16px; --fm-in: 16px; --fm-gut: 0px; }
  .fm-spread { grid-template-columns: minmax(0, 1fr); }
  .fm-gut { display: none; }
  .fm-pg-l, .fm-l { grid-column: 1; grid-row: 1; } .fm-pg-r, .fm-r { grid-column: 1; grid-row: 2; }
  .fm-pg::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 14px; z-index: 6; pointer-events: none;
    background: radial-gradient(circle, rgb(29 24 19 / .3) 1px, transparent 1.5px) 12px 50% / 24px 14px repeat-x, linear-gradient(rgb(110 82 48 / .3), transparent 45%, rgb(239 232 218 / .35) 55%, rgb(110 82 48 / .22)); }
  .fm-pg-l .fm-mr, .fm-pg-r .fm-mr { left: calc(var(--fm-om) - 2px); right: auto; }
  .fm-l, .fm-r { padding: calc(var(--fm-rule) + 14px) var(--fm-in) calc(var(--fm-rule) * 3) calc(var(--fm-om) + var(--fm-air)); }
  .fm-fly { min-height: 0; }
  .fm-fly-l { padding-bottom: calc(var(--fm-rule) * 2); }
  .fm-fly-r { height: 72svh; min-height: 420px; padding: 0; }
  .fm-terrain { inset: 14px 0 0 0; }
  .fm-fly-r .fm-head-r { top: 14px; left: calc(var(--fm-om) + var(--fm-air)); right: var(--fm-in); }
  .fm-print-ridge { left: auto; right: 6%; top: 64px; width: min(300px, 44%); --fm-t: 2deg; }
  .fm-note-hero { left: calc(var(--fm-om) + var(--fm-air)); top: 72px; max-width: 40%; font-size: 1.75rem; }
  .fm-arrow { left: 22%; top: 196px; width: 200px; height: 118px; }
  .fm-scale { left: calc(var(--fm-om) + var(--fm-air)); bottom: 56px; }
  .fm-cue { right: var(--fm-in); bottom: 20px; }
  .fm-flyspread .fm-pg-r { display: none; }
  .fm-flyspread .fm-pg-l { grid-row: 1; }
  .fm-flyspread .fm-l, .fm-flyspread .fm-r { grid-row: 1; }
  .fm-flyspread .fm-r { z-index: 6; pointer-events: none; }
  .fm-flyspread .fm-l { padding-top: calc(var(--fm-strip) + var(--fm-rule) + 14px); }
  .fm-flyspread { --fm-strip: calc(clamp(176px, 40svh, 360px) + 58px); }
  .fm-stick { height: var(--fm-strip); pointer-events: auto; background: var(--fm-grain) var(--fm-paper); box-shadow: 0 6px 10px -8px rgb(29 24 19 / .45); }
  .fm-stick::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 14px;
    background: radial-gradient(circle, rgb(29 24 19 / .3) 1px, transparent 1.5px) 12px 50% / 24px 14px repeat-x, linear-gradient(rgb(110 82 48 / .3), transparent 45%, rgb(239 232 218 / .35) 55%, rgb(110 82 48 / .22)); }
  .fm-flight, .fm-ice-view { inset: 0 0 58px 0; }
  .fm-head-over { display: none; }
  .fm-ref { top: 10px; right: 12px; color: var(--fm-ink); font-size: 1rem; background: rgb(176 141 94 / .8); padding: 4px 8px; border-left: 3px solid var(--fm-blue); }
  .fm-is-ice .fm-ref { top: 10px; right: 12px; left: auto; bottom: auto; background: rgb(233 237 234 / .85); }
  .fm-card { left: 10px; bottom: 68px; width: clamp(84px, 26vw, 150px); padding: 4px; transform: rotate(-1.5deg); }
  .fm-card-h { display: none; }
  .fm-card .fm-m-minor { display: none; }
  .fm-card .fm-m-camp text, .fm-card .fm-m-spot { display: none; }
  .fm-days { left: 12px; right: 12px; bottom: 14px; gap: 10px; }
  .fm-cap { display: none; }
  .fm-print-ice { right: 12px; top: auto; bottom: 72px; width: min(38%, 220px); }
  .fm-intro { min-height: 60svh; }
  .fm-intro-in { position: static; }
  .fm-day { min-height: 70svh; scroll-margin-top: calc(var(--fm-bar) + var(--fm-nav-h) + var(--fm-strip)); }
  .fm-nogl .fm-flyspread .fm-card { left: 10px; right: auto; top: auto; bottom: 68px; width: clamp(150px, 42vw, 240px); max-width: none; }
  .fm-side { grid-template-rows: auto auto auto auto; }
  .fm-side .fm-pg-r { display: none; }
  .fm-side .fm-pg-l { grid-row: 1 / -1; }
  .fm-side-a { grid-row: 1; padding-bottom: calc(var(--fm-rule) * 2); }
  .fm-fold { grid-row: 2; margin: 0 var(--fm-in) 0 calc(var(--fm-om) + var(--fm-air) - 8px); padding: 12px; }
  .fm-fold-hint { display: block; }
  .fm-side-c { grid-row: 3; padding: var(--fm-rule) var(--fm-in) 0 calc(var(--fm-om) + var(--fm-air)); }
  .fm-side-b { grid-row: 4; padding-top: var(--fm-rule); }
  .fm-side-b .fm-head { display: none; }
  .fm-print-kettle { margin: 0 0 calc(var(--fm-rule) * 2) 8px; }
  .fm-print-creek { width: min(360px, 100%); margin-bottom: calc(var(--fm-rule) * 2); }
  .fm-horizon { display: none; }
  .fm-vellum { padding-left: var(--fm-in); padding-right: var(--fm-in); }
}
@media (min-width: 701px) and (max-width: 1179px) {
  .fm-run-t { display: none; }
}
@media (max-width: 700px) {
  .fm-book { --fm-om: 28px; --fm-nav-h: 44px; }
  .fm-nav { gap: 12px; padding: 0 16px; }
  .fm-mark { font-size: 1.625rem; }
  .fm-links .fm-wide { display: none; }
  .fm-run-t { display: none; }
  .fm-h1-name { font-size: 5.25rem; line-height: calc(var(--fm-rule) * 3); }
  .fm-h1-line { font-size: 1.625rem; max-width: none; white-space: nowrap; }
  .fm-sub { font-size: 1rem; }
  .fm-opened { font-size: 1.2rem; margin-top: calc(var(--fm-rule) * -0.9); margin-right: 0; }
  .fm-go { flex-direction: column; gap: 0; }
  .fm-fly-r { height: 72svh; min-height: 460px; }
  .fm-print-ridge { right: auto; left: 10px; top: 36px; width: 200px; --fm-t: -2deg; }
  .fm-note-hero { left: auto; right: var(--fm-in); top: 190px; max-width: 58%; font-size: 1.625rem; text-align: right; }
  .fm-arrow { left: auto; right: 30%; top: 262px; width: 130px; height: 80px; transform: scaleX(-1); }
  .fm-scale { bottom: 60px; }
  .fm-h2 { font-size: 3rem; line-height: calc(var(--fm-rule) * 2); }
  .fm-toc-n { width: 3.5ch; }
  .fm-tick { left: -30px; }
  .fm-kitcols { grid-template-columns: 1fr; gap: 0; }
  .fm-kitcol { margin-bottom: var(--fm-rule); }
  .fm-pair { grid-template-columns: 1fr; }
  .fm-print-creek, .fm-print-peng { width: 100%; margin-left: 0; --fm-t: -1deg; }
  .fm-print-kettle, .fm-print-salt { width: 100%; }
  .fm-card-s { width: 100%; margin-left: 0; }
  .fm-head { font-size: .75rem; }
  .fm-stages li { grid-template-columns: 60px 1fr; }
  .fm-notsent { right: 0; bottom: 40px; font-size: 1.4rem; }
  .fm-fold-h { flex-direction: column; }
}
@media (max-width: 700px) and (max-height: 640px) {
  .fm-fly-l > .fm-head { display: none; }
  .fm-fly-l { padding-top: 22px; position: relative; }
  .fm-of { width: 100%; }
  .fm-h1-name { font-size: 3.75rem; line-height: calc(var(--fm-rule) * 2); white-space: nowrap; }
  .fm-h1-line { font-size: 1.5rem; }
  .fm-sub-more { display: none; }
  .fm-opened { position: absolute; right: var(--fm-in); top: 14px; margin: 0; font-size: 1.05rem; padding: 5px 9px 4px; }
  .fm-a-w { display: none; }
  .fm-fly-l { padding-bottom: var(--fm-rule); }
  .fm-run { display: none; }
}
@media (min-width: 1180px) and (max-width: 1439px) {
  .fm-print-ridge { width: 260px; left: 38%; }
  .fm-note-hero { max-width: 210px; }
}
