/* 00-tokens.css */
:root {
  /* primitives */
  --red-50:#FACDC7; --red-100:#F99D90; --red-200:#EE614D; --red-300:#E5381F; --red-400:#942010; --red-500:#5B1106; --red-600:#330B05;
  --orange-50:#FFE1B7; --orange-100:#FFC777; --orange-200:#F49A1A; --orange-300:#EE771C; --orange-400:#C0590A; --orange-500:#894009; --orange-600:#5E2B04;
  --yellow-50:#FFF2D0; --yellow-100:#FFDE8A; --yellow-200:#FFD871; --yellow-300:#FAB910; --yellow-400:#CD9504; --yellow-500:#A57A0C; --yellow-600:#644C0C;
  --neutral-0:#FFFFFF; --neutral-50:#FAFAFA; --neutral-100:#F5F5F5; --neutral-200:#E5E5E5; --neutral-300:#D4D4D4; --neutral-400:#A3A3A3;
  --neutral-500:#737373; --neutral-600:#525252; --neutral-700:#404040; --neutral-800:#262626; --neutral-900:#171717; --neutral-1000:#000000;
  --brand-primary:#ED090A; --brand-secondary:#FFF3ED;
  --success:#16A34A; --success-light:#CCFFDE; --success-dark:#15803D;
  --warning:#F7E73B; --warning-light:#FFF9B5; --warning-dark:#DDCD1C;
  --error:#DC2626; --error-light:#FFC0C4; --error-dark:#A11616;
  --info:#3C78FB; --info-light:#B7D6FF; --info-dark:#1342C7;

  /* semantic (Brand collection; variables win over the doc page) */
  --color-bg-primary:#FFF3ED; --color-bg-secondary:#330B05; --color-bg-tertiary:#F99D90; --color-bg-quaternary:#FFC777; --color-bg-disabled:#A3A3A3;
  --color-bg-50:#FFF2D0; /* Color/50, mobile banner */
  --color-bg-band-light:var(--orange-50); /* lighter quaternary band, e.g. Tu local's stepper + WhyWait */
  --color-content-primary:#5B1106; --color-content-secondary:#FFF3ED; --color-content-tertiary:#E5381F; --color-content-quaternary:#FAB910; --color-content-disabled:#737373;
  --color-cta-primary-bg:#5B1106; --color-cta-primary-hover:#330B05; --color-cta-primary-content:#FFF3ED;
  --color-cta-secondary-bg:#E5381F; --color-cta-secondary-hover:#942010; --color-cta-secondary-content:#FFF3ED;
  --color-cta-outline-content:#5B1106; --color-cta-outline-stroke:#5B1106; --color-cta-outline-hover:rgba(255,243,237,.4);
  --color-cta-outline-inverse-content:#FFF3ED; --color-cta-outline-inverse-stroke:#FFF3ED; --color-cta-outline-inverse-hover:rgba(255,243,237,.4);
  --color-cta-ghost-content:#5B1106; --color-cta-ghost-hover:rgba(255,243,237,.4);
  --color-overlay-blur:rgba(51,11,5,.6);
  --shadow-focus:0 0 0 3px rgba(163,163,163,.5);
  --shadow-xs:0 1px 2px rgba(0,0,0,.05);
  --shadow-lift:0 12px 32px rgba(51,11,5,.18);
  --shadow-text-overlay:0 2px 12px rgba(0,0,0,.35);

  /* spacing (8px base) */
  --space-min:1px; --space-tiny:1.5px; --space-small:2px; --space-half:4px; --space-1:8px; --space-1-5:12px; --space-2:16px; --space-2-5:20px;
  --space-3:24px; --space-4:32px; --space-4-5:36px; --space-5:40px; --space-6:48px; --space-8:64px; --space-10:80px; --space-12:96px; --space-15:120px;
  --gap-tight:4px; --gap-default:8px; --gap-compact:12px; --gap-standard:16px; --gap-comfortable:24px; --gap-loose:32px; --gap-wide:48px; --gap-xwide:64px;

  /* radius */
  --radius-none:0; --radius-xs:2px; --radius-sm:4px; --radius-md:8px; --radius-lg:12px; --radius-xl:16px; --radius-2xl:24px; --radius-3xl:32px; --radius-full:9999px;

  /* border widths */
  --border-hairline:1px; --border-emphasis:2px; --border-heavy:3px;

  /* overlays & glows (component use, not in the Brand collection) */
  --overlay-scrim:rgba(0,0,0,.2); --overlay-scrim-strong:rgba(0,0,0,.4);
  --success-glow:rgba(22,163,74,.55); --success-glow-0:rgba(22,163,74,0);

  /* component sizes (organisms, Task 9) */
  --size-touch-min:44px;
  --size-hero-min:600px; --size-hero-min-sm:448px;
  --size-brand-slot-w:144px; --size-brand-slot-h:84px;
  --size-client-logo-w:160px; --size-client-logo-h:38px;
  --size-brand-item-w-sm:144px; --size-brand-item-h-sm:101px;
  --size-step-card:156px;
  --size-banner-text-max:900px;
  --size-hero-secondary-max:600px;
  --size-panel-value-min:140px;
  --size-progress-bar:6px;
  --size-glow-spread:9px;
  --size-image-band-h-tablet:432px;
  --gap-live-dot:7px;

  /* type */
  --font-display:"TRT Cenzo", system-ui, sans-serif;
  --font-body:"Montserrat", system-ui, sans-serif;
  --text-2xs:10px; --text-xs:12px; --text-sm:14px; --text-base:16px; --text-lg:18px; --text-xl:20px; --text-2xl:24px; --text-3xl:30px;
  --text-4xl:36px; --text-5xl:48px; --text-6xl:60px; --text-7xl:72px; --text-8xl:96px;
  --leading-xs:18px; --leading-sm:20px; --leading-base:24px; --leading-lg:24px; --leading-xl:28px; --leading-2xl:32px; --leading-3xl:38px;
  --leading-4xl:44px; --leading-5xl:56px; --leading-6xl:64px; --leading-7xl:72px; --leading-8xl:96px;
  --tracking-8xl:2px; --tracking-7xl:2px; --tracking-6xl:2px; --tracking-5xl:-0.02em; --tracking-4xl:-0.01em; --tracking-3xl:-0.01em;
  --tracking-label-sm:0.025em; --tracking-label-xs:0.05em;

  /* layout */
  --container:1184px;
  --section-y:96px; --section-x:128px;
  --grid-gutter:24px;
  --nav-height:64px;
}
@media (max-width:1023px) { :root { --section-y:64px; --section-x:64px; --grid-gutter:20px; } }
@media (max-width:767px)  { :root { --section-y:48px; --section-x:24px; --grid-gutter:16px; } }

