:root{--red:#d81e2c;--red-d:#b8101e;--ink:#1d1d1f;--mute:#6e6e73;--soft:#f5f5f7;--line:#e8e8ed;--line2:#d2d2d7}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.4}
a{color:inherit;text-decoration:none}
img{max-width:100%}
input,select,textarea,button{font-family:inherit}
.wrap{max-width:1100px;margin:0 auto}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}

/* nav */
header.site{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}
header.site .wrap{padding:14px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px}
header.site .logo img{height:30px;width:auto;display:block}
nav.main{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px}
.navlink{color:#424245;font-size:14px;padding:8px 14px;border-radius:980px;transition:background .2s,color .2s;display:inline-block}
.navlink:hover,details[open]>summary.navlink{background:var(--soft);color:var(--ink)}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
.menu{position:relative}
.menu .pop{position:absolute;right:0;top:calc(100% + 8px);width:300px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.12);padding:8px;z-index:30}
.menuitem{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:12px;transition:background .2s}
.menuitem:hover{background:var(--soft)}
.menuitem b{font-size:15px}
.menuitem span{font-size:13px;line-height:1.4;color:var(--mute)}
.btn{display:inline-block;border:none;cursor:pointer;font-weight:600;border-radius:980px;text-align:center;transition:background .2s}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-d)}
.btn-soft{background:var(--soft);color:var(--ink)}
.btn-soft:hover{background:var(--line)}
.btn-sm{font-size:14px;padding:9px 18px;margin-left:8px}
.btn-lg{font-size:17px;padding:14px 28px}

/* type */
h1,h2{margin:0;letter-spacing:-.03em;font-weight:700}
h1{font-size:clamp(42px,7.4vw,84px);line-height:1.04;letter-spacing:-.035em}
h2{font-size:clamp(32px,4.6vw,52px);line-height:1.08}
.lead{font-size:20px;line-height:1.45;color:var(--mute);margin:0}
.eyebrow{font-size:15px;font-weight:600;color:var(--red)}
section{padding:0 24px}

/* hero */
.hero{padding:96px 24px 72px;text-align:center}
.hero .in{max-width:880px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:22px}
.hero p{margin:0;max-width:640px;font-size:clamp(18px,2.2vw,24px);line-height:1.4;color:var(--mute)}
.hero .cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px}

