/* Revenant Robotics — locally rendered, responsive, no remote font dependency */
:root {
  color-scheme: dark;
  --ink: #080d13; --surface: #0d151e; --surface-2: #111c28;
  --white: #f5f8fc; --muted: #aebfce; --soft: #d5dee9;
  --line: rgba(171,196,216,.21); --blue: #268fff; --red: #e83f55;
  --page: min(1200px, calc(100% - 2 * clamp(22px, 4.4vw, 74px)));
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}
*,*::before,*::after {box-sizing: border-box}
html {scroll-behavior:smooth;scroll-padding-top:88px}
body {margin:0;min-width:280px; background:var(--ink);color:var(--white);font-family:var(--font);-webkit-font-smoothing:antialiased}
img {max-width:100%;display:block}
a {color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible {outline:2px solid var(--blue);outline-offset:4px}
h1,h2,h3,p {margin-top:0}
p {line-height:1.75}
button,input {font:inherit}
.container {width:var(--page);margin-inline:auto}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header {background:#070c12;border-bottom:1px solid var(--line);position:relative;z-index:10}
.topbar {min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand {display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.brand-symbol {display:block;width:54px;height:54px;object-fit:contain;border-radius:50%}
.site-nav {display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,2.8vw,37px);min-width:0;flex-wrap:wrap}
.site-nav a {display:inline-block;padding:9px 0;font-size:.74rem;letter-spacing:.095em;font-weight:700;color:#b8c8d6;white-space:nowrap}
.site-nav a:hover,.site-nav a[aria-current="page"] {color:white}
.site-nav a[aria-current="page"] {border-bottom:2px solid var(--blue)}
.eyebrow {font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#b2cadc;font-weight:750;line-height:1.5;margin:0 0 18px}
.eyebrow::before {content:"";width:19px;height:2px;background:var(--blue);display:inline-block;vertical-align:middle;margin-right:11px}
.blue-text {color:var(--blue)}.red-text {color:var(--red)}
/* The approved image already contains the company logotype. Keep text OUT of it. */
.home-hero {background:#070c12}
.hero-art {background:#03070b;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-art picture,.hero-art img {display:block;width:100%}
.hero-art img {height:auto;object-fit:contain}
.hero-message {background:linear-gradient(115deg,#0a121c,#0a0f16);border-bottom:1px solid var(--line)}
.hero-message-grid {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);align-items:center;gap:clamp(26px,5vw,86px);padding-block:58px 66px}
.hero-message h2 {font-size:clamp(2.2rem,4.4vw,4.3rem);line-height:1.1;letter-spacing:-.048em;font-weight:730;max-width:750px;margin:0;text-wrap:balance}
.hero-message-copy p {font-size:1.05rem;color:var(--soft);max-width:420px;margin:0 0 19px}
.hero-message-copy .positioning-lede {color:#eef4fb;font-size:clamp(1.03rem,1.24vw,1.18rem);font-weight:600;line-height:1.64}
.hero-message-copy .positioning-support {color:#bfcddd;font-size:1rem;line-height:1.7}
.text-link {display:inline-flex;align-items:center;gap:13px;letter-spacing:.105em;font-size:.77rem;text-transform:uppercase;font-weight:800;border-bottom:1px solid var(--blue);padding:11px 0}
.text-link span {color:var(--blue);font-size:1.14rem;line-height:1}
.text-link:hover {color:#cbeaff}
.intro-strip {background:#090f15;border-bottom:1px solid var(--line)}
.intro-layout {padding-block:45px;display:grid;grid-template-columns:210px minmax(0,1fr);gap:45px;align-items:start}
.intro-layout .eyebrow {margin-top:5px}
.intro-layout p:last-child {font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.5;color:#d8e3ee;margin:0;max-width:850px;font-weight:550}
.platforms {padding-block:110px 125px}
.section-heading {display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:39px}
.section-title {font-size:clamp(2.9rem,6vw,5.7rem);line-height:1.04;letter-spacing:-.055em;font-weight:750;margin:0;text-wrap:balance}
.section-deck {color:var(--muted);font-size:1rem;max-width:380px;margin:0}
.platform-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.platform-card {border:1px solid var(--line);min-width:0;background:#0d151d;display:flex;flex-direction:column}
.platform-card:hover {border-color:rgba(59,159,255,.55)}
.platform-art {height:335px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 52% 45%,#172c3d 0%,#0b1722 55%,#0a1119 95%);border-bottom:1px solid var(--line)}
.platform-card.rsap .platform-art {background:radial-gradient(ellipse at 52% 45%,#2b202c 0%,#16151d 55%,#0c1018 95%)}
.platform-art:not(.has-photo)::before {content:"";width:230px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(148,184,217,.27);box-shadow:inset 0 0 0 33px rgba(148,184,217,.025),0 0 65px rgba(16,81,133,.11);position:absolute}
.platform-art:not(.has-photo)::after {content:"";width:165px;aspect-ratio:1;border:1px dashed rgba(148,184,217,.22);border-radius:50%;position:absolute}
.placeholder-name {font-size:clamp(2.2rem,4vw,3.6rem);letter-spacing:-.045em;font-weight:750;color:rgba(218,235,255,.6);text-align:center;z-index:1}
.platform-art .pending-label {position:absolute;bottom:20px;left:24px;right:24px;font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;color:#aec3d3;font-weight:700;text-align:left;z-index:1}
.platform-body {padding:29px clamp(24px,3.2vw,40px) 36px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.platform-meta {color:#a4bfd3;font-size:.72rem;letter-spacing:.13em;font-weight:750;margin:0 0 18px}
.platform-card h3 {font-size:clamp(2.2rem,3.7vw,3.55rem);letter-spacing:-.06em;line-height:1.12;margin:0 0 8px}
.platform-tagline {font-size:1rem;color:#e7eef6;font-weight:700;line-height:1.55;margin:0 0 14px}
.platform-desc {font-size:.97rem;color:var(--muted);margin:0 0 22px}
.platform-body .text-link {margin-top:auto}
.philosophy {border-block:1px solid var(--line);background:#0b131c;padding-block:90px 105px}
.philosophy-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,8vw,115px)}
.philosophy h2 {font-size:clamp(2.9rem,5.4vw,5rem);line-height:1.05;letter-spacing:-.055em;font-weight:750;margin:0}
.philosophy-copy p {color:#cedae6;font-size:1.02rem}
.method-lines {margin-top:26px;border-top:1px solid var(--line)}
.method-lines div {padding:16px 0;display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--line);font-size:.8rem;letter-spacing:.06em;font-weight:760;text-transform:uppercase}
.method-lines b {color:var(--blue);font-size:.77rem}
/* Robot profiles */
.profile-hero {background:radial-gradient(ellipse at 82% 16%,rgba(25,90,154,.18),transparent 55%),#0d1722;border-bottom:1px solid var(--line)}
.profile-hero.rsap {background:radial-gradient(ellipse at 82% 16%,rgba(151,40,70,.2),transparent 55%),#11131d}
.profile-hero .container {padding-block:77px 76px}
.profile-hero .eyebrow {margin-bottom:18px}
.profile-hero h1 {font-size:clamp(3.8rem,9vw,8rem);line-height:1.02;letter-spacing:-.066em;font-weight:800;margin:0 0 13px;overflow-wrap:anywhere}
.profile-hero h1 span {color:var(--blue)}.profile-hero.rsap h1 span {color:var(--red)}
.profile-hero h2 {font-size:clamp(1.05rem,2.1vw,1.4rem);font-weight:550;line-height:1.45;color:#c9d9e8;max-width:700px;margin:0}
.profile-spec-wrap {background:#0b121a;border-bottom:1px solid var(--line)}
.profile-specs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.spec {min-width:0;padding:25px 28px 28px;border-right:1px solid var(--line)}
.spec:first-child {padding-left:0}.spec:last-child {border-right:0;padding-right:0}
.spec small {display:block;color:#a8bbc9;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:750;margin-bottom:8px;line-height:1.5}
.spec strong {font-size:.99rem;color:#f2f7fe;font-weight:650;line-height:1.45;display:block;overflow-wrap:anywhere}
.profile-main {padding-block:96px 108px}
.profile-layout {display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);align-items:start;gap:clamp(35px,6vw,84px)}
.profile-copy h2 {font-size:clamp(2.3rem,4vw,3.8rem);line-height:1.12;letter-spacing:-.058em;font-weight:740;margin:0 0 25px;overflow-wrap:normal;text-wrap:balance}
.profile-copy > p:not(.eyebrow) {color:#c6d4e0;font-size:1.02rem;line-height:1.85;margin-bottom:24px}
.capabilities {display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}
.capabilities span {border:1px solid var(--line);background:#111e2a;color:#d4e1ec;text-transform:uppercase;letter-spacing:.045em;font-size:.7rem;font-weight:700;padding:10px 11px;line-height:1.4}
.viewer-column {min-width:0}
.viewer-topline {display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:15px;flex-wrap:wrap}
.viewer-topline h3 {font-size:1.12rem;letter-spacing:.03em;margin:0;font-weight:750;line-height:1.35}
.viewer-topline span {font-size:.74rem;color:#adbfcc;letter-spacing:.08em;text-transform:uppercase}
.spin-viewer {border:1px solid var(--line);background:radial-gradient(ellipse at 48% 38%,#1b2d3e,#0c1621 65%,#0a1118);height:clamp(385px,42vw,575px);position:relative;overflow:hidden;touch-action:pan-y;user-select:none;display:grid;place-items:center}
.spin-viewer[data-ready="true"] {cursor:ew-resize}
.spin-placeholder {position:relative;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;gap:12px}
.spin-placeholder::before {content:"";position:absolute;inset:0;opacity:.3;background-image:linear-gradient(rgba(171,198,227,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(171,198,227,.13) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse,black 3%,transparent 70%)}
.spin-orbit {display:grid;place-items:center;aspect-ratio:1;width:min(205px,56%);border:1px solid rgba(157,193,221,.3);border-radius:50%;position:relative;margin-bottom:16px}
.spin-orbit::after {content:"";position:absolute;inset:20px;border:1px dashed rgba(157,193,221,.24);border-radius:50%}
.spin-orbit span {font-size:clamp(2.7rem,4vw,3.3rem);font-weight:750;letter-spacing:-.08em;color:#9fbdd8}
.spin-placeholder strong {font-size:1.24rem;letter-spacing:-.02em;line-height:1.3;font-weight:700;position:relative}
.spin-placeholder small {max-width:280px;color:#b3c7d6;font-size:.83rem;line-height:1.55;position:relative}
.frame-img {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.frame-img[hidden],.spin-placeholder[hidden],.viewer-controls[hidden] {display:none}
.viewer-controls {display:flex;align-items:center;gap:13px;margin-top:16px}
.viewer-controls button {width:44px;height:44px;flex:0 0 auto;cursor:pointer;background:#132536;color:white;border:1px solid var(--line);font-size:1.2rem}
.viewer-controls button:hover {background:#223c50}
.viewer-controls input {min-width:0;flex:1;accent-color:var(--blue)}
.viewer-controls output {font-size:.8rem;color:#becddb;min-width:58px;text-align:right;font-variant-numeric:tabular-nums}
.viewer-footnote {font-size:.85rem;color:#a8bbc9;line-height:1.65;margin:15px 0 0}
.below-navigation {border-top:1px solid var(--line);background:#0d1620;padding-block:61px 69px}
.next-project {display:flex;align-items:center;justify-content:space-between;gap:25px}
.next-project h2 {font-size:clamp(2.4rem,5vw,4.5rem);line-height:1;letter-spacing:-.05em;margin:0}
.site-footer {border-top:1px solid var(--line);padding:26px 0;background:#060b10}
.footer-main {display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.footer-main p {margin:0;font-size:.74rem;letter-spacing:.085em;color:#b5c4d1}
@media(max-width:990px) {
 .profile-layout {grid-template-columns:1fr}
 .viewer-column {max-width:700px;width:100%}
 .spin-viewer {height:clamp(365px,56vw,570px)}
 .platform-art {height:290px}
}
@media(max-width:700px) {
 .topbar {min-height:67px;gap:11px}
 .brand-symbol {width:43px;height:43px}
 .site-nav {gap:12px}.site-nav a {font-size:.67rem;letter-spacing:0}
 .hero-message-grid {grid-template-columns:1fr;padding-block:39px 46px;gap:24px}
 .hero-message h2 {font-size:clamp(2.2rem,9vw,3.8rem)}
 .hero-message-copy p {font-size:.99rem}
 .intro-layout {grid-template-columns:1fr;gap:6px;padding-block:36px}
 .intro-layout p:last-child {font-size:1.11rem}
 .platforms {padding-block:75px 87px}
 .section-heading {display:block;margin-bottom:29px}.section-deck {margin-top:16px}
 .platform-grid {grid-template-columns:1fr;gap:23px}
 .platform-art {height:285px}
 .platform-card h3 {font-size:2.65rem}
 .philosophy {padding-block:66px 77px}.philosophy-grid {grid-template-columns:1fr;gap:26px}
 .profile-hero .container {padding-block:62px 58px}
 .profile-hero h1 {font-size:clamp(3.6rem,15vw,5.6rem)}
 .profile-hero h2 {font-size:1.07rem}
 .profile-specs {grid-template-columns:1fr}
 .spec,.spec:first-child,.spec:last-child {padding:15px 0;border-right:0;border-bottom:1px solid var(--line)}.spec:last-child {border-bottom:0}
 .spec small {font-size:.69rem;margin-bottom:4px}.spec strong {font-size:.95rem}
 .profile-main {padding-block:67px 80px}.profile-layout {gap:49px}
 .profile-copy h2 {font-size:clamp(2rem,8.2vw,2.85rem);letter-spacing:-.05em}
 .profile-copy > p:not(.eyebrow) {font-size:1rem;line-height:1.79}
 .viewer-topline {display:block}.viewer-topline span {display:block;margin-top:6px}
 .spin-viewer {height:clamp(320px,92vw,470px)}
 .spin-orbit {width:min(165px,55%);margin-bottom:11px}
 .spin-placeholder strong {font-size:1.11rem}
 .below-navigation {padding-block:47px 55px}.next-project {align-items:flex-start;flex-direction:column;gap:15px}
 .footer-main {flex-direction:column;align-items:center;gap:9px;text-align:center}
}
@media(max-width:350px) {
 .topbar {gap:7px}.brand-symbol {width:38px;height:38px}
 .site-nav {gap:9px}.site-nav a {font-size:.61rem}
 .profile-hero h1 {font-size:3.45rem}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}*,*::before,*::after {animation:none!important;transition:none!important}}

/* Homepage robot imagery: only real supplied photos; no 360 activation on homepage. */
.platform-art.has-photo {background:#101a24}
.platform-art .platform-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:1;padding:10px}
.platform-art.has-photo .placeholder-name,.platform-art.has-photo .pending-label {display:none}
.platform-photo-link {position:absolute;left:18px;bottom:17px;z-index:2;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#eaf6ff;font-weight:750;padding:9px 13px;background:rgba(7,14,22,.76);border:1px solid rgba(164,198,228,.38);backdrop-filter:blur(7px)}
.platform-photo-link[hidden] {display:none}
.platform-art.has-photo .platform-photo-link {display:block}
@media(max-width:700px) {.platform-art .platform-photo {padding:8px}}

/* Social links: a quiet, legible footer instead of cluttering the header. */
.footer-main {display:grid;grid-template-columns:minmax(145px,1fr) auto;align-items:center;column-gap:28px;row-gap:17px}
.footer-copyright {white-space:nowrap}
.footer-social {display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,2vw,28px);flex-wrap:wrap}
.footer-social a {display:inline-flex;gap:9px;align-items:center;font-size:.77rem;line-height:1.55;color:#dae8f5;font-weight:650;white-space:nowrap;transition:color .2s ease}
.footer-social a:hover,.footer-social a:focus-visible {color:#65b9ff}
.footer-social .social-icon {display:block;flex:0 0 auto;width:18px;height:18px;color:#a8c4d8;transition:color .2s ease}
.footer-social a:hover .social-icon,.footer-social a:focus-visible .social-icon {color:#65b9ff}
.footer-social .social-handle {color:inherit;font-weight:550}
@media (max-width:1080px) {
 .footer-main {grid-template-columns:1fr auto}
 .footer-copyright {grid-column:1;grid-row:1}
 .footer-social {grid-column:2;grid-row:1;flex-direction:column;align-items:flex-end;gap:6px}
}
@media (max-width:700px) {
 .footer-main {display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px}
 .footer-social {justify-content:center;align-items:center;flex-direction:row;gap:14px;margin-top:12px}
 .footer-social a {font-size:.74rem}
}
@media (max-width:390px) {
 .footer-social {flex-direction:column;gap:4px}
}

/* Icon-only header: ROBIE/RSAP emblems centered within matching white circular
   badges. The icon files remain transparent, and do NOT enter photo areas. */
.site-nav {gap:clamp(12px,2.4vw,28px);flex-wrap:nowrap;align-items:center;}
.site-nav .nav-robot-link {
  display:flex;align-items:center;justify-content:center;flex:none;
  width:54px;height:54px;min-width:54px;padding:0;
  border:0; border-radius:50%;overflow:hidden;
  background:radial-gradient(circle at 48% 38%, #ffffff 0%, #ffffff 70%, #f4f6f9 90%, #e7ebf1 100%);
  box-shadow:inset 0 0 0 1.4px #b7bec8;
  transition:box-shadow .18s ease,transform .18s ease;
}
.site-nav .nav-robot-link img {display:block;width:84%;height:84%;object-fit:contain;}
.site-nav .nav-robot-link:hover {background-color:#fff;box-shadow:inset 0 0 0 1.6px #69bfff,0 0 0 2px rgba(38,143,255,.19);transform:translateY(-1px)}
.site-nav .nav-robot-link[aria-current="page"] {border:0;box-shadow:inset 0 0 0 2px var(--blue),0 0 0 2px rgba(38,143,255,.11);}
.site-nav .nav-robot-link:focus-visible {outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:700px) {
  .site-nav {gap:clamp(12px,4vw,20px)}
  .site-nav .nav-robot-link {width:43px;min-width:43px;height:43px;}
}
@media(max-width:350px) {
  .site-nav {gap:12px}
  .site-nav .nav-robot-link {width:38px;min-width:38px;height:38px;}
}


/* About Revenant Robotics: editorial scroll section, NOT a new header link. */
.about-section {position:relative;padding-block:clamp(72px,8.5vw,120px) clamp(69px,7vw,96px);background:linear-gradient(145deg,#101a25 0%,#0b121a 56%,#080d13 100%);border-block:1px solid var(--line)}
.about-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.87fr);column-gap:clamp(40px,7.5vw,110px);align-items:start}
.about-heading h2 {font-size:clamp(2.55rem,5.1vw,5.15rem);line-height:1.08;font-weight:750;letter-spacing:-.055em;max-width:690px;overflow-wrap:normal;text-wrap:balance;margin:0 0 23px}
.about-signature {font-size:.78rem;font-weight:760;color:#9cb2c4;text-transform:uppercase;letter-spacing:.16em;margin:0}
.about-story {max-width:620px;min-width:0}
.about-story p {font-size:1rem;line-height:1.78;color:#c4d2df;margin:0 0 18px}
.about-story .about-lede {font-size:clamp(1.25rem,2vw,1.63rem);line-height:1.51;letter-spacing:-.014em;font-weight:650;color:#f5f8fc;margin-bottom:23px}
.about-origin-link {display:inline-flex;align-items:center;gap:10px;margin-top:10px;padding-bottom:9px;border-bottom:1px solid var(--blue);color:#edf6ff;font-size:.76rem;line-height:1.5;font-weight:800;letter-spacing:.11em;text-transform:uppercase;transition:color .15s ease}
.about-origin-link span {color:var(--blue);font-size:1.1rem}
.about-origin-link:hover,.about-origin-link:focus-visible {color:#68bbff}
.about-timeline {margin-top:clamp(40px,6vw,70px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-milestone {min-width:0;padding:25px clamp(14px,2.2vw,32px) 27px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:9px}
.about-milestone:first-child {padding-left:0}
.about-milestone:last-child {border:0;padding-right:0}
.about-step {color:#86bdf0;font-size:.66rem;font-weight:790;letter-spacing:.14em}
.about-milestone strong {color:#f1f5fa;font-size:1.18rem;font-weight:720;letter-spacing:-.022em}
.about-milestone>span:last-child {color:#adbdca;font-size:.88rem;line-height:1.62}
@media(max-width:850px) {.about-grid {grid-template-columns:1fr;gap:32px}.about-heading h2 {max-width:690px}.about-story {max-width:740px}}
@media(max-width:700px) {.about-section {padding-block:70px 72px}.about-heading h2 {font-size:clamp(2.35rem,9vw,3.65rem)}.about-story p {font-size:.98rem}.about-timeline {grid-template-columns:1fr;margin-top:44px}.about-milestone,.about-milestone:first-child,.about-milestone:last-child {padding:19px 0;border-right:0;border-bottom:1px solid var(--line)}.about-milestone:last-child {border-bottom:0}.about-milestone strong {font-size:1.1rem}}

:root { --architectural-bg: url("assets/revenant-architectural-bg.webp"); }

/* REFINED CINEMATIC SYSTEM v2 — deliberately selective.
   The photographic splash stays unchanged. Architectural background appears
   in About and Footer only. All robot photography and spin surfaces stay neutral. */
.site-header {
  background:#070d14;
  background-image:linear-gradient(180deg,#0c131c 0%,#070c12 100%);
  box-shadow:none;
  border-bottom:1px solid rgba(171,196,216,.20);
}
.topbar {
  justify-content:center;
  min-height:84px;
  gap:clamp(17px,2.8vw,30px);
}
.site-nav {gap:clamp(17px,2.8vw,30px)}
.brand,.site-nav .nav-robot-link {transition:transform .2s ease,box-shadow .2s ease;}
.brand:hover {transform:translateY(-1px)}
/* Optional subtle header line, rather than a textured background */
.site-header::after {content:"";display:block;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(226,58,71,.36) 27%,rgba(255,255,255,.09) 50%,rgba(47,140,246,.36) 73%,transparent 100%);}
.hero-message {background:#0b141e;background-image:linear-gradient(105deg,#101a26 0%,#0b131c 62%,#09111a 100%)}
.platforms {background:#080d13;background-image:none}
.platform-card {box-shadow:none}
.philosophy {background:#0b131c;background-image:none}
.profile-hero {background:radial-gradient(ellipse at 82% 16%,rgba(25,90,154,.18),transparent 55%),#0d1722}
.profile-hero.rsap {background:radial-gradient(ellipse at 82% 16%,rgba(151,40,70,.2),transparent 55%),#11131d}
.below-navigation {background:#0d1620;background-image:none}
/* About: the one fully designed secondary cinematic section */
.about-section {
  background-image:
    linear-gradient(105deg,rgba(7,15,24,.77) 0%,rgba(7,14,22,.89) 35%,rgba(7,14,22,.92) 66%,rgba(7,14,22,.69) 100%),
    var(--architectural-bg);
  background-size:cover;
  background-position:center 44%;
}
.about-section .container {position:relative;z-index:1}
.about-section::before {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,11,18,.28),transparent 17%,transparent 83%,rgba(5,11,18,.33));}
/* Branded footer: same atmosphere, stronger edge lights but quieter center */
.site-footer {
  background-image:
    linear-gradient(90deg,rgba(4,9,15,.45),rgba(5,11,17,.74) 30%,rgba(5,11,17,.75) 70%,rgba(4,9,15,.46)),
    var(--architectural-bg);
  background-size:cover;
  background-position:center 94%;
}
@media(max-width:700px){
  .topbar {min-height:68px;gap:clamp(15px,5.2vw,23px)}
  .site-nav {gap:clamp(15px,5.2vw,23px)}
  .about-section {background-position:center 48%}
}
@media(max-width:350px){
  .topbar,.site-nav {gap:14px}
}

/* Empty photo slots are intentionally blank until the real photo has loaded. */
.platform-art .platform-photo[hidden] {display:none!important}


/* SITE NAVIGATION — minimal left-side icon drawer, open by pointer hover or tap.
   The old top header is intentionally removed from all pages. */
.side-dock {
  --dock-panel-w:76px;
  --dock-icon-size:52px;
  position:fixed;left:0;top:50%;z-index:90;
  display:flex;align-items:center;
  transform:translate(calc(-1 * var(--dock-panel-w)), -50%);
  transition:transform .23s cubic-bezier(.2,.72,.2,1);
  filter:drop-shadow(0 8px 26px rgba(0,0,0,.38));
}
.side-dock[data-open="true"] {transform:translate(0,-50%)}
.side-dock-panel {
  order:1;width:var(--dock-panel-w);padding:13px 11px;display:flex;flex-direction:column;gap:14px;align-items:center;
  border:1px solid rgba(158,189,214,.29);border-left:0;border-radius:0 12px 12px 0;
  background:linear-gradient(160deg,rgba(18,31,43,.98),rgba(5,10,16,.98));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.side-dock-link {
  display:grid;place-items:center;flex:none;width:var(--dock-icon-size);height:var(--dock-icon-size);
  border-radius:50%;overflow:hidden;border:1px solid rgba(185,203,224,.68);
  background:radial-gradient(circle at 45% 30%,white 0%,#f5f7fa 76%,#dde4ed 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.08);transition:transform .16s ease,box-shadow .16s ease;
}
.side-dock-link img {display:block;width:86%;height:86%;object-fit:contain}
.side-dock-home {background:transparent;border-color:transparent;box-shadow:none}
.side-dock-home img {width:100%;height:100%;object-fit:contain}
.side-dock-link:hover {transform:scale(1.045);box-shadow:0 0 0 2px rgba(55,153,250,.64)}
.side-dock-link[aria-current="page"] {box-shadow:0 0 0 2px var(--blue)}
.side-dock-link:focus-visible,.side-dock-toggle:focus-visible {outline:2px solid #76c6ff;outline-offset:3px}
.side-dock-toggle {
  order:2;width:27px;height:90px;display:grid;place-items:center;padding:0;cursor:pointer;
  color:#c5e0f7;background:linear-gradient(180deg,#182a3b,#0d1826);
  border:1px solid rgba(129,173,204,.54);border-left:0;border-radius:0 9px 9px 0;
  box-shadow:inset 2px 0 0 rgba(42,149,253,.67);
  touch-action:manipulation;
}
.side-dock-toggle:hover {background:#1b354c}
.side-dock-toggle svg {transition:transform .2s ease}
.side-dock[data-open="true"] .side-dock-toggle svg {transform:rotate(180deg)}
/* A real destination replaces the confusing generic 'Discover the platform' CTA. */
.collection-return {display:flex;align-items:center;justify-content:flex-start}
.collection-return-link {display:inline-flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--blue);
  color:#eaf4fe;font-size:.8rem;text-transform:uppercase;letter-spacing:.105em;font-weight:760}
.collection-return-link:hover {color:#79c8ff}
.collection-return-link span {font-size:1.3rem;color:var(--blue)}
@media(max-width:700px){
  .side-dock{--dock-panel-w:70px;--dock-icon-size:48px}
  .side-dock-panel{padding:11px 10px;gap:11px}
  .side-dock-toggle{width:25px;height:78px}
  .collection-return-link {font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){.side-dock,.side-dock-toggle svg,.side-dock-link{transition:none}}

/* Homepage studio portraits are real HTML images, not JS-dependent placeholders. */
.platform-art.has-photo {height:clamp(400px,42vw,510px);background:transparent;border-bottom:1px solid var(--line)}
.platform-art.has-photo .platform-photo {padding:18px 18px 0;width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}
@media (max-width:700px) { .platform-art.has-photo {height:clamp(340px,112vw,510px)} .platform-art.has-photo .platform-photo {padding:14px 14px 0} }


/* Robot detail pages: matched-height editorial panels and in-image rotation UI.
   The controls never create a second row below the photograph. */
.profile-layout {
  grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
  align-items:stretch;
  gap:clamp(24px,4vw,54px);
}
.profile-copy {
  min-width:0;
  border:1px solid var(--line);
  padding:clamp(23px,2.65vw,38px);
  background:linear-gradient(135deg,rgba(15,26,37,.56),rgba(7,12,19,.55));
}
.viewer-column {
  position:relative;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  background:#0c1621;
  border:1px solid var(--line);
}
.spin-viewer {
  border:0;
  width:100%;
  flex:1 1 auto;
  height:auto;
  min-height:620px;
  overflow:hidden;
  background:radial-gradient(ellipse at 50% 40%,#1d3041 0%,#101d2b 51%,#0a121b 100%);
}
.profile-hero.rsap ~ .profile-main .spin-viewer {background:radial-gradient(ellipse at 50% 40%,#24212d 0%,#171720 56%,#0c1119 100%)}
.spin-viewer .frame-img {
  object-fit:contain;
  padding:32px 18px 38px;
}
.spin-corner-label {
  position:absolute;
  z-index:3;
  top:20px;
  left:24px;
  color:rgba(211,228,241,.77);
  font-size:.65rem;
  letter-spacing:.18em;
  font-weight:780;
  pointer-events:none;
}
.spin-arrow {
  position:absolute;
  z-index:5;
  top:50%;transform:translateY(-50%);
  display:grid;place-items:center;
  width:40px;height:55px;
  padding:0;
  border:1px solid rgba(197,216,236,.27);
  background:rgba(9,18,28,.43);
  color:rgba(240,247,255,.91);
  font-size:2.15rem;
  line-height:1;
  font-weight:300;
  cursor:pointer;
  border-radius:4px;
  opacity:.76;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  transition:opacity .18s ease,background .18s ease,border-color .18s ease;
  touch-action:manipulation;
}
.spin-arrow-prev{left:12px}.spin-arrow-next{right:12px}
.spin-arrow:hover,.spin-arrow:focus-visible {opacity:1;background:rgba(20,42,61,.86);border-color:rgba(124,189,244,.78)}
.spin-hint {
  position:absolute;z-index:3;
  bottom:21px;left:50%;transform:translateX(-50%);
  padding:9px 13px;
  color:#d6e5f2;
  background:rgba(5,11,17,.53);
  border:1px solid rgba(194,217,237,.17);
  border-radius:3px;
  font-size:.65rem;
  letter-spacing:.16em;
  white-space:nowrap;
  font-weight:710;
  pointer-events:none;
  opacity:.9;
  transition:opacity .24s ease;
}
.spin-viewer[data-interacted="true"] .spin-hint {opacity:0}
.spin-arrow[hidden],.spin-hint[hidden] {display:none!important}
@media (max-width:990px) {
  .profile-layout {grid-template-columns:1fr;gap:28px}
  .viewer-column {height:clamp(380px,70vw,650px);min-height:0;max-width:none}
  .spin-viewer {min-height:0;height:100%}
}
@media (max-width:700px) {
  .profile-copy {padding:clamp(20px,5vw,27px)}
  .viewer-column {height:clamp(360px,102vw,560px)}
  .spin-viewer .frame-img {padding:20px 9px 28px}
  .spin-arrow {width:35px;height:48px;font-size:1.95rem}
  .spin-arrow-prev {left:6px}.spin-arrow-next {right:6px}
  .spin-corner-label {left:17px;top:16px}
  .spin-hint {bottom:14px;font-size:.62rem;padding:8px 11px}
}
@media (prefers-reduced-motion:reduce) {
  .spin-hint,.spin-arrow {transition:none}
}


/* ROBOT PROFILE — three-card composition (text / 360 / full-width capabilities).
   The first grid row keeps both panels at exactly the same rendered height. */
.profile-layout {
  align-items:stretch;
  column-gap:clamp(24px,4vw,54px);
  row-gap:20px;
}
.profile-copy,.viewer-column {align-self:stretch;min-height:0}
.capabilities-panel {
  grid-column:1 / -1;
  min-width:0;
  border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(15,26,37,.56),rgba(7,12,19,.55));
  padding:clamp(19px,2vw,26px) clamp(23px,2.65vw,38px);
}
.capabilities-panel .capabilities {margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
@media (max-width:990px) {
  .profile-layout {row-gap:20px}
  .capabilities-panel {grid-column:1}
}
@media (max-width:700px) {
  .capabilities-panel {padding:18px clamp(20px,5vw,27px)}
}


/* Robot introductions — a single understated control within each text panel.
   Existing two-column + full-width capability structure is preserved. */
.profile-copy { display:flex; flex-direction:column; }
.voice-intro { margin-top:auto; padding-top:18px; border-top:1px solid rgba(171,196,216,.21); }
.voice-intro-button {
  display:flex; align-items:center; width:100%; min-height:58px; gap:15px;
  padding:3px 0; margin:0; color:#edf5fc; background:none; border:0;
  cursor:pointer; text-align:left;
}
.voice-intro-symbol {
  display:grid;place-items:center;flex:0 0 48px;height:48px;
  border:1px solid rgba(139,188,228,.42);border-radius:50%;
  background:rgba(20,54,77,.55);color:#acd8ff;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.profile-hero.rsap ~ .profile-main .voice-intro-symbol {
  border-color:rgba(235,122,146,.43);background:rgba(86,32,51,.35);color:#ffb2c1;
}
.voice-intro-button:hover .voice-intro-symbol,
.voice-intro-button:focus-visible .voice-intro-symbol {
  background:rgba(36,101,151,.56);border-color:rgba(154,208,255,.8);color:#fff;
}
.profile-hero.rsap ~ .profile-main .voice-intro-button:hover .voice-intro-symbol,
.profile-hero.rsap ~ .profile-main .voice-intro-button:focus-visible .voice-intro-symbol {
  background:rgba(130,44,67,.51);border-color:rgba(255,177,194,.9);
}
.voice-intro-copy {display:flex; flex-direction:column; gap:3px;min-width:0}
.voice-intro-eyebrow {font-size:.62rem;letter-spacing:.14em;font-weight:750;color:#a7bdce;line-height:1.3}
.voice-intro-copy strong {font-size:.92rem;font-weight:720;letter-spacing:.02em;line-height:1.5}
.voice-intro-time {margin-left:auto;font-variant-numeric:tabular-nums;color:#95b0c5;font-size:.75rem;font-weight:600;white-space:nowrap}
.voice-icon-pause {display:none}
.voice-intro-button[aria-pressed="true"] .voice-icon-sound {display:none}
.voice-intro-button[aria-pressed="true"] .voice-icon-pause {display:block}
.voice-intro-button:focus-visible {outline-offset:5px;border-radius:4px}
@media(max-width:700px) {
  .voice-intro {padding-top:15px}
  .voice-intro-symbol {flex-basis:44px;height:44px}
}
@media(prefers-reduced-motion:reduce) { .voice-intro-symbol {transition:none} }


/* TYPOGRAPHY REFINEMENT / editorial rhythm only — approved wording and 3-panel
   composition remain unchanged. Works with system fonts and offline Safari. */
:root { --readable-copy: #d1dce6; --quiet-copy: #b9c9d7; }

/* Page-wide reading hierarchy: quieter secondary text, compact paragraphs. */
.hero-message-copy { max-width: 540px; }
.hero-message-copy .positioning-lede {
  font-size: clamp(1.045rem, 1.22vw, 1.16rem);
  line-height: 1.61;
  letter-spacing: -.012em;
  font-weight: 585;
  color: #eaf2f9;
  max-width: 46ch;
}
.hero-message-copy .positioning-support {
  font-size: .97rem;
  line-height: 1.71;
  color: var(--quiet-copy);
  max-width: 49ch;
}
.section-deck { line-height: 1.69; max-width: 43ch; }
.platform-desc { font-size: .96rem; line-height: 1.7; color: #bdccda; }
.platform-tagline { line-height: 1.47; }
.philosophy-copy p {
  font-size: 1rem;
  line-height: 1.72;
  color: var(--readable-copy);
  max-width: 62ch;
  margin-bottom: 17px;
}
.philosophy-copy p:first-child { color: #ebf2f8; font-weight: 520; }

/* The About story was previously all one large-size opening block.
   Keep the first sentence as the lead, and return the remaining story to body size. */
.about-story .about-lede {
  font-size: clamp(1.23rem,1.65vw,1.48rem);
  line-height: 1.48;
  letter-spacing: -.017em;
  font-weight: 640;
  margin-bottom: 18px;
  max-width: 36ch;
}
.about-story .about-origin-continuation { color: #d3deea; }
.about-story p:not(.about-lede) {
  font-size: .98rem;
  line-height: 1.72;
  margin: 0 0 17px;
  max-width: 64ch;
}
.about-story p:last-child { margin-bottom:0; }

/* Both robot descriptions: heading establishes the idea; a short lead introduces
   the subject; quiet rhythm separates the details and a concluding statement. */
.profile-copy { padding:clamp(25px,2.65vw,38px); }
.profile-copy .eyebrow { margin-bottom: 16px; }
.profile-copy h2 {
  font-size: clamp(2.03rem,2.75vw,2.83rem);
  line-height: 1.12;
  letter-spacing: -.045em;
  font-weight: 720;
  margin: 0 0 22px;
  text-wrap: balance;
}
.profile-copy > p:not(.eyebrow) {
  font-size: clamp(.955rem,1.06vw,.995rem);
  line-height: 1.7;
  letter-spacing: .002em;
  color: var(--readable-copy);
  margin: 0 0 17px;
  max-width: 66ch;
  font-weight: 410;
}
.profile-copy > p.profile-lede {
  font-size: clamp(1.015rem,1.11vw,1.07rem);
  line-height: 1.68;
  letter-spacing: -.006em;
  color: #f0f5f9;
  font-weight: 520;
  margin-bottom: 21px;
}
.profile-copy > p.profile-section-break {
  margin-top: 5px;
  padding-top: 20px;
  border-top: 1px solid rgba(171,196,216,.18);
}
.profile-copy > p.profile-conclusion {
  margin-top: 2px;
  margin-bottom: 24px;
  padding: 1px 0 1px 15px;
  border-left: 2px solid rgba(38,143,255,.72);
  color: #e6eff8;
  font-weight: 530;
  line-height: 1.68;
}
.profile-hero.rsap ~ .profile-main .profile-copy > p.profile-conclusion {
  border-left-color: rgba(232,63,85,.72);
}
.profile-copy .voice-intro { padding-top: 16px; }

@media (max-width:990px) {
  .profile-copy h2 {font-size:clamp(2.05rem,4.5vw,2.8rem)}
  .profile-copy > p:not(.eyebrow) {font-size:1rem}
  .profile-copy > p.profile-lede {font-size:1.075rem}
}
@media (max-width:700px) {
  .hero-message-copy .positioning-lede { font-size:1.05rem;line-height:1.62; }
  .hero-message-copy .positioning-support {font-size:.98rem;line-height:1.7;}
  .about-story .about-lede {font-size:1.28rem;line-height:1.53;max-width:unset;}
  .about-story p:not(.about-lede) {font-size:.985rem;line-height:1.73;}
  .profile-copy {padding:clamp(22px,5.5vw,29px);}
  .profile-copy h2 {font-size:clamp(1.98rem,7.3vw,2.5rem);margin-bottom:19px;}
  .profile-copy > p:not(.eyebrow) {font-size:.985rem;line-height:1.72;margin-bottom:16px;}
  .profile-copy > p.profile-lede {font-size:1.045rem;line-height:1.68;}
  .profile-copy > p.profile-section-break {padding-top:18px;}
  .profile-copy > p.profile-conclusion {padding-left:13px;margin-bottom:24px;}
}


/* ROBOT PROFILE: true continuous L-shaped editorial text surface.
   The 360 photograph is inset in the top-right corner of the ONE text panel.
   Paragraphs naturally wrap next to it, then continue full width below.
   The separate capabilities bar remains directly beneath this composition. */
.profile-l-layout {
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  align-items:start;
}
.profile-l-layout .profile-flow-copy {
  display:flow-root; /* establish a float formatting context */
  padding:clamp(25px,2.65vw,38px);
  min-width:0;
}
.profile-l-layout .viewer-column {
  float:right;
  width:46%;
  aspect-ratio:1/1;
  height:auto;
  min-height:0;
  margin:calc(-1 * clamp(25px,2.65vw,38px)) calc(-1 * clamp(25px,2.65vw,38px)) 24px 32px;
  background:#0c1621;
  position:relative;
  border:1px solid var(--line);
  max-width:none;
}
.profile-l-layout .viewer-column .spin-viewer {
  width:100%;height:100%;min-height:0;aspect-ratio:1/1;
  flex:0 0 auto;
}
.profile-l-layout .viewer-column .frame-img {padding:22px 16px 28px}
.profile-l-layout .profile-flow-copy > p:not(.eyebrow) {max-width:none}
/* At this existing editorial break, the narrative enters the lower arm of the L. */
.profile-l-layout .profile-flow-copy > p.profile-section-break {clear:both;}
.profile-l-layout .profile-flow-copy .voice-intro {
  clear:both;
  max-width:510px;
  margin-top:16px;
}
.profile-l-layout .capabilities-panel {grid-column:1;}
@media (max-width:990px) {
  .profile-l-layout .profile-flow-copy {
    display:flex;
    flex-direction:column;
    padding:clamp(22px,5.5vw,29px);
  }
  .profile-l-layout .profile-flow-copy > .eyebrow {order:0}
  .profile-l-layout .profile-flow-copy > h2 {order:1}
  .profile-l-layout .profile-flow-copy > .profile-lede {order:2}
  .profile-l-layout .viewer-column {
    order:3;
    float:none;
    width:100%;height:auto;
    aspect-ratio:1/1;
    min-height:0;
    margin:8px 0 28px;
    max-width:none;
  }
  .profile-l-layout .profile-flow-copy > p:not(.eyebrow):not(.profile-lede) {order:4}
  .profile-l-layout .profile-flow-copy > .voice-intro {
    order:5;clear:none;margin-top:8px;max-width:none;
  }
  .profile-l-layout .viewer-column .spin-viewer {height:100%}
}
@media(max-width:700px){
  .profile-l-layout .viewer-column {margin:6px 0 22px;}
  .profile-l-layout .viewer-column .frame-img{padding:14px 8px 18px}
}


/* HOMEPAGE ABOUT — wrap the story around the heading in a real L-shaped flow.
   Wide screens: heading takes the upper-left, the prose begins to its right,
   then automatically continues underneath, filling the former empty corner.
   No copy changes, borders, or auxiliary boxes. */
@media (min-width: 960px) {
  .about-grid {
    display:flow-root;
  }
  .about-heading {
    float:left;
    width:43%;
    margin:0 7.1% 44px 0;
  }
  .about-heading h2 {
    max-width:none;
  }
  .about-story {
    display:block;
    max-width:none;
    min-width:0;
  }
  .about-story .about-lede {
    max-width:none;
  }
  .about-story p:not(.about-lede) {
    max-width:none;
  }
}
@media (min-width: 851px) and (max-width: 959px) {
  /* At medium widths, keep the original two-column editorial treatment;
     the wrapped L returns when there is sufficient room for readable text. */
  .about-grid { display:grid; }
}


/* OCTOBER 12 — approved layout polish. Start both homepage editorial columns
   at the same top baseline without changing the typography or copy. */
.hero-message-grid {align-items:start;}

/* Public manuals: discreet peer action to the right of each voice introduction.
   The actions stay inside the continuous L-shaped robot description panel;
   nothing is added under or over the 360° photograph. */
.profile-l-layout .profile-flow-copy .voice-intro {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, .92fr);
  align-items:center;
  column-gap:clamp(18px, 4vw, 44px);
  row-gap:12px;
  max-width:none;
}
.profile-l-layout .voice-intro-button {min-width:0;}
.profile-l-layout .manual-link {
  display:flex;
  min-width:0;
  align-items:center;
  gap:13px;
  text-decoration:none;
  color:#e7f0f8;
  padding:3px 0;
  min-height:58px;
  transition:color .18s ease;
}
.profile-l-layout .manual-link-symbol {
  display:grid;place-items:center;
  flex:0 0 46px;width:46px;height:46px;
  color:#b6cadb;
  background:rgba(33,50,64,.27);
  border:1px solid rgba(174,196,217,.29);
  border-radius:50%;
  transition:border-color .18s ease,background .18s ease;
}
.profile-l-layout .manual-link-copy {display:flex;flex-direction:column;gap:3px;min-width:0}
.profile-l-layout .manual-link-copy strong {font-size:.92rem;font-weight:680;line-height:1.5;letter-spacing:.02em}
.profile-l-layout .manual-link-arrow {margin-left:auto;font-size:1.13rem;color:#a1bdd2}
.profile-l-layout .manual-link:hover, .profile-l-layout .manual-link:focus-visible {color:#fff}
.profile-l-layout .manual-link:hover .manual-link-symbol,
.profile-l-layout .manual-link:focus-visible .manual-link-symbol {
  background:rgba(44,68,87,.55);border-color:rgba(168,209,241,.75);
}
.profile-l-layout .manual-link:focus-visible {outline:2px solid #76c6ff;outline-offset:5px;border-radius:3px}
@media (max-width:600px) {
 .profile-l-layout .profile-flow-copy .voice-intro {grid-template-columns:1fr;row-gap:12px}
 .profile-l-layout .manual-link {min-height:52px}
}
@media (prefers-reduced-motion:reduce) {
 .profile-l-layout .manual-link,.profile-l-layout .manual-link-symbol {transition:none}
}


/* Visual refresh — the user-approved homepage artwork is displayed unaltered
   at natural aspect ratio, preventing the previous tall hero margins. The robot
   headers echo its diagonal slash and floor impact without baking text into art. */
.home-hero { background:#060a10; }
.hero-art { background:#060a10; }
.hero-art picture, .hero-art img { width:100%;display:block; }
.hero-art img { height:auto;object-fit:contain;object-position:center; }
.profile-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#080e15 url("assets/robie-header-light.webp") center center / cover no-repeat;
  border-bottom:1px solid rgba(98,157,209,.28);
}
.profile-hero.rsap {
  background:#0b0c14 url("assets/rsap-header-light.webp") center center / cover no-repeat;
  border-bottom-color:rgba(204,91,109,.3);
}
.profile-hero .container {position:relative;z-index:1;padding-block:56px 58px}
.profile-hero h1 {text-shadow:0 3px 24px rgba(0,0,0,.32)}
.profile-hero h2 {color:#d8e3ed;text-shadow:0 2px 12px rgba(0,0,0,.38)}
.profile-hero.rsap .eyebrow::before {background:var(--red)}
@media(max-width:700px) {
  .hero-art img {height:auto}
  .profile-hero .container {padding-block:44px 46px}
  .profile-hero {background-position:63% center}
  .profile-hero.rsap {background-position:63% center}
}


/* Approved ROBIE Sr. and RSAP robot-page banner artwork (Oct 12, 2026).
   Show the complete, original images — no artificial recreations or cropping.
   The semantic headings remain in HTML for screen readers and indexing. */
.profile-hero, .profile-hero.rsap {
  background:#060a11;
  border-bottom:1px solid rgba(134,163,192,.23);
  padding:0;
  min-height:0;
  overflow:hidden;
}
.profile-hero .profile-banner-art {
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
  object-position:center;
}
.profile-hero .container.profile-banner-copy {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  clip-path:inset(50%) !important;
  border:0 !important;
}


/* Editorial refresh: clearer actions and founder credit. No layout rework. */
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; column-gap:26px; row-gap:10px; }
.hero-actions .text-link { white-space:nowrap; }
.hero-actions .hero-follow-link { color:#c1d2e0; }
.hero-actions .hero-follow-link:hover { color:#f1f8ff; }
.about-story .about-founder-credit { font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:#a2b9cc; font-weight:680; margin-top:-6px; margin-bottom:23px; }
@media(max-width:700px) { .hero-actions { column-gap:19px; row-gap:8px; } }


/* Dedicated Resources index; uses the established website palette and rhythm. */
.resources-hero{padding:clamp(70px,9vw,125px) 0 clamp(50px,7vw,84px);background:radial-gradient(ellipse at 75% 50%,rgba(28,115,185,.16),transparent 65%),#0a121a;border-bottom:1px solid var(--line)}
.resources-hero h1{font-size:clamp(3.3rem,7.8vw,7rem);line-height:1.03;letter-spacing:-.064em;margin:0 0 24px;font-weight:780}
.resources-hero .resources-deck{max-width:750px;color:#c4d3df;font-size:clamp(1.03rem,1.55vw,1.2rem);line-height:1.7;margin:0}
.resources-index{padding:clamp(55px,7vw,92px) 0 clamp(88px,9vw,132px)}
.resources-subhead{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:#a9c5dc;font-weight:740;margin:0 0 24px}
.resources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.resources-card{min-height:250px;background:linear-gradient(135deg,#101d29,#0b131d);border:1px solid var(--line);padding:clamp(26px,3.1vw,43px);display:flex;flex-direction:column;align-items:flex-start;transition:border-color .16s ease,background .16s ease}
.resources-card:hover,.resources-card:focus-within{border-color:rgba(71,157,244,.68);background:linear-gradient(135deg,#162638,#0b1520)}
.resources-card .rc-eyebrow{display:flex;align-items:center;gap:11px;color:#8fb3cf;font-size:.7rem;font-weight:730;text-transform:uppercase;letter-spacing:.14em;margin-bottom:22px}
.resources-card .rc-eyebrow svg{color:#93c6ef;flex:none}
.resources-card h2{font-size:clamp(1.65rem,2.8vw,2.4rem);line-height:1.2;letter-spacing:-.042em;font-weight:730;margin:0 0 14px}
.resources-card p{color:#c1d1df;font-size:.99rem;line-height:1.75;max-width:50ch;margin:0 0 19px}
.resources-card .text-link{margin-top:auto}
.resources-card .text-link span{display:inline-block}
.resources-note{margin:30px 0 0;color:#9bb1c6;line-height:1.7;font-size:.88rem;max-width:75ch}
.resources-card .rc-secondary{margin-top:10px;font-size:.82rem;color:#afc7da;border-bottom:1px solid rgba(125,168,209,.3);padding-bottom:3px}
.resources-card .rc-secondary:hover{color:#fff}
@media(max-width:760px){.resources-grid{grid-template-columns:1fr}.resources-card{min-height:0}.resources-hero{padding-top:65px}.resources-index{padding-top:55px}}
@media(prefers-reduced-motion:reduce){.resources-card{transition:none}}

/* Robot detail pages: blueprint and the existing lower narrative, side by side.
   The introduction, 360 viewer and full-width audio/manual actions stay in place. */
.profile-l-layout .profile-flow-copy > .profile-blueprint-split {
  clear: both;
  display: grid;
  grid-template-columns: 46% minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 2.65vw, 38px);
  margin-top: 5px;
  padding-top: 20px;
  border-top: 1px solid rgba(171,196,216,.18);
}
.profile-blueprint-split .profile-blueprint-art {
  margin: 0;
  min-width: 0;
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid transparent;
  background: transparent;
}
.profile-blueprint-split .profile-blueprint-art img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: contain;
  padding: 22px 16px 28px;
}
.profile-blueprint-split .profile-blueprint-copy { min-width: 0; }
.profile-blueprint-split .profile-blueprint-copy > p {
  font-size: clamp(.955rem,1.06vw,.995rem);
  line-height: 1.7;
  letter-spacing: .002em;
  color: var(--readable-copy);
  margin: 0 0 17px;
  font-weight: 410;
}
.profile-blueprint-split .profile-blueprint-copy > p.profile-conclusion {
  margin-top: 2px;
  margin-bottom: 0;
  padding: 1px 0 1px 15px;
  border-left: 2px solid rgba(38,143,255,.72);
  color: #e6eff8;
  font-weight: 530;
  line-height: 1.68;
}
.profile-hero.rsap ~ .profile-main .profile-blueprint-copy > p.profile-conclusion {
  border-left-color: rgba(232,63,85,.72);
}
@media (max-width: 990px) {
  .profile-l-layout .profile-flow-copy > .profile-blueprint-split {
    order: 4;
    grid-template-columns: 1fr;
  }
  .profile-blueprint-split .profile-blueprint-copy > p { font-size: 1rem; }
}
@media (max-width: 700px) {
  .profile-blueprint-split .profile-blueprint-art img { padding: 14px 8px 18px; }
  .profile-l-layout .profile-flow-copy > .profile-blueprint-split {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-top: 18px;
  }
  .profile-blueprint-split .profile-blueprint-copy > p {
    font-size: .985rem;
    line-height: 1.72;
    margin-bottom: 16px;
  }
  .profile-blueprint-split .profile-blueprint-copy > p.profile-conclusion {
    padding-left: 13px;
    margin-bottom: 0;
  }
}