/* 10-base.css */
@font-face { font-family:"TRT Cenzo"; src:url("/assets/fonts/trtcenzo-bold.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"TRT Cenzo"; src:url("/assets/fonts/trtcenzo-regular.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { margin:0; background:var(--color-bg-primary); color:var(--color-content-primary); font-family:var(--font-body); font-size:var(--text-base); line-height:var(--leading-base); font-weight:400; }
img,picture,video,svg { display:block; max-width:100%; }
[hidden] { display:none !important; }
h1,h2,h3,h4,h5,h6,p { margin:0; }
a { color:inherit; }
button { font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
:focus-visible { outline:none; box-shadow:var(--shadow-focus); }
.container { width:100%; max-width:calc(var(--container) + 2 * var(--section-x)); margin-inline:auto; padding-inline:var(--section-x); }
.section { padding-block:var(--section-y); }
.bg-primary { background:var(--color-bg-primary); color:var(--color-content-primary); }
.bg-secondary { background:var(--color-bg-secondary); color:var(--color-content-secondary); }
.bg-tertiary { background:var(--color-bg-tertiary); }
.bg-quaternary { background:var(--color-bg-quaternary); color:var(--color-content-primary); }
.bg-band-light { background:var(--color-bg-band-light); color:var(--color-content-primary); }
.accent { font-style:normal; color:var(--color-content-quaternary); }
em.accent { color:var(--color-content-tertiary); }
.ml-heading--inverse em.accent { color:var(--color-content-quaternary); }
.visually-hidden { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip-link { position:absolute; left:-999px; top:8px; background:var(--color-bg-secondary); color:var(--color-content-secondary); padding:8px 16px; border-radius:var(--radius-full); z-index:100; }
.skip-link:focus { left:8px; }

/* 20-typography.css */
.h-8xl,.h-7xl,.h-6xl,.h-5xl,.h-4xl,.h-3xl,.h-2xl,.h-xl { font-family:var(--font-display); font-weight:700; }
.h-8xl { font-size:var(--text-8xl); line-height:var(--leading-8xl); letter-spacing:var(--tracking-8xl); }
.h-7xl { font-size:var(--text-7xl); line-height:var(--leading-7xl); letter-spacing:var(--tracking-7xl); }
.h-6xl { font-size:var(--text-6xl); line-height:var(--leading-6xl); letter-spacing:var(--tracking-6xl); }
.h-5xl { font-size:var(--text-5xl); line-height:var(--leading-5xl); letter-spacing:var(--tracking-5xl); }
.h-4xl { font-size:var(--text-4xl); line-height:var(--leading-4xl); letter-spacing:var(--tracking-4xl); }
.h-3xl { font-size:var(--text-3xl); line-height:var(--leading-3xl); letter-spacing:var(--tracking-3xl); }
.h-2xl { font-size:var(--text-2xl); line-height:var(--leading-2xl); }
.h-xl  { font-size:var(--text-xl);  line-height:var(--leading-xl); }
.t-lg { font-size:var(--text-lg); line-height:var(--leading-lg); }
.t-base { font-size:var(--text-base); line-height:var(--leading-base); }
.t-sm { font-size:var(--text-sm); line-height:var(--leading-sm); }
.t-xs { font-size:var(--text-xs); line-height:var(--leading-xs); }
.t-lg,.t-base,.t-sm,.t-xs { font-weight:600; }           /* Figma "regular" = 600 */
.t-lg--light,.t-base--light,.t-sm--light,.t-xs--light { font-weight:400; }
.t-lg--bold,.t-base--bold,.t-sm--bold,.t-xs--bold { font-weight:700; }
.label-lg { font-size:var(--text-lg); line-height:1; font-weight:700; }
.label-base { font-size:var(--text-base); line-height:1; font-weight:600; }
.label-sm-bold { font-size:var(--text-sm); line-height:1; font-weight:700; letter-spacing:var(--tracking-label-sm); text-transform:uppercase; }
.label-sm { font-size:var(--text-sm); line-height:1; font-weight:600; letter-spacing:var(--tracking-label-sm); }
.label-xs { font-size:var(--text-xs); line-height:1; font-weight:600; letter-spacing:var(--tracking-label-xs); }

/* 30-at-button.css */
.at-button { display:inline-flex; align-items:center; justify-content:center; gap:var(--gap-default); border-radius:var(--radius-full); text-decoration:none; white-space:nowrap; box-shadow:var(--shadow-xs); transition:background-color .18s ease, color .18s ease, box-shadow .18s ease; }
.at-button__label { font-size:var(--text-sm); line-height:1; font-weight:700; letter-spacing:var(--tracking-label-sm); text-transform:uppercase; }
.at-button .at-icon { width:16px; height:16px; }
.at-button--default { height:36px; padding:var(--space-1) var(--space-2); }
.at-button--sm { height:32px; padding:var(--space-1) var(--space-1-5); }
.at-button--lg { height:40px; padding:var(--space-1) var(--space-4); }
.at-button--icon { width:36px; height:36px; padding:var(--space-1); }
.at-button--icon .at-button__label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.at-button--primary { background:var(--color-cta-primary-bg); color:var(--color-cta-primary-content); }
.at-button--primary:hover { background:var(--color-cta-primary-hover); }
.at-button--secondary { background:var(--color-cta-secondary-bg); color:var(--color-cta-secondary-content); }
.at-button--secondary:hover { background:var(--color-cta-secondary-hover); }
.at-button--outline { background:transparent; color:var(--color-cta-outline-content); box-shadow:inset 0 0 0 1px var(--color-cta-outline-stroke); }
.at-button--outline:hover { background:var(--color-cta-outline-hover); }
.at-button--outline-inverse { background:transparent; color:var(--color-cta-outline-inverse-content); box-shadow:inset 0 0 0 1px var(--color-cta-outline-inverse-stroke); }
.at-button--outline-inverse:hover { background:var(--color-cta-outline-inverse-hover); }
.at-button--ghost { background:transparent; color:var(--color-cta-ghost-content); box-shadow:none; }
.at-button--ghost:hover { background:var(--color-cta-ghost-hover); }
.at-button:focus-visible { box-shadow:var(--shadow-focus); }
.at-button[disabled],.at-button[aria-disabled="true"] { background:var(--color-bg-disabled); color:var(--color-content-disabled); pointer-events:none; }
@media (max-width: 767px) {
  .at-button:not(.at-button--icon) { white-space:normal; text-align:center; max-width:100%; }
  .at-button--default:not(.at-button--icon) { height:auto; min-height:36px; }
  .at-button--sm:not(.at-button--icon) { height:auto; min-height:32px; }
  .at-button--lg:not(.at-button--icon) { height:auto; min-height:40px; }
}

/* 30-at-icon.css */
.at-icon { width:24px; height:24px; flex:none; fill:currentColor; }

/* 30-at-media.css */
.at-media { position:relative; overflow:hidden; background:var(--neutral-200); }
.at-media img { width:100%; height:100%; object-fit:cover; }
.at-media--square { aspect-ratio:1/1; }
.at-media--standard { aspect-ratio:4/3; }
.at-media--wide { aspect-ratio:16/9; }
.at-media--r8 { border-radius:var(--radius-md); }
.at-media--r16 { border-radius:var(--radius-xl); }
.at-media--r24 { border-radius:var(--radius-2xl); }

/* 40-ml-card.css */
.ml-card { display:flex; flex-direction:column; gap:var(--gap-comfortable); color:inherit; text-decoration:none; }
.ml-card__media { position:relative; }
.ml-card__overlay { position:absolute; left:var(--space-3); bottom:var(--space-3); color:var(--color-content-secondary); text-align:left; text-shadow:var(--shadow-text-overlay); }
.ml-card__content { display:flex; flex-direction:column; gap:var(--gap-comfortable); padding:0 var(--space-1-5); }
.ml-card__buttons { display:flex; flex-direction:column; align-items:flex-start; gap:var(--gap-compact); }
.ml-card--horizontal-left,.ml-card--horizontal-right { flex-direction:row; align-items:center; gap:var(--gap-comfortable); }
.ml-card--horizontal-left .ml-card__media,.ml-card--horizontal-right .ml-card__media { flex:0 0 50%; }
.ml-card--horizontal-left .ml-card__media { order:2; }
a.ml-card { transition:transform .25s ease, box-shadow .25s ease; border-radius:var(--radius-2xl); }
a.ml-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lift); }
@media (prefers-reduced-motion: reduce) {
  a.ml-card { transition:none; }
  a.ml-card:hover { transform:none; }
}
@media (max-width:1023px) {
  .ml-card__overlay { font-size:var(--text-3xl); line-height:var(--leading-3xl); }
  .ml-card__title { font-size:var(--text-3xl); line-height:var(--leading-3xl); }
  .ml-card__content { gap:var(--gap-standard); }
  .ml-card__body { font-size:var(--text-sm); line-height:var(--leading-sm); }
}
@media (max-width:767px) {
  .ml-card--horizontal-left,.ml-card--horizontal-right { flex-direction:column; align-items:stretch; }
  .ml-card--horizontal-left .ml-card__media { order:0; }
  .ml-card__overlay { font-size:var(--text-xl); line-height:var(--leading-xl); left:var(--space-2); bottom:var(--space-2); }
  .ml-card__title { font-size:var(--text-xl); line-height:var(--leading-xl); }
  .ml-card__content { gap:var(--gap-compact); padding:0 var(--space-1); }
  .ml-card__media .at-media { border-radius:var(--radius-md); aspect-ratio:1/1; }
}

/* 40-ml-client.css */
.ml-client { display:flex; flex-direction:column; gap:var(--gap-compact); padding:var(--space-3); background:var(--neutral-0); border-radius:var(--radius-lg); }
.ml-client__mark { width:var(--size-client-logo-w); height:var(--size-client-logo-h); display:flex; align-items:center; justify-content:flex-start; }
.ml-client__mark img { width:100%; height:100%; object-fit:contain; object-position:left center; }

/* 40-ml-heading.css */
.ml-heading { display:flex; flex-direction:column; gap:var(--gap-standard); max-width:882px; }
.ml-heading--centered { align-items:center; text-align:center; margin-inline:auto; }
.ml-heading--inverse { color:var(--color-content-secondary); }
.ml-heading--strong { color:var(--color-content-primary); }
.ml-heading__icon { width:32px; height:32px; }
.ml-heading--large .ml-heading__icon,.ml-heading--xlarge .ml-heading__icon { width:40px; height:40px; }
.ml-heading__pretitle + .ml-heading__title,.ml-heading__title + .ml-heading__description { margin-top:calc(var(--gap-default) - var(--gap-standard)); }
.ml-heading__buttons { display:flex; flex-wrap:wrap; gap:var(--gap-default); margin-top:var(--gap-default); }
.ml-heading--xlarge { max-width:640px; }
.ml-heading--xlarge.ml-heading--centered { max-width:800px; }
@media (max-width:1023px) {
  .ml-heading--xlarge .ml-heading__title { font-size:var(--text-6xl); line-height:var(--leading-6xl); }
  .ml-heading--large .ml-heading__title { font-size:var(--text-4xl); line-height:var(--leading-4xl); letter-spacing:var(--tracking-4xl); }
}
@media (max-width:767px) {
  .ml-heading { max-width:100%; }
  .ml-heading--xlarge .ml-heading__title { font-size:var(--text-5xl); line-height:var(--leading-5xl); letter-spacing:var(--tracking-5xl); }
  .ml-heading--medium .ml-heading__title { font-size:var(--text-3xl); line-height:var(--leading-3xl); }
}

/* 40-ml-stat.css */
.ml-stat { display:flex; flex-direction:column; gap:var(--gap-default); }
.ml-stat__value { font-variant-numeric:tabular-nums; }

/* 40-ml-step.css */
.ml-step { display:flex; flex-direction:column; gap:var(--gap-default); }
.ml-step__number { line-height:1; }
.or-stepper .ml-step__number { overflow-wrap:normal; word-break:normal; hyphens:manual; }
/* Nachi's mobile frames set step labels at 4xl; a single long word (GESTIONAR, TOMORROW) must fit its column whole */
@media (max-width:767px) { .or-stepper .ml-step__number { font-size:var(--text-4xl); line-height:var(--leading-4xl); letter-spacing:var(--tracking-4xl); } }

/* 50-or-banner.css */
.or-banner { background:var(--color-bg-primary); }
.or-banner__inner { display:flex; align-items:center; justify-content:space-between; gap:var(--gap-comfortable); padding-block:var(--space-8); }
.or-banner__text { display:flex; flex-direction:column; gap:var(--space-2-5); max-width:var(--size-banner-text-max); }
.or-banner__title { color:var(--color-content-primary); }
.or-banner__title .strong { color:var(--color-content-tertiary); }
.or-banner--accent-yellow .or-banner__title em.accent { color:var(--color-content-quaternary); font-style:normal; }
.or-banner__buttons { display:flex; gap:var(--gap-comfortable); flex:none; }
.or-banner--centered .or-banner__inner { flex-direction:column; text-align:center; }
@media (max-width:767px) { .or-banner { background:var(--color-bg-50); } .or-banner__inner { flex-direction:column; align-items:flex-start; padding-block:var(--space-6); } .or-banner__title { font-size:var(--text-4xl); line-height:var(--leading-4xl); } .or-banner__buttons { flex-direction:column; align-items:flex-start; } }

/* 50-or-brands.css */
.or-brands { padding:var(--space-8) 0; background:var(--color-bg-primary); text-align:center; }
.or-brands__title { margin-bottom:var(--space-4); }
.or-brands__list { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:var(--gap-comfortable); opacity:.8; }
.or-brands__item { width:var(--size-brand-slot-w); height:var(--size-brand-slot-h); display:flex; align-items:center; justify-content:center; }
.or-brands__item img { width:100%; height:100%; object-fit:contain; }
.or-brands__item--text { font-family:var(--font-display); font-weight:700; font-size:var(--text-2xl); }
@media (max-width:767px) {
  .or-brands { padding:var(--space-6) var(--space-3); }
  .or-brands__title { font-size:var(--text-2xl); line-height:var(--leading-2xl); }
  .or-brands__list { display:grid; grid-template-columns:repeat(2, 1fr); justify-items:center; gap:var(--gap-standard) var(--gap-comfortable); }
  .or-brands__item { width:100%; min-width:0; height:var(--size-brand-item-h-sm); }
  .or-brands__item img { width:100%; height:100%; object-fit:contain; }
}

/* 50-or-card-section.css */
.or-card-section { padding:var(--space-6) 0 var(--section-y); }
.or-card-section__grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--gap-comfortable); }
.or-card-section--horizontal .or-card-section__grid { grid-template-columns:1fr; gap:var(--gap-wide); }
@media (max-width:1023px) { .or-card-section { padding-top:var(--space-4); } .or-card-section__grid { gap:var(--gap-standard); } }
@media (max-width:767px) { .or-card-section__grid { grid-template-columns:1fr; gap:var(--gap-loose); } }

