@font-face{font-family:Instrument;src:url('/assets/inter-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url('/assets/inter-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Instrument;src:url('/assets/inter-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Instrument;src:url('/assets/inter-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/jetbrains-mono-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/jetbrains-mono-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}

:root{--paper:#f7f8f8;--white:#fff;--ink:#151b1e;--sub:#566267;--line:#d8dfe2;--dark:#10171b;--cyan:#00a5e5;--link:#0078a8;--gutter:clamp(22px,5vw,80px);--max:1400px;--ease:cubic-bezier(.2,.65,.3,1);color-scheme:light}*{box-sizing:border-box}/* Smooth scrolling is enabled only after load. While the document is still
   loading the browser keeps re-running the fragment scroll, and a smooth
   scroll-behavior turns each of those into a visible animation that lands
   short when late media shifts the layout. Anchor clicks stay smooth. */
html.scroll-smooth{scroll-behavior:smooth}
section[id],main[id]{scroll-margin-top:100px}body{margin:0;font-family:Instrument,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}img{display:block;max-width:100%}svg{display:block;flex-shrink:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.048em;line-height:1.05}h2{font-size:clamp(2.65rem,4.3vw,4.35rem)}h3{font-size:1.5rem;line-height:1.15}p{color:var(--sub)}ul{margin:0;padding:0;list-style:none}.wrap{max-width:calc(var(--max) + 2*var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:110px}.mono,.eyebrow{font-family:Plex,monospace;letter-spacing:.045em;font-size:.75rem;font-weight:400;line-height:1.6}.eyebrow{display:block;text-transform:uppercase;margin-bottom:24px;color:var(--link)}.lead{font-size:1.125rem;line-height:1.6;max-width:620px}.muted{color:var(--sub)}.rule{border-top:1px solid var(--line)}.dark{background:var(--dark);color:#f6fafc}.dark p{color:#aebec6}.dark .eyebrow{color:#49bfed}.dark .rule{border-color:#324048}.small{font-size:.875rem}.caption{font:400 .75rem/1.6 Plex,monospace;color:#65777f;letter-spacing:.025em}.skip{position:fixed;top:-90px;left:20px;z-index:100;background:#fff;color:#10171b;padding:12px 22px}.skip:focus{top:12px}::selection{background:#99dcf9;color:#10171b}:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}.site-header{position:sticky;top:0;z-index:50;background:rgba(247,248,248,.97);backdrop-filter:blur(15px);border-bottom:1px solid #dbe1e4}.header-inner{height:82px;display:flex;align-items:center;gap:50px}.logo img{width:84px;height:47px;object-fit:contain}.navigation{margin-left:auto;display:flex;align-items:center;gap:48px}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{font-size:.9375rem;position:relative;padding-block:16px}.nav-links a:after{content:'';height:1px;background:var(--ink);position:absolute;left:0;right:100%;bottom:8px;transition:right .25s}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{right:0}.nav-cta{font-size:.875rem;display:flex;align-items:center;gap:18px;border:1px solid #c6d0d4;padding:11px 16px;transition:background .2s}.nav-cta:hover{background:#e6eff4}
.nav-cta svg{width:17px;height:17px}.menu-toggle{display:none;align-items:center;justify-content:center;width:45px;height:43px;border:1px solid var(--line);background:transparent;margin-left:auto}.menu-toggle svg{width:22px;height:22px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:15px 21px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:.9375rem;line-height:1.3;transition:background .2s,border-color .2s}.button svg{width:18px;height:18px;transition:transform .25s}.button:hover{background:#31434c;border-color:#31434c}.button:hover svg{transform:translateX(3px)}.button.cyan{background:var(--cyan);color:#071e29;border-color:var(--cyan)}.button.cyan:hover{background:#5ac9f5;border-color:#5ac9f5}.button.light{background:#f7f9fa;border-color:#f7f9fa;color:#141e24}.button.outline{background:transparent;color:var(--ink);border-color:#a7b7be}.text-link{display:inline-flex;align-items:center;gap:14px;padding-block:9px;font-size:.9375rem;font-weight:500}.text-link svg{width:19px;height:19px;transition:transform .2s}.text-link:hover svg{transform:translateX(4px)}.text-link:hover{color:var(--link)}.dark .text-link:hover{color:#55c7f2}.actions{display:flex;gap:29px;flex-wrap:wrap;align-items:center;margin-top:33px}.hero{position:relative;overflow:hidden;background:#11191d;color:#fff;isolation:isolate}.hero-inner{min-height:760px;position:relative;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;padding-block:64px 76px}.hero-copy{position:relative;z-index:3;padding-right:28px;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(4.9rem,7.4vw,8rem);font-weight:400;line-height:.99;letter-spacing:-.059em;margin-bottom:38px}.hero h1 em{font-style:normal;color:#00a5e5}.hero .eyebrow{color:#a1b9c5;font-size:.75rem;margin-bottom:28px}.hero .lead{color:#b5c7d0;font-size:1.0625rem;max-width:383px}.hero .text-link{color:#fff}.hero .button{font-weight:500}.hero-product-stage{position:relative;height:650px;perspective:1000px;z-index:1}.hero-product-stage:before{content:'A1';position:absolute;left:-11%;top:8%;font-size:clamp(240px,31vw,470px);color:#19252b;font-weight:400;letter-spacing:-.085em;line-height:1;z-index:-1}.hero-product{position:absolute;height:704px;width:auto;max-width:none;left:49%;top:-34px;transform:translateX(-50%);transform-origin:50% 68%;transition:transform .6s var(--ease);filter:drop-shadow(0 18px 35px #0003)}.hero-model{position:absolute;right:0;top:-10px;color:#9eb6c3;display:flex;gap:15px;align-items:center}.hero-model:before{content:'';width:25px;height:1px;background:#5e7988}.hero-coordinate{position:absolute;left:12%;right:-12%;bottom:0;display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #3b4b53;font-size:.75rem;color:#91aab8}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:24px;display:flex;justify-content:space-between;gap:24px;align-items:center;color:#889eaa;font-size:.6875rem;text-transform:uppercase}.hero-bottom .scroll-link{display:flex;gap:10px;align-items:center;color:#b4cbd7;font-size:.75rem}.hero-bottom svg{width:17px;height:17px;transform:rotate(90deg)}.hero-motion-line{width:100px;height:1px;background:#35464f;position:relative;overflow:hidden}.hero-motion-line:after{content:'';position:absolute;width:30px;height:100%;background:#00a5e5;left:-30px;animation:travel 5s ease-in-out infinite}@keyframes travel{to{left:100%}}.intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;padding-block:74px 83px;align-items:start;border-bottom:1px solid var(--line)}.intro .eyebrow{margin:8px 0 0}.intro p{color:var(--ink);font-size:clamp(1.7rem,2.4vw,2.5rem);letter-spacing:-.023em;line-height:1.3;max-width:865px}.intro strong{font-weight:500}.intro p span{color:#7b898f}.section-top{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end;margin-bottom:45px}.section-top p{max-width:360px;justify-self:end;font-size:1.0625rem}.section-top .eyebrow{margin-bottom:22px}.section-top h2{max-width:900px}.navigation-experience{background:#10191e;position:relative;border:1px solid #273a45;color:#e9f3f8;overflow:hidden}.experience-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px 30px;border-bottom:1px solid #2c3d47}.experience-top .mono{color:#9ab3c1}.experience-top .scene-number{color:#51c4f2}.visualizer{position:relative;min-height:460px;height:clamp(390px,34vw,540px)}.visualizer canvas{width:100%;height:100%;display:block;touch-action:pan-y}.visualizer .canvas-fallback{position:absolute;inset:40px;display:flex;align-items:center;justify-content:center;pointer-events:none;color:#bccdd7;font-size:1rem;text-align:center}.visualizer.is-ready .canvas-fallback{display:none}.scene-legend{position:absolute;left:27px;bottom:18px;display:flex;gap:24px;color:#9bb2c0;font:400 .6875rem/1.5 Plex,monospace;text-transform:uppercase}.scene-legend span{display:flex;gap:8px;align-items:center}.scene-legend i{height:2px;width:18px;background:#6e909f;display:block}.scene-legend i.cyan{background:#00b9f7}.scene-top-note{position:absolute;left:28px;top:20px;font:400 .6875rem/1.5 Plex,monospace;color:#748d9c;pointer-events:none}.scene-controls{position:absolute;right:23px;bottom:16px;display:flex;gap:7px}.control-button{min-height:40px;min-width:43px;padding:9px 12px;background:#172a35;border:1px solid #3c5361;color:#d5e9f4;display:flex;justify-content:center;align-items:center;gap:8px;font-size:.8125rem}.control-button:hover{background:#254151}.control-button svg{width:17px;height:17px}.scene-view{display:flex;align-items:center;gap:10px;font:400 .6875rem/1.5 Plex,monospace;color:#9cb7c5;border:1px solid #3c5361;background:#172a35;padding:7px 12px}.scene-view input{width:75px;accent-color:#31b9f0;cursor:pointer}.experience-bottom{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #2c3d47}.scene-tabs{display:flex;padding:21px 27px;gap:7px;align-items:center;border-right:1px solid #2c3d47}.scene-tab{position:relative;flex:1;min-height:60px;display:flex;align-items:center;justify-content:center;gap:13px;background:transparent;border:0;color:#8ca6b7;font-size:1rem}.scene-tab span{font-family:Plex,monospace;font-size:.6875rem}.scene-tab[aria-selected=true]{background:#203744;color:#fff}.scene-tab[aria-selected=true]:after{content:'';height:2px;background:#00b5f5;position:absolute;left:0;bottom:0;right:0}.scene-tab:hover{color:#fff}.scene-description{padding:25px 32px;min-height:110px;display:flex;align-items:center;color:#b8ccd8!important;font-size:1rem}.experience-note{display:flex;gap:20px;justify-content:space-between;margin-top:17px}.experience-note p{font:400 .75rem/1.7 Plex,monospace;max-width:940px;color:#6c7e88}.feature-stage{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.product-editorial{background:#e8eef1;min-height:625px;position:relative;overflow:hidden}.product-editorial .model-big{position:absolute;font-size:260px;left:17px;top:24px;color:#d5e0e6;line-height:1;letter-spacing:-.065em}.product-editorial .product-image{height:570px;position:absolute;left:50%;top:23px;transform:translateX(-50%);max-width:none}.product-editorial .figure-caption{position:absolute;bottom:23px;left:26px;right:26px;font:400 .6875rem/1.5 Plex,monospace;display:flex;justify-content:space-between;color:#637a86}.feature-copy h2{margin-bottom:28px}.feature-copy .lead{max-width:490px;font-size:1.125rem}.feature-copy .text-link{margin-top:25px}.feature-rows{margin-top:33px}
/* Home page only: the heading and its paragraph share their own two-column
   row above the image, and the stats start level with the top of the robot
   image rather than being centred against it. .feature-stage keeps its two
   columns and its centring on /adibot-a1/, which uses the same component. */
/* The "Get to know the A1" link sits under the lead paragraph instead of at
   the foot of the stats column, so it reads as that paragraph's call to
   action. It shares the paragraph's grid cell so the spacing is measured
   from the paragraph, not from whichever column is taller. */
[data-scroll-story="home"] .feature-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;margin-bottom:58px}
[data-scroll-story="home"] .feature-intro-copy .text-link{margin-top:20px}
[data-scroll-story="home"] .feature-intro h2{margin-bottom:0}
[data-scroll-story="home"] .feature-intro .feature-lead{font-size:1.125rem;max-width:none;margin:0}
/* The stat rows fill the image column and take an equal share of it, so the
   two columns end level and the dividers fall on a regular rhythm -- at
   content height they stopped ~170px short of the image at 1440. */
[data-scroll-story="home"] .feature-stage-top{align-items:stretch}
[data-scroll-story="home"] .feature-stage-top .feature-rows{margin-top:0;height:100%;display:flex;flex-direction:column}
[data-scroll-story="home"] .feature-stage-top .feature-row{flex:1;align-content:center}
/* The callout numbers take the science page's "References" heading: 2.25rem
   at 500, flat at every width the way that heading is. The number column is
   sized from --fact-size so it follows: 1.95x clears "~36", the widest of
   the three. The column gap is wider than the shared .feature-row value,
   and flat rather than viewport-scaled: the "hrs" suffix hangs ~39px past
   the number column -- it is drawn from a zero-width box so the three
   numerals stay centred on one axis -- and that hang is a constant, so a
   gap that shrank with the viewport left it almost touching the caption on
   narrow screens. */
[data-scroll-story="home"] .feature-stage-top{--fact-size:2.25rem}
[data-scroll-story="home"] .feature-stage-top .feature-row{grid-template-columns:calc(var(--fact-size)*1.95) 1fr;column-gap:52px}
[data-scroll-story="home"] .feature-stage-top .feature-row .fact{font-size:var(--fact-size)}
@media(max-width:850px){[data-scroll-story="home"] .feature-intro{grid-template-columns:1fr;gap:18px;margin-bottom:40px}}.feature-row{display:grid;grid-template-columns:80px 1fr;gap:28px;padding-block:22px;border-top:1px solid var(--line);align-items:start}.feature-row .fact{font-size:2.15rem;font-weight:500;letter-spacing:-.048em;line-height:1.05;color:var(--ink);display:flex;justify-content:center;align-items:baseline}.feature-row h3{font-size:1.1875rem;line-height:1.35;letter-spacing:-.02em;margin-bottom:7px}.feature-row p{font-size:1rem;max-width:330px}.full-bleed{position:relative;height:650px;overflow:hidden;isolation:isolate;background:#27343d;color:#fff}.full-bleed>img{position:absolute;width:100%;height:110%;object-fit:cover;object-position:50% 50%;top:-5%;z-index:-2;transform:translateY(var(--media-shift,0px));will-change:transform}.full-bleed:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0b192013 15%,#09171f99 68%,#09161be0);z-index:-1}.full-bleed .wrap{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:55px}.full-bleed .eyebrow{color:#c0d6e2}.full-bleed h2{font-size:clamp(3rem,5.6vw,6rem);max-width:950px;line-height:1.05}.full-bleed p{color:#cfdee6;max-width:470px;margin-top:23px;font-size:1.0625rem}.full-bleed .text-link{margin-top:21px;align-self:flex-start}.image-credit{position:absolute;right:var(--gutter);top:24px;font:400 .6875rem/1.5 Plex,monospace;color:#d7e4ea;letter-spacing:.04em;text-transform:uppercase}.optics-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.optics-image{aspect-ratio:1.15/1;position:relative;overflow:hidden;background:#14191d}.optics-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.optics-image:hover img{transform:scale(1.035)}.optics-image figcaption{position:absolute;bottom:17px;left:23px;color:#bdcbd2;font:400 .6875rem/1.5 Plex,monospace}.optics-copy h2{margin-bottom:27px}.optics-copy .lead{font-size:1.125rem;max-width:510px}.simple-links{margin-top:32px;border-top:1px solid var(--line)}.simple-links a{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding-block:20px;font-size:1.0625rem}.simple-links a svg{width:22px;height:22px;color:var(--link);transition:transform .2s}.simple-links a:hover svg{transform:translate(3px,-3px)}.company-band{padding-block:70px;display:grid;grid-template-columns:.72fr 1.28fr;gap:100px;align-items:start;border-top:1px solid var(--line)}.company-band h2{font-size:2.8rem;line-height:1.12}.company-band .lead{max-width:700px}.company-band .text-link{margin-top:20px}.contact-band{--band-pad:60px;background:#00a5e5;color:#052c3e;padding-block:var(--band-pad)}/* Keep the band height while centering its single-line heading and circle. */
.contact-band .wrap{display:grid;grid-template-columns:minmax(0,max-content) auto;justify-content:space-between;column-gap:40px;align-items:center;align-content:center;min-height:calc(2.1 * clamp(2.7rem,5vw,5.3rem))}
.contact-band h2,.contact-band p{grid-column:1}
.contact-band .round-link{grid-column:2;grid-row:1;width:73px;height:73px}
/* The site-wide cyan focus ring would vanish against the cyan band. */
.contact-band .round-link:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.round-link{transition:none}}
/* The site-wide cyan ring would vanish against the cyan face. */
/* Only hold the label on one line where the two-column layout has room for it;
   the longest label in the set is the Spanish "Agendar una conversacion tecnica",
   which overflows a 375px screen if it cannot wrap. */

.contact-band h2{font-size:clamp(2.7rem,5vw,5.3rem);letter-spacing:-.055em}.contact-band p{color:#073f55;max-width:480px;margin-top:17px;font-size:1.0625rem}.round-link{display:grid;place-items:center;width:87px;height:87px;flex-shrink:0;border:1px solid #167293;border-radius:50%;transition:background .25s,transform .3s}.round-link svg{width:32px;height:32px}/* The arrow is drawn on the NE diagonal (M6 18 18 6 is exactly 45 degrees),
   so -45deg lands it straight up on hover; -40deg left it 5 degrees short. */
.round-link:hover{background:#062e40;color:#fff;transform:rotate(-45deg)}.site-footer{padding-top:61px;background:#10191e;color:#cfe0e9;position:relative;overflow:hidden}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:60px}.footer-brand img{width:89px;height:56px;object-fit:contain;object-position:left}.footer-brand p{font-size:.875rem;color:#899fac;margin-top:25px;line-height:1.7}.footer-title{font:400 .75rem/1.5 Plex,monospace;color:#78929f;text-transform:uppercase;margin-bottom:23px}.footer-links{display:grid;gap:11px}.footer-links a{font-size:.9375rem;color:#c4d6df;justify-self:start}.footer-links a:hover{color:#53c2f0}.footer-lower{border-top:1px solid #2f414c;padding-block:24px;display:flex;justify-content:space-between;gap:25px;font:400 .75rem/1.65 Plex,monospace;color:#829eae;align-items:center}.footer-lower .legal{display:flex;gap:22px;flex-wrap:wrap}.motion-toggle{color:#a5bfcd;background:transparent;border:0;padding:7px 0;font:inherit;display:flex;align-items:center;gap:10px;min-height:32px}.motion-toggle svg{width:15px;height:15px}.footer-use{color:#8ca3b0!important;font-size:.75rem;line-height:1.8;padding:0 0 27px;max-width:1020px}.page-head{padding-block:79px 66px;border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(3.5rem,6.8vw,7rem);max-width:1120px;font-weight:400;letter-spacing:-.055em;line-height:1.03;margin-bottom:29px}.page-head .lead{max-width:690px}.breadcrumb{display:flex;align-items:center;gap:11px;font:400 .75rem/1.5 Plex,monospace;color:#6a838f;margin-bottom:28px}.breadcrumb a:hover{color:var(--ink)}.editorial-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}.editorial-split h2{font-size:clamp(2.65rem,4.3vw,4.35rem);max-width:500px}
/* Home page only: these two headings sat on their own size ladders -- the
   track-record clamp caps at 4rem, the efficacy split at 4.4rem and weight
   400 -- so they read lighter and smaller than "Real robots know how to
   move." beside them. Put all three on the .feature-copy h2 treatment,
   which is the base h2 at wide widths. */
[data-scroll-story="home"] .field-evidence-copy h2,[data-scroll-story="home"] #a1-evidence .editorial-split h2{font-size:clamp(2.65rem,4.3vw,4.35rem);font-weight:500;max-width:none}.editorial-body p{font-size:1.125rem;line-height:1.7;max-width:750px}.editorial-body p+p{margin-top:24px}.editorial-body .text-link{margin-top:20px}.three-lines{border-top:1px solid var(--line);margin-top:43px}.three-lines>div{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;padding-block:29px;border-bottom:1px solid var(--line)}.three-lines h3{font-size:1.4rem;line-height:1.3;letter-spacing:-.025em}.three-lines p{font-size:1rem;line-height:1.7;max-width:650px}.number-label{font:400 .75rem/1.5 Plex,monospace;color:var(--link);display:block;margin-bottom:17px}.product-head{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:35px;min-height:700px}.product-head h1{font-size:clamp(5rem,8.6vw,9.2rem);font-weight:400;margin-bottom:29px;letter-spacing:-.067em}.product-head .lead{max-width:465px;font-size:1.1875rem}.product-head h2{font-size:2.35rem;line-height:1.18;letter-spacing:-.035em;margin-bottom:25px;max-width:540px}.product-head .eyebrow{margin-bottom:10px}.product-head .product-editorial{background:transparent;min-height:660px;overflow:visible}.product-head .product-image{height:640px;top:0}.product-head .model-big{font-size:330px;top:55px;color:#e4e9ec}.product-head .figure-caption{bottom:12px}.product-head .hotspot{position:absolute;z-index:5;min-width:34px;min-height:34px;background:#fff;border:1px solid #c2cfd6;border-radius:50%;display:grid;place-items:center;font-family:Plex,monospace;font-size:.75rem;box-shadow:0 0 0 6px #ffffff3d}.hotspot:hover,.hotspot[aria-pressed=true]{background:var(--cyan);border-color:var(--cyan)}.hotspot.lamps{left:57%;top:35%}.hotspot.sensing{left:51%;top:72%}.hotspot.safety{left:53%;top:14%}.hotspot-panel{min-height:89px;background:#e8eff3;padding:18px 22px;max-width:470px;margin-top:24px;border-left:2px solid var(--cyan)}.hotspot-panel h3{font-size:1.0625rem;margin-bottom:6px;letter-spacing:-.01em}.hotspot-panel p{font-size:.9375rem;line-height:1.6;color:#526974}.specs{display:grid;grid-template-columns:repeat(4,1fr);padding-block:32px;border-top:1px solid var(--line)}.spec{padding-inline:28px;border-left:1px solid var(--line)}.spec:first-child{padding-left:0;border:0}.spec .big{font-size:3rem;line-height:1.1;letter-spacing:-.055em;font-weight:400}.spec .big small{font-size:1rem;letter-spacing:-.01em}.spec p{font-size:.8125rem;margin-top:13px;line-height:1.55}.mode-tabs{display:flex;border-bottom:1px solid var(--line);gap:28px;margin-top:39px}.mode-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;padding:19px 4px;color:#697e8a;font-size:1rem}.mode-tabs button[aria-selected=true]{border-color:var(--cyan);color:var(--ink)}.mode-panels{padding-top:31px;min-height:174px}.mode-panels h3{font-size:1.75rem;margin-bottom:15px;letter-spacing:-.03em}.mode-panels p{font-size:1.0625rem;max-width:700px}.note{padding-top:22px;margin-top:32px;border-top:1px solid var(--line);font-size:.8125rem;line-height:1.7;color:#6b7d85;max-width:1100px}.tech-statements{margin-top:45px}.tech-statements article{display:grid;grid-template-columns:80px 1fr 1.1fr;gap:50px;padding-block:36px;border-top:1px solid var(--line)}.tech-statements article:last-child{border-bottom:1px solid var(--line)}.tech-statements h3{font-size:1.5rem;line-height:1.2}.tech-statements p{font-size:1rem;line-height:1.7}.tech-statements .mono{padding-top:4px;color:var(--link)}.app-image{aspect-ratio:1.25/1;overflow:hidden}.app-image img{width:100%;height:100%;object-fit:cover;object-position:30% 50%}.application-rows{margin-top:39px}.application-row{border-top:1px solid var(--line);padding-block:35px;display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}.application-row:last-child{border-bottom:1px solid var(--line)}.application-row h3{font-size:1.5rem;line-height:1.25}.application-row p{font-size:1rem;line-height:1.7;max-width:750px}.partner-feature{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.partner-feature .optics-image{aspect-ratio:1.2/1}.partner-feature h2{margin-bottom:26px}.partner-feature .lead{font-size:1.125rem}.resource-list{border-top:1px solid var(--line)}.resource-link{padding-block:31px;display:grid;grid-template-columns:.5fr 1fr 1fr 40px;gap:35px;align-items:center;border-bottom:1px solid var(--line)}.resource-link .mono{color:#69808c;text-transform:uppercase}.resource-link :is(h2,h3){font-size:1.5rem;line-height:1.2}.resource-link p{font-size:1rem;line-height:1.6;max-width:380px}.resource-link svg{width:25px;height:25px;transition:transform .25s;color:var(--link)}.resource-link:hover svg{transform:translate(4px,-4px)}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq-intro h2{margin-bottom:25px}.faq-intro .text-link{margin-top:21px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;cursor:pointer;padding:23px 40px 23px 0;position:relative;line-height:1.4;font-size:1.125rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';position:absolute;right:4px;top:20px;color:#197ca7;font-size:1.5rem;line-height:1}.faq-item[open] summary:after{content:'−'}.faq-item p{font-size:1rem;line-height:1.75;padding:0 28px 27px 0}.faq-item a{color:var(--link);text-decoration:underline;text-underline-offset:3px}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}.contact-copy h1{font-size:clamp(3.5rem,6.7vw,6.8rem);font-weight:400;line-height:1.02;letter-spacing:-.06em;margin-bottom:33px}.contact-copy .lead{max-width:420px}.contact-paths{margin-top:39px;max-width:460px}.contact-path{padding:19px 0;border-top:1px solid var(--line)}.contact-path :is(h2,h3){font-size:1.125rem;letter-spacing:-.015em;line-height:1.4;margin-bottom:6px}.contact-path p{font-size:1rem}.contact-copy .text-link{margin-top:27px}.contact-form-panel{background:#fff;border-top:2px solid #192a34;padding:31px 35px}.contact-form-panel h2{font-size:1.875rem;margin-bottom:18px;letter-spacing:-.03em}.contact-form-panel>p{font-size:1rem;margin-bottom:29px}.form-fallback{border-top:1px solid var(--line);padding-top:21px;margin-top:23px;font-size:.8125rem!important;line-height:1.8}.form-fallback a{color:var(--link);text-decoration:underline;text-underline-offset:3px}.form-loading{color:#667e8a;padding:18px 0}.form-loading[hidden]{display:none}.form-embed{min-height:240px}.form-embed iframe{width:100%!important;border:0;max-width:100%}.not-found{min-height:60vh;padding-block:90px}.not-found h1{font-size:clamp(3rem,7vw,6rem);margin-bottom:28px}.not-found .button{margin-top:32px}.reveal{transition:transform .8s var(--ease),opacity .8s var(--ease)}.motion-ready .reveal:not(.revealed){opacity:0;transform:translateY(24px)}.reveal.revealed{opacity:1;transform:none}
/* A section you arrive at by anchor should be in place when you land, not
   still fading up from 24px below: the scroll is computed from layout, which
   the transform does not move, so the heading reads as sitting low. */
.motion-ready .reveal:target{opacity:1;transform:none;transition:none}body[data-motion=off] .reveal{opacity:1!important;transform:none!important;transition:none!important}body[data-motion=off] .hero-motion-line:after{animation:none}body[data-motion=off] .hero-product{transition:none;transform:translateX(-50%)!important}body[data-motion=off] .full-bleed>img{transform:none!important}
@media(min-width:1700px){.hero-product-stage{height:700px}.hero-product{height:760px}.hero-inner{min-height:820px}.hero-coordinate{right:0}.hero-product-stage:before{left:-4%}}
@media(max-width:1200px){.header-inner{gap:30px}.navigation{gap:28px}.nav-links{gap:22px}.hero h1{font-size:6.15rem}.hero-inner{min-height:715px;grid-template-columns:1.1fr .9fr}.hero-product{height:650px;top:0;left:53%}.hero-product-stage{height:630px}.hero-copy{padding-right:0}.hero-coordinate{right:-5%}.hero-model{right:-2%}.intro{gap:60px}.section{padding-block:87px}.section-top{gap:45px}.feature-stage,.optics-grid{gap:60px}.feature-row{gap:19px}.product-editorial{min-height:605px}.editorial-split{gap:65px}.tech-statements article{gap:35px}.contact-layout{gap:70px}.company-band{gap:70px}.partner-feature{gap:60px}.resource-link{gap:25px}}
@media(max-width:1000px){.header-inner{height:73px}.logo img{width:75px;height:43px}.navigation{gap:23px}.nav-links{gap:19px}.nav-links a{font-size:.875rem}.nav-cta{font-size:.8125rem;gap:12px;padding-inline:13px}.hero-inner{min-height:665px}.hero h1{font-size:5.1rem}.hero .lead{font-size:1rem;max-width:327px}.hero .actions{gap:19px;align-items:flex-start}.hero-product-stage{height:580px}.hero-product{height:585px;top:4px;left:54%}.hero-model{font-size:.6875rem}.hero-coordinate{font-size:.6875rem;left:0;right:-5%}.hero-bottom{font-size:.6875rem}.intro{grid-template-columns:.5fr 1.5fr;gap:35px;padding-block:57px 60px}.section-top{grid-template-columns:1.1fr .9fr;gap:40px}.section-top p{font-size:1rem}.section-top h2{font-size:3rem}.visualizer{height:410px;min-height:410px}.experience-bottom{grid-template-columns:1fr 1fr}.scene-tabs{padding:17px}.scene-tab{gap:8px;font-size:.9375rem}.scene-description{padding:23px;font-size:.9375rem}.feature-stage{gap:39px;grid-template-columns:.95fr 1.05fr}.feature-copy h2,[data-scroll-story="home"] .field-evidence-copy h2,[data-scroll-story="home"] #a1-evidence .editorial-split h2{font-size:3.2rem}.product-editorial{min-height:587px}.product-editorial .product-image{height:552px;top:15px}.feature-row{grid-template-columns:64px 1fr;gap:20px}.full-bleed{height:590px}.optics-grid{gap:42px}.optics-copy h2{font-size:3rem}.optics-image{aspect-ratio:.85/1}.footer-grid{gap:25px;grid-template-columns:1.15fr 1fr 1fr 1fr}.company-band{grid-template-columns:.8fr 1.2fr;gap:45px}.company-band h2{font-size:2.3rem}.company-band .lead{font-size:1.0625rem}.page-head h1{font-size:4.7rem}.product-head{min-height:630px;grid-template-columns:1.1fr .9fr;gap:10px}.product-head h1{font-size:6.8rem}.product-head h2{font-size:1.9rem}.product-head .lead{font-size:1.0625rem}.product-head .product-editorial{min-height:580px}.product-head .product-image{height:560px}.hotspot-panel{margin-top:19px}.spec .big{font-size:2.5rem}.spec{padding-inline:22px}.editorial-split{gap:45px;grid-template-columns:.85fr 1.15fr}.editorial-split h2{font-size:3rem}.editorial-body p{font-size:1.0625rem}.tech-statements article{grid-template-columns:45px 1fr 1.25fr;gap:29px}.tech-statements h3{font-size:1.35rem}.faq-grid{gap:45px;grid-template-columns:.75fr 1.25fr}.faq-intro h2{font-size:3rem}.resource-link{grid-template-columns:.55fr 1fr 1fr 30px;gap:20px}.resource-link :is(h2,h3){font-size:1.25rem}.resource-link p{font-size:1rem}.partner-feature{gap:40px}.contact-layout{gap:45px;grid-template-columns:1fr 1fr}.contact-copy h1{font-size:4.7rem}.contact-form-panel{padding:29px 25px}}
@media(max-width:850px){.menu-toggle{display:flex}.navigation{display:none;position:absolute;left:0;right:0;top:72px;max-height:calc(100dvh - 72px);overflow:auto;background:#f7f8f8;border-bottom:1px solid var(--line);padding:22px var(--gutter) 27px;align-items:stretch;gap:25px}.navigation.open{display:flex;flex-direction:column}.nav-links{display:grid;grid-template-columns:1fr;align-items:start;gap:0}.nav-links>*{width:100%;min-width:0}.nav-links a{display:flex;width:100%;font-size:1.0625rem;border-bottom:1px solid var(--line);padding-block:16px}.nav-links a:after{display:none}.nav-cta{align-self:stretch;justify-content:space-between;width:100%;font-size:.9375rem;padding:14px 20px}.hero h1{font-size:4.6rem}.hero-copy{padding-right:0}.hero-product{height:544px;left:56%;top:16px}.hero-product-stage{height:564px}.hero-inner{min-height:650px}.hero-coordinate span:nth-child(2){display:none}.hero-model{right:0}.hero .actions{gap:10px}.hero .button{padding-inline:18px;gap:20px}.hero .text-link{font-size:.875rem;gap:10px}.hero .lead{max-width:330px}.hero .eyebrow{font-size:.6875rem}.scene-controls{right:18px;bottom:15px}.scene-view{display:none}.scene-legend{bottom:26px;gap:17px}.scene-legend span:first-child{display:none}.experience-bottom{grid-template-columns:1fr}.scene-tabs{border-right:0;border-bottom:1px solid #2c3d47;padding:13px 20px}.scene-description{min-height:100px}.section-top{display:block}.section-top p{max-width:590px;margin-top:24px}.feature-stage{gap:32px}.feature-copy h2,[data-scroll-story="home"] .field-evidence-copy h2,[data-scroll-story="home"] #a1-evidence .editorial-split h2{font-size:2.9rem}.feature-row p{font-size:1rem}.feature-row{grid-template-columns:50px 1fr;gap:15px}.feature-row .fact{font-size:1.8rem}.product-editorial{min-height:650px}.product-editorial .product-image{height:575px;top:45px}.product-editorial .model-big{font-size:220px;left:8px}.product-editorial .figure-caption{left:20px;right:20px}.feature-copy .lead{font-size:1.0625rem}.optics-grid{gap:34px}.footer-lower{flex-wrap:wrap}.editorial-split{gap:33px}.application-row{gap:38px}.contact-layout{grid-template-columns:1fr;gap:43px}.contact-copy h1{font-size:5rem}.contact-paths{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:none}.contact-copy .lead{max-width:620px}.contact-form-panel{max-width:750px}.product-head .product-image{height:520px;top:20px}.product-head .hotspot.safety{top:16%}.product-head .hotspot.sensing{top:66%}}
@media(max-width:650px){section[id],main[id]{scroll-margin-top:90px}.section{padding-block:63px}.hero-inner{display:flex;flex-direction:column;align-items:stretch;padding-top:44px;padding-bottom:80px;min-height:0}.hero-copy{padding-right:0}.hero h1{font-size:clamp(3.9rem,12.4vw,5.1rem);margin-bottom:25px;letter-spacing:-.057em;line-height:1}.hero .eyebrow{margin-bottom:24px;font-size:.75rem;max-width:310px}.hero .lead{max-width:380px;font-size:1rem}.hero .actions{margin-top:25px;gap:18px}.hero .button{gap:24px}.hero .text-link{font-size:.9375rem}.hero-product-stage{height:510px;margin-top:7px}.hero-product{height:536px;top:-7px;left:49%}.hero-product-stage:before{font-size:330px;top:11%;left:7%}.hero-model{top:32px;right:0;font-size:.75rem}.hero-coordinate{left:0;right:0;bottom:-11px;font-size:.6875rem}.hero-coordinate span:nth-child(2){display:inline}.hero-bottom{bottom:20px;gap:15px;font-size:.625rem}.hero-bottom>span:first-child{max-width:205px}.hero-motion-line{display:none}.hero-bottom .scroll-link{font-size:.6875rem;gap:7px;white-space:nowrap}.intro{display:block;padding-block:43px 47px}.intro .eyebrow{margin:0 0 25px}.intro p{font-size:1.8rem;line-height:1.35}.section-top{margin-bottom:30px}.section-top h2{font-size:clamp(2.6rem,8.5vw,3.5rem)}.section-top .eyebrow{margin-bottom:22px}.section-top p{font-size:1rem;max-width:480px;margin-top:21px}.experience-top{padding:17px 18px;gap:12px}.experience-top .mono{font-size:.6875rem}.visualizer{height:340px;min-height:340px}.scene-top-note{left:17px;top:17px;font-size:.625rem}.scene-legend{left:18px;bottom:23px;font-size:.625rem}.scene-legend span:first-child{display:none}.scene-controls{right:12px;bottom:11px;gap:6px}.control-button{font-size:.75rem;min-height:40px;min-width:41px;padding:9px 10px}.scene-tabs{padding:12px;gap:5px}.scene-tab{gap:9px;font-size:.9375rem;min-height:55px}.scene-tab span{font-size:.625rem}.scene-description{font-size:1rem;padding:22px;min-height:137px}.experience-note{display:block;margin-top:15px}.experience-note p{font-size:.75rem;line-height:1.75}.feature-stage{display:flex;flex-direction:column;gap:38px;align-items:stretch}.product-editorial{min-height:533px;order:2}.product-editorial .product-image{height:497px;top:9px}.product-editorial .model-big{font-size:245px;top:15px;left:26px}.product-editorial .figure-caption{font-size:.6875rem}.feature-copy h2,[data-scroll-story="home"] .field-evidence-copy h2,[data-scroll-story="home"] #a1-evidence .editorial-split h2{font-size:3rem;max-width:520px;margin-bottom:23px}.feature-copy .lead{font-size:1.0625rem;max-width:490px}.feature-row{grid-template-columns:77px 1fr;gap:25px;padding-block:21px}.feature-row .fact{font-size:2.2rem}.feature-row h3{font-size:1.1875rem}.feature-copy .text-link{margin-top:17px}.full-bleed{height:560px}.full-bleed .wrap{padding-bottom:37px}.full-bleed>img{object-position:57% 50%}.full-bleed h2{font-size:clamp(2.9rem,10vw,4.2rem);line-height:1.08}.full-bleed p{font-size:1rem;max-width:400px}.full-bleed .eyebrow{font-size:.6875rem}.image-credit{font-size:.625rem;top:20px}.optics-grid{display:flex;flex-direction:column;gap:35px;align-items:stretch}.optics-image{aspect-ratio:1.2/1;order:2}.optics-copy h2{font-size:3rem}.optics-copy .lead{font-size:1.0625rem}.company-band{display:block;padding-block:44px 50px}.company-band h2{font-size:2.6rem;margin-bottom:25px}.company-band .lead{font-size:1.0625rem}.contact-band{--band-pad:40px}.contact-band .wrap{column-gap:22px;align-items:center;min-height:calc(2.16 * clamp(2.5rem,8.7vw,3.5rem))}.contact-band h2{font-size:clamp(2.5rem,8.7vw,3.5rem);max-width:350px;line-height:1.08}.contact-band p{font-size:1rem;margin-top:20px;max-width:280px}.contact-band .round-link{width:56px;height:56px;margin-bottom:4px}.round-link svg{width:25px;height:25px}.site-footer{padding-top:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 25px;padding-bottom:38px}.footer-brand{grid-column:1/-1}.footer-brand img{width:82px;height:47px}.footer-brand p{margin-top:19px}.footer-title{margin-bottom:18px}.footer-links a{font-size:.9375rem}.footer-lower{padding-block:23px;align-items:flex-start;gap:18px;flex-direction:column;font-size:.6875rem}.footer-lower .legal{gap:20px}.footer-use{font-size:.75rem;line-height:1.7}.page-head{padding-block:48px 45px}.page-head h1{font-size:clamp(3.3rem,11vw,4.8rem);margin-bottom:23px}.page-head .lead{font-size:1.0625rem}.editorial-split{display:block}.editorial-split h2{font-size:2.9rem;margin-bottom:29px;max-width:550px}.editorial-body p{font-size:1.0625rem}.three-lines>div{display:block;padding-block:25px}.three-lines h3{font-size:1.35rem;margin-bottom:15px}.three-lines p{font-size:1rem}.product-head{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding-block:35px 10px;min-height:0}.product-head h1{font-size:6.4rem;margin-bottom:24px}.product-head h2{font-size:2rem;max-width:430px}.product-head .lead{font-size:1.0625rem;max-width:500px}.product-head .product-editorial{order:initial;min-height:515px;margin:0 calc(-1*var(--gutter));overflow:hidden;background:#eaf0f3}.product-head .product-image{height:500px;top:0;left:50%}.product-head .model-big{font-size:290px;left:17%;top:23px}.product-head .figure-caption{bottom:16px;left:var(--gutter);right:var(--gutter)}.hotspot-panel{max-width:none;min-height:100px;font-size:.9375rem}.product-head .hotspot.lamps{top:34%;left:54%}.product-head .hotspot.sensing{top:70%;left:45%}.product-head .hotspot.safety{top:14%;left:50%}.specs{grid-template-columns:1fr 1fr;gap:27px 0;padding-block:26px}.spec{padding-inline:22px}.spec:nth-child(3){padding-left:0;border-left:0}.spec .big{font-size:2.6rem}.spec p{font-size:.8125rem;max-width:150px}.mode-tabs{margin-top:28px;gap:17px;justify-content:space-between}.mode-tabs button{font-size:.9375rem;padding-inline:0;line-height:1.4;flex:1}.mode-panels{min-height:210px}.mode-panels h3{font-size:1.55rem}.mode-panels p{font-size:1rem}.note{font-size:.8125rem;line-height:1.75}.tech-statements{margin-top:29px}.tech-statements article{grid-template-columns:33px 1fr;gap:12px 18px;padding-block:26px}.tech-statements article p{grid-column:2}.tech-statements h3{font-size:1.35rem;line-height:1.25}.app-image{aspect-ratio:1.3/1;margin-bottom:31px}.application-row{display:block;padding-block:27px}.application-row h3{font-size:1.5rem;margin-bottom:17px}.partner-feature{display:flex;flex-direction:column;align-items:stretch;gap:34px}.partner-feature .optics-image{aspect-ratio:1.3/1}.partner-feature h2{font-size:3rem}.partner-feature .lead{font-size:1.0625rem}.resource-link{grid-template-columns:1fr 30px;gap:14px 20px;padding-block:27px;align-items:start}.resource-link .mono{grid-column:1}.resource-link :is(h2,h3){grid-column:1;font-size:1.5rem}.resource-link p{grid-column:1;max-width:450px}.resource-link svg{grid-column:2;grid-row:2}.faq-grid{display:block}.faq-intro{margin-bottom:34px}.faq-intro h2{font-size:2.9rem;max-width:480px}.faq-item summary{font-size:1.0625rem;padding-block:21px}.contact-layout{gap:35px}.contact-copy h1{font-size:clamp(3.3rem,11vw,4.5rem)}.contact-paths{display:block;margin-top:32px}.contact-path{padding-block:18px}.contact-copy .lead{font-size:1.0625rem}.contact-form-panel{padding:27px 22px}.contact-form-panel h2{font-size:1.7rem}.contact-copy .text-link{margin-top:17px}.not-found{padding-block:60px}}
@media(max-width:370px){.hero h1{font-size:3.5rem}.hero .actions{gap:8px}.hero .text-link{font-size:.875rem}.hero .button{font-size:.875rem;padding-inline:16px;gap:19px}.hero-product{height:490px;top:5px}.hero-product-stage{height:480px}.hero-product-stage:before{font-size:280px;left:2%}.hero-model{font-size:.6875rem}.scene-tab{font-size:.875rem;gap:7px}.scene-controls .control-button span{display:none}.scene-description{padding:20px}.feature-row{grid-template-columns:58px 1fr;gap:17px}.product-head h1{font-size:5.6rem}.hero-bottom .scroll-link{font-size:.625rem}.mode-tabs{gap:11px}.mode-tabs button{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}.full-bleed>img{transform:none!important}.hero-product{transform:translateX(-50%)!important}}
/* Small labels remain at least 12px. */
.mono,.hero-bottom,.hero-model,.hero-coordinate,.hero-bottom .scroll-link,.scene-legend,.scene-top-note,.scene-view,.scene-tab span,.scene-number,.experience-top .mono,.product-editorial .figure-caption,.image-credit,.optics-image figcaption,.footer-lower{font-size:.75rem}

.eyebrow{font-size:.75rem}
.mission-hero .hero-inner{grid-template-columns:1.3fr .7fr;min-height:790px}.mission-hero .hero-copy{padding-right:10px}.mission-hero h1{font-size:clamp(3.2rem,4.65vw,5rem);line-height:1.06;letter-spacing:-.052em;max-width:790px;margin-bottom:30px}.mission-hero .lead{max-width:530px;font-size:1.0625rem;line-height:1.65}.mission-hero .hero-product{height:650px;top:5px;left:65%}.mission-hero .hero-product-stage:before{font-size:clamp(230px,27vw,410px);left:-5%;top:17%}.mission-hero .hero-model{right:-10%;top:15px;white-space:nowrap}.mission-hero .hero-coordinate{left:-7%;right:-15%;bottom:-3px;display:block;line-height:1.9}.mission-hero .hero-coordinate span{display:block}.track-record{padding-block:65px 54px;background:#fff;border-bottom:1px solid var(--line)}.track-record-top{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:end;margin-bottom:45px}.track-record-top h2{font-size:clamp(2.6rem,3.6vw,3.8rem)}.track-record-top>.eyebrow{margin-bottom:17px}.track-record-top>p{max-width:490px;font-size:1.0625rem}.track-record-figures{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:40px;border-top:1px solid var(--line);padding-top:27px}.track-stat{padding-left:35px;border-left:1px solid var(--line)}.track-stat:first-child{padding-left:0;border-left:0}.track-stat strong{font-size:clamp(3.7rem,6vw,6.7rem);font-weight:400;letter-spacing:-.065em;line-height:1.1;display:block;color:var(--ink)}.track-stat strong>span{color:var(--cyan)}.track-stat p{font-size:1rem;margin-top:14px;max-width:230px}.track-record-date{font-size:.8125rem;margin-top:27px;color:#68777e}.featured-partners{margin-top:42px;padding-top:29px;border-top:1px solid var(--line)}.featured-partners .eyebrow{font-size:.8125rem;color:var(--sub);margin-bottom:22px}.partner-logos{display:grid;grid-template-columns:repeat(5,1fr);gap:40px;align-items:center}.partner-logo{height:75px;display:flex;align-items:center;justify-content:center;min-width:0}.partner-logo img{max-height:65px;max-width:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.86;transition:filter .25s,opacity .25s}.partner-logo:hover img{filter:grayscale(0);opacity:1}.partner-logo.kaiser img{width:185px}.partner-logo.honor img{width:180px}.partner-logo.texas img{width:190px}.partner-logo.ut img{width:173px}.partner-logo.scripps img{width:180px}.mission-intro{background:#edf2f4}.principle-list{border-top:1px solid var(--line)}.principle-list article{display:grid;grid-template-columns:.65fr 1.1fr 1.25fr;gap:55px;align-items:start;border-bottom:1px solid var(--line);padding-block:34px}.principle-list .mono{color:var(--link);padding-top:6px}.principle-list h3{font-size:1.8rem;line-height:1.2;max-width:320px}.principle-list p{font-size:1.0625rem;line-height:1.65;max-width:540px}.partnership-rows{display:grid;grid-template-columns:repeat(2,1fr);gap:60px;border-top:1px solid #34474f;padding-top:30px;margin-bottom:32px}.partnership-rows h3{font-size:1.6rem;line-height:1.2;margin-bottom:18px}.partnership-rows p{font-size:1.0625rem}.system-overview{padding-top:0}.system-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.system-links a{padding:28px 30px;position:relative;border-left:1px solid var(--line);transition:background .2s}.system-links a:first-child{padding-left:0;border-left:0}.system-links a:hover{background:#eaf1f5}.system-links .mono{color:var(--link);display:block;margin-bottom:25px}.system-links h2{font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.08;padding-right:18px}.system-links svg{position:absolute;right:22px;bottom:33px;width:20px;height:20px}.dark .tech-statements article{border-color:#34474f}.dark .tech-statements article .mono{color:#64c7ee}
@media(max-width:1100px){.mission-hero .hero-inner{min-height:760px}.mission-hero .hero-product{height:615px;top:35px;left:70%}.mission-hero .hero-coordinate{right:-20%}.track-record-top{gap:55px}.partner-logos{gap:30px}.principle-list article{gap:30px;grid-template-columns:.6fr 1fr 1.2fr}.partnership-rows{gap:35px}}
@media(max-width:850px){.mission-hero .hero-inner{grid-template-columns:1.4fr .6fr;min-height:710px;padding-block:52px 83px}.mission-hero h1{font-size:2.95rem;max-width:535px}.mission-hero .lead{max-width:450px;font-size:1rem}.mission-hero .hero-product-stage{height:560px}.mission-hero .hero-product{height:565px;top:30px;left:90%}.mission-hero .hero-product-stage:before{display:none}.mission-hero .hero-model{right:-18px;top:9px;font-size:.75rem;white-space:normal;max-width:130px;text-align:right}.mission-hero .hero-coordinate{left:-12px;right:-20px;font-size:.75rem;bottom:-20px}.track-record-top{gap:35px;grid-template-columns:1fr 1fr}.track-record-figures{gap:25px}.track-stat{padding-left:25px}.partner-logos{grid-template-columns:repeat(3,1fr);gap:15px 35px}.partner-logo{height:74px}.principle-list article{grid-template-columns:150px 1fr;gap:15px 30px}.principle-list article p{grid-column:2}.partnership-rows{gap:30px;grid-template-columns:1fr}.partnership-rows article{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}.system-links h2{font-size:2.2rem}.system-links a{padding:25px 20px}.system-links svg{right:14px;bottom:27px;width:17px}}
@media(max-width:650px){.mission-hero .hero-inner{display:flex;padding-block:40px 78px;min-height:0}.mission-hero h1{font-size:clamp(2.4rem,8.4vw,3.3rem);max-width:100%;line-height:1.08;margin-bottom:24px;letter-spacing:-.049em}.mission-hero .hero-copy{padding-right:0}.mission-hero .lead{font-size:1rem;max-width:450px}.mission-hero .hero-product-stage{height:475px;margin-top:19px}.mission-hero .hero-product{height:500px;left:50%;top:-10px}.mission-hero .hero-model{top:20px;right:0;max-width:160px;font-size:.75rem}.mission-hero .hero-coordinate{left:0;right:0;bottom:-12px;display:flex;justify-content:space-between;gap:15px;font-size:.75rem}.mission-hero .hero-coordinate span:last-child{max-width:120px;text-align:right}.mission-hero .hero-bottom{font-size:.75rem;gap:20px}.mission-hero .hero-bottom>span:first-child{max-width:190px}.track-record{padding-block:43px 34px}.track-record-top{display:block;margin-bottom:29px}.track-record-top h2{font-size:2.6rem}.track-record-top>p{font-size:1rem;margin-top:24px;max-width:450px}.track-record-figures{grid-template-columns:1fr 1fr;gap:26px 0;padding-top:20px}.track-stat.primary{grid-column:1/-1;padding-bottom:25px;border-bottom:1px solid var(--line);display:flex;align-items:flex-end;gap:22px}.track-stat.primary strong{font-size:5.6rem}.track-stat.primary p{max-width:150px;margin-bottom:12px}.track-stat:nth-child(2){padding-left:0;border-left:0}.track-stat strong{font-size:clamp(2.9rem,10vw,4.4rem)}.track-stat p{font-size:.9375rem;max-width:155px;margin-top:9px}.track-record-date{font-size:.8125rem;margin-top:22px}.featured-partners{margin-top:28px;padding-top:22px}.partner-logos{grid-template-columns:1fr 1fr;gap:16px 28px}.partner-logo{height:65px}.partner-logo img{max-height:55px}.partner-logo:last-child{grid-column:1/-1;max-width:160px;justify-self:center}.principle-list article{display:block;padding-block:28px}.principle-list .mono{display:block;padding-top:0;margin-bottom:17px}.principle-list h3{font-size:1.7rem;margin-bottom:15px;max-width:360px}.principle-list p{font-size:1rem}.partnership-rows{display:block;padding-top:0;margin-bottom:28px}.partnership-rows article{display:block;padding-block:27px;border-bottom:1px solid #34474f}.partnership-rows h3{font-size:1.5rem;margin-bottom:15px}.partnership-rows p{font-size:1rem}.system-links{grid-template-columns:1fr}.system-links a,.system-links a:first-child{padding:25px 0;border-left:0;border-bottom:1px solid var(--line)}.system-links a:last-child{border-bottom:0}.system-links h2{font-size:2.6rem}.system-links .mono{margin-bottom:20px}.system-links svg{right:8px;bottom:35px;width:24px;height:24px}.system-overview{padding-bottom:50px}}
.nav-industries{position:relative}.nav-industries summary{list-style:none;display:flex;align-items:center;gap:8px;position:relative;padding-inline-end:1.2em;padding-block:16px;font-size:.9375rem;cursor:pointer}.nav-industries summary::-webkit-details-marker{display:none}.nav-industries summary span{position:absolute;right:0;top:50%;margin-top:-.5em;line-height:1;text-decoration:none;transition:transform .2s}.nav-industries[open] summary span{transform:rotate(180deg)}.nav-industries.is-current summary{text-decoration:underline;text-underline-offset:9px;text-decoration-thickness:1px}.industry-menu{position:absolute;top:100%;left:-22px;min-width:245px;padding:12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 25px #10171b12}.nav-links .industry-menu a{display:block;padding:12px;font-size:.9375rem;white-space:nowrap}.nav-links .industry-menu a:after{display:none}.nav-links .industry-menu a:hover,.nav-links .industry-menu a[aria-current=page]{background:#e6edf0;color:#005c82}.industry-index-section{padding-bottom:90px}.industry-index{border-top:1px solid var(--line)}.industry-index-row{display:grid;grid-template-columns:1.05fr 1.4fr 1.35fr 30px;gap:32px;align-items:center;padding:35px 10px 35px 0;border-bottom:1px solid var(--line);transition:background .2s}.industry-index-row:hover{background:#edf2f4}.industry-index-row h3{font-size:clamp(1.8rem,2.6vw,2.8rem);letter-spacing:-.04em}.industry-index-row p{max-width:350px;font-size:1rem}.industry-index-row .mono{color:var(--link)}.industry-index-row svg{color:var(--link)}.industry-hero{padding-block:44px 70px}.industry-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.industry-hero h1{font-weight:400;font-size:clamp(4.4rem,7.6vw,8rem);line-height:1.02;letter-spacing:-.055em;margin-bottom:32px}.industry-hero .breadcrumb{margin-bottom:40px;flex-wrap:wrap}.industry-hero .eyebrow{max-width:550px}.industry-hero .lead{max-width:600px}.industry-hero .optics-image{min-width:0}.industry-brief{background:var(--dark);padding:35px;color:#f7fafb;margin-top:68px}.industry-brief>.mono{color:#94aebb}.industry-brief .brief-title{font-size:clamp(2.2rem,3vw,3.4rem);letter-spacing:-.04em;line-height:1.1;color:#f7fafb;margin:32px 0}.industry-brief a{display:flex;gap:15px;align-items:center;padding-block:20px;border-top:1px solid #34464f;font-size:1rem}.industry-brief a>span{font:400 .75rem/1.6 Plex,monospace;color:#64c7ee}.industry-brief a>svg{margin-left:auto;width:17px;height:17px}.industry-brief a:hover{color:#64c7ee}.review-list{border-top:1px solid var(--line)}.review-row{display:grid;grid-template-columns:.5fr 1fr 1.3fr;gap:55px;padding-block:42px;border-bottom:1px solid var(--line);scroll-margin-top:110px}.review-row>.mono{color:var(--link);padding-top:5px}.review-row h3{font-size:clamp(1.65rem,2.5vw,2.5rem);line-height:1.15}.review-row p{font-size:1.0625rem;line-height:1.65}.review-row .review-prompt{font-size:.9375rem;margin-top:16px;color:#365160}.industry-boundary{max-width:950px;margin-top:25px;font-size:.875rem;line-height:1.7}.industry-reference{font-size:.875rem;margin-top:12px}.industry-reference a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.industry-hero-grid{gap:35px;grid-template-columns:1.15fr .85fr}.industry-brief{padding:25px}.industry-index-row{grid-template-columns:.85fr 1.2fr 1.1fr 20px;gap:20px}.review-row{gap:30px;grid-template-columns:.4fr 1fr 1.25fr}}
@media(max-width:850px){.nav-industries{width:100%}.nav-industries summary{font-size:1.0625rem;padding-block:15px;justify-content:space-between}.industry-menu{position:static;width:100%;box-shadow:none;margin-bottom:12px;background:#eef3f5;min-width:0}.nav-links .industry-menu a{font-size:1rem;padding:13px;white-space:normal;overflow-wrap:anywhere}.nav-links .industry-menu a:last-child{border-bottom:0}.nav-links>.nav-industries:first-of-type{border-bottom:1px solid var(--line)}.industry-hero-grid{grid-template-columns:1fr;gap:30px}.industry-hero h1{font-size:clamp(4.2rem,12vw,6.8rem)}.industry-brief{margin-top:0;max-width:none}.industry-brief .brief-title{font-size:2.8rem}.industry-index-row{grid-template-columns:1fr 1.4fr 25px;gap:20px}.industry-index-row p{grid-column:2}.industry-index-row svg{grid-column:3;grid-row:1}.industry-index-row .mono{align-self:start;padding-top:5px}.review-row{grid-template-columns:150px 1fr;gap:20px 30px}.review-row>div,.review-row>p{grid-column:2}.industry-hero .optics-image{max-height:400px;aspect-ratio:1.8/1}}
@media(max-width:650px){.industry-hero{padding-block:28px 48px}.industry-hero .breadcrumb{margin-bottom:30px;font-size:.875rem}.industry-hero .eyebrow{font-size:.75rem}.industry-hero h1{font-size:clamp(3.7rem,13vw,5.6rem);margin-bottom:25px}.industry-hero .lead{font-size:1.0625rem}.industry-hero .actions{gap:17px}.industry-brief{padding:25px}.industry-brief .brief-title{font-size:2.5rem}.industry-brief a{font-size:1rem;gap:11px}.industry-index-section{padding-bottom:55px}.industry-index-row{grid-template-columns:1fr 24px;gap:15px 20px;padding-block:28px}.industry-index-row .mono,.industry-index-row h3,.industry-index-row p{grid-column:1}.industry-index-row svg{grid-column:2;grid-row:2}.industry-index-row h3{font-size:2rem}.industry-index-row p{max-width:440px}.review-row{grid-template-columns:1fr;gap:18px;padding-block:30px}.review-row>div,.review-row>p{grid-column:1}.review-row h3{font-size:2rem}.review-row p{font-size:1rem}.industry-boundary{font-size:.875rem}}
.form-embed{visibility:hidden}.form-embed.is-ready{visibility:visible}.form-embed .hs-form{font-family:Instrument,Arial,sans-serif!important}.form-embed .hs-form fieldset{max-width:none!important}.form-embed .hs-form label{font-family:Instrument,Arial,sans-serif!important;font-size:.875rem!important;color:#334851!important}.form-embed .hs-form .hs-form-field{margin-bottom:20px!important}.form-embed .hs-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.form-embed .hs-form select,.form-embed .hs-form textarea{font-family:Instrument,Arial,sans-serif!important;font-size:1rem!important;min-height:46px!important;border:1px solid #c1ced5!important;border-radius:0!important;background:#f7f9fa!important;padding:10px 12px!important;color:#182d39!important;box-shadow:none!important}.form-embed .hs-form input[type=submit]{font-family:Instrument,Arial,sans-serif!important;font-size:1rem!important;min-height:53px!important;border:1px solid #142a37!important;border-radius:0!important;background:#142a37!important;padding:13px 28px!important;color:#fff!important;box-shadow:none!important}.form-embed .hs-form .hs-error-msgs{color:#a52236!important;font-size:.875rem!important}

/* Approved operating evidence and the complete original partner list. */
.field-evidence{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding-block:10px 18px}
.field-evidence-copy h2{font-size:clamp(2.65rem,4.3vw,4.35rem)}
.field-evidence-copy>p{font-size:1.0625rem;max-width:520px;margin-top:25px}
.field-hours{border-left:1px solid var(--line);padding:15px 0 15px 60px}
.field-hours strong{display:block;font-size:clamp(6rem,10vw,10rem);font-weight:400;line-height:1;letter-spacing:-.075em;color:var(--ink)}
.field-hours strong>span{color:var(--cyan)}
.field-hours>p{font-size:1.1rem;color:var(--ink);margin-top:19px}
.field-date{display:block;font-size:.8125rem;color:#65767e;margin-top:13px}
.partner-scroll{border-top:1px solid var(--line);margin-top:40px;padding-top:25px}
.partner-scroll-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:16px}
.partner-scroll-heading .eyebrow{font-size:.75rem;color:var(--sub);margin:0}
.partner-scroll-controls{display:flex;align-items:center;gap:8px}
.partner-scroll-controls>.mono{color:#677a83;margin-right:12px;font-size:.625rem}
.partner-scroll-controls>button{width:36px;height:36px;display:grid;place-items:center;background:#fff;border:1px solid #cbd6db}
.partner-scroll-controls>button:hover:not(:disabled){background:#edf4f7;border-color:#869eab}
.partner-scroll-controls>button:disabled{opacity:.35;cursor:default}
.partner-scroll-controls>button:first-of-type svg{transform:rotate(180deg)}
.partner-scroll-controls svg{width:17px;height:17px}
.partner-track{display:flex;gap:40px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b4c6cf #eef2f4;padding:20px 0 25px;list-style:none}
.partner-mark{flex:0 0 236px;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;height:86px}
.partner-mark img{width:auto;height:auto;max-width:218px;max-height:75px;object-fit:contain;filter:grayscale(1);opacity:.84;transition:filter .2s,opacity .2s;user-select:none}
.partner-mark:hover img{filter:none;opacity:1}
/* Logos are sized for equal visual weight (equal ink area), not equal width: a thin
   wordmark like Alameda runs wide, a stacked mark like UT Health runs narrow. Widths are
   a share of the slot so they scale with it at every breakpoint. */
.partner-mark.santander img{width:72.0%}.partner-mark.kaiser img{width:74.8%}.partner-mark.alameda img{width:92.7%}.partner-mark.honor img{width:80.5%}.partner-mark.texas img{width:86.1%}.partner-mark.ut img{width:67.6%}.partner-mark.scripps img{width:80.5%}.partner-mark.pomona img{width:82.4%}
.partner-scroll[data-marquee-on]{overflow:hidden}
.partner-scroll[data-marquee-on] .partner-track{width:max-content;gap:0;overflow:visible;scroll-snap-type:none;animation:partner-marquee 60s linear infinite}
.partner-scroll[data-marquee-on] .partner-mark{margin-right:40px;scroll-snap-align:none}
.partner-scroll[data-marquee-on] .partner-scroll-controls{display:none}
.partner-scroll[data-marquee-on]:hover .partner-track,.partner-scroll[data-marquee-on] .partner-track:focus-within{animation-play-state:paused}
@keyframes partner-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:850px){.partner-scroll[data-marquee-on] .partner-mark{margin-right:27px}}
@media(min-width:1025px) and (max-width:1100px){.nav-links{gap:16px}.navigation{gap:21px}.nav-cta{padding-inline:12px;gap:10px}.header-inner{gap:25px}}
@media(max-width:850px){.field-evidence{gap:35px;grid-template-columns:1fr 1fr}.field-hours{padding-left:35px}.field-hours strong{font-size:7rem}.field-evidence-copy>p{font-size:1rem}.field-hours>p{font-size:1rem}.partner-track{gap:27px}.partner-mark{flex-basis:218px}}
@media(max-width:550px){.field-evidence{display:block;padding:0}.field-evidence-copy h2{font-size:2.8rem}.field-hours{border-left:0;border-top:1px solid var(--line);margin-top:29px;padding:26px 0 0}.field-hours strong{font-size:6.7rem}.field-hours>p{margin-top:12px}.field-date{font-size:.75rem;margin-top:10px}.partner-scroll{margin-top:29px;padding-top:19px}.partner-scroll-controls>.mono{display:none}.partner-scroll-heading{gap:16px;margin-bottom:4px}.partner-track{gap:25px;padding:18px 0 20px}.partner-mark{flex-basis:204px;height:78px}.partner-mark img{max-width:196px;max-height:65px}}

/* Content-led hierarchy and undistorted product photography. */
.product-editorial .product-image{width:auto;object-fit:contain;aspect-ratio:1440/1600}
.hero-product{width:auto;object-fit:contain;aspect-ratio:1440/1600;transform:translateX(-50%);transition:none}
.hero-product-stage{perspective:none}
.mission-hero .hero-coordinate{font-family:Instrument,Arial,sans-serif;font-size:.9375rem;line-height:1.5;letter-spacing:0;text-transform:none;display:block;max-width:390px}
.mission-hero .hero-bottom{justify-content:flex-end;font-family:Instrument,Arial,sans-serif;letter-spacing:0;text-transform:none;font-size:.875rem}
.figure-caption{font-family:Instrument,Arial,sans-serif;font-size:.875rem;letter-spacing:0;text-transform:none}
.image-credit,.optics-image figcaption{font-family:Instrument,Arial,sans-serif;letter-spacing:0;text-transform:none}
.partner-scroll-heading .eyebrow{font-family:Instrument,Arial,sans-serif;text-transform:none;letter-spacing:0;font-size:1rem}
.principle-list article{grid-template-columns:1fr 1.3fr;gap:55px}
.principle-list article h3,.principle-list article p{grid-column:auto}
.review-row{grid-template-columns:1fr 1.3fr;gap:55px}
.review-row h3,.review-row>p,.review-row>div{grid-column:auto}
.industry-index-row{grid-template-columns:1fr 1.2fr 30px;gap:35px}
.industry-index-row h3,.industry-index-row p,.industry-index-row>svg{grid-column:auto;grid-row:auto}
.resource-link{grid-template-columns:1fr 1.2fr 30px;gap:35px}
.resource-link :is(h2,h3),.resource-link p,.resource-link>svg{grid-column:auto;grid-row:auto}
.tech-statements article{grid-template-columns:1fr 1.5fr}
.tech-statements article h3,.tech-statements article p{grid-column:auto}
@media(max-width:1000px){.principle-list article,.review-row{gap:30px}.industry-index-row,.resource-link{gap:25px}.nav-links{gap:13px}.navigation{gap:18px}}
@media(max-width:850px){.principle-list article,.review-row{grid-template-columns:1fr 1.3fr;gap:25px}.nav-links{gap:0 22px}.resource-link,.industry-index-row{grid-template-columns:1fr 1.2fr 25px;gap:23px}.tech-statements article{grid-template-columns:1fr 1.5fr}}
@media(max-width:650px){.principle-list article,.review-row{display:block}.principle-list article p,.review-row>p,.review-row>div{margin-top:18px}.resource-link,.industry-index-row{grid-template-columns:1fr 24px;gap:14px 20px}.resource-link :is(h2,h3),.industry-index-row h3{grid-column:1;grid-row:1}.resource-link p,.industry-index-row p{grid-column:1;grid-row:2}.resource-link>svg,.industry-index-row>svg{grid-column:2;grid-row:1}.tech-statements article{display:block}.tech-statements article p{margin-top:15px}.mission-hero .hero-coordinate{font-size:.875rem;max-width:none}.mission-hero .hero-bottom{justify-content:flex-start}.product-head .figure-caption{font-size:.8125rem}}

/* Oversized model backdrop with the complete A1 clear of the robot. */
.mission-hero .hero-product-stage{container-type:inline-size}
.mission-hero .hero-product-stage:before{left:-32%;top:20%;font-size:78cqw;letter-spacing:-.06em;white-space:nowrap}
@media(min-width:651px) and (max-width:1000px){
.mission-hero .hero-inner{grid-template-columns:1fr}
.mission-hero .hero-copy{padding-right:0}
.mission-hero .hero-product-stage{width:100%;max-width:600px;height:650px;margin:30px auto 0}
.mission-hero .hero-product{left:75%;height:565px;top:10px}
.mission-hero .hero-product-stage:before{display:block;left:-5%;top:20%;font-size:65cqw}
}

/* A1 system overview: real product imagery and linked operational explanations. */
.a1-system-visual{position:relative;isolation:isolate;overflow:hidden;background:#10191e;color:#fff;min-height:620px;display:grid;grid-template-columns:45% 55%;align-items:center;padding:38px 25px 55px}
.a1-system-photo{grid-column:2;grid-row:1;height:500px;position:relative;z-index:-1}
.a1-system-photo img{position:absolute;height:500px;width:auto;max-width:none;left:50%;transform:translateX(-50%);object-fit:contain}
.a1-system-parts{grid-column:1;grid-row:1;display:grid;gap:0}
.a1-system-parts a{position:relative;padding:20px 12px 20px 18px;border-top:1px solid #32434c;display:block;transition:background .2s}
.a1-system-parts a:last-child{border-bottom:1px solid #32434c}
.a1-system-parts a:hover,.a1-system-parts a:focus-visible{background:#1a2c35}
.a1-system-parts strong{display:block;font-weight:500;font-size:16px;line-height:1.3;margin-bottom:8px;letter-spacing:-.02em}
.a1-system-parts a>span:not(.system-dot){display:block;font-size:14px;line-height:1.5;color:#afc0c9}
.system-dot{position:absolute;width:5px;height:5px;background:#00a5e5;border-radius:50%;left:0;top:28px}
.a1-system-parts svg{position:absolute;right:0;top:24px;width:12px;height:12px;color:#62cafa}
.a1-system-visual figcaption{position:absolute;bottom:22px;left:25px;color:#afc0c9;font-size:13px;letter-spacing:.02em}
@media(max-width:1100px) and (min-width:851px){.a1-system-visual{padding-inline:18px;grid-template-columns:50% 50%}.a1-system-photo img{height:420px;top:40px}.a1-system-parts strong{font-size:14px}.a1-system-parts a>span:not(.system-dot){font-size:13px}}
@media(max-width:550px){.a1-system-visual{min-height:560px;padding:25px 18px 45px;grid-template-columns:51% 49%}.a1-system-photo{height:460px}.a1-system-photo img{height:400px;top:30px;left:56%}.a1-system-parts strong{font-size:14px}.a1-system-parts a>span:not(.system-dot){font-size:13px}.a1-system-parts a{padding-left:12px;padding-right:8px}.a1-system-parts svg{display:none}}

.exposure-study{background:#10191e;color:#f5f8fa;padding:28px 30px;margin:0}
.exposure-example+ .exposure-example{border-top:1px solid #34444c;margin-top:22px;padding-top:22px}
.exposure-example h3{font-size:20px;letter-spacing:-.025em;line-height:1.3}
.exposure-example svg{width:100%;height:auto;margin:10px 0 0}
.exposure-example p,.exposure-time p{color:#b7c7cf;font-size:14px;line-height:1.55}
.exposure-time{border-top:1px solid #34444c;margin-top:22px;padding-top:20px}
.exposure-time strong{display:block;font-size:16px;font-weight:500;margin-bottom:8px}
.exposure-study figcaption{font-size:12px;line-height:1.5;color:#93a8b3;margin-top:20px}
@media(max-width:550px){.exposure-study{padding:24px 20px}.exposure-example h3{font-size:18px}}

/* Approved photographic placement illustration; disclaimer is readable page text. */
.exposure-photo{margin:0;min-width:0}
.exposure-photo-frame{aspect-ratio:1122/1340;overflow:hidden;background:#10191e}
.exposure-photo-frame img{width:100%;height:auto;max-width:100%;display:block}
.exposure-photo figcaption{padding-top:18px}
.exposure-photo figcaption p{font-size:15px;line-height:1.55}
.exposure-photo figcaption .exposure-photo-note{font-size:12px;line-height:1.5;margin-top:9px;color:#65777f}

/* Reading pages, journal and service destinations. */
.reading-layout{display:grid;grid-template-columns:260px minmax(0,760px);gap:90px;justify-content:space-between;align-items:start}
.reading-toc{position:sticky;top:115px;display:grid;border-top:1px solid var(--line)}
.reading-toc a{font-size:14px;line-height:1.45;padding:13px 0;border-bottom:1px solid var(--line)}
.reading-toc a:hover{color:var(--link)}
.reading-body{max-width:760px;font-size:18px;line-height:1.8}
.reading-body h2{font-size:30px;line-height:1.2;margin:0 0 20px;letter-spacing:-.035em}
.reading-body section{margin:42px 0;scroll-margin-top:110px}
.reading-body p,.reading-body div{color:var(--sub)}
.reading-body ul{list-style:disc;padding-left:25px;margin:18px 0}
.reading-body li{margin:7px 0;color:var(--sub)}
.reading-body a{color:var(--link);text-decoration:underline;text-underline-offset:4px}
.article-heading{padding:65px 0 55px;border-bottom:1px solid var(--line)}
.article-heading h1{font-size:clamp(42px,5.4vw,78px);max-width:1000px;margin:25px 0;line-height:1.04}
.article-heading .lead{max-width:760px}.article-heading .journal-meta{margin-top:28px}
.article-content{padding-block:35px 60px}.article-content .reading-body{margin:0;text-align:left}
.article-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:40px}
.journal-feature{padding:0 0 40px}.journal-feature-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}
.journal-feature-image{overflow:hidden;background:#dbe2e4}.journal-feature-image img{aspect-ratio:3/2;width:100%;height:auto;object-fit:cover;transition:transform .3s}
.journal-feature-grid:hover img{transform:scale(1.02)}.journal-feature-grid h2,.journal-feature-grid .journal-feature-title{font-size:clamp(32px,3.6vw,52px);margin:20px 0}.journal-feature-grid p{font-size:18px}
.journal-meta{font-size:13px!important;line-height:1.5;letter-spacing:.01em;color:#60727a}.journal-meta span{display:block;margin-top:5px}
.journal-tools{display:flex;justify-content:space-between;gap:35px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:24px}
.journal-filters{display:flex;gap:9px;flex-wrap:wrap}.journal-filters button{border:1px solid var(--line);padding:9px 15px;background:transparent;font-size:14px}
.journal-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
.journal-search{font-size:13px;display:grid;gap:8px;min-width:230px}.journal-search input{border:1px solid #9badb5;background:transparent;padding:10px 13px;min-width:0;color:var(--ink)}
.journal-count{font-size:13px;margin:22px 0}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:45px;row-gap:55px}
.journal-card{border-top:1px solid #98aab3;padding-top:20px;display:flex;flex-direction:column;align-items:start}.journal-card[hidden]{display:none}
.journal-card h2{font-size:29px;line-height:1.15;margin:24px 0 18px;letter-spacing:-.035em}.journal-card h2 a:hover{color:var(--link)}
.journal-card>p{font-size:16px;line-height:1.6}.journal-read{display:flex;align-items:center;gap:12px;font-size:14px;margin-top:auto;padding-top:30px}.journal-read svg{width:17px;height:17px}
.inline-reload{border:0;background:none;padding:0;color:var(--link);text-decoration:underline;text-underline-offset:3px}
.legal-content{padding-top:15px}
@media(max-width:1000px){.reading-layout{grid-template-columns:210px minmax(0,1fr);gap:45px}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-feature-grid{gap:35px}}
@media(max-width:650px){.reading-layout{display:block}.reading-toc{position:static;margin-bottom:35px}.reading-body{font-size:17px}.reading-body h2{font-size:26px}.journal-feature-grid{display:block}.journal-feature-grid>div+div{margin-top:28px}.journal-tools{display:block}.journal-search{margin-top:22px}.journal-grid{grid-template-columns:1fr;gap:35px}.journal-card h2{font-size:29px}.article-heading{padding-block:30px}.article-heading h1{font-size:42px}}

.form-embed .hs-form .input{margin-right:0!important}.form-embed .hs-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.form-embed .hs-form select,.form-embed .hs-form textarea{width:100%!important}

/* Original blog content: preserve source order and imagery, apply site typography. */
.article-heading{padding:48px 0 38px;border-bottom:0}
.article-heading-inner{max-width:calc(1100px + 2*var(--gutter))}
.article-heading .journal-meta{margin-top:28px}
.article-heading h1{font-size:clamp(38px,4.8vw,66px);max-width:1100px;margin:18px 0 0;line-height:1.08;letter-spacing:-.045em}
.article-hero img{width:100%;height:auto;max-height:none;object-fit:contain}
.article-content{padding-block:54px 80px}
.original-article-content{font-size:18px;line-height:1.8;overflow-wrap:anywhere}
.original-article-content p{margin:0 0 24px}
.original-article-content h2{font-size:32px;line-height:1.2;margin:48px 0 20px;letter-spacing:-.035em}
.original-article-content h3{font-size:24px;line-height:1.3;margin:32px 0 16px;letter-spacing:-.025em}
.original-article-content> :first-child{margin-top:0}
.original-article-content> :last-child{margin-bottom:0}
.original-article-content ul,.original-article-content ol{padding-left:26px;margin:22px 0 28px}
.original-article-content ul{list-style:disc}.original-article-content ol{list-style:decimal}
.original-article-content li{margin:10px 0;padding-left:3px}
/* Imported articles carry CMS leftovers: bold-wrapped headings, line breaks inside headings,
   one-item lists in a row, and an unclosed wrapper div that greys later headings.
   Normalise them here so every article reads the same. */
.original-article-content :is(h2,h3){color:var(--ink)}
.original-article-content :is(h2,h3) strong{font-weight:inherit}
.original-article-content :is(h2,h3) br{display:none}
.original-article-content ul:has(+ul){margin-bottom:0}
.original-article-content ul+ul{margin-top:10px}
.original-article-content li p{margin-bottom:12px}
.original-article-content figure{margin:32px 0;max-width:100%}
.original-article-content img{display:block;max-width:100%;height:auto;margin:28px 0}
.original-article-content figure img{margin:0}
.original-article-content figcaption{font-size:14px;line-height:1.6;color:var(--sub);margin:12px 0 0;text-align:left}
.original-article-content .article-table-scroll{overflow-x:auto;margin:28px 0 36px;max-width:100%}
.original-article-content table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.6;min-width:560px}
.original-article-content th,.original-article-content td{border:1px solid var(--line);padding:14px 16px;text-align:left;vertical-align:top;min-width:130px}
.original-article-content th{background:#eaf0f3;font-weight:600;color:var(--ink)}
/* Phones: fit article tables to the screen instead of scrolling sideways. */
@media(max-width:650px){.original-article-content table{min-width:0;font-size:13px;line-height:1.5}.original-article-content th,.original-article-content td{min-width:0;padding:10px 8px;overflow-wrap:anywhere;hyphens:auto}}
.original-article-content td p{margin:0}
.original-video-embed{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;margin:30px 0}
.original-social-embed{display:block;width:100%;max-width:504px;height:938px;border:0;margin:32px auto}
.article-related{padding-block:64px 80px}.article-related> .wrap>h2{font-size:40px;margin-bottom:32px}
.article-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.article-related-card{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start}
.article-related-card h3{font-size:24px;line-height:1.25;margin:10px 0 12px}
.article-related-card .journal-card-image{margin:0}
/* Blog index: the title band runs straight into the featured post with no
   rule between them -- both grounds are var(--paper), so they merge -- and
   sits closer to it, the same treatment the company page gives its own title
   band. 34px is --page-opening-bottom's smallest rung. The 240px floor on
   .page-intro-grid goes with it: that height is there to hold a heading and
   a lead side by side, and this band carries only a heading, so it was holding
   ~150px of empty space open. The company band sits in a plain .wrap and
   never had the floor. */
.page-intro.journal-intro{border-bottom:0;padding-bottom:34px}
.page-intro.journal-intro .page-intro-grid{min-height:0}
.journal-feature{padding:48px 0 64px}
.journal-feature-image{background:transparent;aspect-ratio:16/9}
.journal-feature-image img{aspect-ratio:auto;object-fit:cover;width:100%;height:100%}
.journal-feature-grid:hover img{transform:none}
.journal-feature-grid h2,.journal-feature-grid .journal-feature-title{line-height:1.12;margin:16px 0 20px}
.journal-index{padding-top:64px}
.journal-tools{gap:24px;align-items:center}
.journal-filters button{font-size:14px;line-height:1.4;padding:10px 14px}
.journal-grid{row-gap:48px;column-gap:36px}
.journal-card{border-top:0;padding-top:0}
.journal-card-image{display:block;aspect-ratio:16/10;width:100%;background:#edf1f3;margin-bottom:20px;overflow:hidden}
.journal-card-image img{width:100%;height:100%;object-fit:cover}
.journal-card h2{font-size:27px;line-height:1.2;margin:12px 0 18px}
.journal-read{padding-top:8px}
.legal-content{padding-top:44px;padding-bottom:80px}
.legal-content .reading-body>p{margin-bottom:32px}
.legal-content .reading-body>section{margin:38px 0}
.legal-content .reading-body>section:first-of-type{margin-top:0}
.legal-content .reading-body section section{margin:0}
.legal-content .reading-body h2{margin-bottom:18px;line-height:1.25}
.legal-content .reading-body h3{font-size:20px;line-height:1.4;margin:24px 0 12px;letter-spacing:-.015em}
.legal-content .reading-body p{margin:0 0 18px}
.legal-content .reading-body ul{margin:16px 0 24px}
.legal-content .reading-body li{margin:10px 0}
.reading-toc a{padding:14px 0;font-size:14px}
.support-copy h2{margin-bottom:24px}
.support-copy .simple-links{margin-block:32px}
.careers-layout .editorial-body>p+p{margin-top:24px}
.careers-layout .actions{margin-top:32px;gap:24px}.careers-layout .actions .text-link{min-height:54px;margin-top:0;padding-block:0}
.faq-intro h2{margin-bottom:22px}
@media(max-width:1000px){.article-related-card{grid-template-columns:1fr;gap:16px}.article-related-card .journal-card-image{max-width:100%}}
@media(max-width:650px){
 .article-heading{padding:28px 0}.article-heading h1{font-size:38px;line-height:1.12}.article-heading .journal-meta{margin-top:18px}
 .article-content{padding-block:32px 48px}.original-article-content{font-size:17px;line-height:1.75}
 .original-article-content h2{font-size:27px;margin-top:36px}.original-article-content h3{font-size:22px;margin-top:28px}
 .original-article-content p{margin-bottom:20px}.original-article-content figure{margin-block:26px}
 .article-related{padding-block:42px 56px}.article-related> .wrap>h2{font-size:32px}
 .article-related-grid{grid-template-columns:1fr;gap:36px}
 .journal-feature{padding-top:28px;padding-bottom:44px}.journal-index{padding-top:44px}.journal-feature-grid>div+div{margin-top:24px}
 .journal-feature-grid h2,.journal-feature-grid .journal-feature-title{font-size:32px}.journal-search{min-width:0}
 .journal-card h2{font-size:27px}.journal-grid{gap:36px}
 .legal-content{padding-block:28px 56px}.reading-toc{margin-bottom:32px}.reading-layout{min-width:0}
 .support-copy h2{margin-bottom:20px}.careers-layout .actions{gap:20px}
}
/* Article hero: the same cropped rectangle the blog cards use, at the same
   16/10 ratio, so the hero reads as a full-width version of the card. One
   ratio at every width -- no breakpoint needed. */
.article-hero figure{display:block;margin:0;max-width:1100px;aspect-ratio:16/10;overflow:hidden;background:#edf1f3}
/* Crop anchored left, not centred: the figure already sits flush with the
   article text, so this aligns what the crop keeps with it too. Vertical
   stays centred, which is the axis that crops on portrait sources. */
.article-hero img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:left center}
.faq-intro .text-link{margin-top:0}

/* Page openings share one type and spacing system; home/product heroes are separate. */
:root{--page-title-size:clamp(3rem,5.7vw,5.8rem);--page-title-weight:400;--page-title-leading:1.05;--page-title-tracking:-.05em;--page-opening-top:64px;--page-opening-bottom:52px;--page-lead-size:1.125rem}
.page-intro{padding-block:var(--page-opening-top) var(--page-opening-bottom);background:var(--paper);border-bottom:1px solid var(--line)}
.page-intro-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(36px,4vw,64px);align-items:start;min-height:240px}
/* The second column exists to hold a lead beside the title. A band that
   carries only a heading was still giving that column its 1fr, squeezing the
   heading into 57% of the row and wrapping authored two-line titles onto a
   third line. */
.page-intro-grid:has(>h1:only-child){grid-template-columns:minmax(0,1fr)}
.page-intro h1{font-family:Instrument,Arial,Helvetica,sans-serif;font-size:var(--page-title-size);font-weight:var(--page-title-weight);line-height:var(--page-title-leading);letter-spacing:var(--page-title-tracking);margin:0;max-width:none}
.page-intro-copy{padding-top:6px;max-width:500px}
.page-intro .lead{font-size:var(--page-lead-size);font-weight:400;line-height:1.6;color:var(--sub);max-width:none;margin:0}
.page-intro .page-intro-note{font-size:1rem;font-weight:400;line-height:1.6;color:var(--sub);margin:20px 0 0}
@media(max-width:780px){
 :root{--page-title-size:clamp(3rem,7.4vw,4.3rem);--page-opening-top:40px;--page-opening-bottom:34px;--page-lead-size:1.0625rem}
 .page-intro-grid{grid-template-columns:1fr;gap:24px;min-height:0}
 .page-intro-copy{padding:0;max-width:600px}
 .page-intro .page-intro-note{margin-top:18px}
}

.page-intro .actions{gap:18px 24px;margin-top:28px}
.page-intro .breadcrumb{margin:24px 0 0;font-family:Instrument,Arial,sans-serif;font-size:.875rem;line-height:1.6;flex-wrap:wrap;gap:6px 11px}
.page-intro .breadcrumb a{color:var(--link)}
.article-heading{padding-block:var(--page-opening-top) var(--page-opening-bottom);background:var(--paper)}
.article-heading-inner{max-width:calc(var(--max) + 2*var(--gutter))}
.article-heading h1{font-family:Instrument,Arial,Helvetica,sans-serif;font-size:var(--page-title-size);font-weight:var(--page-title-weight);line-height:var(--page-title-leading);letter-spacing:var(--page-title-tracking);max-width:1100px;margin:20px 0 0;overflow-wrap:break-word}
.article-heading .journal-meta{margin-top:24px}
.contact-details{padding-top:64px}
.contact-details .contact-paths{margin-top:0}
.pharma-overview{padding-block:48px}
.pharma-overview .industry-brief{margin:0;display:grid;grid-template-columns:1fr 1.35fr;gap:48px;align-items:start}
.pharma-overview .brief-title{margin:0;font-size:2rem;line-height:1.2}
.industry-brief-links{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.industry-brief-links a{font-size:.9375rem;padding-block:16px}
.facility-session-visual{margin-top:32px;max-width:480px}
.facility-session-photo img{width:100%;height:auto}
@media(max-width:780px){
 .article-heading .journal-meta{margin-top:18px}
 .article-heading h1{margin-top:18px}
 .page-intro .actions{margin-top:24px}
 .contact-details{padding-top:40px}
 .pharma-overview{padding-block:32px}
 .pharma-overview .industry-brief{grid-template-columns:1fr;gap:24px;padding:26px}
 .pharma-overview .brief-title{font-size:1.75rem}
 .industry-brief-links{grid-template-columns:1fr;gap:0}
 .facility-session-visual{max-width:100%}
}

/* Brand typography roles; preserve original dimensions and weights. */
.caption,.image-credit,.optics-image figcaption,.field-date,.instrument-caption,.science-ref,.dose-chart-tick{font-family:Plex,monospace}

/* A1 operating modes: vertical list with the motion graphics. The .mode-tabs
   and .mode-panels rules above stay -- dist/cn/ and dist/es/ are generated from
   the international edition and still carry the tab switcher until they rebuild. */
.mode-head{margin-bottom:54px}
.mode-head h2{font-size:clamp(2.65rem,4.3vw,4.35rem);max-width:none}
#task-design .section-top,#in-motion .section-top,#clinical-film .section-top{display:block}
#task-design .section-top h2,#in-motion .section-top h2,#clinical-film .section-top h2{max-width:none}
.mode-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
/* The rule breaks at the column gaps rather than running the full width. */
.mode-col{min-width:0;border-top:1px solid var(--line);padding-top:34px}
.mode-figure{margin-bottom:22px}
.mode-svg{display:block;width:100%;height:auto}
.mode-copy h3{font-size:1.75rem;letter-spacing:-.03em;margin-bottom:9px}
.mode-copy .mode-lede{font-size:1.0625rem;color:var(--sub);margin-bottom:13px}
.mode-copy p{font-size:1rem}
@media(max-width:850px){.mode-head{margin-bottom:34px}.mode-head h2{font-size:2.9rem}.mode-list{grid-template-columns:1fr;gap:34px}.mode-figure{max-width:330px}.mode-copy h3{font-size:1.55rem}.mode-copy .mode-lede{font-size:1rem}}

/* A1 sensing module. Every rule is scoped under .sensing-split so the generic
   names inside it (.legend, .credit, .swatch) cannot reach the rest of the
   site. NB the container is NOT called .sensing -- that name is already taken
   by .hotspot.sensing on the product image above. */
.sensing-split{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center}
.sensing-split .stage-frame{aspect-ratio:3/2;border:1px solid rgba(255,255,255,.12);background:#03161f}
.sensing-split .stage-frame canvas{width:100%;height:100%;display:block}
.sensing-split .stage-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.sensing-split .legend{display:flex;gap:20px;flex-wrap:wrap}
.sensing-split .legend-item{display:inline-flex;align-items:center;gap:8px;font:400 .6875rem/1.6 Plex,monospace;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.sensing-split .swatch{display:inline-block;width:18px;height:1px}
.sensing-split .swatch-env{background:rgba(150,180,195,.7)}
.sensing-split .swatch-route{background:var(--cyan)}
.sensing-split .stage-controls{display:flex;align-items:center;gap:12px}
.sensing-split .view-control{display:inline-flex;align-items:center;gap:10px;font:400 .6875rem/1.6 Plex,monospace;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.sensing-split .view-control input{-webkit-appearance:none;appearance:none;width:72px;height:3px;border-radius:2px;background:rgba(255,255,255,.2);cursor:pointer}
.sensing-split .view-control input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;border:0;background:var(--cyan);cursor:pointer}
.sensing-split .view-control input::-moz-range-thumb{width:13px;height:13px;border-radius:50%;border:0;background:var(--cyan);cursor:pointer}
.sensing-split .credit{margin-top:18px;font:400 .75rem/1.6 Plex,monospace;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.sensing-copy h2{font-size:clamp(2.65rem,4.3vw,4.35rem);line-height:1.02;margin-bottom:24px}

.sensing-split .stage-tabs{display:flex;justify-content:space-between;gap:28px;margin-top:40px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.14)}
.sensing-split .stage-tab{background:none;border:0;padding:4px 0;font-size:.95rem;font-weight:500;color:rgba(255,255,255,.55);border-bottom:1px solid transparent}
.sensing-split .stage-tab:hover{color:#fff}
.sensing-split .stage-tab[aria-selected=true]{color:#fff;border-bottom-color:var(--cyan)}
.sensing-split .tab-index{font-size:.75em;letter-spacing:.08em;opacity:.55;font-variant-numeric:tabular-nums}
/* The captions share one grid cell, so the tallest reserves the height and
   switching stages never shifts the layout. */
.sensing-split .stage-caption{display:grid;margin-top:22px;max-width:34em}
.sensing-split .stage-caption>p{grid-area:1/1;color:rgba(255,255,255,.68)}
.sensing-split .stage-caption>p[aria-hidden=true]{visibility:hidden}
@media(max-width:900px){.sensing-split{grid-template-columns:1fr;gap:32px}.sensing-copy h2{font-size:2.4rem}}
@media(max-width:520px){.sensing-split .stage-tabs{gap:20px}}

/* .three-lines inside a split column rather than full width: the rows have
   roughly half the measure, so the label/description gap and the row padding
   come in a step, and the top margin goes because the list is now the first
   thing in its column. Values are ones the sheet already uses. */
.three-lines.tight{margin-top:0}
.three-lines.tight>div{gap:28px;padding-block:25px}

.fact small{font-size:1rem;letter-spacing:-.01em;width:0;overflow:visible;white-space:nowrap;text-indent:9px}

/* A1 "Designed around the task." The accordion itself is .faq-item, already
   styled for this page; only the split, the media panels and the reserved
   height are new, and all three are scoped to this section. */
.task-design-split{display:grid;grid-template-columns:2fr 1fr;gap:90px;align-items:start}
/* 16/9 matches .consent-media (review.css), which the four player panels
   carry -- the base 16/10 only ever applied to the fifth panel, so
   switching to it moved the media column 35px. */
.task-design-panel{aspect-ratio:16/9;background:#edf1f3;display:grid;place-items:center}
/* An author `display` beats the UA sheet's [hidden] rule whatever the
   specificity, so the inactive panels need it back explicitly. */
.task-design-panel[hidden]{display:none}
.task-design-panel .eyebrow{margin-bottom:0}
.task-design-panel video{width:100%;height:100%;object-fit:contain;display:block}
/* Set from script to the tallest description, so opening another feature
   never moves the sections below. */
.task-design-list{min-height:var(--task-design-min,0)}
@media(max-width:1000px){.task-design-split{gap:45px}}
@media(max-width:650px){.task-design-split{display:block}.task-design-media{margin-bottom:38px}.task-design-list{min-height:0}}
/* Hairline per item rather than one rule across the whole grid, matching
   .industry-challenges: the line then breaks at the column gaps. Above the
   650px stack only -- below it the articles carry their own border-bottom and
   a top border would sit on it and read as 2px. */
@media(min-width:651px){.partnership-rows{border-top:0;padding-top:0}.partnership-rows article{border-top:1px solid #34474f;padding-top:30px}}
/* Social row under the footer address. Tone matches the address line it sits
   beneath (#899fac) and the hover matches the footer's other links (#53c2f0);
   ul is already reset and :focus-visible is global, so neither is repeated. */
.footer-social{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px}
.footer-social a{display:flex;color:#899fac}
.footer-social a:hover{color:#53c2f0}
.footer-social svg{display:block}
@media(max-width:650px){.footer-social{margin-top:18px}}

/* Featured blog heading and right-aligned index link share a row. */
#featured-blog .section-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:20px 32px}
#featured-blog .section-top p{justify-self:start;max-width:520px;margin-top:10px}
#featured-blog .section-top>.text-link{margin:0 0 0 auto;flex-shrink:0}

/* On mobile, show the linked A1 image above its text link; desktop keeps the original two-column stage. */
[data-scroll-story="home"] .home-a1-product-mobile{display:none}
[data-scroll-story="home"] .home-a1-product-desktop{display:block}
@media(max-width:850px){
 [data-scroll-story="home"] .home-a1-product-mobile{display:block;min-height:420px;margin:32px 0 24px}
 [data-scroll-story="home"] .home-a1-product-mobile .product-image{height:390px;top:15px}
 [data-scroll-story="home"] .home-a1-product-desktop{display:none}
 [data-scroll-story="home"] .feature-stage-top{display:block}
}
@media(max-width:650px){
 [data-scroll-story="home"] .home-a1-product-mobile{min-height:390px;margin-top:26px}
 [data-scroll-story="home"] .home-a1-product-mobile .product-image{height:365px;top:12px}
}

/* Open roles */
.open-roles-intro{border-bottom:0}
.open-roles{padding-top:78px}
.role-department{display:grid;grid-template-columns:.5fr 1.5fr;gap:50px}
.role-department>h2{font-size:1.35rem;letter-spacing:-.02em;padding-top:31px}
.role-link{display:grid;grid-template-columns:minmax(0,1fr) auto 26px;gap:34px;align-items:center;padding-block:28px;border-bottom:1px solid var(--line)}
.role-department:first-of-type .role-link{border-top:1px solid var(--line)}
.role-link h3{font-size:clamp(1.5rem,2.25vw,2.35rem);letter-spacing:-.035em;margin-bottom:8px}
.role-link p,.role-link time{font-size:.9375rem;color:var(--sub)}
.role-link time{white-space:nowrap}
.role-link svg{color:var(--link);transition:transform .2s}
.role-link:hover h3{color:var(--link)}
.role-link:hover svg{transform:translate(3px,-3px)}
.open-roles-source{margin:34px 0 0 25%;font-size:.875rem;text-align:right}
.open-roles-source a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.open-roles{padding-top:48px}.role-department{display:block}.role-department>h2{padding:28px 0 4px}.role-department:first-of-type{border-top:1px solid var(--line)}.role-department:first-of-type .role-link{border-top:0}.role-link{grid-template-columns:1fr 24px;gap:15px 20px;padding-block:23px}.role-link time{grid-column:1}.role-link svg{grid-column:2;grid-row:1}.open-roles-source{margin:28px 0 0}}

/* Mobile navigation scrim. The menu is a panel that drops out of the header
   over the page, so the content behind it gets a dark wash to push it back.
   It hangs off the toggle's own aria-expanded rather than a second class, so
   there is nothing for site.js to keep in step.

   It has to live on body, not inside .site-header: the header sets
   backdrop-filter, which makes it the containing block for position:fixed
   descendants, so a scrim parented there is trapped inside the 74px header
   box instead of covering the viewport. On body it resolves against the
   viewport, and z-index:40 sits under the header's 50 -- so the header and
   the open panel both paint over it -- and above page content, which is
   what gets washed. It starts at the panel's own 72px offset so the header
   is left alone.

   pointer-events:none keeps the document click handler that closes the menu
   on a tap outside working: the tap reaches the content underneath, which is
   what that handler reads. */
@media(max-width:850px){
  body:has(.menu-toggle[aria-expanded="true"])::after{content:'';position:fixed;top:72px;left:0;right:0;bottom:0;background:rgba(16,23,27,.55);z-index:40;pointer-events:none}
}

/* Testimonial. The quote takes the wide first column; the attribution takes a
   narrow second one with a cyan rule down its left edge, sitting at the bottom
   of the quote's height. Shared by the A1 and facility-operations pages, which
   each carried their own copy of this and had drifted apart. */
.pull-quote{margin:0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(180px,.65fr);gap:clamp(40px,6vw,96px);align-items:start;text-align:left}
.pull-quote p{grid-column:1;grid-row:1;font-size:clamp(1.6rem,2.6vw,2.6rem);line-height:1.3;letter-spacing:-.03em;font-weight:400;color:inherit}
.pull-quote footer{grid-column:2;grid-row:1;align-self:end;margin:0;padding-left:20px;border-left:2px solid var(--cyan);font-size:1.125rem;line-height:1.4;color:inherit}
.pull-quote cite{font-style:normal;font-weight:500}
.pull-quote footer span{display:block;margin-top:12px;font-size:.9375rem;line-height:1.6;color:#aebec6;max-width:260px}
@media(max-width:650px){.pull-quote{grid-template-columns:1fr;gap:32px}.pull-quote footer{grid-column:1;grid-row:2;align-self:start;max-width:320px}}

/* Headings fit the available line; section height is independent of text size. */
.contact-band h2{white-space:nowrap;max-width:none;min-width:0}
/* Contact, Support and Lab reports titles use the shared page-opening title tokens. */
.contact-copy h1{font-size:var(--page-title-size);line-height:var(--page-title-leading);letter-spacing:var(--page-title-tracking)}
/* Hairline between the featured post and the article list. */
.journal-index{border-top:1px solid var(--line)}
/* Featured post title: styled as a heading, marked up as text so it does not duplicate the list heading. */
.journal-feature-grid .journal-feature-title{font-weight:500;letter-spacing:-.048em;color:inherit}
.article-related-more{margin-top:40px}
/* Headings whose forced line breaks strand a word on phones (measured at 360-414px):
   drop the breaks there and let the title wrap naturally. */
@media(max-width:650px){.br-soft-mobile br{display:none}}
/* Tablets (651-1024px) stack side-by-side splits the way phones do (Vivian, 2026-10-05). Page
   stylesheets load after this one and set these grids too, so the layout properties are
   !important; spacing comes from each component's existing gap. Card grids, button rows,
   stat tiles and spec tables keep their columns. */
@media(min-width:651px) and (max-width:1024px){
  .editorial-split,.faq-grid,.task-design-split,.journal-feature-grid,.section-top,.field-evidence,.feature-stage,.product-head,.feature-intro,.contact-layout,.page-intro-grid,.partnership-rows,.sensing-split,.tech-video-layout,.science-content-layout,#mechanism .science-split,.facility-case-intro,.company-story-grid,.adis-reporting-intro,.pull-quote,.industry-challenges,.industry-evidence-grid,.wavelength-intro,.dose-intro,.review-row,.principle-list article,.dose-groups,.efficacy-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start}
  /* The !important displays above (and .partnership-rows article) would otherwise override [hidden] and
     show tab panels that should be closed, e.g. all three Technology videos at once (2026-10-06). */
  :is(.editorial-split,.faq-grid,.task-design-split,.journal-feature-grid,.section-top,.field-evidence,.feature-stage,.product-head,.feature-intro,.contact-layout,.page-intro-grid,.partnership-rows,.sensing-split,.tech-video-layout,.science-content-layout,#mechanism .science-split,.facility-case-intro,.company-story-grid,.adis-reporting-intro,.pull-quote,.industry-challenges,.industry-evidence-grid,.wavelength-intro,.dose-intro,.review-row,.principle-list article,.dose-groups,.efficacy-layout,.partnership-rows article)[hidden]{display:none!important}
  .section-top{gap:20px}
  .editorial-split,.faq-grid,.task-design-split,.feature-stage,.product-head{gap:36px}
  .partnership-rows article{display:block!important}
  .facility-case-intro>*,.review-row>*,.pull-quote>*,.science-content-layout>*,.tech-video-layout>*,.sensing-split>*{grid-column:auto!important;grid-row:auto!important}
  .section-top p{justify-self:start}
  /* Three modes: one mode per row, animation left and text right. */
  .mode-list{grid-template-columns:minmax(0,1fr);gap:36px}
  .mode-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
  .mode-figure{margin-bottom:0;max-width:none}
}
/* Nothing in the page body may scroll the page sideways (tablet report, 2026-10-05): the A1 hero's
   robot image ran 11px past the edge at 1025-1110px. clip, unlike hidden, creates no scroll container,
   so vertical overflow and sticky elements are unaffected. */
main{overflow-x:clip}
/* Tablets use the phone menu too (Vivian, 2026-10-05): the hamburger and its panel now apply up to
   1024px, not 850px. These are the phone rules from the max-width:850px blocks above; site.js uses the
   same 1025px boundary for hover menus and for closing the panel. */
@media(max-width:1024px){
  .header-inner{height:73px}
  .menu-toggle{display:flex}
  .navigation{display:none;position:absolute;left:0;right:0;top:72px;max-height:calc(100dvh - 72px);overflow:auto;background:#f7f8f8;border-bottom:1px solid var(--line);padding:22px var(--gutter) 27px;align-items:stretch;gap:25px}
  .navigation.open{display:flex;flex-direction:column}
  .nav-links{display:grid;grid-template-columns:1fr;align-items:start;gap:0}
  .nav-links>*{width:100%;min-width:0}
  .nav-links a{display:flex;width:100%;font-size:1.0625rem;border-bottom:1px solid var(--line);padding-block:16px}
  .nav-links a:after{display:none}
  .nav-cta{align-self:stretch;justify-content:space-between;width:100%;font-size:.9375rem;padding:14px 20px}
  .nav-industries{width:100%}
  .nav-industries summary{font-size:1.0625rem;padding-block:15px;justify-content:space-between}
  .industry-menu{position:static;width:100%;box-shadow:none;margin-bottom:12px;background:#eef3f5;min-width:0}
  .nav-links .industry-menu a{font-size:1rem;padding:13px;white-space:normal;overflow-wrap:anywhere}
  .nav-links .industry-menu a:last-child{border-bottom:0}
  .nav-links>.nav-industries:first-of-type{border-bottom:1px solid var(--line)}
  body:has(.menu-toggle[aria-expanded="true"])::after{content:'';position:fixed;top:72px;left:0;right:0;bottom:0;background:rgba(16,23,27,.55);z-index:40;pointer-events:none}
}
/* Home, tablets: the robot image beside the three callouts is hidden, so the list is centered as a
   block and its descriptions use the full row (Vivian, 2026-10-05). */
@media(min-width:651px) and (max-width:1024px){
  [data-scroll-story="home"] .feature-stage .feature-rows{max-width:560px;margin-inline:auto}
  [data-scroll-story="home"] .feature-stage .feature-row p{max-width:none}
}
