@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/type/lato-400.woff2') format('woff2');
}

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/type/lato-700.woff2') format('woff2');
}

:root {
    --lead: #0bf9fa;
    --signal: #191818;
    --key-active: #050505;
    --surface: #ffffff;
    --bg-elevated: #f5f7f8;
    --script: #1e2937;
    --text-muted: #000000;
    --stroke: rgba(30, 41, 55, 0.14);
    --border-strong: rgba(30, 41, 55, 0.34);
    --grad-1: #595959;
    --gradient-mid: #353333;
    --age-band: #b3001b;

    --s-step-0: 6px;
    --s-step-1: 14px;
    --s-step-2: 20px;
    --s-step-3: 32px;
    --s-step-4: 48px;
    --s-step-5: 72px;
    --s-step-6: 112px;
    --s-step-7: 160px;

    --stadium: 9999px;
    --orb: 50%;
    --r-step-0: 0;
    --r-step-1: 0;
    --r-step-2: 4px;
    --r-step-3: 12px;
    --r-step-4: 24px;
    --r-step-5: 32px;
    --r-step-6: 40px;
    --r-step-7: 48px;

    --d-step-0: 0 1px 0 rgba(0, 0, 0, 0.05);
    --d-step-1: 0 1px 0 rgba(0, 0, 0, 0.10);
    --d-step-2: 0 2px 8px rgba(0, 0, 0, 0.07);
    --d-step-3: 0 6px 16px rgba(0, 0, 0, 0.10);
    --d-step-4: 0 12px 32px rgba(0, 0, 0, 0.14);
    --d-step-5: 0 18px 44px rgba(0, 0, 0, 0.16);
    --d-step-6: 0 24px 60px rgba(0, 0, 0, 0.18);
    --d-step-7: 0 32px 80px rgba(0, 0, 0, 0.20);

    --hair: 1px;
    --b-even: 2px;
    --bold: 4px;

    --title: 'Lato', 'Helvetica Neue', Arial, sans-serif;
    --copy: 'Lato', 'Helvetica Neue', Arial, sans-serif;

    --h1: 28px;
    --h2: 24px;
    --lg-2: 20px;
    --h4: 18px;
    --sm-2: 16px;
    --h6: 14px;
    --z-copy: 16px;
    --petite: 14px;
    --xs: 12px;

    --tight: 1.25;
    --base: 1.6;
    --roomy: 1.8;

    --w-base: 400;
    --mid: 500;
    --strong: 600;

    --close: 0;
    --even: 0;
    --loose: 0.01em;

    --short: 133ms;
    --regular: 280ms;
    --calm: 515ms;
    --settle: cubic-bezier(0.23, 0.82, 0.37, 0.99);
    --launch: cubic-bezier(0.42, 0.02, 0.78, 0.24);
    --x-even: cubic-bezier(0.54, 0, 0.27, 0.92);
    --pop: cubic-bezier(0.33, 1.05, 0.74, 1.35);

    --full: 1120px;
    --inner: 510px;
    --inset-desktop: 32px;
    --padding-tablet: 20px;
    --inset-mobile: 12px;

    --h-lg: 76px;
    --h-short: 64px;

    --bp-sm: 540px;
    --bp-md: 780px;
    --bp-lg: 1140px;
    --bp-xl: 1500px;

    --cookie-h: 0px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    overflow-x: clip;
}

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--surface);
    color: var(--script);
    font-family: var(--copy);
    font-size: var(--z-copy);
    font-weight: var(--w-base);
    line-height: var(--roomy);
    letter-spacing: var(--even);
}

body.has-cookie {
    margin-block-start: var(--cookie-h);
}

img,
svg {
    max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: anywhere;
    margin: 0;
}

h1,
h2,
h3 {
    font-family: var(--title);
    font-weight: var(--strong);
    line-height: var(--tight);
    letter-spacing: var(--even);
    color: var(--script);
}

h4,
h5,
h6 {
    font-family: var(--copy);
    font-weight: var(--mid);
    line-height: var(--base);
    color: var(--script);
}

h1 {
    font-size: var(--h1);
}

h2 {
    font-size: var(--h2);
}

h3 {
    font-size: var(--lg-2);
}

h4 {
    font-size: var(--h4);
}

h5 {
    font-size: var(--sm-2);
}

h6 {
    font-size: var(--h6);
}

p {
    margin: 0 0 var(--s-step-2);
}

a {
    color: var(--signal);
    text-underline-offset: 3px;
    transition: color var(--short) var(--settle), background-color var(--short) var(--settle);
}

a:hover {
    color: var(--key-active);
    background-color: rgba(11, 249, 250, 0.22);
}

ul,
ol {
    margin: 0 0 var(--s-step-2);
    padding-inline-start: var(--s-step-2);
}

li {
    margin-block-end: var(--s-step-0);
}

table {
    border-collapse: collapse;
}

button {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
}

:focus-visible {
    outline: var(--b-even) solid var(--signal);
    outline-offset: 2px;
}

