/* =====================================================================
   OLTHANY WEBSITE V1 · APPROVED PUBLIC CONVERGENCE · UI/UX POLISH 01
   Manager Final owns shared primitives. This file owns Website composition.
   ===================================================================== */

body[data-site-page] {
    --ow-shell: min(calc(100% - 64px), 1280px);
    --ow-section-y: clamp(64px, 7vw, 104px);
    --ow-section-y-compact: clamp(44px, 5vw, 72px);
    --ow-grid-gap: clamp(26px, 3.5vw, 56px);
    --ow-copy: 64ch;
    --ow-copy-narrow: 45ch;
    --ow-display: clamp(2.9rem, 5.25vw, 5.25rem);
    --ow-display-compact: clamp(2.45rem, 4.35vw, 4.15rem);
    --ow-title: clamp(1.9rem, 3.2vw, 3.15rem);
    --ow-subtitle: clamp(1.2rem, 1.65vw, 1.55rem);
    --ow-rail: 1px solid var(--public-line-strong);
    --ow-surface-inset: color-mix(in srgb, var(--public-surface-soft) 72%, var(--public-surface));
    --ow-stage: color-mix(in srgb, var(--public-surface) 93%, var(--public-canvas));
    --ow-focus-shadow: 0 0 0 3px color-mix(in srgb, var(--public-accent) 20%, transparent);
    background: var(--public-canvas);
    color: var(--public-ink);
}

body[data-site-page] .landing-container {
    width: var(--ow-shell);
    max-width: none;
    padding-inline: 0;
}

body[data-site-page] main {
    color: var(--public-ink);
    isolation: isolate;
}

body[data-site-page] main [id] {
    scroll-margin-top: calc(var(--public-header-height) + 28px);
}

body[data-site-page] [hidden] { display: none !important; }
body[data-site-page] :is([class^="ow-"],[class*=" ow-"]) { min-width: 0; }
body[data-site-page] :is(.ow-section,.ow-close) { position: relative; padding-block: var(--ow-section-y); }
body[data-site-page] main h1,
body[data-site-page] main h2,
body[data-site-page] main h3 { text-wrap: balance; }
body[data-site-page] main h1 {
    margin: 24px 0 26px;
    font-size: var(--ow-display-compact);
    line-height: .98;
    letter-spacing: -.052em;
}
body[data-site-page] main h1 em { color: var(--public-muted); font-style: normal; }
body[data-site-page] :is(.ow-section,.ow-close) h2 {
    margin: 18px 0 24px;
    font-size: var(--ow-title);
    line-height: 1.03;
    letter-spacing: -.052em;
}
body[data-site-page] main h3 { letter-spacing: -.028em; }
body[data-site-page] .ow-micro {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--public-muted);
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .13em;
    text-transform: uppercase;
}
body[data-site-page] .ow-micro::before {
    content: "";
    width: 18px;
    height: 1px;
    background: var(--public-line-strong);
}
body[data-site-page] .ow-section-heading {
    display: grid;
    grid-template-columns: minmax(0,1.16fr) minmax(260px,.58fr);
    gap: var(--ow-grid-gap);
    align-items: end;
    margin-bottom: clamp(34px,4.4vw,56px);
}
body[data-site-page] .ow-section-heading h2 { margin-bottom: 0; max-width: 13ch; }
body[data-site-page] .ow-section-heading > p { margin: 0 0 4px; max-width: 43ch; }
body[data-site-page] .ow-section-heading p a { color: var(--public-accent-fg); text-decoration-thickness: 1px; text-underline-offset: 4px; }
body[data-site-page="about"] .ow-principles .ow-section-heading {
    margin-bottom: clamp(40px,5vw,62px);
}
body[data-site-page] main .landing-actions { gap: 12px; flex-wrap: wrap; }
body[data-site-page] main .landing-text-link { min-height: 44px; }
body[data-site-page] [data-switch-stage] { position: relative; }
body[data-site-page] [data-switch-panel] { outline-offset: 8px; }
body[data-site-page] summary { cursor: pointer; list-style: none; }
body[data-site-page] summary::-webkit-details-marker { display: none; }
body[data-site-page] summary:focus-visible { outline: 3px solid var(--public-accent-line); outline-offset: 4px; }
body[data-site-page] details summary > .icon:last-child { transition: transform var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page] details[open] summary > .icon:last-child { transform: rotate(180deg); }

/* ---------------------------------------------------------------------
   Public header · shared premium shell + sticky behavior.
   --------------------------------------------------------------------- */
body[data-site-page] :where(section[id],[id^="servicio-"]) { scroll-margin-top: calc(var(--public-header-height) + 20px); }
body[data-site-page] .landing-header {
    min-height: 68px;
    border-bottom: 1px solid color-mix(in srgb, var(--public-line-strong) 58%, transparent);
    background: color-mix(in srgb, var(--public-canvas) 95%, transparent);
    backdrop-filter: blur(20px) saturate(135%);
    transition: box-shadow var(--motion-duration-standard) var(--motion-ease-standard), background var(--motion-duration-standard) var(--motion-ease-standard);
}
body[data-site-page] .landing-header.is-scrolled {
    background: color-mix(in srgb, var(--public-canvas) 98%, transparent);
    box-shadow: 0 1px 0 color-mix(in srgb, var(--public-line-strong) 78%, transparent), 0 14px 36px color-mix(in srgb, #000 7%, transparent);
}
body[data-site-page] .landing-header__inner { width: var(--ow-shell); min-height: 68px; gap: 18px; }
body[data-site-page] .landing-brand { flex: 0 0 auto; }
body[data-site-page] .landing-brand__logo { width: 32px; height: 32px; }
body[data-site-page] .landing-brand__logo img { width: auto; height: 32px; object-fit: contain; }
body[data-site-page] .landing-brand__text strong { font-size: .97rem; letter-spacing: -.028em; }
body[data-site-page] .landing-brand__text small { display: none; }
body[data-site-page] .landing-brand--footer .landing-brand__text small { display:block; }
body[data-site-page] .landing-navigation { min-width: 0; }
body[data-site-page] .landing-navigation__primary { gap: 0; }
body[data-site-page] .landing-navigation__primary a,
body[data-site-page] .landing-nav-login,
body[data-site-page] .landing-nav-cta { font-size: .8rem; }
body[data-site-page] .landing-navigation__primary a { min-height: 40px; padding-inline: 12px; border-radius: 6px; }
body[data-site-page] .landing-navigation__primary a.is-active { background: color-mix(in srgb, var(--public-surface) 56%, transparent); box-shadow: inset 0 -2px 0 var(--public-accent); }
body[data-site-page] .landing-navigation__actions { gap: 10px; }
body[data-site-page] .landing-nav-cta,
body[data-site-page] .landing-nav-login { min-height: 40px; }
body[data-site-page] .landing-nav-cta { border-radius: 7px; }
body[data-site-page] .landing-theme-button { width: 38px; height: 38px; border-radius: 7px; }

/* ---------------------------------------------------------------------
   Signature hero · route compass, not a dashboard preview.
   --------------------------------------------------------------------- */
body[data-site-page] .ow-home-hero {
    position: relative;
    padding-top: clamp(58px,6.6vw,92px);
    overflow: clip;
}
body[data-site-page] .ow-home-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: linear-gradient(90deg,transparent 0,var(--public-line-strong) 18%,var(--public-line-strong) 82%,transparent 100%);
    opacity: .62;
}
body[data-site-page] .ow-home-hero__grid {
    display: grid;
    grid-template-columns: minmax(0,.88fr) minmax(500px,1.12fr);
    gap: clamp(42px,5vw,76px);
    align-items: center;
}
body[data-site-page] .ow-home-hero h1 {
    max-width: 10.2ch;
    font-size: var(--ow-display);
    line-height: .96;
    letter-spacing: -.058em;
}
body[data-site-page] .ow-hero-copy > p {
    max-width: 41ch;
    margin: 0 0 28px;
    color: var(--public-muted);
    font-size: clamp(.98rem,1.05vw,1.06rem);
    line-height: 1.68;
}
body[data-site-page] .ow-hero-note {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    color: var(--public-muted);
    font-size: .7rem;
    letter-spacing: .02em;
}
body[data-site-page] .ow-hero-note > span {
    position: relative;
    width: 18px;
    height: 1px;
    background: var(--public-accent);
}
body[data-site-page] .ow-hero-note > span::after {
    content: "";
    position: absolute;
    right: 0;
    top: -2px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--public-accent);
}

body[data-site-page] .ow-route-map {
    position: relative;
    border: 1px solid var(--public-line-strong);
    border-radius: var(--radius-xl);
    background: var(--ow-stage);
    box-shadow: var(--shadow-subtle);
    overflow: hidden;
}
body[data-site-page] .ow-route-map::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg,transparent 49.9%,var(--public-line) 50%,transparent 50.1%) top / 100% 72px no-repeat,
        linear-gradient(180deg,transparent 49.9%,var(--public-line) 50%,transparent 50.1%) left / 72px 100% no-repeat;
    opacity: .34;
}
body[data-site-page] .ow-route-map > header {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    min-height: 66px;
    padding: 0 24px;
    border-bottom: var(--ow-rail);
    background: color-mix(in srgb,var(--public-surface) 90%,transparent);
}
body[data-site-page] .ow-route-map > header > small { color: var(--public-muted); font-size: .67rem; }
body[data-site-page] .ow-route-map__choices {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 18px 18px 0;
    gap: 0 18px;
}
body[data-site-page] .ow-route-map__choices button {
    position: relative;
    display: grid;
    grid-template-columns: 24px 1fr 18px;
    gap: 10px;
    justify-content: initial;
    min-height: 62px;
    padding: 12px 4px;
    border: 0;
    border-bottom: var(--ow-rail);
    border-radius: 0;
    background: transparent;
    text-align: left;
    font-size: .82rem;
    color: var(--public-ink);
    box-shadow: none;
}
body[data-site-page] .ow-route-map__choices button::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 0;
    height: 2px;
    background: var(--public-accent);
    transition: width var(--motion-duration-standard) var(--motion-ease-standard);
}
body[data-site-page] .ow-route-map__choices button:hover { background: transparent; color: var(--public-ink); }
body[data-site-page] .ow-route-map__choices button[aria-selected="true"] { background: transparent; color: var(--public-ink); border-color: var(--public-line-strong); }
body[data-site-page] .ow-route-map__choices button[aria-selected="true"]::before { width: 100%; }
body[data-site-page] .ow-route-map__choices button small { color: var(--public-muted); font-size: .6rem; font-variant-numeric: tabular-nums; }
body[data-site-page] .ow-route-map__choices button[aria-selected="true"] small { color: var(--public-accent-fg); }
body[data-site-page] .ow-route-map__choices button .icon { width: 15px; height: 15px; color: var(--public-muted); transition: transform var(--motion-duration-standard) var(--motion-ease-standard),color var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page] .ow-route-map__choices button:hover .icon,
body[data-site-page] .ow-route-map__choices button[aria-selected="true"] .icon { color: var(--public-accent-fg); transform: translate(2px,2px); }
body[data-site-page] .ow-route-map__connector { display: none; }
body[data-site-page] .ow-route-map__focus {
    position: relative;
    z-index: 1;
    margin: 0 18px 18px;
    padding: clamp(22px,2.6vw,32px) 6px 4px;
    border-top: var(--ow-rail);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
body[data-site-page] .ow-route-map__focus::before {
    content: "CONTEXTO INICIAL";
    position: absolute;
    top: 14px;
    right: 18px;
    color: var(--public-muted);
    font-size: .56rem;
    font-weight: 700;
    letter-spacing: .12em;
}
body[data-site-page] .ow-route-map__focus [data-switch-panel] {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 22px;
    align-items: start;
    min-height: 190px;
}
body[data-site-page] .ow-route-map__symbol {
    position: relative;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 7px;
    width: 72px;
    aspect-ratio: 1;
    border: 1px solid var(--public-line-strong);
    border-radius: var(--radius-lg);
    background: var(--public-surface-soft);
}
body[data-site-page] .ow-route-map__symbol::after {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid var(--public-line);
    border-radius: calc(var(--radius-lg) - 5px);
}
body[data-site-page] .ow-route-map__symbol .icon { width: 27px; height: 27px; }
body[data-site-page] .ow-route-map__symbol span { color: var(--public-muted); font-size: .55rem; font-weight: 700; }
body[data-site-page] .ow-route-map__focus h2 { margin: 12px 0 10px; font-size: clamp(1.42rem,2vw,1.8rem); line-height: 1.1; letter-spacing: -.04em; }
body[data-site-page] .ow-route-map__focus p { max-width: 47ch; margin: 0 0 12px; color: var(--public-muted); font-size: .86rem; line-height: 1.65; }
body[data-site-page] .ow-route-map__focus .landing-text-link { font-size: .77rem; }
body[data-site-page] .ow-route-map > footer {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 0 24px 20px;
    color: var(--public-muted);
    font-size: .61rem;
}
body[data-site-page] .ow-home-hero__bottom {
    display: grid;
    grid-template-columns: repeat(3,1fr) auto;
    align-items: center;
    margin-top: clamp(54px,6vw,82px);
    border-block: var(--ow-rail);
    color: var(--public-muted);
    font-size: .7rem;
}
body[data-site-page] .ow-home-hero__bottom > span { padding: 18px 0; }
body[data-site-page] .ow-home-hero__bottom > span + span { padding-left: 22px; border-left: var(--ow-rail); }
body[data-site-page] .ow-home-hero__bottom a { display: grid; place-items: center; width: 48px; height: 48px; border-left: var(--ow-rail); color: var(--public-ink); }
body[data-site-page] .ow-home-hero__bottom a:hover { color: var(--public-ink); }

/* ---------------------------------------------------------------------
   Service Discovery · rich index / stage relationship.
   --------------------------------------------------------------------- */
body[data-site-page] .ow-discovery { background: var(--public-surface); }
body[data-site-page] .ow-discovery__layout {
    position: relative;
    display: grid;
    grid-template-columns: minmax(210px,.34fr) minmax(0,1fr);
    gap: clamp(38px,5vw,78px);
    align-items: start;
    border-top: var(--ow-rail);
    padding-top: 28px;
}
body[data-site-page] .ow-discovery__index { position: sticky; top: calc(var(--public-header-height) + 26px); }
body[data-site-page] .ow-discovery__index > [role="tablist"] { display: grid; gap: 0; margin: 16px 0 18px; border-top: var(--ow-rail); }
body[data-site-page] .ow-discovery__index button {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto 18px;
    gap: 12px;
    justify-content: initial;
    min-height: 58px;
    padding: 0 2px;
    border: 0;
    border-bottom: var(--ow-rail);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: left;
    color: var(--public-muted);
}
body[data-site-page] .ow-discovery__index button::before {
    content: "";
    position: absolute;
    left: -1px;
    top: 50%;
    width: 2px;
    height: 0;
    background: var(--public-accent);
    transform: translateY(-50%);
    transition: height var(--motion-duration-standard) var(--motion-ease-standard);
}
body[data-site-page] .ow-discovery__index button:hover { color: var(--public-ink); background: transparent; }
body[data-site-page] .ow-discovery__index button[aria-selected="true"] { color: var(--public-ink); background: transparent; border-color: var(--public-line-strong); }
body[data-site-page] .ow-discovery__index button[aria-selected="true"]::before { height: 22px; }
body[data-site-page] .ow-discovery__index button small { color: var(--public-muted); font-size: .63rem; }
body[data-site-page] .ow-discovery__index button[aria-selected="true"] small,
body[data-site-page] .ow-discovery__index button[aria-selected="true"] .icon { color: var(--public-accent-fg); }
body[data-site-page] .ow-discovery__index .landing-text-link { font-size: .75rem; }
body[data-site-page] .ow-discovery__stage {
    min-height: 430px;
    border-left: var(--ow-rail);
    padding-left: clamp(28px,4vw,58px);
}
body[data-site-page] .ow-discovery__caption {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: var(--ow-rail);
    color: var(--public-muted);
    font-size: .77rem;
}
body[data-site-page] .ow-discovery__caption strong { color: var(--public-ink); font-size: .88rem; font-weight: 600; }
body[data-site-page] .ow-service-preview { border-bottom: var(--ow-rail); }
body[data-site-page] .ow-service-preview summary {
    display: grid;
    grid-template-columns: 32px 1fr 22px;
    gap: 16px;
    align-items: center;
    min-height: 76px;
    padding: 0 2px;
}
body[data-site-page] .ow-service-preview summary small { color: var(--public-muted); font-size: .64rem; font-variant-numeric: tabular-nums; }
body[data-site-page] .ow-service-preview summary h3 { margin: 0; font-size: clamp(1rem,1.3vw,1.15rem); font-weight: 600; line-height: 1.35; }
body[data-site-page] .ow-service-preview summary .icon { color: var(--public-muted); }
body[data-site-page] .ow-service-preview[open] summary h3 { color: var(--public-accent-fg); }
body[data-site-page] .ow-service-preview > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; align-items: end; padding: 0 38px 26px 48px; }
body[data-site-page] .ow-service-preview p { max-width: 58ch; margin: 0; font-size: .88rem; }
body[data-site-page] .ow-service-preview .landing-text-link { font-size: .75rem; white-space: nowrap; }

/* ---------------------------------------------------------------------
   Process Journey · active rail, detail, responsibility note.
   --------------------------------------------------------------------- */
body[data-site-page] .ow-method {
    padding-block: clamp(58px,5.6vw,82px);
    background: var(--public-surface-soft);
    border-block: var(--ow-rail);
}
body[data-site-page] .ow-method__experience { position: relative; }
body[data-site-page] .ow-method__rail {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-block: var(--ow-rail);
}
body[data-site-page] .ow-method__rail::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    height: 2px;
    width: 25%;
    background: var(--public-accent);
    transform: translateX(calc(var(--ow-method-index,0) * 100%));
    transition: transform var(--motion-duration-slow) var(--motion-ease-standard);
}
body[data-site-page] .ow-method__rail button {
    justify-content: flex-start;
    gap: 14px;
    min-height: 64px;
    padding: 0 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--public-muted);
    box-shadow: none;
}
body[data-site-page] .ow-method__rail button + button { border-left: var(--ow-rail); }
body[data-site-page] .ow-method__rail button:hover { background: color-mix(in srgb,var(--public-surface) 35%,transparent); color: var(--public-ink); }
body[data-site-page] .ow-method__rail button[aria-selected="true"] { color: var(--public-ink); background: var(--public-surface); }
body[data-site-page] .ow-method__rail button small { font-size: .63rem; color: var(--public-muted); }
body[data-site-page] .ow-method__rail button[aria-selected="true"] small { color: var(--public-accent-fg); }
body[data-site-page] .ow-method__panel {
    display: grid;
    grid-template-columns: 72px minmax(0,1.1fr) minmax(230px,.62fr);
    gap: clamp(32px,5vw,74px);
    align-items: start;
    min-height: 0;
    padding: clamp(34px,4.2vw,52px) 0 24px;
}
body[data-site-page] .ow-method__number {
    font-family: var(--font-title);
    font-size: clamp(2.8rem,4.4vw,4rem);
    font-weight: 700;
    line-height: .75;
    letter-spacing: -.085em;
    color: color-mix(in srgb,var(--public-muted) 36%,transparent);
}
body[data-site-page] .ow-method__panel h3 { max-width: 18ch; margin: 0 0 16px; font-size: clamp(1.45rem,2.2vw,2rem); line-height: 1.16; }
body[data-site-page] .ow-method__panel p { margin: 0; font-size: .94rem; }
body[data-site-page] .ow-method__panel aside { padding-left: 24px; border-left: 2px solid var(--public-accent); }
body[data-site-page] .ow-method__panel aside p { margin-top: 12px; font-size: .82rem; }

/* ---------------------------------------------------------------------
   Trust · editorial commitment ledger.
   --------------------------------------------------------------------- */
body[data-site-page] .ow-trust__layout {
    display: grid;
    grid-template-columns: minmax(0,.72fr) minmax(0,1fr);
    gap: clamp(54px,7vw,110px);
    align-items: start;
}
body[data-site-page] .ow-trust__layout > div:first-child { position: sticky; top: calc(var(--public-header-height) + 34px); }
body[data-site-page] .ow-trust h2 { max-width: 12.5ch; }
body[data-site-page] .ow-commitments { border-top: var(--ow-rail); }
body[data-site-page] .ow-commitments details { border-bottom: var(--ow-rail); }
body[data-site-page] .ow-commitments summary {
    display: grid;
    grid-template-columns: 1fr 20px;
    gap: 16px;
    align-items: center;
    min-height: 76px;
}
body[data-site-page] .ow-commitments summary small { display: none; }
body[data-site-page] .ow-commitments summary h3 { margin: 0; font-size: clamp(1rem,1.45vw,1.2rem); }
body[data-site-page] .ow-commitments details[open] summary h3 { color: var(--public-ink); }
body[data-site-page] .ow-commitments details > p { max-width: 55ch; margin: 0; padding: 0 34px 24px 18px; border-left: 2px solid var(--public-accent); font-size: .88rem; }

/* ---------------------------------------------------------------------
   Manager relationship · connected service record, not a faux diagram.
   --------------------------------------------------------------------- */
body[data-site-page] .ow-bridge {
    overflow: clip;
    background: var(--public-surface);
    border-block: var(--ow-rail);
}
body[data-site-page] .ow-bridge__layout {
    display: grid;
    grid-template-columns: minmax(280px,.56fr) minmax(0,1fr);
    gap: clamp(46px,6vw,92px);
    align-items: center;
}
body[data-site-page] .ow-bridge__layout > div:first-child p { max-width: 43ch; }
body[data-site-page] .ow-relationship {
    border-block: var(--ow-rail);
    background: var(--public-surface);
}
body[data-site-page] .ow-relationship__map {
    display: grid;
    grid-template-columns: minmax(190px,.42fr) minmax(0,1fr);
    border-bottom: var(--ow-rail);
}
body[data-site-page] .ow-relationship__core {
    display: grid;
    align-content: center;
    gap: 8px;
    min-height: 250px;
    padding: 28px;
    border-right: var(--ow-rail);
    background: var(--public-surface-soft);
}
body[data-site-page] .ow-relationship__core strong {
    max-width: 12ch;
    font-family: var(--font-title);
    font-size: clamp(1.35rem,2vw,1.8rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}
body[data-site-page] .ow-relationship__core > span:last-child { max-width: 26ch; color: var(--public-muted); font-size: .74rem; line-height: 1.55; }
body[data-site-page] .ow-relationship__nodes { display: grid; grid-template-columns: 1fr 1fr; }
body[data-site-page] .ow-relation-node {
    position: relative;
    display: grid;
    grid-template-columns: 36px minmax(0,1fr) 18px;
    gap: 12px;
    align-items: center;
    justify-content: initial;
    min-height: 94px;
    padding: 16px 18px;
    border: 0;
    border-bottom: var(--ow-rail);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--public-ink);
    text-align: left;
}
body[data-site-page] .ow-relation-node:nth-child(odd) { border-right: var(--ow-rail); }
body[data-site-page] .ow-relation-node:nth-child(n+3) { border-bottom: 0; }
body[data-site-page] .ow-relation-node::before { content:""; position:absolute; left:-1px; top:50%; width:2px; height:0; background:var(--public-accent); transform:translateY(-50%); transition:height var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page] .ow-relation-node > span:first-child { display:grid; place-items:center; width:36px; height:36px; border:var(--ow-rail); border-radius:var(--radius-control); color:var(--public-muted); background:var(--public-canvas); }
body[data-site-page] .ow-relation-node > span:nth-child(2) { display:grid; gap:3px; }
body[data-site-page] .ow-relation-node > span:nth-child(2) strong { font-size:.8rem; }
body[data-site-page] .ow-relation-node > span:nth-child(2) small { color:var(--public-muted); font-size:.65rem; font-weight:500; }
body[data-site-page] .ow-relation-node > .icon { color:var(--public-muted); transition:transform var(--motion-duration-standard) var(--motion-ease-standard),color var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page] .ow-relation-node:hover { background:var(--public-surface-soft); color:var(--public-ink); }
body[data-site-page] .ow-relation-node[aria-selected="true"] { background:var(--public-surface-soft); color:var(--public-ink); }
body[data-site-page] .ow-relation-node[aria-selected="true"]::before { height:34px; }
body[data-site-page] .ow-relation-node[aria-selected="true"] > span:first-child { border-color:var(--public-accent-line); color:var(--public-accent-fg); }
body[data-site-page] .ow-relation-node[aria-selected="true"] > .icon { color:var(--public-accent-fg); transform:translateX(2px); }
body[data-site-page] .ow-relationship__caption { min-height: 104px; background:var(--public-canvas); }
body[data-site-page] .ow-relationship__caption [data-switch-panel] { display:grid; grid-template-columns:120px minmax(0,1fr); gap:24px; align-items:start; padding:22px 28px; }
body[data-site-page] .ow-relationship__caption .ow-micro { padding-top:3px; }
body[data-site-page] .ow-relationship__caption strong { display:block; margin-bottom:5px; font-size:.9rem; }
body[data-site-page] .ow-relationship__caption p { max-width:58ch; margin:0; font-size:.8rem; line-height:1.55; }
body[data-site-page] .ow-relationship--compact .ow-relationship__core { min-height: 224px; }

/* ---------------------------------------------------------------------
   Shared close · final next step without a generic CTA slab.
   --------------------------------------------------------------------- */
body[data-site-page] .ow-close { border-top: var(--ow-rail); background: var(--public-canvas); }
body[data-site-page] .ow-close__layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 42px;
    align-items: end;
    padding-top: 10px;
}
body[data-site-page] .ow-close h2 { max-width: 14ch; margin-bottom: 13px; }
body[data-site-page] .ow-close p { max-width: 50ch; margin: 0; }

/* =====================================================================
   SERVICES · public service catalogue, editorial not administrative
   ===================================================================== */
