/* ============================================================
   Sunrise Transcription — design tokens
   ============================================================ */
:root{
  --navy:#0B0D63;
  --navy-90:rgba(11,13,99,.9);
  --yellow:#FDE428;
  --yellow-dark:#e5cd24;
  --ink:#111827;
  --gray-900:#111827;
  --gray-700:#374151;
  --gray-600:#4B5563;
  --gray-500:#6B7280;
  --gray-200:#E5E7EB;
  --gray-100:#F3F4F6;
  --gray-50:#F9FAFB;
  --white:#fff;
  --green:#16A34A;
  --green-bg:#DCFCE7;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --radius:14px;
  --radius-lg:22px;
  --shadow-sm:0 1px 3px rgba(17,24,39,.08);
  --shadow-md:0 6px 18px rgba(17,24,39,.09);
  --shadow-lg:0 18px 44px rgba(11,13,99,.16);
  --container:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--gray-700);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
h1,h2:not(.eyebrow),h3,h4{font-family:var(--serif);color:var(--gray-900);line-height:1.2;font-weight:700}
.container{max-width:var(--container);margin:0 auto;padding:0 20px}
.container.narrow{max-width:960px}
.ic{flex-shrink:0}
.ic.yellow{color:var(--yellow)}
.ic.primary{color:var(--navy)}
.desk-only{display:none}
@media(min-width:768px){.desk-only{display:block}}
.text-primary{color:var(--navy)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:.95rem;border:none;border-radius:10px;padding:12px 24px;cursor:pointer;transition:all .25s ease;line-height:1.2}
.btn-lg{padding:16px 32px;font-size:1.02rem}
.btn-block{width:100%}
.btn-primary{background:var(--navy);color:#fff;box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:#14167e;transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-accent{background:var(--yellow);color:var(--navy);box-shadow:var(--shadow-md)}
.btn-accent:hover{background:var(--yellow-dark);transform:translateY(-3px)}
.btn-outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(4px)}
.btn-outline-light:hover{background:rgba(255,255,255,.12);transform:translateY(-3px)}
.btn-outline-primary{background:#fff;color:var(--navy);border:1px solid rgba(11,13,99,.25)}
.btn-outline-primary:hover{background:var(--gray-50)}
.btn-ghost{background:transparent;color:var(--navy);padding:10px 16px}
.btn-ghost:hover{color:#14167e;background:var(--gray-50);border-radius:10px}
.btn-pill{border-radius:999px;padding:12px 28px}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--gray-200)}
.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px}
.brand-logo{display:none}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:1.25rem}
.brand-sub{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-500);font-weight:500}
.main-nav ul{display:none;align-items:center;gap:26px}
.nav-link{font-size:.9rem;font-weight:500;color:var(--gray-500);padding:6px 2px;border-bottom:2px solid transparent;transition:color .2s}
.nav-link:hover{color:var(--navy)}
.nav-link.active{color:var(--navy);border-bottom-color:var(--yellow)}
.header-cta{display:none;align-items:center;gap:12px}
.menu-toggle{display:inline-flex;background:none;border:none;color:var(--navy);cursor:pointer;padding:8px}
.menu-toggle .menu-close{display:none}
.menu-toggle[aria-expanded="true"] .menu-open{display:none}
.menu-toggle[aria-expanded="true"] .menu-close{display:inline-flex}
.mobile-nav{display:none;background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-md);padding:20px 0 24px}
.mobile-nav.open{display:block}
.mobile-nav nav{display:flex;flex-direction:column;gap:4px}
.mnav-link{padding:13px 16px;border-radius:10px;font-weight:500;color:var(--gray-600)}
.mnav-link:hover{background:var(--gray-50);color:var(--navy)}
.mnav-link.active{background:rgba(11,13,99,.05);color:var(--navy);border-left:4px solid var(--yellow)}
.mobile-nav-cta{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--gray-100)}
@media(min-width:900px){
  .main-nav ul{display:flex}
  .menu-toggle{display:none}
  .mobile-nav{display:none!important}
}
@media(min-width:1080px){.header-cta{display:flex}}

/* ---------- hero (home) ---------- */
.hero{position:relative;background:var(--navy);color:#fff;padding:96px 0 150px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1579684385127-1ef15d508118?q=80&w=2200&auto=format&fit=crop') center/cover;opacity:.1;mix-blend-mode:overlay}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,13,99,.8),rgba(11,13,99,.9),var(--navy))}
.hero-inner{position:relative;z-index:2;text-align:center;max-width:900px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-size:.85rem;font-weight:500;color:rgba(255,255,255,.9);margin-bottom:26px}
.hero h1{color:#fff;font-size:clamp(2.4rem,6vw,4.4rem);letter-spacing:-.01em;margin-bottom:22px}
.hero-sub{font-size:clamp(1.05rem,2vw,1.25rem);color:rgba(255,255,255,.8);max-width:660px;margin:0 auto 40px}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.wave{position:absolute;bottom:-1px;left:0;width:100%;line-height:0}
.wave svg{display:block;width:100%;height:60px}
.wave path{fill:var(--gray-50)}
@media(min-width:768px){.hero{padding:130px 0 190px}.wave svg{height:120px}}

/* ---------- trust bar ---------- */
.trustbar{background:var(--gray-50);padding:34px 0 42px;border-bottom:1px solid var(--gray-200)}
.trust-label{text-align:center;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-500);margin-bottom:24px}
.trust-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:32px 60px;opacity:.5;filter:grayscale(1)}
.trust-logos span{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-weight:700;font-size:1.2rem;color:var(--gray-700)}