/* 50-or-channels.css */
.or-channels { padding:var(--section-y) 0; }
.or-channels__inner { display:flex; flex-direction:column; gap:var(--space-6); }
.or-channels__grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--gap-comfortable); }
.or-channels__item { display:flex; flex-direction:column; gap:var(--gap-default); padding:var(--space-3); background:var(--neutral-0); border-radius:var(--radius-xl); }
.or-channels__badge { width:var(--size-touch-min); height:var(--size-touch-min); border-radius:var(--radius-full); background:var(--color-bg-quaternary); color:var(--color-content-primary); display:inline-flex; align-items:center; justify-content:center; margin-bottom:var(--space-1); }
.or-channels__audience { color:var(--color-content-tertiary); text-transform:uppercase; }
@media (max-width:1023px) { .or-channels__grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:767px) { .or-channels__grid { grid-template-columns:1fr; } }

/* 50-or-client-wall.css */
.or-client-wall { padding:var(--section-y) 0; }
.or-client-wall__inner { display:flex; flex-direction:column; gap:var(--space-6); }
.or-client-wall__grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--gap-standard); }
@media (max-width:1023px) { .or-client-wall__grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:767px) { .or-client-wall__grid { grid-template-columns:1fr; } }

/* 50-or-contact-modal.css */
.ofm[hidden] { display:none; }
.ofm { position:fixed; inset:0; z-index:100; }
.ofm-veil { position:absolute; inset:0; background:var(--color-overlay-blur); backdrop-filter:blur(6px); }
.ofm-scroll { position:absolute; inset:0; overflow-y:auto; display:flex; align-items:flex-start; justify-content:center; padding:var(--space-6) var(--space-3); }
.ofm-box { position:relative; width:100%; max-width:640px; background:var(--color-bg-primary); color:var(--color-content-primary); border-radius:var(--radius-2xl); padding:var(--space-6); box-shadow:var(--shadow-lift); }
.ofm-x { position:absolute; top:var(--space-2); right:var(--space-2); width:36px; height:36px; border-radius:var(--radius-full); display:inline-flex; align-items:center; justify-content:center; }
.ofm-x:hover { background:var(--color-cta-ghost-hover); }
.ofm-form,.ofm-ok { display:flex; flex-direction:column; gap:var(--space-2); }
.ofm-eyebrow { color:var(--color-content-tertiary); }
.ofm-pending { background:var(--warning-light); color:var(--neutral-800); border-radius:var(--radius-md); padding:var(--space-1-5) var(--space-2); font-size:var(--text-sm); line-height:var(--leading-sm); }
.ofm-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2); margin-top:var(--space-1); }
.ofm-field { display:flex; flex-direction:column; gap:var(--space-half); min-width:0; border:0; padding:0; margin:0; }
.ofm-field--wide { grid-column:1 / -1; }
.ofm-field label,.ofm-field legend { font-size:var(--text-sm); font-weight:600; }
.ofm-field input,.ofm-field textarea { font:inherit; font-size:var(--text-base); padding:var(--space-1-5) var(--space-2); border:1px solid var(--neutral-300); border-radius:var(--radius-md); background:var(--neutral-0); color:inherit; }
.ofm-field input:focus,.ofm-field textarea:focus { outline:none; border-color:var(--color-content-primary); box-shadow:var(--shadow-focus); }
.ofm-field.bad input { border-color:var(--error); }
.ofm-radio { display:inline-flex; align-items:center; gap:var(--space-1); margin-right:var(--space-3); font-size:var(--text-base); }
.ofm-err { color:var(--error-dark); font-size:var(--text-sm); min-height:1em; }
.ofm-err:empty { display:none; }
.ofm-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.ofm-submit { align-self:flex-start; margin-top:var(--space-1); }
.ofm-ok { display:none; text-align:center; align-items:center; padding:var(--space-4) 0; }
.ofm-tick { width:64px; height:64px; border-radius:var(--radius-full); background:var(--success-light); color:var(--success-dark); display:inline-flex; align-items:center; justify-content:center; }
.ofm[data-done] .ofm-form { display:none; }
.ofm[data-done] .ofm-ok { display:flex; }
@media (max-width:767px) { .ofm-scroll { padding:var(--space-2); } .ofm-box { padding:var(--space-3); border-radius:var(--radius-xl); } .ofm-grid { grid-template-columns:1fr; } }