main {
    display: block;
}

main [id],
section[id] {
    scroll-margin-block-start: 150px;
}

.skip-anchor {
    position: absolute;
    inset-inline-start: var(--s-step-2);
    z-index: 400;
    padding: var(--s-step-1) var(--s-step-2);
    border-radius: var(--r-step-3);
    background: var(--signal);
    color: #ffffff;
    font-family: var(--title);
    font-size: var(--petite);
    font-weight: var(--strong);
    text-decoration: none;
}

.skip-anchor:not(:focus) {
    top: -200px !important;
}

.skip-anchor:focus {
    top: var(--s-step-2);
}

.sr-only {
    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;
}

.a82 {
    padding-block: var(--s-step-4);
}

.a82-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.a82-slab {
    position: relative;
    padding: var(--s-step-3);
    border: var(--hair) solid var(--stroke);
    border-radius: var(--r-step-4);
    background: var(--bg-elevated);
    box-shadow: var(--d-step-2);
}

.a82-on {
    display: block;
    margin-block-end: var(--s-step-2);
    color: var(--grad-1);
    font-size: var(--xs);
    letter-spacing: var(--loose);
    text-transform: uppercase;
}

.a82-text {
    color: var(--text-muted);
}

.a82-slot {
    margin-block-start: var(--s-step-3);
}

.a82-hdr {
    margin-block-end: var(--s-step-1);
    font-size: var(--lg-2);
}

.a82-stack {
    margin-block: var(--s-step-1) 0;
    padding-inline-start: var(--s-step-2);
    color: var(--text-muted);
}

.a82-note {
    margin-block-start: var(--s-step-3);
    padding-block-start: var(--s-step-2);
    border-block-start: var(--hair) solid var(--stroke);
    color: var(--grad-1);
    font-size: var(--petite);
}

.c21 {
    padding-block: var(--s-step-4);
    background: var(--signal);
    color: #ffffff;
}

.c21-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.c21-top {
    margin-block-end: var(--s-step-2);
    color: #ffffff;
    font-size: var(--h2);
}

.c21-text {
    max-width: var(--inner);
    color: #e7e9ec;
}

.c21-controls {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-step-1);
    align-items: center;
    margin-block-start: var(--s-step-3);
}

.c21-button {
    display: inline-flex;
    transition: transform var(--short) var(--settle), background-color var(--short) var(--settle);
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 var(--s-step-3);
    border: var(--b-even) solid transparent;
    border-radius: var(--stadium);
    background: #ffffff;
    color: var(--signal);
    font-family: var(--title);
    font-size: var(--petite);
    font-weight: var(--strong);
    text-decoration: none;
}

.c21-button:hover {
    background: #e7e9ec;
    color: var(--key-active);
    transform: scale(1.03);
}

.c21-button-flat {
    background: transparent;
    border-color: #e7e9ec;
    color: #ffffff;
}

.c21-button-flat:hover {
    background: #ffffff;
    color: var(--signal);
}

.c21-note {
    margin-block-start: var(--s-step-2);
    color: #d5d8dc;
    font-size: var(--xs);
    line-height: var(--base);
}

.f28 {
    position: sticky;
    top: var(--cookie-h);
    z-index: 90;
    padding-block-start: var(--s-step-1);
    padding-inline: var(--inset-mobile);
}

.f28-core {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-step-1);
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    min-height: 64px;
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
    border: var(--hair) solid var(--stroke);
    border-radius: var(--stadium);
    background: var(--surface);
    box-shadow: var(--d-step-3);
    transition: min-height var(--regular) var(--settle);
}

.f28-glyph {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    padding: var(--s-step-0) var(--s-step-0);
    border-radius: var(--orb);
    background: rgba(11, 249, 250, 0.16);
    line-height: 0;
    text-decoration: none;
}

.f28-glyph:hover {
    background: rgba(11, 249, 250, 0.3);
}

.f28-glyph-img {
    display: block;
    flex-shrink: 0;
    width: auto;
    height: 48px;
    transition: height var(--regular) var(--settle);
}

.f28-bar {
    display: none;
    flex: 1 1 auto;
    min-width: 0;
}

.f28-stack {
    display: flex;
    align-items: center;
    gap: var(--s-step-1);
    margin: 0;
    padding: 0;
    list-style: none;
}

.f28-slot {
    position: relative;
    flex-shrink: 0;
    margin: 0;
}

.f28-slot + .f28-slot::before {
    position: absolute;
    inset-inline-start: calc(var(--s-step-1) / -2);
    inset-block-start: 50%;
    width: var(--hair);
    height: 14px;
    background: var(--stroke);
    content: '';
    transform: translateY(-50%);
}

.f28-anchor {
    position: relative;
    display: block;
    padding: var(--s-step-0) var(--s-step-0);
    border-radius: var(--r-step-2);
    color: var(--script);
    font-family: var(--copy);
    font-size: 14px;
    font-weight: 400;
    line-height: 2.4;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
}

