 
@layer pages {
.courses-path { padding-block-end: var(--space-7); }
  .courses-path + .section > .wrap { padding-block-start: var(--space-7); border-block-start: 0; }
  .courses-path > .wrap { display: grid; gap: clamp(3.5rem, 2rem + 4vw, 6rem); }
  .start { position: relative; display: grid; overflow: hidden; border: 1px solid var(--rule); border-block-start-color: var(--accent); border-radius: 4px; background: var(--surface-sunken); color: var(--fg); text-decoration: none; }
  .start__photo { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; }
  .start__photo img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .start__words { display: grid; justify-items: start; align-content: center; gap: var(--space-4); padding: clamp(1.5rem, 1rem + 2.5vw, 3.5rem); }
  .start__head { display: flex; align-items: center; gap: var(--space-3); }
  :is(.start__seal, .opt__seal) .pseal { --seal: 3rem; --seal-ground: var(--surface-sunken); border-radius: 50%; }
  .start__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(2.25rem, 1.5rem + 2.4vw, 3.75rem); line-height: 1.02; letter-spacing: -0.02em; }
  .start__text { max-inline-size: 44ch; font-size: clamp(1rem, .95rem + .25vw, 1.125rem); line-height: 1.6; color: var(--fg-2); }
  .start .t-label { color: var(--label-hi); }
  @media (min-width: 1024px) {
    .start { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
    .start__photo { order: 2; aspect-ratio: auto; min-block-size: 22rem; }
  }
  .opts__head { display: grid; gap: var(--space-2); padding-block-end: var(--space-5); border-block-end: 1px solid var(--rule); }
  .opts__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem); line-height: 1.08; letter-spacing: -0.015em; }
  .opts__line { font-size: 1.0625rem; line-height: 1.5; color: var(--fg-2); }
  .opt__row { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-2) var(--space-4); padding-block: var(--space-5); border-block-end: 1px solid var(--rule); color: var(--fg); text-decoration: none; }
  .opt__seal { grid-row: 1 / span 3; align-self: start; }
  .opt__title { font-size: 1.125rem; font-weight: var(--weight-semibold); line-height: 1.35; letter-spacing: -0.01em; }
  .opt__text { font-size: .9375rem; line-height: 1.55; color: var(--fg-2); }
  .opt__row .card__link { margin: 0; padding: 0; color: var(--fg-2); }
  .opt__row:is(:hover, :focus-visible) .opt__title { text-decoration: underline 1px var(--accent); text-underline-offset: .3em; }
  .opt__row:is(:hover, :focus-visible) .card__link, .start:is(:hover, :focus-visible) .card__link { color: var(--fg); }
  @media (min-width: 1024px) {
    .opt__row { grid-template-columns: auto minmax(0, 4fr) minmax(0, 5fr) auto; column-gap: var(--grid-gap); }
    .opt__seal { grid-row: auto; align-self: center; }
  }
  @media (min-width: 1024px) { .courses-addons .addons__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  .courses-addons > .wrap > .addons { margin-block-start: 0; }
.opt:last-child > .opt__row { border-block-end: 0; }
  .courses-addons[data-ground] + .courses-voices[data-ground]:not(.section--first) > .wrap.wrap { border-block-start: 0; }
  @media screen {
    :root.mo .start__photo img { transition: transform var(--dur-3) var(--ease-reveal); }
    :root.mo .start:hover .start__photo img { transform: scale(1.02); }
    :root.mt[data-motion-ready] .opts[data-m]:not([data-in]) .opt { opacity: 0; translate: 0 12px; }
    :root.mt .opts[data-m][data-in=""] .opt { transition: opacity 560ms var(--ease-reveal) calc(var(--i, 0) * 120ms + 120ms), translate 760ms var(--ease-reveal) calc(var(--i, 0) * 120ms + 120ms); }
  }
.title-plate--letters .title-plate__media { block-size: max(15rem, min(70vw, 26rem)); overflow: hidden; }
  .title-plate--letters .title-plate__media::after { content: none; }
  .letter-fan { position: absolute; inset: 0; display: grid; place-items: center; }
  .letter-fan__sheet {
    grid-area: 1 / 1; block-size: 80%; inline-size: auto; max-inline-size: none; aspect-ratio: 837 / 1200; object-fit: cover; object-position: top;
    box-shadow: 0 1px 0 rgb(255 255 255 / .22) inset, 0 22px 44px -8px rgb(4 10 8 / .62), 0 4px 12px rgb(4 10 8 / .36);
  }
  .letter-fan__sheet:nth-child(1) { transform: translate(-52%, 3%) rotate(-6deg); }
  .letter-fan__sheet:nth-child(2) { transform: translate(52%, 4%) rotate(5deg); }
  .letter-fan__sheet:nth-child(3) { transform: translate(0, -1%) rotate(-.5deg); }
  @keyframes fan-left { from { transform: translate(-3%, 1%) rotate(-1.5deg); } }
  @keyframes fan-right { from { transform: translate(3%, 2%) rotate(1.5deg); } }
  @keyframes fan-front { from { transform: translate(0, 0) rotate(0deg); } }
  :root.mt .letter-fan__sheet:nth-child(1) { animation: fan-left 1000ms var(--ease-reveal) 260ms both; }
  :root.mt .letter-fan__sheet:nth-child(2) { animation: fan-right 1000ms var(--ease-reveal) 320ms both; }
  :root.mt .letter-fan__sheet:nth-child(3) { animation: fan-front 1000ms var(--ease-reveal) 260ms both; }
  @media (min-width: 1024px) {
    .title-plate--letters .title-plate__media { block-size: auto; }
    .letter-fan__sheet { block-size: min(80%, 30rem); }
    .letter-fan__sheet:nth-child(1) { transform: translate(-38%, 2%) rotate(-6deg); }
    .letter-fan__sheet:nth-child(2) { transform: translate(38%, 3%) rotate(5deg); }
    .title-plate--letters .title-plate__lead { font-size: 1rem; line-height: 1.6; }
  }
  @media (min-width: 1280px) {
    .letter-fan__sheet:nth-child(1) { transform: translate(-60%, 2%) rotate(-6deg); }
    .letter-fan__sheet:nth-child(2) { transform: translate(60%, 3%) rotate(5deg); }
  }
  .title-plate__links { display: flex; flex-wrap: wrap; gap: 0 var(--space-5); padding-block-start: var(--space-1); }
.letters--wall { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--grid-gap); }
  .letters--wall .letter img { aspect-ratio: 8 / 11; object-fit: contain; object-position: center; padding: 0.375rem; }
  @media (min-width: 640px) { .letters--wall { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (min-width: 1024px) { .letters--wall { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: var(--space-7); } }
  @media screen {
    :root.mt[data-motion-ready] .letters--wall > li[data-m]:not([data-in]) { opacity: 0; translate: 0 18px; }
    :root.mt .letters--wall > li[data-m][data-in=""] { transition: opacity 640ms var(--ease-reveal) calc(var(--i, 0) * 70ms), translate 860ms var(--ease-reveal) calc(var(--i, 0) * 70ms); }
  }
  .letters-fine { margin-block-start: var(--space-6); }
.stories-section .heading { margin-block-end: var(--space-6); }
main .heading__title.t-h2 { font-size: clamp(2rem, 1.5rem + 1.2vw, 2.75rem); line-height: 1.1; }
  .stories { display: grid; gap: var(--space-5); counter-reset: none; }
  .story { position: relative; display: grid; grid-template-rows: auto auto auto 1fr; align-content: start; row-gap: var(--space-3); padding: var(--space-5) var(--space-5) var(--space-6); background: linear-gradient(180deg, var(--surface-raised), var(--surface) 140%); border: 1px solid var(--rule-soft); border-block-start-color: var(--rule); border-radius: 2px; }
  .story::before { content: ""; position: absolute; inset-block-start: -1px; inset-inline-start: var(--space-5); inline-size: 2.75rem; block-size: 1px; background: var(--accent); }
  .story__num { font-size: 0.75rem; font-weight: var(--weight-semibold); letter-spacing: 0.14em; line-height: 1; color: var(--accent); font-variant-numeric: lining-nums tabular-nums; }
  .story__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.5rem, 1.38rem + .4vw, 1.75rem); line-height: 1.18; letter-spacing: -0.01em; color: var(--fg); text-wrap: balance; }
  .story__who { display: grid; gap: 2px; padding-block-end: var(--space-3); border-block-end: 1px solid var(--rule-soft); font-size: 0.875rem; line-height: 1.45; color: var(--fg-3); }
  .story__who strong { font-size: 1rem; font-weight: var(--weight-semibold); color: var(--fg); }
  .story__who span:last-child { margin-block-start: 2px; font-size: 0.75rem; font-weight: var(--weight-semibold); letter-spacing: 0.14em; text-transform: uppercase; }
  .story__text { display: grid; align-content: start; gap: var(--space-2); }
  .story__line { font-size: 1rem; line-height: 1.6; color: var(--fg-2); text-wrap: pretty; }
  .stories__fine { max-inline-size: 52em; margin-block-start: var(--space-6); }
  @media (min-width: 768px) {
    .stories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--grid-gap); }
    @supports (grid-template-rows: subgrid) { .story { grid-row: span 4; grid-template-rows: subgrid; } }
  }
  @media (min-width: 1200px) { .story { padding: var(--space-6) var(--space-6) var(--space-7); } .story::before { inset-inline-start: var(--space-6); } }
  @media screen {
    :root.mt[data-motion-ready] .stories[data-m]:not([data-in]) > .story { opacity: 0; translate: 0 14px; }
    :root.mt .stories[data-m][data-in=""] > .story { transition: opacity 600ms var(--ease-reveal) calc(var(--i, 0) * 90ms), translate 820ms var(--ease-reveal) calc(var(--i, 0) * 90ms); }
  }
