/* =========================================================================
   @rajtech/ui — self-hosted brand faces

   Manrope is the brand's own typeface: it is the font embedded in the logo
   artwork and the primary display face in the Figma UI sample. Saira remains
   available for technical/legacy surfaces. The Figma file also references
   SFT Schrifted Sans TRIAL remains a graceful UI-label fallback. Playfair
   Display is self-hosted for the short editorial emphasis used in the Figma
   headline treatment.

   These are self-hosted rather than pulled from a font CDN so that designs
   built with this library render in the real brand faces with no third-party
   request, and so nothing silently falls back to a system font.
   The display accent is a self-hosted Playfair Display bold italic
   file so the Figma headline treatment never falls back to a browser serif.
   ========================================================================= */
@font-face{
  font-family: "Saira";
  src: url("./fonts/Saira-Variable.woff2") format("woff2-variations");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "Manrope";
  src: url("./fonts/Manrope-Variable.woff2") format("woff2-variations");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "Playfair Display";
  src: url("./fonts/PlayfairDisplay-BoldItalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face{
  font-family: "JetBrains Mono";
  src: url("./fonts/JetBrainsMono-Variable.woff2") format("woff2-variations");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}


/* =========================================================================
   RAJTECH DESIGN SYSTEM — Design Tokens
   Innovation | Importer | Distributor

   Generated from the master logo artwork. Every brand colour below was
   sampled directly from the vector source, not eyeballed:
     #0C225E  the R and the sprocket ring
     #07325D  the RAJTECH wordmark
     #090806  the T (a warm near-black, not #000)
     #FFD459 -> #D2A53D -> #B5862A   the oil droplet gradient

   Ramps are generated in OKLCH and gamut-mapped into sRGB, so every step
   is perceptually even and holds its hue. Do not hand-edit these values;
   regenerate them instead.

   LAYER 1  primitives   raw scale values. Never reference these in a component.
   LAYER 2  semantic     what a token MEANS. Components reference only these.
   LAYER 3  dark theme   semantic layer, re-pointed.
   ========================================================================= */

/* ---------------------------------------------------------------------------
   LAYER 1 — PRIMITIVES
   --------------------------------------------------------------------------- */
:root {

  /* navy — Primary — the R and the sprocket ring. The load-bearing brand colour. */
  --rt-navy-50: #F1F6FF; /* on white  1.08:1 */
  --rt-navy-100: #E1EBFF; /* on white  1.20:1 */
  --rt-navy-200: #C8D7F6; /* on white  1.45:1 */
  --rt-navy-300: #ADC0E8; /* on white  1.83:1 */
  --rt-navy-400: #8EA4D3; /* on white  2.50:1 */
  --rt-navy-500: #6D85BA; /* on white  3.67:1 */
  --rt-navy-600: #4A649D; /* on white  5.83:1 */
  --rt-navy-700: #2A437E; /* on white  9.53:1 */
  --rt-navy-800: #0C225E; /* on white 14.94:1 */
  --rt-navy-900: #020F49; /* on white 17.99:1 */
  --rt-navy-950: #000339; /* on white 19.59:1 */

  /* steel — Secondary — the RAJTECH wordmark blue. Cooler, calmer; body copy and deep surfaces. */
  --rt-steel-50: #F0F6FE; /* on white  1.09:1 */
  --rt-steel-100: #DFECFB; /* on white  1.20:1 */
  --rt-steel-200: #C6D9EF; /* on white  1.44:1 */
  --rt-steel-300: #ABC3DF; /* on white  1.81:1 */
  --rt-steel-400: #8BA7C9; /* on white  2.48:1 */
  --rt-steel-500: #6989AF; /* on white  3.62:1 */
  --rt-steel-600: #456891; /* on white  5.77:1 */
  --rt-steel-700: #224872; /* on white  9.38:1 */
  --rt-steel-800: #07325D; /* on white 12.94:1 */
  --rt-steel-900: #001936; /* on white 17.61:1 */
  --rt-steel-950: #000E23; /* on white 19.32:1 */

  /* gold — Accent — the oil droplet. Scarce by rule: never more than ~5% of a viewport. */
  --rt-gold-50: #FFF4E3; /* on white  1.09:1 */
  --rt-gold-100: #FFE4B8; /* on white  1.23:1 */
  --rt-gold-200: #FFD459; /* on white  1.42:1 */
  --rt-gold-300: #F3B746; /* on white  1.80:1 */
  --rt-gold-400: #D2A53D; /* on white  2.29:1 */
  --rt-gold-500: #B5862A; /* on white  3.28:1 */
  --rt-gold-600: #986B00; /* on white  4.73:1 */
  --rt-gold-700: #775300; /* on white  6.95:1 */
  --rt-gold-800: #5A3E00; /* on white  9.89:1 */
  --rt-gold-900: #3E2A00; /* on white 13.67:1 */
  --rt-gold-950: #271900; /* on white 17.14:1 */

  /* ink — Warm near-black from the logo's T. Headlines and maximum-contrast text. */
  --rt-ink-50: #F6F6F5; /* on white  1.08:1 */
  --rt-ink-100: #EBEAE9; /* on white  1.20:1 */
  --rt-ink-200: #D7D7D5; /* on white  1.44:1 */
  --rt-ink-300: #C1C0BE; /* on white  1.82:1 */
  --rt-ink-400: #A5A4A2; /* on white  2.49:1 */
  --rt-ink-500: #878683; /* on white  3.64:1 */
  --rt-ink-600: #676663; /* on white  5.74:1 */
  --rt-ink-700: #474643; /* on white  9.44:1 */
  --rt-ink-800: #2A2826; /* on white 14.69:1 */
  --rt-ink-900: #1A1916; /* on white 17.58:1 */
  --rt-ink-950: #090806; /* on white 20.02:1 */

  /* neutral — Navy-tinted greys. Surfaces, borders, disabled states. Never pure grey. */
  --rt-neutral-50: #F3F6FC; /* on white  1.08:1 */
  --rt-neutral-100: #E7EBF2; /* on white  1.20:1 */
  --rt-neutral-200: #D3D7DF; /* on white  1.44:1 */
  --rt-neutral-300: #BCC0C9; /* on white  1.82:1 */
  --rt-neutral-400: #A0A5AD; /* on white  2.48:1 */
  --rt-neutral-500: #82868F; /* on white  3.65:1 */
  --rt-neutral-600: #62666F; /* on white  5.75:1 */
  --rt-neutral-700: #42464F; /* on white  9.46:1 */
  --rt-neutral-800: #252931; /* on white 14.58:1 */
  --rt-neutral-900: #151920; /* on white 17.62:1 */
  --rt-neutral-950: #0B0E14; /* on white 19.32:1 */

  /* success — In stock, order confirmed, passed inspection. */
  --rt-success-50: #E0FFEB; /* on white  1.07:1 */
  --rt-success-100: #CDF7DB; /* on white  1.17:1 */
  --rt-success-200: #B1E5C4; /* on white  1.41:1 */
  --rt-success-300: #93D1AB; /* on white  1.76:1 */
  --rt-success-400: #70B78D; /* on white  2.37:1 */
  --rt-success-500: #4A996C; /* on white  3.46:1 */
  --rt-success-600: #1F7A4D; /* on white  5.32:1 */
  --rt-success-700: #005531; /* on white  8.96:1 */
  --rt-success-800: #00321B; /* on white 14.27:1 */
  --rt-success-900: #001F0F; /* on white 17.46:1 */
  --rt-success-950: #001307; /* on white 19.16:1 */

  /* warning — Low stock, lead time, pending action. */
  --rt-warning-50: #FFF4E7; /* on white  1.09:1 */
  --rt-warning-100: #FFE6CA; /* on white  1.21:1 */
  --rt-warning-200: #FCCE97; /* on white  1.46:1 */
  --rt-warning-300: #EBB573; /* on white  1.84:1 */
  --rt-warning-400: #D3974A; /* on white  2.53:1 */
  --rt-warning-500: #B8791A; /* on white  3.63:1 */
  --rt-warning-600: #8D5900; /* on white  5.90:1 */
  --rt-warning-700: #633D00; /* on white  9.55:1 */
  --rt-warning-800: #3B2200; /* on white 14.84:1 */
  --rt-warning-900: #261400; /* on white 17.76:1 */
  --rt-warning-950: #170A00; /* on white 19.45:1 */

  /* danger — Out of stock, error, destructive action. */
  --rt-danger-50: #FFF3F0; /* on white  1.09:1 */
  --rt-danger-100: #FFE3DF; /* on white  1.21:1 */
  --rt-danger-200: #FFC8BE; /* on white  1.47:1 */
  --rt-danger-300: #FFA597; /* on white  1.90:1 */
  --rt-danger-400: #F57B6B; /* on white  2.65:1 */
  --rt-danger-500: #D85647; /* on white  3.93:1 */
  --rt-danger-600: #B4291F; /* on white  6.41:1 */
  --rt-danger-700: #890000; /* on white 10.18:1 */
  --rt-danger-800: #540000; /* on white 15.25:1 */
  --rt-danger-900: #370000; /* on white 18.07:1 */
  --rt-danger-950: #240000; /* on white 19.53:1 */

  /* info — Neutral system messaging. Deliberately distinct from brand navy. */
  --rt-info-50: #EFF7FF; /* on white  1.08:1 */
  --rt-info-100: #DCECFF; /* on white  1.20:1 */
  --rt-info-200: #BADAFF; /* on white  1.44:1 */
  --rt-info-300: #91C5FE; /* on white  1.81:1 */
  --rt-info-400: #6FA9E8; /* on white  2.47:1 */
  --rt-info-500: #4A89CD; /* on white  3.65:1 */
  --rt-info-600: #1C63A8; /* on white  6.18:1 */
  --rt-info-700: #004783; /* on white  9.42:1 */
  --rt-info-800: #002950; /* on white 14.65:1 */
  --rt-info-900: #001935; /* on white 17.64:1 */
  --rt-info-950: #000E22; /* on white 19.34:1 */

  --rt-white: #FFFFFF;
  --rt-black: #000000;
  /* Brand gradients — the droplet is the only place gold is allowed to be
     a gradient. Everything else uses flat gold. */
  --rt-gradient-droplet: linear-gradient(163deg, #FFD459 0%, #D2A53D 46%, #B5862A 100%);
  --rt-gradient-gold-rule: linear-gradient(90deg, #B5862A 0%, #FFD459 50%, #B5862A 100%);
  --rt-gradient-navy-deep: linear-gradient(168deg, #0C225E 0%, #07325D 58%, #001936 100%);
  --rt-gradient-navy-veil: linear-gradient(180deg, rgb(12 34 94 / 0) 0%, rgb(12 34 94 / .72) 55%, rgb(12 34 94 / .94) 100%);

  /* ---- Figma digital profile -------------------------------------------
     The RajTech UI sample is the digital expression layered on top of the
     logo-derived primitives above. Keep these named values separate: the
     two navy values are intentionally close, but the Figma file specifies
     #0C215E for UI surfaces and #1B1B1B for digital copy. */
  --rt-figma-navy: #0C215E;
  --rt-figma-ink: #1B1B1B;
  --rt-figma-ui-muted: #EFEFEF;
  --rt-figma-white: #FFFFFF;
  --rt-gradient-figma-action: linear-gradient(135deg, #1B1B1B 0%, #0C215E 100%);
  --rt-figma-noise: 0.30;
  --rt-figma-nav-radius: 50px;
  --rt-figma-card-radius: 17px;
  --rt-figma-cta-radius: 5px;

  /* ---- Typography ------------------------------------------------------
     Manrope is the brand's own typeface — it is the font embedded in the
     logo artwork and the primary display face in the Figma UI sample.
     Playfair Display is reserved for short editorial emphasis. Saira stays
     available as the technical fallback for legacy component surfaces. */
  --rt-font-display: "Manrope", "Saira", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --rt-font-text: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --rt-font-ui: "SFT Schrifted Sans TRIAL", "Manrope", ui-sans-serif, system-ui, sans-serif;
  --rt-font-editorial: "Playfair Display", Georgia, "Times New Roman", serif;
  --rt-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;

  --rt-weight-light: 300;
  --rt-weight-regular: 400;
  --rt-weight-medium: 500;
  --rt-weight-semibold: 600;
  --rt-weight-bold: 700;
  --rt-weight-heavy: 800;

  /* Fluid type scale. Min = 360px viewport, max = 1440px viewport.
     Display sizes use a 1.25 ratio; text sizes use a tighter 1.2 so long
     specification copy stays even. */
  --rt-text-display-1: clamp(2.75rem, 1.42rem + 5.90vw, 5.50rem);   /*  44 ->  88 */
  --rt-text-display-2: clamp(2.25rem, 1.40rem + 3.75vw, 4.00rem);   /*  36 ->  64 */
  --rt-text-h1:        clamp(2.00rem, 1.39rem + 2.68vw, 3.25rem);   /*  32 ->  52 */
  --rt-text-h2:        clamp(1.63rem, 1.22rem + 1.82vw, 2.50rem);   /*  26 ->  40 */
  --rt-text-h3:        clamp(1.38rem, 1.16rem + 0.94vw, 1.88rem);   /*  22 ->  30 */
  --rt-text-h4:        clamp(1.19rem, 1.09rem + 0.40vw, 1.38rem);   /*  19 ->  22 */
  --rt-text-lead:      clamp(1.13rem, 1.05rem + 0.33vw, 1.31rem);   /*  18 ->  21 */
  --rt-text-body:      1rem;                                         /*  16 */
  --rt-text-sm:        0.875rem;                                     /*  14 */
  --rt-text-caption:   0.8125rem;                                    /*  13 */
  --rt-text-micro:     0.75rem;                                      /*  12 */

  --rt-leading-display: 1.02;
  --rt-leading-tight: 1.14;
  --rt-leading-snug: 1.28;
  --rt-leading-normal: 1.55;
  --rt-leading-relaxed: 1.68;

  --rt-tracking-display: -0.032em;
  --rt-tracking-tight: -0.018em;
  --rt-tracking-normal: 0em;
  --rt-tracking-wide: 0.04em;
  --rt-tracking-eyebrow: 0.14em;   /* uppercase micro-labels only */

  --rt-measure-prose: 68ch;
  --rt-measure-narrow: 46ch;

  /* ---- Space — 4px base ------------------------------------------------ */
  --rt-space-0: 0;
  --rt-space-1: 0.25rem;   /*   4 */
  --rt-space-2: 0.5rem;    /*   8 */
  --rt-space-3: 0.75rem;   /*  12 */
  --rt-space-4: 1rem;      /*  16 */
  --rt-space-5: 1.25rem;   /*  20 */
  --rt-space-6: 1.5rem;    /*  24 */
  --rt-space-8: 2rem;      /*  32 */
  --rt-space-10: 2.5rem;   /*  40 */
  --rt-space-12: 3rem;     /*  48 */
  --rt-space-16: 4rem;     /*  64 */
  --rt-space-20: 5rem;     /*  80 */
  --rt-space-24: 6rem;     /*  96 */
  --rt-space-32: 8rem;     /* 128 */
  --rt-space-40: 10rem;    /* 160 */

  /* Vertical rhythm between page sections. Premium reads as generous. */
  --rt-section-y: clamp(4rem, 7.5vw, 9rem);
  --rt-section-y-tight: clamp(2.5rem, 4.5vw, 5rem);

  /* ---- Layout ---------------------------------------------------------- */
  --rt-container: 1280px;
  --rt-container-wide: 1440px;
  --rt-container-narrow: 960px;
  --rt-gutter: clamp(1.25rem, 4vw, 2.5rem);
  --rt-grid-columns: 12;
  --rt-grid-gap: clamp(1rem, 2vw, 1.5rem);

  /* ---- Radius — deliberately tight. The wordmark's corners are squared
     with only a hint of softening; the UI should agree with it. ---------- */
  --rt-radius-xs: 2px;
  --rt-radius-sm: 4px;
  --rt-radius-md: 6px;    /* buttons, inputs */
  --rt-radius-lg: 8px;    /* cards */
  --rt-radius-xl: 12px;   /* modals, media */
  --rt-radius-2xl: 16px;  /* hero panels */
  --rt-radius-full: 999px; /* pills and avatars ONLY */

  /* ---- Borders --------------------------------------------------------- */
  --rt-border-hairline: 1px solid rgb(12 34 94 / 0.10);
  --rt-border-default: 1px solid rgb(12 34 94 / 0.16);
  --rt-border-strong: 1px solid rgb(12 34 94 / 0.28);
  --rt-border-gold: 1px solid rgb(181 134 42 / 0.55);

  /* ---- Elevation — shadows are navy-tinted, never neutral black.
     Black shadows on a navy brand read as dirt. ------------------------- */
  --rt-shadow-xs: 0 1px 2px rgb(12 34 94 / 0.06);
  --rt-shadow-sm: 0 1px 3px rgb(12 34 94 / 0.08), 0 1px 2px rgb(12 34 94 / 0.06);
  --rt-shadow-md: 0 4px 12px rgb(12 34 94 / 0.10), 0 2px 4px rgb(12 34 94 / 0.06);
  --rt-shadow-lg: 0 12px 28px rgb(12 34 94 / 0.13), 0 4px 8px rgb(12 34 94 / 0.06);
  --rt-shadow-xl: 0 24px 56px rgb(12 34 94 / 0.18), 0 8px 16px rgb(12 34 94 / 0.07);
  --rt-shadow-gold: 0 6px 20px rgb(181 134 42 / 0.28);
  --rt-shadow-inset: inset 0 1px 0 rgb(255 255 255 / 0.08);

  --rt-ring-focus: 0 0 0 3px rgb(12 34 94 / 0.16), 0 0 0 1px var(--rt-navy-800);
  --rt-ring-focus-dark: 0 0 0 3px rgb(255 212 89 / 0.28), 0 0 0 1px var(--rt-gold-200);

  /* ---- Motion — mechanical, brisk, never bouncy. This is a brand about
     engineered parts, not playful apps. --------------------------------- */
  --rt-duration-instant: 100ms;
  --rt-duration-fast: 160ms;
  --rt-duration-base: 240ms;
  --rt-duration-slow: 400ms;
  --rt-duration-deliberate: 640ms;

  --rt-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --rt-ease-entrance: cubic-bezier(0.16, 1, 0.3, 1);
  --rt-ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --rt-ease-inout: cubic-bezier(0.65, 0, 0.35, 1);

  /* ---- Z-index --------------------------------------------------------- */
  --rt-z-base: 0;
  --rt-z-raised: 10;
  --rt-z-sticky: 100;
  --rt-z-header: 200;
  --rt-z-dropdown: 300;
  --rt-z-overlay: 400;
  --rt-z-modal: 500;
  --rt-z-toast: 600;
  --rt-z-tooltip: 700;
}

/* ---------------------------------------------------------------------------
   LAYER 2 — SEMANTIC (light theme, the default)
   Components must reference ONLY these. If a component needs a colour that
   isn't here, the system is missing a token — add one, don't reach into
   the primitives.
   --------------------------------------------------------------------------- */
:root,
[data-theme="light"] {
  color-scheme: light;

  /* surfaces */
  --rt-surface-page: #FFFFFF;
  --rt-surface-subtle: var(--rt-neutral-50);
  --rt-surface-sunken: var(--rt-navy-50);
  --rt-surface-raised: #FFFFFF;
  --rt-surface-inverse: var(--rt-navy-800);
  --rt-surface-inverse-deep: var(--rt-navy-900);
  --rt-surface-accent: var(--rt-gold-50);

  /* text */
  --rt-text-primary: var(--rt-ink-950);
  --rt-text-secondary: var(--rt-steel-800);
  --rt-text-tertiary: var(--rt-neutral-600);
  --rt-text-disabled: var(--rt-neutral-400);
  --rt-text-inverse: #FFFFFF;
  --rt-text-inverse-secondary: var(--rt-navy-200);
  --rt-text-brand: var(--rt-navy-800);
  --rt-text-accent: var(--rt-gold-700);
  --rt-text-link: var(--rt-navy-700);
  --rt-text-link-hover: var(--rt-navy-800);

  /* borders */
  --rt-border-subtle: rgb(12 34 94 / 0.08);
  --rt-border-muted: rgb(12 34 94 / 0.14);
  --rt-border-emphasis: rgb(12 34 94 / 0.26);
  --rt-border-inverse: rgb(255 255 255 / 0.16);

  /* interactive — primary */
  --rt-action-primary-bg: var(--rt-navy-800);
  --rt-action-primary-bg-hover: var(--rt-navy-900);
  --rt-action-primary-bg-active: var(--rt-navy-950);
  --rt-action-primary-fg: #FFFFFF;

  /* interactive — accent (gold). Reserve for ONE call to action per view. */
  --rt-action-accent-bg: var(--rt-gold-200);
  --rt-action-accent-bg-hover: var(--rt-gold-300);
  --rt-action-accent-bg-active: var(--rt-gold-400);
  --rt-action-accent-fg: var(--rt-navy-900);

  /* interactive — secondary / ghost */
  --rt-action-secondary-bg: transparent;
  --rt-action-secondary-bg-hover: var(--rt-navy-50);
  --rt-action-secondary-fg: var(--rt-navy-800);
  --rt-action-secondary-border: rgb(12 34 94 / 0.24);

  /* fields */
  --rt-field-bg: #FFFFFF;
  --rt-field-bg-disabled: var(--rt-neutral-100);
  --rt-field-border: rgb(12 34 94 / 0.20);
  --rt-field-border-hover: rgb(12 34 94 / 0.34);
  --rt-field-border-focus: var(--rt-navy-800);
  --rt-field-placeholder: var(--rt-neutral-500);

  /* status */
  --rt-status-success-fg: var(--rt-success-700);
  --rt-status-success-bg: var(--rt-success-50);
  --rt-status-success-border: var(--rt-success-200);
  --rt-status-warning-fg: var(--rt-warning-700);
  --rt-status-warning-bg: var(--rt-warning-50);
  --rt-status-warning-border: var(--rt-warning-200);
  --rt-status-danger-fg: var(--rt-danger-700);
  --rt-status-danger-bg: var(--rt-danger-50);
  --rt-status-danger-border: var(--rt-danger-200);
  --rt-status-info-fg: var(--rt-info-700);
  --rt-status-info-bg: var(--rt-info-50);
  --rt-status-info-border: var(--rt-info-200);

  --rt-focus-ring: var(--rt-ring-focus);
}

/* ---------------------------------------------------------------------------
   LAYER 3 — DARK THEME
   The brand is navy-dominant, so dark is a first-class mode, not an
   afterthought. Note the ground is navy-900, NOT black — pure black
   would break the family relationship with the logo.
   --------------------------------------------------------------------------- */
[data-theme="dark"] {
  color-scheme: dark;

  --rt-surface-page: var(--rt-navy-900);
  --rt-surface-subtle: var(--rt-navy-800);
  --rt-surface-sunken: var(--rt-navy-950);
  --rt-surface-raised: #0F2A6B;
  --rt-surface-inverse: #FFFFFF;
  --rt-surface-inverse-deep: var(--rt-neutral-50);
  --rt-surface-accent: rgb(181 134 42 / 0.14);

  --rt-text-primary: #FFFFFF;
  --rt-text-secondary: var(--rt-navy-200);
  --rt-text-tertiary: var(--rt-navy-400);
  --rt-text-disabled: rgb(255 255 255 / 0.34);
  --rt-text-inverse: var(--rt-navy-900);
  --rt-text-inverse-secondary: var(--rt-steel-700);
  --rt-text-brand: #FFFFFF;
  --rt-text-accent: var(--rt-gold-200);
  --rt-text-link: var(--rt-gold-200);
  --rt-text-link-hover: var(--rt-gold-100);

  --rt-border-subtle: rgb(255 255 255 / 0.08);
  --rt-border-muted: rgb(255 255 255 / 0.16);
  --rt-border-emphasis: rgb(255 255 255 / 0.30);
  --rt-border-inverse: rgb(12 34 94 / 0.20);

  --rt-action-primary-bg: #FFFFFF;
  --rt-action-primary-bg-hover: var(--rt-navy-50);
  --rt-action-primary-bg-active: var(--rt-navy-100);
  --rt-action-primary-fg: var(--rt-navy-900);

  --rt-action-accent-bg: var(--rt-gold-200);
  --rt-action-accent-bg-hover: var(--rt-gold-100);
  --rt-action-accent-bg-active: var(--rt-gold-300);
  --rt-action-accent-fg: var(--rt-navy-900);

  --rt-action-secondary-bg: transparent;
  --rt-action-secondary-bg-hover: rgb(255 255 255 / 0.07);
  --rt-action-secondary-fg: #FFFFFF;
  --rt-action-secondary-border: rgb(255 255 255 / 0.26);

  --rt-field-bg: rgb(255 255 255 / 0.05);
  --rt-field-bg-disabled: rgb(255 255 255 / 0.03);
  --rt-field-border: rgb(255 255 255 / 0.20);
  --rt-field-border-hover: rgb(255 255 255 / 0.34);
  --rt-field-border-focus: var(--rt-gold-200);
  --rt-field-placeholder: var(--rt-navy-400);

  --rt-status-success-fg: var(--rt-success-300);
  --rt-status-success-bg: rgb(31 122 77 / 0.18);
  --rt-status-success-border: rgb(31 122 77 / 0.44);
  --rt-status-warning-fg: var(--rt-warning-300);
  --rt-status-warning-bg: rgb(184 121 26 / 0.18);
  --rt-status-warning-border: rgb(184 121 26 / 0.44);
  --rt-status-danger-fg: var(--rt-danger-300);
  --rt-status-danger-bg: rgb(180 41 31 / 0.20);
  --rt-status-danger-border: rgb(180 41 31 / 0.46);
  --rt-status-info-fg: var(--rt-info-300);
  --rt-status-info-bg: rgb(28 99 168 / 0.20);
  --rt-status-info-border: rgb(28 99 168 / 0.46);

  --rt-shadow-sm: 0 1px 3px rgb(0 0 0 / 0.40);
  --rt-shadow-md: 0 4px 12px rgb(0 0 0 / 0.44);
  --rt-shadow-lg: 0 12px 28px rgb(0 0 0 / 0.50);
  --rt-shadow-xl: 0 24px 56px rgb(0 0 0 / 0.56);

  --rt-focus-ring: var(--rt-ring-focus-dark);
}

/* Follow the OS when no explicit choice has been stamped on the document. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --rt-surface-page: var(--rt-navy-900);
    --rt-surface-subtle: var(--rt-navy-800);
    --rt-surface-sunken: var(--rt-navy-950);
    --rt-surface-raised: #0F2A6B;
    --rt-surface-inverse: #FFFFFF;
    --rt-text-primary: #FFFFFF;
    --rt-text-secondary: var(--rt-navy-200);
    --rt-text-tertiary: var(--rt-navy-400);
    --rt-text-brand: #FFFFFF;
    --rt-text-accent: var(--rt-gold-200);
    --rt-text-link: var(--rt-gold-200);
    --rt-border-subtle: rgb(255 255 255 / 0.08);
    --rt-border-muted: rgb(255 255 255 / 0.16);
    --rt-action-primary-bg: #FFFFFF;
    --rt-action-primary-fg: var(--rt-navy-900);
    --rt-action-secondary-fg: #FFFFFF;
    --rt-action-secondary-border: rgb(255 255 255 / 0.26);
    --rt-field-bg: rgb(255 255 255 / 0.05);
    --rt-field-border: rgb(255 255 255 / 0.20);
    --rt-focus-ring: var(--rt-ring-focus-dark);
  }
}

/* ---------------------------------------------------------------------------
   ACCESSIBILITY
   --------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  :root {
    --rt-duration-instant: 1ms;
    --rt-duration-fast: 1ms;
    --rt-duration-base: 1ms;
    --rt-duration-slow: 1ms;
    --rt-duration-deliberate: 1ms;
  }
}


/* =========================================================================
   @rajtech/ui — component styles

   Every value here comes from a SEMANTIC token (--rt-text-primary,
   --rt-action-primary-bg). Reaching past those into a primitive
   (--rt-navy-800) from a component is a bug: it breaks dark mode.
   The two exceptions are marked inline.
   ========================================================================= */

/* ---- WordPress data slots -----------------------------------------------
   <rajtech-slot> wraps markup the WordPress theme replaces with live products.
   In static previews it must not affect grid or flex layout. */
rajtech-slot{ display: contents; }

/* ---- Screen-reader-only text --------------------------------------------
   Keeps an accessible name next to animated or abbreviated visible text. */
.rt-sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ---- Eyebrow ------------------------------------------------------------
   The system's signature label: 12px, uppercase, wide tracking, preceded by
   the gear-tick motif taken from the sprocket ring. Use it instead of a small
   heading to label a section. */
.rt-eyebrow{
  display: flex;
  align-items: center;
  gap: var(--rt-space-2);
  margin: 0;
  font-family: var(--rt-font-text);
  font-size: var(--rt-text-micro);
  font-weight: var(--rt-weight-semibold);
  letter-spacing: var(--rt-tracking-eyebrow);
  text-transform: uppercase;
  color: var(--rt-text-tertiary);
}
.rt-eyebrow--accent{ color: var(--rt-text-accent); }
.rt-eyebrow__tick{
  flex: none;
  width: 22px;
  height: 7px;
  border-radius: 1px;
  background: repeating-linear-gradient(90deg,
    currentColor 0 3px, transparent 3px 6px);
}

/* ---- GearTick -----------------------------------------------------------
   The sprocket motif as a divider. Horizontal by default. */
.rt-gear-tick{
  display: block;
  border: 0;
  margin: 0;
  color: var(--rt-text-accent);
}
.rt-gear-tick--horizontal{
  width: 100%;
  height: 6px;
  background: repeating-linear-gradient(90deg,
    currentColor 0 6px, transparent 6px 13px);
}
.rt-gear-tick--vertical{
  width: 5px;
  align-self: stretch;
  min-height: 28px;
  background: repeating-linear-gradient(180deg,
    currentColor 0 4px, transparent 4px 9px);
}
.rt-gear-tick--muted{ color: var(--rt-border-muted); }

/* ---- Button -------------------------------------------------------------
   Radius stays at 6px across all sizes. The wordmark's corners are squared
   with barely any softening and the UI agrees with it — do not add a pill
   variant. */
.rt-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rt-space-2);
  border: 1px solid transparent;
  border-radius: var(--rt-radius-md);
  font-family: var(--rt-font-text);
  font-weight: var(--rt-weight-semibold);
  letter-spacing: 0.01em;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color var(--rt-duration-fast) var(--rt-ease-standard),
    border-color var(--rt-duration-fast) var(--rt-ease-standard),
    transform var(--rt-duration-fast) var(--rt-ease-standard);
}
.rt-btn:active:not(:disabled){ transform: translateY(1px); }
.rt-btn:focus-visible{ outline: none; box-shadow: var(--rt-focus-ring); }
.rt-btn:disabled,
.rt-btn[aria-disabled="true"]{ opacity: 0.42; cursor: not-allowed; }

.rt-btn--sm{ padding: var(--rt-space-2) var(--rt-space-4); font-size: var(--rt-text-caption); }
.rt-btn--md{ padding: var(--rt-space-3) var(--rt-space-6); font-size: var(--rt-text-sm); }
.rt-btn--lg{ padding: var(--rt-space-4) var(--rt-space-8); font-size: var(--rt-text-body); }

.rt-btn--primary{
  background: var(--rt-action-primary-bg);
  color: var(--rt-action-primary-fg);
}
.rt-btn--primary:hover:not(:disabled){ background: var(--rt-action-primary-bg-hover); }
.rt-btn--primary:active:not(:disabled){ background: var(--rt-action-primary-bg-active); }

/* The gold action. At most ONE per view — see DESIGN-SYSTEM.md §4.
   If two buttons compete for gold, the page has two primary actions and the
   page is wrong, not the system. */
.rt-btn--accent{
  background: var(--rt-action-accent-bg);
  color: var(--rt-action-accent-fg);
}
.rt-btn--accent:hover:not(:disabled){ background: var(--rt-action-accent-bg-hover); }
.rt-btn--accent:active:not(:disabled){ background: var(--rt-action-accent-bg-active); }

.rt-btn--ghost{
  background: var(--rt-action-secondary-bg);
  color: var(--rt-action-secondary-fg);
  border-color: var(--rt-action-secondary-border);
}
.rt-btn--ghost:hover:not(:disabled){ background: var(--rt-action-secondary-bg-hover); }

.rt-btn--block{ width: 100%; }

/* ---- StockBadge ---------------------------------------------------------
   Stock state is core content for a distributor, not decoration. The pill
   radius is deliberate and is one of only two places full-round is allowed
   (the other is avatars). */
.rt-badge{
  display: inline-flex;
  align-items: center;
  gap: var(--rt-space-2);
  padding: var(--rt-space-1) var(--rt-space-3);
  border: 1px solid;
  border-radius: var(--rt-radius-full);
  font-family: var(--rt-font-text);
  font-size: var(--rt-text-micro);
  font-weight: var(--rt-weight-semibold);
  letter-spacing: 0.09em;
  line-height: 1.35;
  text-transform: uppercase;
  white-space: nowrap;
}
.rt-badge__dot{
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: var(--rt-radius-full);
  background: currentColor;
}
.rt-badge--in-stock{
  color: var(--rt-status-success-fg);
  background: var(--rt-status-success-bg);
  border-color: var(--rt-status-success-border);
}
.rt-badge--low{
  color: var(--rt-status-warning-fg);
  background: var(--rt-status-warning-bg);
  border-color: var(--rt-status-warning-border);
}
.rt-badge--out{
  color: var(--rt-status-danger-fg);
  background: var(--rt-status-danger-bg);
  border-color: var(--rt-status-danger-border);
}
.rt-badge--info{
  color: var(--rt-status-info-fg);
  background: var(--rt-status-info-bg);
  border-color: var(--rt-status-info-border);
}

/* ---- Field --------------------------------------------------------------- */
.rt-field{
  display: flex;
  flex-direction: column;
  gap: var(--rt-space-2);
  font-family: var(--rt-font-text);
}
.rt-field__label{
  font-size: var(--rt-text-micro);
  font-weight: var(--rt-weight-semibold);
  letter-spacing: var(--rt-tracking-eyebrow);
  text-transform: uppercase;
  color: var(--rt-text-tertiary);
}
.rt-field__required{ color: var(--rt-status-danger-fg); margin-left: 2px; }
.rt-field__input{
  width: 100%;
  padding: var(--rt-space-3) var(--rt-space-4);
  border: 1px solid var(--rt-field-border);
  border-radius: var(--rt-radius-md);
  background: var(--rt-field-bg);
  color: var(--rt-text-primary);
  font-family: inherit;
  font-size: var(--rt-text-body);
  line-height: 1.4;
  transition:
    border-color var(--rt-duration-fast) var(--rt-ease-standard),
    box-shadow var(--rt-duration-fast) var(--rt-ease-standard);
}
.rt-field__input::placeholder{ color: var(--rt-field-placeholder); }
.rt-field__input:hover:not(:disabled){ border-color: var(--rt-field-border-hover); }
.rt-field__input:focus{
  outline: none;
  border-color: var(--rt-field-border-focus);
  box-shadow: var(--rt-focus-ring);
}
.rt-field__input:disabled{
  background: var(--rt-field-bg-disabled);
  color: var(--rt-text-disabled);
  cursor: not-allowed;
}
/* Part numbers are read character by character — give them the mono face. */
.rt-field__input--mono{
  font-family: var(--rt-font-mono);
  font-size: var(--rt-text-sm);
  letter-spacing: 0.02em;
}
.rt-field__hint{ font-size: var(--rt-text-caption); color: var(--rt-text-tertiary); }
.rt-field--invalid .rt-field__input{ border-color: var(--rt-status-danger-fg); }
.rt-field--invalid .rt-field__hint{ color: var(--rt-status-danger-fg); }

/* ---- Card ---------------------------------------------------------------- */
.rt-card{
  display: flex;
  flex-direction: column;
  border: 1px solid var(--rt-border-muted);
  border-radius: var(--rt-radius-lg);
  background: var(--rt-surface-raised);
  color: var(--rt-text-primary);
  overflow: hidden;
}
.rt-card--flat{ box-shadow: none; }
.rt-card--raised{ box-shadow: var(--rt-shadow-sm); }
.rt-card--floating{ box-shadow: var(--rt-shadow-lg); }
.rt-card--interactive{
  transition:
    box-shadow var(--rt-duration-base) var(--rt-ease-standard),
    transform var(--rt-duration-base) var(--rt-ease-entrance);
}
.rt-card--interactive:hover{ box-shadow: var(--rt-shadow-lg); transform: translateY(-2px); }
.rt-card__body{ padding: var(--rt-space-6); }

/* ---- ProductCard --------------------------------------------------------
   Leads with the part number, then the spec table. For a trade buyer that IS
   the content — a large photograph over a small spec line is the consumer
   retail pattern and the wrong one here. */
.rt-product-card{ max-width: 360px; }
.rt-product-card__media{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 140px;
  background: var(--rt-gradient-navy-deep);
}
.rt-product-card__media img{
  width: 100%; height: 100%;
  object-fit: cover;
}
.rt-product-card__placeholder{
  font-family: var(--rt-font-display);
  font-size: 1.6rem;
  font-weight: var(--rt-weight-bold);
  letter-spacing: 0.14em;
  /* Fixed white: this sits on the navy gradient in BOTH themes. */
  color: rgb(255 255 255 / 0.28);
}
.rt-product-card__body{
  display: flex;
  flex-direction: column;
  gap: var(--rt-space-2);
  padding: var(--rt-space-5);
}
.rt-product-card__sku{
  margin: 0;
  font-family: var(--rt-font-mono);
  font-size: var(--rt-text-micro);
  letter-spacing: 0.04em;
  color: var(--rt-text-tertiary);
}
.rt-product-card__name{
  margin: 0;
  font-family: var(--rt-font-display);
  font-size: var(--rt-text-h4);
  font-weight: var(--rt-weight-semibold);
  letter-spacing: var(--rt-tracking-tight);
  line-height: var(--rt-leading-snug);
  color: var(--rt-text-primary);
}
.rt-product-card__footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rt-space-3);
  margin-top: var(--rt-space-2);
}

/* ---- SpecTable ----------------------------------------------------------
   Tabular numerals are not optional: part numbers and grades must align. */
.rt-spec-table{
  width: 100%;
  border-collapse: collapse;
  font-family: var(--rt-font-text);
  font-size: var(--rt-text-sm);
  font-variant-numeric: tabular-nums;
  color: var(--rt-text-primary);
}
.rt-spec-table caption{
  padding-bottom: var(--rt-space-3);
  font-size: var(--rt-text-micro);
  font-weight: var(--rt-weight-semibold);
  letter-spacing: var(--rt-tracking-eyebrow);
  text-transform: uppercase;
  text-align: left;
  color: var(--rt-text-tertiary);
}
.rt-spec-table th,
.rt-spec-table td{
  padding: var(--rt-space-3) 0;
  text-align: left;
  border-bottom: 1px solid var(--rt-border-subtle);
}
.rt-spec-table th{
  font-weight: var(--rt-weight-regular);
  color: var(--rt-text-tertiary);
  white-space: nowrap;
}
.rt-spec-table td{
  font-family: var(--rt-font-mono);
  font-size: var(--rt-text-caption);
  text-align: right;
  color: var(--rt-text-primary);
}
.rt-spec-table tr:last-child th,
.rt-spec-table tr:last-child td{ border-bottom: 0; }
.rt-spec-table--bordered{
  border: 1px solid var(--rt-border-muted);
  border-radius: var(--rt-radius-lg);
}
.rt-spec-table--bordered th{ padding-left: var(--rt-space-4); }
.rt-spec-table--bordered td{ padding-right: var(--rt-space-4); }
.rt-spec-table__wrap{ overflow-x: auto; }

/* ---- Stat ---------------------------------------------------------------- */
.rt-stat{
  display: flex;
  flex-direction: column;
  gap: var(--rt-space-1);
  font-family: var(--rt-font-text);
}
.rt-stat__value{
  font-family: var(--rt-font-display);
  font-size: var(--rt-text-h3);
  font-weight: var(--rt-weight-semibold);
  letter-spacing: var(--rt-tracking-tight);
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
  color: var(--rt-text-primary);
}
/* Numerals in statistics are on the permitted-gold list. */
.rt-stat--accent .rt-stat__value{ color: var(--rt-text-accent); }
.rt-stat__label{
  font-size: var(--rt-text-micro);
  font-weight: var(--rt-weight-medium);
  letter-spacing: var(--rt-tracking-eyebrow);
  text-transform: uppercase;
  color: var(--rt-text-tertiary);
}

/* ---- Section ------------------------------------------------------------
   Section rhythm is the premium signal and the first thing bad builds
   sacrifice. Protect it. */
.rt-section{
  padding-block: var(--rt-section-y);
  background: var(--rt-surface-page);
  color: var(--rt-text-primary);
}
.rt-section--tight{ padding-block: var(--rt-section-y-tight); }
.rt-section--subtle{ background: var(--rt-surface-subtle); }
.rt-section--sunken{ background: var(--rt-surface-sunken); }
.rt-section--inverse{
  background: var(--rt-gradient-navy-deep);
  /* Fixed white: the navy gradient is the ground in BOTH themes. */
  color: #FFFFFF;
}
.rt-section--inverse .rt-eyebrow,
.rt-section--inverse .rt-stat__label{ color: rgb(255 255 255 / 0.62); }
.rt-section--inverse .rt-stat__value{ color: #FFFFFF; }
.rt-section__inner{
  max-width: var(--rt-container);
  margin-inline: auto;
  padding-inline: var(--rt-gutter);
}
.rt-section__inner--wide{ max-width: var(--rt-container-wide); }
.rt-section__inner--narrow{ max-width: var(--rt-container-narrow); }

/* ---- Logo ---------------------------------------------------------------- */
.rt-original-logo picture,.rt-original-logo img{display:block;width:100%;height:auto;background:transparent}
.rt-product-range__card{text-decoration:none;color:inherit}
.rt-cart-shortcut{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;color:inherit;text-decoration:none;border:1px solid currentColor;border-radius:6px}
.rt-cart-shortcut svg{width:25px;height:25px}
.rt-cart-shortcut__count{display:grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#d2a53d;color:#090806;font-size:12px;font-weight:800}
.rt-cart-shortcut__label{font-size:12px}
.rt-cart-feedback{position:fixed;right:20px;top:100px;width:min(350px,calc(100vw - 40px));padding:22px;background:#fff;color:#0c225e;border:1px solid #d2a53d;border-radius:10px;box-shadow:0 12px 40px #0c225e26;z-index:1100;font-family:var(--rt-font-text)}
.rt-cart-feedback{box-sizing:border-box}
.rt-cart-feedback[hidden]{display:none}
.rt-cart-feedback button{float:right;border:0;background:none;font-size:24px;color:inherit;cursor:pointer}
.rt-cart-feedback p{margin:12px 0}
.rt-cart-feedback a{display:inline-block;background:#0c225e;color:white;padding:12px 20px;border-radius:6px;text-decoration:none}
/* ---- Store location: self-drawn OpenStreetMap basemap with HTML labels ---- */
.rt-location{--rt-map-height:clamp(380px,40vw,540px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(28px,5vw,72px);padding:clamp(48px,7vw,104px) clamp(20px,5vw,80px);background:#f3f6fc;color:#0c225e;font-family:var(--rt-font-text)}
.rt-location h2{font-size:clamp(32px,4vw,52px);line-height:1.08;letter-spacing:-.04em;margin:18px 0 22px}
.rt-location address,.rt-delivery-footer address{font-style:normal;line-height:1.7;max-width:40ch}
.rt-location address strong{display:block;margin-bottom:4px;font-size:1.05rem}
.rt-location__facts{margin:26px 0 0;border-top:1px solid #d6deea}
.rt-location__facts div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid #d6deea;font-size:.9rem;line-height:1.5}
.rt-location__facts dt{padding-top:2px;color:#52617e;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.rt-location__facts dd{margin:0}
.rt-location__facts a{color:inherit;font-weight:700;text-decoration:none}
.rt-location__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.rt-location__call{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid #c7d3e9;border-radius:4px;background:#fff;color:#0c225e;font-size:.8rem;font-weight:600;text-decoration:none;transition:border-color .2s}
.rt-location__call:hover{border-color:#0c225e}
.rt-location__map{position:relative;height:var(--rt-map-height);margin:0;overflow:hidden;border:1px solid #d3d9e3;border-radius:14px;background:#eef1f6;box-shadow:0 28px 60px -36px rgb(12 34 94 / .5);isolation:isolate}
/* The canvas always covers the frame at 3:2 and stays centred on the store, so the pin never drifts on narrow screens. */
.rt-location__map-canvas{position:absolute;left:50%;top:50%;width:max(100%,calc(var(--rt-map-height) * 1.5));aspect-ratio:var(--rt-map-ratio);transform:translate(-50%,-50%)}
.rt-location__map-canvas img{display:block;width:100%;height:100%;max-width:none}
.rt-location__road{position:absolute;padding:1px 5px;border-radius:2px;background:rgb(238 241 246 / .8);color:#65718a;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;pointer-events:none}
.rt-location__landmark{position:absolute;display:inline-flex;align-items:center;gap:6px;padding:4px 9px 4px 6px;border:1px solid #d3d9e3;border-radius:999px;background:#fff;color:#0c225e;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 6px 14px -8px rgb(12 34 94 / .4);transform:translate(-8px,-50%);pointer-events:none}
.rt-location__landmark::before{content:"";width:8px;height:8px;border-radius:50%;background:#8ea4d3}
.rt-location__landmark--end{flex-direction:row-reverse;padding:4px 6px 4px 9px;transform:translate(calc(-100% + 8px),-50%)}
.rt-location__pin{position:absolute;left:50%;top:50%;z-index:2;width:22px;height:22px;border:4px solid #fff;border-radius:50%;background:var(--rt-navy-800);box-shadow:0 0 0 1px rgb(12 34 94 / .25),0 8px 20px rgb(7 24 67 / .35);transform:translate(-50%,-50%)}
.rt-location__pin::before{content:"";position:absolute;inset:-16px;z-index:-1;border-radius:50%;background:rgb(12 34 94 / .18);animation:rt-location-pulse 2.6s ease-out infinite}
.rt-location__pin::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:var(--rt-gold-400);transform:translate(-50%,-50%)}
.rt-location__pin-label{position:absolute;left:50%;bottom:calc(100% + 16px);display:grid;gap:2px;padding:10px 14px;border-radius:10px;background:var(--rt-navy-800);color:#fff;font-size:12px;line-height:1.35;white-space:nowrap;box-shadow:0 16px 32px -14px rgb(7 24 67 / .65);transform:translateX(-50%)}
.rt-location__pin-label strong{font-size:14px}
.rt-location__pin-label::after{content:"";position:absolute;left:50%;top:100%;border:7px solid transparent;border-top-color:var(--rt-navy-800);transform:translateX(-50%)}
@keyframes rt-location-pulse{from{transform:scale(.45);opacity:.9}to{transform:scale(1.6);opacity:0}}
.rt-location__map-bar{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-radius:10px;background:rgb(255 255 255 / .95);box-shadow:0 12px 26px -16px rgb(12 34 94 / .5);font-size:.78rem}
.rt-location__map-bar span{color:#52617e}
.rt-location__map-bar a{color:#0c225e;font-weight:700;text-decoration:none;white-space:nowrap}
.rt-location__credit{position:absolute;right:12px;top:10px;z-index:3;padding:2px 6px;border-radius:3px;background:rgb(255 255 255 / .85);color:#52617e;font-size:9px}
.rt-location__credit a{color:inherit}
@media(prefers-reduced-motion:reduce){.rt-location__pin::before{animation:none;opacity:.5}}
@media(max-width:700px){.rt-location{--rt-map-height:400px;grid-template-columns:1fr;gap:28px}.rt-location__actions>a{flex:1 1 auto}.rt-location__map-bar span{display:none}
/* At phone scale the name card would cover the road and landmark labels above the pin, so it hangs below. */
.rt-location__pin-label{top:calc(100% + 16px);bottom:auto}.rt-location__pin-label::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--rt-navy-800)}.rt-cart-shortcut__label{display:none}.rt-cart-shortcut{padding:6px;gap:4px}.rt-navigation__actions{gap:8px}}
.rt-logo{ display: inline-block; line-height: 0; }
.rt-logo img{ display: block; width: 100%; height: auto; }
.rt-animated-logo{
  display: block;
  flex: 0 0 auto;
  overflow: hidden;
  background: transparent;
  line-height: 0;
}
.rt-animated-logo__video{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1600 / 1090;
  object-fit: contain;
}

/* ---- NavigationBar -----------------------------------------------------
   Centered desktop navigation with a compact branded lockup. The Products
   details element stays usable without JavaScript and the dropdown is sized
   as a practical menu, not a decorative overlay. */
.rt-navigation{
  /* Colours switch instantly: fading them left the whitened scrolled-state logo on a white bar. */
  transition: box-shadow 350ms ease;
  position: sticky;
  top: 0;
  z-index: var(--rt-z-header);
  border-bottom: 1px solid var(--rt-border-muted);
  background: var(--rt-surface-page);
  color: var(--rt-text-primary);
  box-shadow: var(--rt-shadow-xs);
}
.rt-navigation__inner{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: var(--rt-space-6);
  max-width: var(--rt-container-wide);
  height: 76px;
  margin: 0 auto;
  padding: var(--rt-space-2) var(--rt-gutter);
}
.rt-navigation__brand{
  display: inline-flex;
  align-items: center;
  justify-self: start;
  min-width: 0;
  text-decoration: none;
  transition: transform 400ms var(--rt-ease-entrance);
}
.rt-navigation__brand:hover{ transform: translateY(-2px); }
.rt-navigation__brand:focus-visible{ outline: 2px solid var(--rt-text-brand); outline-offset: 5px; }
.rt-navigation__brand :is(.rt-logo, .rt-animated-logo){ max-width: 100px; }
.rt-navigation__brand .rt-logo{ display: block; }
.rt-navigation__contact-trigger{ appearance:none; background:transparent; font:inherit; }
.rt-navigation__mobile-panel button{ width:100%; padding:var(--rt-space-3) var(--rt-space-4); border:0; border-radius:var(--rt-radius-sm); background:transparent; color:var(--rt-text-primary); font:var(--rt-weight-semibold) var(--rt-text-sm) / 1.2 var(--rt-font-text); text-align:left; cursor:pointer; }
.rt-navigation__mobile-panel button:hover{ background:var(--rt-neutral-50); }
.rt-contact-dialog{ width:min(720px,calc(100vw - 32px)); max-height:calc(100vh - 32px); padding:0; border:1px solid var(--rt-border-muted); border-radius:var(--rt-radius-lg); background:var(--rt-surface-raised); color:var(--rt-text-primary); box-shadow:0 28px 90px rgb(0 3 57 / .28); }
.rt-contact-dialog::backdrop{ background:rgb(4 15 42 / .68); backdrop-filter:blur(5px); }
.rt-contact-dialog__panel{ position:relative; padding:clamp(24px,5vw,52px); }
.rt-contact-dialog__close{ position:absolute; top:18px; right:20px; width:36px; height:36px; border:1px solid var(--rt-border-muted); border-radius:50%; background:transparent; color:var(--rt-text-primary); font-size:25px; line-height:1; cursor:pointer; }
.rt-contact-dialog__close:hover{ background:var(--rt-neutral-50); }
.rt-contact-dialog h2{ max-width:560px; margin:12px 0 10px; color:var(--rt-text-primary); font:var(--rt-weight-regular) clamp(30px,4vw,48px)/1.05 var(--rt-font-display); letter-spacing:var(--rt-tracking-tight); }
.rt-contact-dialog__panel>p{ max-width:560px; margin:0 0 28px; color:var(--rt-text-secondary); line-height:1.65; }
.rt-contact-dialog__fields{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rt-contact-dialog__fields label{ display:grid; gap:7px; color:var(--rt-text-primary); font-size:13px; font-weight:700; }
.rt-contact-dialog__fields label small{ color:var(--rt-text-secondary); font-weight:500; }
.rt-contact-dialog__fields input,.rt-contact-dialog__fields select,.rt-contact-dialog__fields textarea{ width:100%; box-sizing:border-box; padding:12px 13px; border:1px solid var(--rt-border-muted); border-radius:var(--rt-radius-sm); background:var(--rt-surface-sunken); color:var(--rt-text-primary); font:500 14px/1.4 var(--rt-font-text); }
.rt-contact-dialog__fields input:focus,.rt-contact-dialog__fields select:focus,.rt-contact-dialog__fields textarea:focus{ outline:none; border-color:var(--rt-navy-700); box-shadow:var(--rt-focus-ring); }
.rt-contact-dialog__wide{ grid-column:1/-1; }
.rt-contact-dialog__actions{ display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:24px; }
.rt-contact-dialog__actions>a{ color:var(--rt-text-link); font-size:13px; font-weight:700; line-height:1.5; text-decoration:none; }
.rt-contact-dialog__actions>a span{ display:block; color:var(--rt-text-secondary); font-weight:500; }
.rt-contact-dialog__actions>a:hover{ color:var(--rt-text-link-hover); }
.rt-contact-dialog__status{ min-height:1.4em; margin:16px 0 0; color:var(--rt-text-link); font-size:13px; font-weight:700; }
.rt-navigation__desktop{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 0;
}
.rt-navigation__products{ position: relative; }
.rt-navigation__summary,
.rt-navigation__link{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: var(--rt-radius-md);
  color: var(--rt-text-primary);
  font: 600 var(--rt-text-body) / 1 var(--rt-font-text);
  letter-spacing: -0.01em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--rt-duration-fast) var(--rt-ease-standard),
    border-color var(--rt-duration-fast) var(--rt-ease-standard),
    color var(--rt-duration-fast) var(--rt-ease-standard);
}
.rt-navigation__summary::after,
.rt-navigation__link::after{
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 4px;
  height: 2px;
  background: var(--rt-gradient-droplet);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 400ms var(--rt-ease-entrance);
}
.rt-navigation__summary:hover::after,
.rt-navigation__link:hover::after,
.rt-navigation__link:focus-visible::after,
.rt-navigation__products[open] > .rt-navigation__summary::after{
  transform: scaleX(1);
  transform-origin: left;
}
.rt-navigation__summary{ list-style: none; }
.rt-navigation__summary::-webkit-details-marker{ display: none; }
.rt-navigation__summary::marker{ content: ""; }
.rt-navigation__summary:hover,
.rt-navigation__link:hover,
.rt-navigation__products[open] > .rt-navigation__summary{
  border-color: var(--rt-border-subtle);
  background: var(--rt-neutral-50);
}
.rt-navigation__summary:focus-visible,
.rt-navigation__link:focus-visible,
.rt-navigation__quote:focus-visible,
.rt-navigation__mobile-toggle:focus-visible,
.rt-navigation__dropdown a:focus-visible,
.rt-navigation__mobile-panel a:focus-visible{
  outline: none;
  box-shadow: var(--rt-focus-ring);
}
.rt-navigation__chevron{
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform var(--rt-duration-fast) var(--rt-ease-standard);
}
.rt-navigation__products[open] .rt-navigation__chevron{
  transform: rotate(225deg) translate(-1px, -1px);
}
.rt-navigation__dropdown{
  position: absolute;
  top: calc(100% + 17px);
  left: -180px;
  width: min(650px, calc(100vw - (var(--rt-gutter) * 2)));
  padding: var(--rt-space-8);
  border: 1px solid var(--rt-border-muted);
  border-radius: var(--rt-radius-lg);
  background: var(--rt-surface-raised);
  box-shadow: var(--rt-shadow-xl);
  transform-origin: top center;
  animation: rt-navigation-menu-in 420ms var(--rt-ease-entrance) both;
}
.rt-navigation__dropdown::before{
  content: "";
  position: absolute;
  top: -8px;
  left: 240px;
  width: 14px;
  height: 14px;
  border-top: 1px solid var(--rt-border-muted);
  border-left: 1px solid var(--rt-border-muted);
  background: var(--rt-surface-raised);
  transform: rotate(45deg);
}
.rt-navigation__groups{
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rt-space-8);
}
.rt-navigation__group h2{
  margin: 0 0 var(--rt-space-4);
  color: var(--rt-text-primary);
  font: var(--rt-weight-bold) var(--rt-text-lead) / 1.1 var(--rt-font-display);
  letter-spacing: var(--rt-tracking-tight);
}
.rt-navigation__group ul{
  display: grid;
  gap: var(--rt-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rt-navigation__group a{
  display: inline-flex;
  padding-block: 5px;
  color: var(--rt-text-secondary);
  font: var(--rt-weight-medium) var(--rt-text-body) / 1.25 var(--rt-font-text);
  text-decoration: none;
  transition: color 220ms ease, transform 300ms var(--rt-ease-entrance);
}
.rt-navigation__group a:hover{ color: var(--rt-text-brand); transform: translateX(4px); }
.rt-navigation__products[open] .rt-navigation__group{
  animation: rt-navigation-menu-in 480ms var(--rt-ease-entrance) both;
}
.rt-navigation__group:nth-child(2){ animation-delay: 55ms !important; }
.rt-navigation__group:nth-child(3){ animation-delay: 110ms !important; }
.rt-navigation__dropdown-action{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--rt-space-2);
  margin-top: var(--rt-space-8);
  padding-top: var(--rt-space-5);
  border-top: var(--rt-border-hairline);
  color: var(--rt-text-link);
  font: var(--rt-weight-bold) var(--rt-text-body) / 1.2 var(--rt-font-text);
  text-decoration: none;
}
.rt-navigation__dropdown-action span{ font-size: 1.4em; line-height: 0.6; transition: transform 300ms var(--rt-ease-entrance); }
.rt-navigation__dropdown-action:hover span{ transform: translateX(5px); }
.rt-navigation__dropdown-action:hover{ color: var(--rt-text-link-hover); }
.rt-navigation__actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--rt-space-3);
  min-width: 0;
}
.rt-navigation__quote{
  gap: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 var(--rt-space-5);
  border: 1px solid var(--rt-navy-800);
  border-radius: var(--rt-radius-md);
  background: var(--rt-navy-800);
  color: var(--rt-white);
  font: var(--rt-weight-semibold) var(--rt-text-caption) / 1 var(--rt-font-text);
  letter-spacing: 0.01em;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--rt-duration-fast) var(--rt-ease-standard),
    border-color var(--rt-duration-fast) var(--rt-ease-standard),
    transform var(--rt-duration-fast) var(--rt-ease-standard);
}
.rt-navigation__quote:hover{ background: var(--rt-navy-900); border-color: var(--rt-navy-900); }
.rt-navigation__quote:active{ transform: translateY(1px); }
.rt-navigation__quote-arrow{
  display: inline-block;
  font-size: 20px;
  color: var(--rt-gold-200);
  transition: transform 350ms var(--rt-ease-entrance);
}
.rt-navigation__quote:hover .rt-navigation__quote-arrow{ transform: translate(3px,-3px); }
.rt-navigation__mobile{ display: none; position: relative; }
.rt-navigation__mobile-toggle{
  display: inline-flex;
  align-items: center;
  gap: var(--rt-space-2);
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--rt-border-muted);
  border-radius: var(--rt-radius-md);
  background: var(--rt-surface-raised);
  color: var(--rt-text-primary);
  font: var(--rt-weight-semibold) var(--rt-text-caption) / 1 var(--rt-font-text);
  cursor: pointer;
  list-style: none;
}
.rt-navigation__mobile-toggle::-webkit-details-marker{ display: none; }
.rt-navigation__mobile-toggle::marker{ content: ""; }
.rt-navigation__mobile[open] .rt-navigation__mobile-toggle{ background: var(--rt-neutral-50); }
.rt-navigation__mobile-label{ display: none; }
.rt-navigation__mobile-icon{ display: grid; gap: 5px; }
.rt-navigation__mobile-icon span{ display: block; width: 18px; height: 1.5px; background: currentColor; transition: transform var(--rt-duration-fast) var(--rt-ease-standard); }
.rt-navigation__mobile[open] .rt-navigation__mobile-icon span:first-child{ transform: translateY(3.25px) rotate(45deg); }
.rt-navigation__mobile[open] .rt-navigation__mobile-icon span:last-child{ transform: translateY(-3.25px) rotate(-45deg); }
.rt-navigation__mobile-panel{
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  display: grid;
  min-width: 210px;
  padding: var(--rt-space-3);
  border: 1px solid var(--rt-border-muted);
  border-radius: var(--rt-radius-lg);
  background: var(--rt-surface-raised);
  box-shadow: var(--rt-shadow-lg);
  animation: rt-navigation-menu-in 400ms var(--rt-ease-entrance) both;
}
.rt-navigation__mobile-panel a{
  padding: var(--rt-space-3) var(--rt-space-4);
  border-radius: var(--rt-radius-sm);
  color: var(--rt-text-primary);
  font: var(--rt-weight-semibold) var(--rt-text-sm) / 1.2 var(--rt-font-text);
  text-decoration: none;
}
.rt-navigation__mobile-panel a:hover{ background: var(--rt-neutral-50); }
:is(.rt-navigation--dark, .rt-navigation--scrolled){
  border-bottom-color: rgb(255 255 255 / 0.12);
  background: var(--rt-navy-950);
  color: var(--rt-text-inverse);
  box-shadow: 0 10px 28px rgb(0 3 57 / 0.2);
}
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__summary,
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__link{
  color: var(--rt-text-inverse);
}
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__summary:hover,
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__link:hover,
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__products[open] > .rt-navigation__summary{
  border-color: rgb(255 255 255 / 0.16);
  background: rgb(255 255 255 / 0.08);
}
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__quote{
  border-color: rgb(255 255 255 / 0.26);
  border-radius: var(--rt-radius-full);
  background: transparent;
  color: var(--rt-text-inverse);
}
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__quote:hover{
  border-color: rgb(255 255 255 / 0.44);
  background: rgb(255 255 255 / 0.1);
}
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__dropdown{
  border-color: rgb(255 255 255 / 0.14);
  background: var(--rt-navy-900);
  box-shadow: 0 18px 48px rgb(0 3 57 / 0.3);
}
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__dropdown::before{
  border-color: rgb(255 255 255 / 0.14);
  background: var(--rt-navy-900);
}
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__group h2{ color: var(--rt-text-inverse); }
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__group a{ color: var(--rt-text-inverse-secondary); }
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__group a:hover{ color: var(--rt-gold-300); }
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__dropdown-action{
  border-color: rgb(255 255 255 / 0.14);
  color: var(--rt-gold-300);
}
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__dropdown-action:hover{ color: var(--rt-gold-200); }
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__mobile-toggle{
  border-color: rgb(255 255 255 / 0.22);
  background: transparent;
  color: var(--rt-text-inverse);
}
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__mobile[open] .rt-navigation__mobile-toggle{
  background: rgb(255 255 255 / 0.08);
}
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__mobile-panel{
  border-color: rgb(255 255 255 / 0.16);
  background: var(--rt-navy-900);
}
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__mobile-panel a{ color: var(--rt-text-inverse); }
:is(.rt-navigation--dark, .rt-navigation--scrolled) .rt-navigation__mobile-panel a:hover{ background: rgb(255 255 255 / 0.08); }
.rt-navigation-sentinel{ display: block; height: 1px; margin-bottom: -1px; pointer-events: none; }
.rt-navigation--scrolled{
  background: var(--rt-navy-800);
  color: var(--rt-white);
}
:is(.rt-navigation--scrolled, .rt-navigation--dark) .rt-navigation__brand :is(img, video){
  filter: var(--rt-logo-white-gold);
  mix-blend-mode: normal;
}
.rt-navigation--scrolled .rt-navigation__brand .rt-animated-logo{ background: transparent; }
.rt-navigation--scrolled .rt-navigation__quote{
  border-radius: var(--rt-radius-md);
  background: var(--rt-white);
  color: var(--rt-navy-800);
  border-color: var(--rt-white);
}
.rt-navigation--scrolled .rt-navigation__quote-arrow{ color: inherit; }
.rt-navigation--scrolled .rt-navigation__quote:is(:hover, :focus-visible){
  background: linear-gradient(110deg, var(--rt-gold-200), var(--rt-white) 80%);
  color: var(--rt-navy-800);
  border-color: var(--rt-gold-200);
}
.rt-navigation--scrolled :is(.rt-navigation__link, .rt-navigation__summary > span:first-child, .rt-navigation__group a, .rt-navigation__mobile-panel a){
  transition: color 250ms ease, transform 300ms var(--rt-ease-entrance);
}
.rt-navigation--scrolled :is(.rt-navigation__link, .rt-navigation__group a, .rt-navigation__mobile-panel a):is(:hover, :focus-visible),
.rt-navigation--scrolled .rt-navigation__summary:is(:hover, :focus-visible) > span:first-child{
  background: linear-gradient(110deg, var(--rt-gold-200), var(--rt-white));
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.rt-navigation--scrolled .rt-navigation__summary:hover .rt-navigation__chevron{ color: var(--rt-gold-200); }
.rt-navigation--scrolled :is(a, summary):focus-visible{ outline: 2px solid var(--rt-gold-200); outline-offset: 4px; }
@keyframes rt-navigation-menu-in{
  from{ opacity: 0; transform: translateY(12px); }
  to{ opacity: 1; transform: translateY(0); }
}
@media (max-width: 760px){
  .rt-navigation__inner{
    height: 72px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 64px;
    gap: var(--rt-space-3);
  }
  .rt-navigation__desktop{ display: none; }
  .rt-navigation__actions{ gap: 0; }
  .rt-navigation__quote{ display: none; }
  .rt-navigation__mobile{ display: block; }
  .rt-navigation__mobile-label{ display: inline; }
  .rt-navigation__mobile-panel{ right: 0; width: min(240px, calc(100vw - (var(--rt-gutter) * 2))); }
}
@media (prefers-reduced-motion: reduce){
  .rt-navigation *, .rt-navigation *::after{
    animation: none !important;
    transition: none !important;
  }
}

/* ---- AnnouncementBar ---------------------------------------------------
   A floating industrial offer rail. The gold surface uses the exact droplet
   gradient from the supplied mark; repeated rails create a seamless ticker. */
.rt-announcement{
  --rt-announcement-inset: clamp(10px, 2.25vw, 34px);
  position: sticky;
  top: clamp(8px, 1.4vw, 16px);
  z-index: var(--rt-z-header);
  display: grid;
  place-items: center;
  width: calc(100% - (var(--rt-announcement-inset) * 2));
  min-height: 54px;
  margin: clamp(8px, 1.4vw, 16px) var(--rt-announcement-inset) 0;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgb(181 134 42 / 0.42);
  border-radius: var(--rt-radius-lg);
  background:
    linear-gradient(110deg, rgb(255 255 255 / 0.28) 0%, transparent 34%, rgb(9 8 6 / 0.08) 100%),
    linear-gradient(106deg, var(--rt-gold-200) 0%, var(--rt-gold-100) 34%, var(--rt-gold-50) 53%, var(--rt-gold-200) 75%, var(--rt-gold-300) 100%);
  color: var(--rt-ink-950);
  box-shadow:
    0 14px 32px rgb(12 34 94 / 0.14),
    0 3px 8px rgb(12 34 94 / 0.10);
}
.rt-announcement::before{
  content: "";
  position: absolute;
  z-index: -1;
  inset: 3px;
  pointer-events: none;
  border: 1px solid rgb(255 255 255 / 0.42);
  border-radius: calc(var(--rt-radius-lg) - 3px);
}
.rt-announcement::after{
  content: "";
  position: absolute;
  z-index: -1;
  top: -40%;
  bottom: -40%;
  left: -18%;
  width: 13%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgb(255 255 255 / 0.32), transparent);
  transform: skewX(-16deg);
  animation: rt-announcement-sheen 7.5s var(--rt-ease-inout) infinite;
}
.rt-announcement__viewport{
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.rt-announcement__track{
  display: flex;
  width: max-content;
  animation: rt-announcement-marquee var(--rt-announcement-duration, 24s) linear infinite;
  will-change: transform;
}
.rt-announcement__rail{
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  min-width: 100vw;
}
.rt-announcement__item{
  display: inline-flex;
  flex: 1 0 auto;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2vw, 30px);
  min-height: 54px;
  padding-inline: clamp(28px, 4.5vw, 72px);
}
.rt-announcement__message{
  font-family: var(--rt-font-text);
  font-size: clamp(0.75rem, 0.7rem + 0.18vw, 0.875rem);
  font-weight: var(--rt-weight-bold);
  letter-spacing: 0.035em;
  line-height: 1.2;
  white-space: nowrap;
}
.rt-announcement__sr{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.rt-announcement:hover .rt-announcement__track,
.rt-announcement:focus-within .rt-announcement__track{
  animation-play-state: paused;
}
@keyframes rt-announcement-marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@keyframes rt-announcement-sheen{
  0%, 18%{ transform: translateX(0) skewX(-16deg); opacity: 0; }
  28%{ opacity: 1; }
  62%, 100%{ transform: translateX(900%) skewX(-16deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce){
  .rt-announcement__track{
    width: 100%;
    animation: none;
  }
  .rt-announcement::after{ display: none; }
  .rt-announcement__rail{ width: 100%; min-width: 100%; justify-content: center; }
  .rt-announcement__rail + .rt-announcement__rail,
  .rt-announcement__item + .rt-announcement__item{ display: none; }
}
@media (max-width: 560px){
  .rt-announcement{
    --rt-announcement-inset: 8px;
    min-height: 50px;
  }
  .rt-announcement__item{ min-height: 50px; padding-inline: 26px; }
  .rt-announcement__viewport{
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  }
}

/* ---- Banner -------------------------------------------------------------
   A full-width gold offer rail for editorial black-and-white surfaces. The
   rainbow modifier name is retained for API compatibility; its treatment is
   the approved Rajtech droplet palette with a continuous light sweep. */
.rt-banner{
  position: relative;
  top: 0;
  z-index: var(--rt-z-header);
  display: grid;
  place-items: center;
  width: 100%;
  height: var(--rt-banner-height, 2.5rem);
  min-height: var(--rt-banner-height, 2.5rem);
  margin: 0;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgb(255 255 255 / 0.22);
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background: var(--rt-ink-950);
  color: #FFFFFF;
  box-shadow: 0 12px 30px rgb(9 8 6 / 0.15), 0 2px 8px rgb(9 8 6 / 0.10);
  transition: height 260ms var(--rt-ease-inout), min-height 260ms var(--rt-ease-inout),
    opacity 260ms var(--rt-ease-inout), margin 260ms var(--rt-ease-inout);
}
.rt-banner::before{
  content: "";
  position: absolute;
  z-index: -1;
  inset: 3px;
  pointer-events: none;
  border: 1px solid rgb(255 255 255 / 0.13);
  border-radius: 0;
}
.rt-banner::after{
  content: "";
  position: absolute;
  z-index: -1;
  top: -60%;
  bottom: -60%;
  left: -18%;
  width: 10%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgb(255 255 255 / 0.17), transparent);
  transform: skewX(-16deg);
  animation: rt-banner-sheen 8s var(--rt-ease-inout) infinite;
}
.rt-banner--rainbow{
  border-color: rgb(181 134 42 / 0.58);
  background:
    linear-gradient(112deg, rgb(255 255 255 / 0.38) 0%, transparent 26%, rgb(255 255 255 / 0.20) 58%, rgb(118 83 0 / 0.08) 100%),
    linear-gradient(106deg, var(--rt-gold-200) 0%, var(--rt-gold-100) 34%, var(--rt-gold-50) 53%, var(--rt-gold-200) 75%, var(--rt-gold-300) 100%);
  color: var(--rt-ink-950);
  box-shadow:
    0 14px 32px rgb(12 34 94 / 0.14),
    inset 0 1px 0 rgb(255 255 255 / 0.72),
    inset 0 -1px 0 rgb(181 134 42 / 0.28);
}
.rt-banner--rainbow::before{
  z-index: 0;
  inset: 0;
  opacity: 0.92;
  border: 0;
  background:
    linear-gradient(180deg, rgb(255 255 255 / 0.34), transparent 30%, transparent 72%, rgb(181 134 42 / 0.09)),
    radial-gradient(ellipse at 48% 0%, rgb(255 255 255 / 0.50), transparent 56%);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.42);
  animation: rt-banner-color-breathe 6s ease-in-out infinite;
}
.rt-banner--rainbow::after{
  z-index: 0;
  top: -145%;
  bottom: -145%;
  left: -38%;
  width: 46%;
  background: radial-gradient(
    ellipse at center,
    rgb(255 255 255 / 0.70) 0%,
    rgb(255 242 170 / 0.50) 24%,
    rgb(224 174 48 / 0.24) 46%,
    transparent 72%
  );
  filter: blur(10px);
  transform: translate3d(-140%, 0, 0);
  opacity: 0.68;
  animation: rt-banner-light-travel 9s linear infinite;
}
.rt-banner__viewport{
  position: relative;
  z-index: 1;
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.rt-banner__track{
  display: flex;
  width: max-content;
  animation: rt-banner-marquee 25s linear infinite;
  will-change: transform;
}
.rt-banner__rail{
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  min-width: 100vw;
}
.rt-banner__item{
  display: inline-flex;
  flex: 1 0 auto;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 2vw, 28px);
  min-height: var(--rt-banner-height, 3rem);
  padding-inline: clamp(28px, 4.5vw, 72px);
}
.rt-banner__message{
  font: 700 clamp(0.72rem, 0.68rem + 0.16vw, 0.86rem) / 1.2 var(--rt-font-text);
  letter-spacing: 0.035em;
  color: var(--rt-ink-950);
  text-shadow: 0 1px 0 rgb(255 255 255 / 0.42);
  white-space: nowrap;
}
.rt-banner__close{
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 10px;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  padding: 0;
  border: 1px solid rgb(255 255 255 / 0.28);
  border-radius: 3px;
  background: rgb(255 255 255 / 0.06);
  color: inherit;
  font: 500 1.2rem/1 var(--rt-font-text);
  cursor: pointer;
  transform: translateY(-50%);
  transition: background 160ms var(--rt-ease-out), border-color 160ms var(--rt-ease-out),
    transform 160ms var(--rt-ease-out);
}
.rt-banner__close:hover{ background: rgb(255 255 255 / 0.14); border-color: rgb(255 255 255 / 0.52); }
.rt-banner__close:active{ transform: translateY(-50%) scale(0.96); }
.rt-banner--rainbow .rt-banner__close{ border-color: rgb(90 62 0 / 0.42); background: rgb(255 255 255 / 0.35); color: var(--rt-ink-950); }
.rt-banner--rainbow .rt-banner__close:hover{ background: rgb(255 255 255 / 0.52); border-color: rgb(90 62 0 / 0.60); }
.rt-banner--closed{ pointer-events: none; opacity: 0; margin-top: 0; border-width: 0; }
.rt-banner__sr{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@keyframes rt-banner-marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@keyframes rt-banner-sheen{
  0%, 18%{ transform: translateX(0) skewX(-16deg); opacity: 0; }
  28%{ opacity: 1; }
  62%, 100%{ transform: translateX(1100%) skewX(-16deg); opacity: 0; }
}
@keyframes rt-banner-light-travel{
  from{ transform: translate3d(-140%, 0, 0); }
  to{ transform: translate3d(240%, 0, 0); }
}
@keyframes rt-banner-color-breathe{
  0%, 100%{ opacity: 0.72; }
  50%{ opacity: 1; }
}
@media (prefers-reduced-motion: reduce){
  .rt-banner{ transition: none; }
  .rt-banner::after{ display: none; }
  .rt-banner--rainbow::before{ animation: none; opacity: 0.92; }
  .rt-banner__track{ width: 100%; animation: none; }
  .rt-banner__rail{ width: 100%; min-width: 100%; justify-content: center; }
  .rt-banner__rail + .rt-banner__rail,
  .rt-banner__item + .rt-banner__item{ display: none; }
}
@media (max-width: 560px){
  .rt-banner{
    top: 0;
  }
  .rt-banner__item{ padding-inline: 30px; }
  .rt-banner__viewport{
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 13%, #000 87%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 13%, #000 87%, transparent);
  }
  .rt-banner__close{ right: 6px; width: 24px; height: 24px; }
}

/* ---- Black and white preview surface ---------------------------------- */
.rt-black-white-page{
  min-height: 100dvh;
  background: #F7F7F5;
  color: var(--rt-ink-950);
  font-family: var(--rt-font-text);
  overflow-x: clip;
}
.rt-black-white-page__header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  max-width: 1320px;
  margin: 0 auto;
  padding: clamp(1.2rem, 2.4vw, 2rem) var(--rt-gutter);
  border-bottom: 1px solid rgb(9 8 6 / 0.16);
}
.rt-black-white-page__logo{ display: block; width: clamp(9.5rem, 16vw, 13rem); }
.rt-black-white-page__meta{
  margin: 0;
  color: var(--rt-ink-600);
  font: 600 0.68rem/1.2 var(--rt-font-mono);
  letter-spacing: 0.12em;
  text-align: right;
  text-transform: uppercase;
}
.rt-black-white-page__main{
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(18rem, 0.88fr);
  max-width: 1320px;
  min-height: calc(100dvh - 9rem);
  margin: 0 auto;
  padding: clamp(1.4rem, 3vw, 2.75rem) var(--rt-gutter) clamp(2.5rem, 7vw, 6rem);
  gap: clamp(1rem, 3vw, 2.5rem);
}
.rt-black-white-page__dark,
.rt-black-white-page__light{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: min(64vh, 38rem);
  padding: clamp(1.5rem, 4vw, 4rem);
}
.rt-black-white-page__dark{
  position: relative;
  overflow: hidden;
  background: var(--rt-ink-950);
  color: #FFFFFF;
}
.rt-black-white-page__dark::after{
  content: "";
  position: absolute;
  right: -8rem;
  bottom: -10rem;
  width: min(30vw, 24rem);
  height: min(30vw, 24rem);
  border: 1px solid rgb(255 255 255 / 0.22);
  border-radius: 50%;
  box-shadow: 0 0 0 18px rgb(255 255 255 / 0.035), 0 0 0 42px rgb(255 255 255 / 0.025);
}
.rt-black-white-page__kicker{
  margin: 0;
  color: rgb(255 255 255 / 0.62);
  font: 600 0.68rem/1.2 var(--rt-font-mono);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.rt-black-white-page__title{
  max-width: 8ch;
  margin: clamp(3rem, 9vw, 8rem) 0 0;
  font: 600 clamp(3.2rem, 8vw, 7.5rem)/0.92 var(--rt-font-display);
  letter-spacing: -0.055em;
  text-wrap: balance;
}
.rt-black-white-page__dark-note{
  max-width: 24ch;
  margin: 2rem 0 0;
  color: rgb(255 255 255 / 0.72);
  font-size: clamp(0.88rem, 1vw, 1rem);
  line-height: 1.55;
}
.rt-black-white-page__light{ border: 1px solid rgb(9 8 6 / 0.16); background: #FFFFFF; }
.rt-black-white-page__light-label{
  margin: 0;
  color: var(--rt-ink-600);
  font: 600 0.68rem/1.2 var(--rt-font-mono);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.rt-black-white-page__light-title{
  max-width: 15ch;
  margin: clamp(2rem, 8vw, 7rem) 0 0;
  font: 600 clamp(1.8rem, 3.5vw, 3.4rem)/1.02 var(--rt-font-display);
  letter-spacing: -0.04em;
}
.rt-black-white-page__light-copy{
  max-width: 32ch;
  margin: 1.5rem 0 0;
  color: var(--rt-steel-800);
  font-size: clamp(0.94rem, 1vw, 1.05rem);
  line-height: 1.6;
}
.rt-black-white-page__footer-rule{
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 2rem 0 0;
  color: var(--rt-ink-600);
  font: 500 0.68rem/1.2 var(--rt-font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.rt-black-white-page__footer-rule::before{ content: ""; width: 2.5rem; height: 1px; background: var(--rt-ink-950); }
@media (max-width: 760px){
  .rt-black-white-page__header{ align-items: flex-start; }
  .rt-black-white-page__meta{ max-width: 10rem; line-height: 1.45; }
  .rt-black-white-page__main{ grid-template-columns: 1fr; min-height: 0; }
  .rt-black-white-page__dark,
  .rt-black-white-page__light{ min-height: 30rem; padding: clamp(1.25rem, 6vw, 2rem); }
  .rt-black-white-page__title{ margin-top: 5rem; }
  .rt-black-white-page__light-title{ margin-top: 4rem; }
}

/* ---- Loading screen -----------------------------------------------------
   Prompt-matched sans-serif roller on a white first-load surface. The
   supplied RajTech bearing lockup loops as a real video mark. */
.rt-loading{
  position: fixed;
  z-index: calc(var(--rt-z-header) + 10);
  inset: 0;
  display: grid;
  place-items: center;
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  color: var(--rt-text-primary);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.rt-loading__shutter{
  position: absolute;
  inset-block: 0;
  width: 50.1%;
  z-index: -1;
  background: var(--rt-surface-page);
  transition: transform 700ms cubic-bezier(.76,0,.24,1);
}
.rt-loading__shutter--left{ left: 0; }
.rt-loading__shutter--right{ right: 0; }
.rt-loading--leaving .rt-loading__shutter--left{ transform: translateX(-100%); }
.rt-loading--leaving .rt-loading__shutter--right{ transform: translateX(100%); }
.rt-loading--hidden{ visibility: hidden; pointer-events: none; }
.rt-loading__center{
  width: min(100% - 3rem, 72rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-bottom: 4rem;
  transition: opacity 220ms ease, transform 500ms ease;
}
.rt-loading__brand{
  width: clamp(10rem, 15vw, 13rem);
  margin: 0 auto clamp(2rem, 5vh, 3rem);
  line-height: 0;
  animation: rt-loading-enter 900ms var(--rt-ease-entrance) both;
}
.rt-loading__logo{ display: block; width: 100%; height: auto; }
.rt-loading__brand .rt-animated-logo{ width: 100%; background: transparent; }
.rt-loading__brand .rt-animated-logo__video{ mix-blend-mode: multiply; }
.rt-loading__roller-line{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.1rem;
  max-width: 100%;
  animation: rt-loading-enter 1000ms 120ms var(--rt-ease-entrance) both;
}
.rt-loading__prefix{
  margin: 0;
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  font-weight: 400;
  letter-spacing: -.025em;
  color: var(--rt-text-secondary);
}
.rt-loading__roller{
  height: 1.1em;
  overflow: hidden;
  font-size: clamp(2.5rem, 8.2vw, 7.5rem);
  font-weight: 500;
  letter-spacing: -.065em;
  line-height: 1.1;
}
.rt-loading__roller-track{
  transition: transform 650ms cubic-bezier(.76,0,.24,1);
}
.rt-loading__status{
  display: flex;
  height: 1.1em;
  align-items: center;
  justify-content: center;
  margin: 0;
  font: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}
.rt-loading__descriptor{
  margin: 1.75rem 0 0;
  color: var(--rt-text-secondary);
  font-size: .8125rem;
  letter-spacing: .06em;
  animation: rt-loading-enter 900ms 260ms var(--rt-ease-entrance) both;
}
.rt-loading__footer{
  position: absolute;
  bottom: max(2rem, env(safe-area-inset-bottom));
  left: clamp(1.5rem, 5vw, 5rem);
  right: clamp(1.5rem, 5vw, 5rem);
  transition: opacity 220ms ease;
}
.rt-loading__footer-copy{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.2rem;
}
.rt-loading__caption{
  margin: 0;
  font-size: .75rem;
  color: var(--rt-text-secondary);
}
.rt-loading__count{
  display: block;
  height: 1.1em;
  overflow: hidden;
  font-size: 1.75rem;
  line-height: 1.1;
  font-weight: 400;
  letter-spacing: -.06em;
  font-variant-numeric: tabular-nums;
}
.rt-loading__count > span{
  display: block;
  animation: rt-loading-count calc(var(--rt-loading-duration, 5000ms) - 700ms) steps(1,end) both;
}
.rt-loading__progress{
  height: 2px;
  overflow: hidden;
  background: var(--rt-border-subtle);
}
.rt-loading__progress-fill{
  display: block;
  width: 100%;
  height: 100%;
  background: var(--rt-gradient-droplet);
  transform-origin: left;
  animation: rt-loading-progress calc(var(--rt-loading-duration, 5000ms) - 700ms) linear both;
}
.rt-loading--leaving .rt-loading__center{ opacity: 0; transform: translateY(-1rem); }
.rt-loading--leaving .rt-loading__footer{ opacity: 0; }
.rt-loading__sr{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}
@keyframes rt-loading-enter{
  from{ opacity: 0; transform: translateY(20px); }
  to{ opacity: 1; transform: translateY(0); }
}
@keyframes rt-loading-progress{
  from{ transform: scaleX(0); }
  to{ transform: scaleX(1); }
}
@keyframes rt-loading-count{
  0%{ transform: translateY(0); }
  33.333%{ transform: translateY(-100%); }
  66.666%,100%{ transform: translateY(-200%); }
}
@media (max-width: 560px){
  .rt-loading__center{ width: calc(100% - 2rem); padding-bottom: 3rem; }
  .rt-loading__brand{ width: 10rem; margin-bottom: 2rem; }
  .rt-loading__roller{ font-size: clamp(2rem, 9vw, 3.2rem); }
  .rt-loading__descriptor{ margin-top: 1.25rem; }
}
@media (max-height: 550px){
  .rt-loading__brand{ width: 7rem; margin-bottom: 1rem; }
  .rt-loading__roller{ font-size: 2.5rem; }
  .rt-loading__roller-line{ gap: .5rem; }
  .rt-loading__descriptor{ margin-top: .75rem; }
  .rt-loading__footer{ bottom: 1rem; }
}
@media (prefers-reduced-motion: reduce){
  .rt-loading *, .rt-loading *::before, .rt-loading *::after{
    animation: none !important;
    transition: none !important;
  }
  .rt-loading__progress-fill{ transform: scaleX(1); }
  .rt-loading__count{ visibility: hidden; }
}

/* Responsive page contract: compact tablet navigation, safe-area gutters,
   content-sized panels and a scrollable mobile menu in short viewports. */
.rt-black-white-page *, .rt-loading, .rt-loading *{ box-sizing: border-box; }
.rt-black-white-page__main{ scroll-margin-top: 96px; }
.rt-navigation__mobile-group{ padding-block: 12px; border-top: 1px solid var(--rt-border-subtle); }
.rt-navigation__mobile-group h2{
  margin: 0 16px 4px;
  font: 600 12px / 1.5 var(--rt-font-text);
  color: var(--rt-text-secondary);
}
.rt-navigation__mobile-group a{ display: flex; align-items: center; font-weight: 500; }
:is(.rt-navigation--dark,.rt-navigation--scrolled) .rt-navigation__mobile-group h2{ color: var(--rt-navy-200); }
:is(.rt-navigation--dark,.rt-navigation--scrolled) .rt-navigation__mobile-group{ border-color: rgb(255 255 255 / .15); }
@media (max-width: 1023px){
  .rt-navigation__inner{ grid-template-columns: minmax(0,1fr) auto; height: 72px; gap: 16px; }
  .rt-navigation__desktop{ display: none; }
  .rt-navigation__mobile{ display: block; }
  .rt-navigation__mobile-label{ display: inline; }
  .rt-navigation__mobile-toggle{ min-height: 44px; min-width: 80px; justify-content: center; }
  .rt-navigation__mobile-panel{
    width: min(360px, calc(100vw - 32px));
    max-height: calc(100dvh - 100px - env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    right: 0;
    top: calc(100% + 12px);
  }
  .rt-navigation__mobile-panel a{ min-height: 44px; line-height: 1.4; }
  .rt-black-white-page__main{ grid-template-columns: minmax(0,1fr); min-height: 0; }
  .rt-black-white-page__dark, .rt-black-white-page__light{ min-width: 0; min-height: 0; }
  .rt-black-white-page__title{ max-width: 12ch; font-size: clamp(3rem, 8vw, 5rem); line-height: 1.02; margin-top: 3rem; }
  .rt-black-white-page__light-title{ max-width: 20ch; margin-top: 2.5rem; }
}
@media (max-width: 600px){
  .rt-navigation__inner{
    padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px));
    height: 68px;
    min-height: 68px;
  }
  .rt-navigation__brand :is(.rt-logo, .rt-animated-logo){ max-width: 88px; }
  .rt-navigation__quote{ display: none; }
  .rt-navigation__mobile-panel{ width: min(360px, calc(100vw - 32px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))); }
  .rt-banner__item{ padding-inline: 24px; }
  .rt-banner__message{ font-size: 12px; letter-spacing: 0; }
  .rt-black-white-page__main{
    padding: 16px max(16px, env(safe-area-inset-right, 0px)) max(32px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    gap: 16px;
    scroll-margin-top: 84px;
  }
  .rt-black-white-page__dark, .rt-black-white-page__light{ padding: 24px; }
  .rt-black-white-page__title{ font-size: clamp(2.75rem, 11.5vw, 4.25rem); margin-top: 2.5rem; }
  .rt-black-white-page__light-title{ font-size: clamp(1.75rem, 7.5vw, 2.5rem); line-height: 1.12; margin-top: 2rem; }
  .rt-black-white-page__dark-note, .rt-black-white-page__light-copy{ max-width: 100%; font-size: 15px; }
  .rt-black-white-page__kicker, .rt-black-white-page__light-label{ font-size: 10px; letter-spacing: .1em; }
  .rt-loading__center{ width: calc(100% - 32px); padding-bottom: 64px; }
  .rt-loading__brand{ width: clamp(112px, 35vw, 160px); }
  .rt-loading__roller{ font-size: clamp(26px, 8.6vw, 48px); max-width: 100%; }
  .rt-loading__footer{ left: max(20px, env(safe-area-inset-left, 0px)); right: max(20px, env(safe-area-inset-right, 0px)); bottom: max(20px, env(safe-area-inset-bottom, 0px)); }
}
@media (max-height: 500px) and (orientation: landscape){
  .rt-loading__center{ padding: 0 16px 56px; }
  .rt-loading__brand{ width: 88px; margin-bottom: 12px; }
  .rt-loading__roller{ font-size: 28px; }
  .rt-loading__roller-line{ gap: 8px; }
  .rt-loading__descriptor{ margin-top: 8px; }
  .rt-loading__footer-copy{ margin-bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 600px){
  .rt-banner__message{ white-space: normal; text-align: center; line-height: 1.3; }
  .rt-banner__rail, .rt-banner__item{ min-width: 0; width: 100%; }
}

/* ---- ProductHero -------------------------------------------------------
   Figma-led image hero. The media is the section; a dark left-side gradient
   creates the reading surface for the headline and single primary CTA. */
.rt-product-hero{
  --rt-hero-delay: 0ms;
  position: relative;
  box-sizing: border-box;
  height: clamp(35rem, calc(100dvh - 7.25rem), 56rem);
  min-height: 35rem;
  overflow: clip;
  padding: 0;
  background: #071321;
  color: var(--rt-figma-white);
}
.rt-product-hero__inner{
  width: 100%;
  height: 100%;
  min-height: inherit;
  margin: 0;
}
.rt-product-hero__figure{ height: 100%; min-height: inherit; margin: 0; }
.rt-product-hero__media{
  position: relative;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  isolation: isolate;
  border: 0;
  border-radius: 0;
  background: #071321;
  box-shadow: none;
  animation: rt-product-hero-media-in 900ms calc(var(--rt-hero-delay) + 40ms) var(--rt-ease-entrance) both;
}
.rt-product-hero__media::before{
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgb(3 10 20 / 0.97) 0%, rgb(3 10 20 / 0.91) 28%, rgb(3 10 20 / 0.72) 51%, rgb(3 10 20 / 0.36) 73%, rgb(3 10 20 / 0.12) 100%),
    linear-gradient(180deg, rgb(3 10 20 / 0.18) 0%, transparent 42%, rgb(0 0 0 / 0.32) 100%);
}
.rt-product-hero__media::after{
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgb(255 255 255 / 0.12);
  border-radius: inherit;
}
.rt-product-hero__image{
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
  transform: scale(1.012);
  animation: rt-product-hero-image-in 1200ms calc(var(--rt-hero-delay) + 80ms) var(--rt-ease-entrance) both;
}
.rt-product-hero__grain{
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  opacity: 0.16;
  background-image:
    radial-gradient(circle at 18% 30%, rgb(255 255 255 / 0.15) 0 1px, transparent 1px),
    radial-gradient(circle at 70% 68%, rgb(255 255 255 / 0.12) 0 1px, transparent 1px);
  background-size: 5px 5px, 7px 7px;
  mix-blend-mode: soft-light;
}
.rt-product-hero__content{
  position: absolute;
  z-index: 3;
  top: 49%;
  left: clamp(1.5rem, 5vw, 5.5rem);
  width: min(64rem, calc(100% - clamp(3rem, 10vw, 11rem)));
  transform: translateY(-50%);
  animation: rt-product-hero-content-in 760ms calc(var(--rt-hero-delay) + 180ms) var(--rt-ease-entrance) both;
}
.rt-product-hero__eyebrow{
  margin: 0 0 var(--rt-space-4);
  color: rgb(255 255 255 / 0.72);
  font: 500 var(--rt-text-micro) / 1.2 var(--rt-font-ui);
  letter-spacing: var(--rt-tracking-eyebrow);
  text-transform: uppercase;
  animation: rt-product-hero-copy-in 560ms calc(var(--rt-hero-delay) + 260ms) var(--rt-ease-entrance) both;
}
.rt-product-hero__title{
  max-width: none;
  margin: 0;
  color: var(--rt-figma-white);
  font: 700 clamp(2.7rem, 4.5vw, 4.2rem) / 1.04 var(--rt-font-display);
  letter-spacing: -0.058em;
  text-wrap: pretty;
}
.rt-product-hero__typed-lines{ display: block; }
.rt-product-hero__typing-line{
  display: block;
  padding: 0.025em 0 0.12em;
}
.rt-product-hero__typing-line + .rt-product-hero__typing-line{ margin-top: -0.035em; }
.rt-product-hero__headline-segment{ display: inline; }
.rt-product-hero__headline-segment--editorial{
  font-family: var(--rt-font-editorial);
  font-style: italic;
  font-weight: 700;
  letter-spacing: -0.065em;
}
.rt-product-hero__typed-word{
  display: inline-block;
  white-space: nowrap;
}
.rt-product-hero__character{
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, 0.58em, 0);
  will-change: opacity, transform;
  animation: rt-product-hero-character-in 520ms calc(var(--rt-hero-delay) + var(--rt-character-delay)) var(--rt-ease-entrance) both;
}
.rt-product-hero__headline-segment--gold .rt-product-hero__character{
  color: transparent;
  background: linear-gradient(106deg, var(--rt-gold-600) 0%, var(--rt-gold-300) 28%, #FFF4C9 47%, var(--rt-gold-200) 61%, var(--rt-gold-700) 100%);
  background-size: 240% 100%;
  background-position: 100% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  animation:
    rt-product-hero-character-in 520ms calc(var(--rt-hero-delay) + var(--rt-character-delay)) var(--rt-ease-entrance) both,
    rt-product-hero-gold-shader 3200ms calc(var(--rt-hero-delay) + 2800ms) var(--rt-ease-standard) infinite;
}
.rt-product-hero__word{
  display: inline-block;
  overflow: hidden;
  margin-right: 0.18em;
  padding-bottom: 0.08em;
  vertical-align: top;
}
.rt-product-hero__word:last-child{ margin-right: 0; }
.rt-product-hero__word > span{
  display: block;
  animation: rt-product-hero-word-in 720ms calc(var(--rt-hero-delay) + var(--rt-word-delay)) var(--rt-ease-entrance) both;
}
.rt-product-hero__description{
  max-width: 34rem;
  margin: var(--rt-space-5) 0 0;
  color: rgb(255 255 255 / 0.78);
  font: 400 var(--rt-text-body) / 1.55 var(--rt-font-text);
  animation: rt-product-hero-copy-in 600ms calc(var(--rt-hero-delay) + 2400ms) var(--rt-ease-entrance) both;
}
.rt-product-hero__actions{
  display: flex;
  flex-wrap: wrap;
  gap: var(--rt-space-3);
  margin-top: var(--rt-space-5);
  animation: rt-product-hero-copy-in 600ms calc(var(--rt-hero-delay) + 2540ms) var(--rt-ease-entrance) both;
}
.rt-product-hero__primary-action{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 var(--rt-space-6);
  border: 1px solid rgb(255 255 255 / 0.16);
  border-radius: var(--rt-figma-cta-radius);
  background: var(--rt-gradient-figma-action);
  color: var(--rt-figma-white);
  font: 500 var(--rt-text-sm) / 1 var(--rt-font-ui);
  letter-spacing: -0.02em;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 10px 22px rgb(0 0 0 / 0.20);
  transition: transform var(--rt-duration-fast) var(--rt-ease-standard), background var(--rt-duration-fast) var(--rt-ease-standard), border-color var(--rt-duration-fast) var(--rt-ease-standard), color var(--rt-duration-fast) var(--rt-ease-standard);
}
.rt-product-hero__primary-action:hover{
  background: linear-gradient(110deg, var(--rt-gold-200), var(--rt-white) 86%);
  border-color: var(--rt-gold-200);
  color: var(--rt-navy-800);
  transform: translateY(-2px);
}
.rt-product-hero__primary-action:active{ transform: translateY(1px); }
.rt-product-hero__primary-action:focus-visible{ outline: none; box-shadow: var(--rt-focus-ring); }
@keyframes rt-product-hero-media-in{
  from{ opacity: 0; transform: scale(0.985); }
  to{ opacity: 1; transform: scale(1); }
}
@keyframes rt-product-hero-image-in{
  from{ opacity: 0; transform: scale(1.065); }
  to{ opacity: 1; transform: scale(1.012); }
}
@keyframes rt-product-hero-content-in{
  from{ opacity: 0; transform: translateY(calc(-50% + 1.25rem)); }
  to{ opacity: 1; transform: translateY(-50%); }
}
@keyframes rt-product-hero-character-in{
  from{ opacity: 0; transform: translate3d(0, 0.58em, 0); }
  to{ opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes rt-product-hero-gold-shader{
  0%, 100%{ background-position: 100% 50%; }
  50%{ background-position: 0% 50%; }
}
@keyframes rt-product-hero-word-in{
  from{ opacity: 0; transform: translateY(105%); }
  to{ opacity: 1; transform: translateY(0); }
}
@keyframes rt-product-hero-copy-in{
  from{ opacity: 0; transform: translateY(0.8rem); }
  to{ opacity: 1; transform: translateY(0); }
}
@media (max-width: 1023px){
  .rt-product-hero{ height: clamp(35rem, calc(100dvh - 7.25rem), 48rem); }
  .rt-product-hero__content{ width: min(58rem, calc(100% - 4rem)); }
  .rt-product-hero__title{ font-size: clamp(2.5rem, 6.2vw, 3.8rem); }
}
@media (max-width: 767px){
  .rt-product-hero{
    height: max(35rem, calc(100svh - 7.25rem));
    min-height: 35rem;
    padding: 0;
  }
  .rt-product-hero__inner,
  .rt-product-hero__figure{ height: 100%; min-height: 100%; }
  .rt-product-hero__media{
    height: 100%;
    min-height: 100%;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .rt-product-hero__media::after{ border-radius: 0; }
  .rt-product-hero__image{ min-height: 100%; }
  .rt-product-hero__content{
    top: auto;
    bottom: clamp(2rem, 8vw, 4rem);
    left: 1.25rem;
    width: calc(100% - 2.5rem);
    transform: none;
  }
  .rt-product-hero__title{
    max-width: 100%;
    font-size: clamp(2.2rem, 9.4vw, 3.3rem);
    line-height: 1.06;
    letter-spacing: -0.06em;
  }
  .rt-product-hero__description{
    max-width: 30rem;
    margin-top: var(--rt-space-5);
    font-size: 0.95rem;
  }
  .rt-product-hero__actions{ margin-top: var(--rt-space-5); }
  .rt-product-hero__primary-action{ width: min(100%, 15rem); }
  @keyframes rt-product-hero-content-in{
    from{ opacity: 0; transform: translateY(1.25rem); }
    to{ opacity: 1; transform: translateY(0); }
  }
}
/* ---- TrustedBrands -----------------------------------------------------
   A compact proof band intended to sit immediately after the hero. The dark
   navy field holds the page together while the marks keep their own space. */
.rt-trusted-brands{
  position: relative;
  overflow: hidden;
  padding: clamp(0.8rem, 1.5vw, 1rem) 0 clamp(0.85rem, 1.8vw, 1.15rem);
  background: var(--rt-figma-navy);
  color: var(--rt-figma-white);
  border-top: 1px solid rgb(255 255 255 / 0.14);
}
.rt-trusted-brands__inner{
  width: min(100%, var(--rt-container-wide));
  margin-inline: auto;
  padding-inline: var(--rt-gutter);
}
.rt-trusted-brands__title{
  margin: 0;
  color: inherit;
  font: var(--rt-weight-semibold) clamp(0.88rem, 0.9vw, 1rem) / 1.2 var(--rt-font-display);
  letter-spacing: var(--rt-tracking-tight);
  text-align: center;
}
.rt-trusted-brands__viewport{
  width: min(100%, var(--rt-container-wide));
  box-sizing: border-box;
  margin: clamp(0.65rem, 1vw, 0.85rem) auto 0;
  padding-inline: var(--rt-gutter);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.rt-trusted-brands__track{
  display: flex;
  width: max-content;
  min-width: 100%;
  animation: rt-trusted-brands-scroll 72s linear infinite;
  will-change: transform;
}
.rt-trusted-brands__sequence{
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: clamp(0.8rem, 1.7vw, 1.35rem);
  padding: 0 clamp(0.8rem, 1.7vw, 1.35rem) 0 0;
  min-width: 100vw;
  justify-content: space-around;
}
.rt-trusted-brands__brand{
  position: relative;
  display: block;
  box-sizing: border-box;
  overflow: hidden;
  width: 128px;
  height: 48px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0.32rem 0.52rem;
  border: 1px solid rgb(12 33 94 / 0.1);
  border-radius: var(--rt-radius-md);
  background: var(--rt-white);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.78);
}
.rt-trusted-brands__brand img{
  position: absolute;
  inset: 8px;
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  object-fit: contain;
  object-position: center;
  transform: none;
  transform-origin: center;
  opacity: 1;
}
.rt-trusted-brands__brand img[src$="aisin.png"],
.rt-trusted-brands__brand img[src$="eastman.png"],
.rt-trusted-brands__brand img[src$="kixx.png"]{ transform: scale(2.3); }
.rt-trusted-brands__brand img[src$="castrol.png"]{ transform: scale(1.65); }
.rt-trusted-brands__brand img[src$="mobil.png"]{ transform: scale(1.8); }
@keyframes rt-trusted-brands-scroll{
  to{ transform: translate3d(-50%, 0, 0); }
}
@media (max-width: 560px){
  .rt-trusted-brands{
    padding-top: 0.75rem;
    padding-bottom: 0.85rem;
  }
  .rt-trusted-brands__viewport{
    margin-top: 0.6rem;
    padding-inline: 0.75rem;
  }
  .rt-trusted-brands__track{ animation-duration: 54s; }
  .rt-trusted-brands__sequence{
    gap: 0.7rem;
    padding: 0 0.7rem 0 0;
  }
  .rt-trusted-brands__brand{
    width: 112px;
    height: 44px;
    padding: 0.24rem 0.35rem;
  }
}
/* ---- ProductPoster -----------------------------------------------------
   The supplied product artwork is the complete section. Do not rebuild it as
   a hero, card grid, or second text-and-image layout. */
.rt-product-poster{
  position: relative;
  overflow: clip;
  background: var(--rt-white);
  color: var(--rt-text-primary);
}
.rt-product-poster__headline{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.rt-product-poster__figure{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
  background: var(--rt-white);
}
.rt-product-poster__image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.012) translate3d(0, 0, 0);
  animation: rt-product-poster-float 8s var(--rt-ease-standard) infinite;
  will-change: transform;
}
@keyframes rt-product-poster-float{
  0%, 100%{ transform: scale(1.012) translate3d(0, 0, 0); }
  50%{ transform: scale(1.012) translate3d(0, -0.75%, 0); }
}
/* ---- Industry reviews ------------------------------------------------- */
.rt-industry-reviews{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--rt-figma-navy);
  background-image:
    repeating-linear-gradient(132deg,
      rgb(6 20 62 / 0.12) 0,
      transparent 65px,
      rgb(62 96 181 / 0.18) 135px,
      rgb(62 96 181 / 0.06) 180px,
      transparent 225px,
      rgb(6 20 62 / 0.12) 310px),
    linear-gradient(120deg, #163783, #142f78 55%, #102960);
  color: white;
  padding: clamp(3.5rem, 7vw, 7rem) var(--rt-gutter);
  font-family: var(--rt-font-text);
}
.rt-industry-reviews::before{
  content: "";
  position: absolute;
  z-index: -1;
  inset: -360px;
  pointer-events: none;
  background: repeating-linear-gradient(132deg, transparent 0, rgb(92 133 235 / .13) 120px, transparent 245px, rgb(0 8 38 / .13) 310px, transparent 360px);
  animation: rt-review-texture 24s ease-in-out infinite alternate;
}
@keyframes rt-review-texture{ to{ transform: translate3d(180px, 120px, 0); } }
.rt-industry-reviews__inner{ max-width: var(--rt-container-wide); margin-inline: auto; }
.rt-industry-reviews__viewport{ overflow: hidden; padding-block: 12px 24px; }
.rt-industry-reviews__viewport:focus-visible{ outline: 2px solid white; outline-offset: 4px; }
.rt-industry-reviews__track{ display: flex; width: max-content; animation: rt-review-scroll 48s linear infinite; }
.rt-industry-reviews__sequence{ display: flex; gap: 20px; padding-right: 20px; flex-shrink: 0; }
.rt-industry-reviews__sequence .rt-industry-reviews__card{ box-sizing: border-box; width: clamp(280px, 30vw, 400px); flex-shrink: 0; }
@keyframes rt-review-scroll{ to{ transform: translate3d(-50%, 0, 0); } }
.rt-industry-reviews__viewport:hover .rt-industry-reviews__track,
.rt-industry-reviews__viewport:focus-within .rt-industry-reviews__track,
.rt-industry-reviews__pause[open] ~ .rt-industry-reviews__viewport .rt-industry-reviews__track{ animation-play-state: paused; }
.rt-industry-reviews:has(.rt-industry-reviews__pause[open])::before{ animation-play-state: paused; }
.rt-industry-reviews__pause{ width: fit-content; margin: 0 0 8px auto; color: #d5def2; font-size: .8rem; }
.rt-industry-reviews__pause summary{ cursor: pointer; padding: 10px 12px; border: 1px solid rgb(255 255 255 / .3); border-radius: 6px; }
@media (prefers-reduced-motion: reduce){
  .rt-industry-reviews::before, .rt-industry-reviews__track{ animation: none; }
  .rt-industry-reviews__viewport{ overflow-x: auto; }
  .rt-industry-reviews__sequence[aria-hidden="true"], .rt-industry-reviews__pause{ display: none; }
}
.rt-industry-reviews__header{ text-align: center; max-width: 56rem; margin: 0 auto 2rem; }
.rt-industry-reviews__header h2{ margin: 0; color: inherit; font: 500 clamp(2rem, 3.8vw, 3.7rem)/1.12 var(--rt-font-text); letter-spacing: -0.045em; }
.rt-industry-reviews__header h2 span{ color: #b5c5e6; }
.rt-industry-reviews__header p{ max-width: 38rem; margin: 1.5rem auto 0; color: #c6d3eb; line-height: 1.7; }
.rt-industry-reviews__notice{ color: #c6d3eb; text-align: center; font-size: 0.75rem; line-height: 1.6; margin: 0 0 1.75rem; }
.rt-industry-reviews__grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.rt-industry-reviews__card{ display: flex; flex-direction: column; position: relative; margin: 0; padding: clamp(1.5rem, 2.5vw, 2.5rem); background: #fff; color: #0c215e; border: 1px solid rgb(255 255 255 / .3); border-radius: 8px; transition: transform 400ms ease, box-shadow 400ms ease; }
.rt-industry-reviews__card--featured{ background: #07183f; color: white; border-color: #c5a85b; }
.rt-industry-reviews__topic{ display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
.rt-industry-reviews__topic > span{ font-size: 1.3rem; font-weight: 650; letter-spacing: -.03em; }
.rt-industry-reviews__topic small{ font-size: .7rem; font-weight: 500; opacity: .75; }
.rt-industry-reviews__quote-mark{ font: 500 4rem/1 var(--rt-font-text); color: #b5862a; height: 3rem; margin-top: 2rem; }
.rt-industry-reviews__card blockquote{ margin: 0 0 2rem; flex: 1; }
.rt-industry-reviews__card blockquote p{ margin: 0; font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.65; letter-spacing: -.025em; }
.rt-industry-reviews__attribution{ display: flex; flex-direction: column; gap: .5rem; padding-top: 1.25rem; border-top: 1px solid rgb(12 33 94 / .15); }
.rt-industry-reviews__attribution strong{ font-size: .9rem; font-weight: 600; }
.rt-industry-reviews__attribution span{ font-size: .75rem; opacity: .75; }
.rt-industry-reviews__card--featured .rt-industry-reviews__attribution{ border-color: rgb(255 255 255 / .2); }
.rt-industry-reviews__footer{ display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid rgb(255 255 255 / .18); }
.rt-industry-reviews__footer h3{ font-size: clamp(1.3rem, 2vw, 1.75rem); letter-spacing: -.025em; font-weight: 500; margin: 0; }
.rt-industry-reviews__footer p{ font-size: .9rem; color: #c6d3eb; margin: .75rem 0 0; line-height: 1.6; }
.rt-industry-reviews__footer a{ display: inline-flex; gap: 1.5rem; align-items: center; padding: 1rem 1.25rem; background: var(--rt-gradient-droplet); color: #090806; border-radius: 6px; text-decoration: none; font-weight: 600; font-size: .85rem; white-space: nowrap; transition: transform 300ms ease; }
.rt-industry-reviews__footer a:focus-visible{ outline: 2px solid white; outline-offset: 5px; }
@media (hover: hover){
  .rt-industry-reviews__card:hover{ transform: translateY(-5px); box-shadow: 0 16px 30px rgb(0 0 0 / .16); }
  .rt-industry-reviews__footer a:hover{ transform: translateY(-2px); }
}
@media (max-width: 800px){
  .rt-industry-reviews__grid{ grid-template-columns: 1fr; }
  .rt-industry-reviews__card{ padding: 1.75rem; }
  .rt-industry-reviews__footer{ flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px){ .rt-industry-reviews{ padding-inline: 1rem; } .rt-industry-reviews__header h2 br{ display: none; } }
@media (prefers-reduced-motion: reduce){ .rt-industry-reviews__card, .rt-industry-reviews__footer a{ transition: none; transform: none !important; } }
.rt-industry-reviews--wall{ background-color: #173580; color: white; padding-inline: 0; }
.rt-industry-reviews--wall::before{ opacity: .85; }
.rt-industry-reviews--wall .rt-industry-reviews__inner{ max-width: none; }
.rt-industry-reviews--wall .rt-industry-reviews__header{ padding-inline: 1.25rem; margin-bottom: 2.25rem; }
.rt-industry-reviews--wall .rt-industry-reviews__header h2{ font-size: clamp(1.9rem, 3.3vw, 3rem); font-weight: 600; }
.rt-industry-reviews--wall .rt-industry-reviews__header p{ color: #d3ddf2; margin-top: .9rem; font-size: .95rem; }
.rt-industry-reviews__disclosure{ display: block; margin-top: .8rem; color: #c2cee7; font-size: .75rem; }
.rt-industry-reviews--wall .rt-industry-reviews__viewport{ padding: 8px 0; }
.rt-industry-reviews--wall .rt-industry-reviews__sequence{ gap: 16px; padding-right: 16px; }
.rt-industry-reviews--wall .rt-industry-reviews__card{ background: #fff; color: #0c215e; width: clamp(300px, 33vw, 440px); border: 1px solid #d8b766; border-radius: 10px; padding: 1.5rem; box-shadow: inset 0 0 0 1px rgb(216 183 102 / .16), 0 4px 12px rgb(4 15 47 / .15); }
.rt-industry-reviews--wall .rt-industry-reviews__card blockquote{ margin-bottom: 1.4rem; }
.rt-industry-reviews--wall .rt-industry-reviews__card blockquote p{ font-size: 1rem; line-height: 1.65; }
.rt-industry-reviews__person{ display: flex; align-items: center; gap: .8rem; }
.rt-industry-reviews__person strong{ display: block; font-size: .9rem; font-weight: 600; }
.rt-industry-reviews__person small{ display: block; font-size: .75rem; color: #52617e; margin-top: .25rem; }
.rt-industry-reviews__avatar{ position: relative; display: block; flex: 0 0 42px; height: 42px; border-radius: 50%; overflow: hidden; background: #d7e0f1; }
.rt-industry-reviews__avatar i{ position: absolute; width: 14px; height: 14px; border-radius: 50%; background: #788bab; top: 7px; left: 14px; }
.rt-industry-reviews__avatar b{ position: absolute; width: 30px; height: 24px; border-radius: 50% 50% 0 0; background: #788bab; top: 24px; left: 6px; }
.rt-industry-reviews__viewport--row-1 .rt-industry-reviews__track{ animation-direction: reverse; animation-duration: 54s; }
.rt-industry-reviews--wall:has(.rt-industry-reviews__viewport:hover)::before,
.rt-industry-reviews--wall:has(.rt-industry-reviews__viewport:focus)::before{ animation-play-state: paused; }
/* ---- Global industry / rotating orthographic globe ------------------- */
.rt-borders{ position: relative; isolation: isolate; overflow: hidden; padding-top: clamp(4rem, 7vw, 7rem); background: #f0f2f5; color: var(--rt-figma-navy); font-family: var(--rt-font-text); }
.rt-borders__inner{ position: relative; z-index: 2; max-width: 1360px; margin-inline: auto; padding-inline: clamp(1.25rem, 5vw, 5rem); }
.rt-borders__header{ display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.rt-borders__eyebrow{ display: block; color: #536684; font-size: .7rem; letter-spacing: .16em; margin-bottom: 1.25rem; }
.rt-borders__header h2{ margin: 0; font: 500 clamp(2.8rem, 5.7vw, 5.5rem)/1.04 var(--rt-font-text); letter-spacing: -.055em; }
.rt-borders__header p{ max-width: 340px; margin: 0 0 .4rem; color: #52617e; font-size: clamp(.9rem, 1.2vw, 1.05rem); line-height: 1.7; }
.rt-borders__stats{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rt-borders__stat{ padding: clamp(1rem, 2vw, 1.75rem); border: 1px solid rgb(12 33 94 / .08); border-radius: 12px; background: rgb(255 255 255 / .95); }
.rt-borders__stat > span{ display: flex; justify-content: space-between; gap: .5rem; color: #52617e; font-size: .65rem; text-transform: uppercase; letter-spacing: .03em; }
.rt-borders__stat i{ font-style: normal; color: #5f6d84; }
.rt-borders__stat strong{ display: flex; align-items: flex-start; gap: .75rem; margin-top: 1.6rem; font-size: clamp(2.8rem, 5.5vw, 5.5rem); font-weight: 400; line-height: 1; letter-spacing: -.065em; font-variant-numeric: tabular-nums; }
.rt-borders__stat b{ color: #986b00; font-size: 1.5rem; font-weight: 400; letter-spacing: 0; }
.rt-borders__earth{ position: relative; z-index: 1; height: clamp(340px, 48vw, 620px); margin-top: -65px; overflow: hidden; }
.rt-borders__earth svg{ display: block; width: max(760px, min(125vw, 1600px)); max-width: none; height: auto; position: absolute; left: 50%; top: 0; transform: translateX(-50%); }
.rt-borders__legend{ position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: .6rem; padding: 1.25rem; border-top: 1px solid rgb(12 33 94 / .08); background: #f0f2f5; color: #52617e; font-size: .75rem; }
.rt-borders__legend > span{ width: 8px; height: 8px; border-radius: 50%; background: var(--rt-figma-navy); }
@media(max-width: 700px){
  .rt-borders__header{ align-items: flex-start; flex-direction: column; gap: 1.25rem; }
  .rt-borders__stats{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .rt-borders__stat strong{ margin-top: 1rem; }
  .rt-borders__earth{ margin-top: -24px; }
  .rt-borders__legend{ font-size: .65rem; }
}
/* ---- Dedicated product catalogue ------------------------------------ */
.rt-catalog{ background:#f7f8fa; color:var(--rt-figma-navy); font-family:var(--rt-font-text); }
.rt-catalog *{ box-sizing:border-box; }
.rt-catalog a{ color:inherit; text-decoration:none; }
.rt-catalog button,.rt-catalog input{ font:inherit; }
.rt-catalog :focus-visible{ outline:2px solid #b5862a; outline-offset:4px; }
.rt-catalog [hidden]{ display:none !important; }
.rt-catalog__skip{ position:fixed; top:-100px; left:20px; z-index:20; padding:12px; background:white; }
.rt-catalog__skip:focus{ top:12px; }
.rt-catalog__nav{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:16px clamp(20px,5vw,80px); background:white; border-bottom:1px solid #dce2ed; }
.rt-catalog__nav img{ display:block; object-fit:contain; }
.rt-catalog__nav nav{ display:flex; align-items:center; gap:clamp(20px,3vw,48px); font-size:.8rem; }
.rt-catalog__nav nav a{ display:flex; align-items:center; min-height:44px; }
.rt-catalog__nav nav a:last-child{ background:var(--rt-figma-navy); color:white; padding:0 20px; border-radius:4px; }
.rt-catalog__hero{ display:grid; grid-template-columns:1.1fr 1fr; min-height:560px; }
.rt-catalog__hero-copy{ background:var(--rt-figma-navy); color:white; padding:clamp(40px,6vw,96px) clamp(24px,5vw,80px); }
.rt-catalog__eyebrow{ display:block; font-size:.65rem; letter-spacing:.16em; font-weight:600; }
.rt-catalog__hero-copy>.rt-catalog__eyebrow{ color:#d6bf7c; }
.rt-catalog__hero h1{ font:500 clamp(38px,4.5vw,72px)/1.08 var(--rt-font-text); letter-spacing:-.055em; color:white; margin:24px 0; }
.rt-catalog__hero h1 em{ color:#becde9; font-style:normal; }
.rt-catalog__hero-copy>p{ color:#c7d3e9; max-width:440px; font-size:.9rem; line-height:1.85; }
.rt-catalog__hero-copy>a{ display:inline-flex; gap:32px; align-items:center; border-bottom:1px solid #d2a53d; padding:16px 0; margin-top:16px; font-size:.85rem; }
.rt-catalog__hero-meta{ display:flex; flex-wrap:wrap; gap:18px; margin-top:40px; padding-top:22px; border-top:1px solid #354a7b; color:#c7d3e9; font-size:.65rem; }
.rt-catalog__hero-meta b{ font-size:1.1rem; color:white; font-weight:500; padding-right:5px; }
.rt-catalog__hero-art{ position:relative; overflow:hidden; min-height:460px; background:radial-gradient(ellipse at 50% 25%,#fff,#e9edf3 70%); }
.rt-catalog__outline{ position:absolute; top:10%; left:5%; color:transparent; -webkit-text-stroke:1px #c9d3e0; font-size:clamp(48px,6vw,100px); font-weight:800; letter-spacing:-.06em; }
.rt-catalog__hero-bottle{ position:absolute; object-fit:contain; mix-blend-mode:multiply; transition:transform .5s ease; }
.rt-catalog__hero-bottle--left{ width:43%; height:57%; left:0; bottom:13%; }
.rt-catalog__hero-bottle--right{ width:39%; height:60%; right:0; bottom:14%; }
.rt-catalog__hero-bottle--main{ width:47%; height:73%; left:28%; bottom:12%; }
.rt-catalog__plinth{ position:absolute; bottom:11%; left:7%; width:87%; height:14%; background:#dde3ec; border-radius:50%; box-shadow:0 25px 35px -20px #99a8be; }
.rt-catalog__art-label{ position:absolute; bottom:5%; width:100%; text-align:center; font-size:.55rem; letter-spacing:.15em; color:#52617e; }
.rt-catalog__collection{ max-width:1540px; margin:auto; padding:clamp(48px,7vw,100px) clamp(20px,5vw,80px); scroll-margin-top:20px; }
.rt-catalog__collection-heading{ display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.rt-catalog__collection-heading .rt-catalog__eyebrow{ color:#52617e; }
.rt-catalog h2{ font:500 clamp(30px,3.4vw,52px)/1.12 var(--rt-font-text); letter-spacing:-.045em; margin:16px 0 0; }
.rt-catalog__search{ width:min(100%,340px); flex-shrink:0; }
.rt-catalog__search>span{ display:block; font-size:.7rem; margin-bottom:10px; color:#52617e; }
.rt-catalog__search input{ width:100%; border:1px solid #cfd8e7; border-radius:4px; padding:14px 16px; background:white; color:var(--rt-figma-navy); font-size:14px; min-height:48px; }
.rt-catalog__toolbar{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin:32px 0 24px; }
.rt-catalog__filters{ display:flex; flex-wrap:wrap; gap:8px; }
.rt-catalog__filters button{ min-height:44px; padding:10px 14px; border:1px solid #d6deea; border-radius:4px; background:white; color:#52617e; cursor:pointer; font-size:.7rem; transition:background .2s,color .2s; }
.rt-catalog__filters button[aria-pressed="true"]{ background:var(--rt-figma-navy); color:white; border-color:var(--rt-figma-navy); }
.rt-catalog [data-result-count]{ white-space:nowrap; color:#52617e; font-size:.7rem; }
.rt-catalog__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:start; }
.rt-catalog__card{ min-width:0; background:white; border:1px solid #e0e5ee; border-radius:6px; overflow:hidden; transition:box-shadow .25s,border-color .25s; }
.rt-catalog__card:hover{ border-color:#b9c5d9; box-shadow:0 15px 30px -22px #0c215e; }
.rt-catalog__media{ position:relative; aspect-ratio:1; background:#f0f2f5; padding:36px 24px 20px; overflow:hidden; }
.rt-catalog__media img{ display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .4s ease; }
.rt-catalog__card:hover .rt-catalog__media img{ transform:translateY(-5px) scale(1.035); }
.rt-catalog__number,.rt-catalog__format{ position:absolute; top:14px; z-index:1; font-size:.6rem; color:#52617e; }
.rt-catalog__number{ left:16px; font-variant-numeric:tabular-nums; }
.rt-catalog__format{ right:16px; }
.rt-catalog__card-content{ padding:20px; transition:background .25s,color .25s; }
.rt-catalog__category{ font-size:.55rem; letter-spacing:.08em; text-transform:uppercase; color:#52617e; }
.rt-catalog__card h3{ font:600 1rem/1.45 var(--rt-font-text); margin:10px 0 20px; min-height:2.9em; }
.rt-catalog__card summary{ min-height:44px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #e0e5ee; padding-top:10px; cursor:pointer; font-size:.75rem; list-style:none; }
.rt-catalog__card summary::-webkit-details-marker{ display:none; }
.rt-catalog__card details[open] summary span{ transform:rotate(90deg); }
.rt-catalog__card:hover .rt-catalog__card-content{ background:var(--rt-figma-navy); color:white; }
.rt-catalog__card:hover .rt-catalog__category{ color:#c7d3e9; }
.rt-catalog__details{ font-size:.75rem; line-height:1.7; }
.rt-catalog__details dl>div{ display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid #c7d3e955; padding:6px 0; }
.rt-catalog__details dd{ margin:0; }
.rt-catalog__note{ font-size:.65rem; opacity:.85; }
.rt-catalog__empty{ text-align:center; padding:60px 20px; border:1px solid #d6deea; }
.rt-catalog__empty button{ border:0; background:var(--rt-figma-navy); color:white; padding:14px 24px; cursor:pointer; border-radius:4px; }
.rt-catalog__bulk{ display:grid; grid-template-columns:1fr 1fr; gap:40px; background:var(--rt-figma-navy); color:white; padding:clamp(40px,6vw,80px) clamp(24px,5vw,80px); }
.rt-catalog__bulk .rt-catalog__eyebrow{ color:#d6bf7c; }
.rt-catalog__bulk h2{ color:white; }
.rt-catalog__bulk>div:last-child{ align-self:center; max-width:440px; }
.rt-catalog__bulk p{ font-size:.95rem; line-height:1.8; color:#c7d3e9; }
.rt-catalog__bulk a{ display:inline-flex; gap:30px; padding:14px 20px; border:1px solid #d2a53d; border-radius:4px; font-size:.8rem; }
.rt-catalog__footer{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; padding:32px clamp(20px,5vw,80px); background:white; font-size:.75rem; }
.rt-catalog__footer>a:first-child{ font-weight:800; font-size:1.3rem; }
.rt-catalog__footer>a:first-child span{ display:block; font-weight:400; font-size:.6rem; margin-top:8px; color:#52617e; }
@media(max-width:1100px){.rt-catalog__grid{grid-template-columns:repeat(3,minmax(0,1fr));}.rt-catalog__hero{grid-template-columns:1fr 1fr;}.rt-catalog__toolbar{align-items:flex-start;}.rt-catalog__collection-heading{align-items:flex-start;flex-direction:column;}}
@media(max-width:740px){.rt-catalog__hero{grid-template-columns:1fr;}.rt-catalog__hero-art{min-height:300px;}.rt-catalog__hero h1{font-size:clamp(38px,8vw,58px);}.rt-catalog__hero-copy{padding:44px 24px;}.rt-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.rt-catalog__nav img{width:120px;height:46px;}.rt-catalog__nav nav{gap:14px;font-size:.7rem;}.rt-catalog__nav nav a:last-child{padding:0 10px;}.rt-catalog__toolbar{flex-direction:column;gap:12px;}.rt-catalog__search{width:100%;}.rt-catalog__search input{font-size:16px;}.rt-catalog__bulk{grid-template-columns:1fr;gap:24px;}.rt-catalog__card-content{padding:16px;}}
@media(max-width:480px){.rt-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.rt-catalog__media{aspect-ratio:1;padding:26px 10px 10px;}.rt-catalog__number,.rt-catalog__format{top:9px;font-size:.55rem;}.rt-catalog__number{left:10px;}.rt-catalog__format{right:10px;}.rt-catalog__card-content{padding:12px;}.rt-catalog__category{font-size:.5rem;}.rt-catalog__card h3{min-height:2.7em;margin:6px 0 10px;font-size:.84rem;line-height:1.35;}.rt-catalog__detail-link{min-height:40px;padding-top:8px;font-size:.72rem;}.rt-catalog__card-content .rt-buy-controls{flex-direction:column;align-items:stretch;gap:6px;margin:8px 0;}.rt-catalog__card-content .rt-buy-controls label{flex-direction:row;align-items:center;justify-content:space-between;font-size:.68rem;}.rt-catalog__card-content .rt-buy-controls input{width:56px;min-height:40px;}.rt-catalog__card-content .rt-buy-controls button{align-self:stretch;min-height:44px;padding:10px;font-size:.72rem;}.rt-catalog__card-content .rt-datasheet{margin-top:8px;}.rt-catalog__card-content .rt-datasheet a,.rt-catalog__card-content .rt-datasheet button{min-height:44px;padding:10px;font-size:.6rem;letter-spacing:.02em;}.rt-datasheet__verb{display:none;}.rt-catalog__nav{padding:12px 16px;}.rt-catalog__nav nav a:first-child{display:none;}.rt-catalog__hero-art{min-height:330px;}.rt-catalog__footer{align-items:flex-start;flex-direction:column;}.rt-catalog__footer a{min-height:44px;display:inline-flex;justify-content:center;flex-direction:column;}}
@media(prefers-reduced-motion:reduce){.rt-catalog *{scroll-behavior:auto;transition:none!important;}.rt-catalog__card:hover .rt-catalog__media img{transform:none;}}
.rt-datasheet{ margin-top:16px; }
.rt-datasheet a,.rt-datasheet button{ display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:12px 14px; border:1px solid #0c215e; border-radius:4px; background:#0c215e; color:white; font:inherit; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; text-decoration:none; transition:background .25s,border-color .25s,color .25s,transform .25s; }
.rt-datasheet a:hover,.rt-datasheet a:focus-visible{ background:#d2a53d; border-color:#d2a53d; color:#0c215e; transform:translateY(-2px); }
.rt-catalog__card:hover .rt-datasheet a{ background:white; border-color:white; color:var(--rt-figma-navy); }
.rt-datasheet button:disabled{ opacity:.65; cursor:not-allowed; }
.rt-datasheet small{ display:block; margin-top:6px; font-size:.6rem; line-height:1.5; opacity:.8; }
.rt-product-detail__actions .rt-datasheet{ margin-top:0; }
.rt-product-detail__actions .rt-datasheet a{ background:var(--rt-figma-navy); color:white; border-color:var(--rt-figma-navy); }
/* ---- Individual product pages --------------------------------------- */
.rt-catalog__detail-link{ display:flex; align-items:center; justify-content:space-between; min-height:44px; padding-top:12px; border-top:1px solid #c7d3e955; font-size:.8rem; }
.rt-product-detail__breadcrumbs{ display:flex; flex-wrap:wrap; gap:12px; max-width:1440px; margin:auto; padding:24px clamp(20px,5vw,80px); font-size:.7rem; color:#52617e; }
.rt-product-detail__hero{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,80px); max-width:1440px; margin:auto; padding:12px clamp(20px,5vw,80px) 72px; }
.rt-product-detail__visual{ background:#edf0f5; border:1px solid #dce3ee; border-radius:8px; display:flex; flex-direction:column; align-items:center; padding:24px; min-width:0; }
.rt-product-detail__visual>span{ align-self:flex-start; font-size:.6rem; color:#52617e; letter-spacing:.12em; }
.rt-product-detail__visual>a{ display:block; width:100%; flex:1; }
.rt-product-detail__visual img{ display:block; width:100%; height:clamp(340px,38vw,540px); object-fit:contain; mix-blend-mode:multiply; padding:24px; transition:transform .35s ease; }
.rt-product-detail__visual>a:hover img{ transform:scale(1.035); }
.rt-product-detail__visual>small{ font-size:.65rem; color:#52617e; }
.rt-product-detail__intro{ align-self:center; }
.rt-product-detail__back{ display:inline-flex; align-items:center; min-height:44px; margin-bottom:20px; color:#52617e!important; font-size:.75rem; }
.rt-product-detail__intro>.rt-catalog__eyebrow{ color:#775300; }
.rt-product-detail h1{ font:500 clamp(34px,4vw,64px)/1.08 var(--rt-font-text); letter-spacing:-.045em; margin:18px 0; }
.rt-product-detail__intro>p{ font-size:.9rem; line-height:1.85; color:#52617e; }
.rt-product-detail__intro .rt-product-detail__lead{ font-size:1.1rem; color:var(--rt-figma-navy); }
.rt-product-detail__tags{ display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.rt-product-detail__tags span{ border:1px solid #cfd8e7; background:white; padding:8px 12px; font-size:.65rem; border-radius:3px; }
.rt-product-detail__actions{ display:flex; flex-direction:column; gap:12px; margin:28px 0 16px; }
.rt-product-detail__actions a{ display:flex; min-height:48px; padding:14px 20px; align-items:center; justify-content:space-between; border:1px solid #cfd8e7; border-radius:4px; font-size:.8rem; }
.rt-product-detail__actions a:first-child{ background:var(--rt-figma-navy); color:white; border-color:var(--rt-figma-navy); }
.rt-product-detail__intro>small{ display:block; color:#52617e; font-size:.65rem; line-height:1.7; }
.rt-product-detail__body{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,80px); max-width:1440px; margin:auto; padding:0 clamp(20px,5vw,80px) 72px; }
.rt-product-detail__specs{ padding-top:32px; border-top:1px solid #cfd8e7; }
.rt-product-detail__specs dl{ margin-top:30px; }
.rt-product-detail__specs dl>div{ display:grid; grid-template-columns:1fr 1.2fr; gap:20px; padding:16px 0; border-bottom:1px solid #dce3ee; font-size:.8rem; line-height:1.65; }
.rt-product-detail__specs dt{ color:#52617e; }
.rt-product-detail__specs dd{ margin:0; }
.rt-product-detail__order{ padding:clamp(24px,3vw,40px); background:var(--rt-figma-navy); color:white; border-radius:6px; scroll-margin-top:24px; }
.rt-product-detail__order h2{ color:white; }
.rt-product-detail__order>.rt-catalog__eyebrow{ color:#d6bf7c; }
.rt-product-detail__order ol{ padding-left:20px; margin:28px 0; }
.rt-product-detail__order li{ padding-left:6px; margin-bottom:16px; font-size:.8rem; line-height:1.8; color:#c7d3e9; }
.rt-product-detail__order li::marker{ color:#d6bf7c; }
.rt-product-detail__order-note{ border-top:1px solid #415584; padding-top:22px; font-size:.8rem; line-height:1.8; }
.rt-product-detail__order-note p{ color:#c7d3e9; }
.rt-product-detail__order>a{ display:inline-flex; align-items:center; min-height:48px; border-bottom:1px solid #d2a53d; font-size:.8rem; }
.rt-product-detail__related{ max-width:1440px; margin:auto; padding:0 clamp(20px,5vw,80px) 72px; }
.rt-product-detail__related-heading{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.rt-product-detail__related-heading>a{ display:inline-flex; align-items:center; min-height:44px; font-size:.8rem; }
.rt-product-detail__related>p{ color:#52617e; font-size:.75rem; line-height:1.7; margin:20px 0 28px; }
.rt-product-detail__related .rt-catalog__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:800px){
 .rt-product-detail__hero,.rt-product-detail__body{grid-template-columns:1fr;gap:28px;padding-bottom:48px;}
 .rt-product-detail__visual img{height:360px;padding:16px;}
 .rt-product-detail__related-heading{align-items:flex-start;flex-direction:column;gap:12px;}
 .rt-product-detail__related .rt-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:480px){.rt-product-detail__related .rt-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));}.rt-product-detail__related .rt-catalog__card:nth-child(3){display:none;}.rt-product-detail__visual{padding:16px;}.rt-product-detail__visual img{height:310px;}.rt-product-detail__specs dl>div{gap:12px;}}
@media(prefers-reduced-motion:reduce){.rt-product-detail__visual>a:hover img{transform:none;}}
/* ---- Cart and order-request checkout -------------------------------- */
.rt-buy-controls{ display:flex; align-items:stretch; gap:8px; margin:12px 0; }
.rt-buy-controls label{ display:flex; flex-direction:column; gap:3px; font-size:10px; }
.rt-buy-controls input{ width:62px; min-height:44px; padding:8px; border:1px solid #bcc9dd; border-radius:4px; background:white; color:#0c215e; font:inherit; font-size:16px; }
.rt-buy-controls button,.rt-commerce-primary{ display:inline-flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 20px; min-height:48px; border:1px solid #0c215e; border-radius:4px; color:white!important; background:#0c215e; font:inherit; font-size:.8rem; cursor:pointer; text-decoration:none; }
.rt-buy-controls button{ flex:1; align-self:flex-end; padding:12px; }
.rt-catalog__card:hover .rt-buy-controls button{ border-color:#d2a53d; }
.rt-cart-link{ gap:8px; white-space:nowrap; }
.rt-cart-link [data-cart-count]{ min-width:22px; text-align:center; border:1px solid currentColor; border-radius:30px; padding:2px 5px; font-size:.7rem; }
.rt-commerce-status{ font-size:.8rem; color:#224872; }
.rt-commerce-status:empty{ display:none; }
.rt-commerce-status--catalog{ position:sticky; top:0; z-index:10; background:#f1f6ff; padding:14px 5vw; margin:0; border-bottom:1px solid #c7d3e9; }
.rt-checkout__main{ max-width:1440px; margin:auto; padding:56px clamp(20px,5vw,80px) 80px; min-height:70vh; }
.rt-checkout h1{ font:500 clamp(38px,4.5vw,64px)/1.1 var(--rt-font-text); letter-spacing:-.05em; margin:20px 0; }
.rt-checkout__notice{ max-width:720px; color:#52617e; font-size:.85rem; line-height:1.8; }
.rt-checkout__steps{ display:flex; list-style:none; padding:24px 0; gap:28px; border-block:1px solid #d6deea; margin:32px 0; }
.rt-checkout__steps li{ color:#626e82; font-size:.75rem; display:flex; gap:10px; align-items:center; }
.rt-checkout__steps li>span{ font-size:.65rem; padding:8px; border:1px solid #ccd6e4; border-radius:50%; }
.rt-checkout__steps li[aria-current]{ color:#0c215e; font-weight:700; }
.rt-checkout__steps li[aria-current]>span{ background:#0c215e; color:white; border-color:#0c215e; }
.rt-checkout__layout{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr); gap:40px; align-items:start; }
.rt-checkout h2{ font-size:clamp(24px,2.5vw,34px); margin:0 0 24px; }
.rt-checkout h2:focus{ outline:none; }
.rt-checkout__items{ margin-bottom:24px; }
.rt-cart-row{ display:grid; grid-template-columns:84px minmax(0,1fr) auto; gap:18px; align-items:center; padding:20px 0; border-bottom:1px solid #d6deea; }
.rt-cart-row img{ width:84px; height:104px; object-fit:contain; mix-blend-mode:multiply; }
.rt-cart-row h3{ font:600 .9rem/1.5 var(--rt-font-text); margin:8px 0; }
.rt-cart-row span,.rt-cart-row small{ font-size:.65rem; color:#52617e; }
.rt-cart-remove{ display:block; border:0; background:none; padding:12px 0 0; min-height:44px; text-decoration:underline; color:#52617e; cursor:pointer; font-size:.7rem; }
.rt-cart-quantity{ display:flex; align-items:center; border:1px solid #c5d0e0; border-radius:4px; background:white; }
.rt-cart-quantity button{ min-height:44px; min-width:36px; border:0; background:transparent; cursor:pointer; color:#0c215e; }
.rt-cart-quantity input{ width:48px; min-height:44px; border:0; color:#0c215e; background:white; padding:4px; text-align:center; font-size:16px; }
.rt-checkout__summary{ background:#0c215e; color:white; padding:30px; border-radius:6px; position:sticky; top:24px; }
.rt-checkout__summary>.rt-catalog__eyebrow{ color:#d6bf7c; margin-bottom:18px; }
.rt-checkout__summary h2{ color:white; }
.rt-checkout__summary>strong{ display:block; font-weight:500; font-size:.85rem; }
.rt-checkout__summary dl{ margin:28px 0; }
.rt-checkout__summary dl>div{ display:flex; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid #405582; font-size:.7rem; }
.rt-checkout__summary dd{ margin:0; text-align:right; }
.rt-checkout__summary p{ color:#c7d3e9; font-size:.75rem; line-height:1.8; }
.rt-checkout__summary>a{ display:inline-flex; min-height:44px; align-items:center; color:#d6bf7c; font-size:.8rem; }
.rt-checkout__fields{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:28px 0; }
.rt-checkout__fields label{ display:flex; flex-direction:column; gap:8px; font-size:.8rem; }
.rt-checkout__fields small{ color:#52617e; }
.rt-checkout__fields input,.rt-checkout__fields textarea{ width:100%; min-height:48px; border:1px solid #bcc9dd; border-radius:4px; background:white; color:#0c215e; padding:12px; font:inherit; font-size:16px; }
.rt-checkout__fields .rt-consent{ flex-direction:row; align-items:flex-start; gap:10px; color:#0c215e; line-height:1.5; }
.rt-checkout__fields .rt-consent input{ width:20px; min-width:20px; min-height:20px; margin:0; padding:0; accent-color:#0c225e; }
.rt-form-trap{ position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; border:0!important; padding:0!important; margin:-1px!important; }
.rt-contact-dialog__fields .rt-consent{ display:flex; flex-direction:row; align-items:flex-start; gap:10px; line-height:1.5; }
.rt-contact-dialog__fields .rt-consent input{ width:20px; min-width:20px; min-height:20px; margin:0; accent-color:#0c225e; }
.rt-checkout__wide{ grid-column:1/-1; }
.rt-checkout__buttons{ display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:24px; }
.rt-checkout__buttons>button:not(.rt-commerce-primary){ border:1px solid #c7d3e9; background:white; padding:14px 20px; min-height:48px; border-radius:4px; color:#0c215e; cursor:pointer; }
.rt-checkout [data-checkout-step]>p{ font-size:.85rem; line-height:1.8; color:#52617e; }
.rt-checkout__review{ border:1px solid #d6deea; background:white; border-radius:6px; padding:24px; }
.rt-checkout__review p{ white-space:pre-line; overflow-wrap:anywhere; }
.rt-checkout__review h3{ font-size:1rem; }
.rt-checkout__review p,.rt-checkout__review li{ font-size:.85rem; line-height:1.8; }
.rt-checkout__empty{ padding:48px 24px; text-align:center; background:white; border:1px solid #d6deea; }
.rt-checkout__empty p{ margin-bottom:24px; }
@media(max-width:900px){.rt-checkout__layout{grid-template-columns:1fr;}.rt-checkout__summary{position:static;}.rt-catalog__nav nav{flex-wrap:wrap;gap:8px 14px;}.rt-catalog__nav{flex-wrap:wrap;}}
@media(max-width:560px){.rt-checkout__fields{grid-template-columns:1fr;}.rt-checkout__steps{gap:12px;display:grid;grid-template-columns:1fr 1fr;}.rt-cart-row{grid-template-columns:70px minmax(0,1fr);gap:12px;}.rt-cart-row img{width:70px;}.rt-cart-quantity{grid-column:2;justify-self:start;}.rt-checkout__summary{padding:24px;}.rt-checkout__buttons>*{width:100%;}.rt-buy-controls button{gap:8px;font-size:.75rem;}}
/* ---- Studio signature ------------------------------------------------ */
.rt-design-credit{ position:relative; overflow:hidden; isolation:isolate; display:flex; justify-content:center; align-items:center; min-height:56px; padding:8px 16px; background:#fff; border-top:1px solid #e7ebf2; font-family:var(--rt-font-text); }
.rt-design-credit p{ position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.2em .55em; margin:0; text-align:center; color:#4a5060; font-size:13px; font-weight:500; letter-spacing:.01em; line-height:1.5; }
.rt-design-credit a{ display:inline-flex; align-items:center; min-height:48px; position:relative; color:#0c215e; font-weight:800; text-decoration:none; white-space:nowrap; }
.rt-design-credit a>span{ color:#4a649d; font-weight:600; }
.rt-design-credit::before{ content:""; position:absolute; z-index:-1; top:0; bottom:0; left:0; width:30%; background:linear-gradient(100deg,transparent,rgb(142 164 211 / .13),rgb(225 235 255 / .3),transparent); transform:translateX(-110%); animation:rt-credit-sheen 9s ease-in-out infinite; pointer-events:none; }
.rt-design-credit a::after{ content:""; position:absolute; left:0; right:0; bottom:8px; height:1px; background:#8ea4d3; transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.rt-design-credit a:hover::after,.rt-design-credit a:focus-visible::after{ transform:scaleX(1); }
.rt-design-credit a:focus-visible{ outline:2px solid #4a649d; outline-offset:3px; border-radius:2px; }
.rt-whatsapp-float{ position:fixed; right:clamp(14px,3vw,28px); bottom:clamp(14px,3vw,28px); z-index:var(--rt-z-tooltip); display:flex; align-items:center; gap:10px; color:var(--rt-navy-900); text-decoration:none; filter:drop-shadow(0 12px 24px rgb(0 3 57 / .2)); }
.rt-whatsapp-float__message{ padding:10px 14px; border:1px solid var(--rt-gold-300); border-radius:14px 14px 4px 14px; background:#fff; font:600 12px/1.35 var(--rt-font-text); white-space:nowrap; }
.rt-whatsapp-float__message strong{ color:var(--rt-navy-800); font-weight:800; }
.rt-whatsapp-float__icon{ position:relative; display:grid; place-items:center; width:52px; height:52px; border:3px solid #fff; border-radius:50%; background:#25d366; color:#fff; box-shadow:0 0 0 2px var(--rt-navy-800),0 0 0 6px rgb(210 165 61 / .45); will-change:transform; animation:rt-whatsapp-pulse 3.2s ease-in-out infinite; }
.rt-whatsapp-float__icon svg{ width:28px; height:28px; }
@keyframes rt-whatsapp-pulse{ 0%,65%,100%{ transform:scale(1); } 72%{ transform:scale(1.08); } 79%{ transform:scale(1); } }
@media(max-width:520px){ .rt-whatsapp-float{ right:14px; bottom:max(14px,env(safe-area-inset-bottom)); gap:0; } .rt-whatsapp-float__message{ padding:8px 10px; font-size:10px; } .rt-whatsapp-float__icon{ width:46px; height:46px; } .rt-whatsapp-float__icon svg{ width:24px; height:24px; } }
/* On phones the float sits over the hero action and the closing credit; lift both clear of it. */
@media(max-width:520px){ .rt-product-hero__content{ bottom:calc(max(14px,env(safe-area-inset-bottom)) + 4.5rem); } .rt-design-credit{ padding-bottom:calc(max(14px,env(safe-area-inset-bottom)) + 62px); } }
@media(prefers-reduced-motion:reduce){ .rt-whatsapp-float__icon{ animation:none; } }
.rt-commerce-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid #cbd3e2;border-radius:4px;color:#0c225e;font:inherit;font-weight:700;text-decoration:none;}
@keyframes rt-credit-sheen{ 0%,15%{transform:translateX(-110%);}85%,100%{transform:translateX(440%);} }
@media(max-width:380px){.rt-design-credit{padding-inline:12px;}.rt-design-credit p{font-size:12.5px;letter-spacing:0;}}
@media(prefers-reduced-motion:reduce){.rt-design-credit::before{animation:none;}.rt-design-credit a::after{transition:none;}}
/* ---- Delivery footer: one 18-second drive / stop / wave timeline ------- */
.rt-delivery-footer{ --rt-delivery-cycle: 18s; background: var(--rt-figma-navy); color: white; font-family: var(--rt-font-text); }
.rt-delivery-footer__scene{ position: relative; height: clamp(310px, 43vw, 540px); overflow: hidden; background: #edf0f4; isolation: isolate; }
.rt-delivery-footer__eyebrow{ position: absolute; left: clamp(1.25rem, 5vw, 5rem); top: 2rem; font-size: .65rem; letter-spacing: .16em; color: #52617e; }
.rt-delivery-footer__wordmark{ position: absolute; left: 50%; top: 16%; transform: translateX(-50%); color: #cfdef2; font-size: clamp(80px, 19vw, 300px); font-weight: 800; letter-spacing: -.065em; line-height: 1; user-select: none; isolation: isolate; white-space: nowrap; }
@supports (background-clip: text){
  .rt-delivery-footer__wordmark{
    background: linear-gradient(110deg, #a8bcd9 0%, #edf5ff 22%, #769acf 37%, #0c215e 45%, #b6dfff 49%, #fff 52%, #d2a53d 55%, #f3e8c9 58%, #c5daf6 70%, #a8bcd9 100%) 0% 50% / 240% 100%;
    background-clip: text; -webkit-background-clip: text; color: transparent;
    -webkit-text-stroke: .5px rgb(85 117 168 / .18);
    animation: rt-wordmark-light 12s ease-in-out infinite alternate;
  }
  .rt-delivery-footer__wordmark::before{
    content: attr(data-text); position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(105deg, #507ecc 12%, #8ecfff 40%, #f1cb70 53%, #7eaaf0 66%, #375b9e 88%) 0% 50% / 240% 100%;
    background-clip: text; -webkit-background-clip: text; color: transparent;
    filter: blur(clamp(8px, 1.4vw, 22px)); opacity: .5;
    animation: rt-wordmark-light 12s ease-in-out infinite alternate, rt-wordmark-halo 6s ease-in-out infinite alternate;
  }
}
@keyframes rt-wordmark-light{ to{ background-position: 100% 50%; } }
@keyframes rt-wordmark-halo{ to{ opacity: .25; transform: translateY(5px); } }
.rt-delivery-footer[data-motion]:not([data-active="true"]) .rt-delivery-footer__wordmark,
.rt-delivery-footer[data-motion]:not([data-active="true"]) .rt-delivery-footer__wordmark::before{ animation-play-state: paused; }
.rt-delivery-footer__road{ position: absolute; inset: 73% 0 0; background: var(--rt-figma-navy); border-top: 1px solid rgb(255 255 255 / .6); }
.rt-delivery-footer__truck{ position: absolute; left: 50%; bottom: 4%; width: min(940px, 94vw); transform: translateX(-50%); }
.rt-delivery-footer__truck svg{ display: block; width: 100%; height: auto; overflow: visible; }
.rt-delivery-footer__bubble{ position: absolute; left: 59%; bottom: 69%; padding: clamp(.6rem, 1.3vw, 1rem) clamp(.7rem, 1.7vw, 1.5rem); width: max-content; max-width: 38%; border: 1px solid #d2a53d; border-radius: 12px 12px 12px 2px; background: #fff; color: var(--rt-figma-navy); box-shadow: 0 8px 24px rgb(12 33 94 / .09); font-size: clamp(11px, 1.5vw, 19px); font-weight: 600; line-height: 1.4; transform-origin: 20% 100%; z-index: 3; }
.rt-delivery-footer__bubble::after{ content: ""; position: absolute; top: 100%; left: 16px; width: 11px; height: 11px; background: white; border-right: 1px solid #d2a53d; border-bottom: 1px solid #d2a53d; transform: translateY(-5px) rotate(45deg); }
.rt-delivery-footer__bubble > span{ display: block; color: #775300; font-size: .5em; letter-spacing: .12em; margin-top: .65rem; }
.rt-delivery-footer__wave{ transform-origin: 675px 237px; }
.rt-delivery-footer__wheel{ transform-origin: 0 0; }
.rt-delivery-footer[data-motion] .rt-delivery-footer__truck{ animation: rt-delivery-drive var(--rt-delivery-cycle) infinite; }
.rt-delivery-footer[data-motion] .rt-delivery-footer__wheel{ animation: rt-delivery-wheels var(--rt-delivery-cycle) infinite; }
.rt-delivery-footer[data-motion] .rt-delivery-footer__wave{ animation: rt-delivery-wave var(--rt-delivery-cycle) infinite; }
.rt-delivery-footer[data-motion] .rt-delivery-footer__bubble{ animation: rt-delivery-message var(--rt-delivery-cycle) infinite; }
.rt-delivery-footer[data-motion]:not([data-active="true"]) .rt-delivery-footer__truck,
.rt-delivery-footer[data-motion]:not([data-active="true"]) .rt-delivery-footer__wheel,
.rt-delivery-footer[data-motion]:not([data-active="true"]) .rt-delivery-footer__wave,
.rt-delivery-footer[data-motion]:not([data-active="true"]) .rt-delivery-footer__bubble{ animation-play-state: paused; }
@keyframes rt-delivery-drive{
  0%, 5%{ transform: translateX(calc(-50% - 110vw)); animation-timing-function: cubic-bezier(.15, .55, .25, 1); }
  28%, 65%{ transform: translateX(-50%); animation-timing-function: cubic-bezier(.55, 0, .85, .5); }
  92%, 100%{ transform: translateX(calc(-50% + 110vw)); }
}
@keyframes rt-delivery-wheels{ 0%,5%{ transform: rotate(0deg); animation-timing-function: cubic-bezier(.15,.55,.25,1); }28%,65%{ transform: rotate(1080deg); animation-timing-function: cubic-bezier(.55,0,.85,.5); }92%,100%{ transform: rotate(2160deg); } }
@keyframes rt-delivery-wave{ 0%,29%,64%,100%{ transform: rotate(65deg); }34%,42%,50%,58%{ transform: rotate(-12deg); }38%,46%,54%{ transform: rotate(15deg); } }
@keyframes rt-delivery-message{ 0%,30%,64%,100%{ opacity: 0; transform: translateY(8px) scale(.95); }35%,59%{ opacity: 1; transform: translateY(0) scale(1); } }
.rt-delivery-footer__content{ display: grid; grid-template-columns: 1.3fr .7fr 1fr; gap: 3rem; max-width: 1360px; margin: auto; padding: 2rem clamp(1.25rem, 5vw, 5rem) 1.5rem; }
.rt-delivery-footer__intro > span{ color: #bdcce9; font-size: .65rem; letter-spacing: .13em; }
.rt-delivery-footer__intro h2{ margin: 1rem 0 1.5rem; color: white; font: 500 clamp(2rem, 3.5vw, 3.5rem)/1.1 var(--rt-font-text); letter-spacing: -.04em; }
.rt-delivery-footer__intro > a{ display: inline-flex; align-items: center; gap: 2rem; padding: .85rem 1.2rem; border: 1px solid #d2a53d; border-radius: 5px; color: white; text-decoration: none; font-size: .85rem; }
.rt-delivery-footer__intro > a:hover{ background: rgb(255 255 255 / .08); }
.rt-delivery-footer__links{ display: flex; flex-direction: column; align-items: flex-start; gap: .9rem; padding-top: .3rem; }
.rt-delivery-footer__links h3{ color: white; font: 600 .85rem var(--rt-font-text); margin: 0 0 .5rem; }
.rt-delivery-footer__links a,.rt-delivery-footer__bottom a{ color: #c6d2e9; text-decoration: none; font-size: .8rem; }
.rt-delivery-footer a:hover{ color: #ffd459; }
.rt-delivery-footer a:focus-visible{ outline: 2px solid #ffd459; outline-offset: 5px; }
.rt-delivery-footer__brand img{ display: block; object-fit: contain; object-position: left center; max-width: 100%; }
.rt-delivery-footer__brand .rt-animated-logo{ background: transparent; max-width: 100%; }
@media(max-width:700px){ .rt-delivery-footer__brand .rt-animated-logo{ width:132px !important; } }
.rt-delivery-footer__brand p{ color: #c6d2e9; font-size: .8rem; line-height: 1.75; margin: .9rem 0 .6rem; }
.rt-delivery-footer__brand address{ margin: 0; color: #c6d2e9; font-size: .8rem; font-style: normal; line-height: 1.75; }
.rt-delivery-footer__brand address *{ font-size: inherit; }
.rt-delivery-footer__brand > a{ display: inline-flex; align-items: center; min-height: 44px; color: white; font-size: .9rem; font-weight: 600; text-decoration: none; }
.rt-delivery-footer__brand > span{ font-size: .65rem; letter-spacing: .16em; color: #bdcce9; }
.rt-delivery-footer__bottom{ grid-column: 1/-1; display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid rgb(255 255 255 / .16); padding-top: 1.5rem; margin-top: .5rem; color: #bdcce9; font-size: .7rem; }
@media(max-width: 700px){
  .rt-delivery-footer__scene{ height: clamp(320px, 64vw, 440px); }
  .rt-delivery-footer__eyebrow{ top: 1.5rem; left: 1.25rem; right: 1.25rem; font-size: .6rem; letter-spacing: .1em; }
  .rt-delivery-footer__truck{ bottom: 18px; width: 98vw; }
  .rt-delivery-footer__road{ top: auto; height: calc(18px + 15vw); }
  .rt-delivery-footer__wordmark{ top: 24%; font-size: 18.5vw; }
  .rt-delivery-footer__wordmark::before{ filter: blur(8px); }
  .rt-delivery-footer__bubble{ left: auto; right: 5%; bottom: 76%; max-width: 58%; box-sizing: border-box; font-size: clamp(13px, 2.6vw, 17px); padding: .7rem .85rem; }
  .rt-delivery-footer__bubble > span{ font-size: 8px; margin-top: .4rem; letter-spacing: .07em; }
  .rt-delivery-footer__content{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem 1.5rem; padding-top: 1.5rem; padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); }
  .rt-delivery-footer__content > *{ min-width: 0; }
  .rt-delivery-footer__intro{ grid-column: 1/-1; }
  .rt-delivery-footer__intro > a{ min-height: 48px; box-sizing: border-box; }
  .rt-delivery-footer__links{ gap: .1rem; }
  .rt-delivery-footer__links a,.rt-delivery-footer__bottom a{ display: inline-flex; align-items: center; min-height: 44px; }
  .rt-delivery-footer__bottom{ flex-wrap: wrap; align-items: center; gap: .25rem 1rem; }
  .rt-delivery-footer__brand img{ width: 132px; height: auto; }
}
@media(max-width: 380px){
  .rt-delivery-footer__content{ grid-template-columns: minmax(0, 1fr); }
  .rt-delivery-footer__intro > a{ width: 100%; justify-content: space-between; }
  .rt-delivery-footer__links{ display: grid; grid-template-columns: 1fr 1fr; }
  .rt-delivery-footer__links h3{ grid-column: 1/-1; }
  .rt-delivery-footer__bottom{ flex-direction: column; align-items: flex-start; }
}
@media(min-width: 701px) and (max-width: 1000px){
  .rt-delivery-footer__content{ grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem; }
  .rt-delivery-footer__brand{ grid-column: 1/-1; }
}
@media(prefers-reduced-motion: reduce){
  .rt-delivery-footer__wordmark,
  .rt-delivery-footer__wordmark::before{ animation: none; background-position: 50% 50%; }
  .rt-delivery-footer[data-motion] .rt-delivery-footer__truck,
  .rt-delivery-footer[data-motion] .rt-delivery-footer__wheel,
  .rt-delivery-footer[data-motion] .rt-delivery-footer__wave,
  .rt-delivery-footer[data-motion] .rt-delivery-footer__bubble{ animation: none; }
}
/* ---- Lubricants campaign CTA ------------------------------------------ */
.rt-lubricants-cta{
  padding: 0 var(--rt-gutter) clamp(3rem, 6vw, 6rem);
  background: var(--rt-surface-page);
}
.rt-lubricants-cta__panel{
  position: relative;
  width: min(100%, var(--rt-container-wide));
  margin-inline: auto;
  overflow: hidden;
  border-radius: 8px;
  background: #071d42;
  box-shadow: 0 18px 40px -24px rgb(12 34 94 / 0.45);
}
.rt-lubricants-cta__art{ display: block; width: 100%; height: auto; }
.rt-lubricants-cta__action{
  position: absolute;
  left: 4.5%;
  top: 61%;
  color: white;
  font-family: var(--rt-font-text);
}
.rt-lubricants-cta__action p{
  margin: 0 0 1.25rem;
  font-size: clamp(0.9rem, 1.3vw, 1.15rem);
  line-height: 1.55;
  color: rgb(255 255 255 / 0.82);
}
.rt-lubricants-cta__action a{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-height: 48px;
  padding: 0.85rem 1.25rem;
  border: 1px solid #ffd459;
  border-radius: 6px;
  background: var(--rt-gradient-droplet);
  color: #090806;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform 300ms ease, box-shadow 300ms ease;
}
.rt-lubricants-cta__action a:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgb(255 212 89 / 0.22);
}
.rt-lubricants-cta__action a:focus-visible{ outline: 2px solid white; outline-offset: 5px; }
.rt-lubricants-cta__action a span{ transition: transform 300ms ease; }
.rt-lubricants-cta__action a:hover span{ transform: translate(2px, -2px); }
@supports (animation-timeline: view()){
  .rt-lubricants-cta__panel{
    animation: rt-lubricants-reveal linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 35%;
  }
}
@keyframes rt-lubricants-reveal{ from{ opacity: 0; transform: translateY(20px); } to{ opacity: 1; transform: none; } }
@media (max-width: 700px){
  .rt-lubricants-cta{ padding-inline: 1rem; }
  .rt-lubricants-cta__action{
    position: static;
    padding: 1.5rem;
    background: linear-gradient(135deg, #071d42, var(--rt-figma-navy));
  }
  .rt-lubricants-cta__action p br{ display: none; }
  .rt-lubricants-cta__action a{ width: 100%; box-sizing: border-box; }
}
@media (prefers-reduced-motion: reduce){
  .rt-lubricants-cta__panel{ animation: none; }
  .rt-lubricants-cta__action a, .rt-lubricants-cta__action a span{ transition: none; transform: none; }
}
/* ---- ProductRange ------------------------------------------------------
   A single horizontal catalogue rail. Cards stay compact and reveal the
   RajTech navy interaction state on hover. */
.rt-product-range{
  padding: clamp(4.5rem, 7vw, 7rem) var(--rt-gutter) clamp(4rem, 7vw, 6rem);
  background: var(--rt-surface-page);
  color: var(--rt-text-primary);
}
.rt-product-range__inner{
  width: min(100%, var(--rt-container-wide));
  margin-inline: auto;
}
.rt-product-range__header{
  position: relative;
  padding-right: 8rem;
  padding-bottom: clamp(2rem, 4vw, 3.25rem);
}
.rt-product-range__header h2{
  max-width: 19ch;
  margin: 0;
  color: var(--rt-text-primary);
  font: 500 clamp(2.4rem, 4.5vw, 4.25rem) / 1.08 var(--rt-font-text);
  letter-spacing: var(--rt-tracking-display);
  text-wrap: balance;
}
.rt-product-range__header > p{
  max-width: 34rem;
  margin: var(--rt-space-5) 0 0.2rem;
  color: var(--rt-text-secondary);
  font: var(--rt-weight-regular) var(--rt-text-body) / var(--rt-leading-normal) var(--rt-font-text);
}
.rt-product-range__viewport{
  overflow-x: auto;
  margin-inline: calc(var(--rt-gutter) * -1);
  padding: 0.5rem var(--rt-gutter) 1.5rem;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.rt-product-range__viewport::-webkit-scrollbar{ display: none; }
.rt-product-range__viewport:focus-visible{
  outline: 2px solid var(--rt-figma-navy);
  outline-offset: 4px;
}
.rt-product-range__grid{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 3rem) / 4);
  gap: 1rem;
  width: 100%;
}
.rt-product-range__card{
  display: flex;
  min-height: 100%;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--rt-border-muted);
  border-radius: 8px;
  background: #f7f7f7;
  color: var(--rt-text-primary);
  box-shadow: none;
  scroll-snap-align: start;
  transition: background var(--rt-duration-fast) var(--rt-ease-standard), border-color var(--rt-duration-fast) var(--rt-ease-standard), box-shadow var(--rt-duration-fast) var(--rt-ease-standard), color var(--rt-duration-fast) var(--rt-ease-standard), transform var(--rt-duration-fast) var(--rt-ease-standard);
}
.rt-product-range__media{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 1;
  margin: 1rem 1rem 0;
  border-radius: 4px;
  /* White tile: several supplied photos carry a white box, so every product sits on the same ground. */
  background: #fff;
}
.rt-product-range__media::before{
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: var(--rt-figma-navy);
  opacity: 0;
  transition: opacity var(--rt-duration-fast) var(--rt-ease-standard);
  pointer-events: none;
}
.rt-product-range__media::after{
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  border: none;
  pointer-events: none;
}
.rt-product-range__image{
  display: block;
  width: 100%;
  height: 100%;
  padding: 1.2rem;
  box-sizing: border-box;
  object-fit: contain;
  object-position: var(--rt-range-position);
  transition: transform 700ms var(--rt-ease-standard), filter 700ms var(--rt-ease-standard), opacity var(--rt-duration-fast) var(--rt-ease-standard);
}
.rt-product-range__hover-mark{
  color: currentColor;
  font: var(--rt-weight-regular) 1.5rem / 1 var(--rt-font-text);
  transition: transform var(--rt-duration-fast) var(--rt-ease-standard);
}
.rt-product-range__caption{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rt-space-4);
  min-height: 5rem;
  padding: 1.25rem;
}
.rt-product-range__caption h3{
  margin: 0;
  color: var(--rt-text-primary);
  font: 500 clamp(1rem, 1.2vw, 1.15rem) / 1.35 var(--rt-font-text);
  letter-spacing: var(--rt-tracking-tight);
  transition: color var(--rt-duration-fast) var(--rt-ease-standard);
}
.rt-product-range__card:hover,
.rt-product-range__card:focus-within{
  border-color: var(--rt-figma-navy);
  background: var(--rt-figma-navy);
  color: var(--rt-figma-white);
  box-shadow: 0 8px 20px rgb(12 33 94 / 0.12);
  transform: translateY(-4px);
}
.rt-product-range__card:hover .rt-product-range__media::before,
.rt-product-range__card:focus-within .rt-product-range__media::before{ opacity: 0; }
.rt-product-range__card:hover .rt-product-range__media,
.rt-product-range__card:focus-within .rt-product-range__media{ background: #fff; }
.rt-product-range__card:hover .rt-product-range__image,
.rt-product-range__card:focus-within .rt-product-range__image{
  filter: none;
  transform: scale(1.045) translateY(-0.25rem);
}
.rt-product-range__card:hover .rt-product-range__caption h3,
.rt-product-range__card:focus-within .rt-product-range__caption h3{ color: var(--rt-figma-white); }
.rt-product-range__card:hover .rt-product-range__hover-mark,
.rt-product-range__card:focus-within .rt-product-range__hover-mark{ transform: translateX(0.25rem); }
.rt-product-range__footer{
  display: flex;
  justify-content: flex-end;
  border-top: 1px solid var(--rt-border-muted);
  padding-top: 1.5rem;
}
.rt-product-range__controls{ position: absolute; right: 0; bottom: 3.25rem; display: flex; gap: 0.5rem; }
.rt-product-range__controls button{ width: 48px; height: 48px; border: 1px solid var(--rt-border-muted); border-radius: 6px; background: white; color: var(--rt-figma-navy); font-size: 1.5rem; cursor: pointer; transition: background 240ms, color 240ms; }
.rt-product-range__controls button:hover{ background: var(--rt-figma-navy); color: white; }
.rt-product-range__controls button:focus-visible, .rt-product-range__card:focus-visible{ outline: 2px solid var(--rt-figma-navy); outline-offset: 3px; }
@media (max-width: 1023px){ .rt-product-range__grid{ grid-auto-columns: calc((100% - 2rem) / 3); } }
.rt-product-range__view-more{
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--rt-figma-navy);
  font: var(--rt-weight-semibold) 0.95rem / 1.2 var(--rt-font-text);
  text-decoration: none;
  transition: color var(--rt-duration-fast) var(--rt-ease-standard), gap var(--rt-duration-fast) var(--rt-ease-standard);
}
.rt-product-range__view-more:hover,
.rt-product-range__view-more:focus-visible{
  gap: 1rem;
  color: var(--rt-gold-700);
}
@media (max-width: 560px){
  /* Phones keep the desktop rail: two cards in view, previous/next beside the heading. */
  .rt-product-range__header{ padding-right: 6.25rem; padding-bottom: 1.25rem; }
  .rt-product-range__controls{ bottom: 1.35rem; gap: 0.4rem; }
  .rt-product-range__controls button{ width: 42px; height: 42px; font-size: 1.25rem; }
  .rt-product-range{ padding: var(--rt-space-10) 1rem var(--rt-space-12); }
  .rt-product-range__header h2{
    max-width: none;
    font-size: clamp(2rem, 9.5vw, 2.75rem);
    text-wrap: balance;
  }
  .rt-product-range__viewport{
    margin-inline: -1rem;
    padding-inline: 1rem;
  }
  .rt-product-range__grid{ gap: 0.75rem; grid-auto-columns: calc((100% - 0.75rem) / 2); }
  .rt-product-range__card{ width: auto; }
  .rt-product-range__media{ margin: 0.6rem 0.6rem 0; }
  .rt-product-range__image{ padding: 0.6rem; }
  .rt-product-range__caption{ min-height: 4rem; padding: 0.75rem; gap: 0.5rem; }
  .rt-product-range__caption h3{ font-size: 0.86rem; line-height: 1.3; }
  .rt-product-range__hover-mark{ font-size: 1.1rem; }
}
@media (prefers-reduced-motion: reduce){
  .rt-product-range__viewport{ scroll-behavior: auto; }
  .rt-product-range *, .rt-product-range *::before{ transition: none !important; }
  .rt-trusted-brands__viewport{
    overflow-x: auto;
    scrollbar-width: none;
  }
  .rt-trusted-brands__viewport::-webkit-scrollbar{ display: none; }
  .rt-trusted-brands__track{ animation: none; }
  .rt-trusted-brands__sequence--duplicate{ display: none; }
  .rt-product-hero *, .rt-product-hero *::before, .rt-product-hero *::after{
    animation: none !important;
    transition-duration: 1ms !important;
  }
  .rt-product-hero__label{
    opacity: 1;
    transform: translate(-0.5rem, calc(-100% - 0.5rem));
  }
  .rt-product-poster__image{
    animation: none !important;
    transform: none;
  }
  .rt-product-range__card:hover,
  .rt-product-range__card:focus-within,
  .rt-product-range__card:hover .rt-product-range__image,
  .rt-product-range__card:focus-within .rt-product-range__image{
    transform: none;
  }
}
.rt-certificate{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(32px,5vw,88px);padding:clamp(48px,7vw,104px) clamp(24px,6vw,100px);background:#f5f5f2;color:#0c225e;border-top:1px solid #deded6;font-family:Manrope,sans-serif}
.rt-certificate__eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;margin:0 0 24px;color:#72603b}
.rt-certificate h2{font-size:clamp(40px,4.5vw,68px);line-height:1.04;letter-spacing:-.055em;font-weight:500;margin:0 0 28px}
.rt-certificate h2 em{font-family:"Playfair Display",Georgia,serif;font-weight:700;color:#9c7425}
.rt-certificate__intro{font-size:clamp(17px,1.5vw,21px);font-weight:600;line-height:1.5;margin:0 0 12px}
.rt-certificate__description{font-size:15px;line-height:1.85;color:#556073;max-width:440px;margin:0}
.rt-certificate__facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #d6d4c9;padding:24px 0;margin:28px 0 4px}
.rt-certificate dt{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#667083;margin-bottom:8px}
.rt-certificate dd{margin:0;font-size:14px;font-weight:700}
.rt-certificate__document{margin:0;min-width:0}
.rt-certificate__document>a{display:block;background:white;padding:14px;border:1px solid #d2a53d;box-shadow:0 24px 54px #0c225e12;text-decoration:none;color:#0c225e;transition:transform .3s}
.rt-certificate__document>a:hover{transform:translateY(-4px)}
.rt-certificate__document img{display:block;width:100%;height:auto}
.rt-certificate__view{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e8e5dc;margin-top:12px;padding:16px 8px 6px;font-size:13px;font-weight:600}
.rt-certificate figcaption{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.13em;color:#56606e;margin-top:18px}
.rt-certificate a:focus-visible{outline:3px solid #d2a53d;outline-offset:5px}
@media(max-width:760px){.rt-certificate{grid-template-columns:1fr;gap:36px}.rt-certificate__document>a{padding:9px}.rt-certificate__facts{gap:14px}}
@media(prefers-reduced-motion:reduce){.rt-certificate a{transition:none!important;transform:none!important}}

/* Product page: bullet lists, ordering steps and the PDF snapshot button. */
.rt-check-list{ display:grid; gap:14px; margin:28px 0 0; padding:0; list-style:none; }
.rt-check-list li{ position:relative; min-height:22px; padding-left:36px; font-size:.85rem; line-height:1.7; color:#2d3a55; }
.rt-check-list li::before{ content:""; position:absolute; left:0; top:.15em; width:22px; height:22px; border-radius:50%; background:#0c225e; }
.rt-check-list li::after{ content:""; position:absolute; left:8px; top:calc(.15em + 5px); width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.rt-product-detail__features .rt-check-list li{ padding-bottom:14px; border-bottom:1px solid #dce3ee; }
.rt-product-detail__order .rt-check-list li{ color:#dfe7f5; }
.rt-product-detail__order .rt-check-list li::before{ background:#d2a53d; }
.rt-product-detail__order .rt-check-list li::after{ border-color:#0c225e; }
.rt-product-detail__features,.rt-product-detail__steps{ padding-top:32px; border-top:1px solid #cfd8e7; }
.rt-product-detail__step-list{ display:grid; gap:12px; margin:28px 0 0; padding:0; list-style:none; }
.rt-product-detail__step-list li{ display:flex; align-items:center; gap:16px; padding:16px 18px; border:1px solid #dce3ee; border-radius:8px; background:#fff; }
.rt-product-detail__step-list b{ display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:50%; background:#0c225e; color:#fff; font-size:.8rem; font-weight:700; }
.rt-product-detail__step-list strong{ display:block; font-size:.9rem; color:#0c215e; }
.rt-product-detail__step-list span{ display:block; margin-top:2px; font-size:.78rem; line-height:1.6; color:#52617e; }
.rt-product-snapshot{ display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:48px; padding:14px 20px; border:1px solid #cfd8e7; border-radius:4px; background:#fff; color:#0c215e; font:inherit; font-size:.8rem; text-align:left; cursor:pointer; }
.rt-product-snapshot:hover{ border-color:#0c215e; }
.rt-product-snapshot[aria-busy="true"]{ cursor:progress; opacity:.7; }
.rt-product-detail__order .rt-product-snapshot{ width:auto; margin-top:8px; border-color:#d2a53d; background:transparent; color:#fff; }

/* Orders placed on WhatsApp: button, "open again" link and the invoice reminder dialog. */
.rt-checkout .rt-whatsapp-glyph{ width:22px; height:22px; flex:none; }
.rt-commerce-primary.rt-checkout__whatsapp{ border-color:#0f7b3f; background:#0f7b3f; }
.rt-commerce-primary.rt-checkout__whatsapp:hover{ border-color:#0c6a36; background:#0c6a36; }
.rt-order-reminder{ width:min(calc(100vw - 32px),440px); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:0; border:0; background:transparent; color:#0c215e; overflow:visible; }
.rt-order-reminder::backdrop{ background:rgb(7 19 33 / .6); backdrop-filter:blur(3px); animation:rt-reminder-fade .3s ease both; }
.rt-order-reminder__card{ position:relative; box-sizing:border-box; display:grid; justify-items:center; gap:12px; max-height:calc(100dvh - 32px); overflow:auto; padding:34px 26px 20px; border-top:4px solid #d2a53d; border-radius:14px; background:#fff; box-shadow:0 30px 80px rgb(7 19 33 / .35); text-align:center; }
.rt-order-reminder[open] .rt-order-reminder__card{ animation:rt-reminder-pop .6s cubic-bezier(.2,1.3,.35,1) both; }
.rt-order-reminder__close{ position:absolute; top:10px; right:10px; display:grid; place-items:center; width:40px; height:40px; border:0; border-radius:50%; background:#f1f4f9; color:#0c215e; font-size:22px; line-height:1; cursor:pointer; }
.rt-order-reminder__badge svg{ display:block; width:68px; height:68px; }
.rt-order-reminder__badge circle,.rt-order-reminder__badge path{ fill:none; stroke:#0f7b3f; stroke-linecap:round; stroke-linejoin:round; }
.rt-order-reminder__badge circle{ stroke-width:3; stroke-dasharray:151; stroke-dashoffset:151; animation:rt-reminder-draw .6s .2s ease-out forwards; }
.rt-order-reminder__badge path{ stroke-width:4; stroke-dasharray:34; stroke-dashoffset:34; animation:rt-reminder-draw .35s .7s ease-out forwards; }
.rt-order-reminder .rt-catalog__eyebrow{ color:#0f7b3f; }
.rt-order-reminder h2{ margin:0; font:600 clamp(24px,6vw,30px)/1.15 var(--rt-font-text); letter-spacing:-.03em; color:#0c215e; }
.rt-order-reminder p{ margin:0; font-size:.88rem; line-height:1.7; color:#52617e; }
.rt-order-reminder p strong{ color:#0c215e; }
.rt-commerce-primary.rt-order-reminder__action{ justify-content:center; gap:12px; width:100%; margin-top:8px; animation:rt-reminder-pulse 2s 1.1s ease-in-out infinite; }
.rt-order-reminder__later{ min-height:44px; border:0; background:none; color:#52617e; font:inherit; font-size:.8rem; text-decoration:underline; cursor:pointer; }
@keyframes rt-reminder-fade{ from{ opacity:0; } }
@keyframes rt-reminder-pop{ from{ opacity:0; transform:translateY(28px) scale(.9); } to{ opacity:1; transform:none; } }
@keyframes rt-reminder-draw{ to{ stroke-dashoffset:0; } }
@keyframes rt-reminder-pulse{ 0%,100%{ box-shadow:0 0 0 0 rgb(210 165 61 / .6); } 60%{ box-shadow:0 0 0 12px rgb(210 165 61 / 0); } }

/* Effect3.agents logo in the design credit. */
.rt-design-credit a.rt-design-credit__brand{ min-height:40px; transition:transform .25s ease; }
.rt-design-credit a.rt-design-credit__brand::after{ display:none; }
.rt-design-credit a.rt-design-credit__brand:hover{ transform:translateY(-1px); }
.rt-design-credit a>.rt-e3-logo{ position:relative; display:inline-flex; align-items:baseline; padding:.3em .6em 0 0; color:#0a0a0a; font-family:var(--rt-font-text); font-weight:800; line-height:1; white-space:nowrap; }
.rt-e3-logo__name{ font-size:1.3em; font-weight:800; letter-spacing:-.05em; color:#0a0a0a; }
.rt-e3-logo__dot{ margin-left:.03em; font-size:1.3em; font-weight:800; color:#4f5bf5; }
.rt-e3-logo__agents{ font-size:1.22em; font-style:italic; font-weight:400; letter-spacing:-.015em; color:#4f5bf5; }
.rt-e3-logo__spark{ position:absolute; top:0; right:0; width:.55em; height:.55em; fill:#4f5bf5; animation:rt-e3-twinkle 3.6s ease-in-out infinite; }
@keyframes rt-e3-twinkle{ 0%,100%{ transform:scale(1) rotate(0); opacity:1; } 50%{ transform:scale(.72) rotate(45deg); opacity:.75; } }
@media(prefers-reduced-motion:reduce){
  .rt-order-reminder::backdrop,.rt-order-reminder[open] .rt-order-reminder__card,.rt-commerce-primary.rt-order-reminder__action,.rt-e3-logo__spark{ animation:none; }
  .rt-order-reminder__badge circle,.rt-order-reminder__badge path{ animation:none; stroke-dashoffset:0; }
}
