/* Owner palette. Scoped main surfaces leave project evidence/account UI intact. */
:root {
  --rt-bg: #06131D;
  --rt-card: #0C202E;
  --rt-text: #F4F7FA;
  --rt-muted: #B1C0CD;
  --rt-accent: #8ED5EB;
  --rt-line: #355364;
  --rt-radius: 12px;
  --rt-body: clamp(1rem, .9rem + .22vw, 1.125rem);
  --rt-title: clamp(1.5rem, 1.25rem + .56vw, 1.75rem);
  --rt-heading: clamp(2rem, 1.25rem + 2.8vw, 3.5rem);
  --rt-shadow: 0 16px 32px -24px #000b, inset 0 1px 0 #f4f7fa0a;
}
.rt-public { background: var(--rt-bg); }
.rt-public [data-depth-page] { background: var(--rt-bg); }
.rt-public > :is(.ambient,.grid-plane) { display: none; }
.rt-home, .rt-public .verification-page, .rt-public .ts-public, .rt-header, .rt-footer {
  --tdp-panel: var(--rt-card);
  --tdp-raised: var(--rt-card);
  --tdp-ink: var(--rt-text);
  --tdp-muted: var(--rt-muted);
  --tdp-line: var(--rt-line);
  --tdp-control-line: var(--rt-line);
  --tdp-focus: var(--rt-accent);
  --tdp-primary: var(--rt-accent);
  --tdp-inner: inset 0 1px 0 #f4f7fa0a;
  --tdp-shadow: var(--rt-shadow);
  --success: var(--rt-accent);
  --background-primary: var(--rt-bg);
  --font-body: LandingInter, Inter, "Segoe UI", sans-serif;
  --font-heading: var(--font-body);
  background: var(--rt-bg);
  color: var(--rt-text);
  font-family: var(--font-body);
  font-size: var(--rt-body);
  line-height: 1.6;
}
.rt-container { width: min(1168px, calc(100% - 8.4vw)); margin-inline: auto; }
.rt-home :is(h1,h2,h3), .rt-public :is(.verification-page,.ts-public) :is(h1,h2,h3) {
  font-family: var(--font-heading); color: var(--rt-text); font-weight: 700; letter-spacing: -.04em; line-height: 1.15;
}
.rt-home :is(h1,h2,h3,p) { margin: 0; }
.rt-home h2 { font-size: var(--rt-heading); }
.rt-home h3 { font-size: var(--rt-title); font-weight: 600; }
.rt-home p { color: var(--rt-muted); }
.rt-home .rt-eyebrow { color: var(--rt-accent); font-size: .875rem; font-weight: 700; letter-spacing: .1em; line-height: 1.5; }
.rt-home .rt-lead { font-size: 18px; line-height: 1.6; }
.rt-link { min-height: 44px; display: inline-flex; align-items: center; gap: 10px; color: var(--rt-accent); font-weight: 600; line-height: 1.5; }
.rt-link svg { flex: 0 0 22px; width: 22px; height: 22px; }
.rt-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; margin-top: 32px; }
.rt-button, .rt-category-chips button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 16px 24px; border: 1px solid var(--rt-line); border-radius: 8px; font: inherit; font-size: 16px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.rt-primary { background: var(--rt-accent); border-color: var(--rt-accent); color: var(--rt-bg); }
.rt-secondary { background: var(--rt-bg); color: var(--rt-text); }
.rt-home :is(a,button,select):focus-visible, .rt-header :is(a,summary):focus-visible, .rt-footer a:focus-visible { outline: 3px solid var(--rt-accent); outline-offset: 4px; box-shadow: none; }
.rt-card { background: var(--rt-card); border: 1px solid var(--rt-line); border-radius: var(--rt-radius); box-shadow: var(--rt-shadow); }
.rt-language-note { max-width: 500px; margin-top: 16px !important; font-size: .8125rem !important; color: var(--rt-muted); }
.rt-language-note span { display: block; font-size: .6875rem; letter-spacing: .06em; }
/* Same native, keyboard-usable shell before and after optional JS. */
.site-shell .rt-header { height: 80px; min-height: 80px; --header-height: 80px; background: var(--rt-bg); border-bottom: 1px solid var(--rt-line); backdrop-filter: none; }
.site-shell .rt-header .header-inner { width: min(1440px, calc(100% - 48px)); height: 80px; min-height: 80px; gap: 22px; padding: 0; display: flex; flex-wrap: nowrap; }
.site-shell .rt-header .brand-name { color: var(--rt-text); font-size: 18px; }
.site-shell .rt-header .landing-brand-original.td-brand-symbol { width: 44px; height: 44px; }
.rt-header .rt-menu { display: contents; }
.rt-header .rt-menu > summary { display: none; }
.site-shell .rt-header .rt-menu > .nav { display: flex; flex: 1 1 auto; position: static; width: auto; align-items: center; gap: 2px; padding: 0; max-height: none; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; clip-path: none; }
.site-shell .rt-header .nav-link { color: var(--rt-muted); font-size: 14px; padding: 10px 8px; white-space: nowrap; }
.site-shell .rt-header .nav-link:is(:hover,[aria-current]) { color: var(--rt-text); background: var(--rt-card); }
.site-shell .rt-header .public-language-menu { margin: 0 0 0 auto; }
.site-shell .rt-header .public-language-menu summary { color: var(--rt-muted); }
.site-shell .rt-header .public-language-menu > div { position: absolute; background: var(--rt-card); border-color: var(--rt-line); }
.site-shell .rt-header .header-actions { gap: 8px; margin: 0; }
.site-shell .rt-header .header-actions .button { padding-inline: 14px; background: transparent; border-color: transparent; color: var(--rt-text) !important; border-radius: 7px; box-shadow: none; transition: none; }
.site-shell .rt-header .header-actions .landing-signup { display: inline-flex; border-color: var(--rt-muted); }
.site-shell .rt-header .header-actions .button:hover { border-color: var(--rt-accent); }
.rt-public .rt-footer { padding: 40px 0 24px; border-top: 1px solid var(--rt-line); background: var(--rt-bg); }
.rt-footer-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.rt-footer .brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 12px; }
.rt-footer .brand img { width: 44px; height: 44px; }
.rt-footer .brand-name { font-size: 18px; color: var(--rt-text); }
.rt-footer nav { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 24px; }
.rt-footer nav a { color: var(--rt-muted); font-size: 15px; min-height: 44px; display: inline-flex; align-items: center; }
.rt-footer .td-legal-notice { max-width: 960px; margin: 24px 0 16px; color: var(--rt-muted); font-size: .8125rem; line-height: 1.7; }
.rt-footer .public-social { margin-top: 16px; }
/* The real artwork stays at or below its intrinsic size. Only its layer moves. */
.rt-hero { position: relative; isolation: isolate; overflow: hidden; }
.rt-hero-art { display: block; position: absolute; inset: 0; z-index: -2; max-width: 1672px; margin-inline: auto; }
.rt-hero-art .rt-art-desktop { display: block; width: 100%; height: 100%; }
.rt-hero-art .rt-art-mobile { display: none; }
.rt-hero-break { display: none; }
.rt-hero-art img { width: 100%; height: 100%; max-width: 1672px; max-height: 941px; object-fit: cover; object-position: center; }
.rt-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, #06131df5 0%, #06131de6 36%, #06131dc9 44%, #06131db9 54%, #06131d00 60%), linear-gradient(0deg, #06131d 0%, #06131d00 24%); }
@media (min-width: 801px) and (max-width: 1279px) {
  /* Muted account copy can fill the column at these widths; keep its AA shield. */
  .rt-hero::before { background: linear-gradient(90deg, #06131df5 0%, #06131de6 44%, #06131dc9 56%, #06131d00 74%), linear-gradient(0deg, #06131d 0%, #06131d00 24%); }
}
.rt-hero-inner { min-height: clamp(620px, 59vw, 850px); display: flex; align-items: center; padding-block: 80px; }
.rt-hero-copy { width: 54%; max-width: 720px; }
.rt-home h1 { font-size: clamp(2.5rem, 4.7vw, 4.25rem); margin-block: 20px 24px; }
.rt-home h1 > span { display: block; color: var(--rt-accent); }
.rt-hero .rt-lead { max-width: 460px; color: var(--rt-text); }
.rt-home .rt-access-note { margin-top: 22px; max-width: 500px; color: var(--rt-muted); font-size: .8125rem; }
.rt-principles { border-block: 1px solid var(--rt-line); padding-block: 40px 24px; scroll-margin-top: 100px; }
.rt-principles-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.rt-principles article { display: flex; align-items: center; gap: 24px; padding-inline: 32px; }
.rt-principles article:first-child { padding-left: 0; }
.rt-principles article:last-child { padding-right: 0; }
.rt-principles article + article { border-left: 1px solid var(--rt-line); }
.rt-principles .hp-icon { width: 36px; height: 36px; flex: 0 0 36px; color: var(--rt-accent); }
.rt-principles h2 { font-size: clamp(1.125rem, 1rem + .28vw, 1.25rem); font-weight: 600; letter-spacing: -.025em; margin-bottom: 8px; }
.rt-principles p { font-size: 17px; }
.rt-method-link { display: flex; justify-content: flex-end; margin-top: 24px; font-size: 16px; }
.rt-projects { padding-block: 64px; scroll-margin-top: 100px; }
.rt-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.rt-section-heading p { margin-top: 12px; font-size: 18px; }
.rt-section-heading > a { flex: 0 0 auto; }
.rt-category-chips { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.rt-category-chips button { min-height: 46px; padding: 14px 24px; background: transparent; color: var(--rt-text); font-size: 16px; }
.rt-category-chips button[aria-pressed=true] { background: var(--rt-accent); border-color: var(--rt-accent); color: var(--rt-bg); }
.rt-category-select { display: none; }
.rt-project-grid { display: grid; gap: 24px; }
.rt-project { min-width: 0; display: flex; flex-direction: column; padding: 32px; gap: 24px; }
.rt-project-identity { display: flex; align-items: center; gap: 16px; }
.rt-project-identity > img { width: 64px; height: 64px; object-fit: contain; flex: 0 0 64px; }
.rt-project-identity > div { min-width: 0; }
.rt-project .rt-category { display: block; color: var(--rt-accent); margin-bottom: 8px; font-size: 13px; font-weight: 650; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
.rt-project p { font-size: var(--rt-body); color: var(--rt-text); }
.rt-project > a { margin-top: auto; padding-top: 8px; font-size: 16px; }
.rt-core { padding-block: 64px; border-block: 1px solid var(--rt-line); background: radial-gradient(ellipse at 72% 40%, #0c202eaa, transparent 65%); }
.rt-core-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 64px; }
.rt-core h2 { margin-block: 24px; }
.rt-core h2 span { display: block; }
.rt-core .rt-lead { max-width: 450px; margin-bottom: 20px; color: var(--rt-text); }
.rt-source-stack { border: 1px solid var(--rt-line); background: var(--rt-card); border-radius: var(--rt-radius); padding: 40px 32px 24px; box-shadow: var(--rt-shadow); perspective: 1000px; }
.rt-source-stack ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
.rt-source-stack li { display: flex; align-items: center; gap: 16px; min-height: 88px; padding: 24px; font-size: 17px; border: 1px solid #53778a; border-radius: 9px; background: linear-gradient(150deg,#153548,var(--rt-card)); box-shadow: 0 12px 22px -10px #0009, inset 0 1px 0 #b1c0cd33; transform: rotateY(-8deg) rotateZ(-5deg); }
.rt-source-stack li:nth-child(2) { transform: translateX(10px) rotateY(-8deg); }
.rt-source-stack li:nth-child(3) { transform: rotateY(-8deg) rotateZ(3deg); }
.rt-source-stack .hp-icon { color: var(--rt-accent); width: 28px; height: 28px; flex: 0 0 28px; }
.rt-source-stack .rt-step { color: var(--rt-accent); padding-right: 18px; border-right: 1px solid #53778a; font-weight: 700; }
.rt-source-stack p { margin-top: 32px; border-top: 1px solid var(--rt-line); padding-top: 16px; text-align: center; font-size: 16px; }
.rt-account { padding-block: 48px; }
.rt-account-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 40px; }
.rt-account h2 { font-size: clamp(1.75rem, 3.4vw, 3rem); margin-bottom: 12px; }
.rt-account p { font-size: 18px; }
.rt-account .rt-button { flex: 0 0 auto; }
/* Same card geometry and light on the two development pages. */
.rt-public .ts-public { width: min(1168px,calc(100% - 8.4vw)); max-width: 1168px; margin-inline: auto; padding: 64px 0; background: var(--rt-bg); }
.rt-public .ts-public .ts-hero { gap: 48px; }
.rt-public .verification-page :is(.vf-card,.vf-record-layout,.vf-interest), .rt-public .ts-public .ts-card { background: var(--rt-card); border: 1px solid var(--rt-line); border-radius: var(--rt-radius); box-shadow: var(--rt-shadow); }
.rt-public .ts-public p { font-size: var(--rt-body); }
.rt-public .ts-public .ts-lead { font-size: 18px; line-height: 1.65; }
.rt-public .verification-page .button.button-primary, .rt-public .ts-public a.ts-primary { background: var(--rt-accent); border: 1px solid var(--rt-accent); color: var(--rt-bg) !important; box-shadow: none; border-radius: 8px; }
.rt-public .ts-public { --ts-bg: var(--rt-card); --ts-border: var(--rt-line); --ts-ink: var(--rt-text); --ts-muted: var(--rt-muted); --ts-accent: var(--rt-accent); }
.rt-public .ts-public .ts-section { margin-block: 64px; }
.rt-public .ts-public .ts-actions { gap: 24px; }
.rt-public .ts-public .ts-chip { background: var(--rt-card); color: var(--rt-text); border-color: var(--rt-line); font-size: .8125rem; margin-bottom: 20px; }
/* Optional motion never hides SSR text. Entrances happen once on intersection. */
@keyframes rt-arrival { from { transform: translateY(14px); opacity: .85; } to { transform: translateY(0); opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .rt-motion [data-rt-reveal].rt-seen { animation: rt-arrival 500ms cubic-bezier(.2,.75,.25,1) both; }
  .rt-motion [data-depth-hero] .rt-hero-art { transform: translateY(var(--rt-travel,0px)); }
  .rt-motion .vf-artwork picture { transform: translateY(var(--rt-travel,0px)); }
  .rt-motion .rt-source-stack li { transition: transform 650ms cubic-bezier(.2,.75,.25,1); }
  .rt-motion .rt-stack-seen li:first-child { transform: translateY(-7px) rotateY(-8deg) rotateZ(-5deg); }
  .rt-motion .rt-stack-seen li:nth-child(3) { transform: translateY(7px) rotateY(-8deg) rotateZ(3deg); }
  .rt-project, .rt-button { transition: transform 180ms ease; }
  .rt-project:focus-within, .rt-project:hover { transform: translateY(-4px); box-shadow: 0 20px 32px -20px #000c, inset 0 1px 0 #8ed5eb33; }
  .rt-button:hover { transform: translateY(-2px); }
}
@media (min-width: 1100px) and (max-width: 1279px) {
  .site-shell .rt-header .header-inner { gap: 14px; width: calc(100% - 32px); }
  .site-shell .rt-header .nav-link { padding-inline: 6px; font-size: 12px; }
  .site-shell .rt-header .brand { gap: 7px; }
  .site-shell .rt-header .brand-name { font-size: 16px; }
  .site-shell .rt-header .header-actions .button { padding-inline: 10px; font-size: 12px; }
  .site-shell .rt-header .public-language-menu { align-self: auto; }
  .site-shell .rt-header .public-language-menu summary { justify-content: center; }
}
@media (max-width: 1099px) {
  .site-shell .rt-header { height: 72px; min-height: 72px; --header-height: 72px; }
  .site-shell .rt-header .header-inner { height: 72px; min-height: 72px; gap: 10px; }
  .rt-header .rt-menu { display: block; order: 3; }
  .rt-header .rt-menu > summary { display: grid; place-items: center; width: 44px; min-height: 44px; cursor: pointer; border: 1px solid var(--rt-line); border-radius: 7px; list-style: none; }
  .rt-header .rt-menu > summary::-webkit-details-marker { display: none; }
  .site-shell .rt-header .rt-menu > .nav { display: none; position: absolute; top: 100%; inset-inline: -24px; width: auto; max-height: calc(100dvh - 72px); overflow-y: auto; padding: 16px 24px 24px; background: var(--rt-bg); border-block: 1px solid var(--rt-line); box-shadow: 0 20px 30px #0004; }
  .site-shell .rt-header .rt-menu[open] > .nav { display: flex; flex-direction: column; align-items: stretch; }
  .site-shell .rt-header .nav-link { padding: 12px 8px; font-size: 16px; white-space: normal; }
  .site-shell .rt-header .public-language-menu { margin: 8px 0 0; align-self: flex-start; }
  .site-shell .rt-header .public-language-menu > div { position: static; }
  .site-shell .rt-header .header-actions { margin-left: auto; }
  .rt-core-grid { gap: 36px; }
  .rt-project { padding: 32px; }
  .rt-footer-top { align-items: flex-start; }
  .rt-footer nav { gap: 4px 18px; }
}
@media (max-width: 800px) {
  .rt-container { width: calc(100% - 40px); }
  .rt-hero { display: flex; flex-direction: column; }
  .rt-hero-inner { order: -1; width: calc(100% - 40px); min-height: 0; padding-block: 48px 24px; }
  .rt-hero-copy { width: 100%; max-width: 600px; }
  .rt-home h1 { font-size: clamp(2.25rem,7vw,3.5rem); }
  .rt-hero::before { display: none; }
  .rt-hero-art { position: relative; inset: auto; z-index: 0; width: 100%; max-width: 720px; aspect-ratio: 1; margin: 0 auto; overflow: hidden; }
  .rt-hero-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,#06131d,transparent 25%),linear-gradient(180deg,#06131d,transparent 12%); pointer-events: none; }
  .rt-hero-art img { object-position: 100% center; }
  .rt-principles { padding-block: 32px; }
  .rt-principles-grid { grid-template-columns: 1fr; gap: 24px; }
  .rt-principles article { padding: 0; }
  .rt-principles article + article { border-left: 0; }
  .rt-method-link { justify-content: flex-start; margin-top: 24px; }
  .rt-projects { padding-block: 48px; }
  .rt-section-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .rt-category-chips { display: none; }
  .rt-category-select { display: block; margin-bottom: 24px; }
  .rt-category-select label { display: block; margin-bottom: 8px; color: var(--rt-muted); }
  .rt-category-select > div { display: flex; gap: 10px; }
  .rt-category-select .rt-button { flex: 0 0 auto; white-space: nowrap; }
  .rt-category-select .rt-select-field { position: relative; flex: 1 1 auto; min-width: 0; }
  .rt-category-select select { appearance: none; width: 100%; min-width: 0; min-height: 48px; padding: 10px 38px 10px 12px; font: inherit; color: var(--rt-text); background: var(--rt-card); border: 1px solid var(--rt-line); border-radius: 8px; }
  .rt-public .rt-category-select .rt-select-field .rt-icon { position: absolute; right: 10px; top: 12px; pointer-events: none; transform: rotate(90deg); color: var(--rt-accent); }
  .rt-core { padding-block: 48px; }
  .rt-core-grid { grid-template-columns: 1fr; gap: 40px; }
  .rt-source-stack { max-width: 560px; padding: 24px; }
  .rt-account { padding-block: 32px; }
  .rt-account-inner { padding: 24px; flex-direction: column; align-items: flex-start; gap: 24px; }
  .rt-footer-top { flex-direction: column; gap: 20px; }
  .rt-public .ts-public { width: calc(100% - 40px); padding-block: 40px; }
  .rt-public .ts-public .ts-hero, .rt-public .ts-public .ts-method { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .rt-public .ts-public .ts-three { grid-template-columns: minmax(0,1fr); }
  .rt-public .ts-public .ts-section { margin-block: 40px; }
}
@media (max-width: 540px) {
  .site-shell .rt-header .header-inner { width: calc(100% - 24px); gap: 6px; }
  .site-shell .rt-header .brand { gap: 5px; }
  .site-shell .rt-header .brand-name { font-size: 16px; }
  .site-shell .rt-header .landing-brand-original.td-brand-symbol { width: 36px; height: 36px; }
  .site-shell .rt-header .header-actions { gap: 0; }
  .site-shell .rt-header .header-actions .button { font-size: 12px; padding-inline: 8px; }
  .site-shell .rt-header .header-actions .landing-signup { display: none; }
  .site-shell .rt-header .rt-menu > .nav { inset-inline: -12px; padding-inline: 20px; }
  .rt-header .rt-menu .rt-mobile-signup { display: inline-flex; }
  .rt-project { min-height: 260px; }
  .rt-home .rt-actions { gap: 12px 20px; }
  .rt-home .rt-button { padding-inline: 20px; }
  .rt-source-stack li { padding: 16px 12px; gap: 12px; font-size: 17px; }
  .rt-source-stack .rt-step { padding-right: 10px; }
}
.rt-header .rt-mobile-signup { display: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rt-public :is(.rt-home,.verification-page,.ts-public,.rt-header,.rt-footer) *, .rt-public :is(.rt-home,.verification-page,.ts-public,.rt-header,.rt-footer) *::before, .rt-public :is(.rt-home,.verification-page,.ts-public,.rt-header,.rt-footer) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .rt-public :is(.rt-hero-art,.vf-artwork picture,.vf-badge,.rt-source-stack li,.rt-project,.rt-button) { transform: none !important; }
}
@media (forced-colors: active) {
  .rt-public :is(.rt-card,.rt-button,.rt-source-stack,.rt-source-stack li,.rt-category-chips button,.rt-header,.rt-footer) { color: CanvasText; background: Canvas; border-color: CanvasText; box-shadow: none; }
  .rt-public .rt-link { color: LinkText; }
  .rt-public :is(a,button,summary,select):focus-visible { outline-color: Highlight; }
}
/* Native catalogue pagination: no client-side layout replacement. */
.rt-project-grid { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 1fr; }
.rt-project-pages { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; }
.rt-project-pages p { font-size: .8125rem; }
.rt-project-pages > div { display: flex; gap: 8px; }
.rt-page-link { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--rt-line); border-radius: 8px; background: var(--rt-card); color: var(--rt-text); }
.rt-page-link[aria-current] { background: var(--rt-accent); color: var(--rt-bg); border-color: var(--rt-accent); }
@media (max-width: 1099px) { .rt-project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 540px) { .rt-project-grid { grid-template-columns: minmax(0,1fr); } .site-shell .rt-header .rt-mobile-signup { display: flex; } }
@media (prefers-reduced-motion: no-preference) { .rt-motion :is(.rt-hero-art,.vf-artwork picture) { transition: transform 100ms linear; } }
/* Desktop navigation is independent of the native closed mobile disclosure.
   Only one navigation is displayed at each width; IDs stay distinct. */
.site-shell .rt-header .rt-desktop-nav { display: flex; flex: 1 1 auto; position: static; width: auto; align-items: center; gap: 2px; padding: 0; max-height: none; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; clip-path: none; }
.site-shell .rt-header .rt-menu { display: none; }
@media (max-width: 1099px) {
  .site-shell .rt-header .rt-desktop-nav { display: none; }
  .site-shell .rt-header .rt-menu { display: block; }
}
@media (max-width: 767px) {
  .rt-hero-break { display: inline; }
  .rt-public .rt-home h1 > span, .rt-public .verification-page h1 > span { display: inline; }
  .rt-hero-art.rt-has-mobile-art { aspect-ratio: 3 / 4; max-width: 640px; }
}
.rt-public .ts-public .ts-actions > a { display: inline-flex; align-items: center; min-height: 44px; }
.rt-home .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.rt-public .ts-public a { color: var(--rt-accent); }

/* Every public line icon mirrors icons.js; action arrows always point right. */
.rt-public :is(.rt-home,.verification-page,.ts-public,.rt-header) .rt-icon { display: inline-block; vertical-align: middle; flex: 0 0 24px; width: 24px; height: 24px; color: inherit; fill: none; stroke: currentColor; stroke-width: 2; }
.rt-public :is(.rt-home,.verification-page,.ts-public) a:has(> .rt-icon) { display: inline-flex; align-items: center; gap: 10px; }
.rt-public .rt-home a.rt-method-link { display: flex; justify-content: flex-end; }
@media (max-width: 800px) { .rt-public .rt-home a.rt-method-link { justify-content: flex-start; } }
.rt-public .rt-principles .rt-icon { flex-basis: 32px; width: 32px; height: 32px; color: var(--rt-accent); }
.rt-public .rt-source-stack .rt-icon { flex-basis: 28px; width: 28px; height: 28px; color: var(--rt-accent); }
.rt-public .rt-header .public-language-menu .icon { width: 16px; height: 16px; flex: 0 0 16px; color: inherit; }
.rt-public .rt-header .public-language-menu :is(.rt-icon-chevron,.rt-chevron) { transform: rotate(90deg); }

/* Keep translated text inside its own column and preserve native keyboard UI. */
.rt-home { overflow-wrap: anywhere; }
.rt-home :is(.rt-hero-copy,.rt-core-grid > *, .rt-source-stack strong,.rt-account-inner > *), .rt-footer-top > *, .rt-header .header-inner > * { min-width: 0; }
.rt-public .ts-public .ts-eyebrow { text-transform: none; }
.rt-public :is(.verification-page,.ts-public) :is(.button,.ts-primary) { transition: none; }
.rt-public .verification-page .vf-card-foot a { max-width: 100%; }
@media (max-width: 800px) {
  /* Flat source cards leave room for long translations in the narrow column. */
  .rt-public .rt-home .rt-source-stack li { transform: none !important; }
  .rt-public .rt-home .rt-source-stack { min-width: 0; }
}

/* Text is the first mobile viewport; artwork follows without a load-time shift.
   Keep the existing desktop geometry and reserve the image dimensions. */
@media (max-width: 767px) {
  .rt-hero-art .rt-art-desktop { display: none; }
  .rt-hero-art .rt-art-mobile { display: block; width: 100%; height: 100%; }
  .rt-public .rt-hero-inner, .rt-public .verification-page .vf-hero-inner {
    min-height: calc(100vh - 72px);
    min-height: calc(100svh - 72px);
  }
}
@media (max-width: 480px) {
  /* Keep the heading the largest first-paint text, including fallback fonts. */
  .rt-public .rt-home h1 { font-size: 2.75rem; }
  .rt-public .verification-page h1 { font-size: 2.75rem; }
}

.rt-footer .rt-concept-note { margin-top: 18px; color: var(--rt-muted); font-size: .8125rem; text-align: center; }

.rt-public .pe-page[data-public-route="/verification"] { padding: 0; margin: 0; max-width: none; width: 100%; }


.rt-public .verification-page h3, .rt-public .verification-page .rt-principles h2 { font-weight: 600; }
.rt-public .ts-public h1 { font-size: clamp(2.75rem, 4.7vw, 4.25rem); }
.rt-public .ts-public h2 { font-size: var(--rt-heading); font-weight: 700; }
.rt-public .ts-public :is(h3,.ts-hero aside h2) { font-size: var(--rt-title); font-weight: 600; }
.rt-public .ts-public .ts-eyebrow { font-size: 14px; letter-spacing: .1em; }
.rt-public .ts-public .ts-card { padding: 32px; }
.rt-public .ts-public .ts-three { gap: 24px; }
.rt-public .ts-public .ts-step { font-size: 14px; margin-bottom: 24px; }
.rt-public .ts-public .ts-chip { padding: 8px 16px; font-size: 13px; font-weight: 700; }
.rt-public .ts-public :is(.ts-primary,.ts-actions > a) { font-size: 16px; font-weight: 600; }
.rt-public .ts-public a.ts-primary { padding: 16px 24px; }
.rt-public :is(.rt-home,.verification-page,.ts-public) :is(a,button) > .rt-icon { flex-basis: 1.25em; width: 1.25em; height: 1.25em; }
.site-shell .rt-header .header-actions .button { font-size: 14px; font-weight: 600; }
.site-shell .rt-header .public-language-menu summary { font-size: 14px; }
@media (min-width: 801px) {
  /* The fixed content cap moves the left edge inward. Keep muted hero copy
     inside the existing alpha-201 contrast shield at every desktop width. */
  .rt-home .rt-access-note { max-width: min(500px, calc(44vw - max(4.2vw, (100vw - 1168px) / 2))); }
}
@media (min-width: 1100px) and (max-width: 1279px) {
  .site-shell .rt-header .header-actions .button { font-size: 12px; }
  .site-shell .rt-header .public-language-menu summary { font-size: 12px; }
}
@media (max-width: 800px) {
  .rt-public :is(.rt-home,.verification-page,.ts-public) { --rt-body: clamp(1rem, .9375rem + .25vw, 1.0625rem); }
  .rt-home .rt-lead, .rt-section-heading p, .rt-account p, .rt-public .ts-public .ts-lead { font-size: 17px; }
  .rt-project { padding: 24px; }
  .rt-public .ts-public .ts-card { padding: 24px; }
}
@media (max-width: 540px) {
  .rt-home .rt-actions > .rt-button, .rt-account .rt-button { width: 100%; }
  .site-shell .rt-header .header-actions .button { font-size: 12px; }
  .rt-public .ts-public .ts-actions { align-items: stretch; flex-direction: column; }
  .rt-public .ts-public .ts-actions > a { justify-content: center; width: 100%; }
}

@media (min-width: 1280px) {


  .rt-hero-copy { width: min(720px, calc(59vw - max(4.2vw, (100vw - 1168px) / 2))); }
  .rt-hero::before { background: linear-gradient(90deg, #06131df5 0%, #06131de6 36%, #06131dc9 44%, #06131db9 59%, #06131d00 67%), linear-gradient(0deg, #06131d 0%, #06131d00 24%); }
}


@media (min-width: 1100px) {
  .rt-home, .rt-public .verification-page, .rt-public .ts-public, .rt-footer {
    --rt-body: clamp(1.15rem, 1.035rem + .253vw, 1.29375rem);
    --rt-title: clamp(1.725rem, 1.4375rem + .644vw, 2.0125rem);
    --rt-heading: clamp(2.3rem, 1.4375rem + 3.22vw, 4.025rem);
  }
  .rt-home h1, .rt-public .ts-public h1 { font-size: clamp(2.875rem, 5.405vw, 4.8875rem); }
  .rt-public .verification-page h1 { font-size: clamp(3.1625rem, 5.6vw, 5rem); }

  .rt-public .verification-page .vf-hero-copy { width: 48%; }
  .rt-home .rt-lead, .rt-section-heading p, .rt-account p,
  .rt-public .ts-public .ts-lead, .rt-public .verification-page .vf-lead,
  .verification-page .vf-record-intro > p:last-child { font-size: 20.7px; }
  .rt-home .rt-eyebrow, .rt-public .ts-public .ts-eyebrow,
  .rt-public .ts-public .ts-step, .verification-page .pe-kicker { font-size: 16.1px; }
  .rt-home .rt-access-note, .rt-project .rt-category, .rt-project-pages p,
  .rt-footer .rt-concept-note, .verification-page .vf-preview-note,
  .rt-public .verification-page .vf-card-heading .vf-status,
  .rt-public .ts-public .ts-chip { font-size: 14.95px; }
  .rt-home .rt-button, .rt-category-chips button, .rt-project > a, .rt-method-link,
  .rt-source-stack p, .verification-page .button, .verification-page h4,
  .verification-page .vf-record-tabs a,
  .rt-public .ts-public :is(.ts-primary,.ts-actions > a) { font-size: 18.4px; }
  .rt-principles p, .rt-source-stack li, .verification-page .vf-checks li,
  .verification-page .vf-card-foot p, .verification-page .vf-record-foot p,
  .verification-page .vf-fee-note { font-size: 19.55px; }
  .rt-principles h2, .rt-public .rt-principles-compact h2 {
    font-size: clamp(1.29375rem, 1.15rem + .322vw, 1.4375rem);
  }
  .verification-page .vf-status { font-size: 13.8px; }
  .rt-public .verification-page .vf-explanations summary { font-size: 23px; }
  .rt-account h2, .verification-page .vf-interest h2 { font-size: clamp(2.0125rem, 3.91vw, 3.45rem); }
  .site-shell .site-footer.rt-footer .td-legal-notice { font-size: 16.1px; }
  .rt-footer nav a { font-size: 17.25px; }
  .rt-footer .brand-name { font-size: 20.7px; }
}
@media (min-width: 1100px) and (max-width: 1279px) {
  .rt-public .verification-page h1 { font-size: 3.7375rem; }
}


@media (min-width: 1100px) {
  .rt-hero::before { background: linear-gradient(90deg, #06131dbf 0%, #06131dbf 28%, #06131db3 44%, #06131dad 48%, #06131d9d 52%, #06131d85 56%, #06131d68 60%, #06131d4b 64%, #06131d2e 68%, #06131d17 72%, #06131d06 76%, #06131d00 80%), linear-gradient(0deg, #06131d 0%, #06131d00 18%); }
  /* Keep each DE/JA part on one line, separated by the existing explicit break. */
  .rt-public:is(:lang(de),:lang(ja)) .verification-page h1 { font-size: clamp(3.7375rem, 5.1vw, 4.25rem); }
  .rt-public:is(:lang(de),:lang(ja)) .verification-page h1 > span { display: inline; white-space: nowrap; }
  .rt-public:is(:lang(de),:lang(ja)) .verification-page h1 > .rt-hero-break { display: inline; }
}


@media (min-width: 1673px) {
  .rt-hero-art, .verification-page .vf-hero-art {
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 160px, #000 calc(100% - 160px), transparent);
    mask-image: linear-gradient(90deg, transparent, #000 160px, #000 calc(100% - 160px), transparent);
  }
}


@media (min-width: 1100px) {
  .rt-hero-copy, .verification-page .vf-hero-copy { text-shadow: 0 1px 2px #06131d99, 0 0 18px #06131d66; }
  .rt-hero-copy .rt-primary, .verification-page .vf-hero-copy .button-primary { text-shadow: none; }
}



@media (forced-colors: none) {
  .rt-home {
    --rt-edge-light: 0 0 0 1px #8ed5eb24, 0 0 12px -4px #8ed5eb24;
    --rt-edge-hover: 0 0 0 1px #8ed5eb3d, 0 0 16px -4px #8ed5eb33;
  }
  .rt-home :is(.rt-primary,.rt-category-chips button[aria-pressed=true]) { box-shadow: var(--rt-edge-light); }
  .rt-home :is(.rt-primary,.rt-category-chips button[aria-pressed=true]):hover { box-shadow: var(--rt-edge-hover); }
  .rt-home .rt-project:is(:hover,:focus-within) { box-shadow: var(--rt-shadow), var(--rt-edge-light); }
  .rt-home .rt-source-stack li { box-shadow: 0 12px 22px -10px #0009, inset 0 1px 0 #b1c0cd33, var(--rt-edge-light); }
  .rt-home .rt-source-stack li:hover { box-shadow: 0 12px 22px -10px #0009, inset 0 1px 0 #b1c0cd33, var(--rt-edge-hover); }
  .rt-home :is(.rt-primary,.rt-category-chips button[aria-pressed=true]):focus-visible { box-shadow: none; }
}

/* The mobile home link measured 40px high; extend its target around the same
   centred 36px logo, within the existing 72px header. */
@media (max-width: 540px) {
  .site-shell .rt-header .brand { min-height: 2.75rem; }
}



.rt-source-stack ol { position: relative; isolation: isolate; }
.rt-source-stack ol::before, .rt-source-stack ol::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
}
.rt-source-stack ol::before {
  inset: -24px -18px;
  background: linear-gradient(154deg, transparent 46%, #8ed5eb28 46.2%, transparent 46.5%),
    linear-gradient(27deg, transparent 58%, #8ed5eb30 58.2%, transparent 58.5%),
    linear-gradient(118deg, transparent 64%, #8ed5eb28 64.2%, transparent 64.5%),
    radial-gradient(ellipse at 65% 54%, #8ed5eb20, transparent 68%);
  -webkit-mask-image: radial-gradient(ellipse, #000 35%, transparent 72%);
  mask-image: radial-gradient(ellipse, #000 35%, transparent 72%);
}
.rt-source-stack ol::after {
  inset-inline: -12px -16px; bottom: -42px; height: 16px;
  /* Narrow cyan core, white reflection and the existing amber token at right. */
  background: radial-gradient(ellipse at 91% 50%, var(--rt-text), transparent 5%) center / 100% 3px no-repeat,
    linear-gradient(90deg, transparent, var(--rt-accent) 18%, var(--rt-text) 46%, var(--rt-accent) 76%, var(--warning) 91%, transparent) center / 100% 3px no-repeat,
    radial-gradient(ellipse 11% 42% at 91% 50%, color-mix(in srgb, var(--warning) 90%, transparent), transparent),
    radial-gradient(ellipse at 52% 50%, color-mix(in srgb, var(--rt-accent) 92%, transparent), transparent 72%);
}
.rt-home .rt-source-stack li {
  --rt-slab-depth: 18px;
  --rt-slab-glow: 16px;
  --rt-slab-edge: color-mix(in srgb, var(--primary-cyan) 38%, var(--rt-accent));
  --rt-slab-rim: color-mix(in srgb, var(--rt-slab-edge) 88%, transparent);
  position: relative;
  border-color: var(--rt-slab-edge);
  /* Blue glass and a faint inner reflection stay behind opaque, upright type. */
  background: linear-gradient(163deg, color-mix(in srgb, var(--rt-text) 9%, transparent), transparent 16%, color-mix(in srgb, var(--rt-accent) 5%, transparent) 18%, transparent 34%),
    linear-gradient(125deg, color-mix(in srgb, var(--primary-blue) 35%, var(--rt-card)), color-mix(in srgb, var(--primary-blue) 14%, var(--rt-card)) 55%, var(--rt-card));
  --rt-slab-shadow: inset 0 1px 0 color-mix(in srgb, var(--rt-text) 80%, transparent),
    inset -1px 0 0 var(--rt-slab-edge), inset 0 -1px 0 #8ed5eb66,
    inset 0 4px 9px -5px var(--rt-slab-edge), inset -5px 0 12px -7px var(--rt-slab-edge),
    0 0 4px var(--rt-slab-rim), 0 0 var(--rt-slab-glow) var(--rt-slab-rim),
    8px 18px 16px -8px #000b;
  box-shadow: var(--rt-slab-shadow);
}
.rt-source-stack strong { font-weight: 600; letter-spacing: -.025em; }
.rt-source-stack .rt-step { flex-shrink: 0; white-space: nowrap; }

.rt-home .rt-source-stack li:hover { box-shadow: var(--rt-slab-shadow); }
.rt-source-stack li::before, .rt-source-stack li::after {
  content: ''; position: absolute; pointer-events: none;
  border: 1px solid color-mix(in srgb, var(--rt-accent) 65%, var(--rt-line));
}
.rt-source-stack li::before {
  top: 0; bottom: -1px; right: calc(-1 * var(--rt-slab-depth) - 1px);
  width: var(--rt-slab-depth);
  transform: skewY(45deg); transform-origin: left top;
  border-left: 0; border-radius: 0 3px 3px 0;
  background: linear-gradient(110deg, color-mix(in srgb, var(--primary-blue) 55%, var(--rt-card)), color-mix(in srgb, var(--primary-blue) 28%, var(--rt-card)) 55%, var(--rt-bg));
  box-shadow: inset 1px 0 0 var(--rt-accent), inset -1px 0 0 #8ed5eb99;
}
.rt-source-stack li::after {
  left: 0; right: -1px; bottom: calc(-1 * var(--rt-slab-depth) - 1px);
  height: var(--rt-slab-depth);
  transform: skewX(45deg); transform-origin: left top;
  border-top: 0; border-radius: 0 0 3px 3px;
  background: linear-gradient(color-mix(in srgb, var(--primary-blue) 42%, var(--rt-card)), color-mix(in srgb, var(--primary-blue) 25%, var(--rt-card)) 45%, color-mix(in srgb, var(--primary-blue) 12%, var(--rt-bg)));
  box-shadow: inset 0 1px 0 #8ed5eb99, inset 0 -1px 0 #8ed5eb80;
}
/* Informational steps stay out of the tab order. Real action focus also
   brightens the rim, independently of the unchanged 3px focus outline. */
.rt-core:has(.rt-actions :focus-visible) .rt-source-stack li,
.rt-home .rt-source-stack li:focus-within {
  --rt-slab-rim: var(--rt-slab-edge);
}
@media (hover: hover) and (pointer: fine) {
  .rt-home .rt-source-stack li:hover { --rt-slab-rim: var(--rt-slab-edge); }
}
@media (max-width: 767px) {
  .rt-home .rt-source-stack li {
    --rt-slab-depth: 9px; --rt-slab-glow: 8px;
    --rt-slab-rim: color-mix(in srgb, var(--rt-slab-edge) 44%, transparent);
  }
  .rt-core:has(.rt-actions :focus-visible) .rt-source-stack li,
  .rt-home .rt-source-stack li:focus-within { --rt-slab-rim: color-mix(in srgb, var(--rt-slab-edge) 50%, transparent); }
  .rt-source-stack ol::before { inset: -12px; }
  .rt-source-stack ol::after { inset-inline: -6px -8px; bottom: -21px; height: 8px; opacity: .5; background-size: 100% 1.5px, 100% 1.5px, auto, auto; }
}
@media (max-width: 767px) and (hover: hover) and (pointer: fine) {
  .rt-home .rt-source-stack li:hover { --rt-slab-rim: color-mix(in srgb, var(--rt-slab-edge) 50%, transparent); }
}
@media (prefers-reduced-motion: reduce) {
  .rt-home .rt-source-stack li { transition: none; animation: none; }
}
@media (forced-colors: active) {
  .rt-source-stack ol::before, .rt-source-stack ol::after,
  .rt-source-stack li::before, .rt-source-stack li::after { display: none; }
  .rt-home .rt-source-stack li, .rt-home .rt-source-stack li:hover { border-color: CanvasText; box-shadow: none; }
}



.rt-public :is(.rt-home,.verification-page) {
  --rt-body: clamp(1rem, .9rem + .22vw, 1.125rem);
  --rt-title: clamp(1.25rem, 1.1rem + .25vw, 1.375rem);
  --rt-heading: clamp(1.875rem, 1.4rem + 1vw, 2.25rem);
  --rt-h1: clamp(3rem, 3.8vw, 3.5rem);
  --rt-ingress: 1.125rem;
  --rt-section-space: clamp(3.5rem, 5vw, 4.5rem);
  --rt-gutter: clamp(1.5rem, 2.3vw, 2rem);
  --rt-hero-height: clamp(30rem, 38vw, 35rem);
  --rt-hero-space: clamp(3rem, 4vw, 4rem);
}
.rt-public :is(.rt-home,.verification-page) .rt-container {
  width: min(1200px, calc(100% - 2 * var(--rt-gutter)));
}
.rt-public .rt-home h1, .rt-public .verification-page h1,
.rt-public:is(:lang(de),:lang(ja)) .verification-page h1 { font-size: var(--rt-h1); }
.rt-public .rt-home h2, .rt-public .verification-page h2 { font-size: var(--rt-heading); }
.rt-public .rt-home h3, .rt-public .verification-page h3 { font-size: var(--rt-title); }
/* The principles strip has card headings within the existing compact grid. */
.rt-public .rt-principles h2 { font-size: var(--rt-title); }
.rt-public .rt-home .rt-lead, .rt-public .rt-home .rt-section-heading p,
.rt-public .rt-home .rt-account p, .rt-public .verification-page .vf-lead,
.rt-public .verification-page .vf-record-intro > p:last-child { font-size: var(--rt-ingress); }
.rt-public .rt-home .rt-eyebrow, .rt-public .verification-page .pe-kicker { font-size: .875rem; }
.rt-public .rt-home .rt-access-note, .rt-public .rt-home .rt-project .rt-category,
.rt-public .rt-home .rt-project-pages p, .rt-public .verification-page .vf-preview-note,
.rt-public .verification-page .vf-card-heading .vf-status { font-size: .8125rem; }
.rt-public .rt-home :is(.rt-button,.rt-category-chips button,.rt-project > a,.rt-method-link,.rt-source-stack p),
.rt-public .verification-page :is(.button,h4,.vf-record-tabs a) { font-size: 1rem; }
.rt-public .rt-home :is(.rt-principles p,.rt-source-stack li),
.rt-public .verification-page :is(.vf-checks li,.vf-card-foot p,.vf-record-foot p,.vf-fee-note) { font-size: var(--rt-body); }
.rt-public .verification-page .vf-status { font-size: .75rem; }
.rt-public .verification-page .vf-explanations summary { font-size: var(--rt-title); }
.rt-public .rt-home .rt-hero-inner, .rt-public .verification-page .vf-hero-inner {
  min-height: var(--rt-hero-height); padding-block: var(--rt-hero-space);
}
.rt-public .rt-home :is(.rt-projects,.rt-core,.rt-account,.rt-principles) { padding-block: var(--rt-section-space); }
.rt-public .verification-page .rt-principles { padding-block: var(--rt-section-space); }
.rt-public .verification-page :is(.vf-section,.vf-interest) { margin-top: var(--rt-section-space); }
.rt-public .rt-home :is(.rt-button,.rt-category-chips button),
.rt-public .verification-page .button { min-height: 48px; padding-block: 11px; }
.rt-public .rt-home .rt-category-chips button { min-height: 46px; padding-block: 10px; }
.rt-public .verification-page .vf-record-tabs a { min-height: 48px; padding-block: 10px; }
/* Keep long translations free to wrap inside the existing column. */
.rt-public:is(:lang(de),:lang(ja)) .verification-page h1 > span { white-space: normal; }
.rt-public .rt-home .rt-hero-art img,
.rt-public .verification-page .vf-hero-art img { object-position: center 48%; }
.site-shell .rt-header { --header-height: clamp(72px, 5.5vw, 80px); height: var(--header-height); min-height: var(--header-height); }
.site-shell .rt-header .header-inner { height: var(--header-height); min-height: var(--header-height); width: min(1200px, calc(100% - 2 * clamp(24px, 2.3vw, 32px))); }
.site-shell .rt-header .header-actions .button,
.site-shell .rt-header .public-language-menu summary { font-size: 14px; }
/* At intermediate widths retain full-size labels in the existing native menu. */
@media (min-width: 1100px) and (max-width: 1279px) {
  .site-shell .rt-header .rt-desktop-nav { display: none; }
  .site-shell .rt-header .rt-menu { display: block; order: 3; }
  .rt-header .rt-menu > summary { display: grid; place-items: center; width: 44px; min-height: 44px; cursor: pointer; border: 1px solid var(--rt-line); border-radius: 7px; list-style: none; }
  .rt-header .rt-menu > summary::-webkit-details-marker { display: none; }
  .site-shell .rt-header .rt-menu > .nav { display: none; position: absolute; top: 100%; inset-inline: -24px; width: auto; max-height: calc(100dvh - var(--header-height)); overflow-y: auto; padding: 16px 24px 24px; background: var(--rt-bg); border-block: 1px solid var(--rt-line); box-shadow: 0 20px 30px #0004; }
  .site-shell .rt-header .rt-menu[open] > .nav { display: flex; flex-direction: column; align-items: stretch; }
  .site-shell .rt-header .nav-link { padding: 12px 8px; font-size: 16px; white-space: normal; }
  .site-shell .rt-header .public-language-menu { margin: 8px 0 0; align-self: flex-start; }
  .site-shell .rt-header .public-language-menu > div { position: static; }
  .site-shell .rt-header .header-actions { margin-left: auto; }
}
@media (max-width: 800px) {
  .rt-public :is(.rt-home,.verification-page) {
    --rt-body: clamp(1rem, .9375rem + .25vw, 1.0625rem);
    --rt-h1: clamp(2rem, 1.5rem + 3vw, 2.375rem);
    --rt-heading: clamp(1.5rem, 1.25rem + 1vw, 1.75rem);
    --rt-title: clamp(1.125rem, 1rem + .5vw, 1.25rem);
    --rt-ingress: clamp(1rem, .9375rem + .25vw, 1.125rem);
    --rt-section-space: clamp(2rem, 6vw, 3rem);
    --rt-gutter: clamp(1rem, 4.5vw, 1.25rem);
    --rt-hero-height: 0px;
    --rt-hero-space: var(--rt-section-space);
  }
  .site-shell .rt-header { --header-height: clamp(60px, 8.5vw, 68px); }
  .site-shell .rt-header .header-inner { width: calc(100% - 2 * clamp(16px, 4.5vw, 20px)); }
  .rt-public .rt-home .rt-hero-art img,
  .rt-public .verification-page .vf-hero-art img { object-position: right center; }
}
@media (min-width: 801px) {
  /* Both German hero actions fit the existing 48% column at the content cap. */
  .rt-public .verification-page .vf-hero .button { padding-inline: 20px; }
}


.rt-public .rt-home .rt-link { font-size: 1rem; }
.rt-public .rt-footer nav a { font-size: .9375rem; }

/* The short Japanese Verification label measured only 32px wide. */
.site-shell .rt-header .nav-link { min-width: 44px; }

/* The mobile copy occupies the opening screen; longer copy grows naturally.
   Center the real content in that screen and keep the artwork in normal flow. */
@media (max-width: 767px) {
  .rt-public :is(.rt-home,.verification-page) {
    --rt-hero-height: calc(100vh - clamp(60px, 8.5vw, 68px));
    --rt-hero-height: calc(100svh - clamp(60px, 8.5vw, 68px));
  }
}

/* Owner artwork: crop/resize only. The section keeps its original radial light
   over the site colour; the transparent figure lets that exact surface show. */
.rt-home .rt-core:has(.rt-core-illustration) { background-color: var(--rt-bg); }
.rt-home .rt-core-illustration {
  margin: 0; min-width: 0; min-height: calc(411px + 1.6rem);
  display: flex; flex-direction: column; justify-content: center;
  background: transparent;
}
.rt-core-illustration img {
  display: block; width: 100%; height: auto; aspect-ratio: 724 / 368;
}
.rt-core-illustration ol {
  list-style: none; margin: 0; padding: 0 5%;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rt-core-illustration li {
  min-width: 0; display: flex; flex-direction: column; gap: 6px;
  text-align: center; font-size: 1rem; line-height: 1.4;
  overflow-wrap: anywhere;
}
.rt-core-illustration .rt-step { color: var(--rt-accent); font-weight: 700; }
.rt-core-illustration strong { color: var(--rt-text); font-weight: 600; letter-spacing: -.025em; }
.rt-core-illustration figcaption {
  margin-top: 32px; padding-top: 16px; text-align: center;
  color: var(--rt-muted); font-size: 1rem; line-height: 1.6;
}
@media (max-width: 800px) {
  .rt-home .rt-core-illustration { max-width: 560px; min-height: calc(395px + 1.6rem); }
}

/* Mobile crop fills the content column without the old stack's height reserve. */
.rt-core-illustration picture { display: block; width: 100%; }
@media (max-width: 640px) {
  .rt-core-grid:has(.rt-core-illustration) { row-gap: 24px; }
  .rt-home .rt-core-illustration { width: 100%; max-width: none; min-height: 0; }
  .rt-core-illustration img {
    aspect-ratio: 161 / 64;
  }
  .rt-core-illustration ol { padding-inline: 0; }
}