body[data-site-page="services"] {
    --ow-services-line: color-mix(in srgb, var(--public-line-strong) 60%, transparent);
    --ow-services-soft: color-mix(in srgb, var(--public-surface-soft) 66%, var(--public-canvas));
    --ow-services-active: color-mix(in srgb, var(--public-accent) 7%, var(--public-surface));
}
body[data-site-page="services"] .ow-catalog-intro {
    position: relative;
    overflow: clip;
    padding: clamp(54px,5.6vw,82px) 0 clamp(34px,3.7vw,50px);
    border-bottom: 1px solid var(--ow-services-line);
}
body[data-site-page="services"] .ow-catalog-intro::after {
    content: "";
    position: absolute;
    right: -10%;
    bottom: -120px;
    width: 520px;
    height: 340px;
    pointer-events: none;
    background: radial-gradient(ellipse, color-mix(in srgb,var(--public-accent) 6%,transparent), transparent 68%);
}
body[data-site-page="services"] .ow-catalog-intro__layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(150px,.28fr) minmax(420px,1.05fr) minmax(300px,.62fr);
    gap: clamp(28px,4vw,64px);
    align-items: end;
}
body[data-site-page="services"] .ow-catalog-intro__meta { display: block; align-self: start; padding-top: 8px; }
body[data-site-page="services"] .ow-catalog-intro__meta .ow-micro { max-width: 18ch; line-height: 1.45; }
body[data-site-page="services"] .ow-catalog-intro h1 {
    max-width: 8.5ch;
    margin: 0;
    font-size: clamp(3.45rem,5.45vw,5.45rem);
    line-height: .9;
    letter-spacing: -.065em;
}
body[data-site-page="services"] .ow-catalog-intro__support {
    max-width: 36ch;
    padding: 0 0 4px clamp(18px,2.4vw,34px);
    border-left: 1px solid color-mix(in srgb,var(--public-accent) 52%,var(--ow-services-line));
}
body[data-site-page="services"] .ow-catalog-intro__support p { margin: 0 0 18px; color: var(--public-muted); font-size: .98rem; line-height: 1.67; }
body[data-site-page="services"] .ow-catalog-section { padding: clamp(26px,3vw,42px) 0 var(--ow-section-y); }
body[data-site-page="services"] .ow-catalog { display: block; }
body[data-site-page="services"] .ow-catalog__navigation { position: static; margin-bottom: clamp(30px,3.4vw,46px); }
body[data-site-page="services"] .ow-catalog__mobile { display: none; }
body[data-site-page="services"] .ow-catalog__index {
    display: grid;
    grid-template-columns: minmax(150px,.22fr) minmax(0,1fr) minmax(190px,.3fr);
    gap: clamp(20px,2.8vw,40px);
    align-items: end;
    padding: 0 0 28px;
    border-bottom: 1px solid var(--ow-services-line);
}
body[data-site-page="services"] .ow-catalog__index > .ow-micro { align-self: start; padding: 12px 0 0; }
body[data-site-page="services"] .ow-service-tabs {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 8px 12px;
    margin: 0;
    border: 0;
}
body[data-site-page="services"] .ow-service-tabs button {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) 18px;
    grid-template-areas: "meta icon" "title icon";
    gap: 3px 10px;
    align-items: center;
    width: 100%;
    min-height: 66px;
    padding: 11px 12px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: transparent;
    box-shadow: none;
    color: var(--public-muted);
    text-align: left;
    overflow: hidden;
    transition: color var(--motion-duration-standard) var(--motion-ease-standard), background-color var(--motion-duration-standard) var(--motion-ease-standard), border-color var(--motion-duration-standard) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard), box-shadow var(--motion-duration-standard) var(--motion-ease-standard);
}
body[data-site-page="services"] .ow-service-tabs button::before { content: ""; position: absolute; left: 12px; bottom: 7px; width: 0; height: 2px; border-radius: 999px; background: var(--public-accent); transition: width var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="services"] .ow-service-tabs button::after { display: none; }
body[data-site-page="services"] .ow-service-tabs button small { grid-area: meta; display: block; color: color-mix(in srgb,var(--public-muted) 76%,transparent); font-size: .52rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body[data-site-page="services"] .ow-service-tabs button span { grid-area: title; font-size: .79rem; font-weight: 600; line-height: 1.24; }
body[data-site-page="services"] .ow-service-tabs button .icon { grid-area: icon; color: color-mix(in srgb,var(--public-muted) 76%,transparent); transition: transform var(--motion-duration-standard) var(--motion-ease-standard), color var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="services"] .ow-service-tabs button:hover { color: var(--public-ink); background: color-mix(in srgb,var(--public-surface-soft) 56%,transparent); border-color: color-mix(in srgb,var(--ow-services-line) 52%,transparent); transform: translateY(-1px); }
body[data-site-page="services"] .ow-service-tabs button[aria-selected="true"] { color: var(--public-ink); background: var(--ow-services-active); border-color: color-mix(in srgb,var(--public-accent) 24%,var(--ow-services-line)); box-shadow: 0 12px 30px color-mix(in srgb,#000 4%,transparent); }
body[data-site-page="services"] .ow-service-tabs button[aria-selected="true"]::before { width: 28px; }
body[data-site-page="services"] .ow-service-tabs button[aria-selected="true"] small,
body[data-site-page="services"] .ow-service-tabs button[aria-selected="true"] .icon { color: var(--public-accent-fg); }
body[data-site-page="services"] .ow-service-tabs button[aria-selected="true"] .icon { transform: translateX(2px); }
body[data-site-page="services"] .ow-service-tabs button:focus-visible { outline: 3px solid var(--public-accent-line); outline-offset: 2px; z-index: 2; }
body[data-site-page="services"] .ow-catalog__index > p { align-self: center; max-width: 24ch; margin: 0; color: var(--public-muted); font-size: .69rem; line-height: 1.58; }
body[data-site-page="services"] .ow-catalog__stage { min-width: 0; }
body[data-site-page="services"] .ow-service-story { position: relative; }
body[data-site-page="services"] .ow-anchor { position: absolute; top: calc(var(--public-header-height) * -1); }
body[data-site-page="services"] .ow-service-story__opening {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(300px,.56fr);
    gap: clamp(42px,6vw,86px);
    align-items: end;
    padding: 6px 0 clamp(32px,4vw,52px);
}
body[data-site-page="services"] .ow-service-story__identity { display: block; }
body[data-site-page="services"] .ow-service-story__identity h2 { max-width: 15ch; margin: 8px 0 0; font-size: clamp(2.6rem,4.2vw,4.1rem); line-height: .92; letter-spacing: -.06em; }
body[data-site-page="services"] .ow-service-story__identity > small { display: none; }
body[data-site-page="services"] .ow-service-story__lead { max-width: 44ch; margin: 0; padding: 0 0 4px clamp(18px,2.3vw,32px); border-left: 1px solid var(--ow-services-line); color: var(--public-muted); font-size: clamp(1rem,1.18vw,1.12rem); line-height: 1.7; }
body[data-site-page="services"] .ow-service-story__body { display: grid; grid-template-columns: minmax(0,1.28fr) minmax(280px,.56fr); gap: clamp(42px,5vw,72px); padding: clamp(34px,4.2vw,52px) 0; border-top: 1px solid var(--ow-services-line); }
body[data-site-page="services"] .ow-service-story__scope > p { max-width: 62ch; margin: 14px 0 34px; font-size: .95rem; line-height: 1.75; }
body[data-site-page="services"] .ow-service-story__scope h3 { margin: 0 0 14px; font-size: .69rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
body[data-site-page="services"] .ow-scope-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; list-style: none; margin: 0; padding: 0; border-top: 1px solid color-mix(in srgb,var(--ow-services-line) 62%,transparent); }
body[data-site-page="services"] .ow-scope-list li { position:relative; display:block; padding: 15px 2px 15px 18px; border-bottom: 1px solid color-mix(in srgb,var(--ow-services-line) 62%,transparent); background: transparent; font-size: .84rem; line-height: 1.52; }
body[data-site-page="services"] .ow-scope-list li::before { content:""; position:absolute; left:2px; top:21px; width:5px; height:5px; border-radius:50%; background:var(--public-accent); }
body[data-site-page="services"] .ow-service-story__cases { align-self: start; padding: 24px; border: 1px solid color-mix(in srgb,var(--ow-services-line) 72%,transparent); border-radius: 16px; background: linear-gradient(145deg,color-mix(in srgb,var(--ow-services-soft) 90%,var(--public-canvas)),color-mix(in srgb,var(--public-canvas) 96%,var(--public-surface))); box-shadow: 0 22px 60px color-mix(in srgb,#000 5%,transparent), inset 0 1px 0 color-mix(in srgb,white 3%,transparent); }
body[data-site-page="services"] .ow-service-story__cases > .ow-micro { display: block; padding-bottom: 15px; }
body[data-site-page="services"] .ow-service-story__cases ul { display: grid; gap: 11px; list-style: none; margin: 0 0 20px; padding: 0; }
body[data-site-page="services"] .ow-service-story__cases li { position: relative; padding-left: 17px; color: var(--public-ink); font-size: .84rem; line-height: 1.5; }
body[data-site-page="services"] .ow-service-story__cases li::before { content: ""; position: absolute; left: 0; top: .6em; width: 5px; height: 5px; border-radius: 50%; background: var(--public-accent); }
body[data-site-page="services"] .ow-service-story__cases > p { margin: 0; padding-top: 17px; border-top: 1px solid var(--ow-services-line); color: var(--public-muted); font-size: .75rem; line-height: 1.62; }
body[data-site-page="services"] .ow-commercial { display: grid; grid-template-columns: minmax(320px,.78fr) minmax(0,1fr); gap: clamp(34px,5vw,68px); align-items: center; padding: clamp(30px,3.8vw,46px) 0; border-top: 1px solid var(--ow-services-line); }
body[data-site-page="services"] .ow-commercial dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--ow-services-line); border-radius: 14px; background: var(--ow-services-line); }
body[data-site-page="services"] .ow-commercial dl > div { display: grid; align-content: center; gap: 8px; min-height: 108px; padding: 20px 22px; background: color-mix(in srgb,var(--public-canvas) 94%,var(--public-surface)); }
body[data-site-page="services"] .ow-commercial dt { color: var(--public-muted); font-size: .59rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
body[data-site-page="services"] .ow-commercial dd { margin: 0; font-family: var(--font-title); font-size: clamp(1.5rem,2vw,1.95rem); font-weight: 700; line-height: 1; letter-spacing: -.04em; }
body[data-site-page="services"] .ow-commercial > div { padding-left: 20px; border-left: 1px solid color-mix(in srgb,var(--public-accent) 52%,var(--ow-services-line)); }
body[data-site-page="services"] .ow-commercial > div p { max-width: 54ch; margin: 12px 0 0; color: var(--public-muted); font-size: .83rem; line-height: 1.67; }
body[data-site-page="services"] .ow-service-next { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 96px; padding-top: 28px; border-top: 1px solid var(--ow-services-line); }
body[data-site-page="services"] .ow-service-next small { display: block; margin-bottom: 7px; color: var(--public-muted); font-size: .59rem; letter-spacing: .11em; }
body[data-site-page="services"] .ow-service-next strong { font-family: var(--font-title); font-size: 1.28rem; letter-spacing: -.03em; }
body[data-site-page="services"] .ow-service-next .landing-button { min-width: 196px; }
body[data-site-page="services"] .ow-service-guide { padding-block: clamp(44px,5vw,68px); border-top: 1px solid var(--ow-services-line); background: var(--ow-services-soft); }
body[data-site-page="services"] .ow-service-guide .landing-container { display: grid; grid-template-columns: 120px minmax(240px,.7fr) minmax(320px,1fr) auto; gap: 28px; align-items: center; }
body[data-site-page="services"] .ow-service-guide h2 { margin: 0; font-size: clamp(1.7rem,2.7vw,2.45rem); line-height: 1; }
body[data-site-page="services"] .ow-service-guide p { margin: 0; color: var(--public-muted); font-size: .84rem; line-height: 1.62; }
body[data-site-page="services"] .ow-service-guide .landing-button { justify-self: end; white-space: nowrap; }

/* =====================================================================
   ABOUT · editorial identity + principles experience
   ===================================================================== */
body[data-site-page="about"] {
    --ow-about-line: color-mix(in srgb, var(--public-line-strong) 72%, transparent);
    --ow-about-soft: color-mix(in srgb, var(--public-surface-soft) 70%, var(--public-canvas));
}
body[data-site-page="about"] .ow-about-opening { position: relative; overflow: clip; padding: clamp(64px,7vw,96px) 0 0; }
body[data-site-page="about"] .ow-about-opening::before { content: ""; position: absolute; right: -8%; top: 22%; width: 520px; height: 420px; pointer-events: none; background: radial-gradient(ellipse,color-mix(in srgb,var(--public-accent) 5%,transparent),transparent 68%); }
body[data-site-page="about"] .ow-about-opening__meta { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--ow-about-line); }
body[data-site-page="about"] .ow-about-opening__statement { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.18fr) minmax(330px,.48fr); gap: clamp(46px,7vw,104px); align-items: end; padding: clamp(46px,5.6vw,72px) 0; }
body[data-site-page="about"] .ow-about-opening__statement h1 { max-width: 9.3ch; margin: 0; font-size: clamp(3.65rem,6vw,5.8rem); line-height: .9; letter-spacing: -.066em; }
body[data-site-page="about"] .ow-about-opening__context { align-self: end; padding: 0 0 4px clamp(22px,3vw,40px); border-left: 1px solid color-mix(in srgb,var(--public-accent) 46%,var(--ow-about-line)); }
body[data-site-page="about"] .ow-about-opening__context > p { max-width: 36ch; margin: 0 0 28px; color: var(--public-muted); font-size: 1rem; line-height: 1.72; }
body[data-site-page="about"] .ow-about-signal { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; border: 0; }
body[data-site-page="about"] .ow-about-signal li { min-height: 0; padding: 0; border: 0; color: var(--public-muted); font-size: .72rem; }
body[data-site-page="about"] .ow-about-signal li + li::before { content: "·"; margin-right: 18px; color: color-mix(in srgb,var(--public-muted) 48%,transparent); }
body[data-site-page="about"] .ow-about-signal span { color: var(--public-ink); font-weight: 600; }
body[data-site-page="about"] .ow-about-opening__foot { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; min-height: 64px; border-block: 1px solid var(--ow-about-line); color: var(--public-muted); font-size: .7rem; }
body[data-site-page="about"] .ow-about-opening__foot > * { min-height: 64px; display: flex; align-items: center; }
body[data-site-page="about"] .ow-about-opening__foot > * + * { padding-left: 24px; border-left: 1px solid var(--ow-about-line); }
body[data-site-page="about"] .ow-principles { background: color-mix(in srgb,var(--ow-about-soft) 64%,var(--public-canvas)); }
body[data-site-page="about"] .ow-principles__experience { display:grid; grid-template-columns:minmax(190px,.34fr) minmax(0,1fr); gap:clamp(30px,4.5vw,64px); align-items:start; }
body[data-site-page="about"] .ow-principles__index { display:grid; grid-template-columns:1fr; gap:0; margin:0; border-block:1px solid var(--ow-about-line); }
body[data-site-page="about"] .ow-principles__index button { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 18px; gap:12px; align-items:center; min-height:62px; padding:0 8px 0 18px; border:0; border-bottom:1px solid color-mix(in srgb,var(--ow-about-line) 72%,transparent); border-radius:0; background:transparent; box-shadow:none; color:var(--public-muted); text-align:left; transition:color var(--motion-duration-standard) var(--motion-ease-standard),background-color var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="about"] .ow-principles__index button:last-child { border-bottom:0; }
body[data-site-page="about"] .ow-principles__index button::before { content:""; position:absolute; left:0; top:50%; width:2px; height:0; border-radius:999px; background:var(--public-accent); transform:translateY(-50%); transition:height var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="about"] .ow-principles__index button::after { display:none; }
body[data-site-page="about"] .ow-principles__index button span { font-size:.86rem; font-weight:620; letter-spacing:-.012em; }
body[data-site-page="about"] .ow-principles__index button .icon { width:15px; height:15px; color:color-mix(in srgb,var(--public-muted) 72%,transparent); transition:color var(--motion-duration-standard) var(--motion-ease-standard),transform var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="about"] .ow-principles__index button:hover { color:var(--public-ink); background:color-mix(in srgb,var(--public-surface) 48%,transparent); }
body[data-site-page="about"] .ow-principles__index button:hover .icon { color:var(--public-ink); transform:translateX(2px); }
body[data-site-page="about"] .ow-principles__index button[aria-selected="true"] { color:var(--public-ink); background:color-mix(in srgb,var(--public-accent) 5%,var(--public-surface)); }
body[data-site-page="about"] .ow-principles__index button[aria-selected="true"]::before { height:26px; }
body[data-site-page="about"] .ow-principles__index button[aria-selected="true"] .icon { color:var(--public-accent-fg); transform:translateX(2px); }
body[data-site-page="about"] .ow-principles__index button:focus-visible { outline:3px solid var(--public-accent-line); outline-offset:3px; z-index:1; }
body[data-site-page="about"] .ow-principle { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(240px,.52fr); gap:clamp(34px,5vw,68px); min-height:308px; padding:clamp(34px,4vw,50px); border:1px solid color-mix(in srgb,var(--ow-about-line) 78%,transparent); border-radius:16px; background:color-mix(in srgb,var(--public-surface) 78%,var(--public-canvas)); box-shadow:0 18px 48px color-mix(in srgb,#000 5%,transparent),inset 0 1px 0 color-mix(in srgb,white 3%,transparent); }
body[data-site-page="about"] .ow-principle h3 { max-width:13ch; margin:14px 0 20px; font-size:clamp(2.2rem,3.35vw,3.25rem); line-height:.98; letter-spacing:-.048em; }
body[data-site-page="about"] .ow-principle > div > p { max-width:54ch; margin:0; font-size:.95rem; line-height:1.72; }
body[data-site-page="about"] .ow-principle footer { align-self:stretch; display:grid; align-content:end; gap:10px; padding:0 0 4px clamp(20px,2.5vw,32px); border-left:2px solid var(--public-accent); }
body[data-site-page="about"] .ow-principle footer span { color:var(--public-muted); font-size:.61rem; text-transform:uppercase; letter-spacing:.11em; }
body[data-site-page="about"] .ow-principle footer strong { max-width:31ch; font-size:.9rem; font-weight:600; line-height:1.6; }
body[data-site-page="about"] .ow-responsibility { background: var(--public-canvas); }
body[data-site-page="about"] .ow-responsibility__layout { display: grid; grid-template-columns: minmax(0,.62fr) minmax(0,1fr); gap: clamp(64px,8vw,116px); }
body[data-site-page="about"] .ow-responsibility__layout > div:first-child { position: sticky; top: calc(var(--public-header-height) + 34px); align-self: start; padding-top: 4px; }
body[data-site-page="about"] .ow-responsibility__layout > div:first-child h2 { max-width: 10ch; font-size: clamp(2.5rem,4vw,3.85rem); line-height: .96; }
body[data-site-page="about"] .ow-responsibility__layout > div:first-child p { max-width: 38ch; }
body[data-site-page="about"] .ow-responsibility__rail { border-top: 1px solid var(--ow-about-line); }
body[data-site-page="about"] .ow-responsibility__rail article { display: grid; grid-template-columns: 64px 1fr; gap: 24px; padding: 34px 0; border-bottom: 1px solid var(--ow-about-line); }
body[data-site-page="about"] .ow-responsibility__rail article > span { color: var(--public-accent-fg); font-size: .65rem; font-weight: 700; padding-top: 3px; }
body[data-site-page="about"] .ow-responsibility__rail h3 { margin: 0 0 10px; font-size: 1.22rem; }
body[data-site-page="about"] .ow-responsibility__rail p { max-width: 54ch; margin: 0; font-size: .87rem; line-height: 1.7; }
body[data-site-page="about"] .ow-brand-statement { position: relative; overflow: clip; padding-block: clamp(70px,8vw,110px); border-block: 1px solid var(--ow-about-line); background: var(--ow-about-soft); }
body[data-site-page="about"] .ow-brand-statement::after { content: ""; position: absolute; left: 38%; top: 50%; width: 420px; height: 260px; transform: translateY(-50%); background: radial-gradient(ellipse,color-mix(in srgb,var(--public-accent) 5%,transparent),transparent 70%); pointer-events: none; }
body[data-site-page="about"] .ow-brand-statement .landing-container { position: relative; z-index: 1; display: grid; grid-template-columns: 90px minmax(0,1fr) auto; gap: clamp(30px,4vw,58px); align-items: center; }
body[data-site-page="about"] .ow-brand-statement h2 { max-width: 12ch; margin: 0; font-size: clamp(2.6rem,4.6vw,4.35rem); line-height: .94; letter-spacing: -.052em; }

/* =====================================================================
   MANAGER · public product storytelling, not application chrome
   ===================================================================== */
body[data-site-page="manager"] .ow-manager-opening { position: relative; overflow: clip; padding: clamp(64px,7vw,96px) 0 clamp(54px,6vw,78px); }
body[data-site-page="manager"] .ow-manager-opening::before { content: ""; position: absolute; left: 50%; top: 36%; width: min(76vw,980px); height: 430px; transform: translateX(-50%); background: radial-gradient(ellipse,color-mix(in srgb,var(--public-accent) 5%,transparent),transparent 70%); pointer-events:none; }
body[data-site-page="manager"] .ow-manager-opening__copy { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.5fr); gap: clamp(52px,7vw,100px); align-items: end; margin-bottom: clamp(44px,5vw,66px); }
body[data-site-page="manager"] .ow-manager-opening__copy > .landing-public-eyebrow { grid-column: 1/-1; }
body[data-site-page="manager"] .ow-manager-opening__copy h1 { max-width: 13ch; margin: 0; font-size: clamp(3.7rem,5.8vw,5.55rem); line-height: .92; letter-spacing: -.062em; }
body[data-site-page="manager"] .ow-manager-opening__copy p { max-width: 42ch; margin: 0 0 7px; color: var(--public-muted); font-size: .98rem; line-height: 1.72; }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship { position: relative; z-index: 1; max-width: 1180px; margin-inline: auto; overflow: hidden; border: 1px solid color-mix(in srgb,var(--public-line-strong) 74%,transparent); border-radius: 20px; background: linear-gradient(145deg,color-mix(in srgb,var(--public-surface) 88%,var(--public-canvas)),color-mix(in srgb,var(--public-canvas) 97%,var(--public-surface-soft))); box-shadow: 0 30px 82px color-mix(in srgb,#000 8%,transparent), inset 0 1px 0 color-mix(in srgb,white 3%,transparent); }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship__map { display: grid; grid-template-columns: minmax(240px,.42fr) minmax(0,1fr); min-height: 230px; }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship__core { display: grid; align-content: center; min-height: 230px; padding: 34px 36px; border-right: 1px solid color-mix(in srgb,var(--public-line) 62%,transparent); background: linear-gradient(160deg,color-mix(in srgb,var(--public-accent) 5%,var(--public-surface)),transparent 78%); }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship__core strong { max-width: 11ch; margin-top: 12px; font-size: clamp(1.85rem,2.7vw,2.55rem); line-height: .98; letter-spacing: -.045em; }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship__core > span:last-child { max-width: 30ch; margin-top: 14px; color: var(--public-muted); font-size: .78rem; line-height: 1.62; }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship__nodes { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-self: stretch; border: 0; }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship__nodes::before { content: ""; position: absolute; left: 9%; right: 9%; top: 50%; height: 1px; background: linear-gradient(90deg,color-mix(in srgb,var(--public-line-strong) 30%,transparent),color-mix(in srgb,var(--public-accent) 34%,var(--public-line-strong)),color-mix(in srgb,var(--public-line-strong) 30%,transparent)); }
body[data-site-page="manager"] .ow-manager-opening .ow-relation-node { position: relative; z-index: 1; align-content: center; min-height: 230px; padding: 24px 18px; border: 0; border-radius: 0; background: transparent; color: var(--public-muted); box-shadow: none; }
body[data-site-page="manager"] .ow-manager-opening .ow-relation-node::before { content: ""; position: absolute; left: 50%; top: calc(50% - 6px); width: 12px; height: 12px; border-radius: 50%; background: var(--public-canvas); box-shadow: 0 0 0 1px var(--public-line-strong),0 0 0 7px color-mix(in srgb,var(--public-surface) 90%,transparent); transform: translate(-50%,-50%); transition: background-color var(--motion-duration-standard) var(--motion-ease-standard), box-shadow var(--motion-duration-standard) var(--motion-ease-standard), transform var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="manager"] .ow-manager-opening .ow-relation-node > span:first-child { position: absolute; left: 50%; top: 28px; display: grid; place-items: center; width: 34px; height: 34px; transform: translateX(-50%); border: 0; border-radius: 50%; background: color-mix(in srgb,var(--public-surface-soft) 70%,transparent); color: var(--public-muted); }
body[data-site-page="manager"] .ow-manager-opening .ow-relation-node > span:nth-child(2) { position: absolute; left: 12px; right: 12px; top: calc(50% + 22px); display: grid; gap: 4px; text-align: center; }
body[data-site-page="manager"] .ow-manager-opening .ow-relation-node > span:nth-child(2) strong { color: var(--public-ink); font-size: .84rem; }
body[data-site-page="manager"] .ow-manager-opening .ow-relation-node > span:nth-child(2) small { color: var(--public-muted); font-size: .65rem; line-height: 1.45; }
body[data-site-page="manager"] .ow-manager-opening .ow-relation-node > .icon:last-child { display: none; }
body[data-site-page="manager"] .ow-manager-opening .ow-relation-node:hover { color: var(--public-ink); background: color-mix(in srgb,var(--public-surface-soft) 34%,transparent); }
body[data-site-page="manager"] .ow-manager-opening .ow-relation-node[aria-selected="true"] { background: linear-gradient(180deg,color-mix(in srgb,var(--public-accent) 6%,transparent),transparent 72%); }
body[data-site-page="manager"] .ow-manager-opening .ow-relation-node[aria-selected="true"]::before { background: var(--public-accent); box-shadow: 0 0 0 7px color-mix(in srgb,var(--public-accent) 10%,transparent),0 0 24px color-mix(in srgb,var(--public-accent) 20%,transparent); transform: translate(-50%,-50%) scale(1.08); }
body[data-site-page="manager"] .ow-manager-opening .ow-relation-node[aria-selected="true"] > span:first-child { color: var(--public-accent-fg); }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship__caption { min-height: 112px; border-top: 1px solid color-mix(in srgb,var(--public-line) 62%,transparent); background: color-mix(in srgb,var(--public-canvas) 93%,var(--public-surface)); }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship__caption [data-switch-panel] { display: grid; grid-template-columns: 138px minmax(0,1fr); gap: 30px; align-items: center; padding: 25px 34px; }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship__caption strong { font-size: .98rem; }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship__caption p { max-width: 60ch; margin: 4px 0 0; font-size: .79rem; line-height: 1.6; }
body[data-site-page="manager"] .ow-manager-opening__note { display: flex; justify-content: space-between; gap: 22px; max-width: 1180px; margin: 17px auto 0; padding-inline: 2px; color: var(--public-muted); font-size: .64rem; }
body[data-site-page="manager"] .ow-lifecycle { background: color-mix(in srgb,var(--public-surface-soft) 82%,var(--public-canvas)); border-block: var(--ow-rail); }
body[data-site-page="manager"] .ow-lifecycle .ow-section-heading { margin-bottom: clamp(38px,4.5vw,58px); }
body[data-site-page="manager"] .ow-lifecycle__rail { position: relative; display: grid; grid-template-columns: repeat(3,1fr); border: 0; }
body[data-site-page="manager"] .ow-lifecycle__rail::before { content: ""; position: absolute; left: 4%; right: 4%; top: 18px; height: 1px; background: linear-gradient(90deg,var(--public-accent),color-mix(in srgb,var(--public-line-strong) 58%,transparent) 45%,color-mix(in srgb,var(--public-line-strong) 28%,transparent)); }
body[data-site-page="manager"] .ow-lifecycle__rail article { position: relative; min-height: 188px; padding: 46px clamp(28px,3.2vw,40px) 28px 0; }
body[data-site-page="manager"] .ow-lifecycle__rail article + article { border-left: 0; padding-left: clamp(24px,3vw,38px); }
body[data-site-page="manager"] .ow-lifecycle__rail article::before { content: ""; position: absolute; top: 14px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--public-accent); box-shadow: 0 0 0 6px color-mix(in srgb,var(--public-accent) 9%,var(--public-surface-soft)); }
body[data-site-page="manager"] .ow-lifecycle__rail article + article::before { left: clamp(24px,3vw,38px); }
body[data-site-page="manager"] .ow-lifecycle__rail small { color: var(--public-muted); font-size: .58rem; letter-spacing: .11em; }
body[data-site-page="manager"] .ow-lifecycle__rail h3 { margin: 18px 0 10px; font-size: clamp(1.32rem,1.85vw,1.62rem); }
body[data-site-page="manager"] .ow-lifecycle__rail p { max-width: 34ch; margin: 0; font-size: .82rem; line-height: 1.65; }
body[data-site-page="manager"] .ow-lifecycle__rail article > span { display: none; }
body[data-site-page="manager"] .ow-manager-records__layout { display: grid; grid-template-columns: minmax(260px,.58fr) minmax(0,1.06fr); gap: clamp(64px,8vw,120px); align-items: start; }
body[data-site-page="manager"] .ow-manager-records__layout > div:first-child { position: sticky; top: calc(var(--public-header-height) + 34px); padding-top: 4px; }
body[data-site-page="manager"] .ow-manager-records__layout > div:first-child h2 { max-width: 10ch; font-size: clamp(2.2rem,3.6vw,3.45rem); line-height: .98; }
body[data-site-page="manager"] .ow-manager-records__layout > div:first-child p { max-width: 38ch; }
body[data-site-page="manager"] .ow-record-list { border-top: 1px solid var(--public-line-strong); }
body[data-site-page="manager"] .ow-record-list details { position: relative; border-bottom: var(--ow-rail); transition: background-color var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="manager"] .ow-record-list details[open] { background: linear-gradient(90deg,color-mix(in srgb,var(--public-accent) 5%,transparent),transparent 70%); }
body[data-site-page="manager"] .ow-record-list summary { display: grid; grid-template-columns: minmax(0,1fr) 34px; gap: 16px; align-items: center; min-height: 80px; padding: 0 2px; }
body[data-site-page="manager"] .ow-record-list summary h3 { margin: 0; font-size: 1.03rem; }
body[data-site-page="manager"] .ow-record-list summary .icon { width: 30px; height: 30px; padding: 7px; border: var(--ow-rail); border-radius: 50%; color: var(--public-muted); transition: transform var(--motion-duration-standard) var(--motion-ease-standard), color var(--motion-duration-fast) var(--motion-ease-standard), border-color var(--motion-duration-fast) var(--motion-ease-standard); }
body[data-site-page="manager"] .ow-record-list details[open] summary .icon { transform: rotate(180deg); color: var(--public-accent-fg); border-color: var(--public-accent-line); }
body[data-site-page="manager"] .ow-record-list details > p { max-width: 56ch; margin: 0; padding: 0 48px 28px 2px; color: var(--public-muted); font-size: .85rem; line-height: 1.7; }
body[data-site-page="manager"] .ow-manager-access { padding-block: clamp(38px,4.5vw,58px); border-block: var(--ow-rail); background: color-mix(in srgb,var(--public-surface-soft) 84%,var(--public-canvas)); }
body[data-site-page="manager"] .ow-manager-access__layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.72fr); gap: clamp(44px,6vw,80px); align-items: center; }
body[data-site-page="manager"] .ow-manager-access__identity { display: grid; grid-template-columns: 58px 1fr; gap: 20px; align-items: center; }
body[data-site-page="manager"] .ow-manager-access__identity > span { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid var(--public-accent-line); border-radius: 14px; background: color-mix(in srgb,var(--public-canvas) 94%,var(--public-surface)); color: var(--public-accent-fg); box-shadow: 0 14px 32px color-mix(in srgb,#000 5%,transparent); }
body[data-site-page="manager"] .ow-manager-access__identity small { color: var(--public-muted); font-size: .6rem; letter-spacing: .11em; }
body[data-site-page="manager"] .ow-manager-access h2 { margin: 7px 0 0; font-size: clamp(1.72rem,2.5vw,2.28rem); }
body[data-site-page="manager"] .ow-manager-access__layout > div:last-child { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 22px; align-items: center; }
body[data-site-page="manager"] .ow-manager-access__layout > div:last-child p { max-width: 38ch; margin: 0; font-size: .82rem; line-height: 1.62; }
body[data-site-page="manager"] .ow-manager-access__layout .landing-button { white-space: nowrap; }

/* =====================================================================
   CONTACT · premium form handoff
   ===================================================================== */
body[data-site-page="contact"] .ow-contact-opening { position: relative; overflow: clip; padding: clamp(58px,6.5vw,90px) 0 0; }
body[data-site-page="contact"] .ow-contact-opening::after { content: ""; position: absolute; right: -8%; top: 8%; width: 460px; height: 360px; background: radial-gradient(ellipse,color-mix(in srgb,var(--public-accent) 5%,transparent),transparent 70%); pointer-events:none; }
body[data-site-page="contact"] .ow-contact-opening > .landing-container { position: relative; z-index: 1; border-bottom: var(--ow-rail); }
body[data-site-page="contact"] .ow-contact-opening__copy { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(340px,.5fr); gap: clamp(52px,7vw,96px); align-items: end; padding: 30px 0 clamp(38px,4.5vw,56px); }
body[data-site-page="contact"] .ow-contact-opening__copy h1 { max-width: 12.5ch; margin: 0; font-size: clamp(3.7rem,5.8vw,5.4rem); line-height: .92; letter-spacing: -.063em; }
body[data-site-page="contact"] .ow-contact-opening__copy p { max-width: 42ch; margin: 0 0 7px; color: var(--public-muted); font-size: .98rem; line-height: 1.72; }
body[data-site-page="contact"] .ow-handoff { list-style: none; position: relative; display: grid; grid-template-columns: repeat(3,1fr); margin: 0; padding: 0; border-top: 1px solid var(--public-line-strong); }
body[data-site-page="contact"] .ow-handoff::before { content: ""; position: absolute; left: 4%; right: 4%; top: 0; height: 1px; background: linear-gradient(90deg,var(--public-accent),color-mix(in srgb,var(--public-line-strong) 56%,transparent),color-mix(in srgb,var(--public-line-strong) 22%,transparent)); }
body[data-site-page="contact"] .ow-handoff li { position: relative; display: grid; grid-template-columns: 1fr; gap: 4px; min-height: 104px; padding: 24px 24px 20px 0; }
body[data-site-page="contact"] .ow-handoff li + li { padding-left: 28px; }
body[data-site-page="contact"] .ow-handoff li::before { content: ""; position: absolute; left: 0; top: -4px; width: 8px; height: 8px; border-radius: 50%; background: var(--public-accent); box-shadow: 0 0 0 5px color-mix(in srgb,var(--public-accent) 9%,var(--public-canvas)); }
body[data-site-page="contact"] .ow-handoff li + li::before { left: 28px; }
body[data-site-page="contact"] .ow-handoff strong { display: block; font-size: .87rem; }
body[data-site-page="contact"] .ow-handoff small { grid-column: 2; color: var(--public-muted); font-size: .68rem; }
body[data-site-page="contact"] .ow-contact-section { padding-block: clamp(42px,5vw,66px) var(--ow-section-y); }
body[data-site-page="contact"] .ow-contact-layout { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(310px,.5fr); gap: clamp(46px,6vw,82px); align-items: start; }
body[data-site-page="contact"] .ow-contact-form { min-width: 0; gap: 32px; padding: clamp(26px,3vw,38px); border: 1px solid color-mix(in srgb,var(--public-line-strong) 64%,transparent); border-radius: 18px; background: linear-gradient(145deg,color-mix(in srgb,var(--public-surface) 80%,var(--public-canvas)),color-mix(in srgb,var(--public-canvas) 97%,var(--public-surface-soft))); box-shadow: 0 28px 74px color-mix(in srgb,#000 6%,transparent), inset 0 1px 0 color-mix(in srgb,white 3%,transparent); }
body[data-site-page="contact"] .ow-form-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,.5fr); gap: 32px; align-items: end; padding-bottom: 26px; border-bottom: 1px solid var(--public-line-strong); }
body[data-site-page="contact"] .ow-form-heading .landing-public-eyebrow { grid-column: 1/-1; }
body[data-site-page="contact"] .ow-form-heading h2 { margin: 0; font-size: clamp(2.1rem,3.1vw,2.9rem); line-height: .98; }
body[data-site-page="contact"] .ow-form-heading p { max-width: 34ch; margin: 0; font-size: .78rem; line-height: 1.6; }
body[data-site-page="contact"] .ow-contact-form .landing-form-grid { gap: 22px; }
body[data-site-page="contact"] .ow-contact-form .landing-field { gap: 8px; }
body[data-site-page="contact"] .ow-contact-form .landing-field label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: .77rem; }
body[data-site-page="contact"] .ow-contact-form .landing-field label span { color: var(--public-muted); font-size: .58rem; letter-spacing: .055em; text-transform: uppercase; }
body[data-site-page="contact"] .ow-contact-form .landing-field :is(input,textarea,select) { border-color: color-mix(in srgb,var(--public-line-strong) 74%,transparent); background: color-mix(in srgb,var(--public-canvas) 94%,var(--public-surface)); box-shadow: inset 0 1px 0 color-mix(in srgb,white 2%,transparent); transition: border-color var(--motion-duration-fast) var(--motion-ease-standard), background-color var(--motion-duration-fast) var(--motion-ease-standard), box-shadow var(--motion-duration-fast) var(--motion-ease-standard); }
body[data-site-page="contact"] .ow-contact-form .landing-field :is(input,textarea,select):focus { border-color: var(--public-accent); box-shadow: 0 0 0 3px color-mix(in srgb,var(--public-accent) 14%,transparent); }
body[data-site-page="contact"] .ow-contact-form textarea { min-height: 150px; resize: vertical; }
body[data-site-page="contact"] .ow-contact-form .landing-field-help { max-width: 56ch; line-height: 1.5; }
body[data-site-page="contact"] .website-field-error { display: block; min-height: 16px; margin-top: 1px; color: var(--color-danger-fg); font-size: .68rem; }
body[data-site-page="contact"] .landing-form-legal { display: grid; gap: 18px; padding: 22px 0; border: 0; border-block: 1px solid var(--public-line-strong); border-radius: 0; background: transparent; }
body[data-site-page="contact"] .landing-form-legal__header { gap: 15px; }
body[data-site-page="contact"] .landing-form-legal__header > span { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border: 1px solid color-mix(in srgb,var(--public-accent) 30%,var(--public-line-strong)); border-radius: 11px; background: color-mix(in srgb,var(--public-accent) 5%,var(--public-surface-soft)); color: var(--public-accent-fg); }
body[data-site-page="contact"] .landing-form-legal__header > span .icon { width: 18px; height: 18px; }
body[data-site-page="contact"] .landing-form-legal__header h3 { font-size: 1rem; }
body[data-site-page="contact"] .landing-form-legal__header p { max-width: 65ch; font-size: .78rem; line-height: 1.6; }
body[data-site-page="contact"] .landing-form-consents { padding-top: 15px; border-top: var(--ow-rail); }
body[data-site-page="contact"] .landing-consent { max-width: 72ch; gap: 12px; }
body[data-site-page="contact"] .landing-form-actions { align-items: center; gap: 26px; padding-top: 2px; }
body[data-site-page="contact"] .landing-form-actions__state strong { font-size: .8rem; }
body[data-site-page="contact"] .landing-form-status { max-width: 46ch; }
body[data-site-page="contact"] .landing-form-actions > .landing-button { min-width: 248px; justify-content: center; }
body[data-site-page="contact"] .ow-contact-context { position: static; display: grid; gap: 16px; align-self:start; }
body[data-site-page="contact"] .ow-contact-context__live { padding: 24px; border: 1px solid color-mix(in srgb,var(--public-line-strong) 60%,transparent); border-radius: 16px; background: color-mix(in srgb,var(--public-surface-soft) 66%,var(--public-canvas)); box-shadow: 0 18px 52px color-mix(in srgb,#000 4%,transparent); }
body[data-site-page="contact"] .ow-contact-context__live > div { min-height: 0; padding: 0; border: 0; }
body[data-site-page="contact"] .ow-contact-context__label { display: flex; justify-content: space-between; gap: 16px; color: var(--public-muted); font-size: .59rem; }
body[data-site-page="contact"] .ow-contact-context h2 { max-width: 12ch; margin: 20px 0 12px; font-size: clamp(1.7rem,2.4vw,2.2rem); line-height: 1.02; }
body[data-site-page="contact"] .ow-contact-context__live > div > p { max-width: 39ch; margin: 0 0 20px; font-size: .8rem; line-height: 1.65; }
body[data-site-page="contact"] .ow-contact-context__live ul { list-style: none; margin: 20px 0 0; padding: 0; border-top: var(--ow-rail); }
body[data-site-page="contact"] .ow-contact-context__live li { padding: 10px 0; border-bottom: var(--ow-rail); color: var(--public-muted); font-size: .75rem; }
body[data-site-page="contact"] .ow-context-condition { margin: 22px 0 14px; padding: 15px 0; border-block: var(--ow-rail); }
body[data-site-page="contact"] .ow-context-condition p { margin: 9px 0 0; font-size: .75rem; line-height: 1.55; }
body[data-site-page="contact"] .ow-contact-next { padding: 22px 2px 20px; border-bottom: 1px solid var(--public-line-strong); }
body[data-site-page="contact"] .ow-contact-next h3 { max-width: 18ch; margin: 11px 0 8px; font-size: 1.15rem; line-height: 1.22; }
body[data-site-page="contact"] .ow-contact-next p { max-width: 38ch; margin: 0; font-size: .75rem; line-height: 1.6; }
body[data-site-page="contact"] .ow-contact-direct { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: center; padding: 20px 2px; border-bottom: var(--ow-rail); }
body[data-site-page="contact"] .ow-contact-direct > span { display: grid; place-items: center; width: 40px; height: 40px; border: var(--ow-rail); border-radius: 10px; background: var(--public-surface-soft); color: var(--public-ink); }
body[data-site-page="contact"] .ow-contact-direct strong { display: block; margin-bottom: 4px; font-size: .77rem; }
body[data-site-page="contact"] .ow-contact-direct .landing-text-link { font-size: .72rem; }
body[data-site-page="contact"] .ow-context-mobile { display: none; }
body[data-site-page="contact"] .website-message-preview { margin-top: 0; border-block: var(--ow-rail); padding: 0; }
body[data-site-page="contact"] .website-message-preview > summary { position: relative; min-height: 52px; display: flex; align-items: center; padding-right: 30px; color: var(--public-accent-fg); font-size: .76rem; font-weight: 600; }
body[data-site-page="contact"] .website-message-preview > summary::after { content: "+"; position: absolute; right: 2px; color: var(--public-muted); font-size: 1.1rem; transition: transform var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="contact"] .website-message-preview[open] > summary::after { transform: rotate(45deg); }
body[data-site-page="contact"] .website-message-preview .landing-field { margin: 0; padding: 18px 0 22px; }

/* =====================================================================
   LEGAL / STATUS
   ===================================================================== */
body[data-site-page] .ow-legal { padding-block: clamp(46px,5vw,72px) var(--ow-section-y); }
body[data-site-page] .ow-legal .landing-legal__container { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: clamp(40px,6vw,88px); }
body[data-site-page] .ow-legal .landing-back-link { grid-column: 1/-1; }
body[data-site-page] .ow-legal .landing-legal__header { grid-column: 2; padding-bottom: 30px; border-bottom: var(--ow-rail); }
body[data-site-page] .ow-legal .landing-legal__header h1 { max-width: 12ch; font-size: clamp(2.4rem,4.6vw,4.2rem); }
body[data-site-page] .ow-legal .landing-legal__toc { grid-column: 1; grid-row: 3; position: sticky; top: calc(var(--public-header-height) + 28px); align-self: start; }
body[data-site-page] .ow-legal .landing-legal__content { grid-column: 2; grid-row: 3; max-width: 72ch; }
body[data-site-page] .ow-legal .landing-legal__content section { padding: 0 0 28px; margin: 0 0 28px; border-bottom: var(--ow-rail); }
body[data-site-page] .ow-legal .landing-legal__content h2 { margin: 0 0 12px; font-size: 1.35rem; }
body[data-site-page] .ow-legal .landing-legal__content p { font-size: .93rem; line-height: 1.82; }
body[data-site-page] .ow-error > section { padding-block: clamp(70px,8vw,116px); }
body[data-site-page] .ow-error__layout { display: grid; grid-template-columns: minmax(260px,.58fr) minmax(0,1fr); gap: clamp(52px,7vw,108px); align-items: center; }
body[data-site-page] .ow-error__signal { border: 1px solid var(--public-line-strong); border-radius: var(--radius-xl); padding: 30px; background: var(--ow-stage); }
body[data-site-page] .ow-error__code { display: block; margin: 30px 0 24px; font-family: var(--font-title); font-size: clamp(5rem,11vw,9rem); font-weight: 800; line-height: .72; letter-spacing: -.08em; color: color-mix(in srgb,var(--public-muted) 42%,transparent); }
body[data-site-page] .ow-error__status { color: var(--public-muted); font-size: .75rem; }
body[data-site-page] .ow-error__copy h1 { max-width: 11ch; }
body[data-site-page] .ow-error__copy > p { max-width: 46ch; }
body[data-site-page] .ow-error__routes { margin-top: 34px; border-top: var(--ow-rail); }
body[data-site-page] .ow-error__routes a { display: grid; grid-template-columns: 34px 1fr 20px; gap: 16px; align-items: center; min-height: 76px; border-bottom: var(--ow-rail); color: var(--public-ink); text-decoration: none; }
body[data-site-page] .ow-error__routes a > small { color: var(--public-accent-fg); font-size: .62rem; }
body[data-site-page] .ow-error__routes a span { display: grid; gap: 3px; }
body[data-site-page] .ow-error__routes a span small { color: var(--public-muted); font-size: .7rem; }
body[data-site-page] .ow-error__routes a .icon { color: var(--public-muted); transition: transform var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page] .ow-error__routes a:hover .icon { color: var(--public-ink); transform: translateX(3px); }

/* =====================================================================
   FOOTER · Manager public primitive authority
   The Website footer now uses the shared landing-footer component.
   ===================================================================== */
body[data-site-page] .landing-footer__brand-column .landing-brand__text small { display:block; }
body[data-site-page] .landing-footer__contact-actions a { display:inline-flex; align-items:center; gap:7px; }
body[data-site-page] .landing-footer__contact-actions .icon { width:15px; height:15px; }
body[data-site-page] .landing-footer :is(a,button):focus-visible { outline:3px solid var(--public-accent-line); outline-offset:3px; }

/* ---------------------------------------------------------------------
   Pointer polish: targeted, no generic scale effects.
   --------------------------------------------------------------------- */
@media (hover:hover) {
    body[data-site-page] :is(.ow-service-preview,.ow-commitments details,.ow-record-list details) summary:hover h3 { color: var(--public-ink); }
    body[data-site-page] .ow-principles__index button:not([aria-selected="true"]):hover::before,
    body[data-site-page] .ow-discovery__index button:hover::before { height: 14px; }
    body[data-site-page="about"] .ow-principles__index button:hover::after { opacity: .58;
    }
    body[data-site-page="about"] .ow-principles__index button:hover .icon { transform: translateX(2px);
    }
    body[data-site-page="services"] .ow-service-tabs button:hover .icon { transform: translateX(2px);
    }
}

/* =====================================================================
   TABLET · intentional intermediate composition
   ===================================================================== */
@media (max-width: 1120px) {
    body[data-site-page] { --ow-shell: min(calc(100% - 48px), 1040px); --ow-section-y: clamp(68px,7vw,94px); }
    body[data-site-page] .landing-header__inner { width: var(--ow-shell); }
    body[data-site-page] .landing-brand__text small { display: none; }
body[data-site-page] .landing-brand--footer .landing-brand__text small { display:block; }
    body[data-site-page] .ow-home-hero__grid { grid-template-columns: minmax(0,.8fr) minmax(470px,1.2fr); gap: 44px; }
    body[data-site-page] .ow-home-hero h1 { font-size: clamp(3rem,5.6vw,4.8rem); }
    body[data-site-page] .ow-route-map__choices { gap: 0 12px; }
    body[data-site-page] .ow-route-map__choices button { font-size: .72rem; }
    body[data-site-page] .ow-catalog { grid-template-columns: 250px minmax(0,1fr); gap: 32px; }
    body[data-site-page="services"] .ow-catalog-intro__layout { grid-template-columns: 130px minmax(0,1fr) minmax(250px,.62fr); gap: 26px; }
    body[data-site-page="services"] .ow-catalog-intro__support { max-width: 32ch; }
    body[data-site-page] .ow-service-story__body { gap: 44px; }
    body[data-site-page="services"] .ow-service-story__identity { grid-template-columns: auto minmax(0,1fr); }
    body[data-site-page="services"] .ow-service-story__identity > small { display: none;
    }
    body[data-site-page="services"] .ow-service-story__lead { margin-left: 0; }
    body[data-site-page="contact"] .ow-contact-layout { grid-template-columns: minmax(0,1fr) 300px; gap: 46px; }
    body[data-site-page="services"] .ow-commercial { grid-template-columns: minmax(300px,.86fr) minmax(0,1fr); gap: 34px; }
    body[data-site-page="about"] .ow-principles__experience { grid-template-columns: 220px minmax(0,1fr); gap: 48px;
    }
    body[data-site-page="about"] .ow-principle { grid-template-columns: minmax(0,1fr) 220px; gap: 36px;
    }
}

@media (max-width: 900px) {
    body[data-site-page] { --ow-shell: min(calc(100% - 40px), 820px); --ow-section-y: 72px; --ow-grid-gap: 34px; }
    body[data-site-page] .ow-section-heading { grid-template-columns: 1fr; gap: 18px; }
    body[data-site-page] .ow-section-heading h2 { max-width: 15ch; }
    body[data-site-page] .ow-home-hero__grid { grid-template-columns: 1fr; }
    body[data-site-page] .ow-home-hero .ow-hero-copy { display: grid; grid-template-columns: 1fr minmax(260px,.55fr); gap: 30px; align-items: end; }
    body[data-site-page] .ow-home-hero .ow-hero-copy > .landing-public-eyebrow { grid-column: 1/-1; }
    body[data-site-page] .ow-home-hero .ow-hero-copy h1 { margin: 0; }
    body[data-site-page] .ow-home-hero .ow-hero-copy > p { margin: 0 0 8px; }
    body[data-site-page] .ow-home-hero .ow-hero-copy > .landing-actions,
    body[data-site-page] .ow-home-hero .ow-hero-copy > .ow-hero-note { grid-column: 1/-1; }
    body[data-site-page] .ow-route-map { margin-top: 8px; }
    body[data-site-page] .ow-discovery__layout { grid-template-columns: 210px minmax(0,1fr); gap: 34px; }
    body[data-site-page] .ow-discovery__stage { padding-left: 28px; }
    body[data-site-page] .ow-service-preview > div { grid-template-columns: 1fr; }
    body[data-site-page] .ow-method__panel { grid-template-columns: 90px 1fr; gap: 28px; }
    body[data-site-page] .ow-method__panel aside { grid-column: 2; }
    body[data-site-page] .ow-trust__layout,
body[data-site-page="manager"] .ow-manager-records__layout { grid-template-columns: 1fr; gap: 42px; }
    body[data-site-page] .ow-responsibility__layout { grid-template-columns: 1fr; }
    body[data-site-page] :is(.ow-trust__layout,.ow-responsibility__layout,.ow-manager-records__layout) > div:first-child { position: static; }
    body[data-site-page="about"] .ow-responsibility__layout > div:first-child { position: static;
    }
    body[data-site-page] .ow-bridge__layout { grid-template-columns: 1fr; }
    body[data-site-page] .ow-relationship { max-width: 760px; width: 100%; justify-self: center; }
    body[data-site-page="manager"] .ow-manager-opening__copy,
    body[data-site-page="contact"] .ow-contact-opening__copy { grid-template-columns: 1fr; gap: 24px; }
    body[data-site-page] .ow-about-opening__statement { grid-template-columns: 1fr; gap: 28px; }
    body[data-site-page="about"] .ow-about-opening__context {
        max-width: 52ch;
        padding: 24px 0 0;
        border-left: 0;
        border-top: 1px solid var(--public-line-strong);
    }
    body[data-site-page="services"] .ow-catalog-intro__layout { grid-template-columns: minmax(0,1fr) minmax(250px,.7fr); grid-template-areas: "meta meta" "title support"; gap: 18px 32px; }
    body[data-site-page="services"] .ow-catalog-intro__meta { grid-area: meta; grid-template-columns: 1fr auto; align-items: center; padding-top: 0; }
    body[data-site-page="services"] .ow-catalog-intro h1 { grid-area: title; }
    body[data-site-page="services"] .ow-catalog-intro__support { grid-area: support; align-self: end; }
    body[data-site-page="services"] .ow-catalog { display: block; }
    body[data-site-page="services"] .ow-catalog__navigation { position: static; margin-bottom: 30px; }
    body[data-site-page="services"] .ow-catalog__index { display: none; }
    body[data-site-page="services"] .ow-catalog__mobile { display: flex; flex-direction: column; gap: 10px; max-width: 520px; padding: 0; }
    body[data-site-page="services"] .ow-catalog__mobile > label { color: var(--public-ink); font-size: .72rem; font-weight: 600; }
    body[data-site-page] .ow-service-story__identity > small { display: none; }
    body[data-site-page] .ow-service-story__body { grid-template-columns: 1fr; }
    body[data-site-page] .ow-service-story__cases { padding: 22px; border: 0; }
    body[data-site-page] .ow-commercial { grid-template-columns: 1fr; }
    body[data-site-page="services"] .ow-commercial > div { max-width: 62ch;
    }
    body[data-site-page] .ow-service-guide .ow-micro { grid-column:1/-1; }
    body[data-site-page="services"] .ow-service-guide .landing-container { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 18px 34px; }
    body[data-site-page="services"] .ow-service-guide .landing-button { grid-column: 2; justify-self: start; }
    body[data-site-page] .ow-principle { grid-template-columns: 1fr; min-height: 0; }
    body[data-site-page="about"] .ow-principle footer {
        padding: 22px 0 0 20px;
        border-top: 1px solid var(--public-line-strong);
        border-left: 2px solid var(--public-accent);
    }
    body[data-site-page="manager"] .ow-lifecycle__rail { grid-template-columns: 1fr; }
    body[data-site-page="manager"] .ow-lifecycle__rail article { min-height: 154px; }
    body[data-site-page="manager"] .ow-lifecycle__rail article + article { border-left: 0; border-top: var(--ow-rail); }
    body[data-site-page="manager"] .ow-manager-access__layout { grid-template-columns: 1fr; gap: 28px; }
    body[data-site-page="manager"] .ow-manager-access__layout > div:last-child { grid-template-columns: minmax(0,1fr) auto; }
    body[data-site-page="contact"] .ow-contact-layout { grid-template-columns: 1fr; }
    body[data-site-page="contact"] .ow-contact-context { position: static; display: grid; grid-template-columns: 1fr 1fr; column-gap: 30px; }
    body[data-site-page="contact"] .ow-contact-context__live { grid-column: 1/-1; }
    body[data-site-page] .ow-legal .landing-legal__container { grid-template-columns: 190px minmax(0,1fr); gap: 34px; }
}

/* =====================================================================
   MOBILE · 390 is a first-class artboard
   ===================================================================== */
@media (max-width: 700px) {
    body[data-site-page] {
        --ow-shell: calc(100% - 32px);
        --ow-section-y: 52px;
        --ow-section-y-compact: 40px;
        --ow-display: clamp(2.55rem,12.8vw,3.55rem);
        --ow-display-compact: clamp(2.2rem,10.8vw,3rem);
        --ow-title: clamp(1.8rem,9vw,2.55rem);
    }
    body[data-site-page] .landing-header__inner { width: var(--ow-shell); }
    body[data-site-page] .landing-brand__text small { display: none; }
body[data-site-page] .landing-brand--footer .landing-brand__text small { display:block; }
    body[data-site-page] .landing-theme-button,
    body[data-site-page] .landing-menu-button { width: 44px; height: 44px; }
    body[data-site-page] main h1 { line-height: .98; }
    body[data-site-page] .ow-section-heading { margin-bottom: 34px; }
    body[data-site-page] .ow-section-heading > p { font-size: .86rem; }
    body[data-site-page="about"] .ow-principles .ow-section-heading { margin-bottom: 30px;
    }
    body[data-site-page] .ow-micro { font-size: .64rem; }
    body[data-site-page="services"] .ow-service-story__cases > .ow-micro { padding-bottom: 12px;
    }
    body[data-site-page="services"] .ow-catalog-intro { padding-top: 34px; padding-bottom: 24px; }
    body[data-site-page="services"] .ow-catalog-section { padding-top: 18px; }
    body[data-site-page="services"] .ow-service-story__identity { grid-template-columns: 1fr; gap: 0; }
    body[data-site-page="services"] .ow-service-story__identity h2 { margin-top: 7px; }

    body[data-site-page] .ow-home-hero { padding-top: 36px; }
    body[data-site-page] .ow-home-hero .ow-hero-copy { display: block; }
    body[data-site-page] .ow-home-hero .ow-hero-copy h1 { margin: 18px 0 18px; max-width: 11ch; font-size: clamp(2.45rem,11.6vw,3.25rem); }
    body[data-site-page] .ow-home-hero .ow-hero-copy > p { font-size: .9rem; margin-bottom: 24px; }
    body[data-site-page] .ow-home-hero .landing-actions { display: grid; grid-template-columns: 1fr; }
    body[data-site-page] .ow-home-hero .landing-actions .landing-button { width: 100%; }
    body[data-site-page] .ow-hero-note { margin-top: 20px; }
    body[data-site-page] .ow-route-map { margin-top: 38px; border-radius: var(--radius-lg); }
    body[data-site-page] .ow-route-map > header { align-items: flex-start; flex-direction: column; justify-content: center; min-height: 72px; padding: 13px 16px; }
    body[data-site-page] .ow-route-map__choices { grid-template-columns: 1fr 1fr; padding: 10px 12px 0; gap: 0 12px; }
    body[data-site-page] .ow-route-map__choices button { grid-template-columns: 22px 1fr; min-height: 66px; padding: 10px 0; font-size: .7rem; }
    body[data-site-page] .ow-route-map__choices button .icon { display: none; }
    body[data-site-page] .ow-route-map__focus { margin: 12px; padding: 22px 18px; }
    body[data-site-page] .ow-route-map__focus::before { display: none; }
    body[data-site-page] .ow-route-map__focus [data-switch-panel] { grid-template-columns: 52px 1fr; gap: 14px; min-height: 174px; }
    body[data-site-page] .ow-route-map__symbol { width: 52px; border-radius: var(--radius-control); }
    body[data-site-page] .ow-route-map__symbol::after { inset: 6px; }
    body[data-site-page] .ow-route-map__symbol .icon { width: 20px; height: 20px; }
    body[data-site-page] .ow-route-map__focus h2 { font-size: 1.25rem; }
    body[data-site-page] .ow-route-map__focus p { font-size: .78rem; }
    body[data-site-page] .ow-route-map > footer { flex-direction: column; padding: 2px 16px 16px; }
    body[data-site-page] .ow-home-hero__bottom { grid-template-columns: 1fr auto; margin-top: 34px; }
    body[data-site-page] .ow-home-hero__bottom > span { padding: 12px 0; }
    body[data-site-page] .ow-home-hero__bottom > span:nth-child(2),
    body[data-site-page] .ow-home-hero__bottom > span:nth-child(3) { display: none; }
    body[data-site-page] .ow-home-hero__bottom a { width: 44px; height: 44px; }

    body[data-site-page] .ow-discovery__layout { display: block; padding-top: 18px; }

    body[data-site-page] .ow-principles__experience { display: block; padding-top: 20px; }
    body[data-site-page] .ow-discovery__index { position: static; }
    body[data-site-page] .ow-discovery__index > [role="tablist"],
    body[data-site-page] .ow-principles__index {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        scrollbar-width: none;
        border: 0;
        margin: 14px calc((100vw - 100%) / -2) 22px;
        padding: 0 18px 4px;
        scroll-snap-type: x proximity;
    }
    body[data-site-page] .ow-discovery__index [role="tab"] {
        flex: 0 0 auto;
        min-height: 44px;
        width: auto;
        padding: 0 13px;
        grid-template-columns: auto auto auto;
        gap: 8px;
        border: 1px solid var(--public-line-strong);
        border-radius: var(--radius-control);
        background: var(--public-surface);
        scroll-snap-align: start;
    }
    body[data-site-page] .ow-discovery__index [role="tab"]::before { display: none; }
    body[data-site-page] .ow-discovery__index [role="tab"][aria-selected="true"] { border-color: var(--public-accent-line); box-shadow: var(--ow-focus-shadow); }
    body[data-site-page="about"] .ow-principles__index button {
        min-height: 44px;
        padding: 0 4px;
        grid-template-columns: auto 15px;
        gap: 7px;
        border: 0;
        border-bottom: 2px solid transparent;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    body[data-site-page="about"] .ow-principles__index button[aria-selected="true"] {
        padding-left: 4px;
        border-bottom-color: var(--public-accent);
        background: transparent;
        box-shadow: none;
    }
    body[data-site-page="about"] .ow-principles__index button[aria-selected="true"]::before { display:none; }
    body[data-site-page="about"] .ow-principles__index button span { font-size:.74rem; }
    body[data-site-page] .ow-discovery__index > .landing-text-link { margin-bottom: 24px; }
    body[data-site-page] .ow-discovery__stage { min-height: 0; padding-left: 0; border-left: 0; }
    body[data-site-page] .ow-service-preview summary { min-height: 68px; grid-template-columns: 28px 1fr 18px; gap: 12px; }
    body[data-site-page] .ow-service-preview > div { grid-template-columns: 1fr; padding: 0 0 22px 40px; }
    body[data-site-page] .ow-service-preview .landing-text-link { white-space: normal; }

    body[data-site-page] .ow-method__rail {
        grid-template-columns: repeat(4,minmax(118px,1fr));
        overflow-x: auto;
        scrollbar-width: none;
        margin-inline: -18px;
        padding-inline: 18px;
        border-top: var(--ow-rail);
        scroll-snap-type: x mandatory;
    }
    body[data-site-page] .ow-method__rail::after { display: none; }
    body[data-site-page] .ow-method__rail button { min-height: 56px; padding: 0 12px; scroll-snap-align: start; }
    body[data-site-page] .ow-method__panel { grid-template-columns: 62px 1fr; gap: 20px; min-height: 0; padding-top: 30px; }
    body[data-site-page] .ow-method__number { font-size: 2.7rem; }
    body[data-site-page] .ow-method__panel h3 { font-size: 1.35rem; }
    body[data-site-page] .ow-method__panel p { font-size: .84rem; }
    body[data-site-page] .ow-method__panel aside { grid-column: 1/-1; margin-top: 2px; padding: 16px 0 0; border-left: 0; border-top: 2px solid var(--public-accent); }

    body[data-site-page] .ow-trust__layout,
body[data-site-page] .ow-manager-records__layout { gap: 28px; }

    body[data-site-page] .ow-responsibility__layout { gap: 32px; }
    body[data-site-page] .ow-commitments summary,
    body[data-site-page] .ow-record-list summary { min-height: 70px; gap: 12px; }
    body[data-site-page] .ow-commitments details > p,
    body[data-site-page] .ow-record-list details > p { padding-left: 44px; }

    body[data-site-page] .ow-bridge__layout { gap: 30px; }
    body[data-site-page] .ow-relationship__map { grid-template-columns: 1fr; }
    body[data-site-page] .ow-relationship__core { min-height: auto; padding: 20px 18px; border-right:0; border-bottom:var(--ow-rail); }
    body[data-site-page] .ow-relationship__core strong { max-width:none; font-size:1.2rem; }
    body[data-site-page] .ow-relationship__core > span:last-child { max-width:34ch; }
    body[data-site-page] .ow-relationship__nodes { grid-template-columns:1fr; }
    body[data-site-page] .ow-relation-node { min-height:68px; grid-template-columns:34px minmax(0,1fr) 18px; padding:12px 14px; border-right:0; border-bottom:var(--ow-rail); }
    body[data-site-page] .ow-relation-node:last-child { border-bottom:0; }
    body[data-site-page] .ow-relation-node > span:first-child { width:34px; height:34px; }
    body[data-site-page] .ow-relationship__caption [data-switch-panel] { grid-template-columns:1fr; gap:8px; padding:18px; }
    body[data-site-page] .ow-close__layout { grid-template-columns: 1fr; gap: 24px; align-items: start; }

    body[data-site-page] .ow-catalog-intro { padding-top: 42px; }
    body[data-site-page] .ow-catalog-intro__layout { display: grid; grid-template-columns: 1fr; grid-template-areas: "meta" "title" "support"; gap: 22px; }
    body[data-site-page] .ow-catalog-intro__meta { grid-area: meta; grid-template-columns: 1fr; gap: 8px; padding-top: 0; }
    body[data-site-page] .ow-catalog-intro h1 { grid-area: title; font-size: clamp(2.55rem,12vw,3.3rem); line-height: .95; }
    body[data-site-page] .ow-catalog-intro__support { grid-area: support; max-width: 42ch; padding: 0; }
    body[data-site-page] .ow-catalog { display: block; }
    body[data-site-page] .ow-catalog__navigation { position: static; margin-bottom: 26px; }
    body[data-site-page] .ow-catalog__index { display: none; }
    body[data-site-page] .ow-catalog__mobile { display: flex; flex-direction: column; gap: 10px; padding: 0; }
    body[data-site-page] .ow-catalog__mobile > label { color: var(--public-ink); font-size: .72rem; font-weight: 600;
        letter-spacing: .04em; }
    body[data-site-page="services"] .ow-catalog-intro__support p { font-size: .9rem; }
    body[data-site-page="services"] .ow-catalog-section { padding-top: 28px;
    }
    body[data-site-page="services"] .ow-service-story__opening { grid-template-columns: 1fr; gap: 18px; padding: 26px 0 32px; }
    body[data-site-page="services"] .ow-service-story__identity { grid-template-columns: 1fr; gap: 0; align-items: start; }
    body[data-site-page="services"] .ow-service-story__identity h2 { font-size: clamp(1.92rem,9.5vw,2.55rem);
        max-width: 12ch;
        line-height: .98; }
    body[data-site-page="services"] .ow-service-story__lead { max-width: 42ch; margin: 0; padding: 0; border-left: 0; font-size: .91rem;
        line-height: 1.68; }
    body[data-site-page] .ow-service-story__body { padding: 30px 0; gap: 30px; padding-block: 30px; }
    body[data-site-page] .ow-service-story__scope > p { font-size: .86rem;
        margin: 14px 0 28px; }
    body[data-site-page="services"] .ow-service-story__cases li { padding: 0 0 0 17px; font-size: .81rem; }
    body[data-site-page="services"] .ow-service-story__cases li::before { top: .58em; }
    body[data-site-page] .ow-scope-list li { font-size: .8rem; padding: 13px 14px 13px 30px; }
    body[data-site-page] .ow-commercial { padding: 26px 0; gap: 24px; padding-block: 28px; }
    body[data-site-page] .ow-commercial dl > div { min-height: 98px; padding: 16px; }
    body[data-site-page] .ow-commercial dd { font-size: 1.34rem; }
    body[data-site-page="services"] .ow-commercial dl { grid-template-columns: 1fr 1fr;
    }
    body[data-site-page="services"] .ow-commercial dl > div + div { padding-left: 16px; border: 0; }
    body[data-site-page="services"] .ow-commercial > div { padding: 4px 0 4px 16px; }
    body[data-site-page] .ow-service-next { align-items: stretch; flex-direction: column; padding-top: 26px; min-height: 0; gap: 22px; }
    body[data-site-page] .ow-service-next .landing-button { width: 100%; }
    body[data-site-page="services"] .ow-service-next strong { font-size: 1.14rem;
    }
    body[data-site-page="services"] .ow-service-guide .landing-container { grid-template-columns: 1fr; gap: 18px; }
    body[data-site-page="services"] .ow-service-guide .ow-micro,
    body[data-site-page="services"] .ow-service-guide .landing-button { grid-column: auto; }
    body[data-site-page="services"] .ow-service-guide .landing-button { justify-self:stretch; width:100%; }

    body[data-site-page] .ow-about-opening { padding-top: 42px; }
    body[data-site-page] .ow-about-opening__meta { align-items: flex-start; flex-direction: column; gap: 9px; padding-bottom: 18px; }
    body[data-site-page] .ow-about-opening__statement { padding-top: 28px; }
    body[data-site-page] .ow-about-opening__statement > p { font-size: .88rem; }
    body[data-site-page] .ow-about-opening__foot { grid-template-columns: 1fr auto; }
    body[data-site-page] .ow-about-opening__foot > span:nth-child(2) { display: none; }
    body[data-site-page] .ow-about-opening__foot > * + * { padding-left: 14px; }
    body[data-site-page="about"] .ow-about-opening__statement h1 {
        font-size: clamp(2.55rem,12vw,3.3rem);
        line-height: .95;
    }
    body[data-site-page="about"] .ow-about-opening__context { padding-top: 20px;
    }
    body[data-site-page="about"] .ow-about-opening__context > p { font-size: .9rem;
    }
    body[data-site-page="about"] .ow-about-opening__context { max-width: none;
    }
    body[data-site-page] .ow-principle { min-height: 0; padding: 24px 0; gap: 24px; padding-block: 28px; }
    body[data-site-page] .ow-principle h3 { font-size: clamp(1.7rem,8vw,2.12rem); }
    body[data-site-page] .ow-principle > div > p { font-size: .86rem; }
    body[data-site-page] .ow-principle footer { grid-column: 1/-1;
        padding: 18px 0 0 16px; }
    body[data-site-page] .ow-responsibility__rail article { grid-template-columns: 36px 1fr; padding: 22px 0;
        gap: 12px; }
    body[data-site-page="about"] .ow-responsibility__rail h3 { font-size: 1.05rem;
    }
    body[data-site-page] .ow-brand-statement .landing-container { grid-template-columns: 1fr; gap: 18px; }
    body[data-site-page="about"] .ow-brand-statement h2 { font-size: clamp(2.1rem,10.5vw,2.8rem);
    }

    body[data-site-page="manager"] .ow-manager-opening { padding-top: 46px; padding-bottom: 42px; }
    body[data-site-page="manager"] .ow-manager-opening__copy { margin-bottom: 32px; gap: 18px; }
    body[data-site-page="manager"] .ow-manager-opening__copy h1 { max-width: 12ch; font-size: clamp(2.72rem,12vw,3.45rem); }
    body[data-site-page="manager"] .ow-manager-opening__copy p { max-width: 35ch; font-size: .86rem; line-height: 1.65; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relationship { border-radius: var(--radius-control); }
    body[data-site-page="manager"] .ow-manager-opening .ow-relationship__map { grid-template-columns: 1fr; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relationship__core { min-height: auto; padding: 22px 18px; border-right: 0; border-bottom: 1px solid color-mix(in srgb,var(--public-line) 62%,transparent); }
    body[data-site-page="manager"] .ow-manager-opening .ow-relationship__core strong { max-width: none; font-size: 1.28rem; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relationship__nodes { grid-template-columns: 1fr 1fr; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relationship__nodes::before { display: none; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node {
        position: relative;
        display: grid;
        grid-template-columns: 32px minmax(0,1fr);
        gap: 10px;
        align-items: center;
        align-content: center;
        min-height: 86px;
        padding: 13px 14px;
        border-right: 1px solid color-mix(in srgb,var(--public-line) 54%,transparent);
        border-bottom: 1px solid color-mix(in srgb,var(--public-line) 54%,transparent);
        text-align: left;
    }
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node:nth-child(even) { border-right: 0; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node:nth-child(n+3) { border-bottom: 0; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node::before {
        left: 14px; right: 14px; top: auto; bottom: 0;
        width: auto; height: 2px; border-radius: 999px;
        background: transparent; box-shadow: none; transform: none;
    }
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node[aria-selected="true"]::before {
        width: auto; background: var(--public-accent); box-shadow: none; transform: none;
    }
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node > span:first-child {
        position: static; display: grid; place-items: center; width: 32px; height: 32px; transform: none;
        background: color-mix(in srgb,var(--public-surface-soft) 72%,transparent);
    }
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node > span:nth-child(2) {
        position: static; display: grid; gap: 3px; text-align: left;
    }
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node > span:nth-child(2) strong { font-size: .78rem; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node > span:nth-child(2) small { font-size: .61rem; line-height: 1.35; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relationship__caption [data-switch-panel] { grid-template-columns: 1fr; gap: 8px; padding: 19px 18px; }
    body[data-site-page="manager"] .ow-manager-opening__note { flex-direction: column; gap: 4px; margin-top: 13px; }
    body[data-site-page="manager"] .ow-lifecycle__rail { display: block; margin-left: 4px; border: 0; border-left: 1px solid var(--public-line-strong); }
    body[data-site-page="manager"] .ow-lifecycle__rail article { min-height: 136px; padding: 22px 0 24px 24px; border: 0; }
    body[data-site-page="manager"] .ow-lifecycle__rail article + article { border: 0; }
    body[data-site-page="manager"] .ow-lifecycle__rail article::before { left: -4px; top: 28px; box-shadow: 0 0 0 4px var(--public-surface-soft); }
    body[data-site-page="manager"] .ow-lifecycle__rail article > span { top: 18px; right: 0; }
    body[data-site-page="manager"] .ow-lifecycle__rail h3 { margin: 26px 0 8px; font-size: 1.22rem; }
    body[data-site-page="manager"] .ow-manager-records__layout { gap: 30px; }
    body[data-site-page="manager"] .ow-record-list summary { min-height: 70px; grid-template-columns: minmax(0,1fr) 32px; gap: 10px; padding-inline: 0; }
    body[data-site-page="manager"] .ow-record-list summary h3 { min-width: 0; font-size: .92rem; line-height: 1.25; }
    body[data-site-page="manager"] .ow-record-list details > p { padding: 0 32px 24px 0; }
    body[data-site-page="manager"] .ow-manager-access__layout { gap: 24px; }
    body[data-site-page="manager"] .ow-manager-access__layout > div:last-child { grid-template-columns: 1fr; gap: 16px; }
    body[data-site-page="manager"] .ow-manager-access__layout .landing-button { width: 100%; }

    body[data-site-page="contact"] .ow-contact-opening { padding-top: 46px; }
    body[data-site-page="contact"] .ow-contact-opening__copy { padding: 24px 0 34px; gap: 18px; }
    body[data-site-page="contact"] .ow-contact-opening__copy h1 { max-width: 12ch; font-size: clamp(2.7rem,12vw,3.35rem); }
    body[data-site-page="contact"] .ow-contact-opening__copy p { max-width: 36ch; font-size: .86rem; line-height: 1.65; }
    body[data-site-page="contact"] .ow-handoff { grid-template-columns: 1fr; padding: 10px 0 8px 14px; border-left: 1px solid var(--public-line-strong); border-top: 0; }
    body[data-site-page="contact"] .ow-handoff li { min-height: auto; padding: 12px 0 13px 16px; grid-template-columns: 1fr; }
    body[data-site-page="contact"] .ow-handoff li + li { padding-left: 16px; border: 0; }
    body[data-site-page="contact"] .ow-handoff li::before,
    body[data-site-page="contact"] .ow-handoff li + li::before { left: -18px; top: 19px; box-shadow: 0 0 0 4px var(--public-canvas); }
    body[data-site-page="contact"] .ow-contact-section { padding-top: 34px; }
    body[data-site-page="contact"] .ow-contact-form { gap: 28px; }
    body[data-site-page="contact"] .ow-form-heading { grid-template-columns: 1fr; gap: 10px; padding-bottom: 22px; }
    body[data-site-page="contact"] .ow-form-heading .landing-public-eyebrow { grid-column: auto; }
    body[data-site-page="contact"] .ow-form-heading h2 { font-size: clamp(1.9rem,9vw,2.4rem); }
    body[data-site-page="contact"] .ow-contact-form .landing-form-grid { gap: 20px; }
    body[data-site-page="contact"] .landing-form-legal { padding: 22px 0; }
    body[data-site-page="contact"] .landing-form-actions { align-items: stretch; flex-direction: column; gap: 18px; }
    body[data-site-page="contact"] .ow-contact-form .landing-form-actions > button { width: 100%; min-width: 0; }
    body[data-site-page="contact"] .ow-contact-context { display: block; }
    body[data-site-page="contact"] .ow-contact-context__live { display: none; }
    body[data-site-page="contact"] .ow-context-mobile { display: block; padding: 0; border-block: var(--ow-rail); }
    body[data-site-page="contact"] .ow-context-mobile summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--public-accent-fg); font-size: .75rem; font-weight: 600; }
    body[data-site-page="contact"] .ow-context-mobile .ow-contact-context__live { display: block; margin: 0; padding: 0 0 20px; border: 0; }
    body[data-site-page="contact"] .ow-context-mobile .ow-contact-context__live > div { min-height: 0; padding: 18px 0 0 16px; }
    body[data-site-page="contact"] .ow-contact-next { margin-top: 26px; padding-top: 24px; }
    body[data-site-page="contact"] .ow-contact-direct { margin-top: 0; }
    body[data-site-page="contact"] .website-message-preview > summary { min-height: 50px; }

    body[data-site-page] .ow-legal { padding-top: 28px; }
    body[data-site-page] .ow-legal .landing-legal__container { display: block; }
    body[data-site-page] .ow-legal .landing-back-link { display: inline-flex; margin-bottom: 28px; }
    body[data-site-page] .ow-legal .landing-legal__header { padding-bottom: 22px; }
    body[data-site-page] .ow-legal .landing-legal__header h1 { font-size: 2.25rem; }
    body[data-site-page] .ow-legal .landing-legal__toc { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; margin: 24px 0 34px; }
    body[data-site-page] .ow-legal .landing-legal__toc strong { grid-column: 1/-1; margin-bottom: 12px; }
    body[data-site-page] .ow-legal .landing-legal__content p { font-size: .88rem; }
    body[data-site-page] .ow-error__layout { grid-template-columns: 1fr; gap: 30px; }
    body[data-site-page] .ow-error__signal { padding: 22px; }
    body[data-site-page] .ow-error__code { font-size: 5rem; }

    body[data-site-page="about"] .ow-about-signal { grid-template-columns: 1fr 1fr;
    }
    body[data-site-page="about"] .ow-about-signal li:nth-child(odd) { padding-right: 12px;
    }
    body[data-site-page="about"] .ow-about-signal li:nth-child(even) { padding-left: 12px; border-left: 1px solid var(--public-line-strong);
    }
}

@media (max-width: 359px) {
    body[data-site-page] { --ow-shell: calc(100% - 28px); }
    body[data-site-page] .landing-brand__text small { max-width: 120px; font-size: .53rem; }
    body[data-site-page] .ow-route-map__choices { gap: 0 8px; }
    body[data-site-page] .ow-route-map__choices button { font-size: .64rem; }
    body[data-site-page] .ow-route-map__focus { padding: 18px 14px; }
    body[data-site-page] .ow-route-map__focus [data-switch-panel] { grid-template-columns: 44px 1fr; gap: 11px; }
    body[data-site-page] .ow-route-map__symbol { width: 44px; }
    body[data-site-page] .ow-commercial dl { grid-template-columns: 1fr; }
    body[data-site-page] .ow-commercial dl > div + div { border: 0; }
    body[data-site-page="services"] .ow-commercial dl > div { padding-inline: 16px; }
    body[data-site-page="services"] .ow-scope-list { grid-template-columns: 1fr; gap: 0; }
    body[data-site-page="services"] .ow-scope-list li { width: 100%; }
    body[data-site-page] .ow-principle { grid-template-columns: 1fr; }
    body[data-site-page="about"] .ow-about-signal { grid-template-columns: 1fr;
    }
    body[data-site-page="about"] .ow-about-signal li:nth-child(n) { padding-inline: 0; border-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    body[data-site-page] *,
    body[data-site-page] *::before,
    body[data-site-page] *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* =====================================================================
   HOME · public brand/service experience owner
   Rich UI, controlled complexity, custom Olthany craft.
   ===================================================================== */
body[data-site-page="home"] {
    --ov-shell: min(calc(100% - 64px), 1320px);
    --ov-line: color-mix(in srgb, var(--public-line-strong) 64%, transparent);
    --ov-line-soft: color-mix(in srgb, var(--public-line) 64%, transparent);
    --ov-panel: color-mix(in srgb, var(--public-surface) 86%, var(--public-canvas));
    --ov-panel-2: color-mix(in srgb, var(--public-surface-soft) 82%, var(--public-canvas));
    --ov-display: clamp(3.7rem,6.08vw,6.2rem);
    --ov-section-y: clamp(68px,6vw,94px);
}
body[data-site-page="home"] .landing-container { width: var(--ov-shell); }
body[data-site-page="home"] main { overflow: clip; }

body[data-site-page="home"] .ov-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--public-muted);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .015em;
}
body[data-site-page="home"] .ov-kicker::before { content: ""; width: 18px; height: 1px; background: var(--public-accent); }
body[data-site-page="home"] .ov-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
body[data-site-page="home"] .ov-actions .landing-button,
body[data-site-page="home"] .ov-actions .landing-nav-cta { min-height: 44px; border-radius: 6px; }
body[data-site-page="home"] .ov-link { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; color: var(--public-ink); font-size: .79rem; font-weight: 600; text-decoration: none; }
body[data-site-page="home"] .ov-link .icon { width: 15px; height: 15px; color: var(--public-muted); transition: transform var(--motion-duration-standard) var(--motion-ease-standard), color var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="home"] .ov-link:hover .icon { color: var(--public-ink); transform: translateX(3px); }
body[data-site-page="home"] .ov-link--down:hover .icon { transform: translateY(3px); }
body[data-site-page="home"] .ov-link--external:hover .icon { transform: translate(2px,-2px); }
body[data-site-page="home"] :is(.ov-link,.ov-stage-service,.ov-service-links a):focus-visible { outline: 3px solid var(--public-accent-line); outline-offset: 3px; }

/* Hero: high-confidence typography + custom service field, without graph-paper chrome. */
body[data-site-page="home"] .ov-hero { position: relative; padding: clamp(48px,4.8vw,70px) 0 0; }
body[data-site-page="home"] .ov-hero::before { content: ""; position: absolute; left: 50%; top: 22%; width: min(72vw,1040px); height: 520px; transform: translateX(-50%); background: radial-gradient(ellipse at center, color-mix(in srgb, var(--public-accent) 5%, transparent), transparent 66%); pointer-events: none; }
body[data-site-page="home"] .ov-hero__copy { position: relative; z-index: 2; display: grid; justify-items: center; text-align: center; padding-bottom: clamp(30px,3.2vw,42px); }
body[data-site-page="home"] .ov-hero h1 { max-width: 12ch; margin: 18px auto 20px; font-size: var(--ov-display); font-weight: 700; line-height: .92; letter-spacing: -.07em; }
body[data-site-page="home"] .ov-hero h1 span { color: var(--public-muted); }
body[data-site-page="home"] .ov-hero__copy > p { max-width: 600px; margin: 0 auto 24px; color: var(--public-muted); font-size: clamp(1.02rem,1.22vw,1.14rem); line-height: 1.58; }
body[data-site-page="home"] .ov-hero-stage {
    position:relative;
    z-index:2;
    overflow:hidden;
    border:1px solid color-mix(in srgb,var(--ov-line-soft) 80%,transparent);
    border-radius:18px;
    background:color-mix(in srgb,var(--public-surface) 72%,var(--public-canvas));
    box-shadow:0 18px 52px color-mix(in srgb,#000 7%,transparent),inset 0 1px 0 color-mix(in srgb,white 3%,transparent);
}
body[data-site-page="home"] .ov-hero-stage::after { content:none; }
body[data-site-page="home"] .ov-stage-center { position:relative; z-index:2; display:grid; grid-template-columns:minmax(150px,.28fr) minmax(0,1fr); gap:clamp(28px,4vw,52px); align-items:center; padding:clamp(26px,3vw,36px) clamp(28px,3.6vw,44px); border-bottom:1px solid color-mix(in srgb,var(--ov-line-soft) 66%,transparent); }
body[data-site-page="home"] .ov-stage-center::before { content:none; }
body[data-site-page="home"] .ov-stage-identity { display:flex; align-items:center; gap:11px; margin:0; color:var(--public-ink); font-family:var(--font-title); font-size:.92rem; font-weight:650; letter-spacing:-.025em; }
body[data-site-page="home"] .ov-stage-logo { display:grid; place-items:center; width:32px; height:38px; flex:0 0 32px; border:0; border-radius:0; background:transparent; box-shadow:none; }
body[data-site-page="home"] .ov-stage-logo img { width:30px; height:34px; object-fit:contain; filter:none; }
body[data-site-page="home"] .ov-stage-focus { display:grid; grid-template-columns:minmax(180px,.72fr) minmax(260px,1.18fr) auto; grid-template-areas:"meta copy action" "title copy action"; column-gap:clamp(24px,3vw,40px); row-gap:7px; align-items:center; min-width:0; will-change:transform,opacity; }
body[data-site-page="home"] .ov-stage-focus small { grid-area:meta; color:var(--public-accent-fg); font-size:.58rem; font-weight:700; letter-spacing:.085em; text-transform:uppercase; }
body[data-site-page="home"] .ov-stage-focus strong { grid-area:title; max-width:16ch; color:var(--public-ink); font-family:var(--font-title); font-size:clamp(1.72rem,2vw,2.08rem); line-height:1.02; letter-spacing:-.047em; text-wrap:balance; }
body[data-site-page="home"] .ov-stage-summary { grid-area:copy; display:block; max-width:50ch; color:var(--public-muted); font-size:.82rem; line-height:1.62; text-wrap:pretty; }
body[data-site-page="home"] .ov-stage-action { grid-area:action; display:inline-flex; align-items:center; gap:7px; width:max-content; min-height:40px; padding:0; color:var(--public-ink); font-size:.72rem; font-weight:650; text-decoration:none; white-space:nowrap; }
body[data-site-page="home"] .ov-stage-action .icon { width:14px; height:14px; color:var(--public-accent-fg); transition:transform var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="home"] .ov-stage-action:hover .icon { transform:translateX(3px); }
body[data-site-page="home"] .ov-stage-action:focus-visible { outline:3px solid var(--public-accent-line); outline-offset:3px; }
body[data-site-page="home"] .ov-stage-groups { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2.4vw,30px); padding:clamp(22px,2.6vw,30px) clamp(28px,3.6vw,44px) clamp(24px,3vw,34px); }
body[data-site-page="home"] .ov-stage-group { position:relative; width:auto; padding:0; }
body[data-site-page="home"] .ov-stage-group + .ov-stage-group { padding-left:0; border-left:0; }
body[data-site-page="home"] .ov-stage-group--1,
body[data-site-page="home"] .ov-stage-group--2,
body[data-site-page="home"] .ov-stage-group--3 { inset:auto; transform:none; }
body[data-site-page="home"] .ov-stage-group__label,
body[data-site-page="home"] .ov-stage-group--2 .ov-stage-group__label { display:block; margin:0 0 9px; color:color-mix(in srgb,var(--public-muted) 80%,transparent); font-size:.56rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; text-align:left; }
body[data-site-page="home"] .ov-stage-group__links,
body[data-site-page="home"] .ov-stage-group--2 .ov-stage-group__links { display:grid; grid-template-columns:1fr; gap:4px; }
body[data-site-page="home"] .ov-stage-service { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 16px; gap:10px; align-items:center; min-height:46px; padding:8px 10px 8px 12px; border:0; border-radius:8px; background:transparent; color:color-mix(in srgb,var(--public-muted) 94%,transparent); font-size:.76rem; font-weight:590; line-height:1.26; text-decoration:none; opacity:.95; transition:color var(--motion-duration-standard) var(--motion-ease-standard),background-color var(--motion-duration-standard) var(--motion-ease-standard),opacity var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="home"] .ov-stage-service::before { content:""; position:absolute; left:0; top:50%; width:2px; height:0; border-radius:999px; background:var(--public-accent); transform:translateY(-50%); transition:height var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="home"] .ov-stage-service .icon { width:14px; height:14px; color:color-mix(in srgb,var(--public-muted) 66%,transparent); transition:transform var(--motion-duration-standard) var(--motion-ease-standard),color var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="home"] .ov-stage-service:hover { color:var(--public-ink); opacity:1; background:color-mix(in srgb,var(--public-surface-soft) 54%,transparent); }
body[data-site-page="home"] .ov-stage-service:hover .icon { color:var(--public-ink); transform:translateX(2px); }
body[data-site-page="home"] .ov-stage-service.is-active { color:var(--public-ink); opacity:1; background:color-mix(in srgb,var(--public-accent) 7%,var(--public-surface)); }
body[data-site-page="home"] .ov-stage-service.is-active::before { height:24px; }
body[data-site-page="home"] .ov-stage-service.is-active .icon { color:var(--public-accent-fg); transform:translateX(2px); }
body[data-site-page="home"] .ov-stage-principles { position:relative; z-index:2; display:flex; justify-content:space-between; gap:20px; margin:0 clamp(28px,3.6vw,44px); padding:15px 0 17px; border-top:1px solid color-mix(in srgb,var(--ov-line-soft) 56%,transparent); color:color-mix(in srgb,var(--public-muted) 78%,transparent); font-size:.6rem; }
body[data-site-page="home"] .ov-stage-principles span { white-space:nowrap; }

body[data-site-page="home"] .ov-section-head { display: grid; grid-template-columns: minmax(260px,.64fr) minmax(380px,1.06fr); grid-template-areas: "kicker title" "copy title"; gap: 14px clamp(50px,7vw,110px); align-items: start; margin-bottom: clamp(34px,4vw,54px); }
body[data-site-page="home"] .ov-section-head > .ov-kicker { grid-area: kicker; align-self: start; }
body[data-site-page="home"] .ov-section-head h2 { grid-area: title; max-width: 10ch; margin: 0; font-size: clamp(2.8rem,4.8vw,4.8rem); line-height: .93; letter-spacing: -.06em; }
body[data-site-page="home"] .ov-section-head > p { grid-area: copy; max-width: 42ch; margin: 10px 0 0; color: var(--public-muted); font-size: .92rem; line-height: 1.65; }
body[data-site-page="home"] .ov-services .ov-section-head {
    grid-template-columns: minmax(0,1.08fr) minmax(300px,.62fr);
    grid-template-areas: "kicker copy" "title copy";
    gap: 14px clamp(44px,6vw,86px);
    align-items: end;
    margin-bottom: clamp(28px,3vw,40px);
}
body[data-site-page="home"] .ov-services .ov-section-head h2 { max-width: 8.4ch; }
body[data-site-page="home"] .ov-services .ov-section-head > p { align-self: end; margin: 0 0 6px; max-width: 38ch; }

/* Service moments: substantial UI, no graph-paper repetition. */
body[data-site-page="home"] .ov-feature-stack { display:grid; gap:clamp(30px,3.5vw,48px); }
body[data-site-page="home"] .ov-feature { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); min-height:430px; overflow:hidden; border:1px solid color-mix(in srgb,var(--ov-line-soft) 78%,transparent); border-radius:20px; background:linear-gradient(145deg,color-mix(in srgb,var(--ov-panel) 94%,var(--public-canvas)),color-mix(in srgb,var(--public-canvas) 98%,var(--ov-panel-2))); box-shadow:0 24px 70px color-mix(in srgb,#000 6%,transparent); }
body[data-site-page="home"] .ov-feature--reverse { grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); }
body[data-site-page="home"] .ov-feature--reverse .ov-feature__copy { order:2; }
body[data-site-page="home"] .ov-feature--hardware { min-height:440px; }
body[data-site-page="home"] .ov-feature--structure { min-height:390px; gap:0; overflow:hidden; border:0; border-block:1px solid var(--ov-line-soft); border-radius:0; background:transparent; box-shadow:none; }
body[data-site-page="home"] .ov-feature--structure .ov-feature__copy { border:0; border-radius:0; background:var(--public-canvas); box-shadow:none; }
body[data-site-page="home"] .ov-feature--structure .ov-feature__visual { border:0; border-radius:0; background:linear-gradient(145deg,color-mix(in srgb,var(--public-surface) 68%,var(--public-canvas)),color-mix(in srgb,var(--public-canvas) 96%,var(--public-surface-soft))); box-shadow:none; }
body[data-site-page="home"] .ov-feature--systems { grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr); min-height:410px; }
body[data-site-page="home"] .ov-feature__copy { display:grid; align-content:center; padding:clamp(42px,4.9vw,68px); }
body[data-site-page="home"] .ov-feature__copy h3 { max-width:10.5ch; margin:18px 0 20px; font-size:clamp(2.25rem,3.7vw,3.65rem); line-height:.92; letter-spacing:-.06em; }
body[data-site-page="home"] .ov-feature__copy > p { max-width:44ch; margin:0 0 28px; color:var(--public-muted); font-size:.91rem; line-height:1.68; }
body[data-site-page="home"] .ov-service-links { display:flex; flex-wrap:wrap; gap:6px 18px; }
body[data-site-page="home"] .ov-service-links a { display:inline-flex; align-items:center; gap:7px; min-height:36px; color:var(--public-ink); font-size:.72rem; font-weight:600; text-decoration:none; }
body[data-site-page="home"] .ov-service-links a .icon { width:14px; height:14px; color:var(--public-muted); transition:transform var(--motion-duration-standard) var(--motion-ease-standard),color var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="home"] .ov-service-links a:hover .icon { color:var(--public-ink); transform:translateX(3px); }
body[data-site-page="home"] .ov-feature__visual { position:relative; min-height:430px; overflow:hidden; background:color-mix(in srgb,var(--public-canvas) 62%,var(--ov-panel-2)); isolation:isolate; }
body[data-site-page="home"] .ov-feature__visual::before { content:""; position:absolute; inset:5%; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--public-accent) 11%,transparent),transparent 66%); filter:blur(5px); z-index:-1; }
body[data-site-page="home"] .ov-feature__visual::after { content:""; position:absolute; inset:13% 15%; border:1px solid color-mix(in srgb,var(--ov-line-soft) 46%,transparent); border-radius:28px; pointer-events:none; }
body[data-site-page="home"] .ov-feature--structure .ov-feature__visual::after { inset:12%; border-radius:50%; opacity:.36; }
body[data-site-page="home"] .ov-feature--systems .ov-feature__visual::after { display:none; }
body[data-site-page="home"] .ov-visual-label { position:absolute; z-index:2; display:inline-flex; align-items:center; min-height:32px; padding:0 10px; border:1px solid color-mix(in srgb,var(--ov-line-soft) 72%,transparent); border-radius:999px; background:color-mix(in srgb,var(--public-canvas) 88%,transparent); color:var(--public-muted); font-size:.58rem; font-weight:650; backdrop-filter:blur(8px); }
body[data-site-page="home"] .ov-visual-label--tl { left:8%; top:9%; }
body[data-site-page="home"] .ov-visual-label--tr { right:8%; top:9%; }
body[data-site-page="home"] .ov-visual-label--br { right:8%; bottom:9%; }
body[data-site-page="home"] .ov-device { position:absolute; left:50%; top:50%; width:min(62%,390px); aspect-ratio:1.45; transform:translate(-50%,-50%); }
body[data-site-page="home"] .ov-device__screen { position:absolute; inset:0 8% 22%; border:1px solid color-mix(in srgb,var(--public-line-strong) 78%,transparent); border-radius:14px 14px 6px 6px; background:linear-gradient(145deg,color-mix(in srgb,var(--public-surface) 94%,var(--public-canvas)),color-mix(in srgb,var(--public-canvas) 90%,transparent)); box-shadow:inset 0 0 0 9px color-mix(in srgb,var(--public-canvas) 82%,transparent),0 30px 58px color-mix(in srgb,#000 17%,transparent); }
body[data-site-page="home"] .ov-device__screen::before { content:""; position:absolute; inset:17%; border-radius:6px; background:linear-gradient(90deg,transparent 49.5%,color-mix(in srgb,var(--public-accent) 22%,transparent) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,color-mix(in srgb,var(--public-accent) 14%,transparent) 50%,transparent 50.5%); opacity:.78; }
body[data-site-page="home"] .ov-device__base { position:absolute; left:0; right:0; bottom:8%; height:15%; clip-path:polygon(8% 0,92% 0,100% 74%,0 74%); background:color-mix(in srgb,var(--public-surface) 88%,var(--public-canvas)); box-shadow:inset 0 1px 0 var(--ov-line); }
body[data-site-page="home"] .ov-device__pulse { position:absolute; left:50%; top:39%; width:48%; height:2px; background:linear-gradient(90deg,transparent,var(--public-accent),transparent); transform:translateX(-50%); box-shadow:0 0 18px color-mix(in srgb,var(--public-accent) 48%,transparent); }
body[data-site-page="home"] .ov-device__node { position:absolute; width:7px; height:7px; border-radius:50%; background:var(--public-accent); box-shadow:0 0 0 5px color-mix(in srgb,var(--public-accent) 10%,transparent); }
body[data-site-page="home"] .ov-device__node--a { left:22%; top:30%; }
body[data-site-page="home"] .ov-device__node--b { right:22%; top:47%; }
body[data-site-page="home"] .ov-device__node--c { left:48%; bottom:29%; }
body[data-site-page="home"] .ov-hinge { position:absolute; left:50%; top:50%; width:min(68%,430px); height:205px; transform:translate(-50%,-50%); perspective:900px; }
body[data-site-page="home"] .ov-hinge__left,
body[data-site-page="home"] .ov-hinge__right { position:absolute; top:18px; width:45%; height:164px; border:1px solid var(--ov-line); border-radius:12px; background:linear-gradient(145deg,color-mix(in srgb,var(--public-surface) 94%,var(--public-canvas)),color-mix(in srgb,var(--public-canvas) 92%,transparent)); box-shadow:0 26px 56px color-mix(in srgb,#000 13%,transparent); }
body[data-site-page="home"] .ov-hinge__left { left:1%; transform:rotateY(13deg) rotateZ(-2deg); transform-origin:right center; }
body[data-site-page="home"] .ov-hinge__right { right:1%; transform:rotateY(-13deg) rotateZ(2deg); transform-origin:left center; }
body[data-site-page="home"] .ov-hinge__axis { position:absolute; z-index:3; left:50%; top:6px; bottom:6px; width:10px; border-radius:999px; background:linear-gradient(180deg,color-mix(in srgb,var(--public-accent) 72%,white),var(--public-accent)); transform:translateX(-50%); box-shadow:0 0 0 6px color-mix(in srgb,var(--public-accent) 8%,transparent),0 10px 30px color-mix(in srgb,var(--public-accent) 25%,transparent); }
body[data-site-page="home"] .ov-system-layers { position:absolute; left:50%; top:50%; width:min(66%,420px); height:246px; transform:translate(-50%,-50%); }
body[data-site-page="home"] .ov-system-layers span { position:absolute; left:0; right:0; display:flex; align-items:center; justify-content:space-between; min-height:72px; padding:0 24px; border:1px solid var(--ov-line); border-radius:11px; background:color-mix(in srgb,var(--public-canvas) 94%,var(--public-surface)); box-shadow:0 20px 48px color-mix(in srgb,#000 12%,transparent); }
body[data-site-page="home"] .ov-system-layers span::after { color:var(--public-muted); font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
body[data-site-page="home"] .ov-system-layers span:nth-child(1) { top:0; transform:translateX(-8%); opacity:.82; }
body[data-site-page="home"] .ov-system-layers span:nth-child(1)::after { content:"Sistema"; }
body[data-site-page="home"] .ov-system-layers span:nth-child(2) { top:86px; transform:translateX(0); border-color:color-mix(in srgb,var(--public-accent) 34%,var(--ov-line)); box-shadow:0 24px 58px color-mix(in srgb,var(--public-accent) 7%,#000 12%); }
body[data-site-page="home"] .ov-system-layers span:nth-child(2)::after { content:"Entorno"; }
body[data-site-page="home"] .ov-system-layers span:nth-child(3) { top:172px; transform:translateX(8%); opacity:.82; }
body[data-site-page="home"] .ov-system-layers span:nth-child(3)::after { content:"Aplicación"; }
body[data-site-page="home"] .ov-system-layers b { font-size:1rem; letter-spacing:-.02em; }

body[data-site-page="home"] .ov-process { background:var(--public-canvas); }
body[data-site-page="home"] .ov-process__layout { display:grid; grid-template-columns:1fr; gap:clamp(34px,4vw,50px); }
body[data-site-page="home"] .ov-process__intro { display:grid; grid-template-columns:minmax(180px,.32fr) minmax(0,1fr); gap:clamp(32px,6vw,90px); align-items:end; padding-top:4px; }
body[data-site-page="home"] .ov-process__intro h2 { max-width:12ch; margin:0; font-size:clamp(2.8rem,4.6vw,4.5rem); line-height:.92; letter-spacing:-.06em; }
body[data-site-page="home"] .ov-process-rail { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:26px 0 0; border-top:1px solid var(--ov-line); }
body[data-site-page="home"] .ov-process-rail::before { content:""; position:absolute; left:0; right:0; top:25px; height:1px; background:linear-gradient(90deg,var(--public-accent),color-mix(in srgb,var(--public-line-strong) 58%,transparent) 32%,color-mix(in srgb,var(--public-line-strong) 24%,transparent)); }
body[data-site-page="home"] .ov-process-rail article { position:relative; display:grid; grid-template-columns:1fr; gap:13px; min-height:175px; padding:26px 28px 18px 0; }
body[data-site-page="home"] .ov-process-rail article + article { padding-left:28px; }
body[data-site-page="home"] .ov-process-rail article::before { content:""; position:absolute; top:-6px; left:0; width:12px; height:12px; border-radius:50%; background:var(--public-canvas); box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--public-accent) 70%,var(--public-line-strong)),0 0 0 6px color-mix(in srgb,var(--public-accent) 7%,transparent); }
body[data-site-page="home"] .ov-process-rail article + article::before { left:28px; }
body[data-site-page="home"] .ov-process-index { display:inline-flex; align-items:center; min-height:18px; color:var(--public-accent-fg); font-size:.58rem; font-weight:700; letter-spacing:.09em; }
body[data-site-page="home"] .ov-process-rail h3 { margin:0 0 9px; font-size:clamp(1.35rem,1.8vw,1.7rem); letter-spacing:-.045em; }
body[data-site-page="home"] .ov-process-rail p { max-width:29ch; margin:0; color:var(--public-muted); font-size:.77rem; line-height:1.6; }

body[data-site-page="home"] .ov-principles { background:linear-gradient(180deg,var(--ov-panel),color-mix(in srgb,var(--public-canvas) 94%,var(--ov-panel))); border-block:1px solid color-mix(in srgb,var(--ov-line-soft) 72%,transparent); }
body[data-site-page="home"] .ov-principles__grid { display:grid; grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr); gap:clamp(56px,8vw,112px); align-items:start; }
body[data-site-page="home"] .ov-principles h2 { max-width:9.4ch; margin-top:20px; font-size:clamp(2.55rem,4vw,3.9rem); line-height:.95; }
body[data-site-page="home"] .ov-principle-list { display:grid; gap:0; border-top:1px solid var(--ov-line); }
body[data-site-page="home"] .ov-principle-list article { position:relative; display:grid; grid-template-columns:minmax(150px,.44fr) 1fr; gap:clamp(28px,4vw,54px); padding:26px 2px; border-bottom:1px solid var(--ov-line); }
body[data-site-page="home"] .ov-principle-list article::before { content:""; position:absolute; left:0; top:50%; width:0; height:2px; background:var(--public-accent); transform:translateY(-50%); transition:width var(--motion-duration-standard) var(--motion-ease-standard); }
body[data-site-page="home"] .ov-principle-list article:hover::before { width:18px; }
body[data-site-page="home"] .ov-principle-list h3 { margin:0; font-size:clamp(1.2rem,1.7vw,1.55rem); letter-spacing:-.035em; }
body[data-site-page="home"] .ov-principle-list p { max-width:60ch; margin:0; color:var(--public-muted); font-size:.87rem; line-height:1.68; }

body[data-site-page="home"] .ov-manager__shell { display:grid; grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr); overflow:hidden; border:1px solid color-mix(in srgb,var(--ov-line-soft) 74%,transparent); border-radius:20px; background:linear-gradient(145deg,color-mix(in srgb,var(--ov-panel) 94%,var(--public-canvas)),color-mix(in srgb,var(--public-canvas) 96%,var(--ov-panel-2))); box-shadow:0 28px 84px color-mix(in srgb,#000 6%,transparent); }
body[data-site-page="home"] .ov-manager__copy { padding:clamp(40px,4.8vw,62px); }
body[data-site-page="home"] .ov-manager__copy h2 { max-width:10ch; margin:20px 0 22px; font-size:clamp(2.35rem,3.8vw,3.65rem); line-height:.94; }
body[data-site-page="home"] .ov-manager__copy > p { max-width:42ch; margin:0 0 26px; color:var(--public-muted); }
body[data-site-page="home"] .ov-manager-flow { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; list-style:none; margin:0; min-height:260px; padding:42px 34px; background:color-mix(in srgb,var(--public-canvas) 62%,var(--ov-panel-2)); }
body[data-site-page="home"] .ov-manager-flow::before { content:""; position:absolute; left:10%; right:10%; top:50%; height:1px; background:linear-gradient(90deg,color-mix(in srgb,var(--public-line-strong) 28%,transparent),color-mix(in srgb,var(--public-accent) 52%,var(--public-line-strong))); }
body[data-site-page="home"] .ov-manager-flow li { position:relative; z-index:1; display:grid; align-content:center; justify-items:center; gap:12px; min-height:132px; padding:18px 10px; background:transparent; text-align:center; }
body[data-site-page="home"] .ov-manager-flow li::before { content:""; width:11px; height:11px; border-radius:50%; background:var(--public-canvas); box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--public-line-strong) 78%,transparent),0 0 0 7px color-mix(in srgb,var(--public-surface) 58%,transparent); }
body[data-site-page="home"] .ov-manager-flow li small { color:var(--public-muted); font-size:.55rem; font-weight:700; letter-spacing:.09em; }
body[data-site-page="home"] .ov-manager-flow li :is(span,strong) { font-family:var(--font-title); font-size:.9rem; line-height:1.1; letter-spacing:-.02em; }
body[data-site-page="home"] .ov-manager-flow li.is-manager::before { background:var(--public-accent); box-shadow:0 0 0 7px color-mix(in srgb,var(--public-accent) 11%,transparent),0 0 26px color-mix(in srgb,var(--public-accent) 20%,transparent); }
body[data-site-page="home"] .ov-manager-flow li.is-manager small,
body[data-site-page="home"] .ov-manager-flow li.is-manager strong { color:var(--public-accent-fg); }

body[data-site-page="home"] .ow-close { padding-block: clamp(54px,5.3vw,74px); text-align: center; }
body[data-site-page="home"] .ow-close__layout { max-width: 860px; margin-inline: auto; display: block; }
body[data-site-page="home"] .ow-close h2 { max-width: 12ch; margin-inline: auto; font-size: clamp(2.7rem,5vw,4.95rem); line-height: .95; }
body[data-site-page="home"] .ow-close p { max-width: 50ch; margin-inline: auto; }
body[data-site-page="home"] .ow-close .landing-actions { justify-content: center; }

@media (max-width: 980px) {
    body[data-site-page="home"] { --ov-shell: min(calc(100% - 40px),900px); }
    body[data-site-page="home"] .ov-feature,
    body[data-site-page="home"] .ov-feature--reverse,
    body[data-site-page="home"] .ov-principles__grid,
    body[data-site-page="home"] .ov-manager__shell { grid-template-columns: 1fr; }
    body[data-site-page="home"] .ov-process__layout { grid-template-columns: 1fr; gap: 30px; }
    body[data-site-page="home"] .ov-process__intro { display: block; }
    body[data-site-page="home"] .ov-process__intro h2 { margin-bottom: 0; }
    body[data-site-page="home"] .ov-process-rail { grid-template-columns: 1fr 1fr; }
    body[data-site-page="home"] .ov-process-rail article { min-height: 156px; }
    body[data-site-page="home"] .ov-feature--reverse .ov-feature__copy { order: initial; }
    body[data-site-page="home"] .ov-feature__visual { min-height: 390px; }
    body[data-site-page="home"] .ov-manager-flow { min-height: 0; }
}

@media (max-width: 680px) {
    body[data-site-page="home"] { --ov-shell: min(calc(100% - 32px),620px); --ov-display: clamp(2.62rem,11.3vw,3.2rem); --ov-section-y: 62px; }
    body[data-site-page="home"] .ov-hero { padding-top: 34px; }
    body[data-site-page="home"] .ov-hero::before { top: 14%; width: 130vw; height: 460px; }
    body[data-site-page="home"] .ov-hero__copy { justify-items: start; text-align: left; padding-bottom: 26px; }
    body[data-site-page="home"] .ov-hero h1 { letter-spacing: -.063em; }
    body[data-site-page="home"] .ov-hero__copy > p { margin-inline: 0; font-size: .91rem; }
    body[data-site-page="home"] .ov-hero-stage { border-radius: 17px; }
    body[data-site-page="home"] .ov-stage-center { grid-template-columns: 1fr; gap: 18px; padding: 24px 20px 22px; }
    body[data-site-page="home"] .ov-stage-identity { font-size: .82rem; }
    body[data-site-page="home"] .ov-stage-logo { width: 29px; height: 34px; flex-basis: 29px; border-radius:0; }
    body[data-site-page="home"] .ov-stage-logo img { width: 27px; height: 31px; }
    body[data-site-page="home"] .ov-stage-focus { grid-template-columns: 1fr; grid-template-areas: "meta" "title" "copy" "action"; gap: 7px; }
    body[data-site-page="home"] .ov-stage-focus strong { max-width: 18ch; font-size: 1.5rem; }
    body[data-site-page="home"] .ov-stage-summary { max-width: 48ch; font-size: .72rem; }
    body[data-site-page="home"] .ov-stage-action { min-height: 38px; font-size: .67rem; }
    body[data-site-page="home"] .ov-stage-groups { grid-template-columns: 1fr; gap: 0; padding: 0 20px; }
    body[data-site-page="home"] .ov-stage-group,
    body[data-site-page="home"] .ov-stage-group + .ov-stage-group { padding: 18px 0; border-left: 0; border-top: 1px solid color-mix(in srgb,var(--ov-line-soft) 52%,transparent); }
    body[data-site-page="home"] .ov-stage-group:first-child { border-top: 0; }
    body[data-site-page="home"] .ov-stage-group__label,
    body[data-site-page="home"] .ov-stage-group--2 .ov-stage-group__label { margin-bottom: 5px; font-size: .51rem; }
    body[data-site-page="home"] .ov-stage-group__links,
    body[data-site-page="home"] .ov-stage-group--2 .ov-stage-group__links { grid-template-columns: 1fr; gap: 0; }
    body[data-site-page="home"] .ov-stage-service { min-height:44px; grid-template-columns:minmax(0,1fr) 13px; gap:8px; padding:8px 8px 8px 11px; font-size:.69rem; }
    body[data-site-page="home"] .ov-stage-service:hover,
    body[data-site-page="home"] .ov-stage-service.is-active { transform:none; }
    body[data-site-page="home"] .ov-stage-principles { justify-content:flex-start; flex-wrap:wrap; gap:7px 16px; margin:0 20px; padding:14px 0 16px; }
    body[data-site-page="home"] .ov-stage-principles span { font-size: .58rem; white-space: normal; }

    body[data-site-page="home"] .ov-section-head,
    body[data-site-page="home"] .ov-services .ov-section-head { grid-template-columns: 1fr; grid-template-areas: "kicker" "title" "copy"; gap: 14px; margin-bottom: 30px; }
    body[data-site-page="home"] .ov-section-head h2 { font-size: clamp(2.35rem,10.6vw,3rem); }
    body[data-site-page="home"] .ov-section-head > p { margin-top: 0; }
    body[data-site-page="home"] .ov-feature-stack { gap: 20px; }
    body[data-site-page="home"] .ov-feature { min-height: 0; border-radius: 15px; }
    body[data-site-page="home"] .ov-feature--structure { min-height: 0; gap: 0; border-radius: 0; }
    body[data-site-page="home"] .ov-feature--structure .ov-feature__copy,
    body[data-site-page="home"] .ov-feature--structure .ov-feature__visual { border-radius: 0; }
    body[data-site-page="home"] .ov-feature__copy { padding: 30px 22px 28px; }
    body[data-site-page="home"] .ov-feature__copy h3 { font-size: clamp(2rem,9.5vw,2.55rem); }
    body[data-site-page="home"] .ov-feature__visual { min-height: 280px; }
    body[data-site-page="home"] .ov-feature__visual::after { inset: 13% 10%; }
    body[data-site-page="home"] .ov-visual-label { min-height: 30px; font-size: .58rem; }
    body[data-site-page="home"] .ov-device { width: 72%; }
    body[data-site-page="home"] .ov-hinge { width: 76%; height: 160px; }
    body[data-site-page="home"] .ov-hinge__left,
    body[data-site-page="home"] .ov-hinge__right { height: 126px; }
    body[data-site-page="home"] .ov-system-layers { width: 74%; height: 210px; }
    body[data-site-page="home"] .ov-system-layers span { min-height: 62px; padding: 0 16px; }
    body[data-site-page="home"] .ov-system-layers span:nth-child(2) { top: 72px; }
    body[data-site-page="home"] .ov-system-layers span:nth-child(3) { top: 144px; }
    body[data-site-page="home"] .ov-process__layout { gap: 26px; }
    body[data-site-page="home"] .ov-process__intro { display: block; }
    body[data-site-page="home"] .ov-process__intro h2 { margin: 16px 0 16px; font-size: clamp(2.35rem,10.6vw,3rem); }
    body[data-site-page="home"] .ov-process-rail { grid-template-columns: 1fr; padding-top: 14px; border-bottom: 0; }
    body[data-site-page="home"] .ov-process-rail::before { left: 5px; right: auto; top: 16px; bottom: 14px; width: 1px; height: auto; background: linear-gradient(180deg,var(--public-accent),color-mix(in srgb,var(--public-line-strong) 26%,transparent)); }
    body[data-site-page="home"] .ov-process-rail article,
    body[data-site-page="home"] .ov-process-rail article + article { grid-template-columns: 30px minmax(0,1fr); gap: 13px; min-height: 0; padding: 17px 0 17px 20px; border-bottom: 1px solid color-mix(in srgb,var(--ov-line) 72%,transparent); }
    body[data-site-page="home"] .ov-process-rail article::before,
    body[data-site-page="home"] .ov-process-rail article + article::before { left: 0; top: 23px; width: 10px; height: 10px; }
    body[data-site-page="home"] .ov-process-index { padding-top: 2px; }
    body[data-site-page="home"] .ov-process-rail h3 { font-size: 1.42rem; }
    body[data-site-page="home"] .ov-principle-list article { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; border-radius: 0; }
    body[data-site-page="home"] .ov-manager__shell { border-radius: 14px; }
    body[data-site-page="home"] .ov-manager__copy { padding: 30px 22px; }
    body[data-site-page="home"] .ov-manager-flow { grid-template-columns: 1fr 1fr; min-height: 0; padding: 22px; gap: 8px; }
    body[data-site-page="home"] .ov-manager-flow::before { display: none; }
    body[data-site-page="home"] .ov-manager-flow li { min-height: 104px; padding: 14px; }
    body[data-site-page="home"] .ow-close { padding-block: 52px; }
    body[data-site-page="home"] .ow-close h2 { font-size: clamp(2.55rem,12vw,3.35rem); }
}

@media (max-width: 359px) {
    body[data-site-page="home"] { --ov-shell: calc(100% - 28px); }
    body[data-site-page="home"] .ov-stage-service { font-size: .59rem; }
    body[data-site-page="home"] .ov-feature__copy,
    body[data-site-page="home"] .ov-manager__copy { padding-inline: 18px; }
}

@media (prefers-reduced-motion: reduce) {
    body[data-site-page="home"] .ov-stage-service,
    body[data-site-page="home"] .ov-link .icon,
    body[data-site-page="home"] .ov-service-links a .icon { transition: none; }
}

/* =====================================================================
   FINAL DIRECT FINISH R6 · final geometry + bug polish
   Hierarchy, motion, legal, Manager access, contact, footer, responsive.
   This keeps the consolidated finish layer and refines only verified geometry/interaction defects.
   ===================================================================== */

/* ---------------------------------------------------------------------
   Final public foundation · Manager discipline, Website expression.
   --------------------------------------------------------------------- */
body[data-site-page] {
    --ow-radius-sm: 9px;
    --ow-radius-md: 12px;
    --ow-radius-lg: 16px;
    --ow-radius-xl: 22px;
    --ow-section-y: clamp(56px,5vw,72px);
    --ow-section-y-compact: clamp(44px,4vw,56px);
    --ow-title: clamp(2rem,3vw,2.75rem);
    --ow-motion-fast: 150ms;
    --ow-motion-base: 220ms;
    --ow-motion-slow: 300ms;
    --ow-motion-ease: cubic-bezier(.22,1,.36,1);
    --motion-duration-fast: 150ms;
    --motion-duration-standard: 220ms;
    --motion-duration-slow: 300ms;
    --motion-ease-standard: cubic-bezier(.22,1,.36,1);
    --ow-surface-shadow: 0 14px 34px color-mix(in srgb,#000 4.5%,transparent);
    --ow-elevated-shadow: 0 24px 64px color-mix(in srgb,#000 7%,transparent);
}

body[data-site-page] :is(.landing-button,.landing-nav-cta,.landing-nav-login,.landing-theme-button,.landing-menu-button,.landing-text-link,.ov-link,.ov-stage-service,.ow-footer-whatsapp,.ow-footer-top,.landing-back-link):focus-visible {
    outline: 2px solid var(--public-accent);
    outline-offset: 2px;
}

body[data-site-page] :is(.landing-button,.landing-nav-cta,.landing-nav-login) {
    border-radius: var(--ow-radius-sm);
}

@media (min-width:901px) {
    body[data-site-page] .landing-navigation__primary { gap:6px; }
    body[data-site-page] .landing-navigation__primary a { padding-inline:11px; border-radius:7px; }
    body[data-site-page] .landing-navigation__actions { gap:12px; }
}

body[data-site-page] .ow-section-heading h2 {
    max-width: 14ch;
    font-size: clamp(2rem,3vw,2.75rem);
}

body[data-site-page] .ow-section-heading > p {
    font-size: .95rem;
    line-height: 1.66;
}

/* Internal page display scale: strong without poster-scale headings. */
body[data-site-page="services"] .ow-catalog-intro h1,
body[data-site-page="about"] .ow-about-opening__statement h1,
body[data-site-page="manager"] .ow-manager-opening__copy h1,
body[data-site-page="contact"] .ow-contact-opening__copy h1 {
    font-size: clamp(3rem,4.25vw,3.75rem);
    line-height: .96;
    letter-spacing: -.055em;
}

/* ---------------------------------------------------------------------
   Home · mature scale + refined Service Stage.
   --------------------------------------------------------------------- */
body[data-site-page="home"] {
    --ov-shell: min(calc(100% - 64px),1280px);
    --ov-display: clamp(3.5rem,5vw,4.5rem);
    --ov-section-y: clamp(56px,5vw,72px);
}
body[data-site-page="home"] .ov-hero { padding-top: clamp(44px,4.2vw,60px); }
body[data-site-page="home"] .ov-hero::before { opacity:.72; height:440px; }
body[data-site-page="home"] .ov-hero h1 {
    max-width: 13ch;
    line-height: .96;
    letter-spacing: -.058em;
}
body[data-site-page="home"] .ov-hero__copy > p {
    max-width: 58ch;
    font-size: 1.02rem;
    line-height: 1.62;
}
body[data-site-page="home"] .ov-section-head h2,
body[data-site-page="home"] .ov-process__intro h2,
body[data-site-page="home"] .ow-close h2 {
    font-size: clamp(2rem,3vw,2.75rem);
    line-height: 1.02;
    letter-spacing: -.052em;
}

body[data-site-page="home"] .ov-services { padding-top:clamp(22px,2.4vw,32px); }
body[data-site-page="home"] .ov-services .ov-section-head {
    grid-template-columns:minmax(0,.92fr) minmax(300px,.58fr);
    grid-template-areas:"kicker copy" "title copy";
    gap:10px clamp(36px,5vw,68px);
    align-items:center;
    margin-bottom:clamp(24px,2.5vw,34px);
}
body[data-site-page="home"] .ov-services .ov-section-head h2 {
    max-width:11.5ch;
    font-size:clamp(2.15rem,3vw,2.75rem);
    line-height:.98;
}
body[data-site-page="home"] .ov-services .ov-section-head > p {
    align-self:center;
    max-width:40ch;
    margin:0;
}

body[data-site-page="home"] .ov-hero-stage {
    padding: 12px;
    border: 1px solid color-mix(in srgb,var(--public-line-strong) 66%,transparent);
    border-radius: var(--ow-radius-xl);
    background: color-mix(in srgb,var(--public-surface) 82%,var(--public-canvas));
    box-shadow: var(--ow-surface-shadow), inset 0 1px 0 color-mix(in srgb,white 3%,transparent);
}
body[data-site-page="home"] .ov-stage-center {
    padding: clamp(22px,2.7vw,30px) clamp(22px,3vw,34px);
    border: 1px solid color-mix(in srgb,var(--public-line-strong) 52%,transparent);
    border-radius: var(--ow-radius-lg);
    background: color-mix(in srgb,var(--public-surface-soft) 62%,var(--public-canvas));
    box-shadow: none;
}
body[data-site-page="home"] .ov-stage-identity {
    align-self: stretch;
    padding-right: clamp(18px,2.4vw,30px);
    border-right: 1px solid color-mix(in srgb,var(--public-line-strong) 46%,transparent);
}
body[data-site-page="home"] .ov-stage-logo { width:30px; height:34px; flex-basis:30px; }
body[data-site-page="home"] .ov-stage-logo img { width:27px; height:31px; }
body[data-site-page="home"] .ov-stage-focus {
    transition: opacity var(--ow-motion-base) var(--ow-motion-ease), transform var(--ow-motion-base) var(--ow-motion-ease);
}
body[data-site-page="home"] .ov-stage-focus strong {
    font-size: clamp(1.55rem,1.8vw,1.9rem);
}
body[data-site-page="home"] .ov-stage-summary { font-size:.8rem; }
body[data-site-page="home"] .ov-stage-groups {
    gap: 10px;
    padding: 12px 0 0;
}
body[data-site-page="home"] .ov-stage-group {
    padding: 14px;
    border: 1px solid color-mix(in srgb,var(--public-line-strong) 44%,transparent);
    border-radius: var(--ow-radius-md);
    background: color-mix(in srgb,var(--public-surface-soft) 46%,transparent);
    box-shadow: none;
}
body[data-site-page="home"] .ov-stage-group + .ov-stage-group { padding-left:14px; }
body[data-site-page="home"] .ov-stage-service {
    min-height:44px;
    padding:8px 10px;
    border-radius:var(--ow-radius-sm);
    transition: color var(--ow-motion-fast) var(--ow-motion-ease), background-color var(--ow-motion-fast) var(--ow-motion-ease), box-shadow var(--ow-motion-fast) var(--ow-motion-ease);
}
body[data-site-page="home"] .ov-stage-service::before { display:none; }
body[data-site-page="home"] .ov-stage-service::after {
    content:"";
    position:absolute;
    left:8px;
    top:50%;
    width:2px;
    height:0;
    border-radius:2px;
    background:var(--public-accent);
    transform:translateY(-50%);
    transition:height var(--ow-motion-base) var(--ow-motion-ease);
}
body[data-site-page="home"] .ov-stage-service:hover {
    color:var(--public-ink);
    background:color-mix(in srgb,var(--public-surface) 72%,transparent);
    box-shadow:none;
}
body[data-site-page="home"] .ov-stage-service.is-active {
    color:var(--public-ink);
    background:color-mix(in srgb,var(--public-accent) 6%,var(--public-surface));
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--public-accent) 20%,transparent);
}
body[data-site-page="home"] .ov-stage-service.is-active::after { height:22px; }
body[data-site-page="home"] .ov-stage-service.is-active > span:first-child { padding-left:7px; }
body[data-site-page="home"] .ov-stage-principles {
    margin:12px 2px 0;
    padding:12px 14px 2px;
    border-top:0;
    color:color-mix(in srgb,var(--public-muted) 82%,transparent);
}

body[data-site-page="home"] .ov-principles__grid {
    grid-template-columns:minmax(240px,.52fr) minmax(0,1.48fr);
    gap:clamp(42px,6vw,82px);
    align-items:start;
}
body[data-site-page="home"] .ov-principles h2 {
    max-width:11.5ch;
    margin-top:14px;
    font-size:clamp(2.15rem,3.3vw,3.15rem);
    line-height:.98;
}
body[data-site-page="home"] .ov-principle-list {
    display:grid;
    gap:6px;
    padding:7px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 54%,transparent);
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-surface) 64%,var(--public-canvas));
    box-shadow:var(--ow-surface-shadow);
}
body[data-site-page="home"] .ov-principle-list article {
    position:relative;
    grid-template-columns:minmax(140px,.38fr) minmax(0,1fr);
    gap:clamp(20px,3vw,42px);
    align-items:center;
    padding:19px 20px 19px 22px;
    border:1px solid transparent;
    border-radius:var(--ow-radius-md);
    background:transparent;
    transition:border-color var(--ow-motion-fast) var(--ow-motion-ease),background-color var(--ow-motion-fast) var(--ow-motion-ease);
}
body[data-site-page="home"] .ov-principle-list article::before {
    content:"";
    position:absolute;
    left:7px;
    top:17px;
    bottom:17px;
    width:3px;
    height:auto;
    border-radius:3px;
    background:var(--public-accent);
    transform:scaleY(0);
    transform-origin:center;
    transition:transform var(--ow-motion-base) var(--ow-motion-ease);
}
body[data-site-page="home"] .ov-principle-list article:hover {
    border-color:color-mix(in srgb,var(--public-line-strong) 48%,transparent);
    background:color-mix(in srgb,var(--public-surface-soft) 56%,transparent);
}
body[data-site-page="home"] .ov-principle-list article:hover::before { width:3px; transform:scaleY(1); }
body[data-site-page="home"] .ov-principle-list h3 { font-size:clamp(1.12rem,1.45vw,1.35rem); }
body[data-site-page="home"] .ov-principle-list p { font-size:.86rem; line-height:1.64; }

/* ---------------------------------------------------------------------
   About · principles keep their identity but gain hierarchy and rhythm.
   --------------------------------------------------------------------- */
body[data-site-page="about"] .ow-principles {
    background:color-mix(in srgb,var(--ow-about-soft) 70%,var(--public-canvas));
}
body[data-site-page="about"] .ow-principles__experience {
    grid-template-columns:minmax(205px,.34fr) minmax(0,1fr);
    gap:clamp(28px,4vw,48px);
}
body[data-site-page="about"] .ow-principles__index {
    gap:6px;
    padding:7px;
    border:1px solid color-mix(in srgb,var(--ow-about-line) 68%,transparent);
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-surface) 58%,transparent);
    box-shadow:none;
}
body[data-site-page="about"] .ow-principles__index button,
body[data-site-page="about"] .ow-principles__index button:last-child {
    min-height:52px;
    padding:0 13px 0 14px;
    border:1px solid transparent;
    border-radius:var(--ow-radius-sm);
    background:transparent;
    transition:color var(--ow-motion-fast) var(--ow-motion-ease), background-color var(--ow-motion-fast) var(--ow-motion-ease), border-color var(--ow-motion-fast) var(--ow-motion-ease), box-shadow var(--ow-motion-fast) var(--ow-motion-ease);
}
body[data-site-page="about"] .ow-principles__index button::before { display:none; }
body[data-site-page="about"] .ow-principles__index button:hover {
    color:var(--public-ink);
    border-color:color-mix(in srgb,var(--ow-about-line) 58%,transparent);
    background:color-mix(in srgb,var(--public-surface-soft) 62%,transparent);
}
body[data-site-page="about"] .ow-principles__index button[aria-selected="true"] {
    color:var(--public-ink);
    border-color:color-mix(in srgb,var(--public-accent) 22%,var(--ow-about-line));
    background:color-mix(in srgb,var(--public-accent) 6%,var(--public-surface));
    box-shadow:inset 3px 0 0 var(--public-accent);
}
body[data-site-page="about"] .ow-principle {
    min-height:300px;
    padding:clamp(28px,3.2vw,40px);
    border:1px solid color-mix(in srgb,var(--ow-about-line) 64%,transparent);
    border-radius:var(--ow-radius-xl);
    background:color-mix(in srgb,var(--public-surface) 74%,var(--public-canvas));
    box-shadow:var(--ow-surface-shadow);
}
body[data-site-page="about"] .ow-principle h3 { font-size:clamp(2rem,2.8vw,2.7rem); }
body[data-site-page="about"] .ow-principle footer {
    align-self:end;
    padding:18px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 50%,transparent);
    border-radius:var(--ow-radius-md);
    background:color-mix(in srgb,var(--public-surface-soft) 60%,transparent);
}

/* Responsibility: remove decorative numbering emphasis without changing content. */
body[data-site-page="about"] .ow-responsibility__rail article {
    grid-template-columns:8px minmax(0,1fr);
    gap:20px;
    padding:28px 0;
}
body[data-site-page="about"] .ow-responsibility__rail article > span {
    overflow:hidden;
    width:8px;
    height:34px;
    color:transparent;
    font-size:0;
    border-radius:4px;
    background:color-mix(in srgb,var(--public-accent) 72%,var(--public-line-strong));
}

/* ---------------------------------------------------------------------
   Manager · product hierarchy and access card.
   --------------------------------------------------------------------- */
body[data-site-page="manager"] .ow-manager-opening { padding:clamp(56px,5.6vw,76px) 0 clamp(48px,5vw,64px); }
body[data-site-page="manager"] .ow-manager-opening__copy { gap:clamp(38px,5vw,68px); margin-bottom:clamp(36px,4vw,50px); }
body[data-site-page="manager"] .ow-manager-opening .ow-relationship {
    border-radius:var(--ow-radius-lg);
    box-shadow:var(--ow-surface-shadow),inset 0 1px 0 color-mix(in srgb,white 3%,transparent);
}
body[data-site-page="manager"] .ow-manager-records__layout {
    grid-template-columns:minmax(260px,.5fr) minmax(0,1.1fr);
    gap:clamp(44px,5vw,72px);
}
body[data-site-page="manager"] .ow-manager-records__layout > div:first-child h2 {
    font-size:clamp(2rem,3vw,2.75rem);
}
body[data-site-page="manager"] .ow-record-list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    border-top:0;
}
body[data-site-page="manager"] .ow-record-card {
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:14px;
    align-items:start;
    min-height:142px;
    padding:20px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 54%,transparent);
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-surface) 72%,var(--public-canvas));
    box-shadow:none;
    transition:border-color var(--ow-motion-fast) var(--ow-motion-ease),background-color var(--ow-motion-fast) var(--ow-motion-ease);
}
body[data-site-page="manager"] .ow-record-card:hover {
    border-color:color-mix(in srgb,var(--public-line-strong) 72%,transparent);
    background:color-mix(in srgb,var(--public-surface) 94%,var(--public-canvas));
}
body[data-site-page="manager"] .ow-record-card__icon {
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 56%,transparent);
    border-radius:var(--ow-radius-sm);
    background:color-mix(in srgb,var(--public-surface-soft) 72%,transparent);
    color:var(--public-accent-fg);
}
body[data-site-page="manager"] .ow-record-card__icon .icon { width:16px; height:16px; }
body[data-site-page="manager"] .ow-record-card h3 { margin:1px 0 8px; font-size:1rem; }
body[data-site-page="manager"] .ow-record-card p { margin:0; color:var(--public-muted); font-size:.82rem; line-height:1.62; }

body[data-site-page="manager"] .ow-manager-access {
    padding-block:var(--ow-section-y-compact);
    border-block:0;
    background:transparent;
}
body[data-site-page="manager"] .ow-manager-access__layout {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,.86fr) minmax(380px,1.14fr);
    gap:clamp(30px,4vw,54px);
    align-items:center;
    overflow:hidden;
    padding:clamp(26px,3.4vw,38px);
    border:1px solid color-mix(in srgb,var(--public-line-strong) 60%,transparent);
    border-radius:var(--ow-radius-xl);
    background:color-mix(in srgb,var(--public-surface) 78%,var(--public-canvas));
    box-shadow:var(--ow-surface-shadow),inset 0 1px 0 color-mix(in srgb,white 3%,transparent);
}
body[data-site-page="manager"] .ow-manager-access__layout::before {
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    background:var(--public-accent);
}
body[data-site-page="manager"] .ow-manager-access__identity {
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:16px;
    align-items:center;
}
body[data-site-page="manager"] .ow-manager-access__identity > span {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid color-mix(in srgb,var(--public-accent) 26%,var(--public-line-strong));
    border-radius:var(--ow-radius-md);
    background:color-mix(in srgb,var(--public-accent) 6%,var(--public-surface));
    color:var(--public-accent-fg);
    box-shadow:none;
}
body[data-site-page="manager"] .ow-manager-access__identity > span .icon { width:18px; height:18px; }
body[data-site-page="manager"] .ow-manager-access__identity small {
    display:block;
    margin-bottom:7px;
    color:var(--public-accent-fg);
    font-size:.64rem;
    font-weight:700;
    letter-spacing:.1em;
}
body[data-site-page="manager"] .ow-manager-access__identity h2 {
    max-width:13ch;
    margin:0;
    font-size:clamp(1.85rem,2.5vw,2.55rem);
    line-height:1;
    letter-spacing:-.048em;
}
body[data-site-page="manager"] .ow-manager-access__content {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px 24px;
    align-items:center;
    min-width:0;
    padding-left:clamp(22px,3vw,34px);
    border-left:1px solid color-mix(in srgb,var(--public-line-strong) 48%,transparent);
}
body[data-site-page="manager"] .ow-manager-access__content > p {
    grid-column:1/-1;
    max-width:52ch;
    margin:0;
    color:var(--public-muted);
    font-size:.9rem;
    line-height:1.66;
}
body[data-site-page="manager"] .ow-manager-access__actions {
    grid-column:1/-1;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px 18px;
}
body[data-site-page="manager"] .ow-manager-access__actions > span {
    color:color-mix(in srgb,var(--public-muted) 88%,transparent);
    font-size:.7rem;
    line-height:1.45;
}
body[data-site-page="manager"] .ow-manager-access__actions .landing-button {
    min-width:190px;
    min-height:44px;
    justify-content:center;
    white-space:nowrap;
    border-radius:var(--ow-radius-sm);
}
body[data-site-page="manager"] .ow-manager-access__actions .landing-button .icon { transition:transform var(--ow-motion-fast) var(--ow-motion-ease); }
body[data-site-page="manager"] .ow-manager-access__actions .landing-button:hover .icon { transform:translate(2px,-2px); }

/* ---------------------------------------------------------------------
   Contact · one coherent workspace, no sticky collision, deliberate blocks.
   --------------------------------------------------------------------- */
body[data-site-page="contact"] .ow-contact-opening { padding-top:clamp(52px,5vw,68px); }
body[data-site-page="contact"] .ow-contact-opening > .landing-container { border-bottom:0; }
body[data-site-page="contact"] .ow-contact-opening__copy { gap:clamp(38px,5vw,68px); padding:24px 0 34px; }
body[data-site-page="contact"] .ow-handoff {
    overflow:hidden;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    padding:0;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 54%,transparent);
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-surface) 58%,var(--public-canvas));
}
body[data-site-page="contact"] .ow-handoff::before { display:none; }
body[data-site-page="contact"] .ow-handoff li,
body[data-site-page="contact"] .ow-handoff li + li {
    min-height:96px;
    padding:20px 22px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
body[data-site-page="contact"] .ow-handoff li + li { border-left:1px solid color-mix(in srgb,var(--public-line-strong) 48%,transparent); }
body[data-site-page="contact"] .ow-handoff li::before,
body[data-site-page="contact"] .ow-handoff li + li::before {
    left:22px;
    top:20px;
    width:6px;
    height:6px;
    box-shadow:none;
}
body[data-site-page="contact"] .ow-handoff strong,
body[data-site-page="contact"] .ow-handoff small { padding-left:17px; }
body[data-site-page="contact"] .ow-handoff small { grid-column:1; font-size:.7rem; }
body[data-site-page="contact"] .ow-contact-section { padding-top:32px; }
body[data-site-page="contact"] .ow-contact-layout {
    grid-template-columns:minmax(0,1fr) 360px;
    gap:32px;
    align-items:stretch;
}
body[data-site-page="contact"] .ow-contact-form {
    gap:28px;
    padding:clamp(24px,2.7vw,34px);
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-surface) 76%,var(--public-canvas));
    box-shadow:var(--ow-surface-shadow),inset 0 1px 0 color-mix(in srgb,white 3%,transparent);
}
body[data-site-page="contact"] .ow-form-heading {
    padding:0 0 22px;
    border:0;
    border-bottom:1px solid color-mix(in srgb,var(--public-line-strong) 52%,transparent);
    border-radius:0;
    background:transparent;
}
body[data-site-page="contact"] .ow-form-heading h2 { font-size:clamp(1.9rem,2.6vw,2.45rem); }
body[data-site-page="contact"] .ow-contact-form .landing-field :is(input,select) { min-height:44px; border-radius:var(--ow-radius-sm); }
body[data-site-page="contact"] .ow-contact-form textarea { min-height:128px; border-radius:var(--ow-radius-sm); }
body[data-site-page="contact"] .landing-form-legal {
    padding:18px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 52%,transparent);
    border-radius:var(--ow-radius-md);
    background:color-mix(in srgb,var(--public-surface-soft) 46%,transparent);
}
body[data-site-page="contact"] .landing-form-legal__header > span {
    width:34px;
    height:34px;
    flex-basis:34px;
    border-radius:var(--ow-radius-sm);
}
body[data-site-page="contact"] .landing-form-legal__header > span .icon { width:16px; height:16px; }
body[data-site-page="contact"] .landing-form-consents { padding-top:14px; }
body[data-site-page="contact"] .ow-contact-context {
    position:static;
    display:flex;
    flex-direction:column;
    gap:10px;
    align-self:stretch;
    min-height:100%;
    padding:12px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 52%,transparent);
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-surface) 52%,var(--public-canvas));
    box-shadow:var(--ow-surface-shadow);
}
body[data-site-page="contact"] .ow-contact-context__live,
body[data-site-page="contact"] .ow-contact-next,
body[data-site-page="contact"] .ow-contact-direct {
    border:0;
    border-radius:var(--ow-radius-md);
    background:transparent;
    box-shadow:none;
}
body[data-site-page="contact"] .ow-contact-context__live {
    padding:20px;
    background:color-mix(in srgb,var(--public-surface-soft) 58%,transparent);
}
body[data-site-page="contact"] .ow-contact-context__live ul { display:grid; gap:7px; border-top:0; }
body[data-site-page="contact"] .ow-contact-context__live li {
    padding:9px 11px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 42%,transparent);
    border-radius:var(--ow-radius-sm);
    background:color-mix(in srgb,var(--public-canvas) 38%,transparent);
}
body[data-site-page="contact"] .ow-context-condition {
    padding:13px 14px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 46%,transparent);
    border-radius:var(--ow-radius-md);
    background:color-mix(in srgb,var(--public-canvas) 34%,transparent);
}
body[data-site-page="contact"] .ow-contact-next {
    flex:1 1 auto;
    margin-top:0;
    padding:18px 20px;
    border-top:1px solid color-mix(in srgb,var(--public-line-strong) 42%,transparent);
    border-radius:0;
}
body[data-site-page="contact"] .ow-contact-direct {
    margin-top:auto;
    padding:16px 18px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 46%,transparent);
    background:color-mix(in srgb,var(--public-surface-soft) 58%,transparent);
}
body[data-site-page="contact"] [data-prepare-message] { gap:9px; }
body[data-site-page="contact"] [data-prepare-message] .icon { flex:0 0 auto; }
body[data-site-page="contact"] [data-prepare-message] .icon:first-child { width:16px; height:16px; }
body[data-site-page="contact"] [data-prepare-message] .icon:last-child { width:16px; height:16px; margin-left:1px; }
body[data-site-page="contact"] .website-message-preview {
    padding:0 16px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 52%,transparent);
    border-radius:var(--ow-radius-md);
    background:color-mix(in srgb,var(--public-surface-soft) 42%,transparent);
}