.mosaic-section { --cw: min(100vw - 2 * var(--gutter), var(--content-max)); }
  .mosaic { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5) var(--grid-gap); }
  .mosaic__tile { min-inline-size: 0; }
  .mosaic__tile--wide { grid-column: 1 / -1; }
  .mosaic .thumb { gap: var(--space-2); }
  .mosaic .thumb__media { position: relative; aspect-ratio: 4 / 5; border-radius: 0; }
  .mosaic__tile--wide .thumb__media { aspect-ratio: 3 / 2; }
  .mosaic .thumb__media img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; aspect-ratio: auto; object-fit: cover; }
  .mosaic .thumb__label { letter-spacing: 0.12em; font-size: 0.75rem; }    
  .mosaic .thumb__label .icon { inline-size: 14px; block-size: 14px; }
.mosaic .gallery-film { inline-size: 100%; }
@media (hover: hover) and (pointer: fine) {
    .mosaic .thumb__label { opacity: 0; transition: opacity var(--dur-3) var(--ease-reveal); }
    .mosaic .thumb:is(:hover, :focus-visible) .thumb__label { opacity: 1; }
  }
  @media (min-width: 600px) {
    .mosaic { grid-template-columns: repeat(12, minmax(0, 1fr)); row-gap: var(--space-5); }
    .mosaic__tile { grid-column: span var(--c); }
    .mosaic .thumb__media, .mosaic__tile--wide .thumb__media { aspect-ratio: auto; block-size: calc(var(--cw) * var(--r)); }
    .mosaic__tile--small { grid-column: span 4; }
    .mosaic__tile--small .thumb__media { block-size: calc(var(--cw) * .24); }
  }
  @media (min-width: 1024px) {
    .mosaic__tile--small { grid-column: span var(--c); }
    .mosaic__tile--small .thumb__media { block-size: calc(var(--cw) * var(--r)); }
  }
