:root {
  --c-navy: #162760;
  --c-navy-hover: #1f3380;
  --c-porcelain: #fcfffc;
  --c-white: #ffffff;
  --c-text-2: #676d7a;
  --c-text-3: #b9bdc7;
  --c-border: #e5e8ed;
  --c-border-2: #d1d4dc;
  --c-marker: #fbd387;
  --c-link-underline: #fdbe45;
  --c-button: #f6a700;
  --c-tint: #f1f3f8;
  --c-tint-2: #f4f6fa;
  --c-tint-3: #eef1f6;
  --c-on-navy-soft: #c4d6f9;
  --c-amber-text: #ac6600;
  --c-paper: #fdfdf7;
  --c-paper-grid: rgba(70, 110, 180, .17);
  --c-pen: #1f3a8a;
  --c-pencil: #8a8f9c;
  --c-focus: var(--c-navy);
  --font-serif: "Zodiak", Georgia, "Times New Roman", serif;
  --font-sans: "Mona Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --font-hand: "Kalam", "Segoe Print", cursive;
  --fs-h1: 60px;  --lh-h1: 1.16;  --ls-h1: -0.02em;
  --fs-h2: 48px;  --lh-h2: 1.08;  --ls-h2: -0.015em;
  --fs-lead: 20px; --lh-lead: 1.45;
  --fs-sub: 18px;
  --fs-body: 16px; --lh-body: 1.55;
  --fs-small: 15px;
  --fs-xs: 13px;
  --fs-eyebrow: 12px; --lh-eyebrow: 1.55; --ls-eyebrow: .09em;
  --fs-label: 12px;  --ls-label: .06em;
  --fs-wordmark: 26px;
  --fs-btn: 15px;
  --r-xs: 4px;
  --r-sm: 8px;
  --r-btn: 10px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-pill: 999px;
  --shadow-header: 0 4px 12px rgba(10, 22, 68, .06);
  --shadow-card: 0 10px 30px rgba(10, 22, 68, .06);
  --shadow-ui: 0 6px 18px rgba(10, 22, 68, .07);
  --shadow-tile: 0 1px 2px rgba(10, 22, 68, .05), 0 8px 20px rgba(10, 22, 68, .07);
  --shadow-post: 0 2px 4px rgba(10, 22, 68, .05), 0 22px 40px rgba(10, 22, 68, .10);
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px;  --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px;  --space-8: 80px;  --space-9: 160px;
  --container: 1104px;
  --gutter: 32px;
  --section-gap: 160px;
  --heading-gap: 48px;
  --head-inner-gap: 16px;
  --h2-max: 760px;
  --header-pad-top: 16px;
  --header-h: 64px;
  --anchor-offset: 104px;
  --dur-fast: .25s;
  --dur-med: .35s;
  --dur-slow: .7s;
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  --ease-pop: cubic-bezier(.3, 1.6, .5, 1);
}
@media (max-width: 899.98px) {
  :root {
    --fs-h1: 34px;
    --fs-h2: 32px;
    --fs-lead: 17px;
    --fs-sub: 16px;
    --fs-eyebrow: 11px; --lh-eyebrow: 1.5;
    --fs-wordmark: 22px;
    --gutter: 16px;
    --section-gap: 80px;
    --heading-gap: 32px;
    --header-pad-top: 12px;
    --header-h: 56px;
    --anchor-offset: 84px;
  }
}
@font-face { font-family: "Zodiak"; font-weight: 400; font-style: normal; font-display: swap;
  src: url("../fonts/zodiak-400.woff2") format("woff2"); }