/* ---------------------------------------------------------------------
   Legal · real document hierarchy for Privacy and Terms.
   --------------------------------------------------------------------- */
body[data-site-page] .ow-legal { padding-top:clamp(30px,3vw,42px); }
body[data-site-page] .ow-legal .landing-legal__container {
    display:grid;
    grid-template-columns:220px minmax(0,760px);
    justify-content:center;
    align-items:start;
    column-gap:clamp(28px,4vw,48px);
    row-gap:24px;
}
body[data-site-page] .ow-legal .landing-back-link {
    grid-column:1;
    grid-row:1;
    align-self:start;
    justify-self:start;
    width:max-content;
    min-height:40px;
    margin:0;
    padding:0 13px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 50%,transparent);
    border-radius:var(--ow-radius-sm);
    background:color-mix(in srgb,var(--public-surface-soft) 42%,transparent);
    text-decoration:none;
}
body[data-site-page] .ow-legal .landing-legal__header {
    grid-column:2;
    grid-row:1;
    padding:26px 28px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 56%,transparent);
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-surface) 72%,var(--public-canvas));
    box-shadow:var(--ow-surface-shadow);
}
body[data-site-page] .ow-legal .landing-legal__header h1 {
    max-width:14ch;
    margin:12px 0 16px;
    font-size:clamp(2.6rem,3.35vw,3rem);
    line-height:1;
    letter-spacing:-.05em;
}
body[data-site-page] .ow-legal__meta {
    display:flex;
    flex-wrap:wrap;
    gap:7px 16px;
    color:var(--public-muted);
    font-size:.72rem;
    line-height:1.45;
}
body[data-site-page] .ow-legal__meta span + span::before {
    content:"·";
    margin-right:16px;
    color:color-mix(in srgb,var(--public-muted) 52%,transparent);
}
body[data-site-page] .ow-legal .landing-legal__toc {
    grid-column:1;
    grid-row:2;
    position:sticky;
    top:calc(var(--public-header-height) + 22px);
    align-self:start;
    padding:12px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 52%,transparent);
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-surface) 66%,var(--public-canvas));
    box-shadow:none;
}
body[data-site-page] .ow-legal .landing-legal__toc strong {
    display:block;
    margin:3px 9px 9px;
    color:var(--public-muted);
    font-size:.68rem;
    letter-spacing:.08em;
    text-transform:uppercase;
}
body[data-site-page] .ow-legal .landing-legal__toc a {
    display:block;
    min-height:38px;
    padding:9px 10px;
    border-radius:var(--ow-radius-sm);
    color:var(--public-muted);
    font-size:.76rem;
    line-height:1.35;
    text-decoration:none;
    transition:color var(--ow-motion-fast) var(--ow-motion-ease),background-color var(--ow-motion-fast) var(--ow-motion-ease),box-shadow var(--ow-motion-fast) var(--ow-motion-ease);
}
body[data-site-page] .ow-legal .landing-legal__toc a:hover {
    color:var(--public-ink);
    background:color-mix(in srgb,var(--public-surface-soft) 68%,transparent);
}
body[data-site-page] .ow-legal .landing-legal__toc a[aria-current="location"] {
    color:var(--public-ink);
    background:color-mix(in srgb,var(--public-accent) 6%,var(--public-surface));
    box-shadow:inset 3px 0 0 var(--public-accent);
}
body[data-site-page] .ow-legal .landing-legal__content {
    grid-column:2;
    grid-row:2;
    display:grid;
    gap:16px;
    max-width:760px;
}
body[data-site-page] .ow-legal .landing-legal__content .ow-legal-section {
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    gap:18px;
    margin:0;
    padding:24px 26px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 50%,transparent);
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-surface) 62%,var(--public-canvas));
    box-shadow:none;
}
body[data-site-page] .ow-legal-section__index {
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding-top:3px;
    color:var(--public-accent-fg);
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.06em;
}
body[data-site-page] .ow-legal .landing-legal__content h2 {
    margin:0 0 12px;
    font-size:1.18rem;
    line-height:1.28;
    letter-spacing:-.025em;
}
body[data-site-page] .ow-legal .landing-legal__content p {
    margin:0 0 12px;
    font-size:.94rem;
    line-height:1.76;
}
body[data-site-page] .ow-legal .landing-legal__content p:last-child { margin-bottom:0; }