.plate-split .plate-split__side { inset-block: 0; inline-size: 58%; block-size: 100%; object-fit: cover; }
  .plate-split .plate-split__side--vegas { left: 0; right: auto; clip-path: polygon(0 0, 100% 0, 72.41% 100%, 0 100%); object-position: 100% 50%; }
  .plate-split .plate-split__side--dubai { left: auto; right: 0; clip-path: polygon(27.59% 0, 100% 0, 100% 100%, 0 100%); object-position: 70% 50%; }
  .plate-split__seam { position: absolute; z-index: 1; inset: 0; inline-size: 100%; block-size: 100%; overflow: visible; pointer-events: none; }
  .plate-split__seam line { stroke: var(--gold-300); stroke-width: 1.5px; vector-effect: non-scaling-stroke; transform-box: view-box; transform-origin: 58px 0; }
  :root.mt .plate-split__seam line { animation: plate-split-seam 900ms var(--ease-cut) 420ms both; }
  @keyframes plate-split-seam { from { transform: scale(0); } }
.plate-split__name {
    position: absolute; z-index: 2; inset-block-start: 9%; inset-inline-end: 5.5%; display: grid; justify-items: end; gap: .55rem;
    font-family: var(--font-display); font-weight: 400; font-size: clamp(1.75rem, 1.1rem + 2.4vw, 3.6rem); line-height: 1;
    letter-spacing: .01em; color: #f4efe4; text-shadow: 0 1px 2px rgb(6 14 12 / .55), 0 0 28px rgb(6 14 12 / .45); pointer-events: none;
  }
  .plate-split__rule { display: block; inline-size: 2.75rem; block-size: 1px; background: var(--gold-300); }
  :root.mt .plate-split__name { animation: plate-split-name 900ms var(--ease-cut) 700ms both; }
  @keyframes plate-split-name { from { opacity: 0; transform: translateY(.6rem); } }
  .contact-offices > .wrap { display: grid; gap: var(--space-6); }
