@font-face{font-family:"Inter";src:url("../fonts/inter-var-latin.woff2") format("woff2");font-weight:400 500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Metric";src:local("Helvetica Neue"),local("Arial");size-adjust:107.12%;ascent-override:90.44%;descent-override:22.52%;line-gap-override:0%}
@font-face{font-family:"Plex Mono";src:url("../fonts/plexmono-400-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#ffffff;
  --ink:#000000;
  --ash:#eeeeee;
  --quiet:#56585b;
  --hair:#cacaca;
  --mark:#c8102e;
  --set:"Inter","Inter Metric",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --tech:"Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --shell:1180px;
  --pad:clamp(20px,5vw,56px);
  --s9:9px;--s18:18px;--s22:22px;--s26:26px;--s36:36px;--s56:56px;--s96:96px;--s120:120px;
  --edge:22px 4px 22px 4px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--set);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:400;letter-spacing:-0.03em}
h1{font-size:clamp(2.75rem,7.2vw,4.75rem);line-height:0.94;letter-spacing:-0.04em}
h2{font-size:clamp(1.75rem,3.4vw,2.6rem);line-height:1.06}
h3{font-size:1.3125rem;line-height:1.3;letter-spacing:-0.01em}
p{margin:0}
ul,ol{margin:0}
:focus-visible{outline:3px solid var(--mark);outline-offset:3px}
.sp-away{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sp-defs{position:absolute;width:0;height:0;overflow:hidden}
.sp-mark{color:var(--mark)}
.sp-tech{font-family:var(--tech);font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;line-height:1.5}
.sp-shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--pad)}
.sp-skip{position:absolute;left:-9999px;top:0;z-index:60;background:var(--ink);color:var(--paper);padding:14px 22px}
.sp-skip:focus{left:var(--pad)}

.sp-mast{position:sticky;top:0;z-index:40;background:var(--paper)}
.sp-mast__row{display:flex;align-items:center;justify-content:space-between;gap:var(--s18);min-height:72px}
.sp-mast__sign{font-size:1.25rem;letter-spacing:0.02em;text-transform:uppercase;text-decoration:none;font-weight:500;padding-block:12px}
.sp-mast__nav ul{display:flex;align-items:center;gap:var(--s26);list-style:none;padding:0}
.sp-mast__nav a{text-decoration:none;font-size:0.9375rem;padding:14px 2px;display:inline-block;position:relative}
.sp-mast__nav a::after{content:"";position:absolute;left:0;right:100%;bottom:9px;height:2px;background:var(--mark);transition:right .18s ease}
.sp-mast__nav a:hover::after,.sp-mast__nav a:focus-visible::after{right:0}
.sp-mast__key{display:none;align-items:center;gap:10px;background:none;border:0;font:inherit;color:inherit;padding:12px 16px;min-height:48px;cursor:pointer;border-radius:var(--edge)}
.sp-mast__key svg{width:20px;height:14px}
.sp-mast__key:hover{background:var(--ash)}

.sp-base{background:var(--ash);padding-block:var(--s96) var(--s36);margin-top:var(--s120)}
.sp-base__talk{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s56);align-items:start}
.sp-base__talk p{color:var(--quiet);max-width:34em;margin-top:var(--s18)}
.sp-base__mail{display:inline-block;margin-top:var(--s26);font-size:clamp(1.125rem,2.6vw,1.6rem);text-decoration:none;border-bottom:2px solid var(--mark);padding-bottom:4px;transition:background .18s ease}
.sp-base__mail:hover{background:var(--mark);color:var(--paper);border-bottom-color:var(--ink)}
.sp-base__cols{display:flex;flex-wrap:wrap;gap:var(--s56)}
.sp-base__cols h3{font-size:0.75rem;font-family:var(--tech);letter-spacing:0.14em;text-transform:uppercase;color:var(--quiet)}
.sp-base__cols ul{list-style:none;padding:0;margin-top:var(--s9)}
.sp-base__cols a{text-decoration:none;display:inline-block;padding-block:11px;font-size:0.9375rem}
.sp-base__cols a:hover{color:var(--mark)}
.sp-base__foot{margin-top:var(--s96);display:flex;flex-wrap:wrap;gap:var(--s18) var(--s36);justify-content:space-between;color:var(--quiet)}