.f28-anchor:hover {
    background-color: rgba(11, 249, 250, 0.24);
    color: var(--script);
}

.f28-anchor-here {
    color: var(--script);
    font-weight: var(--strong);
}

.f28-anchor-here::before {
    position: absolute;
    inset-block-start: 0;
    inset-inline: var(--s-step-0);
    height: var(--b-even);
    background: var(--signal);
    content: '';
}

.f28-more {
    display: none;
    flex-shrink: 0;
    margin: 0;
    position: relative;
}

.f28-more-handle {
    padding: var(--s-step-0) var(--s-step-1);
    border: var(--hair) solid var(--stroke);
    border-radius: var(--r-step-2);
    background: transparent;
    color: var(--script);
    font-family: var(--copy);
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    white-space: nowrap;
}

.f28-more-handle:hover {
    background: rgba(11, 249, 250, 0.24);
    color: var(--script);
}

.f28-more-stack {
    position: absolute;
    inset-block-start: calc(100% + var(--s-step-0));
    inset-inline-end: 0;
    z-index: 30;
    display: none;
    min-width: 210px;
    max-height: 60vh;
    overflow-y: auto;
    margin: 0;
    padding: var(--s-step-0);
    border: var(--hair) solid var(--stroke);
    border-radius: var(--r-step-3);
    background: var(--surface);
    box-shadow: var(--d-step-4);
    list-style: none;
}

.f28-more-stack.is-open {
    display: block;
}

.f28-more-slot {
    margin: 0;
}

.f28-more-anchor {
    display: block;
    padding: var(--s-step-0) var(--s-step-1);
    border-radius: var(--r-step-2);
    color: var(--script);
    font-size: 14px;
    text-decoration: none;
    white-space: nowrap;
}

.f28-more-anchor:hover {
    background-color: rgba(11, 249, 250, 0.24);
    color: var(--script);
}

.f28-tag {
    display: none;
    flex-shrink: 0;
    padding: 2px var(--s-step-0);
    border: var(--hair) solid var(--stroke);
    border-radius: var(--r-step-2);
    color: var(--grad-1);
    font-family: var(--title);
    font-size: var(--xs);
    font-weight: var(--strong);
    letter-spacing: var(--loose);
}

.f28-controls {
    display: flex;
    flex: 1 1 100%;
    align-items: center;
    gap: var(--s-step-0);
    padding-block-end: var(--s-step-0);
    order: 4;
}

.f28-controls .f28-button {
    flex: 1 1 auto;
}

.f28-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--s-step-2);
    border: var(--b-even) solid var(--signal);
    border-radius: var(--r-step-3);
    background: var(--signal);
    color: #ffffff;
    font-family: var(--title);
    font-size: var(--petite);
    font-weight: var(--strong);
    text-decoration: none;
    white-space: nowrap;
}

.f28-button:hover {
    background: var(--key-active);
    color: #ffffff;
}

.f28-button-main {
    border-color: transparent;
}

.f28-button-quiet {
    display: none;
    border-color: var(--border-strong);
    background: transparent;
    color: var(--script);
}

.f28-button-quiet:hover {
    background: var(--script);
    color: #ffffff;
}

.f28-handle {
    display: inline-flex;
    flex-shrink: 0;
    gap: var(--s-step-0);
    align-items: center;
    min-height: 44px;
    margin-inline-start: auto;
    padding-inline: var(--s-step-1);
    border: 0;
    border-radius: var(--r-step-3);
    background: rgba(11, 249, 250, 0.2);
    color: var(--script);
    font-family: var(--title);
    font-size: var(--petite);
    font-weight: var(--strong);
    cursor: pointer;
    order: 3;
}

.f28-handle:hover {
    background: rgba(11, 249, 250, 0.34);
}

.f28-handle svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.f28-pane {
    position: absolute;
    inset-block-start: calc(100% + var(--s-step-0));
    inset-inline: var(--inset-mobile);
    z-index: 40;
    display: none;
    max-height: 74vh;
    overflow-y: auto;
    padding: var(--s-step-2);
    border: var(--hair) solid var(--stroke);
    border-radius: var(--r-step-4);
    background: var(--surface);
    box-shadow: var(--d-step-4);
}

.f28-pane.is-open {
    display: block;
}

.f28-pane-stack {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}

.f28-pane-slot {
    margin: 0;
    border-block-end: var(--hair) solid var(--stroke);
}

.f28-pane-anchor {
    display: block;
    padding-block: var(--s-step-1);
    color: var(--script);
    font-family: var(--copy);
    font-size: var(--sm-2);
    text-decoration: none;
}

.f28-pane-anchor:hover {
    background-color: rgba(11, 249, 250, 0.24);
    color: var(--script);
}

.f28-pane-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    margin-block-start: var(--s-step-2);
    padding-inline: var(--s-step-2);
    border: var(--b-even) solid var(--border-strong);
    border-radius: var(--r-step-3);
    background: transparent;
    color: var(--script);
    font-family: var(--title);
    font-size: var(--petite);
    font-weight: var(--strong);
    text-decoration: none;
}