/* ---------- sections ---------- */
.section{padding:88px 0}
.bg-white{background:#fff}
.bg-gray{background:var(--gray-50)}
.bg-navy{background:var(--navy);position:relative;overflow:hidden}
.navy-glow{position:absolute;top:0;right:-15%;width:55%;height:100%;background:rgba(255,255,255,.05);border-radius:50% 0 0 50%;filter:blur(70px)}
.section-head{text-align:center;max-width:760px;margin:0 auto 60px}
.eyebrow{font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:12px}
.eyebrow.yellow{color:var(--yellow)}
.section-head h3{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:16px}
.section-head p{font-size:1.1rem;color:var(--gray-600)}
.on-dark{color:#fff!important}
.on-dark-sub{color:rgba(255,255,255,.8)!important}

/* ---------- cards / grids ---------- */
.grid-3{display:grid;gap:28px}
.grid-4{display:grid;gap:22px}
.grid-2{display:grid;gap:26px}
@media(min-width:680px){.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}
.grid-3.narrow{max-width:1020px;margin:0 auto}
.card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow-sm);transition:box-shadow .3s,border-color .3s,transform .3s}
.service-card{position:relative;overflow:hidden}
.service-card:hover{border-color:var(--yellow);box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.card-badge{position:absolute;top:0;right:0;background:var(--yellow);color:var(--navy);font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:5px 13px;border-radius:0 0 0 10px}
.icon-tile{width:56px;height:56px;border-radius:16px;background:rgba(11,13,99,.08);color:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:22px;transition:transform .3s}
.icon-tile.sm{width:48px;height:48px;border-radius:12px;margin-bottom:20px}
.icon-tile.accent-tile{background:rgba(253,228,40,.25)}
.service-card:hover .icon-tile{transform:scale(1.1)}
.service-card h4{font-size:1.25rem;margin-bottom:12px}
.service-card p{color:var(--gray-600);margin-bottom:22px}
.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--navy);font-weight:600;font-size:.95rem;transition:color .2s,gap .2s}
.text-link:hover{color:#14167e;gap:11px}

/* ---------- why split ---------- */
.split{display:grid;gap:60px;align-items:center}
@media(min-width:960px){.split{grid-template-columns:1fr 1fr;gap:70px}}
.split-media{position:relative}
.media-offset{position:absolute;inset:0;background:var(--navy);border-radius:26px;transform:translate(16px,16px)}
.split-media img{position:relative;z-index:2;border-radius:26px;box-shadow:var(--shadow-lg);width:100%;height:440px;object-fit:cover}
.split-media.caption img{height:400px}
.media-caption{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:60px 30px 26px;border-radius:0 0 26px 26px;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);color:#fff;font-family:var(--serif);font-size:1.2rem;font-weight:600}
.float-card{position:absolute;z-index:4;bottom:-24px;left:-14px;background:#fff;border-radius:18px;box-shadow:var(--shadow-lg);padding:20px 22px;display:flex;align-items:center;gap:14px;max-width:280px}
.float-icon{width:44px;height:44px;border-radius:50%;background:var(--green-bg);color:var(--green);display:flex;align-items:center;justify-content:center}
.float-card strong{display:block;color:var(--gray-900);font-size:1rem}
.float-card span{font-size:.83rem;color:var(--gray-500)}
.split-copy h3{font-size:clamp(1.8rem,3.2vw,2.4rem);margin-bottom:20px}
.split-copy .eyebrow{margin-bottom:10px}
.lead{font-size:1.08rem;color:var(--gray-600);margin-bottom:18px}
.why-list{display:flex;flex-direction:column;gap:26px;margin-top:32px}
.why-item{display:flex;gap:18px}
.why-icon{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:rgba(253,228,40,.28);color:var(--navy);display:flex;align-items:center;justify-content:center;margin-top:2px}
.why-item h4{font-size:1.18rem;margin-bottom:5px}
.why-item p{color:var(--gray-600)}
.pill{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;background:rgba(253,228,40,.28);color:var(--navy);font-size:.85rem;font-weight:700;margin-bottom:20px}

/* ---------- who we serve ---------- */
.serve-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:30px 26px;transition:background .3s,transform .3s}
.serve-card:hover{background:rgba(255,255,255,.12);transform:translateY(-4px)}
.serve-card h4{color:#fff;font-size:1.15rem;margin-bottom:10px}
.serve-card p{color:rgba(255,255,255,.75);font-size:.95rem}
.bg-navy .container{position:relative;z-index:2}

/* ---------- testimonials ---------- */
.testi-card{display:flex;flex-direction:column;gap:18px}
.stars{display:flex;gap:3px;color:var(--yellow)}
.stars .ic{color:#EAB308}
.testi-card blockquote{font-size:1rem;color:var(--gray-700);font-style:italic;flex:1}
.testi-author{display:flex;align-items:center;gap:14px;border-top:1px solid var(--gray-100);padding-top:18px}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--yellow);font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;font-family:var(--serif)}
.testi-author strong{display:block;color:var(--gray-900);font-size:.98rem}
.testi-author span{font-size:.83rem;color:var(--gray-500)}

/* ---------- CTA band ---------- */
.cta-band{background:var(--navy);color:#fff;text-align:center;padding:84px 0;position:relative;overflow:hidden}
.cta-band.slim{padding:66px 0}
.cta-band::before{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(253,228,40,.1),transparent 65%)}
.cta-band .container{position:relative;z-index:2}
.cta-band h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:16px}
.cta-band p{color:rgba(255,255,255,.8);font-size:1.08rem;max-width:640px;margin:0 auto 34px}