.sp-note{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ink);color:var(--paper);padding-block:var(--s18)}
.sp-note__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s18) var(--s26);justify-content:space-between}
.sp-note p{max-width:52em;font-size:0.9375rem;line-height:1.5}
.sp-note a{color:var(--paper)}
.sp-note__set{display:flex;gap:var(--s18);align-items:center}
.sp-lift{position:fixed;right:20px;bottom:24px;z-index:45;width:52px;height:52px;display:grid;place-items:center;background:var(--ink);color:var(--paper);border:0;border-radius:var(--edge);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.sp-lift svg{width:18px;height:18px}
.sp-lift[data-shown="yes"]{opacity:1;visibility:visible;transform:none}
.sp-lift:hover{background:var(--mark)}
body[data-note="open"] .sp-lift{bottom:132px}

.sp-link{display:inline-flex;align-items:center;gap:10px;font:inherit;text-decoration:none;cursor:pointer;border:0;background:transparent;color:inherit;border-radius:var(--edge);min-height:48px;padding:14px 30px;transition:transform .18s ease,background .18s ease,color .18s ease}
.sp-link--lead{background:var(--mark);color:var(--paper);font-weight:500}
.sp-link--lead:hover{background:var(--ink);transform:translateY(-3px)}
.sp-link--pale{background:var(--paper);color:var(--ink);font-weight:500}
.sp-link--pale:hover{background:var(--ash);transform:translateY(-3px)}
.sp-link--plain{padding:14px 4px;border-bottom:2px solid var(--mark);border-radius:0;min-height:48px}
.sp-link--plain:hover{color:var(--mark);transform:translateX(5px)}
.sp-link--plain.sp-note__no{border-bottom-color:var(--paper);color:var(--paper)}
.sp-link--plain.sp-note__no:hover{color:var(--hair)}
.sp-link__tip{width:15px;height:15px;flex:none}

.sp-reel{padding-block:var(--s56) var(--s120)}
.sp-reel__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--s56);align-items:end}
.sp-reel__eye{color:var(--quiet)}
.sp-reel h1{margin-block:var(--s22) var(--s26)}
.sp-reel__lead{font-size:clamp(1.0625rem,1.9vw,1.1875rem);line-height:1.5;max-width:33em;color:var(--quiet)}
.sp-reel__acts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s26);margin-top:var(--s36)}
.sp-reel__sheet{background:var(--ink);padding:var(--s22)}
.sp-reel__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;list-style:none;padding:0}
.sp-reel__tiles img{width:100%;height:auto}
.sp-reel__cap{color:var(--paper);margin-top:var(--s18);display:block}

.sp-strip{background:var(--ash);padding-block:var(--s96)}
.sp-strip__intro p{margin-top:var(--s18);color:var(--quiet);max-width:32em}
.sp-strip__list{list-style:none;padding:0;margin-top:var(--s56);display:grid;gap:var(--s36)}
.sp-strip__row{display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:var(--s26);align-items:baseline}
.sp-strip__no{font-family:var(--tech);font-size:clamp(1.75rem,4vw,2.75rem);color:var(--mark);line-height:1}
.sp-strip__row h3{margin-bottom:10px}
.sp-strip__row p{color:var(--quiet);max-width:52em}
.sp-strip__row:nth-child(2n) .sp-strip__body{padding-left:clamp(0px,3vw,44px)}

.sp-frames{padding-block:var(--s120) 0}
.sp-frames__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s56);align-items:end;margin-bottom:var(--s56)}
.sp-frames__top p{color:var(--quiet)}
.sp-frames__set{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s56) var(--s26);align-items:start;list-style:none;padding:0}
.sp-frame{grid-column:span 2;display:flex;flex-direction:column;gap:var(--s18)}
.sp-frame--wide{grid-column:span 4}
.sp-frame--drop{margin-block-start:52px}
.sp-frame__shot{background:var(--ash);width:100%;height:auto}
.sp-frame__flag{color:var(--mark)}
.sp-frame__head{display:flex;align-items:center;gap:var(--s18)}
.sp-frame__icon{width:64px;height:64px;flex:none;background:var(--ash)}
.sp-frame__by{color:var(--quiet);font-size:0.875rem;margin-top:2px}
.sp-frame__rate{display:flex;align-items:center;gap:10px}
.sp-frame__rate span{font-family:var(--tech);font-size:0.8125rem;letter-spacing:0.06em}
.sp-frame__stars{width:94px;height:18px;flex:none}
.sp-frame__stars .sp-bed{fill:var(--hair)}
.sp-frame__stars .sp-lit{fill:var(--mark)}
.sp-frame__note{color:var(--quiet);max-width:44em}
.sp-frame__tag{color:var(--quiet)}
.sp-frame__go{margin-top:auto;align-self:flex-start}
.sp-frame--wide .sp-frame__pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:var(--s36);align-items:start}
.sp-frame--wide .sp-frame__side{display:flex;flex-direction:column;gap:var(--s18)}

.sp-slab{padding-block:var(--s120)}
.sp-slab__top{display:flex;flex-wrap:wrap;gap:var(--s26);align-items:end;justify-content:space-between}
.sp-slab__top p{color:var(--quiet);max-width:38em}
.sp-slab__wrap{margin-top:var(--s36);overflow-x:auto}
.sp-slab table{border-collapse:collapse;width:100%;min-width:720px;text-align:left}
.sp-slab caption{text-align:left;color:var(--quiet);font-family:var(--tech);font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;padding-bottom:var(--s18)}
.sp-slab thead th{font-weight:400;font-family:var(--tech);font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;padding:0 var(--s18) 12px 0;border-bottom:1px solid var(--ink);vertical-align:bottom}
.sp-slab tbody th,.sp-slab td{padding:var(--s18) var(--s18) var(--s18) 0;vertical-align:top}
.sp-slab tbody th{font-weight:500;white-space:nowrap}
.sp-slab tbody tr:nth-child(2n){background:var(--ash)}
.sp-slab tbody th:first-child,.sp-slab tbody tr:nth-child(2n) th{padding-left:12px}
.sp-slab tbody tr:nth-child(2n) td:last-child{padding-right:12px}
.sp-slab__after{margin-top:var(--s26);color:var(--quiet);max-width:56em}