.f28-pane-button:hover {
    background: var(--script);
    color: #ffffff;
}

.f34 {
    padding-block: var(--s-step-4);
}

.f34-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.f34-slot {
    margin-block-end: var(--s-step-4);
}

.f34-slot:last-child {
    margin-block-end: 0;
}

.f34-top {
    position: relative;
    margin-block-end: var(--s-step-2);
    padding-block-end: var(--s-step-1);
    font-size: var(--h2);
    font-weight: var(--w-base);
}

.f34-top::after {
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    width: 2.6em;
    border-block-end: var(--b-even) dotted var(--lead);
    content: '';
}

.f34-text {
    color: var(--text-muted);
    line-height: var(--roomy);
}

.f34-stack {
    color: var(--text-muted);
}

.f34-fig {
    margin: 0 0 var(--s-step-3);
}

.f34-fig-img {
    display: block;
    width: 100%;
    height: auto;
    margin-inline: auto;
    border-radius: var(--r-step-3);
}

.f34-fig-wide {
    max-width: 640px;
    margin-inline: auto;
}

.f34-fig-tall {
    max-width: 330px;
    margin-inline: auto;
}

.f34-fig-flat {
    max-width: 420px;
    margin-inline: auto;
}

.f34-cta {
    margin-block-start: var(--s-step-3);
    padding: var(--s-step-2);
    border: var(--hair) solid var(--stroke);
    border-radius: var(--r-step-4);
    background: var(--bg-elevated);
}

.f34-cta-copy {
    margin-block-end: var(--s-step-1);
    color: var(--text-muted);
    font-size: var(--petite);
}

.f36 {
    padding-block: var(--s-step-4);
}

.f36-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.f36-hdr {
    margin-block-end: var(--s-step-3);
    font-size: var(--h2);
}

.f36-stack {
    margin: 0;
}

.f36-top {
    margin: 0;
    font-family: var(--copy);
    font-size: var(--sm-2);
    font-weight: var(--strong);
    line-height: var(--base);
}

.f36-slot {
    padding-block: var(--s-step-1);
    border-block-end: var(--hair) solid var(--stroke);
}

.f36-slot dt {
    margin: 0;
}

.f36-question {
    display: flex;
    gap: var(--s-step-1);
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--script);
    font-family: var(--copy);
    font-size: var(--sm-2);
    font-weight: var(--strong);
    line-height: var(--base);
    text-align: start;
    cursor: pointer;
}

.f36-question:hover {
    color: var(--signal);
}

.f36-question-text {
    display: block;
}

.f36-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: var(--signal);
    font-size: var(--lg-2);
    line-height: 24px;
    text-align: center;
    transition: transform var(--regular) var(--settle);
}

.f36-question[aria-expanded='true'] .f36-icon {
    transform: scale(1.15);
}

.f36-answer {
    margin: 0;
    padding-block-start: var(--s-step-1);
    color: var(--text-muted);
    line-height: var(--roomy);
}

.f36-answer p {
    margin: 0;
}

.g66 {
    padding-block: var(--s-step-4);
}

.g66-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.g66-slab {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--s-step-3);
    padding: var(--s-step-3);
    border: var(--hair) solid var(--stroke);
    border-radius: var(--r-step-4);
    background: var(--bg-elevated);
    box-shadow: var(--d-step-2);
}

.g66-pic {
    width: 120px;
    height: 120px;
    overflow: hidden;
    border-radius: var(--orb);
    justify-self: center;
    align-self: start;
}

.g66-pic-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.g66-meat {
    display: flex;
    flex-direction: column;
    gap: var(--s-step-1);
}

.g66-hat {
    color: var(--signal);
    font-family: var(--copy);
    font-size: var(--petite);
    font-weight: var(--mid);
    letter-spacing: var(--loose);
    text-transform: uppercase;
}

.g66-person {
    font-family: var(--title);
    font-size: var(--h2);
    font-weight: var(--strong);
}

.g66-text {
    color: var(--text-muted);
    line-height: var(--roomy);
}

.g66-stack {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-step-0);
    margin: 0;
    padding: 0;
    list-style: none;
}

.g66-slot {
    margin: 0;
    padding: 2px var(--s-step-1);
    border-radius: var(--stadium);
    background: rgba(11, 249, 250, 0.28);
    color: var(--script);
    font-size: var(--xs);
    letter-spacing: var(--loose);
    text-transform: uppercase;
}

.g66-more {
    margin-block-start: var(--s-step-3);
    padding: var(--s-step-2);
    border: var(--hair) solid var(--stroke);
    border-radius: var(--r-step-4);
}

.g66-more-hdr {
    margin-block-end: var(--s-step-1);
    font-size: var(--lg-2);
}

.g66-more-stack {
    margin: 0;
    padding-inline-start: var(--s-step-2);
    color: var(--text-muted);
}

.h08 {
    padding-block: var(--s-step-5);
}