/* 50-or-content-strip.css */
.or-content-strip { display:grid; grid-template-columns:1fr 1fr; align-items:center; background:var(--color-bg-primary); color:var(--color-content-primary); }
.or-content-strip__media,.or-content-strip__text { min-width:0; }
.or-content-strip--color { background:var(--color-bg-secondary); color:var(--color-content-secondary); }
.or-content-strip--left .or-content-strip__media { order:0; } .or-content-strip--left .or-content-strip__text { order:1; }
.or-content-strip--right .or-content-strip__media { order:1; } .or-content-strip--right .or-content-strip__text { order:0; }
.or-content-strip__text { display:flex; flex-direction:column; gap:var(--space-6); padding:var(--space-6) var(--space-8) var(--space-6) var(--section-x); }
.or-content-strip--right .or-content-strip__text { padding:var(--space-6) var(--space-8) var(--space-6) var(--section-x); }
.or-content-strip--left .or-content-strip__text { padding:var(--space-6) var(--section-x) var(--space-6) var(--space-8); }
.or-content-strip--full .or-content-strip__media .at-media { aspect-ratio:1/1; height:100%; }
.or-content-strip--contained .or-content-strip__media { padding:var(--space-6) var(--section-x); }
.or-content-strip__media > .or-live-panel,.or-content-strip__media > .or-inventory,.or-content-strip__media > .or-eta-chip { margin:var(--space-6) var(--section-x); max-width:calc(100% - 2 * var(--section-x)); }
@media (max-width:1023px) { .or-content-strip__text,.or-content-strip--left .or-content-strip__text,.or-content-strip--right .or-content-strip__text { padding:var(--space-6) var(--section-x); } }
@media (max-width:767px) { .or-content-strip { grid-template-columns:1fr; } .or-content-strip__media,.or-content-strip__text { order:0 !important; } .or-content-strip__text { padding:var(--space-3); gap:var(--space-3); } .or-content-strip--full .or-content-strip__media .at-media { aspect-ratio:4/3; } .or-content-strip--contained .or-content-strip__media { padding:var(--space-3); } }