/* app showcase */
.showcase{padding:0 24px 96px}
.showcase .box{max-width:1100px;margin:0 auto;background:var(--soft);border-radius:36px;min-height:560px;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:flex-start;padding-top:56px}
.showcase .copy{position:absolute;left:48px;top:64px;max-width:300px;display:flex;flex-direction:column;gap:10px}
.showcase .copy .k{font-size:14px;font-weight:600;color:var(--red)}
.showcase .copy .t{font-size:clamp(26px,3vw,38px);line-height:1.12;letter-spacing:-.025em;font-weight:700}
.phone{width:290px;height:560px;background:#1d1d1f;border-radius:46px;padding:10px;box-shadow:0 30px 60px rgba(0,0,0,.18);flex:none}
.phone.dark{background:#2c2c2e;border:1px solid #48484a;box-shadow:none}
.screen{background:#fff;border-radius:38px;height:100%;padding:40px 16px 16px;display:flex;flex-direction:column;gap:10px;overflow:hidden;color:var(--ink)}
.row{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pill{font-size:10px;font-weight:700;padding:3px 9px;border-radius:980px;background:var(--line);color:var(--ink)}
.pill.red{background:var(--red);color:#fff}
.mini{background:var(--soft);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px}
.mini.top{border-top:3px solid var(--red)}
@media (max-width:860px){.showcase .copy{position:static;max-width:none;padding:0 28px 28px}.showcase .box{flex-direction:column;align-items:center;padding-top:40px}}

/* cards */
.why{padding:24px 24px 104px}
.why .wrap{display:flex;flex-direction:column;gap:48px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.card{background:var(--soft);border-radius:28px;padding:34px 28px;display:flex;flex-direction:column;gap:14px;min-height:250px}
.card b{font-size:23px;letter-spacing:-.02em}
.card span{font-size:16px;line-height:1.5;color:var(--mute)}

/* track */
.track{background:#000;color:var(--soft);padding:104px 24px}
.track .wrap{display:flex;flex-direction:column;align-items:center;gap:64px}
.track h2{color:#fff}
.track .lead{color:#a1a1a6;max-width:560px}
.trackform{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;margin-top:12px}
.trackform input{flex:1 1 320px;min-width:0;background:#1d1d1f;border:1px solid #424245;color:#fff;font-size:17px;padding:15px 20px;border-radius:14px;outline:none}
.trackform input:focus{border-color:var(--red)}
.trackform button{background:var(--red);color:#fff;border:none;font-size:17px;font-weight:600;padding:15px 30px;border-radius:14px;cursor:pointer;min-height:50px}
.trackform button:hover{background:var(--red-d)}
.msg{font-size:15px;min-height:22px;margin-top:4px}
.msg.err{color:#ff6b6b}
.steps2{display:flex;flex-wrap:wrap;justify-content:center;gap:56px 72px;width:100%}
.step{display:flex;flex-direction:column;align-items:center;gap:24px;max-width:290px}
.step .cap{text-align:center;display:flex;flex-direction:column;gap:6px}
.step .cap .n{font-size:13px;font-weight:600;color:var(--red)}
.step .cap b{font-size:20px;color:#fff;letter-spacing:-.015em}
.step .cap span{font-size:15px;line-height:1.5;color:#a1a1a6}
.field{background:#fff;border:1px solid var(--line2);border-radius:8px;padding:8px 10px;font-size:11px}

/* drive */
.drive{padding:104px 24px}
.drive .wrap{display:flex;flex-direction:column;gap:56px}
.steps4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.s4{border-top:2px solid var(--ink);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.s4.red{border-color:var(--red)}
.s4 .n{font-size:14px;font-weight:600;color:var(--mute)}
.s4.red .n{color:var(--red)}
.s4 b{font-size:24px;letter-spacing:-.02em}
.s4 span{font-size:16px;line-height:1.5;color:var(--mute)}

/* forms */
.quote{padding:0 24px 104px}
.quote .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:56px;align-items:start}
.formbox{display:flex;flex-direction:column;gap:14px;background:var(--soft);border-radius:28px;padding:32px}
.formbox.big{border-radius:32px;padding:40px 36px;gap:18px}
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
label.f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#424245}
label.f input,label.f select,label.f textarea{font-size:17px;padding:14px 16px;border:1px solid var(--line2);border-radius:12px;background:#fff;outline:none;color:var(--ink);width:100%}
label.f input:focus,label.f select:focus,label.f textarea:focus,details.ex:focus-within{border-color:var(--red)}
details.ex{background:#fff;border:1px solid var(--line2);border-radius:12px}
details.ex summary{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:17px;font-weight:500}
details.ex[open] .chev{transform:rotate(180deg)}
.exgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 12px;padding:4px 16px 12px;border-top:1px solid var(--line)}
.exgrid label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:16px}
.exgrid input{width:20px;height:20px;accent-color:var(--red)}
.submit{background:var(--red);color:#fff;border:none;font-size:17px;font-weight:600;padding:15px;border-radius:12px;cursor:pointer;margin-top:4px}
.submit:hover{background:var(--red-d)}
.submit:disabled{opacity:.6;cursor:wait}
.fine{font-size:13px;line-height:1.5;color:var(--mute);text-align:center}
.alert{border-radius:12px;padding:12px 14px;font-size:15px;line-height:1.4}
.alert.err{background:#fdecee;color:#9b111e}
.done{background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:10px;text-align:center}
.done .num{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--red)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.contactlines{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:17px}
.sample{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;max-width:380px;box-shadow:0 14px 34px rgba(0,0,0,.07)}
.sample .hd{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:2px solid var(--red)}
.sample .hd img{height:20px}
.sample .ln{display:flex;justify-content:space-between;margin-top:8px;font-size:12px}
.sample .ln span:first-child{color:var(--mute)}

/* contact */
.contact{padding:0 24px 104px}
.contact .wrap{max-width:900px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:36px}
.icons{display:flex;flex-wrap:wrap;justify-content:center;gap:28px 32px}
.icons a{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#424245}
.ico{width:56px;height:56px;border-radius:50%;background:var(--soft);color:var(--ink);display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,transform .2s}
.icons a:hover .ico{background:var(--red);color:#fff;transform:translateY(-3px)}

footer.site{background:var(--soft);padding:40px 24px}
footer.site .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px 40px;font-size:13px;line-height:1.6;color:var(--mute)}
footer.site a{text-decoration:underline}

/* apply */
.apply{padding:72px 24px 104px}
.apply .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:64px;align-items:start}
.apply h1{font-size:clamp(38px,5.6vw,64px);line-height:1.05}
.list4{display:flex;flex-direction:column;gap:18px;margin-top:16px}
.li{display:flex;gap:16px;align-items:flex-start}
.dot{width:32px;height:32px;border-radius:50%;background:var(--soft);color:var(--mute);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.dot.on{background:var(--red);color:#fff}
.li b{font-size:17px;display:block}
.li span{font-size:15px;color:var(--mute);line-height:1.5}
.bar{display:flex;gap:6px}
.bar i{flex:1;height:4px;border-radius:2px;background:var(--line2)}
.bar i.on{background:var(--red)}
.next{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:24px}

.page{max-width:760px;margin:0 auto;padding:72px 24px 104px}
.page h1{font-size:clamp(34px,5vw,52px);margin-bottom:16px}
.page h2{font-size:24px;margin:32px 0 8px}
.page p,.page li{font-size:17px;line-height:1.6;color:#424245}

@keyframes rv{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()){.reveal{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 55%}}
.lift{transition:transform .3s ease,box-shadow .3s ease}
.lift:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* hero track box */
.herotrack{width:100%;max-width:640px;background:#fff;border:1px solid var(--line2);border-radius:22px;padding:18px 18px 14px;box-shadow:0 14px 40px rgba(0,0,0,.08);text-align:left;display:flex;flex-direction:column;gap:10px}
.herotrack label{font-size:15px;font-weight:700;color:var(--red)}
.herotrack .row{display:flex;flex-wrap:wrap;gap:10px}
.herotrack input{flex:1 1 240px;min-width:0;font-size:18px;padding:16px 18px;border:2px solid var(--line2);border-radius:14px;outline:none}
.herotrack input:focus{border-color:var(--red)}
.herotrack button{background:var(--red);color:#fff;border:none;font-size:18px;font-weight:700;padding:16px 32px;border-radius:14px;cursor:pointer}
.herotrack button:hover{background:var(--red-d)}
.herotrack .msg{color:var(--red);font-size:14px;min-height:0}
.herotrack .msg:empty{display:none}
.herotrack .helplink{font-size:14px;color:var(--mute);text-decoration:underline}
