/* The public site (homepage, privacy, terms, book a call): the CSS of context/soundar-home-final.html, unchanged.
   Its fonts are in static/public-fonts.css (our own files, not Google Fonts). */
body{margin:0}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
a{color:#111114}a:hover{color:#FF5B2E}
.wrap{max-width:1200px;margin:0 auto;padding-left:40px;padding-right:40px;box-sizing:border-box}
.logo{font-family:'Archivo',sans-serif;font-stretch:125%;font-weight:800}
.disp{font-family:'Bricolage Grotesque',sans-serif;font-weight:300;letter-spacing:-0.045em;font-optical-sizing:auto}
h3.disp{font-weight:600;letter-spacing:-0.03em}
.disp b,.disp .acc{font-weight:800}
.mono{font-family:'Geist Mono',monospace;font-size:13px;letter-spacing:0.04em}
.eyebrow{font-family:'Geist Mono',monospace;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:#FF5B2E;box-shadow:0 0 0 4px rgba(255,91,46,.18);flex-shrink:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;box-sizing:border-box;white-space:nowrap}
.btn-signal{background:#FF5B2E;color:#111114}.btn-signal:hover{background:#FF7A55;color:#111114}
.btn-ghost{border:1.5px solid #111114;color:#111114}.btn-ghost:hover{background:#111114;color:#F5F3EE}
.btn-ghost-dark{border:1.5px solid #F5F3EE;color:#F5F3EE}.btn-ghost-dark:hover{background:#F5F3EE;color:#111114}
.nav-link{color:#B9B7B0;text-decoration:none;font-size:15px;font-weight:500}.nav-link:hover{color:#F5F3EE}
.on-dark a.lk{color:#F5F3EE}.on-dark a.lk:hover{color:#FF5B2E}
.tag{font-family:'Geist Mono',monospace;font-size:12px;background:rgba(17,17,20,.9);color:#F5F3EE;border:1px solid #2A2A30;padding:4px 8px;white-space:nowrap}
.pulse{opacity:0;transform-origin:50% 50%;transform-box:fill-box;animation:pulse 3.6s ease-out infinite both}
.pulse.p2{animation-delay:1.2s}.pulse.p3{animation-delay:2.4s}
@keyframes pulse{0%{transform:scale(.08);opacity:0}6%{opacity:.9}100%{transform:scale(1);opacity:0}}
.blip{animation:blip 2.4s ease-out infinite}
.blip.b2{animation-delay:.8s}.blip.b3{animation-delay:1.6s}
@keyframes blip{0%{box-shadow:0 0 0 0 rgba(255,91,46,.7)}100%{box-shadow:0 0 0 16px rgba(255,91,46,0)}}
details summary{cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}
details[open] .plus{transform:rotate(45deg)}
.plus{transition:transform .2s}
@supports (animation-timeline: view()){
.rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
.rv-l{animation:rvl linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
.rv-r{animation:rvr linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
@keyframes rv{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes rvl{from{opacity:0;transform:translateX(-48px)}to{opacity:1;transform:none}}
@keyframes rvr{from{opacity:0;transform:translateX(48px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){.pulse,.blip,.rv,.rv-l,.rv-r{animation:none !important;opacity:1;transform:none}.pulse{opacity:0}}
@media (min-width:861px){.flip .vis{order:-1}}
.pill{position:fixed;left:50%;bottom:24px;z-index:30;transform:translate(-50%,14px) scale(.98);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s linear .45s}
.pill.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1);transition:opacity .45s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s}
@media (prefers-reduced-motion:reduce){.pill,.pill.show{transition:opacity .2s linear,visibility 0s}}
.bubble{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:6px 6px 6px 20px;background:rgba(17,17,20,.82);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border:1px solid rgba(245,243,238,.14);border-radius:999px;box-shadow:0 18px 40px rgba(17,17,20,.35),0 2px 8px rgba(17,17,20,.25)}
.bubble a.call{display:flex;align-items:center;gap:10px;color:#F5F3EE;text-decoration:none;font-size:15px;font-weight:500;padding:0 12px 0 0;height:48px;white-space:nowrap}
.bubble a.call:hover{color:#FF5B2E}
.bubble .dot{width:8px;height:8px;border-radius:50%;background:#FF5B2E}
.bubble .sep{width:1px;height:24px;background:rgba(245,243,238,.18);margin-right:4px}
.bubble a.go{display:inline-flex;align-items:center;height:48px;padding:0 22px;border-radius:999px;background:#FF5B2E;color:#111114;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap}
.bubble a.go:hover{background:#FF7A55;color:#111114}
@media (max-width:860px){
.wrap{padding-left:20px;padding-right:20px}
.hide-sm{display:none !important}
.stack-sm{grid-template-columns:minmax(0,1fr) !important}
.two-sm{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.hero-pad{padding-top:109px !important;padding-bottom:48px !important}
.sec-pad{padding-top:72px !important;padding-bottom:72px !important}
.cta-row .btn{flex:1 1 auto}
.card-pad{padding:28px !important}
.hero-card{width:224px !important;padding:12px !important;gap:10px !important}
.radar-box{margin-bottom:32px}
.tag{font-size:11px;padding:3px 7px}
}

/* SOUNDAR addition: the scroll-in slides (48 px from the side) must never make a phone scroll sideways.
   `clip` (not `hidden`) keeps the sticky header working. */
.page{overflow-x:clip}
/* SOUNDAR addition, for the short pages (privacy, terms, book a call): no white gap under the footer, and a solid
   header (the see-through one is made for the dark hero). */
body{background:#0B0B0E}
body.plain header{background:#0B0B0E !important}
body.plain main{min-height:calc(100vh - 69px - 160px)}