/* 50-or-cookie.css */
.or-cookie[hidden] { display:none; }
.or-cookie { position:fixed; left:var(--space-2); right:var(--space-2); bottom:var(--space-2); z-index:90; display:flex; align-items:center; justify-content:space-between; gap:var(--space-2); padding:var(--space-1-5) var(--space-2); background:var(--color-bg-secondary); color:var(--color-content-secondary); border-radius:var(--radius-lg); box-shadow:var(--shadow-lift); }
.or-cookie a { color:inherit; }
.or-cookie__actions { display:flex; gap:var(--space-1); flex:none; }
.or-cookie .at-button--primary { background:var(--color-cta-secondary-bg); }
.or-cookie .at-button--ghost { color:var(--color-content-secondary); }
@media (max-width:767px) { .or-cookie { flex-direction:column; align-items:stretch; } }

/* 50-or-footer.css */
.or-footer { background:var(--color-bg-secondary); color:var(--color-content-secondary); border-top:1px solid var(--color-content-secondary); }
.or-footer__inner { max-width:calc(var(--container) + 2 * var(--space-8)); margin-inline:auto; padding:var(--space-12) var(--space-8); display:flex; flex-direction:column; gap:var(--space-8); }
.or-footer__grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-4); }
.or-footer__brand { display:flex; flex-direction:column; gap:var(--space-3); }
.or-footer__logo { color:var(--color-content-secondary); }
.or-footer__logo svg { width:200px; height:76px; }
.or-footer__social { list-style:none; margin:0; padding:0; display:flex; gap:var(--space-2); }
.or-footer__social a { color:inherit; display:inline-flex; }
.or-footer__col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--space-1-5); }
.or-footer__col a { color:inherit; text-decoration:none; font-size:var(--text-base); font-weight:400; }
.or-footer__col a:hover { text-decoration:underline; }
.or-footer__title { margin-bottom:var(--space-2); }
.or-footer__bottom { display:flex; justify-content:space-between; align-items:center; gap:var(--space-4); border-top:1px solid var(--color-content-secondary); padding-top:var(--space-4); }
.or-footer__legal { list-style:none; margin:0; padding:0; display:flex; gap:var(--space-4); }
.or-footer__legal a { color:inherit; }
@media (max-width:1023px) { .or-footer__inner { padding:var(--space-8); } .or-footer__grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:767px) {
  .or-footer__inner { padding:var(--space-8) var(--space-3); align-items:center; text-align:center; }
  .or-footer__grid { grid-template-columns:1fr; justify-items:center; }
  .or-footer__brand { align-items:center; }
  .or-footer__bottom { flex-direction:column; }
  .or-footer__legal { flex-wrap:wrap; justify-content:center; }
}