.contact__mails { display: grid; gap: var(--space-3) var(--grid-gap); margin: 0; padding: 0; list-style: none; }
  @media (min-width: 600px) { .contact__mails { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  .mail-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); block-size: 100%;
    padding: clamp(1rem, 0.8rem + 0.8vw, 1.5rem) clamp(1.125rem, 0.9rem + 1vw, 1.75rem); border: 1px solid var(--rule-soft); border-block-start-color: var(--rule); border-radius: 2px;
    background: linear-gradient(180deg, var(--surface-raised), var(--surface) 140%); color: var(--fg); text-decoration: none; }
  .mail-card:is(:hover, :focus-visible) { border-color: var(--accent); }
  .mail-card__ring { display: grid; place-items: center; inline-size: 3rem; block-size: 3rem; border: 1px solid var(--accent); border-radius: 50%; color: var(--accent); }
  .mail-card__text { display: grid; gap: 0.3rem; min-inline-size: 0; }
  .mail-card__label { font-size: 0.75rem; font-weight: var(--weight-semibold); line-height: 1.35; letter-spacing: 0.14em; text-transform: uppercase; color: var(--label); }
  .mail-card__address { font-size: var(--step-1); font-weight: var(--weight-semibold); line-height: 1.3; overflow-wrap: anywhere; }
  .mail-card__go { color: var(--accent); transition: translate var(--dur-2) var(--ease-reveal); }
  .mail-card:is(:hover, :focus-visible) .mail-card__go { translate: 3px 0; }
  [dir="rtl"] .mail-card:is(:hover, :focus-visible) .mail-card__go { translate: -3px 0; }
  .offices { display: grid; gap: var(--grid-gap); }
  .office { display: grid; grid-template-rows: auto auto auto auto 1fr auto; gap: var(--space-4); padding: clamp(1.25rem, 1rem + 1.5vw, 2.25rem); border: 1px solid var(--rule-soft); border-block-start-color: var(--rule); border-radius: 2px; background: linear-gradient(180deg, var(--surface-raised), var(--surface) 140%); }
@media (min-width: 900px) {
    .offices { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(6, auto); row-gap: 0; }
    .office { grid-row: span 6; grid-template-rows: subgrid; row-gap: var(--space-4); }
  }
  .office__country { margin: 0; }
  .office__city { font-family: var(--font-display); font-weight: 400; font-size: clamp(2rem, 1.6rem + 1.2vw, 2.75rem); line-height: 1.05; letter-spacing: -0.015em; }
  .office__details { display: grid; gap: var(--space-4); }
  @media (min-width: 600px) { .office__details { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } }
  .office__where, .office__phones { display: grid; align-content: start; gap: var(--space-1); }
  .location__company { font-weight: var(--weight-semibold); color: var(--fg); }
  .office address { color: var(--fg-2); font-style: normal; }
  .location__hours { margin-block-start: var(--space-1); font-size: var(--step--1); color: var(--fg-3); }
  .location__phone { font-variant-numeric: tabular-nums; color: var(--fg); }