/* ---------- page hero (inner pages) ---------- */
.page-hero{background:var(--navy);color:#fff;padding:80px 0 90px;text-align:center;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;top:-30%;right:-10%;width:520px;height:520px;background:radial-gradient(circle,rgba(253,228,40,.12),transparent 65%)}
.page-hero .container{position:relative;z-index:2;max-width:840px}
.page-hero h1{color:#fff;font-size:clamp(1.9rem,4.4vw,3.1rem);margin-bottom:18px;letter-spacing:-.01em}
.page-hero p{color:rgba(255,255,255,.8);font-size:1.15rem}
.page-hero.light{background:#fff;border-bottom:1px solid var(--gray-200)}
.page-hero.light::after{display:none}
.page-hero.light h1{color:var(--gray-900)}
.page-hero.light p{color:var(--gray-600);font-size:1.15rem}
.hero-icon{width:64px;height:64px;border-radius:50%;background:#EFF6FF;color:#2563EB;border:1px solid #DBEAFE;display:inline-flex;align-items:center;justify-content:center;margin-bottom:22px;box-shadow:var(--shadow-sm)}

/* ---------- services rows ---------- */
.svc-row{display:grid;gap:48px;align-items:center;padding:64px 0;border-bottom:1px solid var(--gray-100)}
.svc-row:last-of-type{border-bottom:none}
@media(min-width:960px){.svc-row{grid-template-columns:1fr 1fr;gap:64px}}
.svc-copy h2{font-size:clamp(1.7rem,3vw,2.2rem);margin-bottom:16px}
.svc-media img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;height:400px;object-fit:cover}
@media(max-width:959px){.svc-row.rev .svc-media{order:2}}
.checklist{display:flex;flex-direction:column;gap:12px;margin:24px 0 30px}
.checklist li{display:flex;align-items:flex-start;gap:11px;color:var(--gray-700)}
.checklist .ic{margin-top:3px}
.checklist .ic.yellow{color:#D4B90A}
.checklist .ic.primary{color:var(--navy)}
.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 20px;margin:24px 0 30px}
.spec-item{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--gray-700)}
.spec-item .dot{width:7px;height:7px;border-radius:50%;background:var(--yellow);flex-shrink:0;box-shadow:0 0 0 3px rgba(253,228,40,.25)}
.svc-media.tiles{background:var(--gray-50);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:34px;display:flex;align-items:center;justify-content:center;min-height:400px}
.tiles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;width:100%}
.stat-tile{background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:34px 18px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:var(--navy);transition:transform .3s,box-shadow .3s}
.stat-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.stat-tile span{font-weight:700;color:var(--gray-900);font-size:.98rem}

/* ---------- steps ---------- */
.steps{display:grid;gap:38px;text-align:center}
@media(min-width:680px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{position:relative}
.step-num{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#fff;border:2px solid var(--gray-200);color:var(--navy);font-family:var(--serif);font-weight:700;font-size:1.25rem;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;transition:all .3s}
.step:hover .step-num{background:var(--yellow);border-color:var(--yellow)}
@media(min-width:1020px){
  .step:not(:last-child)::after{content:"";position:absolute;top:32px;left:60%;width:80%;height:2px;background:linear-gradient(to right,var(--gray-200),transparent)}
}
.step h3{font-family:var(--sans);font-size:1.1rem;font-weight:700;margin-bottom:8px}
.step p{font-size:.92rem;color:var(--gray-600)}

/* ---------- hipaa ---------- */
.hipaa-card h3{font-size:1.4rem;margin:16px 0 12px}
.hipaa-card p{color:var(--gray-600)}
.baa-card{margin-top:28px;background:var(--navy);color:#fff;border-radius:var(--radius-lg);padding:40px;display:flex;gap:24px;align-items:flex-start;box-shadow:var(--shadow-lg)}
.baa-icon{flex-shrink:0;width:56px;height:56px;border-radius:14px;background:rgba(253,228,40,.2);color:var(--yellow);display:flex;align-items:center;justify-content:center}
.baa-card h3{color:#fff;font-size:1.45rem;margin-bottom:12px}
.baa-card p{color:rgba(255,255,255,.82)}
@media(max-width:640px){.baa-card{flex-direction:column}}
.compliance-note{text-align:center;margin-top:48px}
.compliance-note p{max-width:620px;margin:0 auto 22px;color:var(--gray-600)}

/* ---------- about values ---------- */
.value-card{text-align:center;border:none;box-shadow:var(--shadow-md)}
.value-icon{width:64px;height:64px;margin:0 auto 22px;border-radius:50%;background:rgba(11,13,99,.08);color:var(--navy);display:flex;align-items:center;justify-content:center}
.value-card:nth-child(2) .value-icon{background:rgba(253,228,40,.28)}
.value-card h3{font-size:1.25rem;margin-bottom:14px}
.value-card p{font-size:.94rem;color:var(--gray-600)}
.page-hero .eyebrow{margin-bottom:16px}
.page-hero h1{max-width:820px;margin-left:auto;margin-right:auto}

/* ---------- contact ---------- */
.contact-grid{display:grid;gap:26px;align-items:start}
@media(min-width:960px){.contact-grid{grid-template-columns:1fr 2fr}}
.contact-side{display:flex;flex-direction:column;gap:22px}
.contact-info{background:var(--navy);color:#fff;border:none;box-shadow:var(--shadow-md)}
.contact-info h3{color:#fff;font-size:1.5rem;margin-bottom:26px}
.ci-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}
.ci-item:last-child{margin-bottom:0}
.ci-item .ic{margin-top:3px}
.ci-item h4{color:rgba(255,255,255,.92);font-family:var(--sans);font-size:.98rem;font-weight:600}
.ci-item p{color:rgba(255,255,255,.68);font-size:.86rem;margin-top:3px}
.ci-item a{display:block;margin-top:7px;font-weight:600;color:#fff;transition:color .2s}
.ci-item a:hover{color:var(--yellow)}
.portal-card{background:var(--yellow);color:var(--navy);border:none;box-shadow:var(--shadow-md);padding:26px}
.portal-card h4{font-size:1.15rem;margin-bottom:8px}
.portal-card p{font-size:.9rem;margin-bottom:18px;color:rgba(11,13,99,.85)}
.form-card{border:none;box-shadow:var(--shadow-lg);padding:44px}
@media(max-width:640px){.form-card{padding:28px 22px}}
.form-card h3{font-size:1.5rem;margin-bottom:26px}
.form-row{display:grid;gap:20px;margin-bottom:20px}
@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}
.form-row .field{margin-bottom:0}
.field label{font-size:.88rem;font-weight:600;color:var(--gray-900)}
.field input,.field select,.field textarea{font-family:var(--sans);font-size:.95rem;color:var(--gray-900);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:9px;padding:12px 14px;transition:border-color .2s,box-shadow .2s;width:100%}
.field textarea{resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(11,13,99,.12);background:#fff}
.form-note{font-size:.8rem;color:var(--gray-500);margin-top:18px;text-align:center}
.form-success{text-align:center;padding:70px 20px;display:flex;flex-direction:column;align-items:center}
.success-icon{width:80px;height:80px;border-radius:50%;background:var(--green-bg);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.form-success h3{margin-bottom:10px}
.form-success p{max-width:420px;margin:0 auto 30px;color:var(--gray-600)}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:rgba(255,255,255,.8);padding:64px 0 32px;border-top:6px solid var(--yellow)}
.footer-grid{display:grid;gap:44px;margin-bottom:48px}
@media(min-width:680px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.footer-logo{display:inline-block;background:transparent;padding:0;width:fit-content;margin-bottom:20px}
.footer-logo img{height:48px;width:auto;filter:brightness(0) invert(1)}
.footer-col>p{font-size:.9rem;max-width:280px}
.footer-col h3{color:#fff;font-size:1.1rem;margin-bottom:18px}
.footer-col ul{display:flex;flex-direction:column;gap:12px;font-size:.92rem}
.footer-col ul a{transition:color .2s,padding-left .2s}
.footer-col ul a:hover{color:var(--yellow);padding-left:5px}
.footer-contact li{display:flex;align-items:flex-start;gap:10px}
.footer-contact .ic{color:var(--yellow);margin-top:4px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:26px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;font-size:.85rem;color:rgba(255,255,255,.6)}
.footer-legal{display:flex;gap:24px}
.footer-legal a:hover{color:var(--yellow)}

/* ---------- animations ---------- */
.fade-up{opacity:0;transform:translateY(28px);animation:fadeUp .7s ease forwards}
.fade-up.d1{animation-delay:.15s}
.fade-up.d2{animation-delay:.3s}
.fade-up.d3{animation-delay:.45s}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fade-up,.reveal{opacity:1;transform:none;animation:none;transition:none}
  .btn,.card,.icon-tile,.step-num{transition:none}
}

/* ---------- nav dropdown ---------- */
.has-dropdown{position:relative}
.dropdown-trigger{background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:var(--sans)}
.dropdown-trigger .ic{transition:transform .25s}
.has-dropdown:hover .dropdown-trigger .ic,.has-dropdown:focus-within .dropdown-trigger .ic{transform:rotate(180deg)}
.dropdown-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);min-width:320px;background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:var(--shadow-lg);padding:10px;opacity:0;visibility:hidden;transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:80}
.dropdown-menu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.dropdown-menu::after{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#fff;border-left:1px solid var(--gray-200);border-top:1px solid var(--gray-200)}
.has-dropdown:hover .dropdown-menu,.has-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown-menu li a{display:block;padding:10px 14px;border-radius:9px;font-size:.9rem;font-weight:500;color:var(--gray-600);transition:background .15s,color .15s,padding-left .15s;border-left:3px solid transparent}
.dropdown-menu li a:hover{background:var(--gray-50);color:var(--navy);border-left-color:var(--yellow);padding-left:18px}

/* mobile submenu */
.mnav-group{display:flex;flex-direction:column}
.mnav-toggle{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;font-family:var(--sans);font-size:1rem}
.mnav-toggle .ic{transition:transform .25s}
.mnav-toggle[aria-expanded="true"] .ic{transform:rotate(180deg)}
.mnav-sub{display:none;flex-direction:column;gap:2px;padding:4px 0 8px 14px;border-left:2px solid var(--gray-100);margin-left:16px}
.mnav-sub.open{display:flex}
.mnav-sublink{padding:10px 14px;border-radius:8px;font-size:.92rem;color:var(--gray-500)}
.mnav-sublink:hover{background:var(--gray-50);color:var(--navy)}
.mnav-sublink.active{color:var(--navy);font-weight:600}

/* ---------- breadcrumb ---------- */
.breadcrumb{background:var(--navy);padding:14px 0 0;font-size:.82rem;color:rgba(255,255,255,.55)}
.breadcrumb a{color:rgba(255,255,255,.65);transition:color .2s}
.breadcrumb a:hover{color:var(--yellow)}
.breadcrumb span{margin:0 8px;opacity:.5}
.breadcrumb strong{color:rgba(255,255,255,.9);font-weight:500}
.breadcrumb + .page-hero{padding-top:56px}

/* ---------- seo pages ---------- */
.page-hero .hero-badge{margin-bottom:22px}
.page-hero .hero-actions{margin-top:32px}
.seo-intro h2,.seo-features h2{font-size:clamp(1.6rem,3vw,2.15rem);margin-bottom:22px}
.seo-intro p+p{margin-top:16px}
.seo-features .btn{margin-top:26px}
.checklist.two-col{display:grid;gap:12px 34px}
@media(min-width:680px){.checklist.two-col{grid-template-columns:1fr 1fr}}
.bh3{font-size:1.18rem;margin-bottom:11px}
.service-card .bh3+p{margin-bottom:0}

/* ---------- FAQ ---------- */
.faq-list{display:flex;flex-direction:column;gap:14px}
.faq-item{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .25s}
.faq-item[open]{border-color:var(--navy)}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;padding:20px 24px;font-family:var(--serif);font-weight:700;font-size:1.05rem;color:var(--gray-900)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .ic{color:var(--navy);transition:transform .25s}
.faq-item[open] summary .ic{transform:rotate(180deg)}
.faq-a{padding:0 24px 22px;color:var(--gray-600)}

/* ---------- related ---------- */
.related-section{padding-top:64px;padding-bottom:64px}
.related-h{font-size:1.5rem;margin-bottom:24px}
.related-grid{display:grid;gap:16px}
@media(min-width:680px){.related-grid{grid-template-columns:repeat(3,1fr)}}
.related-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:18px 20px;font-weight:600;color:var(--navy);font-size:.94rem;transition:all .25s}
.related-card:hover{background:var(--navy);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-md)}
.related-card .ic{flex-shrink:0}

/* footer 5-col */
@media(min-width:1020px){.footer-grid.five{grid-template-columns:1.3fr 1fr 1fr 1.4fr 1.3fr}}
.footer-kw{font-size:.86rem!important}

/* ---------- specialties hub ---------- */
.spec-hub-grid{display:grid;gap:20px}
@media(min-width:680px){.spec-hub-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.spec-hub-grid{grid-template-columns:repeat(3,1fr)}}
.spec-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm);transition:all .25s}
.spec-card:hover{border-color:var(--yellow);box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.spec-card h3{font-size:1.12rem}
.spec-card p{font-size:.9rem;color:var(--gray-600);flex:1}
.spec-card .text-link{font-size:.88rem}
.term-h{margin-top:38px}
.seo-features .term-h{margin-bottom:14px}
.all-spec-link{margin-top:26px}

/* ---------- specialty hub ---------- */
.spec-hub-grid{display:grid;gap:20px}
@media(min-width:680px){.spec-hub-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.spec-hub-grid{grid-template-columns:repeat(3,1fr)}}
.spec-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm);transition:all .28s}
.spec-card:hover{border-color:var(--yellow);box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.spec-card h3{font-size:1.12rem;color:var(--gray-900)}
.spec-card p{font-size:.9rem;color:var(--gray-600);flex:1}
.spec-card .text-link{font-size:.88rem}
.all-spec-link{margin-top:22px}

/* ---------- footer specialties strip ---------- */
.footer-specialties{border-top:1px solid rgba(255,255,255,.12);padding:26px 0 30px;margin-bottom:6px}
.footer-specialties h3{font-family:var(--serif);font-size:1rem;margin-bottom:14px}
.footer-specialties h3 a{color:#fff;transition:color .2s}
.footer-specialties h3 a:hover{color:var(--yellow)}
.footer-spec-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 22px;font-size:.82rem}
@media(min-width:680px){.footer-spec-links{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1020px){.footer-spec-links{grid-template-columns:repeat(5,1fr)}}
.footer-spec-links a{color:rgba(255,255,255,.65);transition:color .2s;padding:2px 0}
.footer-spec-links a:hover{color:var(--yellow)}

/* footer 6-col + tighter nav for two dropdowns */
@media(min-width:1020px){.footer-grid.six{grid-template-columns:1.25fr 0.8fr 1fr 1.25fr 1.15fr 1.25fr}}
@media(min-width:680px) and (max-width:1019px){.footer-grid.six{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.main-nav ul{gap:18px}.nav-link{font-size:.86rem}}
@media(min-width:1200px){.main-nav ul{gap:24px}.nav-link{font-size:.9rem}}

/* ---------- mega dropdown ---------- */
.dropdown-menu.mega{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;min-width:640px;padding:18px 20px}
.dropdown-menu.mega .mega-col ul{display:flex;flex-direction:column}
.mega-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500);padding:4px 14px 8px;border-bottom:1px solid var(--gray-100);margin-bottom:6px}
.has-dropdown:hover .dropdown-menu.mega,.has-dropdown:focus-within .dropdown-menu.mega{display:grid}

/* ---------- state pages ---------- */
.related-grid.four{grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.related-grid.four{grid-template-columns:repeat(4,1fr)}}
.usa-states-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px;margin:22px 0 8px}
@media(min-width:680px){.usa-states-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1020px){.usa-states-grid{grid-template-columns:repeat(4,1fr)}}
.footer-spec-link-inline{font-size:.9rem;font-weight:500;color:var(--navy);padding:6px 10px;border-radius:8px;border:1px solid var(--gray-200);background:var(--gray-50);text-align:center;transition:all .2s}
.footer-spec-link-inline:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ---------- explore band ---------- */
.explore-band{background:#080a4d;border-top:1px solid rgba(255,255,255,.08);padding:14px 0}
.explore-band .container{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.explore-label{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.explore-band a{font-size:.86rem;font-weight:500;color:rgba(255,255,255,.75);transition:color .2s}
.explore-band a:hover{color:var(--yellow)}

/* ---------- blog articles ---------- */
.article-body h2{font-size:1.5rem;margin:34px 0 14px}
.article-body h2:first-child{margin-top:0}
.article-body a{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:rgba(253,228,40,.7);text-underline-offset:3px}
.article-body a:hover{text-decoration-color:var(--navy)}
.related-grid.two{grid-template-columns:1fr}
@media(min-width:680px){.related-grid.two{grid-template-columns:repeat(2,1fr)}}

/* ---------- mobile overflow fixes ---------- */
html,body{overflow-x:clip}
.split>*,.grid-2>*,.grid-3>*,.grid-4>*,.contact-grid>*,.svc-row>*{min-width:0}
.split-media img,.svc-media img{max-width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
@media(max-width:680px){.media-offset{transform:translate(8px,8px)}}
@media(max-width:520px){.brand-name{font-size:1rem}.brand-sub{font-size:.55rem}}

/* contact form error */
.form-error{margin-top:16px;padding:13px 16px;border-radius:10px;background:#FEF2F2;border:1px solid #FECACA;color:#B91C1C;font-size:.9rem;text-align:center}
.form-error a{font-weight:700;text-decoration:underline}
button[disabled]{opacity:.65;cursor:not-allowed}

/* hidden attribute must always win over display rules */
[hidden]{display:none!important}

/* header spacing */
.main-nav{margin-right:18px}

/* ============================================================
   THEME: Scribe-inspired — indigo #4535ff, ice #f2f7f8, ink text,
   pill buttons, light airy sections. Overrides base theme below.
   ============================================================ */
:root{
  --navy:#4535ff;            /* primary is now electric indigo */
  --indigo:#4535ff;
  --indigo-dark:#3527d8;
  --ink:#16181d;
  --ink-deep:#0e1016;
  --yellow:#fed13b;
  --yellow-dark:#eec02a;
  --ice:#f2f7f8;
  --ice-2:#e9f1f3;
  --gray-50:#f6f9fa;
  --gray-100:#edf2f4;
}
h1,h2:not(.eyebrow),h3,h4{color:var(--ink)}

/* buttons: pills */
.btn{border-radius:999px}
.btn-primary{background:var(--indigo)}
.btn-primary:hover{background:var(--indigo-dark)}
.btn-accent{background:var(--indigo);color:#fff}
.btn-accent:hover{background:var(--indigo-dark)}
.btn-ghost{color:var(--ink)}
.btn-ghost:hover{color:var(--indigo);background:var(--ice)}
.btn-outline-primary{color:var(--indigo);border-color:rgba(69,53,255,.3)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline-color:var(--indigo)}

/* header */
.brand-name{color:var(--ink)}
.nav-link:hover{color:var(--indigo)}
.nav-link.active{color:var(--indigo);border-bottom-color:var(--indigo)}
.dropdown-menu li a:hover{color:var(--indigo);border-left-color:var(--indigo)}
.mnav-link:hover,.mnav-sublink:hover{color:var(--indigo)}
.mnav-link.active{color:var(--indigo);border-left-color:var(--indigo);background:var(--ice)}
.mnav-sublink.active{color:var(--indigo)}
.menu-toggle{color:var(--ink)}

/* light heroes (was navy) */
.hero,.page-hero{background:linear-gradient(180deg,#eef4f6 0%,#f7fafb 100%);color:var(--ink)}
.hero h1,.page-hero h1{color:var(--ink)}
.hero-sub,.page-hero p{color:var(--gray-600)}
.hero-bg{opacity:.06;mix-blend-mode:normal}
.hero-bg::after{background:linear-gradient(to bottom,rgba(242,247,248,.6),rgba(242,247,248,.92),#f7fafb)}
.page-hero::after{background:radial-gradient(circle,rgba(69,53,255,.08),transparent 65%)}
.hero-badge{background:#fff;border:1px solid var(--gray-200);color:var(--gray-700);box-shadow:var(--shadow-sm)}
.hero-badge .ic.yellow{color:var(--indigo)}
.page-hero .eyebrow.yellow,.eyebrow.yellow{color:var(--indigo)}
.btn-outline-light{color:var(--ink);border:1px solid rgba(22,24,29,.25);backdrop-filter:none}
.btn-outline-light:hover{background:#fff}
.wave path{fill:#fff}
.trustbar{background:#fff;border-bottom-color:var(--gray-100)}
.breadcrumb{background:#eef4f6;color:var(--gray-500);padding-top:16px}
.breadcrumb a{color:var(--gray-500)}
.breadcrumb a:hover{color:var(--indigo)}
.breadcrumb strong{color:var(--ink)}
.page-hero .eyebrow{color:var(--indigo)}

/* sections + cards */
.bg-gray{background:var(--ice)}
.card,.spec-card,.faq-item{border-radius:18px}
.service-card:hover{border-color:rgba(69,53,255,.4)}
.spec-card:hover{border-color:rgba(69,53,255,.4)}
.icon-tile{background:rgba(69,53,255,.08);color:var(--indigo);border-radius:16px}
.icon-tile.accent-tile{background:rgba(254,209,59,.28)}
.card-badge{background:var(--yellow);color:var(--ink)}
.text-link{color:var(--indigo)}
.text-link:hover{color:var(--indigo-dark)}
.why-icon{background:rgba(69,53,255,.1);color:var(--indigo)}
.pill{background:rgba(69,53,255,.09);color:var(--indigo)}
.spec-item .dot{background:var(--indigo);box-shadow:0 0 0 3px rgba(69,53,255,.18)}
.checklist .ic.yellow{color:var(--indigo)}
.checklist .ic.primary{color:var(--indigo)}
.step-num{color:var(--indigo)}
.step:hover .step-num{background:var(--indigo);border-color:var(--indigo);color:#fff}
.stat-tile{color:var(--indigo)}
.avatar{background:var(--indigo);color:#fff}
.stars .ic{color:#eab308}
.media-offset{background:var(--indigo)}
.faq-item[open]{border-color:var(--indigo)}
.faq-item summary .ic{color:var(--indigo)}
.related-card{color:var(--indigo);background:#fff;border-color:var(--gray-200)}
.related-card:hover{background:var(--indigo)}
.article-body a{color:var(--indigo);text-decoration-color:rgba(69,53,255,.35)}
.article-body a:hover{text-decoration-color:var(--indigo)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(69,53,255,.14)}
.usa-states-grid .footer-spec-link-inline{color:var(--indigo)}
.footer-spec-link-inline:hover{background:var(--indigo);border-color:var(--indigo)}

/* dark contrast sections: deep ink instead of navy */
.bg-navy{background:var(--ink-deep)}
.serve-card{border-radius:16px}
.bg-navy .eyebrow.yellow{color:var(--yellow)}

/* CTA band: Scribe electric indigo */
.cta-band{background:var(--indigo)}
.cta-band::before{background:radial-gradient(circle,rgba(255,255,255,.14),transparent 65%)}
.cta-band .btn-accent{background:#fff;color:var(--indigo)}
.cta-band .btn-accent:hover{background:var(--ice)}
.cta-band .btn-outline-light{color:#fff;border-color:rgba(255,255,255,.45)}
.cta-band .btn-outline-light:hover{background:rgba(255,255,255,.12)}

/* contact info + portal cards */
.contact-info{background:var(--indigo)}
.ci-item .ic.yellow{color:var(--yellow)}
.ci-item a:hover{color:var(--yellow)}
.portal-card{background:var(--yellow);color:var(--ink)}
.portal-card h4{color:var(--ink)}
.portal-card p{color:rgba(22,24,29,.8)}

/* hipaa/baa dark card follows indigo */
.baa-card{background:var(--ink-deep)}
.baa-icon{background:rgba(254,209,59,.2);color:var(--yellow)}
.hero-icon{background:rgba(69,53,255,.08);color:var(--indigo);border-color:rgba(69,53,255,.18)}

/* footer: light Scribe-style */
.site-footer{background:var(--ice);color:var(--gray-600);border-top:1px solid var(--gray-200)}
.site-footer h3,.footer-col h3{color:var(--ink)}
.footer-col ul a{color:var(--gray-600)}
.footer-col ul a:hover{color:var(--indigo)}
.footer-logo{background:transparent;border:none}
.footer-logo img{filter:none}
.footer-contact .ic{color:var(--indigo)}
.footer-contact a{color:var(--gray-700)}
.footer-bottom{border-top-color:var(--gray-200);color:var(--gray-500)}
.footer-legal a:hover{color:var(--indigo)}
.explore-band{background:#fff;border-top:1px solid var(--gray-200)}
.explore-label{color:var(--gray-500)}
.explore-band a{color:var(--gray-600)}
.explore-band a:hover{color:var(--indigo)}

/* misc */
.mobile-nav{border-bottom-color:var(--gray-200)}
.eyebrow{color:var(--indigo)}
.section-head .eyebrow{color:var(--indigo)}
.text-primary{color:var(--indigo)}
.float-card strong{color:var(--ink)}
.mega-label{color:var(--gray-500)}

/* re-assert white headings on dark/indigo surfaces (clobbered by ink heading rule) */
.cta-band h2{color:#fff}
.serve-card h4{color:#fff}
.on-dark,h3.on-dark{color:#fff!important}
.baa-card h3{color:#fff}
.contact-info h3{color:#fff}
.ci-item h4{color:rgba(255,255,255,.92)}
.form-success h3{color:var(--ink)}
.media-caption{color:#fff}

/* ============================================================
   CREATIVE HEADER — floating capsule
   ============================================================ */
.site-header{background:transparent;border-bottom:none;position:sticky;top:12px;padding:0 14px}
.site-header .container{max-width:1360px;padding:0}
.header-inner{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid var(--gray-200);border-radius:999px;height:66px;padding:0 10px 0 22px;
  box-shadow:0 4px 20px rgba(14,16,22,.06);transition:box-shadow .3s,background .3s}
.site-header.scrolled .header-inner{box-shadow:0 10px 34px rgba(14,16,22,.13);background:rgba(255,255,255,.95)}
.brand{margin-left:12px}
.brand-logo{height:38px}
.nav-link{padding:9px 13px;border-radius:999px;border-bottom:none;transition:background .2s,color .2s}
.nav-link:hover{background:var(--ice);color:var(--indigo)}
.nav-link.active{background:rgba(69,53,255,.08);color:var(--indigo);border-bottom:none}
.dropdown-trigger{border-radius:999px}
.dropdown-menu{border-radius:18px;top:calc(100% + 16px)}
.btn-pill{padding:11px 24px}
.header-cta{gap:6px}
.menu-toggle{margin-right:6px}
/* mobile nav opens as a floating card under the capsule */
.mobile-nav{margin:10px 0 0;border:1px solid var(--gray-200);border-radius:22px;box-shadow:0 18px 44px rgba(14,16,22,.14);overflow:hidden;max-height:72vh;overflow-y:auto}
@media(min-width:900px){.main-nav ul{gap:4px}}
@media(min-width:1200px){.main-nav ul{gap:6px}}

/* ============================================================
   CREATIVE FOOTER — dark rounded panel with glow + watermark
   ============================================================ */
.explore-band{background:transparent;border-top:none;padding:26px 0 22px}
.explore-band .container{gap:10px}
.explore-label{color:var(--gray-500)}
.explore-band a{background:#fff;border:1px solid var(--gray-200);border-radius:999px;padding:8px 16px;
  color:var(--gray-700);font-weight:600;box-shadow:var(--shadow-sm);transition:all .22s}
.explore-band a:hover{background:var(--indigo);border-color:var(--indigo);color:#fff;transform:translateY(-2px)}

.site-footer{background:var(--ink-deep);color:rgba(255,255,255,.62);border-top:none;
  margin:0 14px 14px;border-radius:30px;position:relative;overflow:hidden;padding:70px 0 30px}
.site-footer::before{content:"";position:absolute;top:-220px;right:-140px;width:560px;height:560px;
  background:radial-gradient(circle,rgba(69,53,255,.35),transparent 65%);pointer-events:none}
.site-footer::after{content:"SUNRISE";position:absolute;bottom:-42px;left:50%;transform:translateX(-50%);
  font-family:var(--serif);font-weight:700;font-size:clamp(90px,17vw,230px);letter-spacing:.04em;
  color:rgba(255,255,255,.035);white-space:nowrap;pointer-events:none;line-height:1}
.site-footer .container{position:relative;z-index:2}
.site-footer h3,.footer-col h3{color:#fff;position:relative;padding-bottom:10px}
.footer-col h3::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:3px;border-radius:3px;background:var(--indigo)}
.footer-col ul a{color:rgba(255,255,255,.6)}
.footer-col ul a:hover{color:var(--yellow);padding-left:5px}
.footer-col>p{color:rgba(255,255,255,.6)}
.footer-logo{background:transparent;border:none;border-radius:0;padding:0}
.footer-contact .ic{color:var(--yellow)}
.footer-contact a,.footer-contact span{color:rgba(255,255,255,.72)}
.footer-contact a:hover{color:var(--yellow)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.45)}
.footer-legal a{color:rgba(255,255,255,.55)}
.footer-legal a:hover{color:var(--yellow)}
@media(max-width:680px){.site-footer{margin:0 8px 8px;border-radius:22px}.site-header{padding:0 8px}}

/* ============================================================
   CONVERSION UPGRADE — hero v2, note card, stats, sticky CTA
   ============================================================ */
/* hero v2: two-column, aurora bg */
.hero-v2{position:relative;padding:92px 0 120px;overflow:hidden}
.hero-aurora{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(600px 420px at 12% 8%,rgba(69,53,255,.10),transparent 60%),
             radial-gradient(520px 380px at 88% 18%,rgba(254,209,59,.16),transparent 60%),
             radial-gradient(700px 480px at 55% 110%,rgba(80,152,193,.10),transparent 60%)}
.hero-grid{display:grid;gap:56px;align-items:center;position:relative;z-index:2}
@media(min-width:980px){.hero-grid{grid-template-columns:1.05fr .95fr}}
.hero-copy{text-align:left;max-width:600px}
.hero-v2 h1{font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.13;letter-spacing:-.02em;margin:22px 0 18px}
.hero-v2 .hero-sub{margin:0 0 28px;max-width:540px;font-size:1.08rem}
.hero-v2 .hero-actions{justify-content:flex-start;margin-bottom:0}
.accent-underline{color:var(--indigo);position:relative;white-space:nowrap}
.accent-underline::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:.34em;background:rgba(254,209,59,.55);z-index:-1;border-radius:3px}
.cta-note{font-size:.85rem;color:var(--gray-500);margin-top:14px;letter-spacing:.01em}
.cta-band .cta-note{color:rgba(255,255,255,.75);margin-top:16px;position:relative;z-index:2}
.btn .btn-arrow{transition:transform .22s}
.btn:hover .btn-arrow{transform:translateX(4px)}

/* living note card */
.hero-visual{position:relative;max-width:460px;justify-self:center;width:100%}
.note-card{background:#fff;border:1px solid var(--gray-200);border-radius:20px;
  box-shadow:0 24px 60px rgba(14,16,22,.12);overflow:hidden;transform:rotate(1.2deg)}
.note-head{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--gray-100);background:var(--gray-50)}
.note-dot-row{display:flex;gap:5px}
.note-dot-row span{width:9px;height:9px;border-radius:50%;background:var(--gray-200)}
.note-title{font-weight:700;font-size:.85rem;color:var(--ink)}
.note-chip{margin-left:auto;font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--indigo);
  background:rgba(69,53,255,.09);border:1px solid rgba(69,53,255,.2);padding:4px 10px;border-radius:999px}
.note-body{padding:20px 22px 14px;font-family:var(--serif)}
.note-label{font-family:var(--sans);font-size:.62rem;font-weight:700;letter-spacing:.14em;color:var(--gray-400);margin:12px 0 3px}
.note-label:first-child{margin-top:0}
.note-line{font-size:.95rem;color:var(--ink);line-height:1.45}
.note-line.typing span{display:inline-block;width:58%;height:.85em;border-radius:4px;vertical-align:middle;
  background:linear-gradient(90deg,var(--gray-100) 30%,var(--ice-2) 50%,var(--gray-100) 70%);background-size:200% 100%;animation:noteShimmer 1.8s linear infinite}
@keyframes noteShimmer{to{background-position:-200% 0}}
.note-verify{display:flex;gap:12px;align-items:center;padding:14px 20px;border-top:1px dashed var(--gray-200);background:rgba(8,207,141,.05)}
.verify-check{width:26px;height:26px;border-radius:50%;background:#08cf8d;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.note-verify strong{display:block;font-size:.84rem;color:var(--ink)}
.note-verify span{font-size:.72rem;color:var(--gray-500)}
.float-chip{position:absolute;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--gray-200);
  border-radius:999px;padding:9px 16px;font-size:.8rem;font-weight:700;color:var(--ink);box-shadow:0 12px 30px rgba(14,16,22,.12)}
.float-chip .ic{color:var(--indigo)}
.chip-a{top:-18px;right:-8px;animation:chipFloat 5s ease-in-out infinite}
.chip-b{bottom:-16px;left:-10px;animation:chipFloat 6s ease-in-out 1.2s infinite}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:979px){.hero-visual{max-width:420px;margin-top:6px}.chip-a{right:2px}.chip-b{left:2px}}
@media(prefers-reduced-motion:reduce){.chip-a,.chip-b,.note-line.typing span{animation:none}.btn .btn-arrow{transition:none}}

/* stats band */
.stats-band{background:#fff;padding:34px 0 40px;border-bottom:1px solid var(--gray-100)}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 14px;text-align:center}
@media(min-width:760px){.stats-grid{grid-template-columns:repeat(4,1fr)}}
.stat-num{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--indigo);letter-spacing:-.02em}
.stat-label{font-size:.82rem;font-weight:600;color:var(--gray-500);letter-spacing:.02em}

/* sticky mobile CTA bar */
.mcta{position:fixed;left:10px;right:10px;bottom:10px;z-index:60;display:none;gap:8px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid var(--gray-200);
  border-radius:999px;padding:8px;box-shadow:0 14px 40px rgba(14,16,22,.22)}
.mcta a{flex:1;text-align:center;font-weight:700;font-size:.86rem;padding:12px 10px;border-radius:999px}
.mcta .mcta-primary{background:var(--indigo);color:#fff}
.mcta .mcta-secondary{color:var(--indigo)}
@media(max-width:760px){.mcta{display:flex}body{padding-bottom:74px}}

/* contact reassurance panel */
.assure{display:grid;gap:10px;margin:0 0 26px;padding:18px 20px;background:#fff;border:1px solid var(--gray-200);border-radius:16px}
.assure div{display:flex;gap:10px;align-items:center;font-size:.9rem;color:var(--gray-700);font-weight:500}
.assure .ic{color:#08cf8d;flex-shrink:0}

/* login page */
.login-grid{display:grid;gap:22px;margin-bottom:26px}
@media(min-width:720px){.login-grid{grid-template-columns:1fr 1fr}}
.login-card{text-align:center;padding:38px 30px}
.login-card .icon-tile{margin:0 auto 18px}
.login-card h2{font-size:1.35rem;margin-bottom:10px}
.login-card p{color:var(--gray-600);margin-bottom:22px;min-height:66px}
.login-card .btn .ic{margin-left:2px}
.login-help{text-align:center;color:var(--gray-600);font-size:.92rem}
.login-help a{color:var(--indigo);font-weight:600}

/* ============================================================
   CONVERSION TIER 2 — steps, comparison, chips, trial strip
   ============================================================ */
/* how it works */
.how-section{border-bottom:1px solid var(--gray-100)}
.steps-flow{display:grid;gap:20px;position:relative}
@media(min-width:820px){.steps-flow{grid-template-columns:repeat(3,1fr);gap:26px}
  .steps-flow::before{content:"";position:absolute;top:26px;left:12%;right:12%;height:2px;
  background:repeating-linear-gradient(90deg,var(--gray-200) 0 8px,transparent 8px 16px);z-index:0}}
.step-card{position:relative;z-index:1;background:#fff;border:1px solid var(--gray-200);border-radius:18px;
  padding:26px 24px;transition:transform .25s,box-shadow .25s}
.step-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(14,16,22,.09)}
.step-bullet{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;
  background:var(--indigo);color:#fff;font-family:var(--serif);font-weight:700;font-size:1.35rem;margin-bottom:16px;
  box-shadow:0 8px 20px rgba(69,53,255,.32)}
.step-card h4{font-size:1.12rem;margin-bottom:8px;color:var(--ink)}
.step-card p{font-size:.92rem;color:var(--gray-600);line-height:1.6}

/* comparison table */
.container.narrow2{max-width:920px}
.compare-wrap{overflow-x:auto;border-radius:20px;border:1px solid var(--gray-200);background:#fff;box-shadow:var(--shadow-sm)}
.compare-table{width:100%;border-collapse:collapse;min-width:560px}
.compare-table th,.compare-table td{padding:15px 18px;text-align:center;font-size:.92rem;border-bottom:1px solid var(--gray-100)}
.compare-table tbody tr:last-child td{border-bottom:none}
.compare-table td:first-child{text-align:left;font-weight:600;color:var(--ink);max-width:280px}
.compare-table thead th{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--gray-500);background:var(--gray-50)}
.compare-table .hl{background:rgba(69,53,255,.055)}
.compare-table thead th.hl{color:var(--indigo);font-weight:800}
.c-yes{color:#08a06f;display:inline-flex}
.c-no{color:#d1d5db;display:inline-flex}
.c-dash{color:var(--gray-400);font-size:.8rem;font-style:italic}

/* testimonial result chips */
.result-chip{display:inline-block;margin:10px 0 2px;font-size:.72rem;font-weight:800;letter-spacing:.05em;
  color:var(--indigo);background:rgba(69,53,255,.09);border:1px solid rgba(69,53,255,.18);padding:5px 12px;border-radius:999px}

/* final CTA trust chips */
.cta-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;position:relative;z-index:2}
.cta-chips span{font-size:.78rem;font-weight:700;color:#fff;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);padding:7px 15px;border-radius:999px;letter-spacing:.02em}

/* inline trial strip (interior pages) */
.trial-strip{background:linear-gradient(90deg,rgba(69,53,255,.07),rgba(254,209,59,.10));border-block:1px solid var(--gray-100);padding:22px 0}
.trial-strip .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 26px;text-align:center}
.trial-strip p{margin:0;font-size:1rem;color:var(--gray-700)}
.trial-strip strong{color:var(--ink)}

/* ============================================================
   PREMIUM POLISH — typography rhythm, motion, micro-details
   ============================================================ */
/* selection + focus + skip link */
::selection{background:rgba(69,53,255,.18);color:var(--ink)}
:focus-visible{outline:3px solid rgba(69,53,255,.55);outline-offset:2px;border-radius:6px}
.skip-link{position:absolute;left:14px;top:-60px;z-index:200;background:var(--indigo);color:#fff;font-weight:700;
  padding:12px 20px;border-radius:999px;transition:top .2s}
.skip-link:focus{top:14px}

/* typographic rhythm */
.section{padding:88px 0}
@media(max-width:760px){.section{padding:64px 0}}
.section-head{margin-bottom:52px}
.section-head h3{font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.02em;line-height:1.18;max-width:640px;margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;font-weight:800;letter-spacing:.16em}
.section-head .eyebrow::before,.section-head .eyebrow::after{content:"";width:22px;height:2px;border-radius:2px;background:rgba(69,53,255,.35)}
p.lead{line-height:1.75}
.seo-intro h2,.seo-features h2{font-size:clamp(1.45rem,2.6vw,1.9rem);letter-spacing:-.015em;margin-bottom:18px}
.seo-intro p.lead{max-width:68ch}

/* trustbar premium chips */
.trustbar{padding:26px 0 30px}
.trust-label{font-size:.7rem;font-weight:800;letter-spacing:.18em;color:var(--gray-400);text-transform:uppercase;text-align:center;margin-bottom:16px}
.trust-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px}
.trust-logos span{display:inline-flex;align-items:center;gap:8px;font-size:.83rem;font-weight:700;color:var(--gray-700);
  background:var(--gray-50);border:1px solid var(--gray-100);padding:9px 16px;border-radius:999px}
.trust-logos .ic{color:var(--indigo)}

/* unified premium card hover: lift + top accent line */
.service-card,.spec-card,.step-card,.login-card{position:relative;overflow:hidden}
.service-card::before,.spec-card::before,.step-card::before,.login-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--indigo),#8f84ff);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.service-card:hover::before,.spec-card:hover::before,.step-card:hover::before,.login-card:hover::before{transform:scaleX(1)}
.card:hover,.spec-card:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(14,16,22,.10)}

/* staggered reveals in grids */
.grid-3 .reveal:nth-child(2),.steps-flow .reveal:nth-child(2),.related-grid .reveal:nth-child(2){transition-delay:.08s}
.grid-3 .reveal:nth-child(3),.steps-flow .reveal:nth-child(3),.related-grid .reveal:nth-child(3){transition-delay:.16s}
.grid-3 .reveal:nth-child(4){transition-delay:.06s}
.grid-3 .reveal:nth-child(5){transition-delay:.14s}
.grid-3 .reveal:nth-child(6){transition-delay:.22s}

/* testimonials: editorial serif quotes, featured first card */
.testi-card blockquote{font-family:var(--serif);font-size:1.04rem;line-height:1.65;color:var(--gray-700)}
.testi-card{position:relative;padding-top:34px}
.testi-card::before{content:"\201C";position:absolute;top:6px;left:22px;font-family:var(--serif);font-size:3.6rem;line-height:1;color:rgba(69,53,255,.16)}
@media(min-width:900px){
  .testi-card:first-child{grid-row:span 1}
  .testi-card:first-child blockquote{font-size:1.16rem}}

/* imagery treatment */
.split-media img,.svc-media img{border-radius:20px;box-shadow:0 18px 44px rgba(14,16,22,.10)}
.split-media{border-radius:20px}

/* buttons: indigo glow + press state */
.btn-primary:hover,.btn-accent:hover{box-shadow:0 10px 26px rgba(69,53,255,.35)}
.cta-band .btn-accent:hover{box-shadow:0 10px 26px rgba(255,255,255,.25)}
.btn:active{transform:translateY(1px)}

/* interior page-hero: subtle premium texture */
.page-hero{position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(69,53,255,.10) 1px,transparent 1px);background-size:26px 26px;
  mask-image:radial-gradient(420px 260px at 50% 0%,#000,transparent 75%);-webkit-mask-image:radial-gradient(420px 260px at 50% 0%,#000,transparent 75%)}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{letter-spacing:-.02em}

/* note card: interactive settle + gloss */
.note-card{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.hero-visual:hover .note-card{transform:rotate(0deg)}
.note-card::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:20px;
  background:linear-gradient(115deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.35) 50%,rgba(255,255,255,0) 60%);opacity:0;transition:opacity .5s}
.hero-visual:hover .note-card::after{opacity:1}
.note-card{position:relative}

/* faq refinement */
.faq-item{border-radius:16px}
.faq-item summary{font-weight:700}
.faq-item summary:hover{color:var(--indigo)}
.faq-a p{line-height:1.7}
.faq-a a{color:var(--indigo);font-weight:600;text-decoration:underline;text-decoration-color:rgba(69,53,255,.3);text-underline-offset:3px}

/* explore chips + footer breathing room */
.explore-band{padding:30px 0 26px}

@media(prefers-reduced-motion:reduce){
  .card:hover,.spec-card:hover,.step-card:hover{transform:none}
  .service-card::before,.spec-card::before,.step-card::before,.login-card::before{transition:none}
  .reveal{transition-delay:0s!important}
  .note-card,.note-card::after{transition:none}}
.c-no{color:#7c8594}