/* 50-or-heading-section.css */
.or-heading-section { padding:var(--section-y) 0 var(--space-6); }
.or-heading-section + .or-heading-section { padding-top:0; }
.or-heading-section--band-end { padding-bottom:var(--section-y); }
@media (max-width:1023px) { .or-heading-section { padding-bottom:var(--space-4); } .or-heading-section--band-end { padding-bottom:var(--section-y); } }

/* 50-or-hero.css */
.or-hero { position:relative; min-height:var(--size-hero-min); display:flex; align-items:center; color:var(--color-content-secondary); background:var(--color-bg-secondary); }
.or-hero__image { position:absolute; inset:0; }
.or-hero__image img { width:100%; height:100%; object-fit:cover; }
.or-hero__content { position:relative; padding-block:var(--space-12); }
.or-hero--center .or-hero__content { display:flex; justify-content:center; text-align:center; }
.or-hero--top { align-items:flex-start; }
.or-hero--bottom { align-items:flex-end; }
.or-hero--secondary .ml-heading { max-width:var(--size-hero-secondary-max); }
.or-hero--dim .or-hero__image img { filter:brightness(.58); } /* Nachi's Figma lowers the exposure so the title stands out */
/* sentence-long titles on pages Nachi did not design: smaller type, wider column, about 3-4 lines */
.or-hero--long .ml-heading--xlarge { max-width:100%; }
.or-hero--long .ml-heading--xlarge .ml-heading__title { font-size:var(--text-7xl); line-height:var(--leading-7xl); letter-spacing:var(--tracking-7xl); }
@media (max-width:1023px) { .or-hero--long .ml-heading--xlarge .ml-heading__title { font-size:var(--text-5xl); line-height:var(--leading-5xl); letter-spacing:var(--tracking-5xl); } }
@media (max-width:767px) { .or-hero--long .ml-heading--xlarge .ml-heading__title { font-size:var(--text-4xl); line-height:var(--leading-4xl); letter-spacing:var(--tracking-4xl); } }
@media (max-width:767px) {
  .or-hero { min-height:var(--size-hero-min-sm); }
  .or-hero__content { padding-block:var(--space-6); }
  .or-hero--secondary .ml-heading { max-width:100%; }
}
.or-image-band .at-media { aspect-ratio:16/9; }
@media (max-width:1023px) { .or-image-band .at-media { aspect-ratio:16/9; height:var(--size-image-band-h-tablet); } }
@media (max-width:767px) { .or-image-band .at-media { aspect-ratio:1/1; height:auto; } }

/* 50-or-media-player.css */
.or-media-player__frame { position:relative; aspect-ratio:16/9; background:var(--neutral-1000); }
.or-media-player__poster,.or-media-player__frame video { position:absolute; inset:0; width:100%; height:100%; }
.or-media-player__frame video { object-fit:contain; background:var(--neutral-1000); }
.or-media-player__play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:var(--space-8); height:var(--space-8); border-radius:var(--radius-full); background:var(--overlay-scrim); color:var(--neutral-0); display:inline-flex; align-items:center; justify-content:center; transition:background-color .15s ease; }
.or-media-player__play .at-icon { width:var(--space-4); height:var(--space-4); }
.or-media-player__play:hover { background:var(--overlay-scrim-strong); }
.or-media-player--playing .or-media-player__play,.or-media-player--playing .or-media-player__poster { display:none; }
.or-media-player__caption { margin:0; padding:var(--space-1) var(--section-x) 0; text-align:center; }
@media (max-width:1023px) { .or-media-player__frame { aspect-ratio:4/3; } }
@media (max-width:767px) { .or-media-player__frame { aspect-ratio:1/1; } .or-media-player__play { width:var(--size-touch-min); height:var(--size-touch-min); } .or-media-player__play .at-icon { width:var(--space-3); height:var(--space-3); } }
@media (prefers-reduced-motion: reduce) { .or-media-player__play { transition:none; } }