.h08-core {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--s-step-3);
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.h08-meat {
    display: flex;
    flex-direction: column;
    gap: var(--s-step-2);
    align-items: flex-start;
}

.h08-top {
    max-width: var(--inner);
    font-size: var(--h1);
}

.h08-text {
    max-width: var(--inner);
    margin: 0;
    color: var(--text-muted);
}

.h08-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding-inline: var(--s-step-3);
    border-radius: var(--stadium);
    background: var(--signal);
    color: #ffffff;
    font-family: var(--title);
    font-size: var(--petite);
    font-weight: var(--strong);
    text-decoration: none;
}

.h08-button:hover {
    background: var(--key-active);
    color: #ffffff;
    transform: scale(1.03);
}

.h08-mark {
    align-self: start;
    color: var(--signal);
    font-family: var(--title);
    font-size: clamp(120px, 24vw, 280px);
    font-weight: var(--strong);
    line-height: var(--tight);
}

.j66 {
    padding-block: var(--s-step-4);
}

.j66-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.j66-slab {
    padding: var(--s-step-3);
    border: var(--b-even) solid var(--signal);
    border-radius: var(--r-step-3);
}

.j66-text {
    margin-block-end: var(--s-step-3);
    color: var(--text-muted);
}

.j66-line {
    display: block;
    margin-block-end: var(--s-step-3);
}

.j66-cap {
    display: block;
    margin-block-end: var(--s-step-0);
    color: var(--grad-1);
    font-size: var(--xs);
    letter-spacing: var(--loose);
    text-transform: uppercase;
}

.j66-input {
    width: 100%;
    padding-block: var(--s-step-0);
    border: 0;
    border-block-end: var(--hair) solid var(--border-strong);
    border-radius: var(--r-step-0);
    background: transparent;
    color: var(--script);
    font-family: var(--copy);
    font-size: var(--h4);
}

.j66-input:focus {
    border-block-end-color: var(--signal);
    outline: none;
}

.j66-area {
    min-height: 120px;
    resize: vertical;
}

.j66-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding-inline: var(--s-step-3);
    border: 0;
    border-radius: var(--stadium);
    background: var(--signal);
    color: #ffffff;
    font-family: var(--title);
    font-size: var(--petite);
    font-weight: var(--strong);
    cursor: pointer;
}

.j66-button:hover {
    background: var(--key-active);
    color: #ffffff;
    transform: scale(1.03);
}

.j66-done {
    display: none;
    margin-block-start: var(--s-step-2);
    padding: var(--s-step-2);
    border-radius: var(--r-step-3);
    background: var(--bg-elevated);
    color: var(--script);
}

.j66-done.is-open {
    display: block;
}

.m12 {
    position: fixed;
    inset-block-start: 0;
    inset-inline: 0;
    z-index: 120;
    border-block-end: var(--b-even) solid var(--signal);
    background: var(--surface);
    transition: transform var(--regular) var(--x-even), visibility 0s linear var(--regular);
}

.m12.is-gone {
    visibility: hidden;
    transform: translateX(-104%);
    pointer-events: none;
}

.m12-core {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-step-1);
    align-items: center;
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-block: var(--s-step-1);
    padding-inline: var(--inset-mobile);
}

.m12-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: var(--signal);
    fill: currentColor;
}

.m12-copy {
    flex: 1 1 220px;
    margin: 0;
    color: var(--script);
    font-size: var(--petite);
    line-height: var(--base);
}

.m12-controls {
    display: flex;
    flex: 1 1 100%;
    gap: var(--s-step-0);
    align-items: center;
}

.m12-confirm,
.m12-dismiss {
    display: inline-flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding-inline: var(--s-step-2);
    border: var(--hair) solid var(--border-strong);
    border-radius: var(--r-step-3);
    background: var(--surface);
    color: var(--script);
    font-family: var(--title);
    font-size: var(--xs);
    font-weight: var(--strong);
    cursor: pointer;
}

.m12-confirm {
    border-color: var(--signal);
    background: var(--signal);
    color: #ffffff;
}

.m12-confirm:hover {
    background: var(--key-active);
    color: #ffffff;
}

.m12-dismiss:hover {
    background: var(--bg-elevated);
    color: var(--script);
}

.m28 {
    padding-block: var(--s-step-4);
    border-block-end: var(--hair) solid var(--stroke);
}

.m28-core {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--s-step-2);
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.m28-deck {
    display: block;
    margin-block-end: var(--s-step-0);
    color: var(--signal);
    font-family: var(--title);
    font-size: var(--xs);
    font-weight: var(--strong);
    letter-spacing: var(--loose);
    text-transform: uppercase;
}

.m28-top {
    font-size: var(--h1);
}

.m28-text {
    margin: 0;
    color: var(--text-muted);
}

.n31 {
    padding-block: var(--s-step-4);
}

.n31-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.n31-hdr {
    margin-block-end: var(--s-step-2);
    font-size: var(--h2);
}

