@font-face{font-family:Instrument;src:url('assets/instrument-sans-400.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Instrument;src:url('assets/instrument-sans-600.woff') format('woff');font-weight:600;font-display:swap}@font-face{font-family:Instrument;src:url('assets/instrument-sans-700.woff') format('woff');font-weight:700;font-display:swap}
:root{--paper:#f2f6f2;--mint:#e6efe9;--white:#fff;--ink:#09251e;--green:#005c47;--muted:#52665c;--line:#d1dfd6;--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Instrument,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #008565;outline-offset:5px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.055em;text-wrap:balance}h1{font-size:clamp(2.6rem,11.8vw,3.25rem);line-height:1.02}h2{font-size:clamp(2rem,9.3vw,2.65rem);line-height:1.06}h3{font-size:1.25rem;line-height:1.2;letter-spacing:-.035em}p{font-size:1rem;line-height:1.55}img{display:block;max-width:100%;height:auto}svg{display:block;flex:none}::selection{background:#b3d8c6;color:var(--ink)}.wrap{width:calc(100% - 40px);max-width:1160px;margin-inline:auto}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{width:130px;height:44px;position:relative;overflow:hidden;flex:none}.brand img{position:absolute;width:178px;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%);mix-blend-mode:multiply}.nav-join{min-height:44px;border-radius:999px;padding:12px 20px;background:var(--green);color:white;font-size:.8125rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;transition:transform 140ms var(--ease)}.nav-join:active,.button:active,.gallery-tab:active{transform:scale(.97)}.button{min-height:54px;border:0;border-radius:999px;background:var(--green);color:white;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 28px;font-size:.9375rem;font-weight:700;line-height:1.2;transition:transform 140ms var(--ease)}.button.white{background:var(--paper);color:#064c3b}.button svg{width:17px;height:17px}.hero{margin:0 12px;position:relative;isolation:isolate;overflow:hidden;border-radius:30px;background:#00372c;color:white;min-height:770px;padding:38px 26px 0;display:flex;flex-direction:column;align-items:center}.hero-photo,.hero-photo picture,.hero-photo img{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-photo img{object-fit:cover;object-position:51% 48%}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,27,20,.68),rgba(0,35,26,.72) 50%,#00392d 100%);z-index:-1}.hero-copy{width:100%;max-width:450px;position:relative;z-index:2}.hero h1{max-width:390px}.hero p{font-size:1rem;max-width:315px;margin-top:20px;line-height:1.5;color:#f0f5f1}.hero .button{margin-top:25px}.hero .hero-offer{font-size:.8125rem;line-height:1.6;margin-top:13px;color:#e1eee5}.hero-device{margin:34px auto -105px;width:236px;transform:rotate(-5deg);flex:none;position:relative}.device{background:#edf3ee;border:5px solid #0a211a;border-radius:35px;overflow:hidden;box-shadow:0 24px 45px #001a2433;position:relative}.device img{width:100%;border-radius:29px;height:auto}.hero-device .device{box-shadow:0 28px 55px #001a2477}.hero-device .device:after{content:'';position:absolute;top:10px;left:36%;width:28%;height:10px;border-radius:15px;background:#081e17}.intro{padding-top:75px;padding-bottom:33px}.intro h2{max-width:430px}.intro p{margin-top:22px;max-width:520px;color:var(--muted)}.showcase{margin:0 12px;background:#e2ece5;border-radius:30px;overflow:hidden;padding-top:20px}.gallery-tabs{display:flex;width:calc(100% - 40px);max-width:400px;margin:0 auto;background:#f1f5f1;border:1px solid #c6d8cc;border-radius:999px;padding:5px;gap:4px}.gallery-tab{flex:1;background:transparent;border:0;border-radius:999px;min-height:47px;font-size:.875rem;font-weight:700;color:#53665c;transition:transform 140ms var(--ease)}.gallery-tab[aria-selected=true]{background:var(--green);color:white}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;outline-offset:-5px}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{flex:0 0 100%;min-width:0;scroll-snap-align:center;scroll-snap-stop:always;padding:24px 20px 0;display:flex;align-items:center;flex-direction:column}.slide-text{width:100%;max-width:420px;margin-bottom:23px;text-align:center}.slide-text p{font-size:.875rem;color:var(--muted);margin-top:10px;max-width:310px;margin-inline:auto}.gallery-device{height:505px;width:290px;position:relative;overflow:hidden}.gallery-device .device{width:290px;border-radius:32px}.gallery-device .device img{border-radius:26px}.gallery-device:after{position:absolute;content:'';bottom:0;left:-20px;right:-20px;height:55px;background:linear-gradient(0deg,#e2ece5,transparent);pointer-events:none}.gallery-hint{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.8125rem;color:#53665c;padding:16px 20px 22px;background:#e2ece5}.gallery-hint .dot{width:5px;height:5px;border-radius:50%;background:#a9beb0}.gallery-hint .dot.active{background:#005c47}.course-section{padding-block:73px 70px}.course-section .copy{max-width:490px}.course-section .copy p{margin-top:22px;color:var(--muted);max-width:450px}.course-photo{margin:31px 0 0;height:300px;border-radius:28px;overflow:hidden;position:relative;background:#c9d8c7}.course-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}.course-photo figcaption{position:absolute;left:20px;bottom:19px;color:white;font-size:.875rem;font-weight:600;text-shadow:0 1px 8px #0009;z-index:1}.course-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(0deg,#001d1680,transparent);pointer-events:none}.beta{padding:45px 26px 42px;margin:0 12px;background:#004f3e;color:white;border-radius:30px}.beta h2{max-width:460px}.beta p{font-size:1rem;line-height:1.6;color:#e3eee7;max-width:475px;margin-top:24px}.beta .button{margin-top:29px}.beta .terms{font-size:.8125rem;line-height:1.6;color:#c6dbce;margin-top:17px;max-width:420px}.faq{padding-block:70px 50px}.faq h2{margin-bottom:27px;font-size:2rem}.faq-list{display:grid;gap:10px}.faq details{background:white;border-radius:20px;padding-inline:20px}.faq summary{list-style:none;cursor:pointer;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.9375rem;font-weight:600;line-height:1.3;padding-block:19px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:22px;font-weight:400;flex:none;color:var(--green)}.faq details[open] summary:after{content:'−'}.faq details p{font-size:.875rem;color:var(--muted);padding-bottom:22px;line-height:1.6}.footer{padding-top:20px;padding-bottom:130px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-top p{font-size:.8125rem;color:#52665c;max-width:145px;text-align:right}.footer-links{display:flex;gap:24px;margin-top:20px;align-items:center;flex-wrap:wrap}.footer-links a,.footer-links button{font-size:.8125rem;color:#52665c;min-height:44px;display:inline-flex;align-items:center;padding:0;background:none;border:0}.footer .credit{font-size:.8125rem;line-height:1.6;margin-top:12px;max-width:360px;color:#52665c}.footer .credit a{text-decoration:underline;text-underline-offset:2px}.bottom-join{position:fixed;z-index:6;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;right:12px;max-width:480px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 11px 10px 20px;background:#fff;border:1px solid #e2eae4;border-radius:999px;box-shadow:0 8px 35px #002f221a;transition:transform 250ms var(--ease),opacity 200ms ease}.bottom-join strong{display:block;font-weight:700;font-size:.8125rem}.bottom-join span{font-size:.8125rem;color:var(--muted);display:block;margin-top:3px}.bottom-join .button{min-height:47px;padding:13px 21px;font-size:.8125rem;gap:12px}.bottom-join.hide{transform:translateY(130%);opacity:0;pointer-events:none}.skip{position:fixed;z-index:20;top:-100px;left:16px;padding:12px 20px;border-radius:99px;background:#fff;color:var(--ink)}.skip:focus{top:12px}.signup-nav .back-link{font-size:.8125rem;min-height:44px;display:flex;align-items:center;gap:8px}.signup-content{padding-top:32px;max-width:500px}.signup-content h1{font-size:3.2rem}.signup-lead{margin-top:20px;color:var(--muted);max-width:360px}.offer-note{display:flex;align-items:center;gap:13px;margin-top:25px;margin-bottom:29px}.offer-icon{width:42px;height:42px;border-radius:50%;background:#dcece3;display:grid;place-items:center;color:#00644c;flex:none}.offer-note strong{font-size:.875rem;font-weight:700;display:block}.offer-note p{font-size:.8125rem;color:var(--muted);margin-top:3px}.form-card{background:white;border:1px solid #d7e2db;border-radius:27px;padding:26px 22px}.form-title{font-size:1.5rem;letter-spacing:-.04em;margin-bottom:26px}.field{margin-bottom:23px}.field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:10px}.field input{width:100%;height:56px;background:#f7f9f6;border:1px solid #c8d7ce;border-radius:14px;padding:15px 16px;font-size:1rem;color:var(--ink)}.field input::placeholder{color:#697a70}.field input[aria-invalid=true]{border-color:#a44332}.field-error{font-size:.8125rem;color:#a44332;line-height:1.5;margin-top:7px}.form-card .button{width:100%;min-height:56px;justify-content:space-between}.privacy-note{font-size:.8125rem;color:var(--muted);margin-top:19px;line-height:1.55}.preview-note{font-size:.8125rem;margin-top:20px;color:#53665c;text-align:center}.signup-detail{margin-top:29px;font-size:.8125rem;color:var(--muted);line-height:1.6}.signup-page .footer{padding-bottom:35px;max-width:500px}.signup-art{display:none}.signup-page .bottom-join{display:none}.confirmation{padding-block:12px}.confirmation .check{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e1f0e7;color:var(--green);margin-bottom:24px}.confirmation h2{font-size:2rem}.confirmation p{margin-top:19px;color:var(--muted);font-size:.9375rem}.confirmation .button{margin-top:28px}.confirmation .confirmation-note{font-size:.8125rem}.reset{margin-top:20px;min-height:44px;background:transparent;border:0;padding:0;color:var(--green);font-size:.8125rem;text-decoration:underline;text-underline-offset:4px}dialog{width:min(650px,calc(100% - 24px));max-height:86dvh;border:0;border-radius:28px;padding:29px;background:var(--paper);color:var(--ink);box-shadow:0 25px 80px #001c2640}dialog::backdrop{background:#071b146b}.dialog-heading{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:22px}.dialog-heading h2{font-size:1.75rem}.close-dialog{min-width:44px;min-height:44px;background:white;border:0;border-radius:50%;font-size:24px}.notes p,.notes li{font-size:.875rem;line-height:1.65;color:var(--muted)}.notes h3{margin:25px 0 11px;font-size:1.0625rem}.notes p+p{margin-top:14px}.notes a{text-decoration:underline;text-underline-offset:3px}.notes .note-status{color:var(--green);font-weight:600}.mobile-break{display:block}
@media(hover:hover) and (pointer:fine){.button:hover,.nav-join:hover{transform:translateY(-2px)}.footer-links a:hover,.footer-links button:hover{text-decoration:underline;text-underline-offset:4px}.gallery-tab:not([aria-selected=true]):hover{background:#e0ebe3}}
@media(min-width:900px){.wrap{width:calc(100% - 72px)}.nav{height:94px}.brand{width:150px}.brand img{width:205px}.hero{margin:0 24px;border-radius:40px;min-height:730px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;padding:65px 7%;gap:30px}.hero-copy{max-width:600px}.hero h1{font-size:clamp(3.5rem,6.2vw,5.5rem);max-width:630px}.hero p{font-size:1.125rem;max-width:420px;margin-top:28px}.hero .button{margin-top:34px}.hero .hero-offer{font-size:.8125rem}.hero-device{width:285px;margin:0 auto -145px;align-self:end;transform:rotate(-7deg)}.hero-device .device{border-radius:43px;border-width:7px}.hero-device .device img{border-radius:35px}.hero-device .device:after{top:15px;height:14px}.intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:70px;padding-top:112px;padding-bottom:45px}.intro h2{font-size:3.2rem;max-width:560px}.intro p{margin-top:0;max-width:420px}.showcase{margin:0 24px;padding-top:30px;border-radius:40px}.gallery-track{max-width:1060px;margin-inline:auto}.gallery-slide{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:45px 55px 0;align-items:center;justify-items:center}.slide-text{text-align:left;max-width:330px;margin-bottom:30px}.slide-text h3{font-size:2.4rem;line-height:1.08}.slide-text p{font-size:1rem;margin:23px 0 0;max-width:340px}.gallery-device{width:295px;height:490px}.gallery-device .device{width:295px;border-radius:39px}.gallery-device .device img{border-radius:33px}.gallery-hint{padding-top:18px;padding-bottom:26px}.course-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-block:120px}.course-section h2{font-size:3.2rem}.course-photo{margin:0;height:400px;border-radius:32px}.beta{margin:0 24px;padding:70px 7%;border-radius:40px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.beta h2{font-size:3.5rem}.beta p{margin-top:0;max-width:450px}.beta .terms{margin-top:18px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-top:110px;padding-bottom:70px}.faq h2{font-size:2.8rem;max-width:300px}.faq details{padding-inline:25px}.faq summary{font-size:1rem;min-height:74px}.footer{padding-bottom:50px}.footer-top p{max-width:none}.footer-links{margin-top:9px}.bottom-join{display:none}.signup-content{max-width:1080px;padding-top:65px;display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:start}.signup-info{padding-top:12px}.signup-content h1{font-size:4.2rem;max-width:430px}.signup-lead{font-size:1.0625rem;margin-top:25px}.offer-note{margin-top:32px}.offer-note strong{font-size:.9375rem}.signup-art{display:block;height:275px;width:100%;border-radius:28px;margin-top:40px;overflow:hidden;background:#dfebe3;position:relative}.signup-art .device{width:180px;position:absolute;top:25px;left:calc(50% - 90px);transform:rotate(-8deg);border-radius:25px}.signup-art .device img{border-radius:19px}.form-card{padding:36px 32px}.signup-detail{margin-top:25px}.signup-page .footer{max-width:1080px;margin-top:50px}.signup-page .footer-top{justify-content:space-between}.signup-page .footer-links{margin-top:12px}.mobile-break{display:none}}
@media(min-width:1200px){.hero{padding-inline:max(7%,calc((100% - 1120px)/2))}.hero-device{width:305px;margin-bottom:-165px}.hero{min-height:745px}.hero-copy{min-width:570px}.gallery-slide{gap:100px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.nav{height:74px}.brand{width:118px}.brand img{width:164px}.nav-join{padding-inline:17px;font-size:.8125rem}.hero{padding:34px 22px 0;min-height:745px;border-radius:27px;margin-inline:10px}.hero h1{font-size:2.5rem}.hero p{font-size:1rem;max-width:270px}.hero-device{width:222px;margin-top:30px}.hero .hero-offer{font-size:.8125rem}.showcase,.beta{margin-inline:10px}.intro{padding-top:62px}.gallery-tabs{width:calc(100% - 28px)}.gallery-device,.gallery-device .device{width:232px}.gallery-device{height:422px}.gallery-slide{padding-inline:17px}.beta{padding-inline:24px}.beta h2{font-size:2.2rem}.bottom-join{left:10px;right:10px;padding-left:17px;gap:10px}.bottom-join .button{padding-inline:17px;font-size:.8125rem}.signup-content h1{font-size:2.85rem}.form-card{padding:25px 19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(prefers-contrast:more){:root{--muted:#284b3b;--line:#648574}.field input{border-color:#42634f}.bottom-join{border-color:#829b8b}}

.bottom-join .button{white-space:nowrap;flex-shrink:0}.bottom-join svg{display:none}

/* On-course showcase, with native DART assets. */
.brand{display:flex;align-items:center;height:44px;overflow:visible}.brand img{position:static;inset:auto;width:100%;height:auto;max-height:40px;object-fit:contain;mix-blend-mode:normal;transform:none}.copyright{font-size:.75rem;color:var(--muted)}
.course-section{padding-block:72px;gap:36px}.course-section .copy p{max-width:370px}.course-caption{font-size:.8125rem!important;margin-top:23px!important;color:var(--green)!important}.course-preview{min-width:0;width:100%;max-width:390px;justify-self:center;margin-inline:auto}.course-tabs{display:flex;padding:4px;background:#e0eae3;border:1px solid #cfddd3;border-radius:99px;max-width:280px;margin:0 auto 22px}.course-tabs button{flex:1;min-height:44px;border:0;background:transparent;border-radius:99px;font:600 .875rem Instrument,sans-serif;color:#52665c;cursor:pointer}.course-tabs button[aria-selected=true]{color:white;background:var(--green)}.course-device{width:100%;border:5px solid #09251e;border-radius:38px;overflow:hidden;background:#dde9df;box-shadow:0 20px 45px #193e2512;aspect-ratio:390/844}.course-device [role=tabpanel]{height:100%;width:100%}.course-device video,.course-device iframe{display:block;width:100%;height:100%;border:0;object-fit:cover}.course-hint{font-size:.8125rem;text-align:center;color:var(--muted);line-height:1.5;margin:19px auto 0;max-width:300px}.demo-label{font-size:.6875rem;text-align:center;color:#5c7064;line-height:1.5;margin:8px auto 0;max-width:280px}.course-section h2{font-size:2.5rem}.course-section .copy>p{margin-top:22px;color:var(--muted)}
@media(min-width:900px){.brand img{width:100%}.course-section{padding-block:110px;gap:100px}.course-section h2{font-size:3.2rem}.course-preview{max-width:325px}.course-device{border-width:6px;border-radius:39px}}
@media(max-width:360px){.brand img{width:100%}.course-section h2{font-size:2.25rem}.course-device{border-radius:32px}.course-tabs{max-width:250px}}

/* The map is the production web app, contained in its own viewport. */
.live-device{position:relative;background:var(--paper)}.live-device iframe{color-scheme:light}.live-status{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:var(--paper);padding:24px;z-index:3}.live-status[hidden]{display:none}.live-status img{width:135px;height:auto;margin:0 auto 25px}.live-status p{font-size:.875rem;color:var(--muted);max-width:230px;margin-inline:auto}.live-status .button{font-size:.8125rem;min-height:44px;margin-top:24px}.live-status .button[hidden]{display:none}

.live-device>[role=tabpanel]{position:absolute;inset:0;width:100%;height:100%}.live-device>[role=tabpanel][hidden]{display:none}.warming-panel{visibility:hidden;pointer-events:none}.live-device video{display:block;width:100%;height:100%;object-fit:cover}.live-status{z-index:1}#watch-panel{z-index:2;background:var(--paper)}

/* Compact phone, with page scrolling protected until interaction is requested. */
.course-device{width:75%;margin-inline:auto;border-radius:29px}.live-device>[role=tabpanel]{z-index:0}.interaction-shield{position:absolute;inset:0;z-index:2;touch-action:pan-y;background:transparent}.interaction-shield[hidden]{display:none}.live-status{z-index:3}.demo-actions{display:flex;justify-content:center;margin-top:18px}.demo-control{font:600 .8125rem Instrument,sans-serif;color:var(--green);border:1px solid var(--line);background:white;border-radius:99px;min-height:44px;padding:10px 20px;cursor:pointer}.demo-control[hidden]{display:none}.course-hint{margin-top:12px}#course-frame{touch-action:pan-y}

/* Scale a fixed app viewport, preserving the app’s own button proportions. */
.course-device.live-device{aspect-ratio:auto}.live-device>#live-panel{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:390/844;overflow:hidden}.app-viewport{position:absolute;top:0;left:0;width:390px;height:844px;transform:scale(var(--app-scale,.6));transform-origin:top left}.course-device .app-viewport iframe{width:390px;height:844px;max-width:none;display:block}

.marketing-choice{display:flex;align-items:flex-start;gap:12px;margin:8px 0 23px;cursor:pointer;font-size:.8125rem;line-height:1.6;color:var(--muted)}.marketing-choice input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--green)}.lead-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#form-error:not(:empty){margin-bottom:18px}.button:disabled{opacity:.65;cursor:wait}