/* 50-or-navbar.css */
.or-navbar { position:sticky; top:0; z-index:50; background:var(--color-bg-secondary); color:var(--color-content-secondary); }
.or-navbar__bar { height:var(--nav-height); display:flex; align-items:center; gap:var(--space-4-5); padding:0 var(--space-8); max-width:calc(var(--container) + 2 * var(--space-8)); margin-inline:auto; }
.or-navbar__logo { color:var(--color-content-secondary); }
.or-navbar__logo svg { width:127px; height:48px; }
.or-navbar__nav { display:flex; flex:1; align-items:center; justify-content:space-between; }
.or-navbar__menu,.or-navbar__secondary,.or-navbar__submenu { list-style:none; margin:0; padding:0; display:flex; align-items:center; }
.or-navbar__menu { gap:var(--space-4-5); }
.or-navbar__secondary { gap:var(--space-3); }
.or-navbar__link { display:inline-flex; align-items:center; gap:var(--gap-tight); height:40px; padding:0 var(--space-1-5); border-radius:var(--radius-full); font-size:var(--text-base); font-weight:600; line-height:1; color:var(--color-content-secondary); text-decoration:none; box-shadow:inset 0 0 0 2px transparent; transition:box-shadow .15s ease, color .15s ease; }
.or-navbar__link:hover { box-shadow:inset 0 0 0 2px var(--color-bg-tertiary); color:var(--color-content-tertiary); }
.or-navbar__link--active { box-shadow:inset 0 0 0 2px var(--color-content-secondary); }
.or-navbar__caret { width:12px; height:12px; transition:transform .15s ease; }
.or-navbar__trigger[aria-expanded="true"] .or-navbar__caret { transform:rotate(180deg); }
.or-navbar__item--sub { position:relative; }
.or-navbar__submenu { display:none; position:absolute; left:0; top:calc(100% + var(--space-1)); min-width:220px; flex-direction:column; align-items:stretch; background:var(--color-bg-primary); color:var(--color-content-primary); border-radius:var(--radius-lg); padding:var(--space-1) 0; box-shadow:var(--shadow-lift); }
.or-navbar__trigger[aria-expanded="true"] + .or-navbar__submenu { display:flex; }
.or-navbar__sublink { display:block; padding:var(--space-1) var(--space-3); font-size:var(--text-base); font-weight:600; line-height:24px; text-decoration:none; }
.or-navbar__sublink:hover { text-decoration:underline; }
.or-navbar__langs { display:inline-flex; gap:var(--gap-default); }
.or-navbar__lang { font-size:var(--text-base); font-weight:600; text-decoration:none; color:var(--color-content-secondary); }
.or-navbar__lang--current { font-weight:700; text-decoration:underline; }
.or-navbar__burger { display:none; color:var(--color-content-secondary); }
.or-navbar__burger-close { display:none; }
.or-navbar__veil { position:fixed; inset:var(--nav-height) 0 0 0; background:var(--color-overlay-blur); backdrop-filter:blur(6px); z-index:40; }
@media (max-width:1023px) {
  .or-navbar__bar { padding:0 var(--space-3); }
  .or-navbar__logo svg { width:117px; height:44px; }
  .or-navbar__burger { display:inline-flex; margin-left:auto; }
  .or-navbar__nav { display:none; position:fixed; top:var(--nav-height); right:0; bottom:0; width:320px; max-width:100%; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:var(--gap-tight); padding:var(--space-1) var(--space-1-5) var(--space-3) var(--space-3); background:var(--color-bg-secondary); overflow-y:auto; z-index:45; }
  .or-navbar--open .or-navbar__nav { display:flex; }
  .or-navbar--open .or-navbar__burger-open { display:none; }
  .or-navbar--open .or-navbar__burger-close { display:block; }
  .or-navbar__menu,.or-navbar__secondary { flex-direction:column; align-items:stretch; gap:var(--gap-tight); }
  .or-navbar__secondary { border-top:1px solid var(--color-content-secondary); margin-top:var(--space-1); padding-top:var(--space-1); }
  .or-navbar__submenu { position:static; background:transparent; color:var(--color-content-secondary); box-shadow:none; padding:var(--space-1) 0 var(--space-1) var(--space-3); gap:var(--gap-compact); }
  .or-navbar__sublink { padding:0; font-size:var(--text-sm); color:var(--color-content-tertiary); line-height:24px; }
  .or-navbar__langs { padding:0 var(--space-1-5); }
}
@media (prefers-reduced-motion: reduce) {
  .or-navbar__link, .or-navbar__caret { transition:none; }
}

/* 50-or-panels.css */
.or-live-panel,.or-inventory,.or-eta-chip { background:var(--neutral-0); color:var(--color-content-primary); border-radius:var(--radius-xl); box-shadow:var(--shadow-lift); font-variant-numeric:tabular-nums; }
.or-live-panel__head { display:flex; justify-content:space-between; align-items:center; gap:var(--space-1); padding:var(--space-2) var(--space-2-5); border-bottom:var(--border-hairline) solid var(--neutral-200); font-weight:700; }
.or-live-panel__live { display:inline-flex; align-items:center; gap:var(--gap-live-dot); font-size:var(--text-xs); font-weight:700; color:var(--success-dark); text-transform:uppercase; }
.or-live-panel__live i { width:var(--space-1); height:var(--space-1); border-radius:var(--radius-full); background:var(--success); animation:or-pulse 1.8s infinite; }
@keyframes or-pulse { 0% { box-shadow:0 0 0 0 var(--success-glow); } 70% { box-shadow:0 0 0 var(--size-glow-spread) var(--success-glow-0); } 100% { box-shadow:0 0 0 0 var(--success-glow-0); } }
.or-live-panel__big { padding:var(--space-3) var(--space-2-5); border-bottom:var(--border-hairline) solid var(--neutral-200); }
.or-live-panel__big b { display:block; font-family:var(--font-display); font-size:var(--text-4xl); line-height:var(--leading-4xl); }
.or-live-panel__big span { font-size:var(--text-sm); color:var(--neutral-500); }
.or-live-panel__rows { padding:var(--space-half) 0; }
.or-live-panel__row { display:flex; justify-content:space-between; align-items:center; padding:var(--space-1-5) var(--space-2-5); font-size:var(--text-sm); }
.or-live-panel__row + .or-live-panel__row { border-top:var(--border-hairline) solid var(--neutral-100); }
.or-live-panel__l i { display:block; font-style:normal; font-size:var(--text-xs); color:var(--neutral-500); margin-top:var(--space-small); }
.or-live-panel__v { font-weight:700; text-align:right; min-width:var(--size-panel-value-min); }
.or-live-panel__bar { height:var(--size-progress-bar); border-radius:var(--radius-full); background:var(--neutral-100); margin-top:var(--size-progress-bar); overflow:hidden; }
.or-live-panel__bar i { display:block; height:100%; background:var(--color-content-tertiary); }
.or-inventory { padding:var(--space-3); }
.or-inventory__line { display:flex; justify-content:space-between; align-items:baseline; padding:var(--space-1-5) 0; font-size:var(--text-base); }
.or-inventory__line + .or-inventory__line { border-top:var(--border-hairline) solid var(--neutral-100); }
.or-inventory__line b { font-family:var(--font-display); font-size:var(--text-3xl); }
.or-inventory__line--miss { border-top:var(--border-emphasis) solid var(--color-content-primary) !important; margin-top:var(--space-half); padding-top:var(--space-2); }
.or-inventory__line--miss b { color:var(--color-content-tertiary); font-size:var(--text-4xl); }
.or-inventory__foot { margin-top:var(--space-2); padding-top:var(--space-2); border-top:var(--border-hairline) solid var(--neutral-100); color:var(--neutral-500); }
.or-eta-chip { display:inline-flex; flex-direction:column; align-items:center; gap:var(--space-1-5); padding:var(--space-4-5) var(--space-5); text-align:center; max-width:100%; box-sizing:border-box; }
.or-eta-chip__label { color:var(--neutral-500); }
.or-eta-chip__value { display:inline-block; max-width:100%; border:var(--border-heavy) solid var(--color-content-tertiary); border-radius:var(--radius-lg); padding:var(--space-2) var(--space-3); white-space:normal; box-sizing:border-box; }
@media (prefers-reduced-motion: reduce) { .or-live-panel__live i { animation:none; } }

