:root{--blue:#185ed4;--blue-dark:#0e4cb9;--navy:#0b1526;--ink:#14243d;--muted:#57677f;--line:#dce5f2;--light:#f2f6fc;--sky:#e8f1ff;--white:#fff;--radius:24px;--shadow:0 22px 65px rgba(11,21,38,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Sora,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--navy);color:#fff;padding:.7rem 1rem;z-index:100;border-radius:8px}.skip:focus{top:1rem}
.container{width:min(100% - 3rem,1200px);margin-inline:auto}
.site-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid #edf1f7}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:.68rem;font-size:1.31rem;font-weight:750;letter-spacing:-.055em;line-height:1;color:var(--navy)}
.brand img{width:32px;height:34px;object-fit:contain}
.nav{display:flex;align-items:center;gap:2.1rem;font-size:.9rem;font-weight:650}
.nav a:not(.button){color:#42526b;transition:color .2s}.nav a:not(.button):hover,.nav a[aria-current=page]{color:var(--blue)}.nav .button,.nav .button:hover,.nav .button:focus-visible{color:#fff}
.mobile-menu{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.4rem;border-radius:999px;background:var(--blue);color:#fff;font-size:.9rem;font-weight:700;white-space:nowrap;transition:transform .2s,background .2s,box-shadow .2s;border:1px solid var(--blue)}
.button:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 11px 22px rgba(24,94,212,.2)}
.button-outline{background:transparent;color:var(--blue);border-color:#bfd1f0}.button-outline:hover{color:#fff}
.button-white{background:#fff;color:var(--blue);border-color:#fff}.button-white:hover{background:#e7f0ff;color:var(--blue)}
a:focus-visible,summary:focus-visible{outline:3px solid #f3ab3b;outline-offset:4px}
.eyebrow{color:var(--blue);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{color:var(--navy);letter-spacing:-.052em;line-height:1.12}
h1,.hero-title{font-size:clamp(3.2rem,6.2vw,6.45rem);font-weight:750;margin-bottom:1.5rem}
h2{font-size:clamp(2.3rem,4.1vw,4.1rem);font-weight:730;margin-bottom:1.1rem}
h3{font-size:1.45rem;font-weight:730;margin-bottom:.7rem}
p{color:var(--muted)}
.lead{font-size:clamp(1.06rem,1.4vw,1.23rem);line-height:1.78;max-width:620px}
.text-blue{color:var(--blue)}
.hero{overflow:hidden;background:linear-gradient(115deg,#f5f9ff 2%,#ecf4ff 55%,#f9fbff 100%);padding:5.4rem 0 6rem}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:clamp(2.8rem,5vw,6rem)}
.hero-copy{padding-block:1rem}.hero-copy :is(h1,.hero-title){max-width:700px}.hero-copy .lead{max-width:570px}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.1rem}
.hero-note{display:flex;align-items:center;gap:.6rem;color:#53677e;font-size:.85rem;font-weight:600;margin-top:2rem}
.hero-note span{width:24px;height:1px;background:var(--blue)}
.hero-visual{position:relative;min-width:0}
.hero-visual:before{content:"";position:absolute;inset:24px -21px -22px 25px;border-radius:34px;border:2px solid #b7cff5;pointer-events:none}
.hero-visual img{position:relative;z-index:1;width:100%;aspect-ratio:1.08;object-fit:cover;border-radius:32px;box-shadow:var(--shadow)}
.photo-caption{position:absolute;z-index:2;left:-24px;bottom:28px;background:#fff;border-radius:18px;padding:1rem 1.25rem;box-shadow:0 16px 45px rgba(11,21,38,.16);max-width:255px;font-size:.86rem;font-weight:700;line-height:1.45;color:var(--navy)}
.photo-caption strong{display:block;color:var(--blue);font-size:.71rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.4rem}
.section{padding:7rem 0}
.section-heading{max-width:730px;margin-bottom:3rem}.section-heading p{max-width:620px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:2rem;min-height:270px;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(11,21,38,.07)}
.icon{width:56px;height:56px;display:grid;place-items:center;background:var(--sky);color:var(--blue);border-radius:17px;margin-bottom:1.8rem}
.icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card p{font-size:.97rem;line-height:1.7;margin-bottom:0}
.feature-link{display:inline-block;margin-top:2.2rem;color:var(--blue);font-weight:750;border-bottom:2px solid #a5c3f1;padding-bottom:.22rem}
.feature-link:hover{border-color:var(--blue)}
.dark-section{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.dark-section:after{content:"";position:absolute;width:610px;height:610px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-330px;top:-130px;pointer-events:none}
.dark-section h2,.dark-section h3{color:#fff}.dark-section p{color:#b8c5d7}.dark-section .eyebrow{color:#91baff}
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:6rem;align-items:start}
.story-copy{position:sticky;top:3rem}.story-list{border-top:1px solid #344057}
.story-item{display:grid;grid-template-columns:56px 1fr;gap:1rem;padding:1.7rem 0;border-bottom:1px solid #344057}
.story-number{font-size:.87rem;color:#88b4ff;font-weight:800;margin-top:.2rem}.story-item h3{font-size:1.25rem}.story-item p{margin:0;line-height:1.7}
.quote-panel{background:#f2f7ff;border-radius:32px;padding:clamp(2rem,5vw,4.5rem);display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.quote-panel blockquote{font-size:clamp(1.5rem,2.6vw,2.55rem);line-height:1.32;letter-spacing:-.035em;color:var(--navy);margin:0;font-weight:650}
.quote-panel p{margin-bottom:0}.quote-panel .eyebrow{margin-bottom:1.2rem}
.note-list{display:grid;gap:1.05rem}.note-line{display:flex;gap:.75rem;align-items:start;font-weight:650;color:var(--ink)}.note-line .check{flex:0 0 auto;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--blue);color:#fff;font-size:.77rem;margin-top:.13rem}
.faq-list{border-top:1px solid var(--line);max-width:920px}.faq-list details{border-bottom:1px solid var(--line);padding:1.25rem 0}.faq-list summary{cursor:pointer;list-style:none;color:var(--navy);font-weight:700;font-size:1.1rem;padding-right:2rem;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:.2rem;top:-.1rem;color:var(--blue);font-size:1.5rem;font-weight:400}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin:.8rem 2rem 0 0;max-width:760px}
.cta{background:var(--blue);padding:5.5rem 0;color:#fff}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:3rem}.cta h2{color:#fff;max-width:650px}.cta p{color:#dceaff;max-width:570px;margin:0}
.site-footer{background:var(--navy);color:#fff;padding:4rem 0 2rem}.site-footer .brand{color:#fff}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:3rem}.footer-grid p{max-width:360px;color:#acbdd3;font-size:.92rem;margin-top:1.2rem}.footer-col h3{font-size:.83rem;letter-spacing:.1em;text-transform:uppercase;color:#c7d7ed;margin-bottom:1rem}.footer-col a{display:block;color:#acbdd3;padding:.3rem 0;font-size:.91rem}.footer-col a:hover{color:#fff}.footer-bottom{border-top:1px solid #293850;margin-top:3.4rem;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;color:#8fa2be;font-size:.79rem}
.page-hero{background:linear-gradient(115deg,#eff5ff,#f9fbff);padding:6rem 0 5.2rem}.page-hero .lead{max-width:760px}.page-hero h1{font-size:clamp(3.1rem,5.6vw,5.5rem);max-width:920px}.page-hero .eyebrow{margin-bottom:1.15rem}
.feature-row{display:grid;grid-template-columns:.75fr 1.25fr;gap:5rem;padding:3rem 0;border-top:1px solid var(--line)}.feature-row:last-child{border-bottom:1px solid var(--line)}.feature-row .icon{margin-bottom:0}.feature-row h2{font-size:clamp(1.7rem,2.7vw,2.5rem)}.feature-row p{max-width:650px}.feature-row ul{list-style:none;padding:0;margin:1.3rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem}.feature-row li{border:1px solid #cbdcf3;color:#3a536f;border-radius:999px;padding:.45rem .8rem;font-size:.85rem;font-weight:650}
.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.soft-card{background:#f1f6ff;border-radius:28px;padding:3rem}.soft-card p:last-child{margin-bottom:0}.soft-card h3{margin-top:.2rem}
.support-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.support-card{border:1px solid var(--line);border-radius:24px;padding:2rem}.support-card .num{color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.13em;margin-bottom:1.4rem}.support-card p{margin-bottom:0}
.contact-panel{background:var(--navy);color:#fff;border-radius:32px;padding:clamp(2rem,5vw,4rem);display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}.contact-panel h2{color:#fff}.contact-panel p{color:#bac9dc}.contact-action{background:#17243b;border:1px solid #31425d;border-radius:22px;padding:2rem}.contact-action .label{color:#a7bbd7;font-size:.77rem;letter-spacing:.13em;font-weight:800;text-transform:uppercase}.contact-action a.email{color:#fff;font-size:clamp(1rem,2vw,1.35rem);font-weight:700;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#739ff4;text-underline-offset:5px}.contact-action small{display:block;color:#9db0cc;margin-top:1.1rem;line-height:1.6}
.statement{font-size:clamp(1.5rem,2.6vw,2.35rem);line-height:1.45;letter-spacing:-.035em;color:var(--navy);font-weight:600;max-width:940px}
@media(max-width:900px){.nav{gap:1rem}.nav .button{display:none}.hero-grid,.story-grid,.split{gap:2.7rem}.hero{padding:4.5rem 0}.photo-caption{left:14px}.cards{gap:.75rem}.card{padding:1.4rem}.quote-panel{gap:1.5rem}.feature-row{gap:2rem}}
@media(max-width:720px){.container{width:min(100% - 2rem,1200px)}.header-inner{min-height:72px}.nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;list-style:none;color:var(--navy);font-size:.9rem;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] .menu-links{position:absolute;right:0;top:calc(100% + .6rem);min-width:215px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:.55rem;z-index:30}.menu-links a{display:block;padding:.65rem .8rem;border-radius:10px;font-size:.9rem;font-weight:650}.menu-links a:hover{background:var(--sky);color:var(--blue)}.hero-grid,.story-grid,.split,.quote-panel,.contact-panel{grid-template-columns:1fr}.hero{padding:3.4rem 0 5rem}.hero-copy{padding:0}.hero-visual{margin:1rem .3rem 0}.hero-visual:before{inset:17px -10px -12px 12px}.hero-visual img{aspect-ratio:1.25}.photo-caption{bottom:-18px}.section{padding:5rem 0}.section-heading{margin-bottom:2rem}.cards,.support-grid{grid-template-columns:1fr}.card{min-height:0;padding:1.8rem}.story-copy{position:static}.story-list{margin-top:1.3rem}.cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.feature-row{grid-template-columns:1fr;gap:1rem;padding:2.4rem 0}.feature-row .icon{width:48px;height:48px}.page-hero{padding:4.3rem 0}.quote-panel{padding:2rem}.contact-panel{gap:1.5rem}}
@media(max-width:480px){h1{font-size:3.2rem}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.photo-caption{font-size:.76rem;max-width:205px;padding:.75rem 1rem}.footer-grid{gap:1.8rem}.footer-bottom{flex-direction:column}.support-card{padding:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.card{transition:none}}

/* Product-first banner and store options */
.hero-immersive{position:relative;display:flex;align-items:center;min-height:680px;padding:0;background:#eef5ff;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,250,255,.99) 0%,rgba(246,250,255,.96) 30%,rgba(246,250,255,.66) 49%,rgba(246,250,255,.04) 73%)}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.hero-overlay{position:relative;z-index:1;padding-block:5.2rem}
.hero-immersive .hero-copy{max-width:615px;padding:0}
.hero-immersive :is(h1,.hero-title){font-size:clamp(3.4rem,5.7vw,6.2rem);line-height:1.04;max-width:650px;margin:1rem 0 1.35rem}
.hero-immersive .lead{max-width:555px;color:#31445d;font-size:1.14rem;line-height:1.7;font-weight:500}
.store-row{display:flex;flex-wrap:wrap;gap:.72rem;margin-top:2rem}
.store-badge{display:inline-flex;align-items:center;gap:.75rem;text-align:left;min-width:188px;min-height:62px;padding:.55rem 1rem;background:#0b1526;border:1px solid #0b1526;border-radius:12px;color:#fff;box-shadow:0 9px 22px rgba(11,21,38,.13);opacity:1}
.store-badge:disabled{cursor:not-allowed;opacity:1}
.store-badge svg{width:29px;height:31px;flex:0 0 auto}
.store-badge span{display:flex;flex-direction:column;line-height:1.12}
.store-badge small{font-size:.66rem;letter-spacing:.025em;color:#e2e9f3}
.store-badge strong{font-size:1.13rem;letter-spacing:-.025em;font-weight:700}
.store-note{max-width:460px;margin:1rem 0 0;font-size:.81rem;line-height:1.55;color:#465a73}
@media(max-width:900px){.hero-immersive{min-height:640px}.hero-media:after{background:linear-gradient(90deg,rgba(246,250,255,.99) 0%,rgba(246,250,255,.91) 42%,rgba(246,250,255,.15) 78%)}.hero-immersive .hero-copy{max-width:550px}}
@media(max-width:720px){.hero-immersive{min-height:0;display:flex;flex-direction:column;padding:0}.hero-media{position:relative;inset:auto;width:100%;height:340px;z-index:0}.hero-media:after{display:none}.hero-photo{object-position:57% 48%}.hero-overlay{padding-block:2.5rem 4rem}.hero-immersive .hero-copy{max-width:none}.hero-immersive :is(h1,.hero-title){font-size:clamp(2.8rem,9vw,4rem);margin-top:.8rem}.hero-immersive .lead{font-size:1.06rem}.store-row{margin-top:1.6rem}}
@media(max-width:480px){.hero-media{height:275px}.store-row{gap:.55rem}.store-badge{min-width:0;flex:1 1 145px;padding:.55rem .65rem;gap:.45rem}.store-badge svg{width:23px;height:26px}.store-badge small{font-size:.56rem}.store-badge strong{font-size:.96rem}.store-note{font-size:.79rem}}

/* Legal pages */
.legal-hero{padding:4.5rem 0 3.5rem}.legal-hero h1{font-size:clamp(2.7rem,5vw,4.8rem)}.legal-date{font-size:.85rem;margin:1.5rem 0 0;color:#53677e}
.legal-section{padding:4rem 0 6rem}.legal-layout{display:grid;grid-template-columns:220px minmax(0,800px);gap:4rem;align-items:start}.legal-sidebar{position:sticky;top:110px}.legal-sidebar nav{display:grid;gap:.25rem}.legal-sidebar a{padding:.5rem 0;color:#53677e;font-size:.9rem}.legal-sidebar a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.legal-content{min-width:0;line-height:1.8}.legal-content section{padding:1.5rem 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.legal-content h2{font-size:clamp(1.45rem,2.3vw,1.9rem);letter-spacing:-.035em;line-height:1.3;margin-bottom:1rem}.legal-content h3{font-size:1.2rem;letter-spacing:-.025em}.legal-content p:last-child{margin-bottom:0}.legal-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-content ul{padding-left:1.3rem;color:var(--muted)}.legal-content li{padding-left:.25rem;margin:.55rem 0}
.legal-draft,.legal-review{border:1px solid #cbdcf3;background:#f2f7ff;border-radius:20px;padding:1.5rem 1.75rem}.legal-draft strong{display:block;color:var(--navy);margin-bottom:.5rem}.legal-draft p{font-size:.93rem;margin:0}.legal-review{margin-top:2rem}.legal-review ul{font-size:.93rem;margin-bottom:0}
.legal-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;margin:1.5rem 0}.legal-content table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.legal-content th,.legal-content td{padding:1rem;vertical-align:top;border-bottom:1px solid var(--line)}.legal-content thead{background:#f2f7ff;color:var(--navy)}.legal-content tbody th{width:25%;color:var(--navy);font-weight:650}.legal-content td{color:var(--muted)}.legal-content tr:last-child td,.legal-content tr:last-child th{border-bottom:0}.legal-footer-links{display:flex;flex-wrap:wrap;gap:1.3rem}.legal-footer-links a:hover{color:#fff;text-decoration:underline}
@media(max-width:900px){.legal-layout{grid-template-columns:180px minmax(0,1fr);gap:2rem}}
@media(max-width:720px){.legal-hero{padding:3.5rem 0 2.5rem}.legal-section{padding:2rem 0 4rem}.legal-layout{grid-template-columns:1fr;gap:1.5rem}.legal-sidebar{position:static;border-bottom:1px solid var(--line);padding-bottom:1.5rem}.legal-sidebar nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}.legal-sidebar a{padding:.2rem 0;font-size:.83rem}.legal-draft,.legal-review{padding:1.25rem}.legal-content th,.legal-content td{padding:.75rem}.legal-content table{min-width:440px}.legal-footer-links{gap:.7rem 1.2rem}}

/* Keep the slogan in its own column, clear of the phone photograph. */
.hero-immersive .hero-copy{width:43%;max-width:480px}
.hero-immersive :is(h1,.hero-title){font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.15;max-width:440px;letter-spacing:-.035em}
.hero-immersive :is(h1,.hero-title) .text-blue{display:block}
@media(min-width:1001px){.hero-media{left:50%}.hero-media:after{background:linear-gradient(90deg,#eef5ff 0%,rgba(238,245,255,0) 22%)}.hero-photo{object-position:65% 48%}}
@media(max-width:1000px){.hero-immersive{min-height:0;display:flex;flex-direction:column;padding:0}.hero-media{position:relative;inset:auto;width:100%;height:340px;z-index:0}.hero-media:after{display:none}.hero-photo{object-position:57% 48%}.hero-overlay{padding-block:2.5rem 4rem}.hero-immersive .hero-copy{width:100%;max-width:615px}.hero-immersive :is(h1,.hero-title){font-size:clamp(2rem,4.5vw,2.8rem)} }
@media(max-width:480px){.hero-media{height:275px}.hero-immersive :is(h1,.hero-title){font-size:2rem}}
.feature-slider{overflow:hidden;background:var(--navy);border-radius:28px;color:#fff;margin-bottom:2rem}.feature-track{display:flex;will-change:transform}.feature-slide{flex:0 0 100%;min-width:0;display:flex;align-items:center;gap:3rem;padding:3.5rem}.feature-number{font-size:clamp(4rem,9vw,8rem);line-height:1;color:#6e9fff;letter-spacing:-.06em;font-weight:700}.feature-slide h3{color:#fff;font-size:clamp(1.8rem,4vw,3rem)}.feature-slide .eyebrow{color:#91baff}.feature-slide p:last-child{color:#c4d2e5;max-width:630px;margin:0;font-size:1.05rem}.slider-controls{display:flex;align-items:center;justify-content:space-between;padding:0 3.5rem 2rem;gap:1rem}.slider-controls>button{background:transparent;color:#fff;border:1px solid #51617c;border-radius:999px;padding:.65rem 1.2rem;cursor:pointer;font:inherit;font-size:.9rem}.slider-controls button:focus-visible{outline:3px solid #91baff;outline-offset:4px}.slider-dots{display:flex;gap:.65rem}.slider-dots button{width:14px;height:14px;border:0;border-radius:50%;background:#53677e;cursor:pointer;padding:0}.slider-dots button[aria-pressed=true]{background:#91baff}.feature-slide[aria-hidden=true]{visibility:hidden}
@media(max-width:720px){.feature-slide{padding:2rem;gap:1.3rem;align-items:start;flex-direction:column}.feature-number{font-size:3rem}.slider-controls{padding:0 1.5rem 1.5rem}.slider-controls>button{padding:.6rem .8rem}.feature-slide p:last-child{font-size:1rem}}
@media(min-width:1001px){.hero-media{display:flex;align-items:center;padding:2rem}.hero-photo{height:auto;aspect-ratio:1.5;object-fit:contain;object-position:center;border-radius:24px}.hero-media:after{display:none}}
.banner-carousel{position:relative;background:#eef5ff}.banner-carousel .hero[hidden]{display:none}.banner-carousel .hero-media{position:absolute;inset:0;display:block;padding:0;z-index:-1}.banner-carousel .hero-photo{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 48%;border-radius:0}.banner-carousel .hero-media:after{display:block;background:linear-gradient(90deg,rgba(246,250,255,.99) 0%,rgba(246,250,255,.96) 30%,rgba(246,250,255,.66) 49%,rgba(246,250,255,.04) 73%)}.banner-carousel .hero-copy{width:43%;max-width:480px}.banner-carousel .group-banner .hero-media{left:50%}.banner-carousel .group-banner .hero-photo{object-position:center 36%}.banner-carousel .group-banner .hero-media:after{background:linear-gradient(90deg,#eef5ff,transparent 18%)}.banner-controls{display:flex;gap:.7rem;padding-block:1rem 1.5rem}.banner-controls button{font:inherit;font-size:.9rem;border:1px solid #a7c0e4;border-radius:999px;background:white;color:var(--navy);padding:.6rem 1rem;cursor:pointer}.banner-controls button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.banner-controls button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:1000px){.banner-carousel .hero-media,.banner-carousel .group-banner .hero-media{position:relative;inset:auto;height:340px;z-index:0}.banner-carousel .hero-media:after{display:none}.banner-carousel .hero-copy{width:100%;max-width:615px}.banner-carousel .group-banner .hero-photo{object-position:center 35%}}
@media(max-width:480px){.banner-carousel .hero-media{height:275px}.banner-controls button{font-size:.8rem}}
/* A wider, transparent image fade merges both banner surfaces. */
@media(min-width:1001px){.banner-carousel .group-banner .hero-media{left:40%;background:#eef5ff}.banner-carousel .group-banner .hero-photo{mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 8%,rgba(0,0,0,.35) 18%,rgba(0,0,0,.7) 29%,#000 42%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 8%,rgba(0,0,0,.35) 18%,rgba(0,0,0,.7) 29%,#000 42%)}.banner-carousel .group-banner .hero-media:after{display:none}}
.banner-controls{position:relative;justify-content:center;align-items:center}.banner-controls button[data-banner]{width:12px;height:12px;padding:0;border:0;background:#a6b9d4;border-radius:50%}.banner-controls button[data-banner][aria-pressed=true]{background:var(--blue);box-shadow:0 0 0 4px #dce8fa}.banner-controls .banner-pause{position:absolute;right:0;border:0;background:transparent;font-size:.8rem;padding:.4rem .7rem;color:#53677e}
@media(min-width:1001px){.banner-carousel .text-banner .hero-media{left:38%;background:#eef5ff}.banner-carousel .text-banner .hero-photo{object-position:75% center;mask-image:linear-gradient(90deg,transparent,#000 22%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%)}.banner-carousel .text-banner .hero-media:after{display:none}.banner-carousel .text-banner .hero-copy{width:35%}}
@media(max-width:1000px){.banner-carousel .text-banner .hero-photo{object-position:70% center}}
@media(min-width:1001px){.banner-carousel .text-banner .hero-media{left:35%;background:transparent}.banner-carousel .text-banner .hero-photo{object-position:76% center;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.05) 8%,rgba(0,0,0,.25) 17%,rgba(0,0,0,.65) 27%,#000 38%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.05) 8%,rgba(0,0,0,.25) 17%,rgba(0,0,0,.65) 27%,#000 38%)}}
/* Finish the text fade before the phone, preserving the video-call photo. */
@media(min-width:1001px){.banner-carousel .hero:first-of-type .hero-media:after{background:linear-gradient(90deg,#f6faff 0%,rgba(246,250,255,.98) 27%,rgba(246,250,255,.8) 33%,rgba(246,250,255,.3) 39%,transparent 44%)}.banner-carousel .hero:first-of-type .hero-copy{width:39%;max-width:440px}}
/* Use the same text-side overlay fade on all desktop banners. */
@media(min-width:1001px){.banner-carousel .group-banner .hero-photo,.banner-carousel .text-banner .hero-photo{mask-image:none;-webkit-mask-image:none}.banner-carousel .group-banner .hero-media:after,.banner-carousel .text-banner .hero-media:after{display:block;background:linear-gradient(90deg,#f6faff 0%,rgba(246,250,255,.98) 4%,rgba(246,250,255,.8) 8%,rgba(246,250,255,.3) 14%,transparent 20%)}.banner-carousel .group-banner,.banner-carousel .text-banner{background:#f6faff}}
@media(min-width:1001px){.banner-carousel .group-banner .hero-media{left:38%;background:transparent}.banner-carousel .group-banner .hero-media:after{display:none}.banner-carousel .group-banner .hero-photo{mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.02) 5%,rgba(0,0,0,.12) 10%,rgba(0,0,0,.35) 17%,rgba(0,0,0,.7) 24%,#000 33%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.02) 5%,rgba(0,0,0,.12) 10%,rgba(0,0,0,.35) 17%,rgba(0,0,0,.7) 24%,#000 33%)}.banner-carousel .text-banner .hero-media{left:0;background:transparent}.banner-carousel .text-banner .hero-photo{object-position:center 48%;mask-image:none;-webkit-mask-image:none}.banner-carousel .text-banner .hero-media:after{display:block;background:linear-gradient(90deg,#f6faff 0%,rgba(246,250,255,.98) 27%,rgba(246,250,255,.8) 33%,rgba(246,250,255,.3) 39%,transparent 44%)}.banner-carousel .text-banner .hero-copy{width:39%;max-width:440px}}