.sp-query{padding-bottom:0}
.sp-query__top{max-width:34em}
.sp-query__top p{margin-top:var(--s18);color:var(--quiet)}
.sp-query__list{margin-top:var(--s36);width:100%}
.sp-query__item+.sp-query__item{border-top:1px solid var(--hair)}
.sp-query__item h3{margin:0}
.sp-query__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s26);background:none;border:0;padding:var(--s22) 0;font:inherit;font-size:1.125rem;letter-spacing:-0.01em;color:inherit;text-align:left;cursor:pointer;min-height:48px}
.sp-query__q:hover{color:var(--mark)}
.sp-query__sign{position:relative;width:16px;height:16px;flex:none}
.sp-query__sign::before,.sp-query__sign::after{content:"";position:absolute;background:var(--mark);inset:7px 0 auto 0;height:2px}
.sp-query__sign::after{inset:0 7px auto auto;width:2px;height:16px;transition:transform .18s ease}
.sp-query__q[aria-expanded="true"] .sp-query__sign::after{transform:scaleY(0)}
.sp-query__a{padding-bottom:var(--s26);color:var(--quiet);max-width:60em}
.sp-query__a p+p{margin-top:12px}

.sp-page{padding-block:var(--s56) var(--s96)}
.sp-page__head{max-width:44em}
.sp-page__stamp{color:var(--quiet);margin-top:var(--s18)}
.sp-page__body{margin-top:var(--s56);max-width:46em}
.sp-page__body h2{margin-top:var(--s56);font-size:clamp(1.375rem,2.4vw,1.75rem)}
.sp-page__body h2:first-child{margin-top:0}
.sp-page__body p,.sp-page__body ul{margin-top:var(--s18);color:var(--quiet)}
.sp-page__body ul{padding-left:1.1em;list-style:none}
.sp-page__body li{position:relative;padding-left:var(--s18);margin-top:10px}
.sp-page__body li::before{content:"";position:absolute;left:0;top:0.65em;width:8px;height:2px;background:var(--mark)}
.sp-page__body a{color:var(--ink)}
.sp-page__back{margin-top:var(--s56)}
.sp-lost{padding-block:var(--s120);text-align:left}
.sp-lost p{margin-top:var(--s22);color:var(--quiet);max-width:38em}
.sp-lost .sp-link{margin-top:var(--s36)}

@media (max-width:1024px){
  .sp-reel__grid,.sp-frames__top,.sp-base__talk{grid-template-columns:minmax(0,1fr);gap:var(--s36)}
  .sp-reel__sheet{max-width:420px}
  .sp-frames__set{grid-template-columns:repeat(4,1fr)}
  .sp-frame--wide{grid-column:span 4}
  .sp-frame--drop{margin-block-start:36px}
  .sp-strip__row{grid-template-columns:minmax(0,90px) minmax(0,1fr)}
}
@media (max-width:760px){
  .sp-mast__key{display:inline-flex}
  .sp-mast__nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:var(--s18) var(--pad) var(--s36)}
  .sp-mast__nav[data-open="yes"]{display:block}
  .sp-mast__nav ul{flex-direction:column;align-items:flex-start;gap:0}
  .sp-mast__nav a{padding:15px 0;font-size:1.0625rem}
  .sp-mast__nav a::after{bottom:11px}
  .sp-reel{padding-block:var(--s36) var(--s96)}
  .sp-reel__sheet{max-width:none}
  .sp-frames{padding-top:var(--s96)}
  .sp-frames__set{grid-template-columns:minmax(0,1fr);gap:var(--s56)}
  .sp-frame,.sp-frame--wide{grid-column:auto}
  .sp-frame--drop{margin-block-start:0}
  .sp-frame--wide .sp-frame__pair{grid-template-columns:minmax(0,1fr);gap:var(--s18)}
  .sp-strip__row{grid-template-columns:minmax(0,1fr);gap:6px}
  .sp-strip__row:nth-child(2n) .sp-strip__body{padding-left:0}
  .sp-slab,.sp-base{margin-top:0}
  .sp-base__foot{margin-top:var(--s56)}
  .sp-note__row{align-items:flex-start}
  body[data-note="open"] .sp-lift{bottom:196px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:0.01ms !important;animation-duration:0.01ms !important}
}

[id]{scroll-margin-top:96px}