/* ---------------------------------------------------------------------
   Footer · one calm, structured close; rounded without card soup.
   --------------------------------------------------------------------- */
body[data-site-page] .landing-footer {
    padding:clamp(18px,2.5vw,30px) 0 clamp(22px,3vw,34px);
    border-top:0;
    background:var(--public-canvas);
}
body[data-site-page] .ow-footer-shell {
    overflow:hidden;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 60%,transparent);
    border-radius:var(--ow-radius-xl);
    background:color-mix(in srgb,var(--public-surface) 80%,var(--public-canvas));
    box-shadow:var(--ow-surface-shadow),inset 0 1px 0 color-mix(in srgb,white 3%,transparent);
}
body[data-site-page] .ow-footer-lead {
    display:grid;
    grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);
    gap:clamp(32px,4.5vw,64px);
    align-items:center;
    padding:clamp(30px,4vw,46px);
}
body[data-site-page] .ow-footer-brand {
    display:grid;
    align-content:start;
    gap:16px;
    min-width:0;
}
body[data-site-page] .ow-footer-brand .landing-brand { width:max-content; max-width:100%; }
body[data-site-page] .ow-footer-brand > p {
    max-width:38ch;
    margin:0;
    color:var(--public-footer-muted);
    font-size:.86rem;
    line-height:1.68;
}
body[data-site-page] .ow-footer-signals {
    display:flex;
    flex-wrap:wrap;
    gap:7px 14px;
    color:var(--public-footer-muted);
    font-size:.68rem;
}
body[data-site-page] .ow-footer-signals span { display:inline-flex; align-items:center; gap:7px; }
body[data-site-page] .ow-footer-signals i { width:5px; height:5px; border-radius:2px; background:var(--public-accent); }
body[data-site-page] .ow-footer-contact {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"eyebrow eyebrow" "title action" "copy action";
    gap:8px 24px;
    align-items:center;
    padding:26px 28px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 52%,transparent);
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-surface-soft) 52%,transparent);
    box-shadow:none;
}
body[data-site-page] .ow-footer-contact::after { display:none; }
body[data-site-page] .ow-footer-contact .landing-public-eyebrow { grid-area:eyebrow; color:var(--public-footer-muted); }
body[data-site-page] .ow-footer-contact h2 {
    grid-area:title;
    max-width:17ch;
    margin:0;
    color:var(--public-footer-fg);
    font-size:clamp(1.6rem,2.15vw,2.05rem);
    line-height:1.02;
    letter-spacing:-.04em;
}
body[data-site-page] .ow-footer-contact p {
    grid-area:copy;
    max-width:52ch;
    margin:2px 0 0;
    color:var(--public-footer-muted);
    font-size:.79rem;
    line-height:1.62;
}
body[data-site-page] .ow-footer-contact .landing-button {
    grid-area:action;
    align-self:end;
    min-width:168px;
    min-height:44px;
    justify-content:center;
    white-space:nowrap;
}
body[data-site-page] .ow-footer-directory {
    display:grid;
    grid-template-columns:minmax(0,.75fr) minmax(0,.75fr) minmax(300px,1.25fr);
    gap:0;
    margin:0 clamp(24px,4vw,46px);
    border:1px solid color-mix(in srgb,var(--public-line-strong) 48%,transparent);
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-canvas) 32%,transparent);
}
body[data-site-page] .ow-footer-nav,
body[data-site-page] .ow-footer-channel {
    min-width:0;
    padding:20px 22px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    transition:background-color var(--ow-motion-fast) var(--ow-motion-ease);
}
body[data-site-page] .ow-footer-nav + .ow-footer-nav,
body[data-site-page] .ow-footer-channel { border-left:1px solid color-mix(in srgb,var(--public-line-strong) 44%,transparent); }
body[data-site-page] .ow-footer-nav:hover,
body[data-site-page] .ow-footer-channel:hover {
    background:color-mix(in srgb,var(--public-surface-soft) 42%,transparent);
}
body[data-site-page] .ow-footer-nav { display:grid; align-content:start; gap:11px; }
body[data-site-page] .ow-footer-nav h2,
body[data-site-page] .ow-footer-channel h2 {
    margin:0;
    color:var(--public-footer-fg);
    font-family:var(--font-body);
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase;
}
body[data-site-page] .ow-footer-nav ul { list-style:none; display:grid; gap:3px; margin:0; padding:0; }
body[data-site-page] .ow-footer-nav a {
    display:inline-flex;
    align-items:center;
    gap:6px;
    width:max-content;
    max-width:100%;
    min-height:32px;
    color:var(--public-footer-muted);
    font-size:.79rem;
    text-decoration:none;
    transition:color var(--ow-motion-fast) var(--ow-motion-ease);
}
body[data-site-page] .ow-footer-nav a:hover { color:var(--public-footer-fg); }
body[data-site-page] .ow-footer-nav .icon { width:13px; height:13px; }
body[data-site-page] .ow-footer-channel {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px 22px;
    align-items:center;
}
body[data-site-page] .ow-footer-channel p {
    max-width:40ch;
    margin:7px 0 0;
    color:var(--public-footer-muted);
    font-size:.76rem;
    line-height:1.56;
}
body[data-site-page] .ow-footer-whatsapp {
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    padding:0 13px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 54%,transparent);
    border-radius:var(--ow-radius-sm);
    background:color-mix(in srgb,var(--public-surface-soft) 54%,transparent);
    color:var(--public-footer-fg);
    font-size:.75rem;
    font-weight:650;
    text-decoration:none;
    transition:border-color var(--ow-motion-fast) var(--ow-motion-ease),background-color var(--ow-motion-fast) var(--ow-motion-ease),color var(--ow-motion-fast) var(--ow-motion-ease);
}
body[data-site-page] .ow-footer-whatsapp:hover {
    border-color:color-mix(in srgb,var(--public-line-strong) 72%,transparent);
    background:color-mix(in srgb,var(--public-surface-soft) 62%,transparent);
}
body[data-site-page] .ow-footer-whatsapp .icon { width:15px; height:15px; }
body[data-site-page] .ow-footer-whatsapp .icon:last-child { transition:transform var(--ow-motion-fast) var(--ow-motion-ease); }
body[data-site-page] .ow-footer-whatsapp:hover .icon:last-child { transform:translate(2px,-2px); }
body[data-site-page] .ow-footer-bottom {
    display:grid;
    grid-template-columns:1fr auto 40px;
    align-items:center;
    gap:22px;
    min-height:68px;
    margin-top:22px;
    padding:0 clamp(28px,4vw,46px);
    border-top:1px solid color-mix(in srgb,var(--public-line-strong) 46%,transparent);
}
body[data-site-page] .ow-footer-bottom p,
body[data-site-page] .ow-footer-bottom a { color:var(--public-footer-muted); font-size:.7rem; }
body[data-site-page] .ow-footer-bottom nav { display:flex; gap:18px; }
body[data-site-page] .ow-footer-bottom a { text-decoration:none; transition:color var(--ow-motion-fast) var(--ow-motion-ease); }
body[data-site-page] .ow-footer-bottom a:hover { color:var(--public-footer-fg); }
body[data-site-page] .ow-footer-top {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 54%,transparent);
    border-radius:var(--ow-radius-sm);
    background:color-mix(in srgb,var(--public-surface-soft) 48%,transparent);
    transition:border-color var(--ow-motion-fast) var(--ow-motion-ease),background-color var(--ow-motion-fast) var(--ow-motion-ease),color var(--ow-motion-fast) var(--ow-motion-ease);
}
body[data-site-page] .ow-footer-top:hover { border-color:color-mix(in srgb,var(--public-line-strong) 72%,transparent); background:color-mix(in srgb,var(--public-surface-soft) 62%,transparent); color:var(--public-footer-fg); }
body[data-site-page] .ow-footer-top .icon { width:15px; height:15px; }