.n31-scroll {
    overflow-x: auto;
    border: var(--hair) solid var(--stroke);
    border-radius: var(--r-step-3);
}

.n31-grid {
    width: 100%;
    min-width: 460px;
    border-collapse: collapse;
    font-size: var(--petite);
}

.n31-grid th {
    padding: var(--s-step-0) var(--s-step-1);
    background: var(--bg-elevated);
    color: var(--script);
    font-family: var(--copy);
    font-size: var(--xs);
    font-weight: var(--strong);
    letter-spacing: var(--loose);
    text-align: start;
    text-transform: uppercase;
}

.n31-grid td {
    padding: var(--s-step-0) var(--s-step-1);
    border-block-start: var(--hair) solid var(--stroke);
    color: var(--text-muted);
    line-height: var(--base);
    vertical-align: top;
}

.n31-cap {
    margin-block-start: var(--s-step-1);
    color: var(--grad-1);
    font-size: var(--xs);
}

.p61 {
    padding-block-start: var(--s-step-5);
    padding-block-end: var(--s-step-4);
    background-color: var(--surface);
    background-image: linear-gradient(rgba(255, 255, 255, 0.93), rgba(255, 255, 255, 0.965)), url('/gallery/gallery-smart.webp');
    background-position: center;
    background-size: cover;
}

.p61-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.p61-meat {
    max-width: var(--inner);
    margin-inline: auto;
    text-align: center;
}

.p61-deck {
    display: block;
    margin-block-end: var(--s-step-2);
    color: var(--signal);
    font-size: var(--xs);
    letter-spacing: var(--loose);
    text-transform: uppercase;
}

.p61-top {
    font-size: var(--h1);
}

.p61-text {
    margin-block: var(--s-step-2);
    color: var(--text-muted);
    line-height: var(--roomy);
}

.p61-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-block: var(--s-step-2);
    padding-inline: var(--s-step-3);
    border-radius: var(--stadium);
    background: var(--signal);
    color: #ffffff;
    font-family: var(--title);
    font-size: var(--petite);
    font-weight: var(--strong);
    text-decoration: none;
}

.p61-cta:hover {
    background: var(--key-active);
    color: #ffffff;
}

.p61-note {
    display: block;
    max-width: var(--inner);
    margin-inline: auto;
    color: var(--grad-1);
    font-size: var(--xs);
    line-height: var(--base);
}

.r28 {
    padding-block: var(--s-step-4);
}

.r28-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.r28-hdr {
    margin-block-end: var(--s-step-2);
    font-size: var(--h2);
}

.r28-stack {
    margin: 0;
    padding: 0;
    list-style: none;
}

.r28-slot {
    margin: 0;
    padding-block: var(--s-step-1);
    border-block-end: var(--hair) dotted var(--border-strong);
}

.r28-rank {
    color: var(--script);
    font-size: var(--z-copy);
    font-weight: var(--mid);
}

.r28-person {
    font-weight: var(--mid);
}

.r28-score {
    color: var(--grad-1);
    font-weight: var(--w-base);
}

.r28-on {
    color: var(--grad-1);
    font-weight: var(--w-base);
}

.r28-text {
    margin: 0;
    color: var(--text-muted);
    line-height: var(--roomy);
}

.r28-cta {
    margin-block-start: var(--s-step-3);
    padding: var(--s-step-2);
    border: var(--hair) solid var(--stroke);
    border-radius: var(--r-step-4);
    background: var(--bg-elevated);
}

.r28-cta-copy {
    margin-block-end: var(--s-step-1);
    color: var(--text-muted);
    font-size: var(--petite);
}

.t19 {
    padding-block: var(--s-step-3);
}

.t19-core {
    display: flex;
    gap: var(--s-step-1);
    align-items: center;
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.t19-pic {
    display: block;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    overflow: hidden;
    border-radius: var(--orb);
}

.t19-pic-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.t19-text {
    display: block;
}

.t19-tag {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--z-copy);
}

.t19-person {
    color: var(--signal);
    text-decoration: underline;
}

.t19-hat {
    margin: var(--s-step-0) 0 0;
    color: var(--text-muted);
    font-size: var(--petite);
    font-style: italic;
}

.t24 {
    padding-block: var(--s-step-4) var(--s-step-3);
    border-block-start: var(--hair) solid var(--stroke);
    background: var(--surface);
}

.t24-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.t24-age {
    display: flex;
    gap: var(--s-step-1);
    align-items: center;
    padding-block-end: var(--s-step-2);
    border-block-end: var(--hair) solid var(--stroke);
    color: var(--age-band);
    font-size: var(--petite);
    line-height: var(--base);
}

.t24-age svg {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    color: var(--age-band);
    fill: currentColor;
}

.t24-age-anchor {
    color: var(--age-band);
}

.t24-brand {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-step-2);
    align-items: center;
    justify-content: space-between;
    padding-block: var(--s-step-2);
    border-block-end: var(--hair) solid var(--stroke);
}

