:root { --pad: 20px; --section: 96px; }
.grain, .thread, .sthread, .cthread, .gt, .osi, .osi-sl, .osi-pk, .scrollcue, .jp-intro .drag { display: none !important; }
.dock { position: absolute; top: 12px; right: 10px; }
.dock::after, .dock::before { display: none; }
.js.named .dock.away:not(:focus-within) { opacity: 1; translate: 0 0; pointer-events: auto; }
.dock a { width: 44px; height: 44px; }
.panel { margin-top: 0; }
.panel::before { border-radius: 0; box-shadow: none; border-top: 1px solid var(--line); }
.panel::after { display: none; }
.sec { padding-top: var(--section); }
.kick { margin-bottom: 20px; }
.h2 { font-size: clamp(2.25rem, 10vw, 2.625rem); line-height: 1.02; letter-spacing: -.035em; }
.lead { font-size: 1.125rem; line-height: 1.45; }
.js .hl, .js .hl.in, .hl { background: none; color: inherit; padding: 0; margin: 0; }
.js .gate .hl, .js .gate .hl.in { background: linear-gradient(var(--accent), var(--accent)) 0 50% / 100% 100% no-repeat; color: var(--on-accent); padding: 0 .1em .02em; }
.hero { width: 100%; height: auto; min-height: 100svh; margin: 0; border: 0; border-radius: 0; display: flex; flex-direction: column; justify-content: flex-end; }
.hero::before { animation: none; }
.arrive .punch .ln > span { animation: rise .9s cubic-bezier(.2, .8, .2, 1) both; }
.arrive .punch .ln:nth-child(2) > span { animation-delay: .12s; }
.arrive .punch .ln:nth-child(3) > span { animation-delay: .32s; }
.arrive .punch .ln:nth-child(4) > span { animation-delay: .42s; }
@keyframes rise { from { transform: translateY(105%); } to { transform: none; } }
.arrive .dock { transition-delay: .8s; }
.hero-text { position: relative; left: auto; right: auto; top: auto; width: auto; padding: 0 var(--pad) clamp(56px, 12svh, 110px); }
.punch { font-size: clamp(2.6rem, 12.4vw, 3.4rem); line-height: .98; letter-spacing: -.045em; }
.ln-name { margin-bottom: .55em; }
.hname { font-size: 1em; text-transform: none; letter-spacing: -.05em; line-height: .92; white-space: normal; }
.hname .hn1, .hname .hn2 { display: block; }
.punch .ln:not(.ln-name) { font-size: .66em; }
.punch .ln.ln-yrs { font-size: 1em; }
.journey.jstatic { padding-bottom: 24px; }
.jp-intro { width: auto; padding: 56px 0 28px; border: 0; }
.jstatic .jtrack { position: relative; padding: 0 var(--pad); }
.jstatic .jp.city {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; column-gap: 12px;
  width: auto; min-height: 0; padding: 22px 0 22px 30px; border: 0; border-radius: 0; overflow: visible;
  background: none; color: var(--text);
}
.jstatic .jp.city + .jp.city { border-top: 1px solid var(--line); }
.city > .land { display: none !important; }
.jstatic .jp.city::before { inset: 0 auto 0 4px; width: 1px; opacity: 1; background: var(--line-2); transition: none; }
.jstatic .jp.city:nth-child(2)::before { top: 30px; }
.jstatic .jp.city:last-child::before { bottom: auto; height: 30px; }
.city::after {
  content: ""; position: absolute; left: 0; top: 29px; width: 9px; height: 9px; border-radius: 50%;
  border: 1.5px solid var(--line-2); background: var(--bg); transition: background-color .5s ease, border-color .5s ease, transform .5s var(--ease);
}
.city.on::after { background: var(--spark); border-color: var(--spark); transform: scale(1.15); }
.ctry { grid-row: 1; grid-column: 1; margin: 0; font-size: .75rem; color: var(--text-3); }
.ctry span { padding: 0; border: 0; border-radius: 0; }
.ctry span:not(:first-child) { display: none; }
.greet { grid-row: 1; grid-column: 2; margin: 0; font-size: .9375rem; color: var(--cool); }
.greet small { display: none; }
.jp h3 { grid-row: 2; grid-column: 1 / -1; margin-top: 6px; font-size: 2rem; line-height: 1.05; letter-spacing: -.035em; }
.jco { grid-row: 3; grid-column: 1 / -1; margin-top: 2px; font-size: 1.0625rem; color: var(--text-2); opacity: 1; }
.jp .now { grid-row: 4; grid-column: 1 / -1; margin: 10px 0 0; font-size: .75rem; color: var(--text-3); opacity: 1; }
.city { padding-bottom: 22px; }
.stack { margin-top: 36px; display: grid; gap: 12px; }
.fc { position: relative; top: auto !important; height: auto; margin: 0; grid-template-rows: auto auto; box-shadow: none; border-radius: 20px; transform: none !important; }
.art { height: 150px; padding: 18px 0 0; }
.fart { height: 132px; }
.ft { padding: 22px 22px 26px; }
.ft h3 { margin-top: 14px; font-size: 1.75rem; line-height: 1.08; }
.ft .lead { margin-top: 10px; font-size: 1.0625rem; }
.calls { margin-top: 32px; }
.clist { display: grid; gap: 12px; }
.call { display: flex; flex-direction: column; padding: 24px 22px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.cinline { margin-top: 16px; font-size: 3.4rem; }
.call h3 { margin-top: 12px; font-size: 1.5rem; line-height: 1.1; }
.cintro { margin-top: 10px; font-size: 1rem; line-height: 1.5; }
.cgrid { margin-top: 18px; display: block; }
.cgrid > div:first-child, .flow { display: none; }
.cgrid > div + div { padding: 16px 18px; border-radius: 14px; box-shadow: none; }
.story { margin-top: 14px; align-self: flex-start; }
.rows { margin-top: 32px; }
.row { padding: 28px 0; gap: 14px; }
.row::before { display: none; }
.row code { display: none; }
.ri { display: none; }
.row h3 { font-size: 1.75rem; }
.chips.topics { display: none; }
.chips li { padding: 0; border: 0; opacity: .75; }
.chips li + li::before { content: "·"; margin-right: 6px; }
.chips { gap: 6px; }
.mot .breathe, .breathe { animation: none; }
.blist { margin-top: 40px; }
.blist li { padding: 26px 0; grid-template-columns: 1fr; }
.bno { font-size: 1rem; line-height: 1; letter-spacing: 0; color: var(--cool); -webkit-text-stroke: 0; font-family: var(--font-mono); font-weight: 500; }
.tick { display: none; }
.blist h3 { font-size: 1.5rem; line-height: 1.12; }
.qt { padding: 44px 0; }
.av { width: 44px; height: 44px; font-size: 1rem; }
.quote { font-size: 1.625rem; line-height: 1.2; }
.qwho { margin-top: 20px; }
.gate { padding-bottom: 72px; }
.holdwrap { margin-top: 56px; }
.approve { width: 184px; height: 184px; touch-action: none; }
.approve::before { display: none; }
.approve:hover { transform: none; }
.lab b { font-size: 2rem; }
.note { margin-top: 40px; background: none; }
.endline { margin-top: 28px; }
.endline::before { display: none; }
.endline span { border: 0; padding: 0; background: none; }
.approved .endline span { border: 0; color: var(--text-2); }
.gated .gate { padding-bottom: 96px; }
.closing { margin-top: 0; border-radius: 0; box-shadow: none; min-height: 0; animation: none; }
.closing-in { padding: 88px var(--pad) 72px; }
.cta { font-size: clamp(2.25rem, 10vw, 2.625rem); line-height: 1.04; }
.mims-hint { display: none; }
.closing .mims { font-size: clamp(2rem, 9vw, 2.4rem); }
.crow { margin-top: 36px; }
.sign { margin-top: 0; min-height: 0; }
.room { display: grid; flex: none; min-height: 0; overflow: hidden; background: none; }
.room-tx { display: contents; }
.room-ph { position: relative; grid-area: 1 / 1; aspect-ratio: 3 / 2; overflow: hidden; }
.room picture, .room-soft { transform: none; will-change: auto; }
.room-soft { display: none; }
.room img { object-position: 0% 50%; }
.room-ph::after { bottom: -2px; }
.room-go { grid-area: 1 / 1; z-index: 3; align-self: start; justify-self: start; margin: 15% 0 0 58%; font-size: clamp(1.9rem, 8.6vw, 2.3rem); color: #211F1D; }
.room-meta { grid-area: 2 / 1; margin: 0; padding: 22px var(--pad) 0; color: var(--text-3); }
.room-meta a { color: var(--text); }
.fline { padding-top: 40px; padding-bottom: calc(26px + env(safe-area-inset-bottom)); }
.js .room-go .w { transition-delay: .15s; }
.js .room-meta { transition-delay: .4s; }
.js .room.in .room-dot { animation-delay: .8s; }
.sd::backdrop { background: rgba(20, 18, 16, .6); -webkit-backdrop-filter: none; backdrop-filter: none; }
.sd[open] { animation: sheet-up .32s cubic-bezier(.2, .8, .2, 1); }
.sd-big { font-size: 4.5rem; }
@media (prefers-reduced-motion: reduce) { .sd[open] { animation: none; } }
.btn-line { padding: 10px 0; border: 0; border-radius: 0; background: none; color: var(--text); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 6px; }
.btn-line:hover, .btn-line:focus-visible { background: none; color: var(--text); }
.row:hover .btn-line { background: none; color: var(--text); }
.badge { padding: 0; background: none; }
.cstate { padding: 0; background: none !important; }
.trustbig .tw::after { display: none; }
.trustbig .tw.locked, .trustbig .tw { color: inherit; }