/* ---------------------------------------------------------------------
   Error / 404 · same system, no decorative route numbering.
   --------------------------------------------------------------------- */
body[data-site-page] .ow-error__signal {
    border-radius:var(--ow-radius-lg);
    background:color-mix(in srgb,var(--public-surface) 70%,var(--public-canvas));
    box-shadow:var(--ow-surface-shadow);
}
body[data-site-page] .ow-error__code { font-size:clamp(4.8rem,8vw,7rem); }
body[data-site-page] .ow-error__routes a {
    grid-template-columns:minmax(0,1fr) 20px;
    min-height:72px;
}
body[data-site-page] .ow-error__routes a > small { display:none; }

/* ---------------------------------------------------------------------
   Light / Dark optical corrections. Same identity, different contrast.
   --------------------------------------------------------------------- */
[data-public-theme="light"] body[data-site-page] :is(.ov-hero-stage,.ow-principle,.ow-manager-access__layout,.ow-contact-form,.landing-legal__header,.ow-footer-shell) {
    box-shadow:0 16px 38px rgba(17,24,39,.055),inset 0 1px 0 rgba(255,255,255,.8);
}
[data-public-theme="dark"] body[data-site-page] :is(.ov-hero-stage,.ow-principle,.ow-manager-access__layout,.ow-contact-form,.landing-legal__header,.ow-footer-shell) {
    box-shadow:0 20px 54px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025);
}
[data-public-theme="light"] body[data-site-page] .ow-footer-directory { background:color-mix(in srgb,var(--public-surface-soft) 46%,white); }
[data-public-theme="dark"] body[data-site-page] .ow-footer-directory { background:color-mix(in srgb,var(--public-canvas) 56%,var(--public-surface)); }

