:root {
    --kbs-ink: #0b1526;
    --kbs-blue: #246bfe;
    --kbs-cyan: #31d8c5;
    --kbs-surface: #f2f6fb;
}

.hero {
    position: relative;
    overflow: hidden;
    padding: 96px 20px 84px;
    color: white;
    text-align: left;
    background: radial-gradient(circle at 82% 22%, rgba(49,216,197,.25), transparent 28%), radial-gradient(circle at 15% 110%, rgba(36,107,254,.38), transparent 38%), linear-gradient(135deg,#07111f 0%,#102544 58%,#0b3a4d 100%);
}
.hero::after {
    content: '';
    position: absolute;
    inset: 0;
    opacity: .18;
    pointer-events: none;
    background-image: linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to bottom,black,transparent 82%);
}
.hero-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0,1.12fr) minmax(310px,.88fr);
    align-items: center;
    gap: 72px;
    max-width: 1160px;
}
.hero-copy { max-width: 680px; }
.hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 24px;
    padding: 8px 13px;
    border: 1px solid rgba(132,245,228,.35);
    border-radius: 999px;
    color: #aaf7ed;
    background: rgba(49,216,197,.1);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.hero-kicker::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--kbs-cyan); box-shadow:0 0 0 5px rgba(49,216,197,.13); }
