
:root{
  --navy:#0b1f3a; --blue:#1397ef; --blue2:#0879d9; --ink:#142033;
  --muted:#617086; --soft:#f5f9fd; --line:#dce8f2; --white:#fff;
  --radius:22px; --shadow:0 16px 45px rgba(15,55,95,.10);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{color:inherit;text-decoration:none}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{font-size:27px;font-weight:800;letter-spacing:-1.2px;color:var(--navy)}.brand span{color:var(--blue)}
nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:650}nav a:hover{color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;background:linear-gradient(135deg,var(--blue2),var(--blue));color:white;font-weight:750;border:0;cursor:pointer}
.btn.secondary{background:white;color:var(--navy);border:1px solid var(--line)}
.hero{padding:88px 0 72px;background:radial-gradient(circle at 80% 20%,#e9f6ff 0,transparent 31%),linear-gradient(180deg,#fff,#f9fcff)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}
.eyebrow{color:var(--blue2);font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
h1{font-size:clamp(46px,6vw,74px);line-height:1.02;letter-spacing:-3.2px;margin:13px 0 22px;color:var(--navy)}
h2{font-size:clamp(31px,4vw,44px);line-height:1.12;letter-spacing:-1.8px;color:var(--navy);margin:0 0 18px}
h3{color:var(--navy);font-size:20px;margin:0 0 8px}.lead{font-size:20px;color:var(--muted);max-width:670px}
.actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.smile-card{background:linear-gradient(145deg,#0a78db,#1ca8f4);border-radius:34px;padding:52px 44px;color:#fff;box-shadow:var(--shadow);min-height:355px;display:flex;flex-direction:column;justify-content:center}
.smile-card .fynd{font-size:62px;font-weight:850;letter-spacing:-3px;text-align:center}
.smile{width:145px;height:42px;border-bottom:9px solid white;border-radius:0 0 90px 90px;margin:0 auto 28px}
.smile-card p{font-size:17px;text-align:center;opacity:.94}
section{padding:78px 0}.center{text-align:center}.center .sub{margin:0 auto;max-width:720px}
.sub{color:var(--muted);font-size:18px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 8px 30px rgba(15,55,95,.055)}
.icon{width:48px;height:48px;border-radius:14px;background:#eaf6ff;color:var(--blue2);display:grid;place-items:center;font-weight:900;font-size:20px;margin-bottom:18px}
.band{background:var(--navy);color:white}.band h2,.band h3{color:white}.band .sub{color:#c8d6e7}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.step-num{font-size:13px;color:#72c8ff;font-weight:900;letter-spacing:.12em}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.checks{display:grid;gap:14px;margin-top:25px}.check{display:flex;gap:12px}.check b{color:var(--blue2)}
.cta{padding:48px;border-radius:30px;background:linear-gradient(135deg,#f0f8ff,#fbfdff);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}
footer{padding:45px 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.footer-grid{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.page-hero{padding:70px 0 48px;background:var(--soft)}.page-hero h1{font-size:52px}.content{max-width:800px}.content h2{font-size:30px;margin-top:38px}.content p,.content li{color:#44546a}
form{display:grid;gap:14px;margin-top:28px}label{font-weight:700;color:var(--navy)}input,textarea,select{width:100%;padding:14px 15px;border:1px solid #cad8e5;border-radius:12px;font:inherit}textarea{min-height:150px}
.notice{font-size:13px;color:var(--muted)}
@media(max-width:800px){nav>a:not(.btn){display:none}.hero-grid,.split{grid-template-columns:1fr}.cards,.steps{grid-template-columns:1fr}.hero{padding-top:58px}.smile-card{min-height:280px}.cta{align-items:flex-start;flex-direction:column}h1{letter-spacing:-2px}}

.brand-logo{display:flex;align-items:center;height:64px}
.brand-logo img{display:block;width:auto;height:58px;max-width:260px;object-fit:contain}
@media(max-width:800px){.brand-logo img{height:50px;max-width:215px}}

.hero-grid.hero-single{grid-template-columns:minmax(0,760px);justify-content:start}
.hero-grid.hero-single .lead{max-width:720px}
.contact-cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}
.email-link{color:var(--blue2);font-weight:800}
.email-link:hover{text-decoration:underline}
@media(max-width:800px){.contact-cards{grid-template-columns:1fr}}

/* v1.3 refinements */
.brand-logo{height:64px;overflow:visible}
.brand-logo img{
  height:48px;
  width:auto;
  max-width:205px;
  object-fit:contain;
}
.hero-grid.hero-single.hero-centered{
  display:block;
  max-width:1120px;
}
.hero-grid.hero-single.hero-centered > div{
  max-width:820px;
}
.hero-grid.hero-single.hero-centered h1{
  max-width:720px;
}
.hero-grid.hero-single.hero-centered .lead{
  max-width:760px;
}
@media(max-width:800px){
  .brand-logo{height:58px}
  .brand-logo img{height:42px;max-width:178px}
}

/* v1.4 requested homepage refinements */
.brand-logo{height:56px}
.brand-logo img{
  height:34px;
  width:auto;
  max-width:150px;
}
.one-line-headline{
  white-space:nowrap;
  max-width:none !important;
  font-size:clamp(42px,5vw,68px);
  letter-spacing:-3px;
}
.hero-grid.hero-single.hero-centered > div{
  max-width:1000px;
}
@media(max-width:800px){
  .brand-logo{height:54px}
  .brand-logo img{height:30px;max-width:135px}
  .one-line-headline{
    white-space:normal;
    font-size:clamp(40px,11vw,58px);
    letter-spacing:-2px;
  }
}

/* v1.6 corrected tightly-cropped transparent header logo */
.brand-logo{
  display:flex;
  align-items:center;
  height:52px;
  line-height:0;
}
.brand-logo img{
  display:block;
  height:36px;
  width:auto;
  max-width:165px;
  object-fit:contain;
}
@media(max-width:800px){
  .brand-logo{height:50px}
  .brand-logo img{height:32px;max-width:145px}
}

/* v1.7 definitive header/favicon sizing */
.nav{height:62px}
.brand-logo{
  height:44px !important;
  width:auto !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
}
.brand-logo img{
  height:27px !important;
  width:auto !important;
  max-width:120px !important;
  object-fit:contain !important;
}
@media(max-width:800px){
  .nav{height:58px}
  .brand-logo{height:40px !important}
  .brand-logo img{height:25px !important;max-width:110px !important}
}

/* v1.8 homepage/header changes */
.brand-logo img{
  height:24px !important;
  width:auto !important;
  max-width:118px !important;
}
.hero-grid.hero-two-column{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:64px;
  align-items:center;
}
.hero-logo-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:260px;
}
.hero-logo-panel img{
  width:min(100%,390px);
  height:auto;
  display:block;
}
@media(max-width:800px){
  .brand-logo img{height:23px !important;max-width:108px !important}
  .hero-grid.hero-two-column{grid-template-columns:1fr;gap:34px}
  .hero-logo-panel{min-height:160px}
  .hero-logo-panel img{width:min(82%,320px)}
}

/* v1.9 explicit hero/header correction */
.brand-logo img{
  height:22px !important;
  width:auto !important;
  max-width:112px !important;
}
.hero-grid.hero-two-column{
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr) !important;
  gap:70px !important;
  align-items:center !important;
}
.hero-copy{min-width:0}
.hero-logo-panel{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:300px !important;
}
.hero-logo-panel img{
  display:block !important;
  width:100% !important;
  max-width:390px !important;
  height:auto !important;
  opacity:1 !important;
  visibility:visible !important;
}
@media(max-width:800px){
  .hero-grid.hero-two-column{grid-template-columns:1fr !important;gap:30px !important}
  .hero-logo-panel{min-height:150px !important}
  .hero-logo-panel img{max-width:300px !important}
}

/* v2.0 targeted logo corrections only */
.brand-logo img{
  height:auto !important;
  width:138px !important;
  max-width:138px !important;
  object-fit:contain !important;
}
.hero-logo-panel{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:28px !important;
  overflow:visible !important;
}
.hero-logo-panel img{
  display:block !important;
  width:100% !important;
  max-width:285px !important;
  height:auto !important;
  object-fit:contain !important;
  overflow:visible !important;
}
@media(max-width:800px){
  .brand-logo img{width:125px !important;max-width:125px !important}
  .hero-logo-panel img{max-width:245px !important}
}

/* v2.1 HEADER ONLY — complete non-smiling wordmark */
.brand-logo{
  display:flex !important;
  align-items:center !important;
  height:48px !important;
  line-height:0 !important;
}
.brand-logo img{
  display:block !important;
  width:138px !important;
  max-width:138px !important;
  height:auto !important;
  object-fit:contain !important;
}
@media(max-width:800px){
  .brand-logo img{width:125px !important;max-width:125px !important}
}

/* v2.2 HEADER LAYOUT ONLY */
header .nav{
  height:64px !important;
  min-height:64px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  align-items:center !important;
}
header .brand-logo{
  height:auto !important;
  min-height:0 !important;
  display:flex !important;
  align-items:center !important;
  line-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}
header .brand-logo img{
  display:block !important;
  width:138px !important;
  max-width:138px !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
}
header nav{
  height:64px !important;
  align-items:center !important;
}
@media(max-width:800px){
  header .nav, header nav{height:60px !important;min-height:60px !important}
  header .brand-logo img{width:125px !important;max-width:125px !important}
}

/* v2.3 — enlarge homepage right-side smiling logo only */
.hero-logo-panel img{
  width:100% !important;
  max-width:395px !important;
  height:auto !important;
}
@media(max-width:800px){
  .hero-logo-panel img{
    max-width:330px !important;
  }
}


/* =========================================================
   FINAL HOMEPAGE HERO LAYOUT
   Genuine single-column hero; centered across full page width.
   This block intentionally comes last so it overrides legacy
   two-column/grid rules above.
   ========================================================= */
.hero.hero-centered .hero-grid.hero-one-column {
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.hero.hero-centered .hero-grid.hero-one-column .hero-copy {
  display: block !important;
  width: 100% !important;
  max-width: 1000px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
}

.hero.hero-centered .hero-grid.hero-one-column .eyebrow,
.hero.hero-centered .hero-grid.hero-one-column h1,
.hero.hero-centered .hero-grid.hero-one-column .one-line-headline,
.hero.hero-centered .hero-grid.hero-one-column .lead {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.hero.hero-centered .hero-grid.hero-one-column .actions {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 800px) {
  .hero.hero-centered .hero-grid.hero-one-column .one-line-headline {
    white-space: normal !important;
  }
  .hero.hero-centered .hero-grid.hero-one-column .actions {
    flex-wrap: wrap !important;
  }
}

/* How It Works page refinements */
.how-it-works-page .page-hero h1{
  letter-spacing:-1.4px !important;
}
.how-it-works-page .page-hero .lead{
  width:100% !important;
  max-width:none !important;
}
.how-it-works-page .content{
  width:100% !important;
  max-width:none !important;
}
.how-it-works-page .content h2{
  letter-spacing:-0.8px !important;
}
.how-it-works-page .content p{
  width:100% !important;
  max-width:none !important;
}

/* For Partners page refinements */
.partners-page .page-hero .wrap{
  display:block !important;
  width:100% !important;
}
.partners-page .page-hero h1{
  width:100% !important;
  max-width:none !important;
  letter-spacing:-1.4px !important;
}
.partners-page .page-hero .lead{
  width:100% !important;
  max-width:none !important;
}

/* For Partners hero — match How It Works page layout */
.partners-page .page-hero .wrap{
  display:block !important;
  width:100% !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
}
.partners-page .page-hero h1{
  width:auto !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.partners-page .page-hero .lead{
  width:auto !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* FINAL Partners hero alignment — identical standard wrap positioning to How It Works */
.partners-page .page-hero > .wrap{
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
.partners-page .page-hero .eyebrow,
.partners-page .page-hero h1,
.partners-page .page-hero .lead{
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* About page headline spacing */
.about-page .page-hero h1{
  letter-spacing:-1.2px !important;
}

/* Keep header CTA text white in all interactive states */
header a.btn.primary,
header a.btn.primary:hover,
header a.btn.primary:focus,
header a.btn.primary:active,
header .btn.primary,
header .btn.primary:hover,
header .btn.primary:focus,
header .btn.primary:active{
  color:#fff !important;
}

/* Contact page refinements */
.contact-page .page-hero .wrap{
  width:min(1120px, calc(100% - 48px)) !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.contact-page .page-hero h1{
  letter-spacing:-1.2px !important;
}
.contact-page .page-hero .lead{
  width:100% !important;
  max-width:none !important;
}
.contact-page .content{
  width:100% !important;
  max-width:none !important;
}
.contact-page .content h2{
  letter-spacing:-0.7px !important;
}
.contact-page .contact-cards{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  max-width:none !important;
  width:100% !important;
}
.contact-page .contact-cards h3{
  letter-spacing:-0.25px !important;
}
@media(max-width:800px){
  .contact-page .contact-cards{
    grid-template-columns:1fr !important;
  }
}

/* FINAL header CTA text color lock — always white */
header a.btn.primary:link,
header a.btn.primary:visited,
header a.btn.primary:hover,
header a.btn.primary:focus,
header a.btn.primary:focus-visible,
header a.btn.primary:active,
header .nav a.btn.primary:link,
header .nav a.btn.primary:visited,
header .nav a.btn.primary:hover,
header .nav a.btn.primary:focus,
header .nav a.btn.primary:focus-visible,
header .nav a.btn.primary:active{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

/* Home process cards — match Contact card formatting */
.home-process-cards{
  text-align:left !important;
}
.home-process-cards .card{
  text-align:left !important;
  padding:28px !important;
}
.home-process-cards .icon{
  margin-left:0 !important;
  margin-right:0 !important;
  margin-bottom:18px !important;
}
.home-process-cards h3,
.home-process-cards p{
  text-align:left !important;
}

/* FINAL About body alignment */
.about-page main > section:not(.page-hero) > .wrap.content{
  width:min(1120px, calc(100% - 48px)) !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.about-page main > section:not(.page-hero) .content,
.about-page main > section:not(.page-hero) .content > p,
.about-page main > section:not(.page-hero) .content > h2{
  max-width:none !important;
}

/* About hero supporting sentence — one line on desktop */
@media (min-width: 900px){
  .about-page .page-hero .lead{
    width:100% !important;
    max-width:none !important;
    white-space:nowrap !important;
  }
}
@media (max-width: 899px){
  .about-page .page-hero .lead{
    white-space:normal !important;
  }
}


/* Expanded legal and privacy pages */
.legal-page .page-hero h1{
  letter-spacing:-1.2px;
}
.legal-page .page-hero .lead{
  max-width:980px;
}
.legal-date{
  margin-top:18px;
  color:#64748b;
  font-size:14px;
}
.legal-content{
  width:min(1120px, calc(100% - 48px));
  max-width:1120px;
  margin:0 auto;
  padding:64px 0 80px;
  color:#3f536f;
  font-size:16px;
  line-height:1.72;
}
.legal-content h2{
  color:#0b1f3a;
  font-size:25px;
  letter-spacing:-.45px;
  margin:42px 0 12px;
}
.legal-content h2:first-of-type{
  margin-top:34px;
}
.legal-content h3{
  color:#0b1f3a;
  font-size:19px;
  margin:0 0 8px;
}
.legal-content p{
  max-width:none;
  margin:0 0 16px;
}
.legal-content ul{
  margin:10px 0 20px 22px;
  padding:0;
}
.legal-content li{
  margin:7px 0;
  padding-left:3px;
}
.legal-content a{
  color:#087fe5;
  font-weight:700;
}
.legal-note{
  background:#f2f8fe;
  border:1px solid #d7e7f6;
  border-radius:18px;
  padding:22px 24px;
  color:#334a67;
  line-height:1.65;
}
.legal-note strong{
  color:#0b1f3a;
}
.privacy-request-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:26px 0 34px;
}
.legal-card{
  border:1px solid #d7e3ef;
  border-radius:18px;
  padding:22px;
  background:#fff;
}
.legal-card p{
  margin:0;
}
@media(max-width:760px){
  .legal-content{
    width:min(100% - 32px,1120px);
    padding:42px 0 60px;
  }
  .privacy-request-grid{
    grid-template-columns:1fr;
  }
}

/* Trust & compliance / privacy request additions */
.compliance-page .page-hero .lead{max-width:1020px;}
.privacy-form{
  margin:24px 0 38px;
  padding:28px;
  border:1px solid #d7e3ef;
  border-radius:20px;
  background:#fff;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.privacy-form label{
  display:block;
  color:#0b1f3a;
  font-weight:700;
  margin-bottom:18px;
}
.privacy-form label span{font-weight:400;color:#64748b;}
.privacy-form input[type="text"],
.privacy-form input[type="email"],
.privacy-form input[type="tel"],
.privacy-form select,
.privacy-form textarea{
  width:100%;
  box-sizing:border-box;
  margin-top:7px;
  padding:13px 14px;
  border:1px solid #cbd8e5;
  border-radius:10px;
  background:#fff;
  color:#20344f;
  font:inherit;
}
.privacy-form textarea{resize:vertical;}
.privacy-form input:focus,
.privacy-form select:focus,
.privacy-form textarea:focus{
  outline:2px solid rgba(19,151,239,.18);
  border-color:#1397ef;
}
.privacy-form .certify{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-weight:400;
  color:#3f536f;
}
.privacy-form .certify input{margin-top:6px;}
.privacy-submit{border:0;cursor:pointer;}
.form-help{font-size:14px;color:#64748b;margin:14px 0 0!important;}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}.privacy-form{padding:20px}}


/* Privacy request form bottom-row correction */
.legal-page .privacy-form .certify{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  max-width:900px !important;
  margin:8px 0 20px !important;
  padding:0 !important;
  text-align:left !important;
}
.legal-page .privacy-form .certify input[type="checkbox"]{
  flex:0 0 auto !important;
  width:16px !important;
  height:16px !important;
  margin:5px 0 0 !important;
  padding:0 !important;
}
.legal-page .privacy-form .certify span{
  display:block !important;
  flex:1 1 auto !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  color:#3f536f !important;
  font-weight:400 !important;
  line-height:1.6 !important;
}
.legal-page .privacy-form .privacy-submit{
  display:inline-flex !important;
  width:auto !important;
  min-width:170px !important;
  max-width:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:13px 22px !important;
  margin:0 !important;
}


/* Server-submitted privacy request form */
.website-field{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.privacy-form-status{
  border-radius:12px;
  padding:14px 16px;
  margin:0 0 20px;
  font-weight:600;
}
.privacy-form-status.success{
  background:#eef9f2;
  border:1px solid #b9dfc6;
  color:#245b36;
}
.privacy-form-status.error{
  background:#fff3f3;
  border:1px solid #edc2c2;
  color:#8a2c2c;
}
.confirmation-box{
  max-width:760px;
}
.reference-number{
  color:#0b1f3a;
  font-size:24px;
  font-weight:800;
  letter-spacing:.4px;
  margin:10px 0 14px;
}


/* Keep all primary button text white in every interaction state */
a.btn.primary:link,
a.btn.primary:visited,
a.btn.primary:hover,
a.btn.primary:focus,
a.btn.primary:focus-visible,
a.btn.primary:active,
button.btn.primary,
button.btn.primary:hover,
button.btn.primary:focus,
button.btn.primary:focus-visible,
button.btn.primary:active{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}


/* Floating back-to-top button */
.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1000;
  width:46px;
  height:46px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#1397ef;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(11,31,58,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease, background-color .2s ease;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover,
.back-to-top:focus,
.back-to-top:focus-visible,
.back-to-top:active{
  background:#0d82d1;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
.back-to-top:focus-visible{
  outline:3px solid rgba(19,151,239,.28);
  outline-offset:3px;
}
.back-to-top svg{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:#FFFFFF;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media (max-width:600px){
  .back-to-top{
    right:16px;
    bottom:16px;
    width:44px;
    height:44px;
  }
}
@media (prefers-reduced-motion: reduce){
  .back-to-top{
    transition:none;
  }
}


/* Contact form */
.contact-form-section{
  padding:0 0 72px;
}
.contact-form-card{
  max-width:900px;
  background:#fff;
  border:1px solid #e3ebf4;
  border-radius:18px;
  padding:34px;
  box-shadow:0 12px 34px rgba(11,31,58,.06);
}
.contact-form-intro{
  margin-bottom:26px;
}
.contact-form-intro h2{
  margin:0 0 8px;
}
.contact-form-intro p{
  margin:0;
  color:#53657d;
}
.contact-form{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.contact-form .form-grid{
  display:grid;
  gap:20px;
}
.contact-form .two-col{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.contact-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#0b1f3a;
  font-weight:700;
}
.contact-form label span{
  color:#718096;
  font-weight:400;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #cfd9e6;
  border-radius:10px;
  background:#fff;
  color:#0b1f3a;
  font:inherit;
  font-weight:400;
  padding:12px 14px;
  outline:none;
}
.contact-form textarea{
  resize:vertical;
  min-height:150px;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:#1397ef;
  box-shadow:0 0 0 3px rgba(19,151,239,.12);
}
.form-privacy-note{
  margin:-2px 0 0;
  color:#65758b;
  font-size:.92rem;
  line-height:1.6;
}
.contact-form .contact-submit{
  align-self:flex-start;
  width:auto !important;
  min-width:170px;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
.contact-form .contact-submit:hover,
.contact-form .contact-submit:focus,
.contact-form .contact-submit:active{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
@media (max-width:700px){
  .contact-form-card{padding:24px;}
  .contact-form .two-col{grid-template-columns:1fr;}
}


/* Contact page spacing/alignment refinements */
.contact-page .contact-form-section{
  padding-top:72px !important;
}
.contact-page .contact-form-card{
  margin-left:auto !important;
  margin-right:auto !important;
}
.contact-page .contact-form label .optional-inline{
  display:inline !important;
  margin-left:4px !important;
}


/* Force Phone (optional) onto one label line */
.contact-page .contact-form label > .field-label-inline{
  display:flex !important;
  flex-direction:row !important;
  align-items:baseline !important;
  justify-content:flex-start !important;
  gap:5px !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#0b1f3a !important;
  font-weight:700 !important;
  line-height:1.25 !important;
}
.contact-page .contact-form label > .field-label-inline .optional-inline{
  display:inline !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#718096 !important;
  font-weight:400 !important;
  line-height:inherit !important;
}


/* Align Email and Phone rows exactly */
.contact-page .contact-form .two-col label{
  display:grid !important;
  grid-template-rows:24px auto !important;
  gap:8px !important;
}
.contact-page .contact-form .two-col label > .field-label-inline{
  height:24px !important;
  min-height:24px !important;
  line-height:24px !important;
  align-items:baseline !important;
}
.contact-page .contact-form .two-col label > .field-label-inline .optional-inline{
  line-height:24px !important;
}


/* Home CTA: keep Contact us on one line and vertically centered */
.home-page .cta .btn,
.home-page .cta-band .btn,
.home-page .cta-box .btn,
.home-page .cta-card .btn{
  width:auto !important;
  min-width:max-content !important;
  white-space:nowrap !important;
  flex:0 0 auto !important;
  align-self:center !important;
  padding-left:22px !important;
  padding-right:22px !important;
}


/* Exact homepage CTA selector: keep Contact us on one line */
.cta > a.btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:120px !important;
  max-width:none !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
  padding:13px 22px !important;
}


/* Homepage bottom CTA: desktop single-line copy and button */
@media (min-width: 1050px){
  .cta > div:first-child{
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  .cta > div:first-child h2,
  .cta > div:first-child .sub{
    white-space:nowrap !important;
    max-width:none !important;
  }

  .cta > a.btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:120px !important;
    max-width:none !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
    padding:13px 22px !important;
  }
}

@media (max-width: 1049px){
  .cta > div:first-child h2,
  .cta > div:first-child .sub{
    white-space:normal !important;
  }
}


/* Homepage CTA: add breathing room before Contact us */
@media (min-width:1050px){
  .cta{
    column-gap:34px !important;
  }
  .cta > a.btn{
    margin-left:12px !important;
  }
}

/* How It Works: restore branded Fynd / FyndAlly lockup styling */
.fynd-powered-lockup{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:18px !important;
  color:#53657d !important;
  font-size:.98rem !important;
  line-height:1.4 !important;
}
.fynd-powered-lockup .fynd-product-name{
  color:#0b1f3a !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
}
.fynd-powered-lockup .fynd-powered-separator{
  color:#1397ef !important;
  font-weight:800 !important;
}
.fynd-powered-lockup .fynd-powered-text{
  color:#53657d !important;
}
.fynd-powered-lockup .fynd-powered-text strong{
  color:#1397ef !important;
  -webkit-text-fill-color:#1397ef !important;
  font-weight:800 !important;
}


/* Homepage CTA: reserve a dedicated button column with a clear gap */
@media (min-width:1050px){
  .cta{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 132px !important;
    column-gap:48px !important;
    align-items:center !important;
  }
  .cta > div:first-child{
    min-width:0 !important;
  }
  .cta > div:first-child h2{
    white-space:nowrap !important;
    font-size:clamp(2rem, 3.05vw, 2.75rem) !important;
  }
  .cta > div:first-child .sub{
    white-space:nowrap !important;
    font-size:clamp(.95rem, 1.45vw, 1.08rem) !important;
  }
  .cta > a.btn{
    width:132px !important;
    min-width:132px !important;
    max-width:132px !important;
    margin-left:0 !important;
    justify-self:end !important;
    white-space:nowrap !important;
  }
}


/* FINAL homepage CTA desktop geometry */
@media (min-width:1050px){
  .cta{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 132px !important;
    column-gap:64px !important;
    align-items:center !important;
  }

  .cta > div:first-child{
    min-width:0 !important;
    width:100% !important;
  }

  .cta > div:first-child h2{
    white-space:nowrap !important;
    max-width:none !important;
    font-size:36px !important;
    line-height:1.12 !important;
    letter-spacing:-1.2px !important;
  }

  .cta > div:first-child .sub{
    white-space:nowrap !important;
    max-width:none !important;
    font-size:16px !important;
  }

  .cta > a.btn{
    display:inline-flex !important;
    width:132px !important;
    min-width:132px !important;
    max-width:132px !important;
    margin:0 !important;
    padding:13px 18px !important;
    justify-self:end !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
  }
}