/* ---------------------------------------------------------------------
   Intermediate widths · collapse before columns become cramped.
   --------------------------------------------------------------------- */
@media (max-width:1120px) {
    body[data-site-page] { --ow-shell:min(calc(100% - 48px),1040px); }
    body[data-site-page="home"] { --ov-shell:min(calc(100% - 48px),1040px); }
    body[data-site-page] .ow-footer-lead { grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr); gap:28px; }
    body[data-site-page] .ow-footer-contact { grid-template-columns:1fr; grid-template-areas:"eyebrow" "title" "copy" "action"; }
    body[data-site-page] .ow-footer-contact .landing-button { justify-self:start; margin-top:6px; }
    body[data-site-page] .ow-footer-directory { grid-template-columns:.7fr .7fr 1.2fr; }
    body[data-site-page="manager"] .ow-manager-access__layout { grid-template-columns:minmax(0,.78fr) minmax(340px,1.22fr); }
}

@media (max-width:1020px) {
    body[data-site-page="contact"] .ow-contact-layout { grid-template-columns:1fr; gap:24px; align-items:start; }
    body[data-site-page="contact"] .ow-contact-context {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
        min-height:0;
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }
    body[data-site-page="contact"] .ow-contact-context__live { grid-column:1/-1; }
    body[data-site-page="contact"] .ow-contact-direct { margin-top:0; }
    body[data-site-page] .ow-legal .landing-legal__container { grid-template-columns:200px minmax(0,720px); column-gap:28px; row-gap:22px; }
}

@media (max-width:900px) {
    body[data-site-page] { --ow-shell:min(calc(100% - 40px),820px); }
    body[data-site-page="home"] { --ov-shell:min(calc(100% - 40px),820px); }
    body[data-site-page="manager"] .ow-manager-records__layout { grid-template-columns:1fr; }
    body[data-site-page="manager"] .ow-manager-records__layout > div:first-child { position:static; }
    body[data-site-page="manager"] .ow-manager-access__layout { grid-template-columns:1fr; gap:22px; }
    body[data-site-page="manager"] .ow-manager-access__content { padding:20px 0 0; border-left:0; border-top:1px solid color-mix(in srgb,var(--public-line-strong) 48%,transparent); }
    body[data-site-page] .ow-footer-lead { grid-template-columns:1fr; }
    body[data-site-page] .ow-footer-brand > p { max-width:44ch; }
    body[data-site-page] .ow-footer-directory { grid-template-columns:1fr 1fr; }
    body[data-site-page] .ow-footer-channel { grid-column:1/-1; border-left:0; border-top:1px solid color-mix(in srgb,var(--public-line-strong) 44%,transparent); }
}

/* ---------------------------------------------------------------------
   Mobile · 390 first-class, 320 safe.
   --------------------------------------------------------------------- */
@media (max-width:700px) {
    body[data-site-page] {
        --ow-shell:calc(100% - 32px);
        --ow-section-y:52px;
        --ow-section-y-compact:40px;
        --ow-title:clamp(1.9rem,8vw,2rem);
    }
    body[data-site-page="home"] {
        --ov-shell:calc(100% - 32px);
        --ov-display:2.625rem;
        --ov-section-y:52px;
    }
    body[data-site-page="services"] .ow-catalog-intro h1,
    body[data-site-page="about"] .ow-about-opening__statement h1,
    body[data-site-page="manager"] .ow-manager-opening__copy h1,
    body[data-site-page="contact"] .ow-contact-opening__copy h1 {
        font-size:clamp(2.35rem,10.2vw,2.5rem);
        line-height:.99;
    }
    body[data-site-page] .ow-section-heading h2,
    body[data-site-page="home"] .ov-section-head h2,
    body[data-site-page="home"] .ov-process__intro h2,
    body[data-site-page="home"] .ow-close h2 { font-size:clamp(1.9rem,8vw,2rem); }

    body[data-site-page="home"] .ov-hero { padding-top:34px; }
    body[data-site-page="home"] .ov-hero h1 { max-width:12ch; font-size:2.625rem; }
    body[data-site-page="home"] .ov-hero__copy > p { font-size:.96rem; }
    body[data-site-page="home"] .ov-hero-stage { padding:8px; border-radius:18px; }
    body[data-site-page="home"] .ov-stage-center { grid-template-columns:1fr; gap:16px; padding:18px; border-radius:14px; }
    body[data-site-page="home"] .ov-stage-identity { padding:0 0 13px; border-right:0; border-bottom:1px solid color-mix(in srgb,var(--public-line-strong) 44%,transparent); }
    body[data-site-page="home"] .ov-stage-focus { grid-template-columns:1fr; grid-template-areas:"meta" "title" "copy" "action"; gap:7px; }
    body[data-site-page="home"] .ov-stage-focus strong { font-size:1.6rem; }
    body[data-site-page="home"] .ov-stage-summary { font-size:.78rem; }
    body[data-site-page="home"] .ov-stage-groups { grid-template-columns:1fr; gap:7px; padding-top:8px; }
    body[data-site-page="home"] .ov-stage-group,
    body[data-site-page="home"] .ov-stage-group + .ov-stage-group { padding:12px; border:1px solid color-mix(in srgb,var(--public-line-strong) 42%,transparent); border-radius:12px; }
    body[data-site-page="home"] .ov-stage-group__links,
    body[data-site-page="home"] .ov-stage-group--2 .ov-stage-group__links { display:grid; grid-template-columns:1fr; gap:3px; }
    body[data-site-page="home"] .ov-stage-principles { display:none; }
    body[data-site-page="home"] .ov-services { padding-top:22px; }
    body[data-site-page="home"] .ov-services .ov-section-head { gap:10px; margin-bottom:24px; }
    body[data-site-page="home"] .ov-services .ov-section-head h2 { max-width:13ch; }
    body[data-site-page="home"] .ov-principles__grid { grid-template-columns:1fr; gap:24px; }
    body[data-site-page="home"] .ov-principles h2 { max-width:13ch; margin-top:10px; font-size:clamp(1.95rem,8vw,2.15rem); }
    body[data-site-page="home"] .ov-principle-list { gap:5px; padding:6px; border-radius:14px; }
    body[data-site-page="home"] .ov-principle-list article { grid-template-columns:1fr; gap:6px; padding:15px 14px 15px 18px; border-radius:10px; }
    body[data-site-page="home"] .ov-principle-list article::before { left:6px; top:14px; bottom:14px; }

    body[data-site-page="about"] .ow-principles__experience { display:grid; grid-template-columns:1fr; gap:12px; padding-top:0; }
    body[data-site-page="about"] .ow-principles__index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; overflow:visible; padding:6px; }
    body[data-site-page="about"] .ow-principles__index button { min-width:0; min-height:48px; padding:0 10px; border:1px solid transparent; border-radius:9px; }
    body[data-site-page="about"] .ow-principles__index button[aria-selected="true"] { box-shadow:inset 0 -2px 0 var(--public-accent); }
    body[data-site-page="about"] .ow-principle { min-height:0; padding:22px; border-radius:16px; }
    body[data-site-page="about"] .ow-principle h3 { font-size:1.95rem; }
    body[data-site-page="about"] .ow-principle footer { padding:15px; border-radius:11px; }

    body[data-site-page="manager"] .ow-record-list { grid-template-columns:1fr; gap:8px; }
    body[data-site-page="manager"] .ow-record-card { min-height:0; padding:17px; border-radius:14px; }
    body[data-site-page="manager"] .ow-manager-access { padding-block:34px 42px; }
    body[data-site-page="manager"] .ow-manager-access__layout { gap:18px; padding:20px; border-radius:18px; }
    body[data-site-page="manager"] .ow-manager-access__identity { grid-template-columns:40px minmax(0,1fr); gap:13px; }
    body[data-site-page="manager"] .ow-manager-access__identity > span { width:40px; height:40px; border-radius:11px; }
    body[data-site-page="manager"] .ow-manager-access__identity h2 { font-size:1.9rem; }
    body[data-site-page="manager"] .ow-manager-access__content { gap:16px; padding-top:18px; }
    body[data-site-page="manager"] .ow-manager-access__actions { display:grid; grid-template-columns:1fr; }
    body[data-site-page="manager"] .ow-manager-access__actions .landing-button { width:100%; min-width:0; }

    body[data-site-page="contact"] .ow-handoff { grid-template-columns:1fr; border-radius:14px; }
    body[data-site-page="contact"] .ow-handoff li,
    body[data-site-page="contact"] .ow-handoff li + li { min-height:0; padding:16px 17px; border-left:0; border-top:1px solid color-mix(in srgb,var(--public-line-strong) 46%,transparent); }
    body[data-site-page="contact"] .ow-handoff li:first-child { border-top:0; }
    body[data-site-page="contact"] .ow-handoff li::before,
    body[data-site-page="contact"] .ow-handoff li + li::before { left:17px; top:17px; }
    body[data-site-page="contact"] .ow-form-heading { grid-template-columns:1fr; gap:9px; }
    body[data-site-page="contact"] .ow-contact-form { padding:20px 18px; border-radius:16px; }
    body[data-site-page="contact"] .ow-contact-form .landing-field :is(input,select) { min-height:48px; }
    body[data-site-page="contact"] .ow-contact-form textarea { min-height:136px; }
    body[data-site-page="contact"] .landing-form-legal { padding:16px; }
    body[data-site-page="contact"] .ow-contact-context {
        display:block;
        min-height:0;
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }
    body[data-site-page="contact"] .ow-contact-context__live { display:none; }
    body[data-site-page="contact"] .ow-context-mobile .ow-contact-context__live { display:block; margin:0; padding:0 0 16px; border:0; background:transparent; }
    body[data-site-page="contact"] .ow-contact-next,
    body[data-site-page="contact"] .ow-contact-direct { margin-top:0; padding:17px; border-radius:13px; }

    body[data-site-page] .ow-legal { padding-top:26px; }
    body[data-site-page] .ow-legal .landing-legal__container { display:block; }
    body[data-site-page] .ow-legal .landing-back-link { display:inline-flex; margin-bottom:16px; }
    body[data-site-page] .ow-legal .landing-legal__header { padding:22px 20px; border-radius:16px; }
    body[data-site-page] .ow-legal .landing-legal__header h1 { font-size:2.35rem; }
    body[data-site-page] .ow-legal__meta { gap:5px 12px; font-size:.68rem; }
    body[data-site-page] .ow-legal__meta span + span::before { margin-right:12px; }
    body[data-site-page] .ow-legal .landing-legal__toc {
        position:static;
        display:flex;
        gap:5px;
        overflow-x:auto;
        margin:16px 0 22px;
        padding:6px;
        border-radius:13px;
        scrollbar-width:none;
        scroll-snap-type:x proximity;
    }
    body[data-site-page] .ow-legal .landing-legal__toc::-webkit-scrollbar { display:none; }
    body[data-site-page] .ow-legal .landing-legal__toc strong { flex:0 0 auto; display:flex; align-items:center; margin:0 4px 0 2px; }
    body[data-site-page] .ow-legal .landing-legal__toc a { flex:0 0 auto; min-height:38px; white-space:nowrap; scroll-snap-align:start; }
    body[data-site-page] .ow-legal .landing-legal__content { gap:10px; }
    body[data-site-page] .ow-legal .landing-legal__content .ow-legal-section { grid-template-columns:30px minmax(0,1fr); gap:12px; padding:19px 17px; border-radius:14px; }
    body[data-site-page] .ow-legal-section__index { font-size:.64rem; }
    body[data-site-page] .ow-legal .landing-legal__content h2 { font-size:1.08rem; }
    body[data-site-page] .ow-legal .landing-legal__content p { font-size:.91rem; line-height:1.7; }

    body[data-site-page] .landing-footer { padding-top:8px; }
    body[data-site-page] .ow-footer-shell { border-radius:18px; }
    body[data-site-page] .ow-footer-lead { gap:20px; padding:24px 18px 18px; }
    body[data-site-page] .ow-footer-brand { gap:14px; }
    body[data-site-page] .ow-footer-brand > p { max-width:38ch; }
    body[data-site-page] .ow-footer-contact { grid-template-columns:1fr; grid-template-areas:"eyebrow" "title" "copy" "action"; padding:20px 18px; border-radius:14px; }
    body[data-site-page] .ow-footer-contact h2 { max-width:17ch; font-size:1.7rem; }
    body[data-site-page] .ow-footer-contact .landing-button { width:100%; justify-self:stretch; margin-top:5px; }
    body[data-site-page] .ow-footer-directory { grid-template-columns:1fr 1fr; margin:0 18px; border-radius:14px; }
    body[data-site-page] .ow-footer-nav,
    body[data-site-page] .ow-footer-channel { padding:15px; }
    body[data-site-page] .ow-footer-channel { grid-column:1/-1; grid-template-columns:1fr; gap:11px; border-left:0; border-top:1px solid color-mix(in srgb,var(--public-line-strong) 44%,transparent); }
    body[data-site-page] .ow-footer-whatsapp { justify-content:center; width:100%; }
    body[data-site-page] .ow-footer-bottom { grid-template-columns:1fr auto; min-height:0; margin-top:18px; padding:17px 18px 18px; gap:12px; }
    body[data-site-page] .ow-footer-bottom nav { grid-column:1; grid-row:2; gap:15px; }
    body[data-site-page] .ow-footer-top { grid-column:2; grid-row:1/3; align-self:center; }

    body[data-site-page] .ow-error__layout { grid-template-columns:1fr; gap:26px; }
    body[data-site-page] .ow-error__signal { padding:20px; }
    body[data-site-page] .ow-error__code { font-size:4.6rem; }
}

@media (max-width:359px) {
    body[data-site-page] { --ow-shell:calc(100% - 28px); }
    body[data-site-page="home"] { --ov-shell:calc(100% - 28px); }
    body[data-site-page] .ow-footer-directory { grid-template-columns:1fr; }
    body[data-site-page] .ow-footer-nav + .ow-footer-nav { border-left:0; border-top:1px solid color-mix(in srgb,var(--public-line-strong) 44%,transparent); }
    body[data-site-page] .ow-legal .landing-legal__content .ow-legal-section { grid-template-columns:1fr; }
    body[data-site-page] .ow-legal-section__index { justify-content:flex-start; padding-top:0; }
}


/* =====================================================================
   FINAL DIRECT FINISH R7 · breathing-room + motion micro-polish
   Removes the remaining dead zones / touching surfaces without changing
   information architecture or product behavior.
   ===================================================================== */

/* Header: separate interactive targets so hover/active surfaces never rub. */
@media (min-width:901px) {
    body[data-site-page] .landing-navigation__primary { gap:9px; }
    body[data-site-page] .landing-navigation__primary a { padding-inline:12px; }
    body[data-site-page] .landing-navigation__actions { gap:14px; }
}

/* Home: the principles surface needs its own breathing room before/after it. */
body[data-site-page="home"] .ov-principles {
    padding-block:clamp(50px,4.5vw,66px);
}
body[data-site-page="home"] .ov-principles__grid {
    gap:clamp(46px,6vw,84px);
}
body[data-site-page="home"] .ov-principle-list {
    margin-block:2px;
}
body[data-site-page="home"] .ov-principle-list article {
    transform:translateX(0);
    transition:border-color var(--ow-motion-fast) var(--ow-motion-ease),background-color var(--ow-motion-fast) var(--ow-motion-ease),transform var(--ow-motion-base) var(--ow-motion-ease);
}
body[data-site-page="home"] .ov-principle-list article:hover {
    transform:translateX(2px);
}
body[data-site-page="home"] .ov-manager {
    padding-top:clamp(52px,4.7vw,68px);
}

/* Contact: let the secondary rail size to content; no artificial empty column. */
body[data-site-page="contact"] .ow-contact-section {
    padding-bottom:clamp(54px,4.8vw,72px);
}
body[data-site-page="contact"] .ow-contact-layout {
    align-items:start;
}
body[data-site-page="contact"] .ow-contact-context {
    align-self:start;
    min-height:0;
    height:auto;
    gap:10px;
    padding:10px;
}
body[data-site-page="contact"] .ow-contact-context__live {
    padding:18px;
}
body[data-site-page="contact"] .ow-contact-next {
    flex:0 0 auto;
    margin-top:0;
    padding:17px 18px;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 44%,transparent);
    border-radius:var(--ow-radius-md);
    background:color-mix(in srgb,var(--public-surface-soft) 40%,transparent);
}
body[data-site-page="contact"] .ow-contact-direct {
    margin-top:0;
}
body[data-site-page="contact"] :is(.ow-contact-next,.ow-contact-direct) {
    transition:border-color var(--ow-motion-fast) var(--ow-motion-ease),background-color var(--ow-motion-fast) var(--ow-motion-ease),transform var(--ow-motion-base) var(--ow-motion-ease);
}
body[data-site-page="contact"] :is(.ow-contact-next,.ow-contact-direct):hover {
    border-color:color-mix(in srgb,var(--public-line-strong) 68%,transparent);
    background:color-mix(in srgb,var(--public-surface-soft) 56%,transparent);
    transform:none;
}
body[data-site-page="contact"] .ow-contact-direct > span .brand-icon {
    display:inline-flex;
    width:16px;
    height:16px;
    align-items:center;
    justify-content:center;
    font-size:16px;
    line-height:1;
    vertical-align:middle;
}

/* Legal: fill the left rail beneath “Volver” instead of reserving a blank row. */
@media (min-width:701px) {
    body[data-site-page] .ow-legal {
        padding-top:clamp(26px,2.6vw,36px);
        padding-bottom:clamp(54px,5vw,72px);
    }
    body[data-site-page] .ow-legal .landing-legal__container {
        row-gap:20px;
    }
    body[data-site-page] .ow-legal .landing-back-link {
        z-index:2;
    }
    body[data-site-page] .ow-legal .landing-legal__toc {
        grid-column:1;
        grid-row:1 / span 2;
        margin-top:58px;
        max-height:calc(100dvh - var(--public-header-height) - 42px);
        overflow:auto;
        overscroll-behavior:contain;
    }
    body[data-site-page] .ow-legal .landing-legal__header {
        grid-column:2;
        grid-row:1;
    }
    body[data-site-page] .ow-legal .landing-legal__content {
        grid-column:2;
        grid-row:2;
        gap:18px;
    }
}
body[data-site-page] .ow-legal .landing-legal__content .ow-legal-section {
    scroll-margin-top:calc(var(--public-header-height) + 24px);
    transition:border-color var(--ow-motion-fast) var(--ow-motion-ease),background-color var(--ow-motion-base) var(--ow-motion-ease);
}
body[data-site-page] .ow-legal .landing-legal__content .ow-legal-section:target {
    border-color:color-mix(in srgb,var(--public-accent) 24%,var(--public-line-strong));
    background:color-mix(in srgb,var(--public-accent) 2.5%,var(--public-surface));
}

/* Footer WhatsApp glyph: optical alignment, no cramped/boxed-looking icon. */
body[data-site-page] .ow-footer-whatsapp {
    gap:10px;
}
body[data-site-page] .ow-footer-whatsapp > .brand-icon {
    display:inline-flex;
    width:16px;
    height:16px;
    flex:0 0 16px;
    align-items:center;
    justify-content:center;
    margin-right:1px;
    font-size:16px;
    line-height:1;
    vertical-align:middle;
}
body[data-site-page] .ow-footer-whatsapp > .brand-icon::before {
    line-height:1;
}

/* Additional quiet motion: surfaces respond, but never jump. */
body[data-site-page] :is(.landing-legal__toc,.ow-principle-list,.ow-footer-directory,.ow-contact-context) {
    transition:border-color var(--ow-motion-base) var(--ow-motion-ease),background-color var(--ow-motion-base) var(--ow-motion-ease),box-shadow var(--ow-motion-base) var(--ow-motion-ease);
}

@media (max-width:1020px) {
    body[data-site-page="contact"] .ow-contact-layout { align-items:start; }
    body[data-site-page="contact"] .ow-contact-context { align-self:start; }
}

@media (max-width:700px) {
    body[data-site-page="home"] .ov-principles { padding-block:42px; }
    body[data-site-page="home"] .ov-manager { padding-top:44px; }
    body[data-site-page="home"] .ov-principle-list article:hover { transform:none; }
    body[data-site-page="contact"] .ow-contact-section { padding-bottom:46px; }
    body[data-site-page="contact"] :is(.ow-contact-next,.ow-contact-direct):hover { transform:none; }
    body[data-site-page] .ow-legal { padding-bottom:46px; }
}

@media (prefers-reduced-motion: reduce) {
    body[data-site-page] :is(.ov-stage-service,.ow-principles__index button,.ow-record-card,.ow-manager-access__actions .landing-button,.ow-legal .landing-legal__toc a,.ow-footer-nav,.ow-footer-channel,.ow-footer-nav a,.ow-footer-whatsapp,.ow-footer-top) {
        transition:none;
        transform:none;
    }
}

/* =====================================================================
   FINAL DIRECT FINISH R8 · MOBILE NATIVE POLISH
   Desktop (>=701px) is frozen. This layer only owns 320–700px behavior.
   ===================================================================== */
