/* Voice: a real assistant, presented on the hardware it belongs to. */
.voice-hero { position:relative; isolation:isolate; overflow:hidden; min-height:100svh; display:flex; flex-direction:column; padding:calc(var(--nav-h) + clamp(24px,4svh,44px)) 0 0; background:#080f18; color:#b8c7d7; }
.voice-hero .wrap, .voice-everyday .wrap, .voice-ultra .wrap { --wrap:1360px; }
.voice-aura { position:absolute; z-index:-1; inset:-8%; background:radial-gradient(ellipse at 75% 35%,#123452 0,transparent 53%),radial-gradient(ellipse at 10% 90%,#0b263b 0,transparent 55%); }
.voice-hero-grid { display:grid; grid-template-columns:1.18fr 1fr; align-items:center; gap:60px; position:relative; z-index:2; flex:1; }
.voice-eyebrow { font-size:.76rem; text-transform:uppercase; letter-spacing:.16em; font-weight:600; margin-bottom:24px; color:var(--deep); }
.voice-hero .voice-eyebrow, .voice-ultra .voice-eyebrow { color:#85d5ef; }
.voice-intro { padding-bottom:32px; }
.voice-intro h1 { font-size:clamp(3.2rem,6.8vw,6.2rem); color:#f5f9fd; max-width:10ch; line-height:1.02; letter-spacing:-.05em; }
.voice-intro .accent { background-image:linear-gradient(110deg,#c4eef0 4%,#6cd8f3 50%,#329fda 100%); }
.voice-intro .lede { color:#bdcbd9; margin-top:28px; max-width:42ch; font-size:clamp(1.1rem,1.5vw,1.25rem); }
.voice-local { display:flex; align-items:center; gap:10px; color:#a6e7d5; font-size:.83rem; margin:28px 0 32px; }
.voice-local svg { width:20px; height:20px; flex-shrink:0; }
.voice-intro .btn { font-size:.9rem; white-space:normal; text-align:center; }
.voice-portrait { position:relative; justify-self:center; width:clamp(220px,calc((100svh - 310px) * .46),355px); margin:0; }
.voice-capture { position:relative; display:block; border-radius:43px; border:5px solid #28323e; box-shadow:0 0 0 1px #73818b55,0 35px 100px #0009; overflow:hidden; background:#080d12; transition:border-color .25s; }
.voice-capture:hover { border-color:#566976; }
.voice-capture img { width:100%; height:auto; }
.voice-phone-halo { position:absolute; inset:14% -30%; border:1px solid #66cbe626; border-radius:50%; transform:rotate(-22deg); box-shadow:0 0 120px #39b0e01c,inset 0 0 70px #39b0e012; }
.voice-phone-halo::after { content:""; position:absolute; inset:-35px; border:1px solid #66cbe612; border-radius:50%; }
.voice-portrait figcaption { font-size:.7rem; text-align:center; margin-top:18px; color:#9aaebe; line-height:1.5; }
.voice-wave { display:flex; align-items:center; justify-content:space-between; gap:8px; position:absolute; height:120px; width:100%; bottom:90px; z-index:0; opacity:.36; pointer-events:none; mask-image:linear-gradient(to right,transparent,#000 20%,#000 80%,transparent); }
.voice-wave span { height:var(--bar); flex:1; max-width:7px; min-width:2px; border-radius:9px; background:linear-gradient(#74e3f5,#1e9cd7); opacity:var(--fade); transform-origin:center; }
.voice-principles { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin-top:28px; padding-block:22px 26px; border-top:1px solid #ffffff1c; }
.voice-principles>div { display:flex; gap:18px; font-size:.84rem; }
.voice-principles>div>span { font-family:var(--mono); font-size:.7rem; color:#6eb6d8; padding-top:4px; }
.voice-principles strong { display:block; color:#eef6fc; font-size:.95rem; margin-bottom:3px; }
.voice-section-head { max-width:760px; margin:0 auto 52px; text-align:center; }
.voice-section-head p:last-child { margin:24px auto 0; }
.voice-moments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.voice-moment { display:flex; flex-direction:column; align-items:flex-start; padding:32px; border:1px solid #e1e7ee; border-radius:24px; background:linear-gradient(135deg,#fff,#f3f6f9); transition:box-shadow .25s,border-color .25s; }
.voice-moment:hover { border-color:color-mix(in srgb,var(--moment) 40%,#e1e7ee); box-shadow:0 12px 36px #13384c0c; }
.voice-moment-icon { color:var(--moment); padding:12px; border-radius:15px; background:color-mix(in srgb,var(--moment) 9%,white); margin-bottom:30px; }
.voice-moment-icon svg { width:27px; height:27px; }
.voice-moment h3 { font-size:1.4rem; margin-bottom:12px; }
.voice-moment>p { font-size:.93rem; margin-bottom:26px; }
.voice-moment blockquote { margin-top:auto; padding-top:22px; border-top:1px solid #dfe5ec; width:100%; font-family:var(--display); font-size:1.1rem; line-height:1.45; color:var(--moment); }
.voice-ultra { background:#0a111c; color:#adbed0; overflow:hidden; padding:100px 0; }
.voice-ultra-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:65px; }
.voice-device { position:relative; isolation:isolate; min-width:0; }
.voice-hub { width:100%; aspect-ratio:4/5; object-fit:cover; position:relative; border-radius:28px; }
.voice-device-orbit { position:absolute; z-index:-1; inset:-4%; border:1px solid #70d9ee35; border-radius:50%; background:radial-gradient(ellipse,#19557277,transparent 69%); box-shadow:0 0 90px #2a97c51a; }
.voice-device-orbit::after { content:""; position:absolute; inset:12%; border:1px dashed #70d9ee30; border-radius:50%; }
.voice-device-label { position:absolute; bottom:6%; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:10px; white-space:nowrap; font-size:.8rem; color:#a8e0e8; }
.voice-device-label svg { width:20px; height:20px; }
.voice-ultra h2 { color:#f0f6fb; max-width:15ch; }
.voice-ultra .lede { color:#c5d4e1; margin-top:24px; }
.voice-ultra-copy>p:not(.voice-eyebrow):last-of-type { margin-top:18px; font-size:.95rem; }
.voice-editions { margin-top:30px; padding-top:24px; border-top:1px solid #ffffff20; font-size:.83rem; }
.voice-editions .link { display:inline-block; margin-top:16px; color:#a8e0e8; border-color:#3f647a; }
.voice-home-photo { position:relative; overflow:hidden; border-radius:28px; }
.voice-home-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.voice-home-photo>span { position:absolute; inset:auto 0 0; padding:80px 30px 30px; background:linear-gradient(transparent,#050b16bb); color:white; font-family:var(--display); font-size:1.5rem; line-height:1.2; }
.voice-private .split { gap:80px; }
.voice-promises { margin-top:32px; }
.voice-promises>div { display:flex; gap:18px; padding:24px 0; border-top:1px solid var(--line); }
.voice-promises svg { width:24px; height:24px; flex-shrink:0; color:var(--deep); }
.voice-promises h3 { font-size:1.12rem; margin-bottom:9px; }
.voice-promises p { font-size:.92rem; }
#everyday,#ultra { scroll-margin-top:var(--nav-h); }

@media(max-width:1000px) { .voice-hero-grid { gap:32px; } .voice-intro h1 { font-size:clamp(3rem,6.5vw,5rem); } .voice-moments { grid-template-columns:repeat(2,minmax(0,1fr)); } .voice-ultra-grid { gap:30px; } .voice-private .split { gap:36px; } }
@media(max-width:759px) {
 .voice-hero { padding-top:calc(var(--nav-h) + 44px); }
 .voice-hero-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
 .voice-intro { text-align:center; padding:0; }
 .voice-intro h1 { font-size:clamp(3.2rem,11.7vw,5rem); margin:auto; max-width:12ch; }
 .voice-intro .lede { margin:24px auto 0; max-width:40ch; font-size:1.05rem; }
 .voice-eyebrow { font-size:.69rem; margin-bottom:20px; }
 .voice-local { justify-content:center; font-size:.75rem; margin:22px 0; }
 .voice-intro .btn-row { justify-content:center; gap:10px; }
 .voice-intro .btn { font-size:.8rem; padding:.9em 1.2em; }
 .voice-portrait { width:min(100%,300px); }
 .voice-capture { border-radius:38px; }
 .voice-portrait figcaption { padding-inline:10px; }
 .voice-principles { grid-template-columns:1fr; gap:22px; margin-top:40px; padding-block:26px; }
 .voice-principles>div { gap:18px; }
 .voice-wave { bottom:280px; height:220px; }
 .voice-section-head { margin-bottom:32px; text-align:left; }
 .voice-section-head p:last-child { margin-top:20px; }
 .voice-moments { gap:14px; }
 .voice-moment { padding:23px; border-radius:20px; }
 .voice-moment-icon { margin-bottom:20px; }
 .voice-ultra { padding:64px 0; }
 .voice-ultra-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .voice-ultra-copy { grid-row:1; }
 .voice-ultra h2 { max-width:100%; }
 .voice-device { max-width:460px; margin:auto; width:100%; }
 .voice-private .split { display:flex; flex-direction:column-reverse; gap:32px; }
 .voice-home-photo { width:100%; }
 .voice-home-photo img { aspect-ratio:5/4; }
}
@media(max-width:540px) { .voice-moments { grid-template-columns:minmax(0,1fr); } .voice-moment { display:grid; grid-template-columns:46px minmax(0,1fr); gap:0 16px; } .voice-moment-icon { padding:10px; grid-row:1/3; align-self:start; margin:0; } .voice-moment-icon svg { width:26px; height:26px; } .voice-moment h3 { margin:2px 0 10px; font-size:1.23rem; } .voice-moment>p { grid-column:2; font-size:.87rem; margin-bottom:20px; } .voice-moment blockquote { grid-column:1/-1; font-size:1.06rem; padding-top:18px; } }
@media(prefers-reduced-motion:reduce) { .voice-capture,.voice-moment { transition:none; } }
.voice-device-label { max-width:90%; white-space:normal; text-align:center; justify-content:center; width:max-content; padding:12px 18px; border:1px solid #79c9e533; background:#0a111cf2; border-radius:999px; }
.voice-device-label svg { flex-shrink:0; }

/* The dark hero reaches behind the navigation: no pale strip at the viewport edge. */
html[data-page="voice"] .nav { background:transparent; border-bottom-color:transparent; -webkit-backdrop-filter:none; backdrop-filter:none; }
html[data-page="voice"] .nav.scrolled, html[data-page="voice"] .menu-open .nav { background:rgba(8,15,24,.94); border-bottom-color:#ffffff15; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
html[data-page="voice"] .nav-links a { color:#c5d4e1; }
html[data-page="voice"] .nav-links a[aria-current], html[data-page="voice"] .lang summary { color:#fff; }
html[data-page="voice"] .lang summary { box-shadow:inset 0 0 0 1px #ffffff30; }
html[data-page="voice"] .burger span { background:#fff; }
html[data-page="voice"] .nav-register { color:#080f18; background:#edf8fc; }
html[data-page="voice"] .nav-signin { color:#edf8fc; box-shadow:inset 0 0 0 1.5px #ffffff55; }
@media(prefers-reduced-motion:no-preference) { .voice-aura,.voice-capture,.voice-signals span,.voice-wave span { will-change:transform,opacity; } }
.voice-signals { position:absolute; inset:0; pointer-events:none; }
.voice-signals span { position:absolute; width:155%; aspect-ratio:1; left:-27.5%; top:17%; border:1px solid #6cd8f3; border-radius:50%; opacity:0; }
.voice-intro h1 { position:relative; }
@media(min-width:760px) { .voice-intro { padding-bottom:0; } }
@media(prefers-reduced-motion:reduce) { html[data-page="voice"] .nav { transition:none; } }