.hero h1 { max-width:760px; margin-bottom:24px; font-size:clamp(48px,6vw,76px); line-height:.98; letter-spacing:-.045em; }
.hero h1 span { color: var(--kbs-cyan); }
.hero p { max-width:640px; margin-bottom:32px; color:#d8e5f3; font-size:20px; line-height:1.65; opacity:1; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.hero .cta-button, .cta-button-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:14px 25px; border-radius:12px; font-size:16px; font-weight:800; text-decoration:none; transition:transform .2s ease; }
.hero .cta-button { color:#06111f; background:var(--kbs-cyan); box-shadow:0 14px 34px rgba(49,216,197,.2); }
.cta-button-secondary { color:white; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.07); }
.hero .cta-button:hover, .cta-button-secondary:hover { transform:translateY(-2px); }
.hero-note { display:flex; flex-wrap:wrap; gap:18px; margin-top:28px; color:#aebfd2; font-size:13px; }
.hero-note span::before { content:'✓'; margin-right:7px; color:var(--kbs-cyan); font-weight:900; }

.phone-stage { position:relative; display:grid; place-items:center; min-height:360px; }
.phone-glow { position:absolute; width:360px; height:360px; border-radius:50%; background:rgba(49,216,197,.16); filter:blur(18px); }
.phone-mockup { position:relative; width:500px; aspect-ratio:16/9; overflow:hidden; border:8px solid #152238; border-radius:30px; background:#101b28; box-shadow:0 42px 90px rgba(0,0,0,.48),inset 0 0 0 2px rgba(255,255,255,.08); transform:rotate(2deg); }
.phone-camera { position:absolute; z-index:5; top:50%; left:9px; width:15px; height:62px; border-radius:99px; background:#07101c; transform:translateY(-50%); }
.app-screenshot { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.screenshot-location-mask { position:absolute; z-index:4; right:0; bottom:0; left:0; display:flex; align-items:center; justify-content:center; height:20%; color:white; background:linear-gradient(90deg,rgba(5,10,18,.9),rgba(15,27,39,.92)); font-size:16px; font-weight:700; letter-spacing:.01em; }
.screenshot-location-mask::before { content:'●'; margin-right:8px; color:#ef4f42; font-size:13px; }
.road-scene { position:absolute; inset:0; background:linear-gradient(#6c8796 0 42%,#7f8c72 42% 49%,#313b45 49%); }
.road-scene::before { content:''; position:absolute; left:50%; bottom:-30px; width:184px; height:270px; background:#202933; clip-path:polygon(43% 0,57% 0,100% 100%,0 100%); transform:translateX(-50%); }
.road-scene::after { content:''; position:absolute; left:50%; bottom:0; width:5px; height:200px; opacity:.8; background:repeating-linear-gradient(to bottom,white 0 24px,transparent 24px 48px); transform:perspective(150px) rotateX(28deg); }
.camera-hud { position:absolute; z-index:3; inset:16px 17px 14px 28px; color:white; text-shadow:0 2px 8px rgba(0,0,0,.85); }
.kbs-screen-logo { position:absolute; top:0; left:0; padding:5px 8px; border:2px solid rgba(45,173,232,.8); border-radius:8px; color:white; background:rgba(3,20,38,.78); font-size:12px; font-weight:1000; line-height:1; }
.kbs-screen-logo em { color:#24bce8; font-style:normal; }
.camera-status { position:absolute; top:0; right:0; display:flex; align-items:center; gap:10px; padding:6px 10px; border-radius:10px; background:rgba(5,7,12,.78); font-size:10px; font-weight:800; letter-spacing:.03em; }
.recording-dot { padding:3px 8px; border-radius:8px; color:white; background:#e95c54; }
.speed-bubble { position:absolute; top:1px; left:50%; display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:rgba(4,8,13,.85); font-size:27px; font-weight:900; transform:translateX(-50%); }
.status-rail { position:absolute; top:48px; left:0; display:grid; gap:7px; padding:8px 7px; border-radius:11px; color:#21d357; background:rgba(4,8,13,.8); font-size:12px; text-align:center; }
.location-bar { position:absolute; right:-17px; bottom:-14px; left:-28px; padding:10px 20px; background:rgba(6,8,13,.66); font-size:17px; text-align:center; }
.location-bar::before { content:'●'; margin-right:7px; color:#f04d3d; }

.release-section { padding:96px 20px; color:var(--kbs-ink); background:var(--kbs-surface); }
.release-shell { display:grid; grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr); gap:68px; align-items:center; max-width:1100px; margin:0 auto; }
.eyebrow { margin-bottom:14px; color:var(--kbs-blue); font-size:13px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.release-copy h2 { margin-bottom:20px; font-size:clamp(36px,4.5vw,54px); line-height:1.04; letter-spacing:-.035em; }
.release-copy>p { color:#526174; font-size:18px; line-height:1.7; }
.choice-list { display:grid; gap:15px; margin-top:28px; }
.choice-item { display:flex; gap:13px; align-items:flex-start; color:#304055; }
.choice-icon { display:grid; place-items:center; flex:0 0 32px; height:32px; border-radius:10px; color:#0c463f; background:#c9f8f1; font-weight:900; }
.interest-card { padding:36px; border:1px solid #dce5f0; border-radius:24px; background:white; box-shadow:0 24px 70px rgba(28,51,84,.12); }
.interest-card h3 { margin-bottom:8px; font-size:27px; color:var(--kbs-ink); }
.interest-card>p { margin-bottom:23px; color:#667588; }
.interest-form { display:grid; gap:14px; }
.interest-form label { color:#243449; font-size:13px; font-weight:800; }
.interest-form input[type=email] { width:100%; min-height:52px; padding:0 16px; border:1px solid #cbd7e5; border-radius:11px; color:var(--kbs-ink); background:#fbfdff; font:inherit; }
.interest-form input[type=email]:focus { outline:3px solid rgba(36,107,254,.14); border-color:var(--kbs-blue); }
.interest-submit { min-height:54px; border:0; border-radius:11px; color:white; background:var(--kbs-blue); font:inherit; font-weight:900; cursor:pointer; box-shadow:0 12px 26px rgba(36,107,254,.2); }
.interest-submit:disabled { opacity:.65; cursor:wait; }
.form-honeypot { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.concept-message.error { color:#b42318; background:#fef3f2; }
.interest-privacy { color:#758397; font-size:12px; line-height:1.55; }
.or-divider { display:flex; align-items:center; gap:12px; margin:24px 0 18px; color:#8794a5; font-size:12px; }
.or-divider::before,.or-divider::after { content:''; flex:1; height:1px; background:#e1e8f0; }
.tester-link { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 18px; border:1px solid #dce5f0; border-radius:13px; color:var(--kbs-ink); text-decoration:none; background:#f8fafc; }
.tester-link strong,.tester-link small { display:block; }
.tester-link small { color:#68778a; }
.tester-link span { color:var(--kbs-blue); font-size:22px; }
.concept-message { display:none; margin-top:12px; padding:12px; border-radius:10px; color:#16433d; background:#d8faf5; font-size:13px; }
.concept-message.visible { display:block; }

@media(max-width:860px) {
    .hero-content,.release-shell { grid-template-columns:1fr; }
    .hero { padding-top:72px; }
    .hero-copy { text-align:center; margin:0 auto; }
    .hero p { margin-left:auto; margin-right:auto; }
    .hero-actions,.hero-note { justify-content:center; }
    .phone-stage { min-height:340px; }
    .phone-mockup { width:min(500px,88vw); }
    .release-shell { gap:38px; }
}
@media(max-width:560px) {
    .hero h1 { font-size:44px; }
    .hero p { font-size:17px; }
    .hero-actions a { width:100%; }
    .phone-stage { min-height:230px; }
    .phone-mockup { width:310px; border-width:6px; border-radius:22px; }
    .camera-hud { inset:10px 10px 9px 20px; }
    .kbs-screen-logo { font-size:9px; }
    .camera-status { gap:5px; font-size:7px; }
    .speed-bubble { width:38px; height:38px; font-size:19px; }
    .status-rail { top:38px; gap:3px; padding:5px; font-size:8px; }
    .location-bar { right:-10px; bottom:-9px; left:-20px; padding:6px; font-size:11px; }
    .screenshot-location-mask { font-size:11px; }
    .interest-card { padding:25px; }
    .release-section { padding:70px 16px; }
}