@media (max-width:700px) {
    body[data-site-page] {
        --ow-shell:calc(100% - 32px);
        --ow-section-y:48px;
        --ow-section-y-compact:38px;
        --ow-grid-gap:24px;
        --ow-display:clamp(2.55rem,12vw,3rem);
        --ow-display-compact:clamp(2.2rem,10.5vw,2.72rem);
        --ow-title:clamp(1.8rem,8vw,2rem);
    }

    /* Native mobile header + menu sheet. */
    body[data-site-page] { --public-header-height:64px; }
    body[data-site-page] .landing-header__inner { min-height:64px; }
    body[data-site-page] .landing-brand { gap:9px; }
    body[data-site-page] .landing-brand__logo,
    body[data-site-page] .landing-brand__logo img { width:auto; height:30px; }
    body[data-site-page] .landing-brand__logo { flex-basis:27px; }
    body[data-site-page] .landing-brand__text strong { font-size:.94rem; }
    body[data-site-page] .landing-header__actions { gap:7px; }
    body[data-site-page] .landing-theme-button,
    body[data-site-page] .landing-menu-button {
        width:42px; height:42px; min-width:42px; border-radius:11px;
        transition:background-color var(--ow-motion-fast) var(--ow-motion-ease),border-color var(--ow-motion-fast) var(--ow-motion-ease),transform var(--ow-motion-fast) var(--ow-motion-ease);
    }
    body[data-site-page] .landing-theme-button:active,
    body[data-site-page] .landing-menu-button:active { transform:scale(.97); }
    body[data-site-page] .landing-navigation {
        top:calc(var(--public-header-height) + 8px);
        right:12px; left:12px; width:auto;
        max-height:calc(100dvh - var(--public-header-height) - 20px);
        border-radius:18px;
        box-shadow:0 22px 58px color-mix(in srgb,#000 22%,transparent);
        transform-origin:top center;
    }
    body[data-site-page] .landing-navigation.is-enhanced {
        display:grid;
        visibility:hidden;
        opacity:0;
        pointer-events:none;
        transform:translateY(-8px) scale(.985);
        transition:opacity var(--ow-motion-base) var(--ow-motion-ease),transform var(--ow-motion-base) var(--ow-motion-ease),visibility 0s linear var(--ow-motion-base);
    }
    body[data-site-page] .landing-navigation.is-enhanced.is-open {
        visibility:visible;
        opacity:1;
        pointer-events:auto;
        transform:translateY(0) scale(1);
        transition-delay:0s;
    }
    body[data-site-page] .landing-navigation__primary,
    body[data-site-page] .landing-navigation__actions { padding:9px; gap:4px; }
    body[data-site-page] .landing-navigation__primary > a {
        min-height:48px; padding-inline:14px; border-radius:11px; font-size:.9rem;
    }
    body[data-site-page] .landing-navigation__primary > a.is-active {
        background:color-mix(in srgb,var(--public-accent) 7%,var(--public-surface));
        box-shadow:inset 3px 0 0 var(--public-accent);
    }
    body[data-site-page] .landing-navigation__actions {
        grid-template-columns:1fr;
        padding-top:10px;
        background:color-mix(in srgb,var(--public-surface-soft) 62%,transparent);
    }
    body[data-site-page] .landing-nav-cta,
    body[data-site-page] .landing-nav-login {
        width:100%; min-height:48px; justify-content:center; border-radius:11px; font-size:.88rem;
    }

    /* Global mobile rhythm + type. */
    body[data-site-page] main h1 { margin:18px 0 18px; line-height:.98; letter-spacing:-.048em; }
    body[data-site-page] :is(.ow-section,.ow-close) h2 { margin:14px 0 18px; line-height:1.04; letter-spacing:-.043em; }
    body[data-site-page] main h3 { line-height:1.25; }
    body[data-site-page] .ow-section-heading { display:block; margin-bottom:28px; }
    body[data-site-page] .ow-section-heading h2 { max-width:12ch; }
    body[data-site-page] .ow-section-heading > p { margin-top:14px; max-width:38ch; font-size:.95rem; line-height:1.65; }
    body[data-site-page] .ow-micro { font-size:.66rem; letter-spacing:.11em; }
    body[data-site-page] main .landing-actions { display:grid; grid-template-columns:1fr; gap:10px; }
    body[data-site-page] main .landing-actions .landing-button { width:100%; min-height:48px; justify-content:center; }
    body[data-site-page] .landing-button { min-height:48px; padding-inline:16px; }
    body[data-site-page] .landing-text-link { min-height:44px; }

    /* Home: preserve the desktop art direction, make each module mobile-native. */
    body[data-site-page="home"] { --ov-shell:calc(100% - 32px); --ov-section-y:52px; }
    body[data-site-page="home"] .ov-hero { padding-top:28px; }
    body[data-site-page="home"] .ov-hero::before { width:150vw; height:390px; opacity:.72; }
    body[data-site-page="home"] .ov-hero__copy { padding-bottom:22px; }
    body[data-site-page="home"] .ov-hero h1 { margin:14px 0 16px; max-width:9.8ch; font-size:clamp(2.65rem,12vw,3.05rem); }
    body[data-site-page="home"] .ov-hero__copy > p { max-width:34ch; margin-bottom:20px; font-size:.96rem; line-height:1.62; }
    body[data-site-page="home"] .ov-actions { display:grid; grid-template-columns:1fr; width:100%; gap:9px; }
    body[data-site-page="home"] .ov-actions .landing-button,
    body[data-site-page="home"] .ov-actions .landing-nav-cta { width:100%; min-height:48px; justify-content:center; border-radius:10px; }
    body[data-site-page="home"] .ov-hero-stage { margin-top:4px; border-radius:16px; }
    body[data-site-page="home"] .ov-stage-center { gap:16px; padding:20px 17px 18px; }
    body[data-site-page="home"] .ov-stage-identity { gap:9px; font-size:.8rem; }
    body[data-site-page="home"] .ov-stage-focus { gap:6px; }
    body[data-site-page="home"] .ov-stage-focus strong { font-size:1.42rem; }
    body[data-site-page="home"] .ov-stage-summary { font-size:.78rem; line-height:1.58; }
    body[data-site-page="home"] .ov-stage-action { min-height:44px; font-size:.72rem; }
    body[data-site-page="home"] .ov-stage-groups { padding-inline:17px; }
    body[data-site-page="home"] .ov-stage-group,
    body[data-site-page="home"] .ov-stage-group + .ov-stage-group { padding:15px 0; }
    body[data-site-page="home"] .ov-stage-group__label,
    body[data-site-page="home"] .ov-stage-group--2 .ov-stage-group__label { margin-bottom:7px; font-size:.56rem; }
    body[data-site-page="home"] .ov-stage-service { min-height:48px; padding:10px 9px 10px 12px; border-radius:10px; font-size:.76rem; }
    body[data-site-page="home"] .ov-stage-service:active { background:color-mix(in srgb,var(--public-accent) 8%,var(--public-surface)); }
    body[data-site-page="home"] .ov-stage-principles { margin-inline:17px; padding:13px 0 15px; gap:7px 13px; }
    body[data-site-page="home"] .ov-stage-principles span { font-size:.61rem; }
    body[data-site-page="home"] .ov-section { padding-block:52px; }
    body[data-site-page="home"] .ov-section-head,
    body[data-site-page="home"] .ov-services .ov-section-head { gap:11px; margin-bottom:26px; }
    body[data-site-page="home"] .ov-section-head h2 { max-width:10.5ch; font-size:clamp(2.15rem,10vw,2.72rem); line-height:.96; }
    body[data-site-page="home"] .ov-section-head > p { max-width:36ch; font-size:.93rem; line-height:1.62; }
    body[data-site-page="home"] .ov-feature-stack { gap:16px; }
    body[data-site-page="home"] .ov-feature { border-radius:16px; overflow:hidden; }
    body[data-site-page="home"] .ov-feature__copy { padding:24px 18px 22px; }
    body[data-site-page="home"] .ov-feature__copy h3 { font-size:clamp(1.85rem,8.7vw,2.3rem); }
    body[data-site-page="home"] .ov-feature__copy p { font-size:.92rem; line-height:1.62; }
    body[data-site-page="home"] .ov-feature__visual { min-height:240px; }
    body[data-site-page="home"] .ov-process__layout { gap:22px; }
    body[data-site-page="home"] .ov-process__intro h2 { font-size:clamp(2.15rem,10vw,2.7rem); }
    body[data-site-page="home"] .ov-process-rail article,
    body[data-site-page="home"] .ov-process-rail article + article { padding:15px 0 15px 19px; }
    body[data-site-page="home"] .ov-process-rail h3 { font-size:1.28rem; }
    body[data-site-page="home"] .ov-process-rail p { font-size:.9rem; line-height:1.58; }
    body[data-site-page="home"] .ov-principles { padding-block:48px; }
    body[data-site-page="home"] .ov-principles__grid { gap:26px; }
    body[data-site-page="home"] .ov-principle-list { border-radius:15px; overflow:hidden; }
    body[data-site-page="home"] .ov-principle-list article { padding:18px 16px; border-radius:0; gap:7px; }
    body[data-site-page="home"] .ov-principle-list article + article { border-top:1px solid color-mix(in srgb,var(--public-line-strong) 48%,transparent); }
    body[data-site-page="home"] .ov-principle-list h3 { font-size:1.08rem; }
    body[data-site-page="home"] .ov-principle-list p { font-size:.88rem; line-height:1.58; }
    body[data-site-page="home"] .ov-manager { padding-top:48px; }
    body[data-site-page="home"] .ov-manager__shell { border-radius:16px; }
    body[data-site-page="home"] .ov-manager__copy { padding:24px 18px; }
    body[data-site-page="home"] .ov-manager-flow { grid-template-columns:1fr; padding:16px; gap:8px; }
    body[data-site-page="home"] .ov-manager-flow li { min-height:78px; padding:14px; border-radius:11px; }
    body[data-site-page="home"] .ow-close { padding-block:46px; }
    body[data-site-page="home"] .ow-close h2 { font-size:clamp(2.15rem,10vw,2.8rem); }

    /* Services: mobile selector first, then one clean reading surface. */
    body[data-site-page="services"] .ow-catalog-intro { padding-top:32px; padding-bottom:22px; }
    body[data-site-page="services"] .ow-catalog-intro__layout { gap:16px; }
    body[data-site-page="services"] .ow-catalog-intro h1 { font-size:clamp(2.45rem,11vw,3rem); }
    body[data-site-page="services"] .ow-catalog-intro__support { font-size:.94rem; line-height:1.62; }
    body[data-site-page="services"] .ow-catalog-section { padding-top:12px; }
    body[data-site-page="services"] .ow-catalog__navigation { margin-bottom:18px; }
    body[data-site-page="services"] .ow-catalog__mobile { border-radius:14px; }
    body[data-site-page="services"] .ow-service-story { border-radius:16px; overflow:hidden; }
    body[data-site-page="services"] .ow-service-story__opening,
    body[data-site-page="services"] .ow-service-story__body { padding-inline:18px; }
    body[data-site-page="services"] .ow-service-story__opening { padding-top:22px; padding-bottom:18px; }
    body[data-site-page="services"] .ow-service-story__body { padding-bottom:22px; }
    body[data-site-page="services"] .ow-service-story__identity h2 { font-size:clamp(1.8rem,8.8vw,2.25rem); }
    body[data-site-page="services"] .ow-service-story__lead { font-size:.94rem; line-height:1.62; }
    body[data-site-page="services"] .ow-scope-list { gap:0; border-radius:13px; overflow:hidden; }
    body[data-site-page="services"] .ow-scope-list li { min-height:48px; padding:12px 14px; }
    body[data-site-page="services"] .ow-commercial { border-radius:14px; overflow:hidden; }
    body[data-site-page="services"] .ow-commercial dl > div { padding:15px 16px; }
    body[data-site-page="services"] .ow-service-next { padding-top:18px; }

    /* About: editorial, compact, touch-friendly. */
    body[data-site-page="about"] .ow-about-opening { padding-top:34px; }
    body[data-site-page="about"] .ow-about-opening h1 { font-size:clamp(2.45rem,11vw,3rem); }
    body[data-site-page="about"] .ow-about-opening__statement { font-size:1rem; line-height:1.62; }
    body[data-site-page="about"] .ow-about-signal { grid-template-columns:1fr; gap:0; border-radius:14px; overflow:hidden; }
    body[data-site-page="about"] .ow-about-signal li:nth-child(n) { padding:15px 16px; border-left:0; }
    body[data-site-page="about"] .ow-about-signal li + li { border-top:1px solid color-mix(in srgb,var(--public-line-strong) 46%,transparent); }
    body[data-site-page="about"] .ow-principles__experience { padding-top:8px; }
    body[data-site-page="about"] .ow-principles__index {
        margin:10px -16px 16px; padding:0 16px 5px; gap:8px;
        scroll-padding-inline:16px;
    }
    body[data-site-page="about"] .ow-principles__index button {
        flex:0 0 auto; min-height:44px; padding:0 12px; border:1px solid var(--public-line-strong); border-radius:999px; background:var(--public-surface); white-space:nowrap;
    }
    body[data-site-page="about"] .ow-principles__index button[aria-selected="true"] {
        padding-inline:12px; border-color:color-mix(in srgb,var(--public-accent) 42%,var(--public-line-strong));
        border-bottom-color:color-mix(in srgb,var(--public-accent) 42%,var(--public-line-strong));
        background:color-mix(in srgb,var(--public-accent) 7%,var(--public-surface));
    }
    body[data-site-page="about"] .ow-principles__index button span { font-size:.76rem; }
    body[data-site-page="about"] .ow-principle { padding:20px 18px; border-radius:15px; }
    body[data-site-page="about"] .ow-responsibility__layout { gap:22px; }
    body[data-site-page="about"] .ow-responsibility__rail { padding:18px; border-radius:15px; }

    /* Manager: no cramped two-column relationship matrix on phones. */
    body[data-site-page="manager"] .ow-manager-opening { padding-top:34px; }
    body[data-site-page="manager"] .ow-manager-opening__copy h1 { font-size:clamp(2.45rem,11vw,3rem); }
    body[data-site-page="manager"] .ow-manager-opening__copy p { font-size:.94rem; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relationship { border-radius:15px; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relationship__core { padding:18px 16px; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relationship__nodes { grid-template-columns:1fr; }
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node,
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node:nth-child(even),
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node:nth-child(n+3) {
        min-height:68px; padding:12px 14px; border-right:0; border-bottom:1px solid color-mix(in srgb,var(--public-line) 54%,transparent);
    }
    body[data-site-page="manager"] .ow-manager-opening .ow-relation-node:last-child { border-bottom:0; }
    body[data-site-page="manager"] .ow-lifecycle__rail article { min-height:0; padding:18px 0 20px 22px; }
    body[data-site-page="manager"] .ow-lifecycle__rail h3 { margin:22px 0 7px; font-size:1.12rem; }
    body[data-site-page="manager"] .ow-record-card { border-radius:15px; }
    body[data-site-page="manager"] .ow-record-list summary { min-height:62px; }
    body[data-site-page="manager"] .ow-manager-access { padding-block:46px; }
    body[data-site-page="manager"] .ow-manager-access__layout { gap:18px; padding:20px 18px; border-radius:16px; }
    body[data-site-page="manager"] .ow-manager-access__content h2 { font-size:1.85rem; }
    body[data-site-page="manager"] .ow-manager-access__actions .landing-button { min-height:48px; }

    /* Contact: one continuous native flow; contextual material stays secondary. */
    body[data-site-page="contact"] .ow-contact-opening { padding-top:32px; }
    body[data-site-page="contact"] .ow-contact-opening__copy { padding:20px 0 24px; gap:14px; }
    body[data-site-page="contact"] .ow-contact-opening__copy h1 { font-size:clamp(2.5rem,11.4vw,3rem); }
    body[data-site-page="contact"] .ow-contact-opening__copy p { max-width:34ch; font-size:.95rem; }
    body[data-site-page="contact"] .ow-handoff { margin-top:6px; padding-left:12px; }
    body[data-site-page="contact"] .ow-handoff li { padding:10px 0 11px 15px; }
    body[data-site-page="contact"] .ow-contact-section { padding-top:28px; padding-bottom:44px; }
    body[data-site-page="contact"] .ow-contact-layout { display:block; }
    body[data-site-page="contact"] .ow-contact-form { gap:22px; padding:20px 16px; border-radius:16px; }
    body[data-site-page="contact"] .ow-form-heading { padding-bottom:18px; }
    body[data-site-page="contact"] .ow-form-heading h2 { font-size:clamp(1.8rem,8.7vw,2.15rem); }
    body[data-site-page="contact"] .ow-contact-form .landing-form-grid { gap:17px; }
    body[data-site-page="contact"] .landing-field input,
    body[data-site-page="contact"] .landing-field textarea,
    body[data-site-page="contact"] .landing-field select { min-height:48px; }
    body[data-site-page="contact"] .landing-field textarea { min-height:136px; }
    body[data-site-page="contact"] .landing-form-legal { margin-top:2px; padding:18px 0; }
    body[data-site-page="contact"] .landing-consent { padding:14px; border-radius:12px; }
    body[data-site-page="contact"] .landing-form-actions { gap:14px; }
    body[data-site-page="contact"] .landing-form-actions__state { font-size:.82rem; }
    body[data-site-page="contact"] .ow-contact-context { margin-top:16px; padding:0; border:0; background:transparent; }
    body[data-site-page="contact"] .ow-context-mobile { border:1px solid var(--public-line-strong); border-radius:14px; overflow:hidden; }
    body[data-site-page="contact"] .ow-context-mobile summary { min-height:50px; padding:0 15px; }
    body[data-site-page="contact"] .ow-context-mobile .ow-contact-context__live { padding:0 15px 16px; }
    body[data-site-page="contact"] .ow-contact-next { margin-top:12px; padding:16px; border-radius:14px; }
    body[data-site-page="contact"] .ow-contact-direct { margin-top:10px; padding:14px 15px; border-radius:13px; }
    body[data-site-page="contact"] .website-message-preview { border-radius:14px; overflow:hidden; }

    /* Legal: native reading stack + swipeable section index, zero dead zones. */
    body[data-site-page] .ow-legal { padding-top:24px; padding-bottom:44px; }
    body[data-site-page] .ow-legal .landing-legal__container { display:block; }
    body[data-site-page] .ow-legal .landing-back-link { min-height:44px; margin-bottom:18px; }
    body[data-site-page] .ow-legal .landing-legal__header { padding:20px 18px; border-radius:16px; }
    body[data-site-page] .ow-legal .landing-legal__header h1 { margin:12px 0 16px; font-size:clamp(2.2rem,10.4vw,2.72rem); line-height:.98; }
    body[data-site-page] .ow-legal .ow-legal__meta { gap:8px 12px; font-size:.73rem; }
    body[data-site-page] .ow-legal .landing-legal__toc {
        display:flex; grid-template-columns:none; gap:7px; overflow-x:auto; margin:16px -16px 18px; padding:4px 16px 7px;
        border:0; border-radius:0; background:transparent; box-shadow:none; scroll-snap-type:x proximity; scroll-padding-inline:16px; scrollbar-width:none;
    }
    body[data-site-page] .ow-legal .landing-legal__toc::-webkit-scrollbar { display:none; }
    body[data-site-page] .ow-legal .landing-legal__toc strong {
        flex:0 0 auto; display:flex; align-items:center; margin:0 3px 0 0; padding:0 2px; font-size:.65rem; white-space:nowrap;
    }
    body[data-site-page] .ow-legal .landing-legal__toc a {
        flex:0 0 auto; min-height:42px; padding:0 13px; border:1px solid var(--public-line-strong); border-radius:999px; background:var(--public-surface); white-space:nowrap; scroll-snap-align:start;
    }
    body[data-site-page] .ow-legal .landing-legal__toc a[aria-current="location"] {
        border-color:color-mix(in srgb,var(--public-accent) 42%,var(--public-line-strong));
        background:color-mix(in srgb,var(--public-accent) 7%,var(--public-surface));
    }
    body[data-site-page] .ow-legal .landing-legal__content { gap:12px; }
    body[data-site-page] .ow-legal .landing-legal__content .ow-legal-section {
        display:block; padding:18px 17px; border-radius:15px;
    }
    body[data-site-page] .ow-legal-section__index { display:block; margin-bottom:9px; padding:0; font-size:.63rem; }
    body[data-site-page] .ow-legal .landing-legal__content h2 { margin:0 0 10px; font-size:1.13rem; line-height:1.28; }
    body[data-site-page] .ow-legal .landing-legal__content p { margin:0; font-size:.92rem; line-height:1.72; }
    body[data-site-page] .ow-legal .landing-legal__content p + p { margin-top:12px; }

    /* Footer: clear one-handed hierarchy, no squeezed pseudo-columns. */
    body[data-site-page] .landing-footer { padding-top:6px; padding-bottom:max(12px,env(safe-area-inset-bottom)); }
    body[data-site-page] .ow-footer-shell { border-radius:18px; }
    body[data-site-page] .ow-footer-lead { display:block; padding:20px 16px 16px; }
    body[data-site-page] .ow-footer-brand { gap:12px; }
    body[data-site-page] .landing-brand--footer .landing-brand__logo,
    body[data-site-page] .landing-brand--footer .landing-brand__logo img { height:32px; }
    body[data-site-page] .ow-footer-brand > p { max-width:32ch; font-size:.88rem; line-height:1.58; }
    body[data-site-page] .ow-footer-signals { gap:7px 12px; }
    body[data-site-page] .ow-footer-contact { margin-top:18px; padding:18px 16px; border-radius:14px; }
    body[data-site-page] .ow-footer-contact h2 { max-width:13ch; font-size:1.55rem; }
    body[data-site-page] .ow-footer-contact p { font-size:.86rem; line-height:1.58; }
    body[data-site-page] .ow-footer-directory { grid-template-columns:1fr; margin:0 16px; border-radius:14px; }
    body[data-site-page] .ow-footer-nav,
    body[data-site-page] .ow-footer-channel { padding:16px; }
    body[data-site-page] .ow-footer-nav + .ow-footer-nav,
    body[data-site-page] .ow-footer-channel { border-left:0; border-top:1px solid color-mix(in srgb,var(--public-line-strong) 44%,transparent); }
    body[data-site-page] .ow-footer-nav ul { display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; }
    body[data-site-page] .ow-footer-nav a { min-height:42px; display:flex; align-items:center; }
    body[data-site-page] .ow-footer-channel { grid-column:auto; }
    body[data-site-page] .ow-footer-whatsapp { min-height:48px; border-radius:11px; }
    body[data-site-page] .ow-footer-bottom { grid-template-columns:1fr auto; gap:12px; margin-top:14px; padding:15px 16px 16px; }
    body[data-site-page] .ow-footer-bottom p { font-size:.75rem; }
    body[data-site-page] .ow-footer-bottom nav { grid-column:1; grid-row:2; gap:14px; }
    body[data-site-page] .ow-footer-bottom nav a { min-height:38px; display:inline-flex; align-items:center; font-size:.75rem; }
    body[data-site-page] .ow-footer-top { grid-column:2; grid-row:1/3; width:44px; height:44px; }

    /* Error/404. */
    body[data-site-page] .ow-error { padding-block:42px; }
    body[data-site-page] .ow-error__layout { gap:22px; }
    body[data-site-page] .ow-error__signal { padding:18px; border-radius:15px; }
    body[data-site-page] .ow-error__code { font-size:4.2rem; }

    /* Mobile interaction polish. */
    body[data-site-page] :is(.landing-button,.landing-text-link,.ov-link,.ov-stage-service,.ow-footer-nav a,.ow-footer-whatsapp,.landing-back-link) {
        -webkit-tap-highlight-color:transparent;
    }
    body[data-site-page] :is(.landing-button,.landing-text-link,.ov-link,.ov-stage-service,.ow-footer-whatsapp,.landing-back-link):active {
        transform:scale(.985);
    }
}

@media (max-width:430px) {
    body[data-site-page] { --ow-shell:calc(100% - 32px); }
    body[data-site-page] .ow-footer-nav ul { grid-template-columns:1fr; gap:2px; }
    body[data-site-page] .ow-footer-bottom { grid-template-columns:1fr auto; }
}

@media (max-width:359px) {
    body[data-site-page] { --ow-shell:calc(100% - 28px); }
    body[data-site-page="home"] { --ov-shell:calc(100% - 28px); }
    body[data-site-page] .landing-navigation { right:10px; left:10px; }
    body[data-site-page] .ow-legal .landing-legal__header { padding-inline:15px; }
    body[data-site-page] .ow-footer-lead,
    body[data-site-page] .ow-footer-contact,
    body[data-site-page] .ow-footer-nav,
    body[data-site-page] .ow-footer-channel,
    body[data-site-page] .ow-footer-bottom { padding-inline:14px; }
}

@media (prefers-reduced-motion:reduce) and (max-width:700px) {
    body[data-site-page] .landing-navigation.is-enhanced,
    body[data-site-page] :is(.landing-button,.landing-text-link,.ov-link,.ov-stage-service,.ow-footer-whatsapp,.landing-back-link) {
        transition:none;
        transform:none;
    }
}

/* =====================================================================
   FINAL DIRECT FINISH R9 · MOBILE STABILIZATION
   R7 desktop remains frozen. R9 only corrects the native <=700px layer.
   ===================================================================== */
body[data-site-page] .landing-legal__toc-links { display:contents; }

@media (max-width:700px) {
    /* Global mobile safety: every composed child may shrink without overlap. */
    body[data-site-page] :is(main,section,article,header,footer,nav,aside,div) { min-width:0; }
    body[data-site-page] :is(h1,h2,h3,p,span,a,button,strong,small,label) { overflow-wrap:break-word; }

    /* Header / native menu: compact sheet, clear rows, calmer open motion. */
    body[data-site-page] .landing-navigation {
        padding:6px;
        border-radius:16px;
        overflow:auto;
        overscroll-behavior:contain;
    }
    body[data-site-page] .landing-navigation__primary,
    body[data-site-page] .landing-navigation__actions { padding:4px; }
    body[data-site-page] .landing-navigation__actions {
        margin-top:4px;
        padding-top:10px;
        border-top:1px solid color-mix(in srgb,var(--public-line-strong) 52%,transparent);
    }
    body[data-site-page] .landing-navigation__primary > a { min-height:46px; }
    body[data-site-page] .landing-navigation.is-enhanced.is-open .landing-navigation__primary > a {
        animation:ow-mobile-menu-row var(--ow-motion-base) var(--ow-motion-ease) both;
    }
    body[data-site-page] .landing-navigation.is-enhanced.is-open .landing-navigation__primary > a:nth-child(2) { animation-delay:18ms; }
    body[data-site-page] .landing-navigation.is-enhanced.is-open .landing-navigation__primary > a:nth-child(3) { animation-delay:36ms; }
    body[data-site-page] .landing-navigation.is-enhanced.is-open .landing-navigation__primary > a:nth-child(4) { animation-delay:54ms; }
    body[data-site-page] .landing-navigation.is-enhanced.is-open .landing-navigation__primary > a:nth-child(5) { animation-delay:72ms; }

    /* HOME · fix the desktop grid leaking into mobile and remove text collisions. */
    body[data-site-page="home"] .ov-services .ov-section-head,
    body[data-site-page="home"] .ov-section-head {
        display:grid;
        grid-template-columns:minmax(0,1fr);
        grid-template-areas:"kicker" "title" "copy";
        align-items:start;
        gap:10px;
        margin-bottom:28px;
    }
    body[data-site-page="home"] .ov-services .ov-section-head > .ov-kicker,
    body[data-site-page="home"] .ov-section-head > .ov-kicker { grid-area:kicker; }
    body[data-site-page="home"] .ov-services .ov-section-head h2,
    body[data-site-page="home"] .ov-section-head h2 {
        grid-area:title;
        max-width:11ch;
        margin:0;
    }
    body[data-site-page="home"] .ov-services .ov-section-head > p,
    body[data-site-page="home"] .ov-section-head > p {
        grid-area:copy;
        max-width:35ch;
        margin:2px 0 0;
    }

    /* Service Stage: labels and rows no longer touch the group frame. */
    body[data-site-page="home"] .ov-stage-groups { gap:9px; padding:10px 0 0; }
    body[data-site-page="home"] .ov-stage-group,
    body[data-site-page="home"] .ov-stage-group + .ov-stage-group {
        padding:14px 12px 12px;
        border:1px solid color-mix(in srgb,var(--public-line-strong) 44%,transparent);
        border-radius:12px;
        background:color-mix(in srgb,var(--public-surface-soft) 46%,transparent);
    }
    body[data-site-page="home"] .ov-stage-group__label,
    body[data-site-page="home"] .ov-stage-group--2 .ov-stage-group__label {
        display:block;
        margin:0 2px 9px;
        padding:0;
        line-height:1.35;
    }
    body[data-site-page="home"] .ov-stage-group__links,
    body[data-site-page="home"] .ov-stage-group--2 .ov-stage-group__links { gap:3px; }
    body[data-site-page="home"] .ov-stage-service {
        min-height:48px;
        padding:10px 10px 10px 12px;
        border-radius:10px;
    }
    body[data-site-page="home"] .ov-stage-service.is-active { box-shadow:inset 3px 0 0 var(--public-accent); }
    body[data-site-page="home"] .ov-stage-service.is-active::after { display:none; }
    body[data-site-page="home"] .ov-stage-service.is-active > span:first-child { padding-left:3px; }

    /* Process: one clean native timeline. Numbers belong to the content, not the rail. */
    body[data-site-page="home"] .ov-process-rail {
        display:grid;
        grid-template-columns:1fr;
        padding:8px 0 0;
        border-top:0;
    }
    body[data-site-page="home"] .ov-process-rail::before {
        left:5px;
        right:auto;
        top:22px;
        bottom:22px;
        width:1px;
        height:auto;
        background:linear-gradient(180deg,var(--public-accent),color-mix(in srgb,var(--public-line-strong) 24%,transparent));
    }
    body[data-site-page="home"] .ov-process-rail article,
    body[data-site-page="home"] .ov-process-rail article + article {
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:0;
        min-height:0;
        padding:16px 0 18px 32px;
        border-bottom:1px solid color-mix(in srgb,var(--public-line-strong) 42%,transparent);
    }
    body[data-site-page="home"] .ov-process-rail article:last-child { border-bottom:0; }
    body[data-site-page="home"] .ov-process-rail article::before,
    body[data-site-page="home"] .ov-process-rail article + article::before {
        left:0;
        top:21px;
        width:11px;
        height:11px;
    }
    body[data-site-page="home"] .ov-process-index {
        display:block;
        margin:0 0 6px;
        padding:0;
        color:var(--public-accent-fg);
        font-size:.62rem;
        font-weight:700;
        line-height:1.2;
        letter-spacing:.1em;
    }
    body[data-site-page="home"] .ov-process-rail h3 { margin:0 0 7px; }

    /* Manager bridge: no orphan "Ingresar" link under the primary action. */
    body[data-site-page="home"] .ov-manager__copy .ov-actions {
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
        width:100%;
    }
    body[data-site-page="home"] .ov-manager__copy .ov-actions > :is(.landing-button,.ov-link) {
        display:flex;
        width:100%;
        min-height:46px;
        align-items:center;
        justify-content:center;
        gap:8px;
        margin:0;
        padding:0 14px;
        border:1px solid var(--public-line-strong);
        border-radius:10px;
        background:transparent;
        text-decoration:none;
    }
    body[data-site-page="home"] .ov-manager__copy .ov-actions > .landing-button {
        background:color-mix(in srgb,var(--public-surface-soft) 72%,transparent);
    }

    /* ABOUT · stable 2x2 native selector; active state has one side accent, no blue underline. */
    body[data-site-page="about"] .ow-principles__index {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:6px;
        margin:8px 0 16px;
        padding:6px;
        overflow:visible;
        border:1px solid color-mix(in srgb,var(--public-line-strong) 48%,transparent);
        border-radius:14px;
        background:color-mix(in srgb,var(--public-surface) 58%,transparent);
    }
    body[data-site-page="about"] .ow-principles__index button,
    body[data-site-page="about"] .ow-principles__index button:last-child {
        width:100%;
        min-width:0;
        min-height:46px;
        padding:0 10px;
        border:1px solid transparent;
        border-radius:10px;
        background:transparent;
        box-shadow:none;
    }
    body[data-site-page="about"] .ow-principles__index button[aria-selected="true"] {
        padding-inline:10px;
        border-color:color-mix(in srgb,var(--public-accent) 22%,var(--public-line-strong));
        border-bottom-color:color-mix(in srgb,var(--public-accent) 22%,var(--public-line-strong));
        background:color-mix(in srgb,var(--public-accent) 6%,var(--public-surface));
        box-shadow:inset 3px 0 0 var(--public-accent);
    }
    body[data-site-page="about"] .ow-principles__index button[aria-selected="true"]::before { display:none; }
    body[data-site-page="about"] .ow-principles__index button span { font-size:.74rem; }

    /* MANAGER · labels live in the content column, never on top of the timeline. */
    body[data-site-page="manager"] .ow-lifecycle__rail {
        position:relative;
        display:grid;
        grid-template-columns:1fr;
        gap:0;
        padding:6px 0 0;
        border:0;
    }
    body[data-site-page="manager"] .ow-lifecycle__rail::before {
        left:5px;
        right:auto;
        top:22px;
        bottom:22px;
        width:1px;
        height:auto;
        background:linear-gradient(180deg,var(--public-accent),color-mix(in srgb,var(--public-line-strong) 25%,transparent));
    }
    body[data-site-page="manager"] .ow-lifecycle__rail article,
    body[data-site-page="manager"] .ow-lifecycle__rail article + article {
        min-height:0;
        padding:17px 0 20px 32px;
        border-top:0;
        border-bottom:1px solid color-mix(in srgb,var(--public-line-strong) 42%,transparent);
    }
    body[data-site-page="manager"] .ow-lifecycle__rail article:last-child { border-bottom:0; }
    body[data-site-page="manager"] .ow-lifecycle__rail article::before,
    body[data-site-page="manager"] .ow-lifecycle__rail article + article::before {
        left:0;
        top:22px;
        width:11px;
        height:11px;
    }
    body[data-site-page="manager"] .ow-lifecycle__rail small {
        display:block;
        margin:0 0 7px;
        color:var(--public-accent-fg);
        font-size:.62rem;
        font-weight:700;
        line-height:1.2;
        letter-spacing:.11em;
    }
    body[data-site-page="manager"] .ow-lifecycle__rail h3 { margin:0 0 7px; font-size:1.15rem; }
    body[data-site-page="manager"] .ow-lifecycle__rail p { max-width:31ch; font-size:.9rem; line-height:1.58; }

    /* SERVICES · reset desktop intro geometry, remove the stray left rail, make advisory native. */
    body[data-site-page="services"] .ow-catalog-intro__layout {
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:12px;
        align-items:start;
    }
    body[data-site-page="services"] .ow-catalog-intro__meta { padding-top:0; }
    body[data-site-page="services"] .ow-catalog-intro h1 { max-width:8.5ch; margin:2px 0 4px; }
    body[data-site-page="services"] .ow-catalog-intro__support {
        max-width:none;
        padding:0;
        border-left:0;
    }
    body[data-site-page="services"] .ow-catalog-intro__support p { margin:0 0 12px; }
    body[data-site-page="services"] .ow-catalog-intro__support .landing-text-link {
        display:flex;
        width:100%;
        min-height:48px;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:10px 12px;
        border:1px solid color-mix(in srgb,var(--public-line-strong) 48%,transparent);
        border-radius:11px;
        background:color-mix(in srgb,var(--public-surface-soft) 48%,transparent);
    }
    body[data-site-page="services"] .ow-catalog__mobile { padding:14px; }
    body[data-site-page="services"] .ow-catalog__mobile label { display:block; margin-bottom:9px; }

    /* CONTACT · legal header and action footer become a native vertical rhythm. */
    body[data-site-page="contact"] .landing-form-legal { padding:16px; }
    body[data-site-page="contact"] .landing-form-legal__header {
        display:grid;
        grid-template-columns:32px minmax(0,1fr);
        align-items:start;
        gap:12px;
    }
    body[data-site-page="contact"] .landing-form-legal__header > span {
        width:32px;
        height:32px;
        min-width:32px;
        flex-basis:32px;
        margin:0;
        border-radius:9px;
    }
    body[data-site-page="contact"] .landing-form-legal__header h3 { margin:0 0 4px; }
    body[data-site-page="contact"] .landing-form-legal__header p { margin:0; font-size:.82rem; line-height:1.58; }
    body[data-site-page="contact"] .landing-form-consents { padding-top:14px; }
    body[data-site-page="contact"] .landing-consent {
        display:grid;
        grid-template-columns:22px minmax(0,1fr);
        align-items:start;
        gap:11px;
        padding:14px 0 0;
    }
    body[data-site-page="contact"] .landing-consent input { margin:1px 0 0; }
    body[data-site-page="contact"] .landing-form-actions {
        display:grid;
        grid-template-columns:minmax(0,1fr);
        align-items:stretch;
        gap:12px;
    }
    body[data-site-page="contact"] .landing-form-actions__state { width:100%; }
    body[data-site-page="contact"] .landing-form-actions > .landing-button {
        width:100%;
        min-width:0;
        min-height:50px;
        justify-content:center;
    }

    /* LEGAL · title label on its own line; links get their own horizontal native rail. */
    body[data-site-page] .ow-legal .landing-legal__toc {
        display:block;
        margin:16px 0 18px;
        padding:0;
        overflow:visible;
    }
    body[data-site-page] .ow-legal .landing-legal__toc > strong {
        display:block;
        margin:0 0 9px;
        padding:0 2px;
        font-size:.66rem;
        line-height:1.35;
        white-space:normal;
    }
    body[data-site-page] .ow-legal .landing-legal__toc-links {
        display:flex;
        gap:7px;
        margin:0 -16px;
        padding:1px 16px 7px;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scroll-snap-type:x proximity;
        scroll-padding-inline:16px;
        scrollbar-width:none;
    }
    body[data-site-page] .ow-legal .landing-legal__toc-links::-webkit-scrollbar { display:none; }
    body[data-site-page] .ow-legal .landing-legal__toc-links a {
        flex:0 0 auto;
        min-height:42px;
        padding:0 13px;
        border:1px solid var(--public-line-strong);
        border-radius:999px;
        background:var(--public-surface);
        white-space:nowrap;
        scroll-snap-align:start;
    }

    /* Quiet state/motion polish for touch without visual jumping. */
    body[data-site-page] :is(.ov-stage-service,.ow-principles__index button,.ow-process-rail article,.ow-lifecycle__rail article,.ow-catalog-intro__support .landing-text-link) {
        transition:border-color var(--ow-motion-fast) var(--ow-motion-ease),background-color var(--ow-motion-fast) var(--ow-motion-ease),color var(--ow-motion-fast) var(--ow-motion-ease),opacity var(--ow-motion-fast) var(--ow-motion-ease);
    }
}

@media (max-width:359px) {
    body[data-site-page="about"] .ow-principles__index { grid-template-columns:1fr; }
    body[data-site-page="home"] .ov-manager__copy .ov-actions > :is(.landing-button,.ov-link) { font-size:.78rem; }
    body[data-site-page] .ow-legal .landing-legal__toc-links { margin-inline:-14px; padding-inline:14px; scroll-padding-inline:14px; }
}

@keyframes ow-mobile-menu-row {
    from { opacity:.94; transform:translateY(-3px); }
    to { opacity:1; transform:translateY(0); }
}

@media (prefers-reduced-motion:reduce) and (max-width:700px) {
    body[data-site-page] .landing-navigation.is-enhanced.is-open .landing-navigation__primary > a { animation:none; }
}

/* =====================================================================
   FINAL DIRECT FINISH R10 · MOBILE MICRO-STABILIZATION ONLY
   R9 remains the visual baseline. This layer fixes only the reported
   legal-index crowding and timeline marker/metadata collisions <=700px.
   ===================================================================== */
@media (max-width:700px) {
    /* Legal index: label and horizontal rail are separate rows. The
       current-section treatment must not look like a focus ring. */
    body[data-site-page] .ow-legal .landing-legal__toc {
        margin-top:20px;
        margin-bottom:20px;
    }
    body[data-site-page] .ow-legal .landing-legal__toc > strong {
        margin:0 0 12px;
        padding-inline:2px;
    }
    body[data-site-page] .ow-legal .landing-legal__toc-links {
        margin-top:0;
        padding-top:2px;
        padding-bottom:8px;
    }
    body[data-site-page] .ow-legal .landing-legal__toc-links a {
        min-height:42px;
        padding-inline:14px;
        box-shadow:none;
    }
    body[data-site-page] .ow-legal .landing-legal__toc-links a[aria-current="location"] {
        color:var(--public-ink);
        border-color:color-mix(in srgb,var(--public-accent) 18%,var(--public-line-strong));
        background:color-mix(in srgb,var(--public-accent) 4%,var(--public-surface));
        box-shadow:none;
    }
    body[data-site-page] .ow-legal .landing-legal__toc-links a:focus:not(:focus-visible) {
        outline:none;
    }

    /* Home process: the rail marker now aligns with the step title, not
       with the small numeric metadata above it. This removes the visual
       collision while preserving the exact timeline/content. */
    body[data-site-page="home"] .ov-process-rail article,
    body[data-site-page="home"] .ov-process-rail article + article {
        padding-left:36px;
    }
    body[data-site-page="home"] .ov-process-rail article::before,
    body[data-site-page="home"] .ov-process-rail article + article::before {
        top:46px;
    }
    body[data-site-page="home"] .ov-process-index {
        margin-bottom:8px;
    }

    /* Manager lifecycle uses the same label-above-title anatomy; keep its
       marker aligned with the title as well so the same collision cannot
       recur on another mobile module. */
    body[data-site-page="manager"] .ow-lifecycle__rail article,
    body[data-site-page="manager"] .ow-lifecycle__rail article + article {
        padding-left:36px;
    }
    body[data-site-page="manager"] .ow-lifecycle__rail article::before,
    body[data-site-page="manager"] .ow-lifecycle__rail article + article::before {
        top:48px;
    }
    body[data-site-page="manager"] .ow-lifecycle__rail small {
        margin-bottom:8px;
    }
}

@media (max-width:359px) {
    body[data-site-page] .ow-legal .landing-legal__toc-links a { padding-inline:12px; }
    body[data-site-page="home"] .ov-process-rail article,
    body[data-site-page="home"] .ov-process-rail article + article,
    body[data-site-page="manager"] .ow-lifecycle__rail article,
    body[data-site-page="manager"] .ow-lifecycle__rail article + article { padding-left:34px; }
}

/* =====================================================================
   FINAL DIRECT FINISH R11 · TWO REPORTED MOBILE MICROFIXES ONLY
   R10 remains frozen. This layer changes no markup, behavior or desktop.
   ===================================================================== */
@media (max-width:700px) {
    /* Legal TOC: native text rail instead of pill controls. This removes
       the bulky boxed treatment / blue pseudo-focus seen in the report. */
    body[data-site-page] .ow-legal .landing-legal__toc-links {
        gap:22px;
        padding-top:0;
        padding-bottom:10px;
    }
    body[data-site-page] .ow-legal .landing-legal__toc-links a {
        min-height:36px;
        padding:7px 1px 8px;
        border:0;
        border-bottom:1px solid transparent;
        border-radius:0;
        background:transparent;
        box-shadow:none;
        color:var(--public-muted);
    }
    body[data-site-page] .ow-legal .landing-legal__toc-links a:hover {
        color:var(--public-ink);
        background:transparent;
    }
    body[data-site-page] .ow-legal .landing-legal__toc-links a[aria-current="location"] {
        color:var(--public-ink);
        border:0;
        border-bottom:1px solid var(--public-accent);
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }
    body[data-site-page] .ow-legal .landing-legal__toc-links a:focus-visible {
        outline:2px solid var(--public-accent);
        outline-offset:4px;
        border-radius:4px;
    }

    /* Home process: keep the rail/dot attached to the title and move the
       decorative step number away from the rail. No marker-number collision. */
    body[data-site-page="home"] .ov-process-rail article,
    body[data-site-page="home"] .ov-process-rail article + article {
        position:relative;
        display:block;
        padding:18px 0 19px 40px;
    }
    body[data-site-page="home"] .ov-process-rail article::before,
    body[data-site-page="home"] .ov-process-rail article + article::before {
        left:0;
        top:23px;
    }
    body[data-site-page="home"] .ov-process-index {
        position:absolute;
        top:20px;
        right:0;
        margin:0;
        padding:0;
        line-height:1;
        opacity:.78;
    }
    body[data-site-page="home"] .ov-process-rail article > div {
        padding-right:34px;
    }
}

@media (max-width:359px) {
    body[data-site-page] .ow-legal .landing-legal__toc-links { gap:18px; }
    body[data-site-page="home"] .ov-process-rail article,
    body[data-site-page="home"] .ov-process-rail article + article { padding-left:36px; }
}


/* =====================================================================
   FINAL PRODUCTION CLOSE R12 · CONTACT + MANAGER-NATIVE LOADING FEEDBACK
   Scope: no visual redesign. Keeps approved R11 composition intact.
   ===================================================================== */

/* Contact controls: Manager-style neutral surface stays neutral on hover,
   focus and browser autofill. Focus is communicated by border/ring only. */
body[data-site-page="contact"] .ow-contact-form .landing-field :is(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea
) {
    --ow-contact-control-bg: color-mix(in srgb,var(--public-canvas) 94%,var(--public-surface));
    background-color: var(--ow-contact-control-bg);
    background-image: none;
}
body[data-site-page="contact"] .ow-contact-form .landing-field :is(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea
):hover {
    background-color: var(--ow-contact-control-bg);
}
body[data-site-page="contact"] .ow-contact-form .landing-field :is(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea
):focus,
body[data-site-page="contact"] .ow-contact-form .landing-field :is(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea
):focus-visible {
    background-color: var(--ow-contact-control-bg);
    border-color: color-mix(in srgb,var(--public-accent) 66%,var(--public-line-strong));
    box-shadow: 0 0 0 3px color-mix(in srgb,var(--public-accent) 13%,transparent);
}
body[data-site-page="contact"] .ow-contact-form .landing-field input:-webkit-autofill,
body[data-site-page="contact"] .ow-contact-form .landing-field input:-webkit-autofill:hover,
body[data-site-page="contact"] .ow-contact-form .landing-field input:-webkit-autofill:active,
body[data-site-page="contact"] .ow-contact-form .landing-field input:autofill,
body[data-site-page="contact"] .ow-contact-form .landing-field input:autofill:hover,
body[data-site-page="contact"] .ow-contact-form .landing-field input:autofill:active {
    color: var(--public-ink);
    -webkit-text-fill-color: var(--public-ink);
    caret-color: var(--public-ink);
    border-color: color-mix(in srgb,var(--public-line-strong) 74%,transparent);
    background-color: var(--ow-contact-control-bg);
    -webkit-box-shadow: 0 0 0 1000px var(--ow-contact-control-bg) inset;
    box-shadow: 0 0 0 1000px var(--ow-contact-control-bg) inset;
    transition: border-color var(--ow-motion-fast) var(--ow-motion-ease), box-shadow var(--ow-motion-fast) var(--ow-motion-ease);
}
body[data-site-page="contact"] .ow-contact-form .landing-field input:-webkit-autofill:focus,
body[data-site-page="contact"] .ow-contact-form .landing-field input:-webkit-autofill:focus-visible,
body[data-site-page="contact"] .ow-contact-form .landing-field input:autofill:focus,
body[data-site-page="contact"] .ow-contact-form .landing-field input:autofill:focus-visible {
    border-color: color-mix(in srgb,var(--public-accent) 66%,var(--public-line-strong));
    -webkit-box-shadow: 0 0 0 1000px var(--ow-contact-control-bg) inset, 0 0 0 3px color-mix(in srgb,var(--public-accent) 13%,transparent);
    box-shadow: 0 0 0 1000px var(--ow-contact-control-bg) inset, 0 0 0 3px color-mix(in srgb,var(--public-accent) 13%,transparent);
}

/* Contact desktop rail: the contextual column follows the form exactly like
   the Manager public landing rail, while naturally stopping with its section. */
@media (min-width:1021px) {
    body[data-site-page="contact"] .ow-contact-context {
        position: sticky;
        top: calc(var(--public-header-height) + 22px);
        align-self: start;
        height: auto;
        max-height: calc(100dvh - var(--public-header-height) - 44px);
        overflow: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: color-mix(in srgb,var(--public-line-strong) 72%,transparent) transparent;
    }
    body[data-site-page="contact"] .ow-contact-context::-webkit-scrollbar { width:6px; }
    body[data-site-page="contact"] .ow-contact-context::-webkit-scrollbar-track { background:transparent; }
    body[data-site-page="contact"] .ow-contact-context::-webkit-scrollbar-thumb {
        border-radius:999px;
        background:color-mix(in srgb,var(--public-line-strong) 72%,transparent);
    }
}

/* Manager-native public skeleton is already bundled and owns behavior.
   This Website layer only aligns it to the approved Website shell/tokens so
   every internal public route gets the same loading language. */
body[data-site-page] main#contenido.ol-public-skeleton-host {
    min-height:min(720px,78dvh);
}
body[data-site-page] .ol-public-skeleton {
    gap:clamp(20px,3.8vw,42px);
    padding:clamp(30px,4.5vw,64px) max(32px,calc((100vw - 1280px)/2)) 46px;
    background:var(--public-canvas);
}
body[data-site-page] .ol-public-skeleton__hero,
body[data-site-page] .ol-public-skeleton__cards {
    width:min(1200px,100%);
}
body[data-site-page] .ol-public-skeleton__visual,
body[data-site-page] .ol-public-skeleton__card {
    border-color:color-mix(in srgb,var(--public-line-strong) 56%,transparent);
    background:color-mix(in srgb,var(--public-surface) 82%,var(--public-canvas));
    box-shadow:none;
}
body[data-site-page] .ol-public-skeleton__block {
    background:color-mix(in srgb,var(--public-surface-soft) 76%,var(--public-line-strong) 24%);
}
body[data-site-page] .ol-public-skeleton__block::after {
    background:linear-gradient(100deg,transparent 22%,color-mix(in srgb,var(--public-ink) 5%,transparent) 48%,transparent 74%);
    animation-duration:1.25s;
}

/* Micro-motion close: richer feedback without changing layout or geometry. */
body[data-site-page] :is(
    .landing-button,
    .landing-text-link,
    .ow-contact-direct,
    .ow-footer-whatsapp,
    .ow-footer-nav a,
    .ov-stage-service,
    .ow-principles__index button,
    .ow-service-tabs button
) .icon {
    transition: transform var(--ow-motion-fast) var(--ow-motion-ease), color var(--ow-motion-fast) var(--ow-motion-ease), opacity var(--ow-motion-fast) var(--ow-motion-ease);
}
@media (hover:hover) and (pointer:fine) {
    body[data-site-page] :is(.landing-button,.landing-text-link,.ow-footer-whatsapp):hover .icon:last-child {
        transform:translateX(2px);
    }
    body[data-site-page="contact"] .ow-contact-direct:hover .brand-icon {
        transform:translateY(-1px) scale(1.02);
    }
}

@media (max-width:700px) {
    body[data-site-page] .ol-public-skeleton {
        padding:24px 16px calc(32px + env(safe-area-inset-bottom));
    }
    body[data-site-page="contact"] .ow-contact-context {
        position:static;
        max-height:none;
        overflow:visible;
    }
}

@media (prefers-reduced-motion:reduce) {
    body[data-site-page] .ol-public-skeleton__block::after { animation:none; }
    body[data-site-page] :is(.landing-button,.landing-text-link,.ow-contact-direct,.ow-footer-whatsapp,.ow-footer-nav a,.ov-stage-service,.ow-principles__index button,.ow-service-tabs button) .icon {
        transition:none;
        transform:none;
    }
}

/* =====================================================================
   FINAL PRODUCTION CLOSE R13 · NATIVE ROUTE SKELETON + CONTACT RAIL + MOTION
   Keeps approved layout intact. Only loading feedback, Contact rail anatomy,
   Manager mobile marker labels and global motion polish are refined.
   ===================================================================== */

/* Contact desktop rail: one composed surface, sticky with the form, never an
   independently scrolling panel. It stops naturally with the Contact section. */
@media (min-width:1021px) {
    body[data-site-page="contact"] .ow-contact-context {
        position:sticky;
        top:calc(var(--public-header-height) + 22px);
        align-self:start;
        display:block;
        height:auto;
        max-height:none;
        overflow:visible;
        padding:24px;
        border:1px solid color-mix(in srgb,var(--public-line-strong) 58%,transparent);
        border-radius:18px;
        background:linear-gradient(155deg,color-mix(in srgb,var(--public-surface) 84%,var(--public-canvas)),color-mix(in srgb,var(--public-canvas) 98%,var(--public-surface-soft)));
        box-shadow:0 20px 58px color-mix(in srgb,#000 5%,transparent),inset 0 1px 0 color-mix(in srgb,white 2.5%,transparent);
        scrollbar-width:auto;
    }
    body[data-site-page="contact"] .ow-contact-context__live {
        padding:0 0 22px;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }
    body[data-site-page="contact"] .ow-contact-next {
        margin:0;
        padding:20px 0;
        border-top:1px solid color-mix(in srgb,var(--public-line-strong) 58%,transparent);
        border-bottom:1px solid color-mix(in srgb,var(--public-line-strong) 58%,transparent);
        border-radius:0;
        background:transparent;
    }
    body[data-site-page="contact"] .ow-contact-direct {
        margin:0;
        padding:20px 0 0;
        border:0;
        border-radius:0;
        background:transparent;
    }
    body[data-site-page="contact"] .ow-contact-context::-webkit-scrollbar { display:none; }
}

/* Manager lifecycle mobile labels follow the same rule as Home step numbers:
   metadata is moved away from the vertical rail and its marker. */
@media (max-width:700px) {
    body[data-site-page="manager"] .ow-lifecycle__rail article,
    body[data-site-page="manager"] .ow-lifecycle__rail article + article {
        position:relative;
        padding:18px 0 20px 40px;
    }
    body[data-site-page="manager"] .ow-lifecycle__rail article::before,
    body[data-site-page="manager"] .ow-lifecycle__rail article + article::before {
        left:0;
        top:23px;
    }
    body[data-site-page="manager"] .ow-lifecycle__rail small {
        position:absolute;
        top:20px;
        right:0;
        margin:0;
        padding:0;
        line-height:1;
        opacity:.82;
    }
    body[data-site-page="manager"] .ow-lifecycle__rail h3 {
        margin:0 0 7px;
        padding-right:86px;
    }
}

/* Route-aware Manager-style skeleton. The destination controls its anatomy so
   Home, Services, About, Manager, Contact and Legal do not share a fake generic
   loading card. */
body[data-site-page] main#contenido.ol-public-skeleton-host {
    position:relative;
    isolation:isolate;
    min-height:min(760px,82dvh);
}
body[data-site-page] main#contenido.ol-public-skeleton-host > :not(.ol-public-skeleton) {
    visibility:hidden;
}
body[data-site-page] .ol-public-skeleton {
    position:absolute;
    inset:0;
    z-index:8;
    display:block;
    padding:clamp(28px,4.5vw,62px) max(32px,calc((100vw - 1280px)/2)) 52px;
    background:var(--public-canvas);
    color:var(--public-muted);
    pointer-events:none;
    user-select:none;
}
body[data-site-page] .ol-public-skeleton__route {
    width:min(1200px,100%);
    margin-inline:auto;
    display:grid;
    gap:clamp(20px,3vw,34px);
}
body[data-site-page] .ol-public-skeleton__route-hero {
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);
    align-items:center;
    gap:clamp(28px,5vw,64px);
    min-height:270px;
}
body[data-site-page] .ol-public-skeleton__route-hero--contact { min-height:220px; }
body[data-site-page] .ol-public-skeleton__route-copy { display:grid; align-content:center; gap:12px; min-width:0; }
body[data-site-page] .ol-public-skeleton__route-surface {
    min-width:0;
    border:1px solid color-mix(in srgb,var(--public-line-strong) 58%,transparent);
    border-radius:16px;
    background:color-mix(in srgb,var(--public-surface) 84%,var(--public-canvas));
    box-shadow:none;
}
body[data-site-page] .ol-public-skeleton__block {
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:8px;
    background:color-mix(in srgb,var(--public-surface-soft) 80%,var(--public-line-strong) 20%);
}
body[data-site-page] .ol-public-skeleton__block::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(100deg,transparent 18%,color-mix(in srgb,var(--public-ink) 5.5%,transparent) 46%,transparent 76%);
    transform:translateX(-110%);
    animation:ow-native-skeleton-shimmer 1.18s var(--ow-motion-ease) infinite;
}
@keyframes ow-native-skeleton-shimmer { to { transform:translateX(110%); } }
body[data-site-page] .ol-public-skeleton__route-eyebrow { width:118px; height:10px; border-radius:999px; }
body[data-site-page] .ol-public-skeleton__route-title { width:min(88%,560px); height:56px; border-radius:12px; }
body[data-site-page] .ol-public-skeleton__route-title--compact { width:min(76%,470px); height:44px; }
body[data-site-page] .ol-public-skeleton__route-line { width:var(--skeleton-line-width,88%); height:12px; }
body[data-site-page] .ol-public-skeleton__route-line--last { opacity:.78; }
body[data-site-page] .ol-public-skeleton__route-label { width:96px; height:9px; border-radius:999px; }
body[data-site-page] .ol-public-skeleton__route-section-title { width:min(68%,320px); height:26px; border-radius:9px; }
body[data-site-page] .ol-public-skeleton__route-back { width:150px; height:44px; border-radius:9px; }
body[data-site-page] .ol-public-skeleton__route-action { width:210px; height:44px; border-radius:9px; justify-self:end; }
body[data-site-page] .ol-public-skeleton__route-divider { height:1px; width:100%; border-radius:0; opacity:.55; }
body[data-site-page] .ol-public-skeleton__route-grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1fr); gap:20px; }
body[data-site-page] .ol-public-skeleton__route-grid--home { grid-template-columns:repeat(3,minmax(0,1fr)); }
body[data-site-page] .ol-public-skeleton__route-stack { display:grid; gap:14px; min-width:0; }
body[data-site-page] .ol-public-skeleton__route-stage,
body[data-site-page] .ol-public-skeleton__route-panel,
body[data-site-page] .ol-public-skeleton__route-advisory,
body[data-site-page] .ol-public-skeleton__route-catalog,
body[data-site-page] .ol-public-skeleton__route-contact-rail,
body[data-site-page] .ol-public-skeleton__route-error { display:grid; align-content:center; gap:13px; padding:24px; min-height:210px; }
body[data-site-page] .ol-public-skeleton__route-error { width:min(680px,100%); min-height:320px; margin:8vh auto 0; }
body[data-site-page] .ol-public-skeleton__route-rows { overflow:hidden; }
body[data-site-page] .ol-public-skeleton__route-row { display:grid; grid-template-columns:34px minmax(0,1fr); gap:14px; padding:18px; }
body[data-site-page] .ol-public-skeleton__route-row + .ol-public-skeleton__route-row { border-top:1px solid color-mix(in srgb,var(--public-line-strong) 48%,transparent); }
body[data-site-page] .ol-public-skeleton__route-dot { width:32px; height:32px; border-radius:9px; }
body[data-site-page] .ol-public-skeleton__route-row-copy { display:grid; align-content:center; gap:8px; }
body[data-site-page] .ol-public-skeleton__route-row-title { width:44%; height:15px; }
body[data-site-page] .ol-public-skeleton__route-mini-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
body[data-site-page] .ol-public-skeleton__route-step { height:58px; border-radius:12px; }
body[data-site-page] .ol-public-skeleton__route-workspace { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:28px; align-items:start; }
body[data-site-page] .ol-public-skeleton__route-form { display:grid; gap:18px; padding:26px; }
body[data-site-page] .ol-public-skeleton__route-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body[data-site-page] .ol-public-skeleton__route-field { height:70px; border-radius:9px; }
body[data-site-page] .ol-public-skeleton__route-field--wide { grid-column:1/-1; }
body[data-site-page] .ol-public-skeleton__route-consent { height:98px; border-radius:12px; }
body[data-site-page] .ol-public-skeleton__route-contact-rail { min-height:420px; align-content:start; }
body[data-site-page] .ol-public-skeleton__route-select { width:100%; height:48px; border-radius:9px; }
body[data-site-page] .ol-public-skeleton__route-legal-hero { padding:28px; min-height:240px; }
body[data-site-page] .ol-public-skeleton__route-legal-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:28px; align-items:start; }
body[data-site-page] .ol-public-skeleton__route-index { display:grid; gap:13px; padding:20px; }
body[data-site-page] .ol-public-skeleton__route-index-link { width:86%; height:32px; border-radius:8px; }
body[data-site-page] .ol-public-skeleton__route-legal-section { display:grid; gap:12px; padding:22px; min-height:170px; }