.office__phones { gap: var(--space-3); }
  .location__label { display: block; margin-block-end: 0.125rem; font-size: 0.75rem; font-weight: var(--weight-semibold); line-height: 1.35; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-3); }
  .location__number { white-space: nowrap; }
  .location__phone a { display: inline-block; }
.location__phone a { color: inherit; text-decoration: none; }
  .location__phone a:hover, .office__rating a:hover { text-decoration: underline 1px var(--accent); text-underline-offset: 0.3em; }
  .office__rating { margin-block-start: var(--space-2); font-size: var(--step--1); }
  .office__rating a { min-block-size: var(--target-min); color: var(--fg-2); text-decoration: none; }
  .office__map {
    position: relative; align-self: end; aspect-ratio: 16 / 10; overflow: hidden; border: 1px solid var(--rule); border-radius: 4px; background-color: var(--surface);
    background-image: linear-gradient(var(--rule-soft) 1px, transparent 1px), linear-gradient(90deg, var(--rule-soft) 1px, transparent 1px); background-size: 28px 28px;
  }
  .office__map::before { content: ""; position: absolute; inset-block-start: 50%; inset-inline-start: 50%; inline-size: 12px; block-size: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent) 22%, transparent); }
  .office__map iframe { position: absolute; z-index: 1; inset: 0; inline-size: 100%; block-size: 100%; border: 0; }
  .office__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-5); }
  .office__tour { text-wrap: balance; }
