@font-face{font-family:'JetBrains Mono';src:url('assets/JetBrainsMono-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('assets/JetBrainsMono-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
/* Geometry is in reference pixels. At 1920px one unit is one CSS pixel.
   Smaller desktop grids adapt their tracks; handheld layouts reflow below. */
:root{color-scheme:dark;--u:min(1px,calc(100vw / 1920));--bg:#0d0d0d;--text:#bbb;--green:#446b47;--line:#7a7977;--muted:#5c5e62;--panel:#446b4714;--focus:#e0f4d4;--error:#ffb5ae;--white:#fff;--font:'JetBrains Mono',monospace;--body:max(16px,calc(20 * var(--u)));--h1:calc(128 * var(--u));--h2:calc(64 * var(--u));--h3:max(18px,calc(24 * var(--u)));--gutter:calc(70 * var(--u));--gap:calc(20 * var(--u));--section-space-scale:1.5;--section:calc(160 * var(--u) * var(--section-space-scale));--radius:calc(20 * var(--u));--duration:200ms;--exit:150ms;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--dot-glow:drop-shadow(0 0 3px #7a797766);--learning-height:calc(678.182 * var(--u));--component-height:calc(498.103 * var(--u));--edition-height:calc(808 * var(--u));--step-width:calc(580 * var(--u));--step-height:calc(650 * var(--u))}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font:700 var(--body)/1.15 var(--font)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font:800 var(--h2)/.86 var(--font);letter-spacing:0;font-synthesis:none}h3{font-size:var(--h3);line-height:1.15}p{overflow-wrap:break-word}button,input,a{font:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}button,a{touch-action:manipulation}button,input{color:inherit}button:not(:disabled),a{cursor:pointer}img{display:block;max-width:100%;height:auto}a,button,input{transition:background-color var(--duration) ease-out,border-color var(--duration) ease-out}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:4px}button:disabled{opacity:.4;cursor:default}::selection{background:var(--green);color:white}[hidden]{display:none!important}.container{width:min(calc(1780 * var(--u)),calc(100% - 2 * var(--gutter)));margin-inline:auto;min-width:0}.green{color:var(--green)}.sr-only{position:absolute;width:1px;height:1px;margin:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.skip{position:absolute;top:0;left:16px;z-index:10;padding:16px;background:var(--green);transform:translateY(-120%)}.skip:focus{transform:none}
.site-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;min-height:calc(114 * var(--u));padding-top:calc(12 * var(--u))}.logo{display:block;flex:none;width:calc(96 * var(--u))}.logo img{width:100%;height:auto}.nav{display:flex;align-items:center;gap:calc(41 * var(--u));padding-top:calc(17 * var(--u))}.nav a,.nav button{display:flex;align-items:center;padding:0;min-height:44px}.menu-toggle{display:none}
.hero{position:relative;text-align:center}.hero h1{font-size:var(--h1);line-height:.712765625;color:var(--green);text-wrap:balance}.hero-layout{display:grid;grid-template-columns:minmax(0,460fr) minmax(0,860fr) minmax(0,460fr);position:relative;isolation:isolate;margin-top:calc(8 * var(--u));min-height:calc(801.756 * var(--u))}.hero-center,.hero-left,.hero-right{position:relative;z-index:1;min-width:0}.hero-center{display:flex;align-items:center;flex-direction:column}.hero .intro{font-size:var(--h3);line-height:1.05;width:calc(456 * var(--u));max-width:100%;margin-top:calc(40 * var(--u));min-height:calc(50.4 * var(--u))}.button{display:inline-flex;align-items:center;justify-content:center;gap:calc(48 * var(--u));min-height:44px;padding:12px 24px;border:1px solid transparent;border-radius:40px;background:var(--green);color:var(--text);white-space:nowrap}.button img{flex:none;width:16px;height:14px}.hero-center>.button,.test-drive-dock .button{margin-top:calc(56.606 * var(--u));width:calc(300 * var(--u));height:calc(60 * var(--u));padding:8px 16px}.hero-main-device{width:calc(365.917 * var(--u));max-width:100%;height:auto;margin-top:calc(41.671 * var(--u))}.hero-left{width:calc(340 * var(--u));justify-self:center;margin-top:calc(295.152 * var(--u));display:flex;align-items:center;flex-direction:column}.hero-left>.hero-satellite-control{width:calc(115.103 * var(--u))}.hero-left figcaption{margin-top:calc(102 * var(--u))}.hero figcaption{font-size:var(--body);line-height:1.15;text-align:center}.hero-upper,.hero-lower{display:flex;align-items:center;flex-direction:column}.hero-upper{width:calc(280 * var(--u));margin-left:calc(26.87 * var(--u));padding-top:calc(126.315 * var(--u))}.hero-upper>.hero-satellite-control{width:calc(89.9392 * var(--u))}.hero-upper figcaption{margin-top:calc(76 * var(--u))}.hero-lower{width:calc(300 * var(--u));margin-left:calc(156.16 * var(--u));margin-top:calc(88.158 * var(--u))}.hero-lower>.hero-satellite-control{width:calc(96.0338 * var(--u))}.hero-lower figcaption{margin-top:calc(91 * var(--u))}.hero-art{display:block;position:absolute;top:0;left:0;width:100%;height:auto;z-index:0;pointer-events:none;overflow:visible}.ref-dot{filter:var(--dot-glow)}
.concept{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1030fr) minmax(0,729.414fr);gap:var(--gap);align-items:stretch;margin-top:var(--section)}.concept-copy{min-width:0;min-height:calc(818 * var(--u));display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:calc(24 * var(--u)) calc(22 * var(--u)) calc(28 * var(--u));background:var(--panel);border:2px dashed var(--green);border-radius:var(--radius)}.concept-copy h2{color:var(--green);max-width:calc(960 * var(--u))}.concept ol{display:grid;gap:calc(40 * var(--u));list-style:none;margin:0;padding:0;font-size:var(--h3);line-height:1.2;text-transform:uppercase}.concept li{display:flex;align-items:flex-start;gap:calc(24 * var(--u))}.number{display:block;flex:none;color:var(--muted)}.badges{--od-gap:calc(20 * var(--u))}.badge{display:flex;align-items:center;justify-content:center;min-height:calc(50 * var(--u));padding:calc(8 * var(--u)) calc(16 * var(--u));border-radius:40px;background:var(--green);color:var(--text);font-size:var(--body);line-height:1.2}.concept-photo{min-width:0;align-self:start;border-radius:var(--radius);overflow:clip}.concept-photo img{width:100%;height:auto}.section-art{display:block;position:absolute;pointer-events:none;z-index:-1;width:calc(1920 * var(--u));max-width:none;height:auto;left:calc(-70 * var(--u));overflow:hidden}.concept-art{top:calc(-193 * var(--u))}
.section{position:relative;isolation:isolate;margin-top:var(--section)}.section>h2{margin-bottom:calc(40 * var(--u))}.cards{--od-gap:var(--gap);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:stretch}.feature-card{display:flex;flex-direction:column;min-width:0;min-height:var(--learning-height);padding:calc(18 * var(--u));border:2px dashed var(--green);border-radius:calc(12 * var(--u));background:#446b4724;gap:calc(20 * var(--u))}.media-box{display:flex;justify-content:center;align-items:center;min-width:0;border-radius:calc(10 * var(--u));overflow:clip;flex:none}.media-box img{display:block;width:100%;height:auto}.feature-copy{display:flex;flex-direction:column;gap:calc(16 * var(--u));min-width:0}.feature-copy h3{color:var(--green);text-transform:uppercase}.feature-copy p{line-height:1.15}.components{margin-top:var(--section)}.components>h2{margin-bottom:calc(46.6 * var(--u))}.components .feature-card{min-height:var(--component-height);padding:calc(20 * var(--u));background:var(--panel)}.components .card-body{display:grid;grid-template-columns:minmax(0,1fr) calc(65 * var(--u));gap:calc(12 * var(--u));align-items:end;flex:1}.components .feature-copy{align-self:start}.card-icon{display:block;width:calc(65 * var(--u));height:auto}.card-icon img{width:100%;height:auto}.components-art{top:calc(-160 * var(--u))}
.editions{display:grid;grid-template-columns:minmax(0,866.086fr) minmax(0,880fr);gap:calc(32 * var(--u));margin-top:var(--section)}.edition{display:flex;flex-direction:column;min-width:0;min-height:var(--edition-height);padding:calc(24 * var(--u));border:1px solid #ffffff1f;border-radius:calc(16 * var(--u));gap:calc(24 * var(--u))}.edition h2{min-height:calc(110 * var(--u));line-height:.86}.edition h2>.green{display:block}.photo-wrap{padding-top:calc(24 * var(--u));border-top:1px solid #ffffff14}.edition-photo{display:block;width:100%;height:auto;border-radius:var(--radius)}.edition .feature-copy{gap:calc(16 * var(--u))}.edition .feature-copy p{line-height:1.2}
.process{margin-top:var(--section);position:relative}.process-head{margin-bottom:calc(46.6 * var(--u))}.steps{--od-gap:var(--gap);--od-rail-pad:0px;display:flex;gap:var(--gap);padding:0 0 0 calc(450 * var(--u));scroll-padding-left:calc(450 * var(--u));align-items:stretch;width:calc(100% + var(--gutter));scrollbar-width:none}.step-card{flex:0 0 var(--step-width);min-width:0;max-width:100%;min-height:var(--step-height);padding:calc(40 * var(--u)) calc(24 * var(--u));border:2px dashed var(--line);border-radius:var(--radius);display:flex;align-items:center;flex-direction:column;text-align:center;scroll-snap-align:start;gap:calc(64 * var(--u))}.step-number{display:block;font-size:var(--h2);line-height:.86;color:var(--muted);font-weight:800}.orbit{position:relative;display:grid;place-items:center;isolation:isolate;flex:none;width:calc(302.955 * var(--u));aspect-ratio:1}.orbit .product{position:relative;width:auto;max-width:71%;max-height:60%;height:auto;z-index:1}.step-art{position:absolute;top:0;left:0;width:100%;height:auto;pointer-events:none}.step-copy{display:flex;flex-direction:column;align-items:center;gap:calc(12 * var(--u));width:100%;margin-top:auto}.step-copy h3{font-size:var(--h3);line-height:1.15;color:var(--green);text-transform:uppercase}.step-copy p{font-size:var(--body);line-height:1.15;max-width:100%}.process-navigation{position:absolute;left:0;bottom:0;display:flex;flex-direction:column;gap:16px;width:calc(400 * var(--u));align-items:flex-start;opacity:0;transition:opacity var(--duration)}.process:hover .process-navigation,.process:focus-within .process-navigation{opacity:1}.process-controls{display:flex;gap:8px}.icon-button{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border:1px dashed var(--line);border-radius:50%}.icon-button img{width:16px;height:14px}.prev img{transform:rotate(180deg)}.step-count{display:block;font-size:16px;line-height:1.5}
.contact{display:grid;grid-template-columns:minmax(0,539fr) minmax(0,1180fr);gap:calc(70 * var(--u));align-items:start;margin-top:var(--section);margin-bottom:var(--section)}.contact-intro{--od-gap:calc(24 * var(--u));padding-left:calc(8 * var(--u))}.contact-intro h2{max-width:calc(510 * var(--u))}.contact h2 .green{display:block;margin-top:calc(16 * var(--u))}.contact-intro p{max-width:calc(280 * var(--u));line-height:1.2}.contact-form{display:flex;flex-direction:column;gap:calc(28 * var(--u));min-width:0}.fields{--od-cols:2;--od-gap:calc(20 * var(--u));align-items:start}.field{--od-gap:8px;min-width:0}.input-shell{--field-height:62px;--field-padding:10px;display:flex;align-items:center;min-width:0;height:var(--field-height);border:1px dashed var(--line);border-radius:10px;padding:0 var(--field-padding);font-size:16px;line-height:1.5}.input-shell input{display:block;min-width:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;font-size:16px;line-height:normal}.input-shell input::placeholder{color:var(--text);opacity:1}.input-shell input:focus{outline:none;box-shadow:none}
.input-shell:focus-within,.input-shell:has(input[aria-invalid=true]):focus-within{border-color:var(--green)}.input-shell:has(input[aria-invalid=true]){border-color:var(--error)}.field-error{display:block;color:var(--error);font-size:16px;line-height:1.4}.field-error:empty{display:none}.consent-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;font-size:var(--body);line-height:24px}.consent-row input{display:block;margin:2px 0 0;width:20px;height:20px;accent-color:var(--green);cursor:pointer}.consent-row label{display:block;min-height:44px;cursor:pointer}.contact-form>.button{width:calc(580 * var(--u));max-width:100%;min-height:calc(69 * var(--u));align-self:flex-start;margin-top:calc(40 * var(--u))}.form-message{padding:16px;border:1px dashed var(--line);border-radius:10px;line-height:1.5}.form-message:empty{display:none}.form-message ul{margin:8px 0;padding-left:24px}.form-message a{text-decoration:underline}.form-message.success{border-color:var(--green)}
.site-footer{border-top:1px dashed #7a797755;padding-top:calc(54 * var(--u));padding-bottom:calc(48 * var(--u));min-height:calc(295 * var(--u))}.footer-grid{display:grid;grid-template-columns:calc(174.31 * var(--u)) minmax(0,1fr) calc(230 * var(--u)) calc(281 * var(--u));gap:calc(126 * var(--u));align-items:start}.footer-logo{display:block;grid-column:1;grid-row:1;width:calc(174.31 * var(--u))}.footer-logo img{width:100%;height:auto}.footer-grid>nav{grid-column:3;grid-row:1}.footer-grid>.footer-links:not(nav){grid-column:2;grid-row:1;padding-top:calc(48 * var(--u))}.footer-links{display:flex;flex-direction:column;gap:8px;font-size:var(--body);line-height:1.2}.footer-links a,.footer-links button{display:block;align-self:flex-start;padding:0;text-align:left;min-height:24px}.footer-contact{display:flex;flex-direction:column;gap:12px;min-width:0;font-size:var(--body);line-height:1.2}.footer-contact>a{overflow-wrap:anywhere}.socials{display:flex;gap:calc(27 * var(--u));margin-top:8px}.socials button,.socials img{display:block;width:48px;height:48px;padding:0}
dialog{width:min(600px,calc(100% - 32px));max-height:85vh;overflow:auto;background:var(--bg);color:var(--text);border:1px dashed var(--line);border-radius:20px;padding:32px;line-height:1.5}dialog::backdrop{background:#000c}dialog h2{font-size:32px;line-height:1.2;margin:16px 0 24px}dialog p{margin-bottom:24px}.dialog-close{display:flex;min-height:44px;align-items:center;margin-left:auto;padding:8px;text-decoration:underline}.dialog-action{width:100%;white-space:normal}
@media(hover:hover){a:hover,button:not(:disabled):hover{color:var(--white)}.nav a:hover,.nav button:hover,.footer-links a:hover,.footer-links button:hover{text-decoration:underline;text-underline-offset:4px}.button:hover{background:#385b3b;border-color:var(--text)}.icon-button:hover{background:var(--green)}}
@media(max-width:1799px){.hero-layout{min-height:calc(900 * var(--u))}.hero .intro{width:100%;max-width:440px}.hero-center>.button,.test-drive-dock .button{margin-top:32px;width:max(220px,calc(300 * var(--u)))}.hero figcaption{font-size:16px}.hero-upper{width:100%;margin-left:0}.hero-lower{width:100%;margin-left:0;margin-top:64px}.hero-left{width:100%}.concept-copy{gap:32px}.concept ol{gap:24px}.badge{font-size:16px}.feature-card,.components .feature-card{padding:16px;gap:16px}.feature-copy{gap:12px}.components .card-body{grid-template-columns:1fr}.card-icon{justify-self:end}.edition{padding:20px;gap:20px}.edition h2{min-height:calc(110 * var(--u));font-size:var(--h2)}.step-card{padding:24px 20px;gap:32px}.contact-form>.button{margin-top:24px;min-height:48px}.footer-grid{gap:48px;grid-template-columns:140px minmax(0,1fr) 190px 260px}.footer-logo{width:140px}}
@media(max-width:1439px){:root{--h2:40px;--h3:20px;--section:calc(112px * var(--section-space-scale))}.nav{gap:20px;font-size:16px}.hero .intro{font-size:18px}.hero-main-device{margin-top:40px}.hero-art{opacity:.85}.concept-copy h2{font-size:36px;line-height:1.05}.concept-copy{padding:20px}.concept li{gap:16px}.concept-photo{align-self:stretch}.concept-photo img{height:100%;object-fit:cover;object-position:center}.badges{gap:8px}.badge{font-size:14px;padding:8px 12px}.cards{gap:16px}.feature-copy p{line-height:1.4}.feature-copy h3{font-size:18px}.edition h2{font-size:32px;line-height:1.05;min-height:100px}.edition .feature-copy p{line-height:1.4}.step-card{flex-basis:360px;min-height:500px}.orbit{width:220px}.step-number{font-size:48px}.step-copy h3{font-size:20px}.step-copy p{line-height:1.4}.contact{gap:40px}.contact-intro h2{font-size:40px;line-height:1.05}.footer-grid{grid-template-columns:110px minmax(0,1fr) 150px 240px;gap:32px}.footer-logo{width:110px}.footer-links,.footer-contact{font-size:16px}}
@media(max-width:1023px){:root{--gutter:24px;--section:calc(96px * var(--section-space-scale));--h1:64px;--h2:36px;--h3:20px;--radius:16px}.container{width:calc(100% - 48px)}.site-header{min-height:96px;align-items:center;padding-top:8px}.logo{width:76px}.nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 20px;max-width:75%;padding:0}.hero h1{line-height:1.05}.hero-layout{display:flex;flex-direction:column;align-items:center;min-height:0;margin-top:16px}.hero-center{order:0}.hero .intro{margin-top:24px;width:400px;max-width:100%;line-height:1.4}.hero-center>.button,.test-drive-dock .button{margin-top:24px;width:260px;height:52px}.hero-main-device{width:280px;margin-top:48px}.hero-left{order:1;width:300px;margin-top:48px}.hero-left>.hero-satellite-control{width:100px}.hero-left figcaption{margin-top:24px}.hero-right{order:2;display:grid;grid-template-columns:1fr 1fr;gap:48px;width:min(640px,100%);margin-top:40px}.hero-upper,.hero-lower{padding:0;margin:0;width:100%}.hero-upper>.hero-satellite-control,.hero-lower>.hero-satellite-control{width:90px}.hero-upper figcaption,.hero-lower figcaption{margin-top:24px}.hero-art{display:none}.concept{grid-template-columns:1.2fr 1fr;gap:20px}.concept-copy{min-height:0}.concept-copy h2{font-size:28px;line-height:1.15}.concept ol{font-size:16px;line-height:1.4;gap:24px}.badge{min-height:36px}.concept-photo{align-self:start}.concept-photo img{height:auto}.section>h2,.components>h2{line-height:1.1;margin-bottom:32px}.cards{grid-template-columns:1fr;gap:24px}.feature-card,.components .feature-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;gap:24px;padding:20px}.media-box{align-self:start}.feature-copy{gap:16px}.feature-copy h3{font-size:20px}.components .card-body{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.card-icon{width:48px;align-self:flex-end}.section-art{display:none}.editions{gap:24px}.edition h2{font-size:28px;min-height:112px;line-height:1.1}.edition{padding:16px;min-height:0}.photo-wrap{padding-top:16px}.process-head{margin-bottom:32px}.process-head h2{line-height:1.1}.steps{padding-left:0;scroll-padding-left:0;width:100%;gap:20px}.process-navigation{position:static;opacity:1;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-top:16px}.contact{grid-template-columns:1fr 1.5fr;gap:32px}.contact-intro{padding:0}.contact-intro h2{max-width:none;font-size:32px}.contact-intro p{max-width:260px;line-height:1.5}.fields{--od-cols:1;--od-gap:16px}.contact-form{gap:24px}.contact-form>.button{width:100%;margin-top:8px}.site-footer{padding-block:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-logo{grid-column:1;grid-row:1;width:130px}.footer-grid>nav{grid-column:2;grid-row:1}.footer-grid>.footer-links:not(nav){grid-column:1;grid-row:2;padding:0}.footer-contact{grid-column:2;grid-row:2}.footer-links a,.footer-links button{min-height:44px}.footer-links{gap:8px}}
@media(max-width:767px){:root{--gutter:16px;--section:calc(64px * var(--section-space-scale));--h1:40px;--h2:32px;--h3:18px;--body:16px}.container{width:calc(100% - 32px)}.site-header{min-height:84px;flex-wrap:wrap;gap:8px 24px}.logo{width:64px}.menu-toggle{display:flex;align-items:center;min-height:44px;padding:8px;border-bottom:1px dashed var(--line)}.nav{display:none;width:100%;max-width:none;justify-content:flex-start;padding-block:16px;border-block:1px dashed var(--line);gap:8px 24px}.nav.is-open{display:flex}.hero{padding-top:24px}.hero h1{line-height:1.1}.hero .intro{font-size:16px;max-width:320px;line-height:1.5}.hero-main-device{width:240px}.hero-left{width:min(300px,100%)}.hero-right{gap:24px}.hero figcaption{font-size:16px;line-height:1.5}.hero-upper>.hero-satellite-control,.hero-lower>.hero-satellite-control{width:80px}.concept{grid-template-columns:1fr;gap:24px}.concept-copy{padding:20px;gap:40px;min-height:0}.concept-copy h2{font-size:28px}.concept ol{gap:24px}.badges{gap:8px}.badge{font-size:14px;line-height:1.4}.concept-photo{border-radius:16px}.section>h2,.components>h2{margin-bottom:24px}.feature-card,.components .feature-card{display:flex;flex-direction:column;gap:20px;padding:16px;border-radius:12px}.feature-copy p{line-height:1.5}.feature-copy h3{font-size:18px;line-height:1.3}.components .card-body{width:100%}.editions{grid-template-columns:1fr;gap:24px}.edition{gap:20px;border-radius:16px}.edition h2{font-size:28px;line-height:1.15;min-height:0}.edition .feature-copy p{line-height:1.5}.step-card{flex-basis:min(340px,calc(100vw - 52px));padding:24px 16px;gap:32px;min-height:500px;border-radius:20px}.step-number{font-size:48px}.orbit{width:220px;max-width:100%}.step-copy{gap:16px}.step-copy h3{font-size:18px;line-height:1.3}.step-copy p{line-height:1.5}.contact{grid-template-columns:1fr;gap:32px}.contact-intro h2{font-size:32px;max-width:400px}.contact-intro p{max-width:320px}.contact-form>.button{min-height:52px}.consent-row{font-size:16px;line-height:24px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 16px}.footer-logo{width:120px}.footer-contact{grid-column:1/-1;grid-row:3}.footer-grid>.footer-links:not(nav){grid-column:1/-1}.footer-links{line-height:1.5}.footer-contact{line-height:1.5}.socials{gap:24px}dialog{padding:24px}dialog h2{font-size:28px}}
@media(max-width:374px){.hero h1{font-size:34px}.hero-right{grid-template-columns:1fr;gap:32px}.concept-copy h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Text baselines and image rows measured from the outlined reference. */
@media(min-width:1800px){
 .feature-card{gap:12px}.feature-copy{gap:20px}.feature-copy h3,.step-copy h3{line-height:1}.feature-copy p,.step-copy p{line-height:1}
 .components .feature-card{gap:8px}.components .card-body{grid-template-columns:minmax(0,1fr) 65px;gap:12px}
 .edition{gap:20px}.photo-wrap{padding-top:23px}.edition .feature-copy{gap:16px}.edition .feature-copy p{line-height:1}
 .step-card{gap:0}.step-number{margin-bottom:66px}.step-copy{padding-top:8px;gap:12px}
 .badge:nth-child(1){width:268px}.badge:nth-child(2){width:292px}.badge:nth-child(3){width:220px}
}

/* Updated source frame 9304:75, 1920 x 6451. Content remains in normal flow. */
.orbit{display:flex;align-items:flex-start;justify-content:flex-start}
.orbit .product{width:var(--product-width);max-width:none;max-height:none;height:auto;margin-left:var(--product-x);margin-top:var(--product-y)}
.hero-main-device{width:calc(436.779 * var(--u))}
.hero .intro{font-weight:800}
@media(min-width:1800px){
 :root{--learning-height:calc(678.182 * var(--u));--component-height:calc(498.103 * var(--u))}
 .site-header{height:calc(96 * var(--u));min-height:0;overflow:visible}
 .hero h1{height:calc(91.234 * var(--u));line-height:.712765625}
 .hero-layout{margin-top:0;min-height:calc(729.716 * var(--u))}
 .hero .intro{width:calc(456.325 * var(--u));margin-top:calc(48 * var(--u));min-height:calc(40 * var(--u));line-height:calc(20 * var(--u))}
 .hero-center>.button,.test-drive-dock .button{margin-top:calc(48 * var(--u));height:calc(60 * var(--u))}
 .hero-main-device{margin-top:calc(24.276 * var(--u))}
 .hero-left{width:calc(324.108 * var(--u));margin-top:calc(222.626 * var(--u))}
 .hero-left figcaption{margin-top:calc(96.848 * var(--u))}
 .hero figcaption{line-height:calc(20 * var(--u))}
 .hero-upper{width:calc(259.719 * var(--u));margin-left:calc(63.89 * var(--u));padding-top:calc(122.766 * var(--u))}
 .hero-upper>.hero-satellite-control{align-self:flex-start;margin-left:calc(58.22 * var(--u))}
 .hero-upper figcaption{margin-top:calc(69.464 * var(--u))}
 .hero-lower{width:calc(314.81 * var(--u));margin-left:calc(150.265 * var(--u));margin-top:calc(103.69 * var(--u))}
 .hero-lower>.hero-satellite-control{align-self:flex-start;margin-left:calc(107.885 * var(--u))}
 .hero-lower figcaption{margin-top:calc(87.449 * var(--u))}
 .concept{grid-template-columns:minmax(0,1030fr) minmax(0,729.414fr);min-height:calc(817.82 * var(--u))}
 .concept-copy{min-height:calc(818 * var(--u));padding:calc(20 * var(--u));gap:0;justify-content:flex-start}
 .concept-copy h2{max-width:calc(946 * var(--u));line-height:calc(55 * var(--u))}
 .concept ol{margin-top:calc(178 * var(--u));gap:calc(24 * var(--u));line-height:calc(26 * var(--u));font-weight:800}
 .concept li{align-items:center;min-height:calc(30 * var(--u))}
 .concept li:first-child{min-height:calc(52 * var(--u))}
 .concept .number{width:calc(32.229 * var(--u))}
 .concept .badges{margin-top:auto}
 .concept-photo{align-self:start}
 .concept-photo img{height:auto;aspect-ratio:729.414 / 817.639;object-fit:contain}
 .concept-art{top:calc(-141.95 * var(--u))}
 .section>h2{line-height:calc(55 * var(--u))}
 #learning{width:calc(1783 * var(--u));margin-top:calc(159.82 * var(--u) * var(--section-space-scale))}
 #learning>h2{margin-bottom:calc(40 * var(--u))}
 #learning .cards{width:100%}
 .feature-card{padding:calc(18 * var(--u));gap:calc(12 * var(--u))}
 .components{margin-top:calc(160 * var(--u) * var(--section-space-scale))}
 .components>h2{margin-bottom:calc(46.648 * var(--u))}
 .components .feature-card{gap:calc(8 * var(--u))}
 .editions{margin-top:calc(160.997 * var(--u) * var(--section-space-scale));width:calc(1778 * var(--u));margin-left:calc((100% - 1920 * var(--u)) / 2 + 72.324 * var(--u))}
 .edition{min-height:calc(808 * var(--u));gap:calc(20 * var(--u))}
 .process-head{margin-bottom:calc(48 * var(--u))}
 .process-head h2{height:calc(52.64 * var(--u));line-height:calc(55 * var(--u))}
 .steps{padding-left:calc(243 * var(--u));scroll-padding-left:calc(243 * var(--u))}
 .step-card{height:calc(650 * var(--u));min-height:calc(650 * var(--u));padding:calc(40 * var(--u)) calc(20 * var(--u));gap:0}
 .step-number{height:calc(51 * var(--u));line-height:calc(55 * var(--u));margin-bottom:calc(71.022 * var(--u))}
 .step-copy{margin-top:calc(70 * var(--u));padding-top:0;gap:calc(12 * var(--u))}
 .step-card:nth-child(n+3) .step-copy{margin-top:calc(20 * var(--u))}
 .process-navigation{width:calc(220 * var(--u))}
 .contact{width:calc(1779.18 * var(--u));margin-left:calc((100% - 1920 * var(--u)) / 2 + 79.6 * var(--u));grid-template-columns:calc(539 * var(--u)) minmax(0,1fr);gap:calc(60.18 * var(--u));min-height:calc(354 * var(--u))}
 .contact-intro{padding:0}
 .contact-intro h2{font-size:var(--h2);line-height:calc(62 * var(--u));max-width:calc(539 * var(--u))}
 .contact h2 .green{line-height:calc(55 * var(--u));margin-top:calc(24 * var(--u))}
 .contact-intro p{max-width:calc(249 * var(--u));line-height:calc(20 * var(--u))}
 .contact-form>.button{margin-top:calc(41 * var(--u))}
 .site-footer{min-height:calc(294.66 * var(--u));padding-top:calc(54.72 * var(--u))}
 .footer-grid{grid-template-columns:calc(174.31 * var(--u)) minmax(0,776.06fr) calc(171.31 * var(--u)) calc(280.32 * var(--u));gap:calc(126 * var(--u))}
 .footer-grid>nav,.footer-contact{padding-top:calc(13.43 * var(--u))}
}
@media(min-width:1024px) and (max-width:1799px){
 .hero-layout{min-height:calc(740 * var(--u))}
 .hero .intro{margin-top:24px}
 .hero-center>.button,.test-drive-dock .button{margin-top:32px}
 .hero-main-device{margin-top:32px}
 .concept-photo{align-self:start}
 .concept-photo img{height:auto;object-fit:contain}
 .steps{padding-left:calc(243 * var(--u));scroll-padding-left:calc(243 * var(--u))}
 .process-navigation{width:calc(220 * var(--u))}
}
@media(max-width:1023px){
 .hero-main-device{width:280px}
 .hero-upper>.hero-satellite-control,.hero-lower>.hero-satellite-control{align-self:center;margin-left:0}
}
@media(max-width:767px){.hero-main-device{width:240px}.input-shell{--field-height:48px;--field-padding:12px}}

/* Fit the full feature heading to its own text column. */
.feature-copy--single-line { container-type: inline-size; }
.feature-copy--single-line > h3 { font-size: min(var(--h3), 4.5cqi); white-space: nowrap; }

/* Shared sparse outline for green content blocks. */
:root { --block-dash: 16px; --block-dash-gap: 20px; --block-stroke: 2px; }
.concept-copy, .feature-card { position: relative; border-color: transparent; }
.sparse-block-border { position: absolute; top: -2px; left: -2px; width: calc(100% + 4px); height: calc(100% + 4px); overflow: visible; pointer-events: none; border-radius: inherit; color: var(--green); }
.sparse-block-border rect { x: 1px; y: 1px; width: calc(100% - 2px); height: calc(100% - 2px); rx: var(--radius); fill: none; stroke: currentColor; stroke-width: var(--block-stroke); stroke-dasharray: var(--block-dash) var(--block-dash-gap); }
.feature-card > .sparse-block-border rect { rx: calc(12 * var(--u)); }
@media(max-width:767px) { .feature-card > .sparse-block-border rect { rx: 12px; } }

/* Equal process cards and shared text starts. */
.steps { align-items: stretch; }
.step-card { position: relative; height: auto; border-color: transparent; }
.step-card > .sparse-block-border { color: var(--line); }
.step-card .step-copy, .step-card:nth-child(n+3) .step-copy { margin-top: auto; padding-top: 32px; min-height: var(--step-copy-shared, auto); flex-shrink: 0; }
.step-card .step-copy h3 { min-height: var(--step-heading-shared, auto); }

/* Device specification popup: local reference 9333:882. */
.device-spec-open { padding:0; border:0; background:transparent; cursor:pointer; min-width:44px; min-height:44px; }
.device-spec-dialog { --spec-gap:32px; --spec-label-size:clamp(16px,1.25vw,24px); --spec-text-size:clamp(16px,1.05vw,20px); width:min(1780px,calc(100vw - 48px)); max-width:none; max-height:calc(100dvh - 48px); margin:auto; padding:40px 32px; border:2px solid transparent; border-radius:20px; background:#101511; color:var(--text); overflow:auto; }
.device-spec-dialog::backdrop { background:rgba(0,0,0,.76); }
.device-spec-dialog > .sparse-block-border { top:0; left:0; width:100%; height:100%; }
.device-spec-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:var(--spec-gap); align-items:center; }
.device-spec-list { margin:0; display:grid; gap:32px; }
.device-spec-row { display:grid; grid-template-columns:160px minmax(0,1fr); gap:20px; align-items:center; }
.device-spec-row dt { font-size:var(--spec-label-size); font-weight:800; color:var(--green); line-height:1.1; }
.device-spec-row dd { margin:0; font-size:var(--spec-text-size); line-height:1.35; overflow-wrap:break-word; }
.device-spec-close { position:absolute; top:32px; right:32px; display:grid; place-items:center; width:65px; height:65px; padding:0; border:0; border-radius:12px; background:#446b4714; cursor:pointer; z-index:2; }
.device-spec-close img { display:block; width:100%; height:auto; transform:rotate(45deg); }
.device-spec-figure { display:grid; grid-template-columns:minmax(80px,.33fr) minmax(0,1fr) minmax(120px,.5fr); gap:8px; align-items:stretch; margin:16px 64px 16px 0; }
.device-spec-product { display:block; width:100%; height:auto; align-self:center; }
.device-spec-labels { display:flex; flex-direction:column; font-size:var(--spec-text-size); line-height:1.15; min-width:0; }
.device-spec-labels span { display:block; position:relative; overflow-wrap:break-word; }
.device-spec-labels span::after { content:''; position:absolute; top:.6em; width:24px; border-top:1px solid var(--line); }
.device-spec-labels--left { justify-content:space-between; padding-block:14% 28%; }
.device-spec-labels--left span::after { right:-24px; }
.device-spec-labels--right { gap:32px; padding-block:4% 8%; }
.device-spec-labels--right span:last-child { margin-top:auto; }
.device-spec-labels--right span::after { left:-24px; }
.device-spec-open:focus-visible,.device-spec-close:focus-visible { outline:2px solid var(--focus); outline-offset:4px; }
@media(hover:hover) { .device-spec-open:hover,.device-spec-close:hover { background:#446b4733; } }
@media(max-width:1279px) { .device-spec-layout { grid-template-columns:1fr; } .device-spec-dialog { padding-top:88px; } .device-spec-figure { width:min(760px,100%); margin:0 auto; } }
@media(max-width:767px) { .device-spec-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:72px 16px 24px; } .device-spec-close { top:16px; right:16px; width:44px; height:44px; } .device-spec-row { grid-template-columns:1fr; gap:8px; } .device-spec-list { gap:24px; } .device-spec-figure { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 16px; } .device-spec-product { grid-column:1/-1; grid-row:1; width:min(320px,100%); justify-self:center; } .device-spec-labels { gap:16px; padding:0; } .device-spec-labels span::after { display:none; } .device-spec-labels--right span:last-child { margin-top:0; } }

/* Complete device callouts above the photograph. */
.device-spec-figure { position:relative; isolation:isolate; }
.device-spec-labels span::after { display:none; }
.device-spec-connectors { position:absolute; top:0; left:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:1; color:#7a7977; }
.device-spec-connectors path { fill:none; stroke:currentColor; stroke-width:1; vector-effect:non-scaling-stroke; }
.device-spec-connectors circle { fill:currentColor; stroke:none; filter:drop-shadow(0 0 2px #7a7977); }
.device-spec-labels { position:relative; z-index:2; }

/* Compact control artwork; retain comfortable hit areas. */
:root { --card-plus-scale:80%; --spec-close-size:44px; --spec-cross-size:28px; }
.card-icon img { width:var(--card-plus-scale); margin-inline:auto; }
.device-spec-open { display:grid; place-items:center; min-height:44px; }
.device-spec-close { width:var(--spec-close-size); height:var(--spec-close-size); color:var(--green); }
.device-spec-close svg { display:block; width:var(--spec-cross-size); height:var(--spec-cross-size); }

/* Prevent the orbit from showing through the step 03 line illustration. */
.step-card .product { background:transparent; }

/* Intro typing preserves the original text wrapping and reserved space. */
.intro-accessible{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.intro-letter{position:relative;color:transparent}
.intro-letter-visible{color:inherit}
.intro-cursor::after{content:'';position:absolute;left:100%;top:50%;transform:translateY(-50%);height:1em;border-left:2px solid var(--text);pointer-events:none;animation:intro-caret 800ms step-end 6}
.intro-cursor-before::after{left:0}
@keyframes intro-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.intro-cursor::after{animation:none}}

/* Upper hero group: keep the lower group in its existing flow position. */
@media(min-width:1024px){.hero-upper{position:relative;right:64px;padding-top:max(0px,calc(126.315 * var(--u) - 64px));margin-bottom:64px}}
@media(min-width:1800px){.hero-upper{padding-top:max(0px,calc(122.766 * var(--u) - 64px))}}

/* Video retains the replaced photograph's footprint. */
.concept-video{position:relative;aspect-ratio:729.414 / 817.639;background:var(--bg);isolation:isolate}
.concept-video video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.concept-video button{position:absolute;z-index:2;min-height:44px;cursor:pointer;color:#fff;border:0;border-radius:8px;padding:8px 12px;font:inherit;font-size:14px;line-height:1.4;background:var(--green)}
.concept-video .video-pause{top:16px;right:16px;width:48px;height:48px;display:grid;place-items:center;padding:0}
.concept-video .video-fullscreen{left:16px;bottom:16px;max-width:calc(100% - 152px);text-align:left;background:#0d0d0de6}
.concept-video .video-sound{right:16px;bottom:16px;background:#0d0d0de6}
.concept-video button:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.concept-video:fullscreen{width:100%;height:100%;aspect-ratio:auto;border-radius:0}
@media(hover:hover){.concept-video button:hover{filter:brightness(1.15)}}
@media(max-width:767px){.concept-video .video-pause{top:8px;right:8px}.concept-video .video-fullscreen{left:8px;bottom:8px;max-width:calc(100% - 128px);font-size:12px}.concept-video .video-sound{right:8px;bottom:8px;font-size:12px}}

/* Text sits above the orbital decoration; the upper group moves as one. */
.hero h1{position:relative;z-index:3;background:var(--bg)}
.hero .intro,.hero figcaption{position:relative;z-index:2;background:var(--bg)}
@media(min-width:1024px){.hero-upper{right:auto;left:0}}
@media(min-width:1440px){.hero-upper{left:32px}}

/* Photo-sized crop, accessible icon controls, and full-frame fullscreen. */
.concept-video .video-fullscreen,.concept-video .video-sound{display:grid;place-items:center;width:48px;height:48px;max-width:none;padding:0}
.concept-video:fullscreen,.video-viewer .concept-video{width:100%;height:100%;margin:0;aspect-ratio:auto;border-radius:0;background:#000}
.concept-video:fullscreen video,.video-viewer .concept-video video{object-fit:contain}
.video-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#000;overflow:hidden}
.video-viewer::backdrop{background:#000}
/* Adjacent panels share the text panel's height; mobile keeps its photo ratio. */
@media(min-width:768px){.concept > .concept-video:not(:fullscreen){align-self:stretch;aspect-ratio:auto}}
/* Move the lower satellite and its caption together in normal flow. */
@media(min-width:1024px){.hero-lower{padding-top:32px}}
.footer-logo > a{display:block}
.footer-copyright{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px;margin-block:12px 0;color:#999;font-size:12px;line-height:1.5;text-align:left;white-space:nowrap}
.footer-copyright > span{display:block}
.copyright-wordmark{display:block;flex:none;width:64px;height:auto;aspect-ratio:173 / 30;filter:grayscale(1) brightness(.65)}

/* CTA states from the supplied animation reference. */
:root{--cta-gradient:linear-gradient(110deg,#ffeb70,#9aff16);--menu-green:#85b989}
.cta-motion{position:relative;isolation:isolate;transition:background-color var(--duration) ease-out,color var(--duration) ease-out;border-color:transparent}
.cta-motion::before{content:"";position:absolute;inset:-1px;box-sizing:border-box;border:1px solid transparent;border-radius:inherit;background:linear-gradient(var(--cta-surface,var(--green)),var(--cta-surface,var(--green))) padding-box,var(--cta-gradient) border-box;z-index:-1;pointer-events:none;opacity:0;transition:opacity var(--duration) ease-out}
.cta-outline{background:var(--green);border-color:transparent}
.cta-label{display:block}.cta-arrow{display:block;flex:none;transition:transform var(--duration) ease-out}
.cta-motion:focus-visible::before{opacity:1}
@media(hover:hover){
.cta-motion:not(:disabled):hover{background:var(--green);border-color:transparent;color:var(--text)}
.cta-outline:not(:disabled):hover{background:var(--green)}
.cta-motion:not(:disabled):hover::before{opacity:1}
.cta-motion:not(:disabled):hover .cta-label{background:var(--cta-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
.cta-motion:not(:disabled):hover .cta-arrow{transform:rotate(-45deg)}
.cta-filled:hover .cta-arrow path{stroke:url(#cta-gradient-1)}
.cta-outline:hover .cta-arrow path{stroke:url(#cta-gradient-2)}
.nav a:hover,.nav button:hover,nav.footer-links a:hover,nav.footer-links button:hover{color:var(--menu-green);text-decoration:none}
}
.cta-motion:not(:disabled):active{--cta-surface:var(--white);background:var(--white);color:var(--green)}
.cta-outline:not(:disabled):active{--cta-surface:var(--green);background:var(--green);color:var(--white)}
.cta-motion:not(:disabled):active .cta-label{background:none;color:inherit}
.cta-motion:not(:disabled):active .cta-arrow{transform:rotate(-45deg)}
.cta-motion:not(:disabled):active .cta-arrow path{stroke:currentColor}
.nav a,.nav button,nav.footer-links a,nav.footer-links button{text-decoration:none;transition:color var(--duration) ease-out}
.nav a:active,.nav button:active,.nav a:focus-visible,.nav button:focus-visible,nav.footer-links a:active,nav.footer-links button:active,nav.footer-links a:focus-visible,nav.footer-links button:focus-visible{color:var(--menu-green);text-decoration:none}
@media(prefers-reduced-motion:reduce){.cta-motion,.cta-motion::before,.cta-arrow,.nav a,.nav button,nav.footer-links a,nav.footer-links button{transition:none}.cta-motion .cta-arrow{transform:none!important}}

/* Hero selection: independent scale and float transforms; rings retain their anchors. */
.hero-layout{--orbit-active:#70b575;--orbit-spin:6s;--satellite-scale:1.16;--hero-feedback:240ms}
.hero-satellite-control{display:block;flex:none;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}
.hero-satellite-control .hero-device{display:block;width:100%;height:auto;scale:1;transition:scale var(--hero-feedback) ease-out}
.hero-satellite-control.is-orbit-active .hero-device{scale:var(--satellite-scale)}
.hero-satellite-control:focus-visible{outline:2px solid var(--orbit-active);outline-offset:12px}
.hero-art .interactive-ring{transform-box:fill-box;transform-origin:center;animation:hero-ring-spin var(--orbit-spin) linear infinite;animation-play-state:paused;transition:stroke var(--hero-feedback) ease-out}
.hero-art .interactive-ring--reverse{animation-direction:reverse}
.hero-art .is-orbit-active .interactive-ring{stroke:var(--orbit-active);animation-play-state:running}
.hero-main-device{transition:filter var(--hero-feedback) ease-out}
.hero-layout.has-orbit-active .hero-main-device{filter:drop-shadow(0 0 24px #58ab5e99) drop-shadow(0 0 56px #446b4777)}
@keyframes hero-ring-spin{from{rotate:var(--ring-start,0deg)}to{rotate:calc(var(--ring-start,0deg) + 360deg)}}
@media(prefers-reduced-motion:reduce){.hero-satellite-control .hero-device,.hero-main-device,.hero-art .interactive-ring{transition:none}.hero-art .interactive-ring{animation:none}}

/* Original-resolution photographs in the existing Figma frame; crop only the transparent side padding. */
.hero-main-device,.hero-satellite-control .hero-device{aspect-ratio:8 / 9;object-fit:cover;object-position:center;}

/* Explicit two-line upper satellite caption. */
.hero-upper figcaption{width:max-content;max-width:calc(100vw - 48px)}
.hero-upper figcaption p{white-space:nowrap}

/* Taller concept panels and uppercase labels requested by the user. */
.concept{--concept-panel-height:var(--edition-height)}
.concept .badge{text-transform:uppercase;max-width:100%;height:auto}
@media(min-width:1024px){.concept-copy{min-height:var(--concept-panel-height)}}
@media(max-width:1023px){.concept-copy{padding-bottom:52px}}
@media(max-width:767px){.concept > .concept-video{aspect-ratio:729.414 / 881.639}}

/* Category label above the hero heading, following the supplied reference. */
.hero-eyebrow{position:relative;z-index:3;margin:0 0 8px;color:#999;font-size:clamp(16px,1.25vw,24px);font-weight:800;line-height:1.5;text-align:center;text-wrap:balance}

/* Moving badges keep their original space and pass in front of the text. */



/* Clip only the falling entrance to the rounded concept container. */


/* The top edge masks the entrance; its dashed outline stays in front. */


/* Sequential process-card emphasis; the dash geometry stays unchanged. */
:root { --step-highlight-opacity: .15; --step-highlight-duration: 280ms; }
.step-card > .sparse-block-border .step-highlight-frame {
 fill: var(--green);
 fill-opacity: var(--step-highlight-opacity);
 stroke: var(--green);
 opacity: 0;
 transition: opacity var(--step-highlight-duration) ease-out;
}
.step-card.is-scroll-active > .sparse-block-border .step-highlight-frame { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
 .step-card > .sparse-block-border .step-highlight-frame { transition: none; }
}

/* Individual centers prevent decorative rings from drifting while rotating. */
.background-ring-spin {
 transform-box: fill-box;
 transform-origin: center;
 animation: background-ring-turn var(--background-ring-period, 72s) linear infinite;
 animation-direction: var(--background-ring-direction, normal);
 animation-play-state: paused;
}
.background-rings-visible .background-ring-spin { animation-play-state: running; }
@keyframes background-ring-turn { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
 .background-ring-spin { animation: none; }
}

/* Device card and shared dialog controls. */
:root { --device-card-lift:4px; --device-card-motion:240ms; --spec-control-press:.92; }
.device-spec-card { cursor:pointer; transition:transform var(--device-card-motion) ease-out; }
.device-spec-open { width:var(--spec-close-size); height:var(--spec-close-size); border-radius:12px; background:#446b4714; color:var(--green); }
.device-spec-open svg { display:block; width:var(--spec-cross-size); height:var(--spec-cross-size); }
.device-spec-open,.device-spec-close { transition:transform var(--duration) ease-out,background-color var(--duration) ease-out,color var(--duration) ease-out; }
.device-spec-open:active,.device-spec-close:active { transform:scale(var(--spec-control-press)); }
@media(hover:hover) { .device-spec-card:hover { transform:translateY(calc(-1 * var(--device-card-lift))); } }
@media(prefers-reduced-motion:reduce) { .device-spec-card { transition:none; transform:none; } .device-spec-open:active,.device-spec-close:active { transform:none; } }

/* Icons and masked rings share a single SVG surface while the rail scrolls. */
.step-card .orbit .step-art { transform:none; }
.step-card { transform:translateZ(0); backface-visibility:hidden; }

/* Test-drive dialog — editable form from the supplied 986 x 686 reference. */
.test-drive-dialog{--test-drive-pad:20px;--test-drive-title:64px;--test-drive-gap:12px;--test-drive-heading-gap:40px;width:min(986px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:0;border-radius:20px;background:var(--bg);color:var(--text);overflow:auto;overscroll-behavior:contain}
.test-drive-dialog::backdrop{background:rgba(0,0,0,.76)}
.test-drive-content{position:relative;isolation:isolate;padding:24px var(--test-drive-pad) 20px;min-height:686px}
.test-drive-content>.sparse-block-border{top:0;left:0;width:100%;height:100%;color:var(--line);--block-stroke:1px;--block-dash:51px;--block-dash-gap:51px;--radius:20px}
.test-drive-close{top:12px;right:12px}
.test-drive-heading{text-align:center;margin-bottom:var(--test-drive-heading-gap);padding-inline:40px}
.test-drive-heading h2{font-size:var(--test-drive-title);line-height:1;letter-spacing:0;margin:0;font-weight:800;color:var(--line);overflow-wrap:normal}
.test-drive-heading h2 span{color:var(--green)}
.test-drive-heading p{margin:24px 0 0;font-size:20px;line-height:1.5;color:var(--text)}
.test-drive-form{gap:24px}
.test-drive-form .fields{--od-cols:1;--od-gap:var(--test-drive-gap)}
.test-drive-form .input-shell{position:relative;--field-height:62px;--field-padding:12px;border:0}
.test-drive-form .input-shell>.sparse-block-border{top:0;left:0;width:100%;height:100%;color:var(--line);--block-stroke:1px;--block-dash:10px;--block-dash-gap:12px;--radius:10px}
.test-drive-form .input-shell:focus-within>.sparse-block-border{color:var(--green)}
.test-drive-form .input-shell:has(input[aria-invalid=true]):not(:focus-within)>.sparse-block-border{color:var(--error)}
.test-drive-form .input-shell input{font-size:16px}
.test-drive-form .consent-row{font-size:20px;line-height:1.5}
.test-drive-form .consent-row input{margin-top:5px}
.test-drive-form>.button{width:580px;max-width:100%;min-height:60px;margin-top:8px;padding:16px 24px;font-size:16px;white-space:normal;gap:32px}
.test-drive-form>.button .cta-label{min-width:0}
.test-drive-form .form-message{font-size:16px}
@media(max-width:767px){
 .test-drive-dialog{--test-drive-pad:16px;--test-drive-title:clamp(24px,5.2vw,40px);--test-drive-heading-gap:24px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:20px}
 .test-drive-content{min-height:0;padding-top:64px;padding-bottom:24px}
 .test-drive-heading{padding-inline:0}
 .test-drive-heading p{font-size:16px;margin-top:16px}
 .test-drive-form{gap:20px}
 .test-drive-form .input-shell{--field-height:48px}
 .test-drive-form .consent-row{font-size:16px;line-height:24px}
 .test-drive-form .consent-row input{margin-top:2px}
 .test-drive-form>.button{width:100%;min-height:52px;margin-top:4px;gap:16px;padding:12px 16px}
}

/* Shared popup motion: native top-layer behavior and layout remain intact. */
:root{--popup-enter:300ms;--popup-exit-ms:180;--popup-exit:180ms;--popup-rise:16px;--popup-scale:.98}
.animated-popup[open]{animation:popup-enter var(--popup-enter) cubic-bezier(.16,1,.3,1) both;transform-origin:center}
.animated-popup[open]::backdrop{animation:popup-backdrop-enter var(--popup-enter) ease-out both}
.animated-popup[open].popup-leaving{animation:popup-exit var(--popup-exit) ease-in both;pointer-events:none}
.animated-popup[open].popup-leaving::backdrop{animation:popup-backdrop-exit var(--popup-exit) ease-in both;pointer-events:auto}
@keyframes popup-enter{from{opacity:0;transform:translateY(var(--popup-rise)) scale(var(--popup-scale))}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes popup-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(var(--popup-scale))}}
@keyframes popup-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes popup-backdrop-exit{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.animated-popup[open],.animated-popup[open]::backdrop{animation:none!important}}

/* Group 154 cursor: native pointer, including dialog top layers. */
:root{--kasper-cursor:url("assets/kasper-cursor-dashed.svg?v=2") 5 4}
@media (hover:hover) and (pointer:fine){
 html,body,body *,dialog::backdrop{cursor:var(--kasper-cursor),auto!important}
 a,button,[role="button"],label,input[type="checkbox"],input[type="radio"]{cursor:var(--kasper-cursor),pointer!important}
 input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="range"]):not([type="color"]):not([type="file"]),textarea,[contenteditable="true"],[contenteditable="true"] *{cursor:text!important}
 button:disabled,input:disabled,[aria-disabled="true"]{cursor:not-allowed!important}
}

/* Keep the navigation in view while retaining its normal-flow space. */
:root{--site-header-height:132px;--header-anchor-gap:24px}
html{scroll-padding-top:calc(var(--site-header-height) + var(--header-anchor-gap))}
.site-header-bar{position:sticky;top:0;z-index:100;background:var(--bg);display:flow-root}
.skip{z-index:101}
@media(max-width:767px){.site-header-bar .site-header{height:auto}.site-header-bar .nav{max-height:calc(100dvh - 112px);overflow-y:auto}}

/* Component plus controls anchored to each card. */
:root{--component-plus-inset:16px;--component-plus-clearance:72px}
.components .feature-card{position:relative}
.components .feature-card>.card-icon{position:absolute;top:var(--component-plus-inset);right:var(--component-plus-inset);z-index:2;margin:0}
.components .card-body{grid-template-columns:minmax(0,1fr)}
@media(min-width:768px) and (max-width:1023px){.components .card-body{padding-right:var(--component-plus-clearance)}}

.concept-copy .badges .badge{transform-origin:center}

/* Reserve full label width throughout typing. */
.badge-typing{display:grid;min-width:0}
.badge-typing-reserve,.badge-typing-live{grid-area:1 / 1;min-width:0}
.badge-typing-reserve{visibility:hidden}
.badge-typing-live{text-align:left}
.badge-typing-live.is-typing::after{content:"";display:inline-block;height:1em;border-right:2px solid currentColor;margin-right:-2px;vertical-align:-.12em}

/* Reveal only the background; layout keeps the final badge dimensions. */
.concept .badge.badge-revealing{position:relative;isolation:isolate;background:transparent}
.badge-revealing::before{content:"";position:absolute;top:0;left:0;width:calc(100% * var(--badge-reveal,0));height:100%;border-radius:inherit;background:var(--green);opacity:var(--badge-visible,0);z-index:-1;pointer-events:none}

/* Compact invitation emerging from the bottom edge. */
:root{--test-drive-dock-height:88px;--test-drive-dock-pad:12px;--test-drive-dock-radius:24px}
body{padding-bottom:var(--test-drive-dock-height)}
html{scroll-padding-bottom:calc(var(--test-drive-dock-height) + 16px)}
.test-drive-dock{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:90;box-sizing:border-box;width:100%;max-width:none;background:var(--bg);border:1px dashed var(--line);border-bottom:0;border-radius:var(--test-drive-dock-radius) var(--test-drive-dock-radius) 0 0;padding:var(--test-drive-dock-pad) 16px calc(var(--test-drive-dock-pad) + env(safe-area-inset-bottom))}
.test-drive-dock-inner{display:flex;align-items:center;justify-content:center;max-width:100%}
.test-drive-dock .button{flex:none;max-width:100%;margin:0}
body:has(dialog[open]) .test-drive-dock{visibility:hidden}
/* Section headings and their gaps are included in the edition height reference. */
:root{--roomy-card-pad:24px;--roomy-card-gap:32px;--roomy-copy-gap:12px;--previous-copy-gap:24px}
#learning .feature-card,#components .feature-card{padding:var(--roomy-card-pad);gap:var(--roomy-card-gap)}
#learning .feature-copy,#components .feature-copy{gap:var(--roomy-copy-gap);padding-bottom:var(--copy-bottom-space,12px)}
@media(min-width:1024px){
 #learning .feature-card,#components .feature-card{min-height:var(--reference-card-height,var(--edition-height));display:flex;flex-direction:column}
 #learning .media-box,#components .media-box{flex:1;overflow:visible;align-items:center}
 #learning .media-box img,#components .media-box img{flex:none}
 #components .card-body{flex:none;display:block}
 #learning .feature-copy,#components .feature-copy{min-height:var(--shared-card-copy-height,0px)}
 #components .feature-copy h3{min-height:0;line-height:1.3}
}
/* Slightly lower the image within the existing video frame. */
.concept > .concept-video:not(:fullscreen) video{object-position:center 70%}
.concept-video:fullscreen video,.video-viewer .concept-video video{object-position:center}
/* Rounded corners follow the photographs, independently of the flexible media area. */
#learning{--learning-photo-radius:12px}
#learning .media-box .photo{border-radius:var(--learning-photo-radius)}

/* Show the invitation only between the hero and contact sections. */
.test-drive-dock{--dock-enter:300ms;--dock-exit:180ms;transform:translate(-50%,calc(100% + 2px));visibility:hidden;pointer-events:none;transition:transform var(--dock-exit) ease-in,visibility 0s linear var(--dock-exit)}
.test-drive-dock.is-visible{transform:translate(-50%,0);visibility:visible;pointer-events:auto;transition:transform var(--dock-enter) ease-out,visibility 0s}
@media(prefers-reduced-motion:reduce){.test-drive-dock,.test-drive-dock.is-visible{transition:none}}
/* Direct mouse movement must not compete with snapping or smooth scrolling. */
#steps.is-mouse-dragging{scroll-snap-type:none!important;scroll-behavior:auto!important;user-select:none;-webkit-user-select:none}
#steps.is-mouse-dragging,#steps.is-mouse-dragging *{cursor:var(--kasper-cursor),auto!important}
/* Keep the user-selected position for every scrolling input. */
#steps{scroll-snap-type:none!important}
#steps .step-card{scroll-snap-align:none;scroll-snap-stop:normal}

/* Edition cards share the sparse outline without changing their box size. */
.edition{position:relative;border-color:transparent}
.edition > .sparse-block-border rect{rx:calc(16 * var(--u))}
@media(max-width:767px){.edition > .sparse-block-border rect{rx:16px}}

/* Keep the page centered; horizontal gestures belong to inner rails only. */
html,body{max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
.od-rail,#steps{overscroll-behavior-x:contain}

/* The process rail occupies the viewport; its heading retains the page guides. */
.process{--process-inset:max(calc((100% - 1780 * var(--u)) / 2),var(--gutter));width:100%;max-width:none;margin-inline:0}
.process > .steps{box-sizing:border-box;width:100%;max-width:100%;padding-left:calc(var(--process-inset) + 243 * var(--u));padding-right:var(--process-inset);scroll-padding-left:calc(var(--process-inset) + 243 * var(--u))}
.process > .process-navigation{left:var(--process-inset)}
@media(max-width:1023px){.process{--process-inset:24px}}
@media(max-width:767px){
 .process{--process-inset:16px}
 .process > .steps{padding-left:var(--process-inset);scroll-padding-left:var(--process-inset)}
 .process > .process-navigation{width:calc(100% - 2 * var(--process-inset));margin-inline:auto}
}
/* Mobile composition. Desktop retains its existing structure. */
.mobile-hero{display:none}
@media(max-width:767px){
 :root{--mobile-gap:16px;--mobile-device-width:min(280px,76vw)}
 .hero > .hero-layout{display:none}
 .hero > .mobile-hero{display:block;margin-top:24px;min-width:0}
 .mobile-slides.od-rail{display:flex;gap:0;width:100%;padding:0;scroll-padding:0;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
 .mobile-slides > .mobile-slide{display:flex;flex-direction:column;flex:0 0 100%;width:100%;min-width:0;margin:0;gap:24px;scroll-snap-align:center}
 .mobile-device{display:grid;place-items:center;position:relative;isolation:isolate}
 .mobile-device::before{content:"";position:absolute;width:78%;aspect-ratio:1;border:1px dashed var(--line);border-radius:50%;z-index:-1;pointer-events:none}
 .mobile-device img{display:block;width:var(--mobile-device-width);max-width:100%;height:auto;aspect-ratio:8 / 9;object-fit:contain}
 .hero .mobile-slide figcaption{display:flex;align-items:flex-start;justify-content:center;width:100%;max-width:none;min-height:120px;margin:0;font-size:16px;line-height:1.5}
 .mobile-slide figcaption p{display:grid;max-width:34ch;white-space:normal;margin:0;overflow-wrap:break-word}
 .mobile-reserve,.mobile-live{grid-area:1 / 1}.mobile-reserve{opacity:0}
 .mobile-live.is-typing::after{content:"";display:inline-block;height:1em;border-right:2px solid currentColor;vertical-align:-.12em;margin-right:-2px}
 .mobile-dots{display:flex;justify-content:center;gap:8px;margin:8px 0}
 .mobile-dots button{display:grid;place-items:center;width:44px;height:44px;background:transparent;border:0;padding:0}
 .mobile-dots button span{display:block;width:8px;height:8px;border:1px solid var(--text);border-radius:8px}
 .mobile-dots button[aria-current="true"] span{width:24px;background:var(--green);border-color:var(--green)}
 .mobile-action{display:flex;justify-content:center}.mobile-action > .button{margin:0;min-height:52px}
 .mobile-dots button:focus-visible,.mobile-slides:focus-visible,.mobile-rail:focus-visible{outline:2px solid var(--text);outline-offset:-2px}
 .concept{display:block;min-height:0}
 .concept .concept-copy{display:flex;flex-direction:column;min-height:0;height:auto;padding:24px 16px;gap:32px}
 .concept .concept-copy > h2{font-size:28px;line-height:1.15;margin:0}
 .concept-copy > .concept-video:not(:fullscreen){display:block;flex:none;align-self:center;width:100%;max-width:400px;height:auto;min-height:0;aspect-ratio:9 / 16;margin:0;border-radius:12px;overflow:hidden}
 .concept-copy > .concept-video:not(:fullscreen) video{object-fit:contain;object-position:center}
 .concept .concept-copy ol{margin:0;gap:24px}.concept .concept-copy .badges{margin:0;gap:8px}
 #learning .cards.mobile-rail,#components .cards.mobile-rail,#editions.mobile-rail{display:flex;flex-direction:column;align-items:stretch;gap:24px;overflow:visible;scroll-snap-type:none;padding-block:8px 16px}
 .mobile-rail::-webkit-scrollbar{display:none}
 #learning .cards > .feature-card,#components .cards > .feature-card,#editions > .edition{flex:none;width:100%;min-width:0;min-height:0;height:auto;display:flex;flex-direction:column;scroll-snap-align:none;margin:0;padding:24px 16px;gap:24px;box-sizing:border-box}
 #learning .media-box,#components .media-box{display:grid;place-items:center;flex:none;width:100%;height:auto;min-height:0;aspect-ratio:1076 / 600;overflow:visible}
 #learning .media-box{aspect-ratio:1082 / 956}
 #learning .media-box img,#components .media-box img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
 #components .media-box{margin-top:32px}
 #components .card-body{display:block;flex:none;width:100%;padding:0}
 #learning .feature-copy,#components .feature-copy,#editions .feature-copy{display:flex;flex-direction:column;min-height:0;padding-bottom:0;gap:8px;container-type:normal}
 #learning .feature-copy h3,#components .feature-copy h3,#editions .feature-copy h3{font-size:18px;line-height:1.3;white-space:normal;min-height:var(--mobile-heading-height,0px);height:auto;overflow-wrap:break-word}
 #learning .feature-copy p,#components .feature-copy p,#editions .feature-copy p{font-size:16px;line-height:1.5}
 #editions .edition h2{font-size:28px;line-height:1.15;min-height:var(--mobile-heading-height,0px)}
 #editions .photo-wrap{margin:0;padding-top:16px}
}

/* Mobile header: menu label on the left, logo on the right. */
@media(max-width:767px){
 .site-header > .menu-toggle{order:0}
 .site-header > .logo{order:1;margin-left:auto}
 .site-header > .nav{order:2;flex-basis:100%;text-align:left}
}

/* Distribute mobile navigation across the complete header width. */
@media(max-width:767px){
 .site-header > .nav{width:100%;max-width:none;justify-content:space-between;column-gap:16px;row-gap:8px}
}

/* Shared mobile section-heading scale. */
@media(max-width:767px){
 :root{--mobile-section-title:clamp(40px,11.28vw,56px)}
 .hero h1,
 .concept .concept-copy > h2,
 .section > h2,
 #editions .edition h2,
 .process-head h2,
 .contact-intro h2{
  font-size:var(--mobile-section-title);line-height:1.1;
  width:100%;max-width:none;height:auto;letter-spacing:0;
  white-space:normal;overflow-wrap:anywhere;text-wrap:pretty;
 }
 .hero h1{text-wrap:balance}
}
/* Full-width, taller mobile hero action. */
@media(max-width:767px){
 .mobile-action{width:100%;--mobile-cta-height:64px}
 .mobile-action > .button{box-sizing:border-box;display:flex;width:100%;max-width:none;min-height:var(--mobile-cta-height);height:auto;padding:16px 24px;font-size:18px;gap:32px}
}
/* Mobile orbit geometry is shared with the desktop central device. */
@media(max-width:767px){
 .mobile-device::before{content:none}
 .mobile-device .mobile-orbits{display:block;position:absolute;top:50%;left:50%;width:100%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;overflow:visible}
 .mobile-orbits circle[stroke-dasharray]{transform-box:fill-box;transform-origin:center;animation:mobile-orbit-turn 80s linear infinite}
 .mobile-orbits circle[stroke-dasharray]:nth-child(even){animation-direction:reverse;animation-duration:96s}
}
@keyframes mobile-orbit-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.mobile-orbits circle[stroke-dasharray]{animation:none}}
/* Fullscreen mobile navigation. */
@media(max-width:767px){
 .site-header-bar .site-header{flex-wrap:nowrap}
 .site-header > .logo,.site-header > .menu-toggle{position:relative;z-index:2}
 .site-header > .menu-toggle{display:flex;justify-content:center;align-items:center;width:44px;height:44px;padding:8px;border:0;color:var(--menu-green);background:transparent}
 .menu-toggle svg{display:block;width:24px;height:24px;overflow:visible}
 .menu-toggle .menu-stroke{transition:transform 240ms ease-out,opacity 160ms ease-out}
 .menu-toggle[aria-expanded="true"] .menu-stroke:first-child{transform:translateY(6px) rotate(45deg);transform-origin:12px 6px}
 .menu-toggle[aria-expanded="true"] .menu-stroke:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] .menu-stroke:last-child{transform:translateY(-6px) rotate(-45deg);transform-origin:12px 18px}
 .site-header-bar .site-header > .nav{
  position:fixed;top:0;left:0;z-index:1;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
  width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;min-height:0;margin:0;
  padding:calc(var(--mobile-menu-top,96px) + 32px) 24px calc(32px + env(safe-area-inset-bottom));
  gap:12px;border:0;background:var(--bg);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
  visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);
  transition:opacity 180ms ease-in,transform 180ms ease-in,visibility 0s linear 180ms;
 }
 .site-header-bar .site-header > .nav.is-open{
  visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);
  transition:opacity 280ms ease-out,transform 280ms ease-out,visibility 0s;
 }
 .site-header-bar .nav > a,.site-header-bar .nav > button{
  flex:none;display:flex;justify-content:flex-start;width:100%;min-height:48px;padding:8px 0;
  font-size:24px;line-height:1.4;text-align:left;white-space:normal;
 }
 .mobile-menu-open .site-header-bar{z-index:1000}
 .mobile-menu-open{overscroll-behavior:none}
}
@media(prefers-reduced-motion:reduce){
 .site-header-bar .site-header > .nav,.menu-toggle .menu-stroke{transition:none}
}
/* Compact mobile first screen with viewport-aware device sizing. */
@media(max-width:767px){
 .site-header > .logo{order:0;margin-left:0;margin-right:auto}
 .site-header > .menu-toggle{order:1}
 .hero{padding-top:8px;--mobile-stage-height:clamp(180px,calc(100svh - 400px),315px)}
 .hero > .mobile-hero{margin-top:32px}
 .mobile-slides > .mobile-slide{gap:12px}
 .mobile-device{height:var(--mobile-stage-height)}
 .mobile-device img{height:100%;width:auto;max-width:100%;object-fit:contain}
 .mobile-device .mobile-orbits{width:min(100%,calc(var(--mobile-stage-height) + 32px))}
 .hero .mobile-slide figcaption{min-height:0}
 .mobile-dots{margin:0}
 .mobile-action{padding-bottom:8px}
}
/* Full-width button inside the mobile bottom dock. */
@media(max-width:767px){
 .test-drive-dock-inner{width:100%}
 .test-drive-dock .button{width:100%;max-width:none}
}

/* Keep the orbit's upper overhang inside the carousel viewport. */
@media(max-width:767px){
 .mobile-slides.od-rail{padding-top:24px}
}

/* Reserve a non-shrinking image row; keep captions below the complete device. */
@media(max-width:767px){
 .hero .mobile-slides > .mobile-slide{gap:24px}
 .hero .mobile-device{flex:none;min-height:0;grid-template-rows:minmax(0,1fr);height:var(--mobile-stage-height)}
 .hero .mobile-device img{min-height:0;min-width:0;width:100%;height:100%;max-height:100%;aspect-ratio:auto;object-fit:contain}
}

/* Footer: navigation, documents, contacts; logo on the right. */
.site-footer{--footer-group-gap:48px;--footer-item-gap:4px}
.site-footer .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.5fr) auto;gap:var(--footer-group-gap);align-items:start}
.site-footer .footer-logo{grid-column:4;grid-row:1;justify-self:end;max-width:100%}
.site-footer .footer-grid>nav{grid-column:1;grid-row:1;padding-top:0}
.site-footer .footer-grid>.footer-links:not(nav){grid-column:2;grid-row:1;padding-top:0}
.site-footer .footer-contact{grid-column:3;grid-row:1;padding-top:0;gap:8px}
.site-footer .footer-links{gap:var(--footer-item-gap);line-height:1.5}
.site-footer .footer-links a,.site-footer .footer-links button{margin:0;line-height:1.5}
.site-footer .footer-contact .socials{margin-top:8px}
@media(max-width:1023px){
 .site-footer{--footer-group-gap:32px;--footer-item-gap:0px}
 .site-footer .footer-grid{grid-template-columns:minmax(0,1fr) 120px;gap:var(--footer-group-gap) 24px}
 .site-footer .footer-logo{grid-column:2;grid-row:1;justify-self:end}
 .site-footer .footer-grid>nav{grid-column:1;grid-row:1}
 .site-footer .footer-grid>.footer-links:not(nav){grid-column:1/-1;grid-row:2}
 .site-footer .footer-contact{grid-column:1/-1;grid-row:3}
 .site-footer .footer-links a,.site-footer .footer-links button{display:flex;align-items:center;min-height:44px}
}
/* Mobile headings keep whole words; the video introduction is more compact. */
@media(max-width:767px){
 .hero h1,
 .concept .concept-copy > h2,
 .section > h2,
 #editions .edition h2,
 .process-head h2,
 .contact-intro h2{
  overflow-wrap:normal;word-break:normal;hyphens:none;
 }
 .concept .concept-copy > #concept-title{
  --concept-mobile-title:clamp(24px,6.4vw,28px);
  font-size:var(--concept-mobile-title);line-height:1.2;
  white-space:normal;text-wrap:pretty;
 }
}
/* Mobile menu: a turning icon and a short, sequential entrance. */
@media(max-width:767px){
 .site-header{--menu-enter:300ms;--menu-exit:180ms;--menu-stagger:35ms;--menu-ease:cubic-bezier(.22,1,.36,1)}
 .site-header .menu-toggle{transition:transform var(--menu-exit) ease-out}
 .site-header .menu-toggle:active{transform:scale(.9)}
 .site-header .menu-toggle svg{transform-origin:50% 50%;transform:rotate(0deg);transition:transform var(--menu-exit) ease-in}
 .site-header .menu-toggle[aria-expanded="true"] svg{transform:rotate(90deg);transition-duration:var(--menu-enter);transition-timing-function:var(--menu-ease)}
 .site-header .menu-toggle .menu-stroke{transform-box:view-box;transition:transform var(--menu-exit) ease-in,opacity var(--menu-exit) ease-in}
 .site-header .menu-toggle .menu-stroke:first-child{transform-origin:12px 6px}
 .site-header .menu-toggle .menu-stroke:nth-child(2){transform-origin:12px 12px}
 .site-header .menu-toggle .menu-stroke:last-child{transform-origin:12px 18px}
 .site-header .menu-toggle[aria-expanded="true"] .menu-stroke{transition-duration:var(--menu-enter);transition-timing-function:var(--menu-ease)}
 .site-header .menu-toggle[aria-expanded="true"] .menu-stroke:nth-child(2){transform:scaleX(.25);opacity:0}
 .site-header-bar .site-header > .nav > :is(a,button){
  --menu-item:0;opacity:0;transform:translateY(12px);
  transition:opacity var(--menu-exit) ease-in,transform var(--menu-exit) ease-in,color var(--menu-exit) ease-out;
 }
 .site-header-bar .site-header > .nav > :nth-child(2){--menu-item:1}
 .site-header-bar .site-header > .nav > :nth-child(3){--menu-item:2}
 .site-header-bar .site-header > .nav > :nth-child(4){--menu-item:3}
 .site-header-bar .site-header > .nav > :nth-child(5){--menu-item:4}
 .site-header-bar .site-header > .nav.is-open > :is(a,button){
  opacity:1;transform:translateY(0);
  transition:opacity 240ms var(--menu-ease) calc(var(--menu-item)*var(--menu-stagger)),transform 240ms var(--menu-ease) calc(var(--menu-item)*var(--menu-stagger)),color var(--menu-exit) ease-out;
 }
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
 .site-header .menu-toggle,.site-header .menu-toggle svg,.site-header .menu-toggle .menu-stroke,
 .site-header .menu-toggle[aria-expanded="true"] svg,.site-header .menu-toggle[aria-expanded="true"] .menu-stroke,
 .site-header-bar .site-header > .nav,.site-header-bar .site-header > .nav.is-open,
 .site-header-bar .site-header > .nav > :is(a,button),.site-header-bar .site-header > .nav.is-open > :is(a,button){transition:none}
}
/* Smaller mobile descriptors below edition names. */
@media(max-width:767px){
 #editions{--edition-subtitle-size:20px}
 #editions .edition h2>.edition-subtitle{font-size:var(--edition-subtitle-size);line-height:1.4;margin-top:8px;word-break:normal;overflow-wrap:normal;hyphens:none}
}

/* Mobile specification diagram: callouts flank the device, details follow. */
@media(max-width:767px){
 .device-spec-layout{display:flex;flex-direction:column;align-items:stretch;gap:32px}
 .device-spec-figure{order:-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr) minmax(0,1fr);column-gap:12px;row-gap:0;width:100%;margin:0;align-items:center}
 .device-spec-product{grid-column:2;grid-row:1;width:100%;max-width:176px;height:auto;justify-self:center}
 .device-spec-labels{font-size:16px;line-height:1.5;gap:24px;padding:0;overflow-wrap:normal}
 .device-spec-labels span{overflow-wrap:normal;word-break:normal;hyphens:none}
 .device-spec-labels--left{grid-column:1;grid-row:1;align-self:stretch;justify-content:space-around}
 .device-spec-labels--right{grid-column:3;grid-row:1;align-self:stretch;justify-content:space-between}
 .device-spec-list{width:100%;min-width:0}
}

/* Footer contact details at the bottom of the full-screen mobile menu. */
.mobile-menu-contacts{display:none}
@media(max-width:767px){
 .site-header-bar .site-header>.nav>.desktop-menu-contact{display:none}
 .site-header-bar .site-header>.nav>.mobile-menu-contacts{display:flex;flex:none;flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto;padding-top:32px;min-width:0;width:100%}
 .site-header-bar .nav .mobile-menu-contacts>a{display:flex;align-items:center;min-height:44px;max-width:100%;padding:0;font-size:16px;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere;text-decoration:none;color:var(--text)}
 .site-header-bar .nav .mobile-menu-contacts .socials{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}
 .site-header-bar .nav .mobile-menu-contacts .socials button{display:grid;place-items:center;flex:none;width:48px;min-height:48px;padding:0;background:transparent;border:0}
 .mobile-menu-contacts .socials img{display:block;width:48px;height:auto}
 .site-header-bar .nav .mobile-menu-contacts>a:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
}
@media(max-width:767px) and (hover:hover){.site-header-bar .nav .mobile-menu-contacts>a:hover{color:var(--menu-green,var(--green))}}

/* Only editions stay vertical; learning and components are swipeable rails. */
@media(max-width:767px){
 #learning .cards.mobile-rail,#components .cards.mobile-rail{--mobile-card-peek:24px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:16px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:none;padding-block:8px 16px}
 #learning .cards.mobile-rail>.feature-card,#components .cards.mobile-rail>.feature-card{flex:0 0 calc(100% - var(--mobile-card-peek));width:calc(100% - var(--mobile-card-peek));height:auto;min-width:0}
}

/* Restore the desktop section trajectories at the mobile viewport scale. */
@media(max-width:1023px){
 .section-art{display:block;width:100vw;max-width:none;height:auto;left:50%;transform:translateX(-50%);pointer-events:none;z-index:-1}
 .concept-art{top:-64px}
 .components-art{top:-48px}
}
/* The frame belongs to the complete scrollable popup content. */
.device-spec-dialog{padding:0}
.device-spec-content{position:relative;isolation:isolate;border-radius:inherit;padding:40px 32px}
.device-spec-content>.sparse-block-border{top:0;left:0;width:100%;height:100%}
@media(max-width:1023px){.device-spec-content{padding-top:88px}}
@media(max-width:767px){
 .device-spec-content{padding:72px 16px 24px}
 .device-spec-figure{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 12px;align-items:center}
 .device-spec-product{grid-column:1 / -1;grid-row:2;width:176px;max-width:100%;justify-self:center}
 .device-spec-labels{display:contents}
 .device-spec-labels span{text-align:center;font-size:16px;line-height:1.4;margin:0;align-self:center}
 .device-spec-labels--left span:nth-child(1){grid-column:1;grid-row:1}
 .device-spec-labels--right span:nth-child(1){grid-column:2;grid-row:1}
 .device-spec-labels--right span:nth-child(2){grid-column:3;grid-row:1}
 .device-spec-labels--left span:nth-child(2){grid-column:1;grid-row:3}
 .device-spec-labels--right span:nth-child(3){grid-column:2;grid-row:3}
 .device-spec-labels--right span:nth-child(4){grid-column:3;grid-row:3;margin-top:0}
}
/* Larger menu artwork within the existing touch target. */
@media(max-width:767px){
 .site-header>.menu-toggle{--menu-icon-size:32px;padding:6px}
 .site-header .menu-toggle svg{width:var(--menu-icon-size);height:var(--menu-icon-size);flex:none}
}
/* Mobile hero: action under the heading, followed by device and caption. */
@media(max-width:767px){
 .hero .mobile-action{padding-bottom:0;margin-bottom:16px}
}

/* Mobile review fixes: compact header/button/footer, larger hero device, tighter process card copy. */
@media(max-width:767px){
 :root{
  --site-header-height:72px;
  --test-drive-dock-height:72px;
 }

 .site-header-bar .site-header,
 .site-header{
  height:72px!important;
  min-height:72px!important;
  padding-top:4px!important;
  align-items:center!important;
 }

 .site-header > .logo{
  width:56px!important;
 }

 .site-header > .menu-toggle{
  width:40px!important;
  height:40px!important;
  padding:5px!important;
 }

 .site-header .menu-toggle svg{
  width:28px!important;
  height:28px!important;
 }

 .site-header-bar .site-header > .nav{
  padding-top:calc(72px + 24px)!important;
 }

 .mobile-action{
  --mobile-cta-height:52px!important;
  margin-bottom:8px!important;
  padding-bottom:0!important;
 }

 .mobile-action > .button{
  min-height:52px!important;
  height:52px!important;
  padding:10px 20px!important;
  font-size:16px!important;
  gap:18px!important;
 }

 .hero{
  --mobile-stage-height:clamp(250px,calc(100svh - 330px),360px)!important;
  padding-top:4px!important;
 }

 .hero > .mobile-hero{
  margin-top:22px!important;
 }

 .hero .mobile-device{
  height:var(--mobile-stage-height)!important;
 }

 .hero .mobile-device .mobile-orbits{
  width:min(106%,calc(var(--mobile-stage-height) + 38px))!important;
 }

 .hero .mobile-device img{
  width:auto!important;
  height:100%!important;
  max-height:100%!important;
 }

 .hero .mobile-slides > .mobile-slide{
  gap:14px!important;
 }

 .step-card{
  gap:0!important;
 }

 .step-number{
  margin-bottom:14px!important;
 }

 .step-card .orbit{
  margin-bottom:24px!important;
 }

 .step-card .step-copy,
 .step-card:nth-child(n+3) .step-copy{
  margin-top:0!important;
  padding-top:0!important;
  gap:8px!important;
  min-height:0!important;
 }

 .step-copy h3{
  line-height:1.05!important;
  min-height:0!important;
 }

 .step-copy p{
  line-height:1.25!important;
 }

 .site-footer{
  padding-top:28px!important;
  padding-bottom:14px!important;
  min-height:0!important;
 }

 .site-footer .footer-grid{
  gap:20px 20px!important;
 }

 .site-footer .footer-links a,
 .site-footer .footer-links button{
  min-height:34px!important;
 }

 .site-footer .footer-contact{
  gap:6px!important;
 }

 .site-footer .footer-contact .socials{
  margin-top:6px!important;
 }

 .footer-copyright{
  margin-top:8px!important;
  margin-bottom:0!important;
 }
}

/* Mobile hero orbit cleanup and one-slide swipe behavior. */
@media(max-width:767px){
 .hero .mobile-slides > .mobile-slide{
  scroll-snap-stop:always;
 }

 .hero .mobile-orbits line,
 .hero .mobile-orbits .ref-dot{
  display:none!important;
 }

 .hero .mobile-orbits circle[stroke-dasharray]{
  display:none!important;
 }

 .hero .mobile-orbits circle[stroke-dasharray]:first-of-type{
  display:block!important;
 }
}

/* Mobile footer / hero / process spacing follow-up. */
@media(max-width:767px){
 .hero-eyebrow{
  margin-bottom:0!important;
  line-height:1.18!important;
 }

 .hero h1{
  margin-top:0!important;
 }

 .hero > .mobile-hero{
  margin-top:14px!important;
 }

 .step-card{
  padding-top:32px!important;
 }

 .step-number{
  margin-bottom:24px!important;
 }

 .step-card .orbit{
  margin-top:4px!important;
  margin-bottom:28px!important;
 }

 .site-footer{
  padding-top:36px!important;
  padding-bottom:22px!important;
 }

 .site-footer .footer-grid{
  gap:40px 20px!important;
 }

 .site-footer .footer-grid > nav > a[href="#contacts"]{
  display:none!important;
 }

 .site-footer .footer-grid > nav,
 .site-footer .footer-grid > .footer-links:not(nav),
 .site-footer .footer-contact{
  row-gap:6px!important;
 }

 .site-footer .footer-links a,
 .site-footer .footer-links button{
  min-height:38px!important;
 }

 .site-footer .footer-contact{
  gap:10px!important;
 }
}

/* Mobile hero orbit follow-up: keep all dashed circles with the slide, but smaller. */
@media(max-width:767px){
 .hero .mobile-device{
  isolation:isolate;
  overflow:visible;
 }

 .hero .mobile-device .mobile-orbits{
  width:min(92%,calc(var(--mobile-stage-height) + 8px))!important;
  z-index:0!important;
 }

 .hero .mobile-device img{
  position:relative;
  z-index:1;
 }

 .hero .mobile-orbits line,
 .hero .mobile-orbits .ref-dot{
  display:none!important;
 }

 .hero .mobile-orbits circle[stroke-dasharray]{
  display:block!important;
 }
}

/* Desktop-only follow-up: restore compact bottom dock and keep the process section in normal vertical flow. */
@media(min-width:768px){
 .test-drive-dock{
  width:max-content!important;
  max-width:calc(100% - 32px)!important;
 }

 .test-drive-dock-inner{
  max-width:100%!important;
 }

 .process,
 .process-head,
 .process > .steps{
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
 }

 .process > .steps{
  scroll-snap-type:none!important;
  touch-action:pan-y!important;
 }
}

/* Mobile annotation pass: only mobile layout refinements. */
@media(max-width:767px){
 .hero-eyebrow{
  margin-bottom:-4px!important;
 }

 .hero > .mobile-hero{
  margin-top:8px!important;
 }

 .step-card{
  padding-top:44px!important;
  overflow:visible!important;
 }

 .step-number{
  margin-bottom:28px!important;
 }

 .step-card .orbit{
  margin-top:8px!important;
  margin-bottom:30px!important;
 }

 .site-footer .footer-grid{
  gap:52px 20px!important;
 }

 .site-footer .footer-grid > nav > a[href="#contacts"]{
  display:none!important;
 }

 .site-footer .footer-grid > nav,
 .site-footer .footer-grid > .footer-links:not(nav),
 .site-footer .footer-contact{
  row-gap:8px!important;
 }
}

/* Mobile annotation pass 2: live swipe, footer tail and step 03 clipping. */
@media(max-width:767px){
 body{
  padding-bottom:0!important;
 }

 html{
  scroll-padding-bottom:16px!important;
 }

 .site-footer{
  padding-bottom:10px!important;
  margin-bottom:0!important;
 }

 .footer-copyright{
  margin-bottom:0!important;
 }

 .step-card:nth-child(3){
  padding-top:56px!important;
  overflow:visible!important;
 }

 .step-card:nth-child(3) .orbit,
 .step-card:nth-child(3) .step-art{
  overflow:visible!important;
 }
}

/* Mobile menu close button must stay visible after opening from any scroll position. */
@media(max-width:767px){
 .mobile-menu-open .site-header > .menu-toggle{
  position:fixed!important;
  top:16px!important;
  right:16px!important;
  z-index:1002!important;
  display:flex!important;
  background:var(--bg)!important;
  border-radius:12px!important;
 }

 .mobile-menu-open .site-header-bar .site-header > .nav{
  z-index:1001!important;
  padding-top:92px!important;
 }
}

/* Mobile process cards: align number, icon and copy across every slide. */
@media(max-width:767px){
 .step-card,
 .step-card:nth-child(3){
  display:grid!important;
  grid-template-rows:76px 234px auto!important;
  align-content:start!important;
  justify-items:center!important;
  gap:0!important;
  padding-top:44px!important;
  overflow:visible!important;
 }

 .step-number{
  grid-row:1!important;
  align-self:start!important;
  margin:0!important;
  height:auto!important;
  line-height:.86!important;
 }

 .step-card .orbit,
 .step-card:nth-child(3) .orbit{
  grid-row:2!important;
  align-self:start!important;
  margin:0!important;
  width:220px!important;
  max-width:100%!important;
  overflow:visible!important;
 }

 .step-card .step-copy,
 .step-card:nth-child(n+3) .step-copy{
  grid-row:3!important;
  align-self:start!important;
  margin:0!important;
  padding-top:0!important;
  min-height:0!important;
  gap:8px!important;
 }
}

/* Mobile test-drive popup: match form and block dashed borders. */
@media(max-width:767px){
 .test-drive-content > .sparse-block-border{
  --block-stroke:2px!important;
  --block-dash:14px!important;
  --block-dash-gap:12px!important;
  color:var(--line)!important;
 }

 .test-drive-form .input-shell{
  border:1px dashed var(--line)!important;
  border-radius:10px!important;
 }

 .test-drive-form .input-shell > .sparse-block-border{
  display:none!important;
 }

 .test-drive-form .input-shell:focus-within{
  border-color:var(--green)!important;
 }

 .test-drive-form .input-shell:has(input[aria-invalid=true]):not(:focus-within){
  border-color:var(--error)!important;
 }
}

/* Mobile hero carousel: use the same native horizontal scrolling as other site blocks. */
@media(max-width:767px){
 .hero .mobile-slides.od-rail{
  --mobile-card-peek:24px;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:16px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:contain!important;
  scrollbar-width:none!important;
  scroll-snap-type:none!important;
  scroll-padding:0!important;
  padding-inline:0!important;
  -webkit-overflow-scrolling:touch;
 }

 .hero .mobile-slides.od-rail::-webkit-scrollbar{
  display:none!important;
 }

 .hero .mobile-slides > .mobile-slide{
  flex:0 0 calc(100% - var(--mobile-card-peek))!important;
  width:calc(100% - var(--mobile-card-peek))!important;
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
 }
}

/* Mobile CTA tap playback: mirrors the desktop hover animation on touch devices. */
@keyframes cta-mobile-tap-pulse{
 0%{filter:brightness(1);transform:translateY(0)}
 42%{filter:brightness(1.16);transform:translateY(-1px)}
 100%{filter:brightness(1);transform:translateY(0)}
}
@media(max-width:767px){
 .cta-motion.is-tap-animating:not(:disabled){
  background:var(--green);
  border-color:transparent;
  color:var(--text);
  animation:cta-mobile-tap-pulse 520ms ease-out both!important;
 }
 .cta-outline.is-tap-animating:not(:disabled){background:var(--green)}
 .cta-motion.is-tap-animating:not(:disabled)::before{opacity:1}
 .cta-motion.is-tap-animating:not(:disabled) .cta-label{
  background:var(--cta-gradient);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
 }
 .cta-motion.is-tap-animating:not(:disabled) .cta-arrow{transform:rotate(-45deg)!important}
 .cta-filled.is-tap-animating .cta-arrow path{stroke:url(#cta-gradient-1)}
 .cta-outline.is-tap-animating .cta-arrow path{stroke:url(#cta-gradient-2)}
}

/* Mobile interaction polish: remove blue tap boxes and animate non-CTA controls too. */
@media(max-width:767px){
 *{-webkit-tap-highlight-color:transparent}
 a,button,input,textarea,select{outline:none!important}
 a:focus,button:focus,input:focus,textarea:focus,select:focus,
 a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,
 .mobile-dots button:focus-visible,.mobile-slides:focus-visible,.mobile-rail:focus-visible{
  outline:none!important;
  box-shadow:none!important;
 }

 .menu-toggle,
 .device-spec-open,
 .device-spec-close,
 .dialog-close,
 .video-pause,
 .video-fullscreen,
 .video-sound,
 .icon-button,
 .mobile-dots button{
  transition:transform 240ms ease-out,color 240ms ease-out,background-color 240ms ease-out,filter 240ms ease-out!important;
 }

 .menu-toggle.is-tap-animating,
 .video-pause.is-tap-animating,
 .video-fullscreen.is-tap-animating,
 .video-sound.is-tap-animating,
 .icon-button.is-tap-animating,
 .mobile-dots button.is-tap-animating{
  color:#9aff16!important;
  filter:brightness(1.2) drop-shadow(0 0 10px rgba(154,255,22,.28));
  transform:scale(.94)!important;
 }

 .menu-toggle.is-tap-animating svg{transform:scale(.94)!important}
 .menu-toggle[aria-expanded="true"].is-tap-animating svg{transform:rotate(90deg) scale(.94)!important}
 .device-spec-open.is-tap-animating,
 .device-spec-close.is-tap-animating,
 .dialog-close.is-tap-animating{
  color:#9aff16!important;
  background:rgba(68,107,71,.18)!important;
  filter:brightness(1.22) drop-shadow(0 0 12px rgba(154,255,22,.24));
  transform:scale(.92)!important;
 }
 .device-spec-open.is-tap-animating svg{transform:rotate(45deg)!important}
 .device-spec-close.is-tap-animating svg{transform:rotate(90deg)!important}
 .device-spec-open svg,
 .device-spec-close svg{transition:transform 240ms ease-out!important}

 .background-ring-spin{
  transform-box:fill-box;
  transform-origin:center;
  animation:background-ring-turn var(--background-ring-period,72s) linear infinite!important;
  animation-direction:var(--background-ring-direction,normal);
  animation-play-state:paused!important;
 }
 .background-rings-visible .background-ring-spin,
 .mobile-orbits .background-ring-spin{animation-play-state:running!important}

 .mobile-orbits circle[stroke-dasharray]{
  transform-box:fill-box;
  transform-origin:center;
  animation:mobile-orbit-turn 80s linear infinite!important;
 }
 .mobile-orbits circle[stroke-dasharray]:nth-child(even){
  animation-direction:reverse!important;
  animation-duration:96s!important;
 }
}

/* Mobile edition heading hierarchy and first hero carousel proportions. */
@media(max-width:767px){
 #editions .edition h2{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:8px!important;
  min-height:0!important;
  line-height:1!important;
  text-align:left!important;
 }

 #editions .edition h2 > .green:not(.edition-dash){
  align-self:flex-start!important;
  font-size:20px!important;
  line-height:1.15!important;
  color:var(--green)!important;
  text-align:left!important;
 }

 #editions .edition h2 > .edition-subtitle{
  align-self:flex-start!important;
  margin-top:0!important;
  font-size:32px!important;
  line-height:1.05!important;
  color:var(--text)!important;
  text-align:left!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
 }

 #editions .edition h2 .edition-dash{
  display:none!important;
 }

 .hero .mobile-device .mobile-orbits{
  width:min(100%,calc(var(--mobile-stage-height) + 30px))!important;
 }

 .hero .mobile-device img{
  height:92%!important;
  width:auto!important;
  max-height:92%!important;
 }
}
