/* AyroX's existing typefaces, served locally so the preview is self-contained. */
@font-face{font-family:Saira;src:url('./assets/fonts/saira-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('./assets/fonts/ibm-plex-sans-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('./assets/fonts/ibm-plex-mono-latin.woff2') format('woff2');font-weight:400;font-display:swap}
:root {
  --background: #f7f6f1; /* warm bone */
  --foreground: #141824;

  /* Brand — indigo. UI, CTAs, emphasis. */
  --brand: #5b52e8;
  --brand-d: #4c43d6;
  --brand-tint: rgba(91, 82, 232, 0.075);
  --brand-tint-strong: rgba(91, 82, 232, 0.14);
  --glow: rgba(91, 82, 232, 0.16);
  --grid: rgba(91, 82, 232, 0.06);

  /* Live — teal. Semantic only: telemetry, status, real hardware.
     --live is for dots/borders/fills; --live-ink is the text-safe
     darkening (4.9:1 on bone, where RoboLab's own #0B8E74 hits 3.8:1). */
  --live: #08a585;
  --live-hi: #0b8e74;
  --live-ink: #077a63;
  --scan: rgba(8, 165, 133, 0.12);

  /* Text */
  --text-heading: #141824;
  --text-body: #5c6374;
  --text-muted: #666c80; /* darkened from RoboLab --faint for AA */

  /* Surfaces */
  --surface-a: #fbfaf6;
  --surface-b: #f1efe5;
  --card: #ffffff;
  --border: #e6e3d8;
  --border-strong: #d3cfc0;

  /* Accent */
  --amber: #b45309;

  /* Validation — 6.5:1 on panel white */
  --danger: #b3261e;
  --danger-tint: rgba(179, 38, 30, 0.07);

  --sh-md: 0 12px 34px rgba(30, 30, 50, 0.08);
  --sh-lg: 0 26px 70px rgba(30, 30, 50, 0.12);

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --header-bg: rgba(247, 246, 241, 0.74);
  color-scheme: light;
  --display: Saira, system-ui, sans-serif;
  --sans: 'IBM Plex Sans', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--background);color:var(--text-heading);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
h1,h2,h3,h4,p{margin:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit;cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{border:0;background:none}
img,video{display:block;max-width:100%;height:auto}
svg{display:block}
[hidden]{display:none!important}
::selection{background:var(--brand);color:#fff}
:focus-visible{outline:2px solid var(--brand);outline-offset:5px}
.light-section :focus-visible{outline-color:var(--brand)}
.container{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.eyebrow{font-family:var(--mono);font-size:10px;line-height:1.7;font-weight:400;letter-spacing:1.2px;text-transform:uppercase}
.status-dot,.small-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--live)}
.status-dot{box-shadow:0 0 0 4px var(--scan)}
.text-soft{color:var(--text-body)}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;transform:translateY(-180%);padding:12px 20px;background:var(--brand);color:#fff}
.skip-link:focus{transform:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:14px 23px;font-size:13px;font-weight:600;border:1px solid transparent;border-radius:5px;transition:background .2s,color .2s,border-color .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--brand);color:#fff}
.button-primary:hover{background:var(--brand-d)}
.button-small{font-family:var(--mono);text-transform:uppercase;letter-spacing:.8px;min-height:39px;padding:8px 15px;font-size:12px;gap:18px}
.button-outline{border-color:var(--border-strong)}
.button-outline:hover{background:var(--brand);color:#fff}
.button .icon{width:17px;height:17px}
.text-link{display:inline-flex;align-items:center;gap:15px;font-size:13px;line-height:1.4}
.text-link:hover{color:var(--brand)}
.text-link .icon{width:16px;height:16px}
.icon-button{display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--text-body);border-radius:4px}
.icon-button:hover{background:var(--brand-tint);color:var(--text-heading)}
.site-header{height:84px;position:sticky;top:0;z-index:30;background:var(--header-bg);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap;font-family:var(--display);font-weight:600;font-size:28px;letter-spacing:-1.1px;line-height:1}


.brand-period{color:var(--brand)}

.desktop-nav{display:flex;gap:33px;margin-left:auto;margin-right:42px}
.desktop-nav a{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-body);transition:color .2s}
.desktop-nav a:hover{color:var(--brand)}
.header-actions{display:flex;align-items:center;gap:15px}
.menu-toggle{display:none;width:44px;height:44px;padding:10px}
.menu-toggle span{display:block;height:1px;width:22px;background:var(--text-heading);margin:6px 0;transition:transform .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav{background:var(--background);border-bottom:1px solid var(--border);padding:10px 24px 22px;box-shadow:0 16px 28px rgba(30,30,50,.08)}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);font-size:14px}
.mobile-nav a span{font-family:var(--mono);color:var(--text-body);font-size:10px}
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero-film{position:absolute;z-index:-1;inset:0 0 auto;height:850px;overflow:hidden;pointer-events:none}
.ambient-video{width:100%;height:100%;object-fit:cover;object-position:50% 52%;filter:saturate(.45);opacity:.08}
.hero-film::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f7f6f180,transparent 65%),linear-gradient(0deg,var(--background) 3%,#f7f6f108 60%,#f7f6f140)}
.hero-content{padding-top:65px}
.hero-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:33px}
.hero-topline .eyebrow{display:flex;align-items:center;gap:12px;color:var(--text-body)}
.preview-label{display:flex;align-items:center;gap:25px;border:1px solid var(--border-strong);border-radius:30px;padding:5px 11px;color:var(--brand);font-family:var(--mono);font-size:10px}
.preview-label>span{font-size:14px;line-height:1}
.hero-intro{display:grid;grid-template-columns:1.8fr 1fr;align-items:end;gap:60px}
h1{font-family:var(--display);font-size:clamp(54px,6.4vw,96px);font-weight:700;letter-spacing:-.05em;line-height:1.02}
h1>span{color:var(--brand)}
.hero-copy{padding-bottom:5px;max-width:350px}
.hero-copy>p:first-child{font-size:16px;line-height:1.75;color:var(--text-body);max-width:330px}
.hero-buttons{margin-top:24px;display:flex;align-items:flex-start;flex-direction:column;gap:19px}
.hero-buttons .text-link{color:var(--text-heading);font-size:12px}
.hero-buttons .text-link:hover{color:var(--brand)}
.hero-note{font-size:10px;color:var(--text-body);margin-top:15px}
.hero-bottomline{display:flex;align-items:center;justify-content:space-between;margin:40px 0 30px;gap:24px}
.hero-promises{display:flex;gap:27px;flex-wrap:wrap}
.hero-promises>span{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;color:var(--text-body)}
.hero-promises .icon{width:13px;height:13px;color:var(--brand)}
.motion-toggle{display:flex;align-items:center;gap:9px;color:var(--text-body);font-family:var(--mono);font-size:9px;min-height:32px;padding:4px 0 4px 10px;white-space:nowrap}
.motion-toggle:hover{color:var(--text-heading)}
.motion-icon{font-size:13px}
.product-preview{position:relative;background:var(--card);border:1px solid var(--border);border-radius:9px;box-shadow:0 25px 100px rgba(30,30,50,.08);overflow:hidden;scroll-margin-top:100px}
.preview-toolbar{height:60px;display:flex;align-items:center;gap:16px;padding:0 15px 0 24px}
.preview-tabs{display:flex;align-self:stretch;gap:24px}
.preview-tab{position:relative;display:flex;align-items:center;gap:10px;padding:0 9px;font-size:12px;color:var(--text-body)}
.preview-tab>span{font-family:var(--mono);font-size:9px;color:var(--text-muted)}
.preview-tab::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:transparent;transition:background .2s}
.preview-tab[aria-selected=true]{color:var(--brand)}
.preview-tab[aria-selected=true]::after{background:var(--brand)}
.preview-tab:hover{color:var(--text-heading)}
.preview-environment{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:9px;letter-spacing:.3px;margin-left:auto;color:var(--text-body)}
.preview-environment .status-dot{width:4px;height:4px}
.preview-panels{aspect-ratio:16/9;background:var(--surface-a);border-block:1px solid var(--border);overflow:hidden}
.preview-panel{height:100%;outline-offset:-5px}
.preview-panel img{width:100%;height:100%;object-fit:contain;background:var(--surface-a)}
.preview-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 25px;font-size:11px;color:var(--text-body)}
.preview-caption>span{display:flex;gap:22px;align-items:center;color:var(--text-body);font-family:var(--mono);font-size:9px;white-space:nowrap}
.caption-cross{font-size:21px;font-weight:400;color:var(--brand);line-height:1}
.toolchain{display:flex;align-items:center;padding:48px 0 51px;gap:58px}
.toolchain>.eyebrow{color:var(--text-body);font-size:9px;letter-spacing:1.1px;line-height:1.9;min-width:138px}
.toolchain-tools{display:flex;align-items:center;justify-content:space-between;flex:1;gap:32px;color:var(--text-body)}
.toolchain-tools>span{display:flex;align-items:center;gap:6px;font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-.5px;white-space:nowrap}
.tool-suffix{font-family:var(--mono);font-size:9px;letter-spacing:0;align-self:flex-start;margin-top:8px}
.tool-ros>span{font-size:35px;line-height:1;margin-right:5px}
.tool-python{color:var(--brand);font-family:var(--mono);font-size:18px;margin-left:5px}
.toolchain-tools>.tool-theia{gap:5px;font-family:var(--sans);font-size:17px;font-weight:400;letter-spacing:-.4px}
.tool-theia b{font-weight:600}
.light-section{background:var(--surface-a);color:var(--text-heading);border-block:1px solid var(--border)}
.learning-section{padding:83px 0 72px}
.section-topline{display:flex;align-items:center;justify-content:space-between;padding-bottom:29px;border-bottom:1px solid var(--border)}
.section-topline .eyebrow{color:var(--brand)}
.section-index{font-family:var(--mono);font-size:9px;color:var(--text-body);letter-spacing:.8px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin:41px 0 47px}
h2{font-family:var(--display);font-weight:700;font-size:clamp(36px,4vw,57px);letter-spacing:-.02em;line-height:1.14}
.section-heading>p{color:var(--text-body);font-size:15px;line-height:1.8;max-width:344px;padding-bottom:3px}
.learning-loop{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--border);margin-top:52px}
.learning-loop>article{padding:30px 32px 35px;border-right:1px solid var(--border)}
.learning-loop>article:first-child{padding-left:0}
.learning-loop>article:last-child{border-right:none;padding-right:0}
.step-number{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--text-body);margin-bottom:27px}
.step-number>span{font-size:22px;font-family:var(--sans);line-height:1;color:var(--brand)}
.step-number>.icon{color:var(--brand);width:22px;height:22px}
h3{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.35}
.learning-loop h3{margin-bottom:11px}
.learning-loop p{font-size:13px;color:var(--text-body);line-height:1.8;max-width:320px}
.curriculum-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:62px;margin-bottom:23px}
.curriculum-heading>h3{font-size:23px}
.curriculum-heading>.eyebrow{font-size:9px;color:var(--text-body)}
.curriculum{border-top:1px solid var(--border)}
.course-row{display:grid;grid-template-columns:46px 1fr 1.2fr 175px;gap:26px;align-items:center;min-height:116px;padding:20px 0;border-bottom:1px solid var(--border);transition:padding .2s,background .2s}
.course-row:hover{background:var(--brand-tint)}
.course-number{font-family:var(--mono);font-size:10px;align-self:start;margin-top:5px;color:var(--text-muted)}
.course-level{display:block;font-family:var(--mono);font-size:8px;text-transform:uppercase;letter-spacing:1.3px;color:var(--text-body);margin-bottom:7px}
.course-name h4{font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.course-row>p{font-size:12px;line-height:1.8;color:var(--text-body);max-width:330px}
.course-state{display:inline-flex;align-items:center;gap:8px;justify-self:end;color:var(--live-ink);font-family:var(--mono);font-size:9px;border:1px solid var(--scan);background:var(--scan);border-radius:4px;padding:7px 9px;white-space:nowrap}
.course-state .small-dot{width:4px;height:4px;background:var(--live)}
.course-planned .course-name{color:var(--text-body)}
.state-planned{color:var(--text-muted);background:transparent;border-color:var(--border)}
.curriculum-note{font-size:11px;color:var(--text-body);margin-top:22px}
.simulation-section{padding:83px 0 81px}
.simulation-section .section-heading{margin-bottom:45px}
.simulation-section h2{font-size:clamp(36px,3.8vw,54px)}
.simulation-film{color:#fff;position:relative;isolation:isolate;overflow:hidden;aspect-ratio:2.25;background:#141824;border:1px solid var(--border);border-radius:6px}
.simulation-still{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 56%;filter:saturate(.65)}
.simulation-film::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#141824e0 4%,#14182460 50%,#14182415),linear-gradient(0deg,#14182470,transparent 55%,#14182470)}
.film-topline{display:flex;align-items:center;justify-content:space-between;position:absolute;top:28px;left:32px;right:32px;color:#fff}
.film-topline>.eyebrow{font-size:8px}
.film-label{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:9px}
.film-label>.status-dot{width:4px;height:4px}
.film-content{display:flex;align-items:flex-end;justify-content:space-between;position:absolute;bottom:38px;left:38px;right:38px;gap:40px}
.film-content .eyebrow{font-size:8px;color:#fff;margin-bottom:17px}
.film-content h3{font-size:clamp(26px,3vw,44px);line-height:1.1;letter-spacing:-1.5px}
.film-content p:last-child{font-size:12px;color:#e6e3d8;margin-top:16px}
.film-play{display:flex;align-items:center;gap:15px;text-align:left;padding:8px}
.play-circle{color:#fff;display:grid;place-items:center;flex-shrink:0;width:66px;height:66px;border:1px solid #ffffff88;border-radius:50%;background:var(--brand-tint);backdrop-filter:blur(7px);transition:background .2s,transform .2s}
.play-circle>.icon{width:23px;height:23px;fill:currentColor;stroke:none;margin-left:-2px}
.film-play>span:last-child{display:flex;align-items:center;gap:12px;font-size:11px}
.film-play>span:last-child>.icon{width:14px;height:14px}
.film-play:hover .play-circle{background:var(--brand);color:#fff;transform:scale(1.05)}
.simulation-details{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin:42px 0 68px}
.detail-icon{color:var(--brand);margin-bottom:16px;width:24px;height:24px}
.simulation-details h3{font-size:18px;margin-bottom:10px}
.simulation-details p{font-size:12px;color:var(--text-body);line-height:1.85;max-width:325px}
.library-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.library-card{overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--card)}
.library-card-heading{display:flex;align-items:center;justify-content:space-between;padding:26px 28px}
.library-card-heading .eyebrow{font-size:8px;color:var(--text-body);letter-spacing:1px;margin-bottom:10px}
.library-card-heading h3{font-size:23px}
.library-number{font-family:var(--mono);font-size:29px;color:var(--border-strong);letter-spacing:-1px}
.image-button{display:block;position:relative;width:calc(100% - 40px);padding:0;margin-inline:20px;overflow:hidden;border:1px solid var(--border);border-radius:4px;text-align:inherit}
.image-button>img{width:100%;transition:transform .6s var(--ease)}
.image-button:hover>img{transform:scale(1.025)}
.image-expand{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--border-strong);border-radius:5px;color:var(--text-heading);background:#fffffff2}
.image-expand .icon{width:15px;height:15px}
.library-card>p{padding:21px 28px 23px;font-size:11px;color:var(--text-body)}
.capture-note{text-align:center;margin-top:22px;font-size:10px;color:var(--text-body)}
.mission-section{padding:59px 0 63px;background:var(--surface-b);border-block:1px solid var(--border)}
.mission-inner{display:grid;grid-template-columns:1fr 2.2fr;gap:80px}
.mission-label>.eyebrow{font-size:9px;color:var(--text-body);display:block;margin-bottom:23px}
.parent-brand{display:flex;align-items:center;gap:17px;font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:-.8px;width:fit-content}
.parent-brand .icon{width:16px;height:16px;color:var(--brand)}
.parent-brand:hover{color:var(--brand)}
.mission-inner h2{font-size:35px;letter-spacing:-1px;line-height:1.25;color:var(--text-heading)}
.mission-inner p{max-width:570px;font-size:13px;color:var(--text-body);line-height:1.85;margin-top:20px}
.faq-section{padding:92px 0 88px}
.faq-grid{display:grid;grid-template-columns:1fr 1.65fr;gap:110px}
.faq-grid .eyebrow{color:var(--brand);margin-bottom:22px}
.faq-grid h2{font-size:49px}
.faq-contact{font-size:12px;color:var(--text-body);margin-top:26px;line-height:1.85}
.faq-contact>.text-link{font-size:12px;color:var(--text-heading);margin-top:9px}
.faq-list{border-top:1px solid var(--border)}
.faq-list details{border-bottom:1px solid var(--border)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:14px;list-style:none;padding:23px 0;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{font-family:var(--mono);font-size:20px;font-weight:400;line-height:1;color:var(--brand);transition:transform .2s}
.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-list summary:hover{color:var(--brand)}
.faq-list details p{font-size:13px;color:var(--text-body);line-height:1.9;padding:0 34px 24px 0}
.access-section{position:relative;isolation:isolate;padding:84px 0 89px;border-top:1px solid var(--border);background:var(--surface-a);overflow:hidden}
.access-section::before{content:'';position:absolute;z-index:-1;width:520px;height:520px;left:-50px;bottom:-250px;border:1px solid var(--grid);border-radius:50%;box-shadow:0 0 0 70px rgba(91,82,232,.025),0 0 0 140px rgba(91,82,232,.02),0 0 0 210px rgba(91,82,232,.01);pointer-events:none}
.access-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:110px;align-items:center}
.access-copy>.eyebrow{display:flex;align-items:center;gap:11px;color:var(--brand);margin-bottom:27px;font-size:9px}
.access-copy h2{font-size:clamp(40px,4.5vw,64px);line-height:1.12;letter-spacing:-2.6px}
.access-copy h2>span{color:var(--brand)}
.access-copy>p:not(.eyebrow){max-width:340px;color:var(--text-body);font-size:14px;line-height:1.85;margin-top:25px}




.site-footer{padding:38px 0 26px}
.footer-top{display:flex;align-items:center;gap:33px;padding-bottom:29px;border-bottom:1px solid var(--border)}
.footer-top .brand{font-size:27px}
.footer-top>p{font-size:11px;color:var(--text-body)}
.footer-top>.text-link{margin-left:auto;font-size:12px}
.footer-bottom{display:flex;align-items:center;gap:32px;padding-top:20px;color:var(--text-muted);font-size:9px}
.footer-bottom>a{margin-left:auto}
.footer-bottom>a:hover{color:var(--brand)}
.footer-location{font-family:var(--mono);font-size:8px;color:var(--text-muted)}
.media-dialog{width:min(1440px,96vw);max-width:96vw;max-height:94vh;padding:0;color:var(--text-heading);background:var(--background);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 30px 120px #0009}
.media-dialog::backdrop{background:#14182499;backdrop-filter:blur(8px)}
.dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 14px 9px 22px}
.dialog-toolbar h2{font-family:var(--sans);font-size:13px;font-weight:400;letter-spacing:0;line-height:1.5}
.dialog-content{background:#0c1019}
.dialog-content img,.dialog-content video{width:100%;max-height:calc(94vh - 110px);object-fit:contain;margin:auto}
.dialog-caption{font-size:10px;color:var(--text-body);padding:13px 22px}
.reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){.reveal.is-waiting{opacity:0;transform:translateY(18px)}.reveal{transition:opacity .65s var(--ease),transform .65s var(--ease)}}
/* Official AyroX identity and pilot invitation. */
.brand-lockup{display:flex;align-items:center;gap:22px;flex-shrink:0}
.ayrox-brand{display:block;width:154px;flex-shrink:0}
.ayrox-brand img{width:100%;height:auto}
.product-brand{border-left:1px solid var(--border-strong);padding-left:22px;font-size:25px;color:var(--text-heading);letter-spacing:-.02em}
.parent-brand img{width:170px;height:auto}









.invitation-note{color:var(--text-muted);font-size:10px;line-height:1.8;margin-top:16px}
.invitation-note a{color:var(--brand);text-decoration:underline}
@media(min-width:1600px){.hero-content{padding-top:85px}.hero-intro{gap:110px}.hero-bottomline{margin-top:49px}.hero-copy{max-width:360px}}
@media(max-width:1199px){.container{width:calc(100% - 80px)}.desktop-nav{gap:25px;margin-right:25px}.hero-intro{gap:35px;grid-template-columns:1.6fr 1fr}h1{font-size:7vw;letter-spacing:-4px}.hero-copy>p:first-child{font-size:14px}.hero-copy .button{font-size:12px;min-height:48px;padding:12px 18px}.hero-note{font-size:9px}.toolchain{gap:30px}.toolchain-tools{gap:22px}.toolchain-tools>span{font-size:21px}.course-row{grid-template-columns:28px 1fr 1fr 158px;gap:20px}.course-name h4{font-size:20px}.simulation-details{gap:35px}.access-grid{gap:60px}.faq-grid{gap:70px}.mission-inner{gap:60px}.footer-location{display:none}}
@media(max-width:900px){.container{width:calc(100% - 56px)}.site-header{height:74px}.hero-content{padding-top:46px}.hero-intro{grid-template-columns:1.5fr 1fr;gap:24px}h1{font-size:7.2vw;letter-spacing:-3px}.hero-copy>p:first-child{font-size:13px}.hero-buttons{gap:14px;margin-top:17px}.hero-note{display:none}.hero-topline{margin-bottom:30px}.hero-promises{gap:17px}.hero-promises>span{font-size:8px}.hero-bottomline{margin-top:33px;margin-bottom:22px}.motion-toggle{font-size:8px}.toolchain{gap:20px}.toolchain>.eyebrow{min-width:120px;font-size:8px}.toolchain-tools>span{font-size:19px}.toolchain-tools>.tool-theia{font-size:14px}.toolchain-tools{gap:16px}.tool-python{display:none}.section-heading{gap:35px}.section-heading>p{max-width:295px;font-size:13px}.learning-loop>article{padding-inline:24px}.learning-loop h3{font-size:18px}.learning-loop p{font-size:12px}.course-row{grid-template-columns:24px 1fr 1fr;gap:17px;min-height:125px}.course-row>p{font-size:11px}.course-state{grid-column:2;grid-row:auto;justify-self:start;font-size:8px;padding:4px 7px;margin-top:-5px}.course-number{grid-row:span 2}.course-row>p{grid-column:3;grid-row:span 2}.simulation-film{aspect-ratio:1.9}.film-content{left:27px;right:25px;bottom:28px}.film-topline{left:26px;right:26px;top:24px}.film-play{flex-direction:column;align-items:flex-start;gap:10px}.film-play>span:last-child{font-size:10px}.play-circle{width:54px;height:54px}.simulation-details{gap:24px}.simulation-details h3{font-size:17px}.library-card-heading{padding:23px}.library-card-heading h3{font-size:20px}.library-number{display:none}.library-card>p{font-size:10px;padding:17px 23px}.mission-inner{grid-template-columns:1fr 2fr;gap:40px}.mission-inner h2{font-size:29px}.mission-inner p{font-size:12px}.faq-grid{grid-template-columns:1fr 1.65fr;gap:40px}.faq-grid h2{font-size:42px}.faq-list summary{font-size:12px}.faq-list details p{font-size:12px}.access-grid{gap:40px}.access-copy h2{font-size:45px}.access-copy>p:not(.eyebrow){font-size:13px}.access-copy>.eyebrow{font-size:8px}}
@media(max-width:700px){html{scroll-padding-top:85px}.container{width:calc(100% - 40px)}.site-header{height:70px}.brand{font-size:25px;gap:9px}.header-inner{gap:12px}.desktop-nav{display:none}.header-actions{gap:5px}.header-actions .button{font-size:10px;gap:8px;padding:8px 12px;min-height:36px}.header-actions .button .icon{width:13px;height:13px}.menu-toggle{display:block}.hero-content{padding-top:36px}.hero-topline{gap:20px;margin-bottom:27px}.hero-topline .eyebrow{font-size:8px;letter-spacing:.7px;gap:9px}.hero-topline .status-dot{width:4px;height:4px}.preview-label{font-size:8px;gap:12px;padding:4px 8px}.hero-intro{display:block}h1{font-size:clamp(42px,10.5vw,71px);letter-spacing:-2.9px;line-height:1.08}.hero-copy{max-width:100%;padding-bottom:0;margin-top:23px}.hero-copy>p:first-child{max-width:410px;font-size:14px;line-height:1.75}.hero-buttons{flex-direction:row;align-items:center;flex-wrap:wrap;gap:22px;margin-top:22px}.hero-copy .button{font-size:11px;min-height:47px;padding:12px 16px;gap:18px}.hero-buttons .text-link{font-size:11px;gap:10px}.hero-note{display:block;font-size:9px;margin-top:14px}.hero-bottomline{align-items:flex-start;gap:6px;flex-direction:column;margin:25px 0 12px}.hero-promises{gap:8px 18px}.hero-promises>span{font-size:8px;gap:5px}.hero-promises .icon{width:11px;height:11px}.motion-toggle{align-self:flex-end;min-height:27px;font-size:8px}.hero-film{height:660px}.ambient-video{object-position:58% center;opacity:.07}.product-preview{border-radius:6px}.preview-toolbar{height:51px;padding:0 7px 0 9px;gap:8px}.preview-tabs{gap:8px;flex:1}.preview-tab{font-size:11px;padding-inline:7px;gap:6px}.preview-tab>span{font-size:8px}.preview-environment{display:none}.preview-toolbar .icon-button{min-width:35px;min-height:40px}.preview-toolbar .icon{width:16px;height:16px}.preview-caption{padding:11px 14px}.preview-caption p{font-size:9px;line-height:1.7;max-width:280px}.preview-caption>span{font-size:0;gap:0}.preview-caption .caption-cross{font-size:18px}.toolchain{padding:31px 0 36px;align-items:flex-start;flex-direction:column;gap:19px}.toolchain>.eyebrow{min-width:0;font-size:8px;line-height:1.6;letter-spacing:1px}.toolchain>.eyebrow br{display:none}.toolchain-tools{gap:20px;flex-wrap:wrap;justify-content:flex-start;width:100%}.toolchain-tools>span{font-size:21px}.toolchain-tools>.tool-theia{font-size:14px}.tool-ros>span{font-size:29px}.tool-suffix{font-size:7px;margin-top:7px}.learning-section,.simulation-section{padding:54px 0}.section-topline{padding-bottom:19px}.section-topline .eyebrow{font-size:8px;letter-spacing:1px}.section-index{font-size:7px;letter-spacing:0}.section-heading{display:block;margin:28px 0 30px}.section-heading h2,.simulation-section h2{font-size:39px;letter-spacing:-1.8px;line-height:1.15}.section-heading>p{max-width:440px;font-size:13px;margin-top:21px;padding:0}.learning-loop{grid-template-columns:1fr;margin-top:31px;border-top:0}.learning-loop>article,.learning-loop>article:first-child,.learning-loop>article:last-child{padding:23px 0;border-right:0;border-top:1px solid var(--border);display:grid;grid-template-columns:36px 1fr;gap:0 12px}.step-number{grid-row:span 2;display:block;margin:4px 0 0;font-size:9px}.step-number>span,.step-number>.icon{display:none}.learning-loop h3{font-size:19px;margin-bottom:8px}.learning-loop p{font-size:12px;max-width:440px}.curriculum-heading{margin-top:36px;display:block;margin-bottom:20px}.curriculum-heading h3{font-size:22px;margin-bottom:8px}.curriculum-heading>.eyebrow{font-size:8px}.course-row{grid-template-columns:24px 1fr;gap:0 12px;padding:20px 0;min-height:0}.course-number{grid-row:span 3;font-size:9px;margin-top:3px}.course-name h4{font-size:22px}.course-level{font-size:8px;margin-bottom:5px}.course-row>p{grid-column:2;grid-row:auto;font-size:12px;margin-top:9px;max-width:440px}.course-state{margin-top:12px;font-size:8px;padding:4px 8px}.curriculum-note{font-size:10px;line-height:1.8;margin-top:18px}.simulation-section .section-heading{margin-bottom:30px}.simulation-film{aspect-ratio:1.12}.simulation-still{object-position:64% center}.simulation-film::after{background:linear-gradient(0deg,#141824e8,#14182415 85%)}.film-topline{top:18px;left:19px;right:19px}.film-label{font-size:8px}.film-topline>.eyebrow{font-size:7px;letter-spacing:.7px}.film-content{display:block;left:20px;bottom:21px;right:20px}.film-content h3{font-size:31px;letter-spacing:-1px}.film-content .eyebrow{font-size:7px;margin-bottom:11px}.film-content p:last-child{font-size:10px;margin-top:10px}.film-play{flex-direction:row;align-items:center;gap:12px;margin-top:16px;padding:0}.play-circle{width:42px;height:42px}.play-circle>.icon{width:17px;height:17px}.film-play>span:last-child{font-size:10px}.simulation-details{grid-template-columns:1fr;gap:0;margin:10px 0 34px}.simulation-details article{display:grid;grid-template-columns:24px 1fr;gap:0 16px;padding:22px 0;border-bottom:1px solid var(--border)}.detail-icon{grid-row:span 2;width:20px;height:20px;margin-top:1px}.simulation-details h3{font-size:18px;margin-bottom:8px}.simulation-details p{font-size:12px;max-width:440px}.library-grid{grid-template-columns:1fr;gap:18px}.library-card-heading{padding:22px}.library-card-heading h3{font-size:23px}.library-number{display:block;font-size:27px}.library-card>p{padding:17px 22px;font-size:11px}.capture-note{text-align:left;font-size:9px;line-height:1.8;margin-top:17px}.mission-section{padding:37px 0 40px}.mission-inner{grid-template-columns:1fr;gap:27px}.mission-label{display:flex;align-items:center;justify-content:space-between;gap:22px}.mission-label>.eyebrow{font-size:8px;margin:0}.parent-brand{font-size:19px;gap:9px}.parent-brand .icon{width:13px;height:13px}.mission-inner h2{font-size:28px;line-height:1.25}.mission-inner p{font-size:12px;line-height:1.85;margin-top:17px}.faq-section{padding:51px 0}.faq-grid{grid-template-columns:1fr;gap:31px}.faq-grid .eyebrow{font-size:8px;margin-bottom:16px}.faq-grid h2{font-size:39px;letter-spacing:-1.5px}.faq-grid h2 br{display:none}.faq-contact{margin-top:17px;font-size:11px}.faq-contact br{display:none}.faq-contact>.text-link{font-size:11px;margin-left:8px;margin-top:0}.faq-list summary{font-size:13px;padding:21px 0;gap:20px}.faq-list details p{font-size:12px;padding-right:25px}.access-section{padding:49px 0}.access-grid{grid-template-columns:1fr;gap:31px}.access-copy>.eyebrow{font-size:8px;margin-bottom:22px}.access-copy h2{font-size:47px;letter-spacing:-2px}.access-copy>p:not(.eyebrow){font-size:13px;max-width:425px;margin-top:20px}.site-footer{padding:29px 0 23px}.footer-top{flex-wrap:wrap;gap:13px 26px;padding-bottom:23px}.footer-top .brand{font-size:26px}.footer-top>p{font-size:10px;order:3;width:100%}.footer-top>.text-link{font-size:11px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;font-size:9px;padding-top:18px}.footer-bottom>a{margin-left:0}.dialog-toolbar{padding:7px 8px 7px 14px;gap:8px}.dialog-toolbar h2{font-size:11px}.dialog-caption{padding:12px 14px;font-size:9px}.dialog-content img{max-height:calc(94vh - 130px)}}
@media(max-width:380px){.container{width:calc(100% - 32px)}.hero-topline{gap:8px}.hero-topline .eyebrow{font-size:7px}.preview-label{font-size:7px;padding:4px 7px}.hero-promises{gap:8px 11px}.hero-promises>span{font-size:7px}.hero-buttons{gap:15px}.hero-buttons .text-link{font-size:10px}.section-index{display:none}.toolchain-tools{gap:11px 19px}.toolchain-tools>span{font-size:18px}.section-heading h2,.simulation-section h2{font-size:35px}.header-actions .button{font-size:9px;padding:7px 9px}.brand{font-size:23px}.header-actions{gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.is-waiting{opacity:1;transform:none}}

@media(max-width:1000px){.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{margin-left:auto}.brand-lockup{gap:18px}.product-brand{padding-left:18px}.header-actions .button-small{font-size:10px}}
@media(max-width:700px){.brand-lockup{gap:10px}.ayrox-brand{width:32px}.ayrox-brand img{width:32px;height:28px;object-fit:contain}.product-brand{border:0;padding-left:0;font-size:24px}.header-actions .button-small{font-size:9px;letter-spacing:.2px}.parent-brand img{width:137px}}
@media(max-width:380px){.brand-lockup{gap:7px}.product-brand{font-size:21px}.ayrox-brand{width:27px}.ayrox-brand img{width:27px;height:26px}.header-actions .button-small{font-size:8px;padding-inline:8px}.header-inner{gap:7px}.menu-toggle{width:36px;padding:7px}}