.office__photo { display: grid; gap: var(--space-3); margin: 0; }
  .office__frame { position: relative; overflow: hidden; aspect-ratio: 1170 / 900; border-radius: 2px; background: var(--surface); }
  .office__frame::after { content: ""; position: absolute; inset: var(--space-3); z-index: 1; border: var(--photo-rule); pointer-events: none; }
  .office__frame > :is(img, video) { position: absolute; inset: 0; display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  [data-office-film] > :is(img, video) { object-position: 50% 54%; }
  .office__frame > video { opacity: 0; transition: opacity 900ms var(--ease-reveal); }
  .office__frame[data-playing] > video { opacity: 1; }
  .office__ctl { position: absolute; z-index: 2; inset-block-end: 0.75rem; inset-inline-end: 0.75rem; display: grid; place-items: center; inline-size: 38px; block-size: 38px;
    padding: 0; border: 1px solid rgb(244 236 216 / .5); border-radius: 50%; background: rgb(13 28 24 / .6); color: #f4ecd8; cursor: pointer;
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
  .office__ctl[hidden] { display: none; }
  .office__ctl svg { inline-size: 13px; block-size: 13px; }
  .office__play, .is-stopped .office__pause { display: none; }
  .is-stopped .office__play { display: block; }
  @media (hover: hover) { .office__ctl:hover { border-color: var(--label-hi); } }
  .office__ctl:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.faq-section { padding-block-start: var(--space-3); }
  .faq-page .accordion { border-block-start: 0; }
  .faq-page { display: grid; }
  .faq-page__answers { position: relative; min-inline-size: 0; }
.faq-index { min-inline-size: 0; }
  .faq-index__list { display: flex; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
  .faq-index__link { display: flex; align-items: baseline; gap: .625rem; color: var(--fg-2); font-size: var(--step-ui); line-height: 1.4; text-decoration: none; }
  .faq-index__num, .faq-group__num { font-size: var(--step--2); font-weight: var(--weight-semibold); letter-spacing: var(--track-label); color: var(--label); font-variant-numeric: tabular-nums; }
  .faq-index__link:hover .faq-index__name { color: var(--fg); text-decoration: underline 1px var(--rule-strong); text-underline-offset: .3em; }
  .faq-index__link[aria-current="true"] { color: var(--fg); }
  .faq-index__link[data-none] { opacity: .4; pointer-events: none; }
  @media (max-width: 1023.98px) {
    .faq-index { margin: 0 calc(-1 * var(--gutter)) var(--space-5); }
    .faq-index__label { display: none; }
    .faq-index__list { overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-inline: var(--gutter); scrollbar-width: none; padding: 2px var(--gutter); }
    .faq-index__list::-webkit-scrollbar { display: none; }
    .faq-index__list > li { flex: none; scroll-snap-align: start; }
    .faq-index__link { align-items: center; min-block-size: var(--target-touch); padding-inline: var(--space-4); border: 1px solid var(--rule); border-radius: 999px; white-space: nowrap; }
  }
  @media (min-width: 1024px) {
    .faq-page { grid-template-columns: minmax(11rem, 14rem) minmax(0, 1fr); column-gap: clamp(2.5rem, 5vw, 5.5rem); align-items: start; }
    .faq-index { position: sticky; inset-block-start: calc(var(--header-h) + var(--space-5)); max-block-size: calc(100dvh - var(--header-h) - var(--space-6) - var(--action-bar-h, 0px)); overflow-y: auto; }
    .faq-index__label { margin-block-end: var(--space-3); }
    .faq-index__list { flex-direction: column; gap: 0; border-block-start: 1px solid var(--rule); }
    .faq-index__link { padding-block: .5rem; border-block-end: 1px solid var(--rule-soft); }
    .faq-index__link[aria-current="true"] .faq-index__num { color: var(--accent); }
  }
@media (min-width: 1024px) and (max-height: 600px) {
    .faq-index__label { display: none; }
    .faq-index__link { padding-block: .3rem; }
  }
.faq-group__head { position: relative; display: flex; align-items: baseline; gap: var(--space-4); padding-block-end: var(--space-2); }
  .faq-group:not([hidden]) ~ .faq-group { margin-block-start: var(--space-7); }
  .faq-group:not([hidden]) ~ .faq-group > .faq-group__head { padding-block-start: var(--space-4); border-block-start: 1px solid var(--rule); }
  :root.mo .faq-group:not([hidden]) ~ .faq-group > .faq-group__head > .m-rule { display: block; }
  @media (min-width: 1024px) { .faq-group:not([hidden]) ~ .faq-group { margin-block-start: var(--space-8); } }
  .faq-group__title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: max(1.5rem, var(--step-5)); line-height: var(--lh-title); letter-spacing: var(--track-heading); color: var(--fg); }
  .faq-page__empty { padding-block: var(--space-6); color: var(--fg-2); }
  .faq-search { display: grid; gap: var(--space-2); align-content: start; inline-size: 100%; }
  .faq-search .field__label { font-size: var(--step-ui); color: var(--fg-2); }
  .faq-page .accordion__question { max-inline-size: 58rem; }
  .faq-page .accordion__panel { max-inline-size: 46rem; }
  .title-plate--search .title-plate__words { padding-block: var(--space-4) var(--space-5); gap: 0.75rem; }
  .title-plate--search .title-plate__lead { font-size: 1rem; line-height: 1.6; }
  @media (min-width: 1024px) {
    .title-plate--search .title-plate__words { grid-column: 2 / span 12; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grid-gap); padding-block: var(--space-5) var(--space-6); row-gap: 0.625rem; }
    .title-plate--search .title-plate__words > * { grid-column: 1 / span 7; }
    .title-plate--search .faq-search { grid-column: 8 / -1; grid-row: 1 / span 4; align-self: end; }
  }
@keyframes faq-block { from { opacity: 0; translate: 0 14px; } }
  @keyframes faq-answer { from { opacity: 0; translate: 0 8px; } }
  @media screen {
    :root.mt :is(.faq-index, .faq-page__answers > .faq-group:first-child) { animation: faq-block 760ms var(--ease-reveal) 60ms both; }
    :root.mo .faq-page .accordion__item[open] > .accordion__panel { animation: faq-answer 420ms var(--ease-reveal) both; }
  }
.title-plate--legal .title-plate__words { padding-block: var(--space-4) var(--space-5); }
  .legal { display: grid; gap: var(--space-6) var(--grid-gap); }
  .legal-section { padding-block-start: var(--space-6); }
  .legal__rail ol { display: grid; border-block-start: 1px solid var(--rule); }
  .legal__rail li { border-block-end: 1px solid var(--rule-soft); }
  .legal__rail a { display: flex; align-items: center; min-block-size: 2.75rem; padding-block: 0.375rem; color: var(--fg-2); font-size: var(--step-ui); line-height: 1.35; text-decoration: none; }
  .legal__rail a:hover { color: var(--fg); text-decoration: underline 1px var(--accent); text-underline-offset: 0.3em; }
  @media (min-width: 600px) and (max-width: 1023.98px) { .legal__rail ol { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--grid-gap); } }
  .legal__text { min-inline-size: 0; max-inline-size: 34em; font-size: 0.96875rem; line-height: 1.65; color: var(--fg-2); }
  .legal__text > * + * { margin-block-start: 0.875rem; }
  .legal__line { position: relative; scroll-margin-block-start: calc(var(--header-h) + var(--space-5)); margin-block-start: var(--space-6); padding-block-start: var(--space-4); border-block-start: 1px solid var(--rule); font-family: var(--font-sans); font-size: var(--step-1); font-weight: var(--weight-semibold); letter-spacing: -0.01em; line-height: 1.35; color: var(--fg); }
  .legal__line:first-child { margin-block-start: 0; }
  .legal__text > .legal__line + * { margin-block-start: var(--space-3); }
  .legal__text strong { font-weight: var(--weight-semibold); color: var(--fg); }
  .legal__notice { font-weight: var(--weight-semibold); color: var(--fg); letter-spacing: 0.01em; }