/* Global motion close: surface state transitions share one restrained rhythm;
   no layout-changing lift and no universal fade-up. */
body[data-site-page] :is(
    .ov-stage-service,
    .ow-service-preview,
    .ow-record-card,
    .ow-principle,
    .landing-legal__content section,
    .ow-contact-context,
    .ow-footer-directory > div
) {
    transition:border-color var(--ow-motion-base) var(--ow-motion-ease),background-color var(--ow-motion-base) var(--ow-motion-ease),box-shadow var(--ow-motion-base) var(--ow-motion-ease);
}
@media (hover:hover) and (pointer:fine) {
    body[data-site-page] :is(.ow-service-preview,.ow-record-card,.landing-legal__content section):hover {
        border-color:color-mix(in srgb,var(--public-line-strong) 72%,transparent);
        background-color:color-mix(in srgb,var(--public-surface) 94%,var(--public-canvas));
    }
}

@media (max-width:1020px) {
    body[data-site-page] .ol-public-skeleton__route-hero,
    body[data-site-page] .ol-public-skeleton__route-workspace,
    body[data-site-page] .ol-public-skeleton__route-legal-layout { grid-template-columns:1fr; }
    body[data-site-page] .ol-public-skeleton__route-hero { min-height:0; }
    body[data-site-page] .ol-public-skeleton__route-contact-rail { min-height:220px; }
}
@media (max-width:700px) {
    body[data-site-page] .ol-public-skeleton {
        padding:24px 16px calc(34px + env(safe-area-inset-bottom));
    }
    body[data-site-page] .ol-public-skeleton__route { gap:18px; }
    body[data-site-page] .ol-public-skeleton__route-grid,
    body[data-site-page] .ol-public-skeleton__route-grid--home { grid-template-columns:1fr; gap:14px; }
    body[data-site-page] .ol-public-skeleton__route-title { height:42px; width:92%; }
    body[data-site-page] .ol-public-skeleton__route-title--compact { height:38px; }
    body[data-site-page] .ol-public-skeleton__route-mini-steps { grid-template-columns:1fr; gap:8px; }
    body[data-site-page] .ol-public-skeleton__route-step { height:42px; }
    body[data-site-page] .ol-public-skeleton__route-form,
    body[data-site-page] .ol-public-skeleton__route-stage,
    body[data-site-page] .ol-public-skeleton__route-panel,
    body[data-site-page] .ol-public-skeleton__route-advisory,
    body[data-site-page] .ol-public-skeleton__route-catalog,
    body[data-site-page] .ol-public-skeleton__route-contact-rail,
    body[data-site-page] .ol-public-skeleton__route-legal-hero,
    body[data-site-page] .ol-public-skeleton__route-legal-section { padding:18px; }
    body[data-site-page] .ol-public-skeleton__route-fields { grid-template-columns:1fr; }
    body[data-site-page] .ol-public-skeleton__route-field--wide { grid-column:auto; }
    body[data-site-page] .ol-public-skeleton__route-index {
        grid-template-columns:repeat(4,128px);
        grid-template-rows:auto 32px;
        grid-auto-flow:column;
        gap:10px;
        overflow:hidden;
    }
    body[data-site-page] .ol-public-skeleton__route-index .ol-public-skeleton__route-label {
        grid-column:1/-1;
        grid-row:1;
    }
    body[data-site-page] .ol-public-skeleton__route-index .ol-public-skeleton__route-index-link { grid-row:2; }
    body[data-site-page] .ol-public-skeleton__route-action { width:100%; justify-self:stretch; }
}

@media (prefers-reduced-motion:reduce) {
    body[data-site-page] .ol-public-skeleton__block::after { animation:none; }
}

@media (min-width:1021px) and (hover:hover) and (pointer:fine) {
    body[data-site-page="contact"] .ow-contact-context :is(.ow-contact-next,.ow-contact-direct):hover {
        border-color:inherit;
        background:transparent;
        transform:none;
    }
}

/* =====================================================================
   FINAL PRODUCTION LOCK R14 · EXACT MANAGER LOADER + NEUTRAL HOVER POLICY
   R13 is frozen. Manager owns the loader exactly; neutral hover never gains
   an accent fill. Selected, active, focus and primary CTA semantics are kept.
   ===================================================================== */

/* Exact Manager loader parity: no Website selector overrides
   .ol-page-progress or .ol-page-progress__bar. */

@media (hover:hover) and (pointer:fine) {
    /* The Manager-derived Select bundle uses an accent-muted indicator on
       hover; Website neutral hover policy keeps that surface neutral. */
    body[data-site-page] .landing-field .ol-select__trigger:hover:not(:disabled) .ol-select__indicator {
        color:var(--public-ink);
        background:color-mix(in srgb,var(--public-surface-soft) 72%,transparent);
    }

    /* Hover affordance stays neutral. Selected/active state may still use
       the Olthany accent, so only non-selected route choices are reset. */
    body[data-site-page] .ow-route-map__choices button:hover:not([aria-selected="true"]) .icon {
        color:var(--public-ink);
    }
}


/* =====================================================================
   R14 FINAL LOCK · MANAGER-STYLE NEUTRAL HOVER / SELECTED SURFACES
   Keep Olthany blue only as the active rail/line/focus accent. Neutral
   interactive surfaces use the same quiet gray treatment as Manager.
   Primary CTAs and semantic accent controls are intentionally excluded.
   ===================================================================== */

body[data-site-page] {
    --ow-manager-hover: color-mix(in srgb,var(--public-surface-soft) 72%,transparent);
    --ow-manager-selected: color-mix(in srgb,var(--public-surface-soft) 82%,var(--public-surface));
    --ow-manager-selected-border: color-mix(in srgb,var(--public-line-strong) 74%,transparent);
}

/* Selected/current surfaces: neutral fill, blue remains only as the rail. */
body[data-site-page] .landing-navigation__primary a.is-active,
body[data-site-page="home"] .ov-stage-service.is-active,
body[data-site-page="services"] .ow-service-tabs button[aria-selected="true"],
body[data-site-page="about"] .ow-principles__index button[aria-selected="true"],
body[data-site-page] .ow-legal .landing-legal__toc-links a[aria-current="location"],
body[data-site-page] .ow-route-map__choices button[aria-selected="true"],
body[data-site-page] .ow-discovery__index button[aria-selected="true"],
body[data-site-page] .ow-method__rail button[aria-selected="true"],
body[data-site-page] .ow-relation-node[aria-selected="true"] {
    background:var(--ow-manager-selected);
    border-color:var(--ow-manager-selected-border);
}

/* Preserve the existing blue active line/rail semantics. */
body[data-site-page] .landing-navigation__primary a.is-active { box-shadow:inset 0 -2px 0 var(--public-accent); }

@media (max-width:700px) {
    body[data-site-page] .landing-navigation__primary > a.is-active {
        background:var(--ow-manager-selected);
        box-shadow:inset 3px 0 0 var(--public-accent);
    }
    body[data-site-page="home"] .ov-stage-service.is-active {
        background:var(--ow-manager-selected);
        box-shadow:inset 3px 0 0 var(--public-accent);
    }
    body[data-site-page="about"] .ow-principles__index button[aria-selected="true"] {
        background:var(--ow-manager-selected);
        border-color:var(--ow-manager-selected-border);
        box-shadow:inset 3px 0 0 var(--public-accent);
    }
    body[data-site-page] .ow-legal .landing-legal__toc-links a[aria-current="location"] {
        background:var(--ow-manager-selected);
        border-color:var(--ow-manager-selected-border);
        box-shadow:inset 2px 0 0 var(--public-accent);
    }
}

/* Hover: quiet neutral gray, never blue-filled. */
@media (hover:hover) and (pointer:fine) {
    body[data-site-page] .landing-navigation__primary a:hover,
    body[data-site-page="home"] .ov-stage-service:hover,
    body[data-site-page="services"] .ow-service-tabs button:hover,
    body[data-site-page="about"] .ow-principles__index button:hover,
    body[data-site-page] .ow-legal .landing-legal__toc-links a:hover,
    body[data-site-page] .ow-route-map__choices button:hover,
    body[data-site-page] .ow-discovery__index button:hover,
    body[data-site-page] .ow-method__rail button:hover,
    body[data-site-page] .ow-relation-node:hover {
        background:var(--ow-manager-hover);
    }
}

/* =====================================================================
   FINAL MICROFIX · CONTACT HANDOFF TITLE/DOT ALIGNMENT ONLY
   Freeze-safe: desktop/tablet alignment only; mobile remains untouched.
   ===================================================================== */
@media (min-width:701px) {
    body[data-site-page="contact"] .ow-handoff li,
    body[data-site-page="contact"] .ow-handoff li + li {
        grid-template-columns:6px minmax(0,1fr);
        grid-template-rows:auto auto;
        column-gap:11px;
        row-gap:4px;
        align-content:start;
    }

    body[data-site-page="contact"] .ow-handoff li::before,
    body[data-site-page="contact"] .ow-handoff li + li::before {
        position:static;
        grid-column:1;
        grid-row:1;
        align-self:center;
        justify-self:center;
        left:auto;
        top:auto;
        margin:0;
        transform:none;
    }

    body[data-site-page="contact"] .ow-handoff strong {
        grid-column:2;
        grid-row:1;
        padding-left:0;
    }

    body[data-site-page="contact"] .ow-handoff small {
        grid-column:2;
        grid-row:2;
        padding-left:0;
    }
}

/* =====================================================================
   FINAL MICROFIX · CONTACT INPUT AUTOFILL/HOVER NEUTRALIZATION ONLY
   Chrome/WebKit autofill must never paint the contact controls blue.
   The approved neutral surface remains; blue is reserved for focus ring.
   ===================================================================== */
body[data-site-page="contact"] .ow-contact-form[data-public-form] .landing-field :is(
    input:not([type="checkbox"]):not([type="radio"]),
    textarea
):hover {
    background-color:var(--ow-contact-control-bg) !important;
}

body[data-site-page="contact"] .ow-contact-form[data-public-form] .landing-field input:-webkit-autofill,
body[data-site-page="contact"] .ow-contact-form[data-public-form] .landing-field input:-webkit-autofill:hover,
body[data-site-page="contact"] .ow-contact-form[data-public-form] .landing-field input:-webkit-autofill:active,
body[data-site-page="contact"] .ow-contact-form[data-public-form] .landing-field input:autofill,
body[data-site-page="contact"] .ow-contact-form[data-public-form] .landing-field input:autofill:hover,
body[data-site-page="contact"] .ow-contact-form[data-public-form] .landing-field input:autofill:active {
    color:var(--public-ink) !important;
    -webkit-text-fill-color:var(--public-ink) !important;
    caret-color:var(--public-ink);
    background-color:var(--ow-contact-control-bg) !important;
    background-image:none !important;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-box-shadow:0 0 0 1000px var(--ow-contact-control-bg) inset !important;
    box-shadow:0 0 0 1000px var(--ow-contact-control-bg) inset !important;
    transition:background-color 9999s ease-out 0s, border-color var(--ow-motion-fast) var(--ow-motion-ease), box-shadow var(--ow-motion-fast) var(--ow-motion-ease) !important;
}

body[data-site-page="contact"] .ow-contact-form[data-public-form] .landing-field input:-webkit-autofill:focus,
body[data-site-page="contact"] .ow-contact-form[data-public-form] .landing-field input:-webkit-autofill:focus-visible,
body[data-site-page="contact"] .ow-contact-form[data-public-form] .landing-field input:autofill:focus,
body[data-site-page="contact"] .ow-contact-form[data-public-form] .landing-field input:autofill:focus-visible {
    border-color:color-mix(in srgb,var(--public-accent) 66%,var(--public-line-strong)) !important;
    -webkit-box-shadow:0 0 0 1000px var(--ow-contact-control-bg) inset, 0 0 0 3px color-mix(in srgb,var(--public-accent) 13%,transparent) !important;
    box-shadow:0 0 0 1000px var(--ow-contact-control-bg) inset, 0 0 0 3px color-mix(in srgb,var(--public-accent) 13%,transparent) !important;
}

/* =====================================================================
   FINAL MOBILE MICROFIX · ABOUT OPENING ONLY
   Fixes the broken opening signal wrap and restores the missing middle
   foot copy on phones. Desktop remains byte-unaffected by this layer.
   ===================================================================== */
@media (max-width:700px) {
    body[data-site-page="about"] .ow-about-opening__statement {
        padding-bottom:28px;
    }

    body[data-site-page="about"] .ow-about-signal {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:0;
        border:1px solid color-mix(in srgb,var(--public-line-strong) 46%,transparent);
        border-radius:14px;
        overflow:hidden;
    }
    body[data-site-page="about"] .ow-about-signal li:nth-child(n) {
        min-width:0;
        padding:14px 16px;
        border:0;
    }
    body[data-site-page="about"] .ow-about-signal li + li::before {
        display:none;
    }
    body[data-site-page="about"] .ow-about-signal li:nth-child(even) {
        border-left:1px solid color-mix(in srgb,var(--public-line-strong) 46%,transparent);
    }
    body[data-site-page="about"] .ow-about-signal li:nth-child(n+3) {
        border-top:1px solid color-mix(in srgb,var(--public-line-strong) 46%,transparent);
    }

    body[data-site-page="about"] .ow-about-opening__foot {
        grid-template-columns:minmax(0,1fr) auto;
        grid-template-rows:auto auto;
        column-gap:16px;
        min-height:0;
        padding-block:13px;
    }
    body[data-site-page="about"] .ow-about-opening__foot > * {
        min-height:0;
    }
    body[data-site-page="about"] .ow-about-opening__foot > span:first-child {
        grid-column:1;
        grid-row:1;
        align-items:flex-end;
        padding:0;
        border:0;
        color:var(--public-ink);
        font-weight:560;
    }
    body[data-site-page="about"] .ow-about-opening__foot > span:nth-child(2) {
        display:flex;
        grid-column:1;
        grid-row:2;
        align-items:flex-start;
        margin-top:4px;
        padding:0;
        border:0;
        color:var(--public-muted);
        line-height:1.45;
    }
    body[data-site-page="about"] .ow-about-opening__foot > .landing-text-link {
        grid-column:2;
        grid-row:1/3;
        align-self:stretch;
        min-height:48px;
        padding-left:16px;
        border-left:1px solid var(--ow-about-line);
        white-space:nowrap;
    }
    body[data-site-page="about"] .ow-principles {
        padding-top:44px;
    }
}

@media (max-width:359px) {
    body[data-site-page="about"] .ow-about-signal {
        grid-template-columns:1fr;
    }
    body[data-site-page="about"] .ow-about-signal li:nth-child(n) {
        border-left:0;
    }
    body[data-site-page="about"] .ow-about-signal li + li {
        border-top:1px solid color-mix(in srgb,var(--public-line-strong) 46%,transparent);
    }
    body[data-site-page="about"] .ow-about-opening__foot {
        grid-template-columns:1fr;
        grid-template-rows:auto auto auto;
        row-gap:3px;
    }
    body[data-site-page="about"] .ow-about-opening__foot > span:first-child,
    body[data-site-page="about"] .ow-about-opening__foot > span:nth-child(2),
    body[data-site-page="about"] .ow-about-opening__foot > .landing-text-link {
        grid-column:1;
    }
    body[data-site-page="about"] .ow-about-opening__foot > span:first-child { grid-row:1; }
    body[data-site-page="about"] .ow-about-opening__foot > span:nth-child(2) { grid-row:2; }
    body[data-site-page="about"] .ow-about-opening__foot > .landing-text-link {
        grid-row:3;
        min-height:44px;
        margin-top:8px;
        padding-left:0;
        border-left:0;
        border-top:1px solid var(--ow-about-line);
    }
}