.t24-glyph {
    display: inline-flex;
    flex-shrink: 0;
    line-height: 0;
}

.t24-glyph-img {
    display: block;
    width: auto;
    height: 44px;
}

.t24-deck {
    max-width: var(--inner);
    margin: 0;
    color: var(--text-muted);
    font-size: var(--petite);
}

.t24-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--s-step-3);
    padding-block: var(--s-step-3);
    border-block-end: var(--hair) solid var(--stroke);
}

.t24-side {
    display: block;
}

.t24-hdr {
    margin-block-end: var(--s-step-1);
    color: var(--script);
    font-family: var(--title);
    font-size: var(--h6);
    font-weight: var(--strong);
    letter-spacing: var(--loose);
    text-transform: uppercase;
}

.t24-stack {
    margin: 0;
    padding: 0;
    list-style: none;
}

.t24-slot {
    margin: 0 0 var(--s-step-0);
}

.t24-anchor {
    color: var(--text-muted);
    font-size: var(--petite);
    text-decoration: none;
}

.t24-anchor:hover {
    color: var(--signal);
    text-decoration: underline;
}

.t24-note {
    padding-block: var(--s-step-2);
    border-block-end: var(--hair) solid var(--stroke);
    color: var(--grad-1);
    font-size: var(--xs);
    line-height: var(--base);
}

.t24-rank {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-step-1);
    align-items: center;
    justify-content: space-between;
    padding-block-start: var(--s-step-2);
}

.t24-copy {
    margin: 0;
    color: var(--grad-1);
    font-size: var(--xs);
}

.t24-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--s-step-2);
    border-radius: var(--stadium);
    background: var(--signal);
    color: #ffffff;
    font-family: var(--title);
    font-size: var(--xs);
    font-weight: var(--strong);
    text-decoration: none;
}

.t24-cta:hover {
    background: var(--key-active);
    color: #ffffff;
}

.w34 {
    padding-block: var(--s-step-4);
}

.w34-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.w34-hdr {
    margin-block-end: var(--s-step-3);
    font-size: var(--h2);
}

.w34-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--s-step-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.w34-slot {
    display: flex;
    flex-direction: column;
    gap: var(--s-step-0);
    min-height: 180px;
    margin: 0;
    padding: var(--s-step-2);
    border-radius: var(--r-step-2);
    background: #f0feff;
    transition: box-shadow var(--regular) var(--settle);
}

.w34-slot:hover {
    box-shadow: var(--d-step-3);
}

.w34-icon {
    width: 28px;
    height: 28px;
    color: var(--signal);
    fill: currentColor;
}

.w34-top {
    font-family: var(--title);
    font-size: var(--sm-2);
    font-weight: var(--strong);
    line-height: var(--base);
}

.w34-text {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--petite);
    line-height: var(--base);
}

.w34-cta {
    display: flex;
    flex-direction: column;
    gap: var(--s-step-1);
    justify-content: center;
    min-height: 180px;
    margin: 0;
    padding: var(--s-step-2);
    border-radius: var(--r-step-2);
    background: var(--bg-elevated);
}

.w34-cta-copy {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--petite);
    line-height: var(--base);
}

.w75 {
    padding-block: var(--s-step-1);
}

.w75-core {
    width: 100%;
    max-width: calc(var(--full) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-mobile);
}

.w75-stack {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    margin: 0;
    padding: 0;
    list-style: none;
}

.w75-slot {
    display: inline-flex;
    align-items: baseline;
    margin: 0;
}

.w75-anchor {
    color: var(--text-muted);
    font-family: var(--title);
    font-size: var(--h6);
    font-weight: var(--strong);
    letter-spacing: var(--close);
    text-decoration: none;
    text-transform: uppercase;
}

.w75-anchor:hover {
    color: var(--signal);
}

.w75-here {
    color: var(--script);
    font-family: var(--title);
    font-size: var(--h6);
    font-weight: var(--strong);
    letter-spacing: var(--close);
    text-transform: uppercase;
}

.w75-slot + .w75-slot::before {
    margin-inline: var(--s-step-0);
    color: var(--signal);
    content: '/';
    font-family: var(--title);
    font-size: var(--h6);
    font-weight: var(--strong);
}

@media (max-width: 720px) {
    .m12-core {
        gap: var(--s-step-0);
        padding-block: var(--s-step-0);
        font-size: 13px;
        line-height: 1.35;
    }

    .m12-copy {
        font-size: 13px;
        line-height: 1.35;
    }

    .m12-confirm,
    .m12-dismiss {
        min-height: 36px;
        padding-inline: var(--s-step-1);
    }
}

@media (min-width: 540px) {
    .f28-core {
        flex-wrap: nowrap;
    }

    .f28-controls {
        flex: 0 0 auto;
        margin-inline-start: auto;
        padding-block-end: 0;
        order: 2;
    }

    .f28-controls .f28-button {
        flex: 0 0 auto;
    }

    .w34-stack {
        grid-template-columns: repeat(2, 1fr);
    }

    .m12-controls {
        flex: 0 0 auto;
    }

    .m12-confirm,
    .m12-dismiss {
        flex: 0 0 auto;
    }
}