.legal__num { display: inline-block; min-inline-size: 2.1em; color: var(--label-hi); font-size: 0.8em; font-weight: var(--weight-semibold); letter-spacing: 0.06em; font-variant-numeric: tabular-nums; }
  .legal__intro { font-size: 1.0625rem; line-height: 1.6; color: var(--fg); }
  .legal__list { display: grid; gap: var(--space-2); }
  .legal__list > li { position: relative; padding-inline-start: 1.25rem; }
.legal__text > .legal__date { margin-block-start: var(--space-6); padding-block-start: var(--space-3); border-block-start: 1px solid var(--rule-soft); font-size: var(--step--1); letter-spacing: 0.02em; color: var(--fg-3, var(--fg-2)); }
  .legal__list > li::before { content: ""; position: absolute; inset-inline-start: 0.2rem; inset-block-start: 0.66em; inline-size: 6px; block-size: 6px; rotate: 45deg; background: var(--label-hi); }
  @media (min-width: 1024px) {
    .legal { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .legal__rail { grid-column: 1 / span 4; align-self: start; }
    .legal__text { grid-column: 6 / -1; }
    .legal-section { padding-block-start: var(--space-7); }
  }
@media (min-width: 1024px) and (min-height: 640px) {
    .legal__rail { position: sticky; inset-block-start: calc(var(--header-h) + var(--space-5)); }
  }
.nf-links { display: flex; flex-wrap: wrap; gap: 0 var(--space-5); margin-block-start: var(--space-5); padding-block-start: var(--space-3); border-block-start: 1px solid var(--rule-soft); max-inline-size: 28rem; }
  .nf-links a { display: inline-flex; align-items: center; min-block-size: var(--target-touch); color: var(--fg-2); font-size: var(--step-ui); font-weight: var(--weight-medium); text-decoration: none; }
  .nf-links a:hover { color: var(--fg); text-decoration: underline 1px var(--accent); text-underline-offset: 0.35em; }
  .title-plate--screen { min-block-size: calc(100svh - var(--header-h)); grid-template-rows: minmax(12rem, 1fr) auto; }
  .title-plate--screen .title-plate__media { block-size: auto; }
@media (max-width: 1279.98px) { .title-plate--screen { min-block-size: calc(100svh - var(--header-h) - 4.5rem); } }
@media (min-width: 1024px) {
    .title-plate--screen { grid-template-rows: minmax(0, 1fr); }
    .title-plate--screen .title-plate__picture img { object-position: var(--wide, 76% 50%); }
    .title-plate--screen .title-plate__media::after { background: linear-gradient(to right, rgb(13 28 24 / .8) 0%, rgb(13 28 24 / .3) 8%, rgb(13 28 24 / 0) 20%), linear-gradient(to top, rgb(13 28 24 / .5) 0%, rgb(13 28 24 / 0) 22%); }
  }
}
@layer motion {
.legal__line > .m-rule { display: block; }
  :root.mo .legal__line { border-color: transparent; }
  .legal__line:first-child { border-block-start: 0; }
  .legal__line:first-child > .m-rule { display: none; }
}