@font-face { font-family: "Mona Sans"; font-weight: 200 900; font-style: normal; font-display: swap;
  src: url("../fonts/mona-sans-var-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Mona Sans"; font-weight: 200 900; font-style: normal; font-display: swap;
  src: url("../fonts/mona-sans-var-latin.woff2") format("woff2");
  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: "Geist Mono"; font-weight: 500; font-style: normal; font-display: swap;
  src: url("../fonts/geist-mono-500-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Geist Mono"; font-weight: 500; font-style: normal; font-display: swap;
  src: url("../fonts/geist-mono-500-latin.woff2") format("woff2");
  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: "Kalam"; font-weight: 400; font-style: normal; font-display: swap;
  src: url("../fonts/kalam-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Kalam"; font-weight: 400; font-style: normal; font-display: swap;
  src: url("../fonts/kalam-400-latin.woff2") format("woff2");
  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: "Kalam"; font-weight: 700; font-style: normal; font-display: swap;
  src: url("../fonts/kalam-700-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Kalam"; font-weight: 700; font-style: normal; font-display: swap;
  src: url("../fonts/kalam-700-latin.woff2") format("woff2");
  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; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body, h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; }
h1, h2, h3, h4 { font-weight: 400; }
ul, ol { padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
[hidden] { display: none !important; }
body {
  background: var(--c-porcelain);
  color: var(--c-navy);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
[id] { scroll-margin-top: var(--anchor-offset); }
:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.container { width: min(var(--container), 100% - 2 * var(--gutter)); margin-inline: auto; }
.section { margin-top: var(--section-gap); }
.eb { font-family: var(--font-mono); font-weight: 500; font-size: var(--fs-eyebrow); line-height: var(--lh-eyebrow); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--c-text-2); }
@media (max-width: 899.98px) { .eb { text-wrap: balance; } }
.head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--head-inner-gap); margin-bottom: var(--heading-gap); }
.h2 { font-family: var(--font-serif); font-weight: 400; font-size: var(--fs-h2); line-height: var(--lh-h2); letter-spacing: var(--ls-h2); max-width: var(--h2-max); text-wrap: balance; }
.sub { font-size: var(--fs-sub); color: var(--c-text-2); }
.btn { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 22px; background: var(--c-navy); color: var(--c-porcelain); border-radius: var(--r-btn); font-family: var(--font-sans); font-weight: 600; font-size: var(--fs-btn); line-height: 1; white-space: nowrap; cursor: pointer; transition: background-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease; }
.btn:hover { background: var(--c-navy-hover); }
.btn:active { transform: translateY(1px); }
.btn.s { height: 40px; padding: 0 18px; }
.btn.gh { background: var(--c-white); color: var(--c-navy); box-shadow: inset 0 0 0 1px var(--c-navy); }
.btn.gh:hover { background: var(--c-tint); }
.btn.y { background: var(--c-button); color: var(--c-navy); height: 52px; padding: 0 26px; font-size: 16px; }
.btn.y:hover { background: #ffb81c; }
.btn.y:focus-visible { outline-color: var(--c-marker); }
@media (prefers-reduced-motion: reduce) { .btn { transition: none; } .btn:active { transform: none; } }
.ac { position: relative; }
.ac.ul { z-index: 0; white-space: nowrap; }
.ac.ul::after { content: ""; position: absolute; z-index: -1; left: -.05em; right: -.07em; bottom: .02em; height: .3em; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M4 8.5C38 5.5 86 6.2 132 5.2S186 3.6 196 6.4c3 1.6 2.4 6.4-1.6 8C176 16.4 120 16 72 17.2 44 17.9 18 18.4 7 17.4 1.6 16.9.4 13 1.4 10.8 2 9.6 2.8 8.8 4 8.5Z' fill='%23fbd387'/%3E%3C/svg%3E") no-repeat; background-size: 100% 100%; transform: rotate(-.6deg); pointer-events: none; }
.site-header { position: sticky; top: 0; z-index: 20; padding-top: var(--header-pad-top);
  background: linear-gradient(var(--c-porcelain) var(--header-pad-top), rgba(252, 255, 252, 0) var(--header-pad-top)); }
.site-header .card-hd { position: relative; z-index: 1; width: min(var(--container), 100% - 2 * var(--gutter)); height: var(--header-h); margin: 0 auto; background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-md); padding: 0 var(--space-5); display: flex; align-items: center; justify-content: space-between; transition: box-shadow var(--dur-fast) ease; }
.site-header.is-scrolled .card-hd { box-shadow: var(--shadow-header); }
.site-header .wm { font-family: var(--font-serif); font-size: var(--fs-wordmark); line-height: 1; }
.site-header .menu { display: contents; }
.site-header .nav { display: flex; gap: var(--space-6); font-size: var(--fs-small); }
.site-header .nav a { text-underline-offset: 5px; text-decoration-color: var(--c-border-2); }
.site-header .nav a:hover { text-decoration-line: underline; }
.site-header .burger, .site-header .hdr-scrim { display: none; }
@media (max-width: 899.98px) {
  .site-header .card-hd { padding: 0 var(--space-4); }
  .site-header .burger { display: grid; place-items: center; width: 44px; height: 44px; margin-right: -10px; }
  .site-header .burger svg { width: 24px; height: 24px; }
  .site-header .b-close, .site-header.is-open .b-open { display: none; }
  .site-header.is-open .b-close { display: block; }
  .site-header .menu { display: none; position: absolute; left: -1px; right: -1px; top: calc(100% + 2px); background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-md); box-shadow: var(--shadow-card); padding: var(--space-4); flex-direction: column; }
  .site-header.is-open .menu { display: flex; }
  .site-header .nav { flex-direction: column; gap: 0; font-size: 17px; font-weight: 600; padding: 0 var(--space-1); }
  .site-header .nav a { display: block; padding: 15px 0; border-bottom: 1px solid var(--c-border); text-decoration: none !important; }
  .site-header .nav a:last-child { border-bottom: 0; }
  .site-header .menu .btn { height: 48px; width: 100%; margin-top: var(--space-2); }
  .site-header.is-open .hdr-scrim { display: block; position: fixed; inset: 0; z-index: 0; background: rgba(22, 39, 96, .3); }
  .site-header .hdr-scrim[hidden] { display: none; }
}
@media (prefers-reduced-motion: reduce) { .site-header .card-hd { transition: none; } }
.hero { position: relative; height: 820px;  }
.hero .hero-copy { position: relative; z-index: 4; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; width: min(860px, 100% - 2 * var(--gutter)); margin: 56px auto 0; }
.hero .h1 { font-family: var(--font-serif); font-weight: 400; font-size: var(--fs-h1); line-height: var(--lh-h1); letter-spacing: var(--ls-h1); width: 100%; text-wrap: balance; }
.hero .lead { font-size: var(--fs-lead); line-height: var(--lh-lead); color: var(--c-text-2); max-width: 640px; }
.hero .mk { white-space: nowrap; background: var(--c-marker); border-radius: var(--r-xs); padding: 0 .12em; }
.hero .ac.sel { --g: max(3px, .09em); --k: max(5px, .115em); }
.hero .ac.sel::before { content: ""; position: absolute; inset: calc(var(--g) * -1) calc(var(--g) * -1.15); border: 1px dashed rgba(22, 39, 96, .55); pointer-events: none; }
.hero .ac.sel > i { display: block; position: absolute; width: var(--k); height: var(--k); background: var(--c-white); border: 1.5px solid var(--c-navy); border-radius: 1.5px; box-sizing: border-box; font-style: normal; }
.hero .ac.sel > i:nth-of-type(1) { left: calc(var(--g) * -1.15 - var(--k) / 2); top: calc(var(--g) * -1 - var(--k) / 2); }
.hero .ac.sel > i:nth-of-type(2) { right: calc(var(--g) * -1.15 - var(--k) / 2); top: calc(var(--g) * -1 - var(--k) / 2); }
.hero .ac.sel > i:nth-of-type(3) { left: calc(var(--g) * -1.15 - var(--k) / 2); bottom: calc(var(--g) * -1 - var(--k) / 2); }
.hero .ac.sel > i:nth-of-type(4) { right: calc(var(--g) * -1.15 - var(--k) / 2); bottom: calc(var(--g) * -1 - var(--k) / 2); }
.hero .wall { position: absolute; z-index: 1; left: 0; right: 0; top: 360px; height: 460px; overflow: hidden; perspective: 1400px; pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse 60% 80% at 50% 70%, #000 45%, transparent 85%); mask-image: radial-gradient(ellipse 60% 80% at 50% 70%, #000 45%, transparent 85%); }
.hero .plane { position: absolute; left: 50%; top: -120px; width: 1700px; height: 1400px; margin-left: -850px; transform: rotateX(52deg) rotateZ(-28deg); transform-origin: 50% 30%; display: flex; gap: 28px; justify-content: center; }
.hero .col { width: 300px; flex: none; }
.hero .track { display: flex; flex-direction: column; gap: 24px; padding-bottom: 24px; animation: hero-up var(--dur, 46s) linear infinite; will-change: transform; }
.hero .col:nth-child(even) .track { animation-direction: reverse; }
.hero .cell { width: 300px; height: calc(var(--h) * .5435); position: relative; }
.hero .cell .li { transform: scale(.5435); transform-origin: top left; box-shadow: var(--shadow-post); }
.hero .veil { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(to bottom, var(--c-porcelain) 0%, rgba(252, 255, 252, 0) 32%, rgba(252, 255, 252, 0) 68%, var(--c-porcelain) 100%); }
.hero.is-paused .track { animation-play-state: paused; }
@keyframes hero-up { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@media (prefers-reduced-motion: reduce) { .hero .track { animation: none; } }
.hero .li { width: 552px; background: #fff; border: 1px solid rgba(140, 140, 140, .28); border-radius: 8px; padding: 12px 16px 0; font-family: var(--font-sans); color: rgba(0, 0, 0, .9); text-align: left; }
.hero .li-actor { display: flex; gap: 8px; align-items: flex-start; }
.hero .li-av { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; font: 600 17px/1 var(--font-sans); color: #fff; flex: none; }
.hero .li-meta { flex: 1; min-width: 0; }
.hero .li-name { font-size: 16px; line-height: 20px; white-space: nowrap; }
.hero .li-name b { font-weight: 600; }
.hero .li-deg { font-size: 14px; color: rgba(0, 0, 0, .6); }
.hero .li-head { font-size: 12px; line-height: 15px; color: rgba(0, 0, 0, .6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 360px; }
.hero .li-time { font-size: 12px; line-height: 15px; color: rgba(0, 0, 0, .6); display: flex; align-items: center; gap: 4px; margin-top: 1px; }
.hero .li-follow { color: #0a66c2; font-weight: 600; font-size: 14px; display: flex; align-items: center; gap: 4px; padding-top: 6px; white-space: nowrap; }
.hero .li-text { font-size: 14px; line-height: 20px; margin: 10px 0 4px; }
.hero .li-more { color: rgba(0, 0, 0, .6); }
.hero .li-bar { display: flex; align-items: center; gap: 20px; height: 44px; font-size: 14px; font-weight: 600; color: rgba(0, 0, 0, .6); }
.hero .li-bar span { display: flex; align-items: center; gap: 4px; }
.hero .li-me i { width: 24px; height: 24px; border-radius: 50%; display: inline-block; background: var(--c-border-2); }
.hero .li-reacts { margin-left: auto; }
.hero .li-reacts i { width: 16px; height: 16px; border-radius: 50%; display: inline-block; border: 1.5px solid #fff; margin-left: -5px; }
.hero .li-reacts i:first-child { margin-left: 0; }
.hero .li svg { display: block; }
@media (max-width: 899.98px) {
  .hero { height: auto; }
  .hero .hero-copy { margin-top: 40px; gap: 16px; }
  .hero .hero-copy .btn { align-self: stretch; }
  .hero .wall { position: relative; top: 0; height: 300px; margin-top: 20px; }
  .hero .plane { width: 760px; height: 700px; margin-left: -380px; top: -60px; gap: 16px; }
  .hero .col { width: 200px; }
  .hero .cell { width: 200px; height: calc(var(--h) * .3623); }
  .hero .cell .li { transform: scale(.3623); }
  .hero .track { animation: none; gap: 14px; padding-bottom: 0; }
}
.problem { margin-top: 140px; }
.problem .h2 { max-width: 820px; }
.problem .sub { max-width: 640px; line-height: 1.5; text-wrap: balance; }
.problem .grid6 { --v: calc(((100cqw - 40px) / 3 - 34px) / 320.67); container-type: inline-size; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.problem .sc { background: var(--c-white); border: 1px solid var(--c-border); border-radius: 14px; padding: 16px 16px 22px; display: grid; gap: 16px; align-content: start; min-width: 0; }
.problem .sc .tx { display: grid; gap: 8px; padding: 0 6px; }
.problem .sc .t { margin: 0; font-family: var(--font-serif); font-weight: 400; font-size: 22px; line-height: 1.2; }
.problem .sc .d { margin: 0; font-size: 15.5px; line-height: 1.5; color: var(--c-text-2); }
.problem .sc .cost { margin: 0; font-size: 15.5px; line-height: 1.45; color: var(--c-navy); }
.problem .sc .cost b { font-weight: 600; }
.problem .pv { position: relative; height: calc(196 * var(--v)); background: var(--c-tint-2); border: 1px solid var(--c-border); border-radius: calc(10 * var(--v)); overflow: hidden; }
.problem .ui { position: absolute; background: var(--c-white); border: 1px solid var(--c-border); border-radius: calc(10 * var(--v)); box-shadow: var(--shadow-ui); font-size: calc(13 * var(--v)); line-height: 1.35; color: var(--c-navy); }
.problem .ui small { color: var(--c-text-2); font-size: calc(12 * var(--v)); }
.problem .ui p { margin: calc(8 * var(--v)) 0 0; }
.problem .uav { width: calc(30 * var(--v)); height: calc(30 * var(--v)); border-radius: 50%; display: grid; place-items: center; font-weight: 600; font-size: calc(11 * var(--v)); color: #fff; flex: none; }
.problem .uwho { display: flex; gap: calc(9 * var(--v)); align-items: center; }
.problem .uwho b { display: block; font-weight: 600; font-size: calc(13 * var(--v)); }
.problem .weeks { display: grid; grid-template-columns: repeat(8, 1fr); gap: calc(5 * var(--v)); margin-top: calc(12 * var(--v)); }
.problem .weeks i { height: calc(20 * var(--v)); border-radius: calc(5 * var(--v)); background: var(--c-tint-2); border: 1px dashed var(--c-border-2); }
.problem .weeks i.on { background: var(--c-navy); border-color: var(--c-navy); }
.problem .wl { display: flex; justify-content: space-between; margin-top: calc(6 * var(--v)); color: var(--c-text-2); font-size: calc(11 * var(--v)); }
.problem .compose { margin-top: calc(12 * var(--v)); border: 1px solid var(--c-border-2); border-radius: calc(999 * var(--v)); padding: calc(6 * var(--v)) calc(14 * var(--v)); color: var(--c-text-2); display: flex; align-items: center; }
.problem .compose::after { content: ""; width: calc(1.5 * var(--v)); height: calc(14 * var(--v)); background: var(--c-navy); margin-left: calc(3 * var(--v)); }
.problem .same { padding: calc(10 * var(--v)) calc(12 * var(--v)); }
.problem .same p { margin: calc(6 * var(--v)) 0 0; color: var(--c-text-2); }
.problem .same s { text-decoration-color: rgba(22, 39, 96, .5); }
.problem .bars { padding: calc(12 * var(--v)) calc(14 * var(--v)); }
.problem .bars .br { display: grid; grid-template-columns: calc(118 * var(--v)) 1fr; gap: calc(8 * var(--v)); align-items: center; margin-top: calc(8 * var(--v)); font-size: calc(12.5 * var(--v)); }
.problem .bars .br span { height: calc(9 * var(--v)); border-radius: calc(6 * var(--v)); background: var(--c-border-2); display: block; }
.problem .bars .br.me { font-weight: 600; }
.problem .bars .br.me span { background: var(--c-navy); }
.problem .bubble { margin-top: calc(10 * var(--v)); background: #eef3fb; border-radius: calc(12 * var(--v)) calc(12 * var(--v)) calc(12 * var(--v)) calc(4 * var(--v)); padding: calc(8 * var(--v)) calc(11 * var(--v)); }
.problem .uf { margin-top: calc(8 * var(--v)); display: flex; justify-content: space-between; gap: calc(8 * var(--v)); color: var(--c-text-2); font-size: calc(12 * var(--v)); }
.problem .tags { margin-top: calc(10 * var(--v)); display: flex; flex-wrap: wrap; gap: calc(6 * var(--v)); }
.problem .tag { display: inline-block; white-space: nowrap; border: 1px solid var(--c-border-2); border-radius: calc(999 * var(--v)); padding: calc(2 * var(--v)) calc(9 * var(--v)); font-size: calc(11.5 * var(--v)); color: var(--c-text-2); background: var(--c-white); }
@media (max-width: 899.98px) {
  .problem { margin-top: 72px; }
  .problem .grid6 { --v: 1px; container-type: normal; grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .problem .sc .t { font-size: 21px; }
  .problem .pv { height: 190px; }
}
.how .rows { position: relative; width: min(1040px, 100%); margin: 0 auto; display: grid; gap: 8px; }
.how .rail { position: absolute; z-index: 1; left: 50%; width: 2px; margin-left: -1px; top: var(--rt, 0px); height: var(--rh, 0px); background: var(--c-border); border-radius: 2px; overflow: hidden; }
.how .fill { position: absolute; left: 0; top: 0; width: 100%; height: var(--f, 0px); background: linear-gradient(#fbd387, #f6a700 40%, #162760) 0 0 / 100% var(--rh, 100px) no-repeat; }
.how .row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 160px minmax(0, 1fr); grid-template-areas: "m d t"; align-items: center; min-height: 160px; padding: 28px 40px; border-radius: 48px; transition: background-color .3s ease; }
.how .row.flip { grid-template-areas: "t d m"; }
.how .row.on { background: var(--c-tint); }
.how .mark { grid-area: m; display: flex; align-items: center; gap: 16px; justify-content: flex-end; }
.how .row.flip .mark { justify-content: flex-end; flex-direction: row-reverse; }
.how .tile { width: 80px; height: 80px; flex: none; border-radius: 26px; display: grid; place-items: center; background: var(--c-white); border: 1px solid var(--c-border); box-shadow: var(--shadow-tile); transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease; }
.how .tile svg { width: 34px; height: 34px; fill: none; stroke: var(--c-navy); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke .35s ease; }
.how .row.on .tile { background: var(--c-navy); border-color: var(--c-navy); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 10px 24px rgba(22, 39, 96, .28); }
.how .row.on .tile svg { stroke: var(--c-porcelain); }
.how .num { width: 32px; height: 32px; flex: none; border-radius: 11px; display: grid; place-items: center; font-weight: 600; font-size: 13px; font-variant-numeric: tabular-nums; color: var(--c-text-2); background: var(--c-tint-3); transition: background-color .35s ease, color .35s ease, box-shadow .35s ease; }
.how .row.on .num { background: var(--c-white); color: var(--c-navy); box-shadow: 0 1px 3px rgba(10, 22, 68, .1); }
.how .dot { grid-area: d; justify-self: center; position: relative; z-index: 2; width: 24px; height: 24px; border-radius: 8px; background: var(--c-white); border: 1px solid var(--c-border-2); transition: border-color .35s ease, box-shadow .35s ease, border-radius .35s ease; }
.how .dot::after { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: var(--c-navy); transform: scale(0); transition: transform .35s var(--ease-pop); }
.how .row.on .dot { border-radius: 50%; border-color: transparent; box-shadow: 0 0 0 3px #fbd387, 0 0 16px 4px rgba(246, 167, 0, .45); }
.how .row.on .dot::after { transform: scale(1); }
.how .txt { grid-area: t; width: min(320px, 100%); display: grid; gap: 8px; }
.how .row.flip .txt { justify-self: end; text-align: right; }
.how .txt .t { font-family: var(--font-serif); font-weight: 400; font-size: 21px; line-height: 1.2; }
.how .txt .d { font-size: 15px; line-height: 1.45; color: var(--c-text-2); }
.how.is-js .head, .how.is-js .rows { opacity: 0; transform: translateY(32px); transition: opacity var(--dur-slow) ease, transform var(--dur-slow) var(--ease-out); }
.how.is-js.in .head, .how.is-js.in .rows { opacity: 1; transform: none; }
.how.is-js.in .rows { transition-delay: .12s; }
@media (max-width: 899.98px) {
  .how .rows { width: 100%; gap: 6px; }
  .how .rail { left: 24px; margin-left: -1px; }
  .how .row, .how .row.flip { grid-template-columns: 48px minmax(0, 1fr); grid-template-areas: "d m" "d t"; align-items: start; min-height: 0; padding: 18px 16px 20px 0; row-gap: 14px; border-radius: 22px; }
  .how .dot { align-self: start; margin-top: 15px; }
  .how .mark, .how .row.flip .mark { justify-content: flex-start; flex-direction: row; gap: 10px; }
  .how .tile { width: 52px; height: 52px; border-radius: 16px; }
  .how .tile svg { width: 26px; height: 26px; }
  .how .num { width: 30px; height: 30px; font-size: 12px; }
  .how .txt, .how .row.flip .txt { justify-self: start; text-align: left; width: auto; }
  .how .txt .t { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .how, .how * { transition: none !important; }
  .how.is-js .head, .how.is-js .rows { opacity: 1; transform: none; }
}
.how { margin-top: 82px; }
@media (max-width: 899.98px) { .how { margin-top: 35px; } }
.why .container { --u: calc(100cqw / 1104); container-type: inline-size; }
.why .paper { position: relative; background-color: var(--c-paper); background-image: linear-gradient(var(--c-paper-grid) 1px, transparent 1px), linear-gradient(90deg, var(--c-paper-grid) 1px, transparent 1px); background-size: calc(18 * var(--u)) calc(18 * var(--u)); background-position: -1px -1px; }
.why .hand { font-family: var(--font-hand); color: var(--c-pen); }
.why .hand p { margin: 0; }
.why .shadow { filter: drop-shadow(0 1px 1px rgba(10, 22, 68, .08)) drop-shadow(0 18px 30px rgba(10, 22, 68, .12)); }
.why .tape { position: absolute; z-index: 4; width: calc(112 * var(--u)); height: calc(30 * var(--u)); background: rgba(233, 224, 196, .82); box-shadow: 0 1px 2px rgba(10, 22, 68, .08);
  clip-path: polygon(0 8%, 4% 0, 8% 10%, 12% 0, 88% 0, 92% 10%, 96% 0, 100% 8%, 100% 92%, 96% 100%, 92% 90%, 88% 100%, 12% 100%, 8% 90%, 4% 100%, 0 92%); }
.why .holes { position: absolute; inset: 0; pointer-events: none; }
.why .hole { position: absolute; top: calc(15 * var(--u)); width: calc(13 * var(--u)); height: calc(13 * var(--u)); border-radius: 50%; background: var(--c-porcelain); box-shadow: inset 0 calc(1.5 * var(--u)) calc(2 * var(--u)) rgba(10, 22, 68, .28); z-index: 2; }
.why .hole.hp { display: none; }
.why .desk { position: relative; height: calc(820 * var(--u)); margin-top: calc(11 * var(--u)); }
.why .sheetwrap { position: absolute; left: calc(20 * var(--u)); top: calc(6 * var(--u)); width: calc(780 * var(--u)); transform: rotate(-1.4deg); }
.why .sheet { padding: calc(66 * var(--u)) calc(60 * var(--u)) calc(48 * var(--u)) calc(74 * var(--u)); clip-path: polygon(0.00% calc(3.9 * var(--u)),1.43% calc(4.5 * var(--u)),2.86% calc(0.9 * var(--u)),4.29% calc(2.0 * var(--u)),5.71% calc(3.5 * var(--u)),7.14% calc(4.1 * var(--u)),8.57% calc(0.6 * var(--u)),10.00% calc(7.0 * var(--u)),11.43% calc(4.7 * var(--u)),12.86% calc(3.3 * var(--u)),14.29% calc(2.3 * var(--u)),15.71% calc(6.3 * var(--u)),17.14% calc(5.3 * var(--u)),18.57% calc(0.6 * var(--u)),20.00% calc(4.0 * var(--u)),21.43% calc(1.9 * var(--u)),22.86% calc(5.4 * var(--u)),24.29% calc(1.3 * var(--u)),25.71% calc(4.5 * var(--u)),27.14% calc(3.9 * var(--u)),28.57% calc(1.4 * var(--u)),30.00% calc(0.4 * var(--u)),31.43% calc(7.5 * var(--u)),32.86% calc(7.8 * var(--u)),34.29% calc(1.0 * var(--u)),35.71% calc(3.6 * var(--u)),37.14% calc(7.6 * var(--u)),38.57% calc(1.5 * var(--u)),40.00% calc(3.4 * var(--u)),41.43% calc(4.4 * var(--u)),42.86% calc(5.4 * var(--u)),44.29% calc(2.2 * var(--u)),45.71% calc(1.4 * var(--u)),47.14% calc(7.9 * var(--u)),48.57% calc(3.6 * var(--u)),50.00% calc(1.9 * var(--u)),51.43% calc(4.4 * var(--u)),52.86% calc(2.6 * var(--u)),54.29% calc(1.2 * var(--u)),55.71% calc(6.2 * var(--u)),57.14% calc(2.8 * var(--u)),58.57% calc(2.8 * var(--u)),60.00% calc(0.6 * var(--u)),61.43% calc(7.4 * var(--u)),62.86% calc(1.9 * var(--u)),64.29% calc(7.1 * var(--u)),65.71% calc(3.8 * var(--u)),67.14% calc(1.9 * var(--u)),68.57% calc(4.8 * var(--u)),70.00% calc(3.2 * var(--u)),71.43% calc(6.1 * var(--u)),72.86% calc(5.2 * var(--u)),74.29% calc(1.1 * var(--u)),75.71% calc(1.8 * var(--u)),77.14% calc(3.6 * var(--u)),78.57% calc(0.7 * var(--u)),80.00% calc(0.4 * var(--u)),81.43% calc(3.3 * var(--u)),82.86% calc(5.4 * var(--u)),84.29% calc(5.2 * var(--u)),85.71% calc(7.6 * var(--u)),87.14% calc(2.6 * var(--u)),88.57% calc(3.5 * var(--u)),90.00% calc(4.0 * var(--u)),91.43% calc(3.5 * var(--u)),92.86% calc(6.7 * var(--u)),94.29% calc(3.6 * var(--u)),95.71% calc(3.5 * var(--u)),97.14% calc(2.1 * var(--u)),98.57% calc(1.9 * var(--u)),100.00% calc(5.9 * var(--u)),100% 100%,0% 100%); }
.why .sheet .hand { font-size: calc(25 * var(--u)); line-height: calc(36 * var(--u)); }
.why .sheet .hand p + p { margin-top: calc(18 * var(--u)); }
.why .sign { margin-top: calc(18 * var(--u)); font-size: calc(27 * var(--u)); }
.why .src { margin-top: calc(18 * var(--u)); font-family: var(--font-hand); color: var(--c-pencil); font-size: calc(17 * var(--u)); line-height: calc(36 * var(--u)); }
.why .print { position: absolute; z-index: 3; background: #fff; padding: calc(12 * var(--u)) calc(12 * var(--u)) calc(10 * var(--u)); border: 1px solid rgba(140, 140, 140, .2); }
.why .print img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; display: block; }
.why .print .cap { font-family: var(--font-hand); color: var(--c-pen); font-size: calc(20 * var(--u)); line-height: 1.1; margin: calc(8 * var(--u)) 0 0; }
.why .p1 { left: calc(840 * var(--u)); top: calc(30 * var(--u)); width: calc(240 * var(--u)); transform: rotate(4deg); }
.why .p2 { left: calc(860 * var(--u)); top: calc(400 * var(--u)); width: calc(240 * var(--u)); transform: rotate(-3deg); }
.why .t1 { left: calc(900 * var(--u)); top: calc(14 * var(--u)); transform: rotate(-8deg); }
.why .t2 { left: calc(925 * var(--u)); top: calc(386 * var(--u)); transform: rotate(6deg); }
.why .t3 { left: calc(360 * var(--u)); top: calc(-8 * var(--u)); transform: rotate(3deg); }
.why .ac.hl { background: linear-gradient(transparent 38%, rgba(251, 211, 135, .9) 38%, rgba(251, 211, 135, .9) 90%, transparent 90%); -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0 .08em; mix-blend-mode: multiply; }
@media (max-width: 899.98px) {
  .why .container { container-type: normal; }
  .why .paper { background-size: 13.5px 13.5px; }
  .why .hole { top: 12px; width: 9px; height: 9px; box-shadow: inset 0 1.5px 2px rgba(10, 22, 68, .28); }
  .why .hole.hd { display: none; }
  .why .hole.hp { display: block; }
  .why .desk { height: auto; margin-top: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 22px 16px; padding-top: 4px; }
  .why .sheetwrap { position: relative; left: auto; top: auto; width: auto; grid-column: 1 / -1; transform: rotate(-.8deg); }
  .why .sheet { padding: 44px 22px 30px 26px; clip-path: polygon(0.00% 1.1px,1.43% 2.2px,2.86% 6.1px,4.29% 6.9px,5.71% 7.7px,7.14% 7.4px,8.57% 6.9px,10.00% 6.0px,11.43% 5.1px,12.86% 4.4px,14.29% 0.2px,15.71% 2.6px,17.14% 2.9px,18.57% 1.7px,20.00% 3.1px,21.43% 5.5px,22.86% 5.9px,24.29% 2.1px,25.71% 7.7px,27.14% 0.1px,28.57% 2.9px,30.00% 4.7px,31.43% 3.5px,32.86% 0.7px,34.29% 7.9px,35.71% 3.7px,37.14% 7.0px,38.57% 4.7px,40.00% 3.8px,41.43% 1.0px,42.86% 6.3px,44.29% 7.2px,45.71% 2.1px,47.14% 0.2px,48.57% 1.2px,50.00% 5.7px,51.43% 5.6px,52.86% 5.3px,54.29% 7.0px,55.71% 1.8px,57.14% 6.6px,58.57% 1.3px,60.00% 0.3px,61.43% 0.7px,62.86% 0.2px,64.29% 4.3px,65.71% 6.6px,67.14% 6.7px,68.57% 1.2px,70.00% 4.0px,71.43% 0.4px,72.86% 2.2px,74.29% 3.9px,75.71% 0.5px,77.14% 2.8px,78.57% 1.8px,80.00% 2.4px,81.43% 6.3px,82.86% 1.1px,84.29% 1.3px,85.71% 0.0px,87.14% 5.0px,88.57% 0.7px,90.00% 3.2px,91.43% 0.9px,92.86% 3.8px,94.29% 3.3px,95.71% 0.1px,97.14% 6.1px,98.57% 3.6px,100.00% 5.9px,100% 100%,0% 100%); }
  .why .sheet .hand { font-size: 18px; line-height: 27px; }
  .why .sheet .hand p + p { margin-top: 13px; }
  .why .sign { margin-top: 13px; font-size: 20px; }
  .why .src { margin-top: 13px; font-size: 14px; line-height: 27px; }
  .why .print { position: relative; left: auto; top: auto; width: auto; padding: 8px 8px 6px; }
  .why .print .cap { font-size: 17px; margin-top: 8px; }
  .why .p1 { transform: rotate(-2deg); }
  .why .p2 { transform: rotate(2deg); }
  .why .tape { display: none; }
}
.why { margin-top: 163px; }
@media (max-width: 899.98px) { .why { margin-top: 59px; } }
.why .print .cap .cap-in { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; margin-left: calc(6 * var(--u)); padding: calc(3 * var(--u)); color: var(--c-navy); border-radius: var(--r-xs); text-decoration: none; transition: color var(--dur-fast), box-shadow var(--dur-fast); }
.why .print .cap .cap-in svg { display: block; width: calc(16 * var(--u)); height: calc(16 * var(--u)); fill: currentColor; }
.why .print .cap .cap-in:hover { color: var(--c-navy-hover); box-shadow: 0 0 0 2px var(--c-link-underline); }
.why .print .cap .cap-in:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; box-shadow: 0 0 0 2px var(--c-link-underline); }
@media (max-width: 899.98px) {
  .why .print .cap .cap-in { margin-left: 6px; padding: 4px; }
  .why .print .cap .cap-in svg { width: 16px; height: 16px; }
}
.pricing .pricing-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.pricing .pricing-card { background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-lg); display: flex; flex-direction: column; min-width: 0; }
.pricing .pricing-top { padding: 30px 30px 30px 28px; display: grid; gap: 14px; justify-items: start; border-bottom: 1px solid var(--c-border); }
.pricing .pricing-ic { width: 40px; height: 40px; border-radius: 10px; background: var(--c-navy); display: grid; place-items: center; }
.pricing .pricing-ic svg { width: 22px; height: 22px; fill: none; stroke: var(--c-porcelain); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.pricing .pricing-name { margin: 0; font-family: var(--font-serif); font-weight: 400; font-size: 28px; line-height: 1.15; }
.pricing .pricing-one { margin: 0; font-size: 17px; line-height: 1.5; }
.pricing .pricing-body { padding: 30px 30px 30px 28px; display: flex; flex-direction: column; gap: 18px; flex: 1; }
.pricing .lbl { font-family: var(--font-sans); font-weight: 600; font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--c-text-2); }
.pricing ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; font-size: 16px; line-height: 1.45; }
.pricing li { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 12px; }
.pricing li::before { content: ""; width: 7px; height: 7px; margin-top: 8px; border-radius: 2px; background: var(--c-button); }
.pricing li.all, .pricing li.key { font-weight: 600; }
.pricing li.all::before { background: var(--c-navy); }
.pricing .pricing-go { margin-top: auto; padding-top: 12px; }
.pricing .pricing-spots { margin: 40px 0 0; display: flex; justify-content: center; align-items: center; gap: 10px; font-size: var(--fs-small); color: var(--c-text-2); text-align: center; }
.pricing .pricing-spots i { display: inline-flex; gap: 4px; flex: none; }
.pricing .pricing-spots b { width: 9px; height: 9px; border-radius: 50%; background: var(--c-button); display: block; }
@media (max-width: 899.98px) {
  .pricing .pricing-row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pricing .pricing-top, .pricing .pricing-body { padding: 24px 22px; }
  .pricing .pricing-name { font-size: 26px; }
  .pricing .pricing-one { font-size: 16px; }
  .pricing ul { font-size: 15px; gap: 12px; }
  .pricing .pricing-go .btn { width: 100%; }
  .pricing .pricing-spots { margin-top: 28px; font-size: 14px; text-align: left; }
}
.pricing { margin-top: 13px; }
@media (max-width: 899.98px) { .pricing { margin-top: 102px; } }
.faq .faq-two { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: clamp(40px, 6.5vw, 72px); align-items: start; }
.faq .faq-left { display: grid; gap: 16px; align-content: start; justify-items: start; }
.faq .faq-left .h2 { text-align: left; max-width: none; font-size: 44px; }
.faq .faq-tx { margin: 0; font-size: 18px; line-height: 1.5; color: var(--c-text-2); text-wrap: balance; }
.faq .faq-acc { border-bottom: 1px solid var(--c-border); }
.faq .faq-q { border-top: 1px solid var(--c-border); }
.faq .faq-h { margin: 0; font: inherit; }
.faq .faq-row { all: unset; box-sizing: border-box; width: 100%; display: grid; grid-template-columns: 44px minmax(0, 1fr) 24px; gap: 12px; align-items: baseline; padding: 20px 0; cursor: pointer; }
.faq .faq-row:focus-visible { outline: 2px solid var(--c-navy); outline-offset: 2px; }
.faq .faq-no { font-family: var(--font-sans); font-weight: 600; font-size: 13px; font-variant-numeric: tabular-nums; color: var(--c-text-2); }
.faq .faq-t { font-family: var(--font-serif); font-weight: 400; font-size: 21px; line-height: 1.25; }
.faq .faq-pm { font-family: var(--font-sans); font-size: 22px; color: var(--c-text-2); text-align: right; }
.faq .faq-pm::before { content: "+"; }
.faq .faq-row[aria-expanded="true"] .faq-pm::before { content: "–"; }
.faq .faq-a { margin: -10px 36px 0 56px; padding-bottom: 20px; font-size: 16px; line-height: 1.55; }
.faq .faq-q:not(.open) .faq-a { margin: 0; padding: 0; }
@media (max-width: 899.98px) {
  .faq .faq-two { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .faq .faq-left { gap: 14px; }
  .faq .faq-left .h2 { font-size: var(--fs-h2); }
  .faq .faq-tx { font-size: 16px; }
  .faq .faq-row { grid-template-columns: 30px minmax(0, 1fr) 20px; gap: 10px; padding: 18px 0; }
  .faq .faq-t { font-size: 18px; }
  .faq .faq-a { margin: -8px 0 0 40px; padding-bottom: 18px; font-size: 15px; }
}
.faq { margin-top: 153px; }
@media (max-width: 899.98px) { .faq { margin-top: 63px; } }
.cta .cta-panel { background: var(--c-navy); color: var(--c-porcelain); border-radius: var(--r-md); padding: 72px 24px 70px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 18px; }
.cta .cta-pair { display: inline-flex; }
.cta .cta-pair img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 3px solid var(--c-navy); display: block; box-shadow: 0 0 0 1px rgba(196, 214, 249, .35); }
.cta .cta-pair img + img { margin-left: -16px; }
.cta .cta-names { margin: 0; font-size: var(--fs-small); color: var(--c-on-navy-soft); }
.cta .cta-names b { color: var(--c-porcelain); font-weight: 600; }
.cta .h2 { color: var(--c-porcelain); }
.cta .cta-sub { margin: 0; font-size: var(--fs-sub); color: var(--c-on-navy-soft); }
@media (max-width: 899.98px) {
  .cta .cta-panel { padding: 44px 20px 40px; gap: 14px; }
  .cta .cta-pair img { width: 56px; height: 56px; }
  .cta .btn.y { width: 100%; }
}
.cta { margin-top: 139px; }
@media (max-width: 899.98px) { .cta { margin-top: 61px; } }
.site-footer { width: min(var(--container), 100% - 2 * var(--gutter)); margin: 126px auto 0; border-top: 1px solid var(--c-border); padding: 30px 0 40px; }
.site-footer .r1 { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.site-footer .wm { font-family: var(--font-serif); font-size: var(--fs-wordmark); line-height: 1; justify-self: start; }
.site-footer .nav2 { display: flex; gap: 30px; font-size: var(--fs-small); }
.site-footer .right { justify-self: end; display: flex; align-items: center; gap: 20px; font-size: var(--fs-small); }
.site-footer .nav2 a, .site-footer .mail, .site-footer .legal a { text-underline-offset: 5px; text-decoration-color: var(--c-border-2); }
.site-footer .nav2 a:hover, .site-footer .mail:hover, .site-footer .legal a:hover { text-decoration-line: underline; }
.site-footer .r2 { margin-top: 34px; display: flex; justify-content: space-between; font-size: 13.5px; color: var(--c-text-2); }
.site-footer .legal a + a { margin-left: 22px; }
@media (max-width: 899.98px) {
  .site-footer { margin-top: 55px; padding: 24px 0 28px; text-align: center; }
  .site-footer .r1 { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 14px; }
  .site-footer .wm { justify-self: center; font-size: var(--fs-wordmark); }
  .site-footer .nav2 { gap: 22px; font-size: 14px; flex-wrap: wrap; justify-content: center; row-gap: 8px; }
  .site-footer .right { justify-self: center; gap: 14px; }
  .site-footer .r2 { margin-top: 22px; flex-direction: column; align-items: center; gap: 8px; }
}
html.bk-lock { overflow: hidden; }
.bk { padding: 0; border: 0; background: transparent; max-width: none; max-height: none; width: 100%; height: 100%; color: var(--c-navy); font-family: var(--font-sans); }
.bk::backdrop { background: rgba(10, 22, 68, .45); }
.bk[open] { display: grid; place-items: center; }
.bk[open] .bk-card { animation: bk-in var(--dur-med) var(--ease-out); }
@keyframes bk-in { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .bk[open] .bk-card { animation: none; } }
.bk-card { position: relative; width: min(760px, calc(100vw - 2 * var(--gutter))); max-height: min(720px, calc(100dvh - 48px)); overflow: auto; background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-lg); box-shadow: var(--shadow-post); padding: var(--space-6); }
.bk-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-5); }
.bk-title { font-family: var(--font-serif); font-weight: 400; font-size: 32px; line-height: 1.1; letter-spacing: -0.01em; margin: 0; }
.bk-meta { margin: var(--space-2) 0 0; font-size: var(--fs-small); color: var(--c-text-2); }
.bk-tz { color: var(--c-navy); }
.bk-close { flex: none; width: 40px; height: 40px; margin: -8px -8px 0 0; border: 0; border-radius: var(--r-btn); background: transparent; color: var(--c-navy); font-size: 28px; line-height: 1; cursor: pointer; }
.bk-close:hover { background: var(--c-tint); }
.bk-pick { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: var(--space-6); }
.bk-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-3); }
.bk-month { font-weight: 600; font-size: var(--fs-body); }
.bk-navs { display: flex; gap: var(--space-1); }
.bk-nav { width: 36px; height: 36px; border: 1px solid var(--c-border); border-radius: var(--r-btn); background: var(--c-white); color: var(--c-navy); font-size: 20px; line-height: 1; cursor: pointer; }
.bk-nav:hover:not(:disabled) { background: var(--c-tint); }
.bk-nav:disabled { color: var(--c-text-3); cursor: default; }
.bk-wd, .bk-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.bk-wd { margin-bottom: 6px; }
.bk-wd span { text-align: center; font-size: var(--fs-xs); color: var(--c-text-2); }
.bk-d { aspect-ratio: 1; display: grid; place-items: center; border-radius: var(--r-btn); font-size: var(--fs-small); font-variant-numeric: tabular-nums; }
.bk-off { color: var(--c-text-3); }
button.bk-d { border: 0; background: var(--c-tint); color: var(--c-navy); font-weight: 600; cursor: pointer; transition: background-color var(--dur-fast) ease; }
button.bk-d:hover { background: var(--c-tint-3); box-shadow: inset 0 0 0 1px var(--c-border-2); }
button.bk-d.is-on { background: var(--c-navy); color: var(--c-porcelain); }
.bk-slots { min-width: 0; }
.bk-day-title { margin: 0 0 var(--space-3); font-weight: 600; font-size: var(--fs-small); min-height: 36px; display: flex; align-items: center; }
.bk-times { display: grid; gap: var(--space-2); max-height: 420px; overflow: auto; padding: 2px; }
.bk-t { height: 44px; border: 1px solid var(--c-border-2); border-radius: var(--r-btn); background: var(--c-white); color: var(--c-navy); font-family: var(--font-sans); font-weight: 600; font-size: var(--fs-small); font-variant-numeric: tabular-nums; cursor: pointer; transition: background-color var(--dur-fast) ease, border-color var(--dur-fast) ease; }
.bk-t:hover { border-color: var(--c-navy); background: var(--c-tint); }
.bk-status { grid-column: 1 / -1; margin: 0; font-size: var(--fs-small); color: var(--c-text-2); }
.bk-status:empty { display: none; }
.bk-chosen-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-5); background: var(--c-tint); border-radius: var(--r-btn); }
.bk-chosen { margin: 0; font-weight: 600; }
.bk-link { border: 0; padding: 0; background: none; color: var(--c-navy); font: inherit; font-weight: 600; text-decoration: underline; text-decoration-color: var(--c-link-underline); text-decoration-thickness: 2px; text-underline-offset: 3px; cursor: pointer; }
.bk-fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4) var(--space-5); }
.bk-field { display: grid; gap: 6px; }
.bk-field:nth-child(3), .bk-field:nth-child(6) { grid-column: 1 / -1; }
.bk-field label { font-size: var(--fs-small); font-weight: 600; }
.bk-opt { font-weight: 400; color: var(--c-text-2); }
.bk-field input, .bk-field textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--c-border-2); border-radius: var(--r-btn); background: var(--c-white); color: var(--c-navy); font: inherit; font-size: var(--fs-body); padding: 11px 14px; }
.bk-field textarea { resize: vertical; min-height: 84px; }
.bk-field input::placeholder, .bk-field textarea::placeholder { color: var(--c-text-3); }
.bk-field input:focus, .bk-field textarea:focus { outline: 2px solid var(--c-focus); outline-offset: 1px; border-color: var(--c-navy); }
.bk-field.is-bad label { color: #c2410c; }
.bk-field.is-bad input, .bk-field.is-bad input:focus { border-color: #c2410c; outline-color: #c2410c; }
.bk-error { margin: var(--space-4) 0 0; font-size: var(--fs-small); color: #c2410c; }
.bk-error:empty { display: none; }
.bk-submit { margin-top: var(--space-5); width: 100%; }
.bk-submit:disabled { opacity: .7; cursor: progress; }
.bk-done { text-align: center; padding: var(--space-5) 0 var(--space-2); }
.bk-done-title { font-family: var(--font-serif); font-size: 36px; line-height: 1.1; margin: 0 0 var(--space-4); }
.bk-done-when { margin: 0 0 var(--space-2); font-weight: 600; }
.bk-done-mail { margin: 0 0 var(--space-6); color: var(--c-text-2); }
@media (max-width: 899.98px) {
  .bk[open] { place-items: stretch; }
  .bk-card { width: 100%; max-height: none; height: 100dvh; border-radius: 0; border: 0; padding: var(--space-5) var(--space-4) var(--space-6); }
  .bk-title { font-size: 28px; }
  .bk-pick { grid-template-columns: 1fr; gap: var(--space-5); }
  .bk-times { grid-template-columns: repeat(3, minmax(0, 1fr)); max-height: none; }
  .bk-day-title { min-height: 0; }
  .bk-fields { grid-template-columns: 1fr; }
}