@media (min-width: 780px) {
    :root {
        --h1: 38px;
        --h2: 30px;
        --lg-2: 24px;
        --h4: 20px;
        --sm-2: 17px;
        --h6: 15px;
        --z-copy: 17px;
        --petite: 15px;
        --xs: 13px;
    }

    .a82-core,
    .c21-core,
    .f28-core,
    .f34-core,
    .f36-core,
    .g66-core,
    .h08-core,
    .j66-core,
    .m12-core,
    .m28-core,
    .n31-core,
    .p61-core,
    .r28-core,
    .t19-core,
    .t24-core,
    .w34-core,
    .w75-core {
        padding-inline: var(--padding-tablet);
    }

    .a82-slab,
    .g66-slab,
    .j66-slab {
        padding: var(--s-step-4) var(--s-step-3);
    }

    .g66-slab {
        grid-template-columns: 160px 1fr;
        align-items: start;
    }

    .g66-pic {
        width: 160px;
        height: 160px;
        justify-self: start;
    }

    .h08-core {
        grid-template-columns: 1fr 1fr;
        gap: var(--s-step-4);
        align-items: center;
    }

    .m28-core {
        grid-template-columns: 1.2fr 1fr;
        gap: var(--s-step-4);
        align-items: end;
    }

    .n31-grid {
        min-width: 0;
    }

    .t24-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--s-step-4);
    }

    .t24-glyph-img {
        height: 52px;
    }

    .w34-stack {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--s-step-3);
    }

    .w34-slot,
    .w34-cta {
        padding: var(--s-step-3);
    }

    .f34-fig-wide {
        max-width: 720px;
    }

    .f34-fig-tall {
        max-width: 360px;
    }

    .f34-fig-flat {
        max-width: 460px;
    }
}

@media (min-width: 1000px) {
    .f28 {
        padding-block-start: var(--s-step-2);
        padding-inline: 0;
    }

    .f28-core {
        gap: var(--s-step-2);
        min-height: 76px;
        padding-inline: var(--s-step-3);
    }

    .f28-glyph-img {
        height: 60px;
    }

    .f28-bar {
        display: block;
    }

    .f28-tag {
        display: inline-block;
    }

    .f28-handle {
        display: none;
    }

    .f28-pane {
        display: none;
    }

    .f28.is-shrunk .f28-core {
        min-height: 60px;
    }

    .f28.is-shrunk .f28-glyph-img {
        height: 46px;
    }
}

@media (min-width: 1140px) {
    .a82-core,
    .c21-core,
    .f34-core,
    .f36-core,
    .g66-core,
    .h08-core,
    .j66-core,
    .m12-core,
    .m28-core,
    .n31-core,
    .p61-core,
    .r28-core,
    .t19-core,
    .t24-core,
    .w34-core,
    .w75-core {
        padding-inline: var(--inset-desktop);
    }

    .f28-button-quiet {
        display: inline-flex;
    }

    .w34-stack {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}

.tozumi-grab{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s-step-3);min-height:48px;border-radius:var(--stadium);border:var(--b-even) solid transparent;font-size:var(--petite);font-weight:var(--strong)}
.tozumi-grab{
  background:#C026D3;color:#FFFFFF;text-decoration:none;
  transition:background 0.22s ease;}
.tozumi-grab.tozumi-grab{color:#FFFFFF;text-decoration:none;}
.tozumi-grab:hover{background:#A21CAF;color:#FFFFFF;animation:none}
.tozumi-grab.tozumi-grab:hover{color:#FFFFFF;text-decoration:none}
.tozumi-grab:hover::after{animation:none}
.tozumi-grab:active{background:#86198F;color:#FFFFFF}
.tozumi-grab:focus-visible{outline:3px solid #000000;outline-offset:3px}
.tozumi-grab{animation:tozumi-pulse 1.25s ease-in-out infinite}
@keyframes tozumi-pulse{0%{transform:translate(0,0)}12.800%{transform:translate(2px,2px)}40.000%,100%{transform:translate(0,0)}}
@media (prefers-reduced-motion:reduce){.tozumi-grab,.tozumi-grab::after{animation:none!important;transition:none!important}}
.tozumi-strip{display:flex;flex-direction:column;align-items:center;gap:14px;padding:var(--s-step-2);background:var(--bg-elevated);border-radius:var(--r-step-4);border:var(--hair) solid var(--stroke);text-align:center;margin:var(--s-step-4,24px) 0}
.tozumi-info.tozumi-info{margin:0;border:0;padding:0;font-weight:600;font-size:0.9em}
.tozumi-tiny.tozumi-tiny{margin:0;border:0;padding:0;font-size:0.9em;opacity:.75}

@media (max-width: 514px) {
  .f28-bar,
  .f28-stack,
  .f28-anchor { display: none !important; }
  .f28-more-handle { display: inline-block !important; }
}
