:root{font-family:Arial,Roboto,sans-serif;color:#172126;background:#fff;font-synthesis:none;--teal:#176b78;--deep:#105864;--muted:#68777f;--line:#dde4e7}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0}
a{color:inherit;text-decoration:none}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible{outline:3px solid #a76500;outline-offset:6px}
p{color:var(--muted);font-size:17px;line-height:1.75}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(30px,3.1vw,44px);line-height:1.14;letter-spacing:-1.6px;font-weight:600}
h3{font-size:25px;line-height:1.25;letter-spacing:-.7px}
em{font-style:normal;color:var(--teal)}
.shell{width:min(1180px,calc(100% - 80px));margin-inline:auto}
.header{background:#fffffff5;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.nav{height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:9px}
.brand img{object-fit:contain}
.brand>span{font-size:26px;font-weight:700;letter-spacing:-1.2px}
.brand small{display:block;font-size:9px;letter-spacing:3.7px;margin-top:1px}
.nav nav{display:flex;gap:30px;font-size:13px;color:#43535b}
.nav nav a:hover,.text-link:hover{color:var(--teal);text-decoration:underline;text-underline-offset:5px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:19px 24px;border-radius:7px;background:var(--teal);color:white;font-weight:600;font-size:14px;transition:background .2s,transform .2s}
.button:hover{background:var(--deep);transform:translateY(-2px)}
.button span{font-size:20px}
.button.small{padding:12px 19px;font-size:13px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;display:block;color:var(--teal);line-height:1.6}
.eyebrow i{display:inline-block;width:7px;height:7px;background:var(--teal);border-radius:50%;margin-right:6px}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding-block:70px 65px;align-items:center}
.hero h1{font-size:clamp(44px,4.6vw,65px);font-weight:600;line-height:1.06;letter-spacing:-3px;margin:24px 0}
.hero-copy>p{max-width:475px}
.actions{display:flex;align-items:center;gap:25px;margin-top:30px}
.text-link{font-size:13px;font-weight:600;display:inline-flex;gap:15px;align-items:center;line-height:1.6}
.hero .micro{font-size:11px;margin:20px 0 0}
.journey{margin:0;position:relative;min-height:620px;background:#edf3f3;border-radius:20px;overflow:hidden;padding:25px 27px;background-image:radial-gradient(#b9cecf 1px,transparent 1px);background-size:19px 19px}
.journey-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.7px;color:var(--deep)}
.journey-top>span:last-child{font-size:25px}
.phone{position:relative;width:262px;margin:36px auto 0;border:6px solid #263d42;border-radius:36px;background:#f6f8f9;box-shadow:15px 25px 45px #23424c25;transform:rotate(-5deg);padding:25px 0 14px}
.phone-speaker{position:absolute;top:9px;left:95px;width:60px;height:5px;background:#263d42;border-radius:10px}
.phone-heading{display:flex;align-items:center;gap:8px;padding:7px 15px 15px;border-bottom:1px solid var(--line);font-size:12px;font-weight:bold}
.phone-body{padding:22px 16px 8px}
.phone-body>small{font-size:7px;color:var(--muted);letter-spacing:1px}
.phone h2{font-size:23px;letter-spacing:-.8px;margin:10px 0 19px}
.trip{background:var(--teal);color:white;border-radius:10px;padding:19px 15px}
.trip-label{font-size:7px;letter-spacing:1.2px;display:block;margin-bottom:12px}
.trip strong{font-size:13px}
.trip-progress{display:flex;justify-content:space-between;position:relative;margin:22px 0 8px;border-top:2px solid #9bc6cb}
.trip-progress span{width:8px;height:8px;background:white;border-radius:50%;margin-top:-5px}
.trip-stops{display:flex;justify-content:space-between;font-size:8px}
.student{display:flex;gap:8px;align-items:center;background:white;border:1px solid var(--line);padding:12px 8px;border-radius:8px;margin-top:12px}
.student strong{font-size:8px;display:block}
.student small{font-size:7px;color:var(--muted);display:block;margin-top:5px}
.avatar{background:#e7efef;color:var(--teal);font-size:11px;padding:9px;border-radius:50%}
.check{display:inline-grid;place-items:center;color:#2e7d4f;background:#eaf5ee;width:28px;height:28px;border-radius:50%;font-size:13px}
.student .check{margin-left:auto;width:18px;height:18px;font-size:9px}
.notice{display:flex;align-items:center;gap:10px;margin-top:17px}
.notice>span{color:var(--teal);font-size:22px}
.notice p{font-size:8px;line-height:1.6;margin:0}
.phone-bottom{height:4px;width:70px;background:#c4cecf;border-radius:4px;margin:15px auto 0}
.floating-note{position:absolute;right:15px;bottom:103px;display:flex;align-items:center;gap:12px;background:white;border:1px solid #dde4e7;border-radius:10px;padding:16px 20px;box-shadow:0 10px 30px #23424c15;font-size:11px;line-height:1.7;transform:rotate(3deg)}
.journey-line{position:absolute;inset:100px 35px 72px;border:2px dashed #83aaaf;border-radius:120px 100px 80px 80px;transform:rotate(-15deg)}
.route-start,.route-end{position:absolute;font-size:10px;color:var(--deep);display:flex;align-items:center;gap:7px;background:#edf3f3;padding:5px}
.route-start{left:17px;top:101px}
.route-end{right:35px;bottom:54px}
.route-dot{width:10px;height:10px;border:3px solid var(--teal);border-radius:50%;background:white}
.journey figcaption{position:absolute;bottom:19px;left:0;width:100%;text-align:center;font-size:10px;color:#516971}
.promise-bar{border-block:1px solid var(--line);background:#f6f8f9}
.promise-bar .shell{padding-block:26px;display:flex;justify-content:space-between;gap:20px;font-size:13px}
.promise-bar span{color:var(--muted)}
.promise-bar strong{font-weight:500}
.promise-bar b{font-weight:400;color:#94a7ad;margin:0 30px}
.section{padding-block:95px}
.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:40px}
.section h2,.how h2{margin-top:17px;margin-bottom:20px}
.section-heading p{max-width:370px;font-size:15px}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.benefits article{padding:30px;background:#f6f8f9;border:1px solid #e8eeef;border-radius:10px}
.number{font-size:9px;letter-spacing:1.3px;color:var(--teal)}
.benefits h3{margin:30px 0 15px}
.benefits p{font-size:14px;margin-bottom:30px}
.card-foot{font-size:11px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;color:var(--deep)}
.how-section{background:#eef4f4}
.how{padding-block:85px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.how p{font-size:15px}
.how .text-link{margin-top:10px;color:var(--deep)}
.steps{list-style:none;padding:0;margin:0}
.steps li{display:flex;gap:24px;padding:25px 0;border-bottom:1px solid #d4e0e1}
.steps li:last-child{border:0}
.steps li>span{font-size:11px;color:var(--teal);padding-top:6px}
.steps h3{font-size:20px;margin-bottom:8px}
.steps p{margin:0;font-size:14px}
.privacy{display:flex;gap:65px;align-items:center;border-bottom:1px solid var(--line)}
.privacy-mark{flex:none;width:150px;height:166px;display:grid;place-items:center;background:#eef4f4;color:var(--teal);font-size:65px;border-radius:60px 60px 80px 80px}
.privacy>div:last-child{max-width:760px}
.privacy p{font-size:15px}
.privacy .text-link{color:var(--deep)}
.launch{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}
.launch>div>p{font-size:15px;max-width:520px}
.launch-card{padding:35px;border:1px solid var(--line);border-radius:12px}
.status{font-size:9px;letter-spacing:1px;color:#895300;background:#fff3dd;padding:8px 10px;border-radius:4px;display:inline-block}
.launch-card h3{margin-top:25px}
.launch-card p{font-size:14px!important}
.launch-card .button{display:flex}
.launch-card small{display:block;text-align:center;color:var(--muted);font-size:10px;margin-top:15px}
.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.7fr;gap:70px;padding-top:75px}
.questions details{border-bottom:1px solid var(--line);padding:22px 0}
.questions details:first-child{padding-top:0}
.questions summary{font-size:16px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;line-height:1.5}
.questions summary::-webkit-details-marker{display:none}
.questions summary::after{content:'+';color:var(--teal);font-size:22px}
.questions details[open] summary::after{content:'−'}
.questions p{font-size:14px;margin:16px 30px 0 0}
.contact-section{background:var(--deep);color:white}
.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;padding-block:70px;align-items:center}
.contact .eyebrow{color:#b9d9dc;font-size:9px}
.contact h2{margin:20px 0}
.contact p{font-size:15px;color:#c5dee1;margin:0}
.contact-actions{display:flex;flex-direction:column;gap:20px;align-items:stretch}
.button.light{background:#fff;color:var(--deep)}
.button.light:hover{background:#e5f0f1}
.email{font-size:14px;display:flex;justify-content:space-between;border-bottom:1px solid #598991;padding:0 0 15px;overflow-wrap:anywhere}
.contact-actions small{color:#c5dee1;font-size:10px}
.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:30px}
.footer .brand>span{font-size:22px}
.footer .brand small{font-size:8px}
.footer>span,.footer>a:not(.brand),.footer>small{font-size:10px;color:var(--muted)}
.skip{position:fixed;top:-100px;left:16px;z-index:50;background:white;padding:15px}
.skip:focus{top:10px}
@media(min-width:1450px){.hero{padding-block:85px}
.hero h1{font-size:66px}
}
@media(max-width:1000px){.shell{width:calc(100% - 48px)}
.nav nav{gap:16px;font-size:11px}
.hero{gap:30px}
.hero h1{font-size:49px}
.journey{min-height:620px;padding-inline:15px}
.actions{gap:16px;flex-wrap:wrap}
.benefits article{padding:23px}
.how,.launch{gap:45px}
.section-heading{gap:35px}
.contact{gap:40px}
.floating-note{right:8px;padding:12px}
.footer>span{display:none}
}
@media(max-width:720px){html{scroll-padding-top:90px}
.shell{width:calc(100% - 40px)}
.nav{height:76px;gap:12px}
.nav nav{display:none}
.brand>span{font-size:23px}
.brand img{width:38px;height:38px}
.button.small{font-size:12px;padding:10px 14px}
.hero{grid-template-columns:1fr;padding-block:40px;gap:35px}
.hero h1{font-size:clamp(43px,9vw,60px);letter-spacing:-2px}
.hero-copy>p{font-size:16px}
.hero .micro{font-size:10px}
.journey{min-height:590px;max-width:460px;width:100%;justify-self:center}
.phone{margin-top:25px}
.floating-note{right:13px;bottom:87px}
.route-end{bottom:45px}
.promise-bar .shell{flex-direction:column;gap:15px;font-size:12px}
.promise-bar b{margin:0 16px}
.section{padding-block:58px}
.section-heading{display:block;margin-bottom:28px}
.section-heading p{max-width:none}
.benefits{grid-template-columns:1fr;gap:14px}
.benefits article{padding:25px}
.benefits h3{margin-top:20px}
.benefits h3 br{display:none}
.benefits p{margin-bottom:22px}
.how{grid-template-columns:1fr;padding-block:58px;gap:20px}
.privacy{gap:25px;align-items:start}
.privacy-mark{width:45px;height:55px;border-radius:18px 18px 25px 25px;font-size:25px}
.privacy h2{font-size:28px;letter-spacing:-1px}
.privacy h2 br{display:none}
.privacy .eyebrow{font-size:8px}
.launch{grid-template-columns:1fr;gap:20px}
.launch-card{padding:25px}
.faq{grid-template-columns:1fr;gap:20px}
.faq h2 br{display:none}
.questions summary{font-size:15px}
.contact{grid-template-columns:1fr;gap:30px;padding-block:55px}
.contact h2{font-size:36px}
.footer{flex-wrap:wrap;gap:22px}
.footer>small{width:100%;border-top:1px solid var(--line);padding-top:20px}
.footer>a:not(.brand){margin-left:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.button{transition:none}
}


/* Accessible enhancements and guided product example. */
[hidden] { display: none !important; }
button, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, select:focus-visible { outline: 3px solid #a76500; outline-offset: 4px; }
button:disabled { cursor: default; opacity: .5; transform: none; }
.button { border: 0; min-height: 48px; }
.eyebrow { font-size: 12px; letter-spacing: 1.2px; }
.hero h1 { font-size: clamp(40px, 4.1vw, 59px); letter-spacing: -2.3px; }
.hero .micro, .card-foot, .launch-card small, .contact-actions small, .footer>span, .footer>a:not(.brand), .footer>small { font-size: 13px; line-height: 1.65; }
.hero .micro { margin-top: 22px; }
.hero { padding-block: 54px; gap: 38px; }
.hero-copy strong { color: #354850; }
.hero .actions { gap: 20px; }
.section { padding-block: 65px; }
.section-heading { align-items: start; gap: 45px; }
.section-heading h2 { max-width: 660px; }
.section-heading p { min-width: 240px; }
.benefits p, .privacy p, .launch-card p, .launch>div>p, .questions p { font-size: 16px !important; }
.number { font-size: 12px; line-height: 1.5; }
.card-foot { color: #105864; }
.text-link { font-size: 15px; }
.journey figcaption { font-size: 12px; padding-inline: 20px; bottom: 15px; }
.journey { min-height: 610px; }
.status { font-size: 12px; line-height: 1.5; }
.problems { border-bottom: 1px solid var(--line); }
.problems h2 { margin-top: 18px; }
.problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; margin-top: 35px; }
.problem-grid article>span { display: block; color: var(--teal); font-size: 20px; margin-bottom: 20px; }
.problem-grid h3 { font-size: 21px; }
.problem-grid p { font-size: 16px; margin-bottom: 0; }
.example-section { background: #eef4f4; }
.profile-picker { display: grid; grid-template-columns: auto minmax(190px, 260px) 1fr; align-items: center; gap: 18px; margin-bottom: 28px; }
.profile-picker label { font-size: 15px; font-weight: bold; }
.profile-picker select { min-height: 48px; padding: 10px 35px 10px 14px; border: 1px solid #96aeb3; border-radius: 6px; color: #172126; background: white; width: 100%; }
.profile-picker p { font-size: 14px; margin: 0; line-height: 1.5; }
.example-steps { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.example-steps li { display: flex; gap: 20px; padding: 25px; background: white; border-radius: 10px; }
.example-steps li>span { color: var(--teal); }
.example-steps h3 { font-size: 22px; }
.example-steps p { margin: 0; font-size: 16px; }
.guided-example { display: grid; grid-template-columns: .8fr 1.5fr; background: white; border: 1px solid #cfdddd; border-radius: 14px; overflow: hidden; }
.example-context { background: var(--deep); color: white; padding: 32px; }
.example-context .status { color: white; background: #ffffff18; }
.example-context p { color: #d1e6e8; font-size: 15px; margin-top: 24px; }
.example-counter { margin-top: 22px; font-size: 22px; color: #a9c9ce; }
.example-counter span:first-child { font-size: 70px; color: white; letter-spacing: -3px; }
.example-detail { padding: 32px; min-height: 310px; }
.example-detail h3 { font-size: 30px; margin-bottom: 14px; }
.example-detail>p:not(.eyebrow) { font-size: 16px; }
.example-result { border-top: 1px solid var(--line); padding-top: 18px; }
.example-result>span { font-size: 12px; color: var(--teal); font-weight: bold; letter-spacing: 1px; }
.example-result p { font-size: 16px; color: #354850; margin: 8px 0 0; }
.example-controls { grid-column: 1/-1; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 20px 30px; border-top: 1px solid var(--line); }
.secondary-button, .plain-button { color: var(--deep); padding: 12px 17px; min-height: 48px; border-radius: 6px; background: white; border: 1px solid var(--line); }
.plain-button { border-color: transparent; text-decoration: underline; text-underline-offset: 4px; }
.example-note { font-size: 14px; margin: 18px 0 0; }
.menu-toggle { display: none; }
.copy-button { align-self: flex-start; background: transparent; color: white; border: 1px solid #a5c5ca; border-radius: 6px; min-height: 44px; padding: 9px 15px; }
.contact .contact-feedback { font-size: 14px; line-height: 1.5; color: #d1e6e8; }
.contact-feedback:empty { display: none; }
.contact .eyebrow { font-size: 12px; }
.email { font-size: 16px; }
@media (max-width: 1000px) {
  .nav nav { gap: 14px; font-size: 12px; }
  .hero { gap: 24px; }
  .hero h1 { font-size: 43px; }
  .profile-picker { grid-template-columns: 1fr 1fr; }
  .profile-picker p { grid-column: 1/-1; }
}
@media (max-width: 720px) {
  html { scroll-padding-top: 95px; }
  .nav { flex-wrap: wrap; height: auto; min-height: 76px; padding-block: 12px; gap: 10px; }
  .nav .brand>span { font-size: 20px; }
  .nav .brand img { width: 33px; height: 33px; }
  .nav .button.small { font-size: 12px; padding: 10px; min-height: 44px; gap: 6px; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; background: white; color: var(--deep); border: 1px solid var(--line); border-radius: 6px; min-height: 44px; padding: 9px; font-size: 13px; }
  .nav nav { order: 4; width: 100%; display: flex; flex-wrap: wrap; gap: 0; padding-top: 8px; border-top: 1px solid var(--line); }
  .nav nav a { padding: 14px 8px; font-size: 14px; }
  .menu-enhanced .nav nav { display: none; }
  .menu-enhanced .nav nav.is-open { display: flex; }
  .hero { padding-block: 32px; gap: 28px; }
  .hero h1 { font-size: clamp(35px, 8.5vw, 49px); letter-spacing: -1.7px; }
  .hero .micro { font-size: 13px; }
  .eyebrow, .privacy .eyebrow { font-size: 12px; }
  .journey { min-height: 550px; }
  .journey .phone { transform: rotate(-4deg) scale(.86); transform-origin: top center; margin-top: 20px; }
  .floating-note { bottom: 76px; }
  .route-end { bottom: 58px; }
  .journey figcaption { bottom: 15px; }
  .section { padding-block: 45px; }
  .section-heading p { min-width: 0; }
  .problem-grid { grid-template-columns: 1fr; gap: 25px; }
  .problem-grid article { border-left: 2px solid #c4dadc; padding-left: 20px; }
  .problem-grid article>span { margin-bottom: 12px; }
  .problem-grid h3 { margin-bottom: 10px; }
  .profile-picker { grid-template-columns: 1fr; gap: 10px; }
  .example-steps, .guided-example { grid-template-columns: 1fr; }
  .example-context { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 20px; gap: 10px; }
  .example-context p { width: 100%; order: 3; margin: 0; font-size: 14px; }
  .example-counter { margin: 0; font-size: 16px; }
  .example-counter span:first-child { font-size: 34px; letter-spacing: -1px; }
  .example-detail { padding: 22px; min-height: 340px; }
  .example-detail h3 { font-size: 26px; }
  .example-controls { padding: 15px 12px; gap: 4px; }
  .example-controls button { padding: 12px 9px; font-size: 13px; }
  .privacy { gap: 16px; }
  .privacy-mark { display: none; }
  .contact-actions { gap: 16px; }
  .contact h2 { font-size: 32px; }
}
@media (max-width: 360px) {
  .shell { width: calc(100% - 28px); }
  .nav .button.small span { display: none; }
  .nav .brand { gap: 3px; }
  .nav .brand small { letter-spacing: 2px; }
  .nav .brand img { width: 28px; height: 28px; }
}
@media (min-width: 721px) {
  .journey .phone { transform: rotate(-5deg) scale(.94); transform-origin: top center; }
}
/* Business fit, scope and assisted onboarding. */
.fit-grid, .scope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.fit-grid article { padding: 28px; border: 1px solid var(--line); border-radius: 12px; }
.fit-grid h3 { margin: 20px 0 14px; }
.fit-grid p, .private-transport p, .scope-intro, .scope-boundary, .start-steps p { font-size: 16px; }
.private-transport { display: flex; align-items: center; gap: 35px; background: #eef4f4; padding: 28px; border-radius: 12px; margin-top: 24px; }
.private-transport>div { flex: 1; }
.private-transport h3 { font-size: 23px; margin-bottom: 12px; }
.private-transport .button { flex-shrink: 0; }
.private-transport .fit-note { font-size: 14px; color: #105864; margin-bottom: 0; }
.scope-section { background: #f6f8f9; }
.scope-intro { max-width: 750px; }
.scope-grid { margin-top: 28px; }
.scope-grid article { padding: 25px; background: white; border: 1px solid var(--line); border-radius: 10px; }
.scope-grid h3 { font-size: 23px; }
.scope-grid ul { padding-left: 22px; margin-bottom: 0; }
.scope-grid li { color: #43565f; font-size: 16px; line-height: 1.65; padding-left: 4px; margin-top: 10px; }
.scope-grid li::marker { color: #176b78; }
.scope-boundary { border-top: 1px solid var(--line); padding-top: 22px; margin: 25px 0 0; }
.start-steps { list-style: none; display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; padding: 0; margin: 30px 0; }
.start-steps li { border-top: 2px solid #c4dadc; padding-top: 22px; }
.start-steps li>span { color: #176b78; font-size: 16px; }
.start-steps h3 { margin: 16px 0 12px; font-size: 22px; }
.start-bottom { display: flex; align-items: center; justify-content: space-between; gap: 25px; background: #eef4f4; padding: 22px; border-radius: 10px; }
.start-bottom p { margin: 0; font-size: 15px; }
@media (max-width: 720px) {
 .fit-grid, .scope-grid, .start-steps { grid-template-columns: 1fr; gap: 18px; }
 .private-transport, .start-bottom { flex-direction: column; align-items: stretch; gap: 20px; padding: 22px; }
 .fit-grid article, .scope-grid article { padding: 22px; }
 .start-steps p { margin-bottom: 0; }
}