/* 50-or-stats.css */
.or-stats { padding:var(--space-6) 0; }
.or-stats__grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--gap-comfortable); }
@media (max-width:767px) { .or-stats__grid { grid-template-columns:1fr; gap:var(--gap-standard); } }

/* 50-or-stepper.css */
.or-stepper { padding:var(--section-y) 0; }
.or-stepper.bg-secondary .ml-step__title, .or-stepper.bg-secondary .ml-step__body { color:var(--color-content-secondary); }
.or-stepper__inner { display:flex; flex-direction:column; gap:var(--space-8); }
.or-stepper__steps { display:grid; gap:var(--gap-comfortable); grid-template-columns:repeat(3, 1fr); }
.or-stepper__steps--2 { grid-template-columns:repeat(2, 1fr); }
.or-stepper__steps--3 .ml-step:nth-child(2) { margin-top:var(--space-8); }
.or-stepper__steps--3 .ml-step:nth-child(3) { margin-top:var(--space-15); }
/* From tablet up, a step never gets narrower than its longest label word: if a row can't hold them all, the last step wraps to a new row instead of the word breaking. */
@media (min-width:768px) { .or-stepper__steps { display:flex; flex-wrap:wrap; align-items:flex-start; } .or-stepper__steps > .ml-step { flex:1 1 0; min-width:min-content; } }
@media (max-width:1023px) { .or-stepper__inner { gap:var(--space-5); } .or-stepper__steps { gap:var(--gap-standard); } .or-stepper__steps--3 .ml-step { margin-top:0 !important; } }
@media (max-width:767px) {
  .or-stepper__inner { gap:var(--space-4-5); }
  .or-stepper--stack .or-stepper__steps { grid-template-columns:1fr; }
  .or-stepper--gallery .or-stepper__steps { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(-1 * var(--section-x)); padding-inline:var(--section-x); }
  .or-stepper--gallery .ml-step { flex:0 0 var(--size-step-card); scroll-snap-align:start; }
  .or-stepper--gallery .ml-step__number { font-size:var(--text-4xl); line-height:var(--leading-4xl); }
  .or-stepper--gallery .ml-step__title { font-size:var(--text-xl); line-height:var(--leading-xl); }
  .or-stepper--gallery .ml-step__body { font-size:var(--text-sm); line-height:var(--leading-sm); }
  .or-stepper--grid .or-stepper__steps { display:grid; grid-template-columns:repeat(2, 1fr); }
  .or-stepper--grid .or-stepper__steps > .ml-step:nth-child(3) { grid-column:1 / -1; }
}

/* 60-page-legal.css */
.page-legal__article { max-width:760px; display:flex; flex-direction:column; gap:var(--space-3); }
.page-legal__body { display:flex; flex-direction:column; gap:var(--space-2); }
.page-legal__body h2 { font-family:var(--font-display); font-size:var(--text-2xl); line-height:var(--leading-2xl); margin-top:var(--space-3); }
.page-legal__body a { color:var(--color-content-tertiary); }

/* 90-motion.css */
@view-transition { navigation: auto; }
html.js [data-reveal] { opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease; }
html.js [data-reveal].is-in { opacity:1; transform:none; }
html.js [data-reveal-lines] .line { display:block; opacity:0; transform:translateY(12px); transition:opacity .45s ease, transform .45s ease; }
html.js [data-reveal-lines].is-in .line { opacity:1; transform:none; }
html.js [data-reveal-lines].is-in .line:nth-child(2) { transition-delay:.08s; }
html.js [data-reveal-lines].is-in .line:nth-child(3) { transition-delay:.16s; }
html.js [data-reveal-lines].is-in .line:nth-child(4) { transition-delay:.24s; }
@media (prefers-reduced-motion: reduce) {
  html.js [data-reveal] { opacity:1; transform:none; transition:none; }
  html.js [data-reveal-lines] .line { opacity:1; transform:none; transition:none; }
  html { scroll-behavior:auto; }
  ::view-transition-old(root),::view-transition-new(root) { animation:none; }
}

