/* Tax Relief Firm Starter Site
   - Mobile-first
   - No external frameworks
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

:root{
  /* Brighter, higher-contrast theme (light UI) */
  --bg: #f3f7ff;
  --bg-2: #eaf2ff;
  --surface: #ffffff;
  --card: #ffffff;
  --text: #0b1324;
  --muted: rgba(11,19,36,.78);
  --muter: rgba(11,19,36,.62);
  --brand: #0077ff;
  --brand-2: #00c2b2;
  --danger: #d7263d;
  --border: rgba(11,19,36,.14);
  --shadow: 0 18px 40px rgba(11,19,36,.12);
  --radius: 18px;
  --radius-sm: 12px;
  --max: 1120px;
  --font-serif: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  --font-sans-alt: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  --topbar-h: 62px;
}

*{ box-sizing: border-box; }
html, body{ height: 100%; }
body{
  margin: 0;
  font-family: var(--font-sans-alt);
  font-weight: 400;
  color: var(--text);
  background:
    radial-gradient(1200px 760px at 8% 0%, rgba(0,119,255,.14), transparent 58%),
    radial-gradient(1100px 760px at 92% 10%, rgba(0,194,178,.12), transparent 62%),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 55%, #ffffff 120%);
  background-attachment: fixed;
  line-height: 1.5;
}

/* Full-page scroll sections (homepage) */
body.snap{
  height: 100vh;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scroll-padding-top: var(--topbar-h);
  overscroll-behavior: contain;
}
body.snap main > section,
body.snap footer.snap-panel{
  scroll-snap-align: start;
  scroll-snap-stop: always;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 34px 0;
}
body.snap footer.snap-panel{ padding: 44px 0; }
body.snap main > section,
body.snap footer.snap-panel{
  opacity: 0;
  transform: translateY(44px) scale(.965) rotateX(9deg);
  transform-origin: 50% 20%;
  filter: blur(18px) saturate(.85);
  transition: opacity 760ms cubic-bezier(.12,.88,.18,1),
              transform 760ms cubic-bezier(.12,.88,.18,1),
              filter 760ms cubic-bezier(.12,.88,.18,1);
  will-change: opacity, transform, filter;
}
body.snap main > section.is-active,
body.snap footer.snap-panel.is-active{
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0) saturate(1);
}
body.snap main > section.is-prev,
body.snap footer.snap-panel.is-prev{
  opacity: 0;
  transform: translateY(-34px) scale(.985) rotateX(-6deg);
  filter: blur(14px) saturate(.9);
}
@media (prefers-reduced-motion: reduce){
  body.snap{ scroll-behavior: auto; }
  body.snap main > section,
  body.snap footer.snap-panel{
    transition: none;
    opacity: 1;
    transform: none;
    filter: none;
  }
}

/* Add a subtle 3D stage for snap sections */
body.snap main{
  perspective: 1200px;
}

/* Simple underline link helper */
.link-underline{
  font-weight: 650;
  color: var(--brand);
  text-decoration: none;
}
.link-underline:hover{ text-decoration: underline; }

/* Homepage snap segment labels + distinct looks */
.snap-kicker{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(11,19,36,.12);
  background: rgba(255,255,255,.82);
  color: rgba(11,19,36,.70);
  font-family: var(--font-sans-alt);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.snap-panel{
  position: relative;
  overflow: hidden;
}
.snap-panel::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .9;
}
.snap-panel > .container{ position: relative; z-index: 1; }
.snap-panel--home::before{
  background:
    radial-gradient(900px 520px at 15% 30%, rgba(0,119,255,.16), transparent 60%),
    radial-gradient(840px 520px at 85% 35%, rgba(0,194,178,.14), transparent 62%);
}
.snap-panel--info1::before{
  background:
    radial-gradient(900px 520px at 20% 25%, rgba(0,194,178,.16), transparent 60%),
    radial-gradient(840px 520px at 80% 45%, rgba(0,119,255,.10), transparent 62%);
}
.snap-panel--info2::before{
  background:
    radial-gradient(980px 560px at 50% 20%, rgba(0,119,255,.12), transparent 62%),
    radial-gradient(820px 520px at 15% 70%, rgba(0,194,178,.12), transparent 60%);
}
.snap-panel--reviews::before{
  background:
    radial-gradient(860px 520px at 25% 35%, rgba(0,119,255,.10), transparent 62%),
    radial-gradient(860px 520px at 75% 35%, rgba(0,119,255,.10), transparent 62%),
    radial-gradient(900px 560px at 50% 70%, rgba(0,194,178,.10), transparent 62%);
}

/* Homepage: "Two phases" layout */
.phase-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 18px;
}
@media (min-width: 900px){
  .phase-grid{ grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
.phase-card{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(11,19,36,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
  box-shadow: 0 18px 46px rgba(11,19,36,.12);
  padding: 28px 26px 22px;
  min-height: 220px;
}
.phase-card::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(380px 240px at 20% 20%, rgba(0,119,255,.12), transparent 60%),
    radial-gradient(420px 260px at 85% 35%, rgba(0,194,178,.10), transparent 62%);
  opacity: .9;
  pointer-events: none;
}
.phase-card > *{ position: relative; z-index: 1; }
.phase-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 26px 70px rgba(11,19,36,.16);
  border-color: rgba(0,119,255,.22);
}
.phase-card{
  transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}
.phase-num{
  position: absolute;
  right: 14px;
  top: 10px;
  font-family: var(--font-sans-alt);
  font-weight: 700;
  font-size: 132px;
  line-height: 1;
  letter-spacing: -.06em;
  color: rgba(11,19,36,.06);
  user-select: none;
  pointer-events: none;
}
.phase-head{
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.phase-icon{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(0,119,255,.16), rgba(0,194,178,.14));
  border: 1px solid rgba(0,119,255,.18);
  box-shadow: 0 14px 30px rgba(0,119,255,.12);
  flex: 0 0 38px;
}
.phase-icon svg{ width: 18px; height: 18px; fill: rgba(0,119,255,.95); display:block; }
.phase-title{
  margin: 0;
  font-size: 22px;
  letter-spacing: -.2px;
}
.phase-desc{
  margin: 8px 0 0;
  color: var(--muted);
  max-width: 46ch;
  font-size: 15px;
  line-height: 1.5;
}
.phase-actions{
  margin-top: 18px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

/* Center "Information 1" segment content */
#info-1 .container{
  display: flex;
  flex-direction: column;
  align-items: center;
}
#info-1 .snap-kicker,
#info-1 .section__title{
  text-align: center;
}
#info-1 .phase-grid{
  width: min(980px, 100%);
}
#info-1 .phase-actions{
  justify-content: center;
}

/* Homepage: Information 2 layout ("Better tax relief, made simple") */
.info2-top{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: start;
}
@media (min-width: 980px){
  .info2-top{ grid-template-columns: 1.1fr .9fr; gap: 26px; }
}
.info2-title{
  margin: 0;
  font-size: 56px;
  line-height: 1.02;
  letter-spacing: -.7px;
}
.info2-lead{
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
  max-width: 60ch;
}
.info2-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: 18px;
  width: 100%;
}
@media (min-width: 980px){
  .info2-grid{ grid-template-columns: 1.2fr .9fr; gap: 22px; align-items: stretch; }
}
.info2-feature{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(11,19,36,.12);
  box-shadow: 0 22px 70px rgba(11,19,36,.14);
  min-height: 360px;
  background: #0b1324;
  text-decoration: none;
  display: flex;
  align-items: flex-end;
}
.info2-feature__img{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: saturate(.95) contrast(1.02);
  transform: scale(1.03);
}
.info2-feature::after{
  content:"";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11,19,36,.05) 10%, rgba(11,19,36,.80) 92%);
}
.info2-feature__content{
  position: relative;
  z-index: 1;
  padding: 18px 18px 16px;
  color: #fff;
}
.info2-feature__title{
  margin: 0;
  font-size: 28px;
  line-height: 1.05;
  letter-spacing: -.4px;
}
.info2-feature__sub{
  margin: 8px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 13px;
  line-height: 1.45;
  max-width: 52ch;
}
.info2-right{
  display: grid;
  gap: 14px;
  align-content: start;
}
.info2-list{
  border-radius: 22px;
  padding: 18px 18px;
}
.info2-list h3{
  margin: 0 0 12px;
  font-size: 18px;
  letter-spacing: -.2px;
}
.info2-items{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px 22px;
}
@media (min-width: 760px){
  .info2-items{ grid-template-columns: repeat(2, 1fr); }
}
.info2-item{
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}
.info2-dot{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(0,119,255,.12);
  border: 1px solid rgba(0,119,255,.18);
  flex: 0 0 22px;
  margin-top: 1px;
}
.info2-dot svg{ width: 14px; height: 14px; fill: rgba(0,119,255,.95); display:block; }
.info2-mini{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
@media (min-width: 760px){
  .info2-mini{ grid-template-columns: repeat(2, 1fr); }
}
.info2-mini .card{
  border-radius: 18px;
  padding: 22px 20px;
  min-height: 160px;
}
.info2-mini .card h4{
  margin: 0 0 6px;
  font-size: 16px;
  letter-spacing: -.2px;
}
.info2-mini .card p{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

/* Cinematic page transitions (used by the multi-step form pages) */
.page{
  animation: pageIn 520ms cubic-bezier(.2,.8,.2,1) both;
  transform-origin: 50% 20%;
}
body.page-leave .page{
  animation: pageOut 280ms cubic-bezier(.4,0,.6,1) both;
}
@keyframes pageIn{
  from{ opacity: 0; transform: translateY(14px) scale(.985); filter: blur(6px); }
  to{ opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
@keyframes pageOut{
  from{ opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
  to{ opacity: 0; transform: translateY(-10px) scale(.992); filter: blur(6px); }
}

a{ color: inherit; text-decoration: none; }
a:hover{ text-decoration: underline; }

.container{
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
}

/* Media */
.media{
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  background: #fff;
}
.media--soft{
  box-shadow: 0 14px 30px rgba(11,19,36,.10);
}

/* Choice / quiz UI */
.choice-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.choice-row{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.vertical-choices .choice-row{
  flex-direction: column;
  flex-wrap: nowrap;
}
.vertical-choices .choice-row .choice{
  width: 100%;
}
.vertical-choices .choice-grid{
  grid-template-columns: 1fr !important;
}
.choice{
  width: 100%;
  text-align: left;
  padding: 14px 14px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 22px rgba(11,19,36,.06);
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.choice:not(:has(.choice__icon)){
  padding: 16px 16px;
}
.choice:hover{ filter: brightness(1.01); }
.choice.is-selected{
  border-color: rgba(0,119,255,.45);
  box-shadow: 0 14px 26px rgba(0,119,255,.12);
}
.choice__icon{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(0,119,255,.08);
  border: 1px solid rgba(0,119,255,.18);
  flex: 0 0 40px;
}
.choice__icon svg{
  width: 20px;
  height: 20px;
  fill: var(--text);
  opacity: .9;
  display: block;
}
.choice__title{ font-weight: 600; }
.choice__sub{ color: var(--muted); font-size: 13px; }

.serif-choices .choice__title{
  font-family: var(--font-serif);
  font-weight: 600;
  letter-spacing: -.2px;
  font-size: 18px;
}
.serif-choices .choice__icon{
  background: rgba(0,194,178,.08);
  border-color: rgba(0,194,178,.18);
}

/* Amount owed step (bubble-style answers) */
.amount-choices .choice{
  border-radius: 14px;
  justify-content: center;
  text-align: center;
  padding: 18px 20px;
  background: rgba(255,255,255,.92);
  min-height: 62px;
}
.choice-grid.amount-choices{ gap: 16px; }
.amount-choices .choice:hover{
  background: linear-gradient(135deg, rgba(0,119,255,.06), rgba(0,194,178,.06));
  text-decoration: none;
}
.amount-choices .choice__title{
  font-family: var(--font-sans-alt);
  font-weight: 600;
  letter-spacing: -.25px;
  font-size: 20px;
}
.amount-choices .choice__sub{ display: none; }

@media (min-width: 820px){
  .choice-grid{ grid-template-columns: repeat(2, 1fr); }
  .choice-row .choice{ width: auto; flex: 1 1 0; min-width: 210px; }
}

/* Top CTA bar */
.topbar{
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,.78);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 28px rgba(11,19,36,.06);
  transition: background 220ms ease, border-color 220ms ease;
}
/* Homepage: match hero blue */
body.is-home.home-hero-active .topbar{
  /* Keep topbar consistent with the new white page background */
  background: rgba(255,255,255,.86);
  border-bottom: 1px solid var(--border) !important;
}
body.is-home.home-hero-active .topbar__links a{
  color: rgba(11,19,36,.70);
}
body.is-home.home-hero-active .topbar__links .nav-dropdown__trigger{
  color: rgba(11,19,36,.70);
}
/* Keep dropdown menu readable on the home (dark) topbar */
body.is-home.home-hero-active .nav-dropdown__menu{
  background: rgba(255,255,255,.98);
  border-color: rgba(11,19,36,.14);
}
body.is-home.home-hero-active .nav-dropdown__menu a{
  color: rgba(11,19,36,.88);
}
body.is-home.home-hero-active .nav-dropdown__menu a:hover{
  background: rgba(0,194,178,.10);
  border: 1px solid rgba(0,194,178,.22);
}
body.is-home.home-hero-active .topbar__links a:hover{
  background: rgba(11,19,36,.04);
}
body.is-home.home-hero-active .topbar__links .nav-dropdown__trigger:hover{
  background: rgba(11,19,36,.04);
}
body.is-home.home-hero-active .topbar__brand{
  color: rgba(11,19,36,.90);
}
body.is-home.home-hero-active .topbar .pill{
  background: rgba(11,19,36,.04);
  border-color: rgba(11,19,36,.10);
  color: rgba(11,19,36,.78);
}
.topbar__inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
}
.topbar__links{
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1 1 auto;
  justify-content: center;
  white-space: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.topbar__links::-webkit-scrollbar{ display: none; }
.topbar__links a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(11,19,36,.70);
  font-weight: 500;
  letter-spacing: .1px;
  text-decoration: none;
  padding: 10px 10px;
  border-radius: 12px;
  transition: color 220ms ease, background 220ms ease;
}
.topbar__links .nav-dropdown__trigger{
  color: rgba(11,19,36,.70);
  border-radius: 12px;
  padding: 10px 10px;
}
.topbar__links .nav-dropdown__menu{
  left: 50%;
}
.topbar__links a:hover{
  background: rgba(11,19,36,.04);
  text-decoration: none;
}
@media (max-width: 979px){
  .topbar__links{
    justify-content: flex-start;
    gap: 10px;
    padding: 0 6px;
  }
}

/* Hide the non-sticky header nav when we use topbar links */
body.has-topnav .header{ display: none; }

/* Make topbar truly "always visible" on non-questionnaire pages */
body.has-topnav{
  padding-top: var(--topbar-h);
}
body.has-topnav .topbar{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}
.topbar__brand{
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 650;
  letter-spacing: .2px;
}
.logo{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 0;
  background:
    url("data:image/png;base64,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")
    center / contain no-repeat;
  background-color: transparent;
  box-shadow: none;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.16));
}
/* Extra contrast on the dark home hero topbar */
body.is-home.home-hero-active .logo{
  filter:
    drop-shadow(0 0 10px rgba(255,255,255,.20))
    drop-shadow(0 10px 26px rgba(0,0,0,.22));
}
.topbar__meta{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(11,19,36,.03);
  font-size: 14px;
  color: var(--muted);
}
.pill b{ color: var(--text); font-weight: 600; }

/* Mobile friendliness */
@media (max-width: 640px){
  body.has-topnav{ padding-top: 72px; }
  :root{ --topbar-h: 72px; }

  .topbar__inner{
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 10px 0 12px;
  }
  .topbar__brand{ justify-content: flex-start; }
  .topbar__links{
    order: 3;
    width: 100%;
    justify-content: flex-start;
    gap: 8px;
  }
  .topbar__links a{ padding: 12px 12px; }
  .topbar__meta{
    width: auto;
    justify-content: flex-end;
  }

  .section{ padding: 18px 0; }
  .section__title{ font-size: 20px; }

  /* CTA sizing */
  .cta-banner{
    padding: 34px 20px;
    min-height: 180px;
    border-radius: 26px;
  }
  .cta-banner__title{
    font-size: clamp(32px, 8vw, 54px);
    line-height: 1.05;
  }
  .cta-banner__sub{
    font-size: 14px;
  }
  .cta-stack{ padding-bottom: 170px; }
  .cta-strip{
    padding: 24px 18px;
    min-height: 140px;
    border-radius: 14px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
  .cta-strip__btn{
    align-self: flex-start;
  }

  /* Notices page */
  .notice-hero__title{ font-size: clamp(34px, 9vw, 56px); }
  .notice-search__box{ width: 100%; }

  /* Footer */
  .site-footer__top{ padding: 40px 0 24px; }
  .site-footer__cols{ grid-template-columns: 1fr; }
  .site-footer__col a{ padding: 10px 0; }
  .site-footer__legal{ padding: 22px 0 36px; }
}

/* Homepage hero spacing (mobile) — reduce empty space above headline */
@media (max-width: 640px){
  .home-hero{
    padding: 22px 0 26px;
  }
  .home-hero__grid{
    /* Keep carousel room, but align content closer to the top */
    min-height: calc(100vh - var(--topbar-h) - 48px);
    padding-bottom: 108px;
    align-items: start;
    align-content: start;
  }
  .home-hero__title{
    font-size: 48px;
    line-height: 1.02;
  }
  .client-carousel--hero{ bottom: 8px; }
}

/* Back button */
.backbtn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.78);
  text-decoration: none;
}
.backbtn:hover{ filter: brightness(1.02); text-decoration: none; }
.backbtn svg{ width: 18px; height: 18px; fill: var(--text); }
.title-row{
  display: flex;
  align-items: center;
  gap: 10px;
}
.title-row .section__title{ margin: 0; }

/* Results page (final step) */
.results-card{
  max-width: 460px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  padding: 28px 20px;
  box-shadow: 0 18px 50px rgba(11,19,36,.12);
}
.results-card .title-row{ justify-content: center; }
.results-card .backbtn{ width: 38px; height: 38px; }
/* Results badge/logo removed */

/* Confirm page (after "Get My Eligibility Results") */
.page-confirm .topbar{ background: rgba(255,255,255,.96); }
.confirm-topline{
  height: 2px;
  background: linear-gradient(90deg, rgba(0,119,255,.95), rgba(0,194,178,.95));
  box-shadow: 0 8px 24px rgba(0,119,255,.14);
}
.confirm-wrap{
  max-width: 720px;
  margin: 0 auto;
  padding: 28px 14px 34px;
  text-align: center;
  position: relative;
}
.confirm-avatar{
  width: 92px;
  height: 92px;
  border-radius: 999px;
  margin: 14px auto 10px;
  border: 2px solid rgba(11,19,36,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 30px rgba(11,19,36,.12);
  display: grid;
  place-items: center;
  position: relative;
}
.confirm-avatar::before{
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(0,119,255,.45), rgba(0,194,178,.45));
  filter: blur(0);
  opacity: .55;
  z-index: 0;
}
.confirm-avatar::after{
  content: "";
  position: absolute;
  inset: 2px;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  z-index: 0;
}
.logo--confirm{
  width: 62px;
  height: 62px;
  filter: drop-shadow(0 10px 22px rgba(11,19,36,.14));
  position: relative;
  z-index: 1;
  animation: confirmLogoFloat 2.6s ease-in-out infinite;
}
.logo--confirm:hover{
  animation-play-state: paused;
  transform: scale(1.03);
}

@keyframes confirmLogoFloat{
  0%, 100% { transform: translateY(0); filter: drop-shadow(0 10px 22px rgba(11,19,36,.14)); }
  50% { transform: translateY(-2px); filter: drop-shadow(0 16px 30px rgba(11,19,36,.18)); }
}
.confirm-back{
  position: absolute;
  left: 8px;
  top: 118px;
  margin: 0;
  display: grid;
  z-index: 2;
}

/* Confirm page: mobile back button positioning */
@media (max-width: 600px){
  .confirm-back{
    top: 14px;
    left: 14px;
  }
  .confirm-avatar{
    margin-top: 52px;
  }
}
.confirm-title{
  margin: 6px 0 8px;
  font-family: var(--font-sans-alt);
  font-size: 34px;
  letter-spacing: -.6px;
}
.confirm-sub{
  margin: 0 0 12px;
  color: rgba(11,19,36,.68);
}
.confirm-legal{
  margin: 0 auto 16px;
  max-width: 640px;
  color: rgba(11,19,36,.66);
  font-size: 13.5px;
  line-height: 1.55;
}
.confirm-legal a{ color: rgba(0,119,255,.98); }
.confirm-submit{
  width: min(680px, 100%);
  justify-content: space-between;
  padding: 14px 16px;
  border-radius: 6px;
  box-shadow: none;
}
.confirm-submit__icon{ width: 18px; height: 18px; fill: rgba(255,255,255,.95); }
.confirm-msg{
  width: min(680px, 100%);
  margin: 10px auto 0;
  font-size: 14px;
  padding: 10px 12px;
  border-radius: 10px;
  display: none;
}
.confirm-msg.is-visible{ display: block; }
.confirm-msg--ok{
  background: rgba(0,194,178,.10);
  border: 1px solid rgba(0,194,178,.22);
  color: rgba(11,19,36,.80);
}
.confirm-msg--err{
  background: rgba(255,68,68,.08);
  border: 1px solid rgba(255,68,68,.18);
  color: rgba(11,19,36,.80);
}

/* Next page (post-submit) */
.page-next{
  /* Dark, brand-matched gradient (TaxRefresh blue → teal) */
  background: linear-gradient(135deg, #061a36, #041027);
}
.next{
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.next__bg{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 520px at 12% 10%, rgba(0,119,255,.26), transparent 60%),
    radial-gradient(1100px 560px at 78% 0%, rgba(0,194,178,.22), transparent 58%),
    radial-gradient(1200px 560px at 50% 120%, rgba(0,119,255,.14), transparent 62%),
    linear-gradient(135deg, rgba(6,26,54,1), rgba(4,16,39,1));
}
.next__inner{
  position: relative;
  z-index: 1;
  padding: 54px 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: center;
}
.next__copy{ max-width: 780px; }
.next__title{
  color: rgba(255,255,255,.96);
  font-size: clamp(34px, 5.2vw, 56px);
  line-height: 1.05;
  margin: 0 0 12px;
  letter-spacing: -.8px;
}
.next__sub{
  color: rgba(255,255,255,.70);
  max-width: 620px;
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.5;
}
.next__actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

/* Next page buttons */
.next-btn{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  text-decoration: none;
  font-family: var(--font-sans-alt);
  font-weight: 650;
  letter-spacing: .1px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.next-btn:focus-visible{
  outline: 3px solid rgba(255,255,255,.28);
  outline-offset: 3px;
}
.next-btn__icon{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.next-btn__icon svg{
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.next-btn:hover{
  transform: translateY(-1px);
  text-decoration: none;
}
.next-btn:active{
  transform: translateY(0px);
}

.next-btn--primary{
  background: rgba(255,255,255,.96);
  color: rgba(11,19,36,.92);
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}
.next-btn--primary .next-btn__icon{
  background: linear-gradient(135deg, rgba(0,119,255,.16), rgba(0,194,178,.16));
  border: 1px solid rgba(11,19,36,.10);
  color: rgba(11,19,36,.92);
}
.next-btn--primary:hover{ filter: brightness(1.02); }

.next-btn--secondary{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.94);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 40px rgba(0,0,0,.20);
}
.next-btn--secondary .next-btn__icon{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.20);
  color: rgba(255,255,255,.94);
}
.next-btn--secondary:hover{ background: rgba(255,255,255,.12); }

.next-btn--tertiary{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.88);
  backdrop-filter: blur(10px);
}
.next-btn--tertiary .next-btn__icon{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.88);
}
.next-btn--tertiary:hover{ background: rgba(255,255,255,.09); }

@media (max-width: 520px){
  .next-btn{ width: 100%; }
}
.next-btn{ min-height: 48px; }
.next-btn__label{ line-height: 1.2; }

@media (max-width: 680px){
  .next__inner{ padding: 38px 0; }
  .next__copy{ text-align: center; margin: 0 auto; }
  .next__sub{ margin-left: auto; margin-right: auto; }
  .next__actions{ justify-content: center; }
  .next__hours{ justify-content: center; }
}
.next__hours{
  margin-top: 22px;
  color: rgba(255,255,255,.66);
  font-size: 13px;
  display: flex;
  gap: 10px;
  align-items: center;
}
.next__dot{ opacity: .6; }
.next__icon{
  justify-self: end;
  width: 140px;
  height: 140px;
  opacity: .9;
  display: none;
}
.next__icon svg,
.next__icon img{
  width: 100%;
  height: 100%;
}
.next__icon img{
  object-fit: contain;
  /* icons8 asset is dark; invert for dark background */
  filter: invert(1) brightness(1.2) drop-shadow(0 12px 30px rgba(0,0,0,.28));
  opacity: .92;
}
@media (min-width: 980px){
  .next__inner{ grid-template-columns: 1fr 160px; }
  .next__icon{ display: block; }
}

/* Book page (Calendly) */
.page-book{
  background: radial-gradient(1100px 620px at 15% 0%, rgba(0,119,255,.12), transparent 58%),
              radial-gradient(900px 620px at 85% 10%, rgba(0,194,178,.10), transparent 60%),
              linear-gradient(180deg, #ffffff, var(--bg) 40%, #ffffff);
}
.book-head{
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: center;
  margin: 6px 0 14px;
}
.book-title{
  margin: 0;
  font-size: clamp(28px, 4.2vw, 46px);
  line-height: 1.08;
  letter-spacing: -.8px;
}
.book-card{
  border: 1px solid rgba(11,19,36,.12);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(11,19,36,.10);
  overflow: hidden;
}
.book-card__inner{
  padding: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
}

/* Book page left details panel */
.book-card__inner{
  display: grid;
  grid-template-columns: 320px 1fr;
  padding: 0;
  background: #fff;
}
.book-side{
  padding: 26px 22px;
  border-right: 1px solid rgba(11,19,36,.10);
  background: #fff;
}
.book-avatar{
  width: 78px;
  height: 78px;
  border-radius: 999px;
  background: rgba(255,255,255,1);
  border: 1px solid rgba(11,19,36,.10);
  display: grid;
  place-items: center;
  margin: 2px 0 12px;
}
.logo--book{
  width: 54px;
  height: 54px;
  filter: drop-shadow(0 10px 22px rgba(11,19,36,.14));
}
.book-host{
  color: rgba(11,19,36,.58);
  font-weight: 650;
  letter-spacing: .1px;
  margin-bottom: 4px;
}
.book-event{
  font-size: 26px;
  line-height: 1.15;
  font-weight: 750;
  letter-spacing: -.6px;
  margin-bottom: 14px;
}
.book-meta{
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  color: rgba(11,19,36,.86);
  font-weight: 650;
}
.book-meta__row{
  display: flex;
  align-items: center;
  gap: 10px;
}
.book-meta__icon{
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: rgba(11,19,36,.78);
  flex: 0 0 auto;
}
.book-meta__icon svg{
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.book-desc{
  margin: 0;
  color: rgba(11,19,36,.70);
  line-height: 1.65;
}
.book-calendly{
  padding: 10px;
  background: #fff;
  position: relative;
  overflow: hidden;
}
.book-calendly iframe{ background: #fff; }

/* Calendly embed sizing */
.page-book{
  --calendly-hide-top: 0px;
  --calendly-height: 760px;
}
.book-calendly .calendly-inline-widget{
  height: var(--calendly-height) !important;
}
.book-calendly .calendly-inline-widget iframe{
  position: relative;
  top: 0;
  height: var(--calendly-height) !important;
}

@media (max-width: 920px){
  .book-card__inner{ grid-template-columns: 1fr; }
  .book-side{ border-right: 0; border-bottom: 1px solid rgba(11,19,36,.10); }
  .book-side{ padding: 18px 16px; }
  .book-event{ font-size: 24px; }
  .book-desc{ font-size: 15px; }
  .book-calendly{ padding: 0; }
}

@media (max-width: 520px){
  .page-book{ --calendly-hide-top: 0px; }
  .page-book{ --calendly-height: 980px; }
  .book-head{ grid-template-columns: 36px 1fr; gap: 10px; }
  .book-title{ font-size: 30px; line-height: 1.06; }
  .book-card{ border-radius: 18px; }
  .book-avatar{ width: 68px; height: 68px; }
  .logo--book{ width: 48px; height: 48px; }
}

/* Scheduled confirmation */
.page-scheduled{
  background: radial-gradient(1100px 620px at 15% 0%, rgba(0,119,255,.10), transparent 58%),
              radial-gradient(900px 620px at 85% 10%, rgba(0,194,178,.08), transparent 60%),
              linear-gradient(180deg, #ffffff, var(--bg) 40%, #ffffff);
}
.sched{
  padding: 34px 0 54px;
}
.sched-card{
  max-width: 980px;
  margin: 0 auto;
  padding: 26px 18px 18px;
  border: 1px solid rgba(11,19,36,.12);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(11,19,36,.10);
}
.sched-top{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  margin-bottom: 12px;
}
.sched-avatar{
  width: 78px;
  height: 78px;
  border-radius: 999px;
  border: 1px solid rgba(11,19,36,.10);
  background: #fff;
  display: grid;
  place-items: center;
}
.logo--sched{ width: 54px; height: 54px; }
.sched-status__row{
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 750;
  color: rgba(11,19,36,.92);
  justify-content: center;
}
.sched-check{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: rgba(0,194,178,.14);
  color: rgba(0,105,96,.95);
  display: grid;
  place-items: center;
  font-size: 12px;
}
.sched-title{ font-size: 18px; }
.sched-sub{
  margin-top: 4px;
  color: rgba(11,19,36,.62);
  font-size: 14px;
}
.sched-details{
  margin: 16px auto 0;
  max-width: 520px;
  border: 1px solid rgba(11,19,36,.12);
  border-radius: 14px;
  padding: 14px 14px 12px;
}
.sched-details__name{
  font-weight: 800;
  letter-spacing: -.2px;
  margin-bottom: 10px;
}
.sched-details__rows{ display: grid; gap: 8px; }
.sched-row{
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(11,19,36,.78);
  font-weight: 650;
}
.sched-ico{
  width: 20px;
  height: 20px;
  color: rgba(11,19,36,.62);
  display: grid;
  place-items: center;
}
.sched-ico svg{
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sched-actions{
  margin-top: 16px;
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}
.sched-actions .btn{
  min-width: 220px;
}
.sched-actions{
  flex-direction: column;
  align-items: center;
}
.btn--ghost{
  background: rgba(255,255,255,.0);
  border: 1px solid rgba(11,19,36,.14);
  color: rgba(11,19,36,.84);
}
.btn--ghost:hover{ background: rgba(11,19,36,.04); text-decoration: none; }

@media (max-width: 560px){
  .sched{ padding: 24px 0 44px; }
  .sched-card{ padding: 20px 14px 14px; border-radius: 18px; }
  .sched-details{ width: 100%; max-width: 100%; }
  .sched-actions{ flex-direction: column; }
  .sched-actions .btn{ width: 100%; max-width: 320px; justify-content: center; }
}
.btn--cta{
  width: 100%;
  justify-content: space-between;
  padding: 14px 18px;
  border-radius: 14px;
  font-family: var(--font-sans-alt);
  font-weight: 600;
  letter-spacing: -.1px;
}
.btn--cta svg{ width: 18px; height: 18px; fill: rgba(255,255,255,.95); }

/* Header / nav */
.header{
  padding: 26px 0 0;
}
.nav{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(255,255,255,.80);
}
.nav__links{
  display: none;
  gap: 14px;
  flex-wrap: wrap;
}
.nav__links a{
  padding: 10px 10px;
  border-radius: 10px;
  color: var(--muted);
  text-decoration: none;
}
.nav-dropdown{
  position: relative;
  display: inline-flex;
  align-items: center;
}
.nav-dropdown__trigger{
  appearance: none;
  border: 0;
  background: transparent;
  padding: 10px 10px;
  border-radius: 10px;
  color: var(--muted);
  font: inherit;
  font-weight: 500;
  letter-spacing: .1px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.nav-dropdown__trigger:hover{ background: rgba(11,19,36,.04); }
.nav-caret{
  display: inline-block;
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.7 9.2a1 1 0 0 1 1.4 0L12 13.1l3.9-3.9a1 1 0 1 1 1.4 1.4l-4.6 4.6a1 1 0 0 1-1.4 0L6.7 10.6a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.7 9.2a1 1 0 0 1 1.4 0L12 13.1l3.9-3.9a1 1 0 1 1 1.4 1.4l-4.6 4.6a1 1 0 0 1-1.4 0L6.7 10.6a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
  opacity: 1;
  transition: transform 200ms ease;
}
.nav-dropdown.is-open .nav-caret{ transform: rotate(180deg); }
.nav-dropdown__menu{
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 200px;
  padding: 8px;
  border-radius: 16px;
  border: 1px solid rgba(11,19,36,.12);
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 44px rgba(11,19,36,.14);
  backdrop-filter: blur(10px);
  display: none;
  z-index: 2000;
}
.nav-dropdown__menu a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 10px;
  border-radius: 12px;
  color: rgba(11,19,36,.80);
  text-decoration: none;
  font-weight: 500;
}
.nav-dropdown__menu a:hover{
  background: rgba(0,194,178,.10);
  border: 1px solid rgba(0,194,178,.22);
}
.nav-dropdown.is-open .nav-dropdown__menu,
.nav-dropdown:focus-within .nav-dropdown__menu{
  display: block;
}

.nav__links a[aria-current="page"]{
  background: rgba(0,194,178,.12);
  border: 1px solid rgba(0,194,178,.35);
  color: var(--text);
}
.nav__actions{ display: flex; gap: 10px; align-items: center; }
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 500;
  padding: 11px 14px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.78);
  color: var(--text);
  text-decoration: none;
  cursor: pointer;
}
.btn__icon{
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
  opacity: .95;
}
.btn:hover{ text-decoration: none; filter: brightness(1.06); }
.btn--primary{
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  color: #ffffff;
  border-color: rgba(11,19,36,.10);
  box-shadow: 0 16px 30px rgba(0,119,255,.16);
}
.btn--primary.is-cta{
  box-shadow: 0 18px 44px rgba(0,119,255,.22);
  padding: 12px 16px;
  border-radius: 14px;
  position: relative;
  overflow: hidden;
}
.home-hero .btn--primary.is-cta{
  padding: 14px 20px;
  border-radius: 16px;
  box-shadow:
    0 22px 70px rgba(0,119,255,.26),
    0 18px 44px rgba(0,0,0,.18);
  border-color: rgba(255,255,255,.20);
  transform: translateZ(0);
}
.home-hero .btn--primary.is-cta:hover{
  transform: translateY(-1px);
  box-shadow:
    0 26px 88px rgba(0,119,255,.30),
    0 24px 56px rgba(0,0,0,.22);
}
.home-hero .btn--primary.is-cta:active{
  transform: translateY(0);
}
.btn--primary.is-cta::after{
  content: "";
  position: absolute;
  inset: -2px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.26), transparent);
  transform: translateX(-120%) skewX(-18deg);
  animation: ctaSheen 2.6s ease-in-out infinite;
  pointer-events: none;
}
@keyframes ctaSheen{
  0%{ transform: translateX(-120%) skewX(-18deg); opacity: 0; }
  25%{ opacity: 1; }
  55%{ transform: translateX(120%) skewX(-18deg); opacity: 0; }
  100%{ transform: translateX(120%) skewX(-18deg); opacity: 0; }
}
.btn--ghost{
  background: transparent;
}
.btn--backtop{
  background: rgba(255,255,255,.94);
  border-color: rgba(0,119,255,.45);
  color: rgba(0,119,255,.95);
  box-shadow: 0 10px 24px rgba(11,19,36,.10);
}
.btn--backtop:hover{
  background: #ffffff;
  border-color: rgba(0,119,255,.65);
  box-shadow:
    0 0 0 4px rgba(0,119,255,.12),
    0 14px 34px rgba(0,119,255,.22);
  transform: translateY(-1px);
}
.btn--backtop:active{ transform: translateY(0); }
.btn--danger{
  background: rgba(255,93,93,.14);
  border-color: rgba(255,93,93,.35);
}
.hamburger{
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 14px;
  color: rgba(11,19,36,.92);
  background: rgba(11,19,36,.04);
  border-color: rgba(11,19,36,.12);
  box-shadow: 0 10px 24px rgba(11,19,36,.10);
  transition: transform 180ms ease, box-shadow 220ms ease, background 220ms ease, border-color 220ms ease;
}
.hamburger:hover{
  transform: translateY(-1px);
  box-shadow:
    0 0 0 4px rgba(0,194,178,.10),
    0 14px 34px rgba(11,19,36,.14);
  border-color: rgba(0,194,178,.28);
}
.hamburger:active{ transform: translateY(0); }
.hamburger:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 4px rgba(0,194,178,.18),
    0 14px 34px rgba(11,19,36,.14);
}
.hamburger span{
  width: 18px; height: 2px;
  background: currentColor;
  display: block;
  position: relative;
  border-radius: 999px;
  transition: background 200ms ease;
}
.hamburger span::before, .hamburger span::after{
  content: "";
  display: block;
  width: 18px; height: 2px;
  background: currentColor;
  position: absolute;
  left: 0;
  border-radius: 999px;
  transition: transform 240ms ease, opacity 240ms ease;
}
.hamburger span::before{ top: -6px; }
.hamburger span::after{ top: 6px; }

/* Animate to an "X" when open */
.hamburger[aria-expanded="true"] span{
  background: transparent;
}
.hamburger[aria-expanded="true"] span::before{
  transform: translateY(6px) rotate(45deg);
}
.hamburger[aria-expanded="true"] span::after{
  transform: translateY(-6px) rotate(-45deg);
}

.mobile-menu{
  display: none;
  margin-top: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background:
    radial-gradient(720px 360px at 20% 0%, rgba(0,119,255,.12), transparent 62%),
    radial-gradient(720px 360px at 85% 10%, rgba(0,194,178,.10), transparent 62%),
    rgba(240, 247, 255, .96);
  overflow: hidden;
  position: relative;
}
.mobile-menu a,
.mobile-menu__btn{
  display: block;
  padding: 14px 16px;
  text-decoration: none;
  color: var(--muted);
  font: inherit;
  text-align: left;
  width: 100%;
  background: transparent;
  border: 0;
  cursor: pointer;
  border-top: 1px solid rgba(11,19,36,.08);
}
.mobile-menu a:first-child{ border-top: 0; }
.mobile-menu__btn{ position: relative; padding-right: 46px; }
.mobile-menu__btn:first-child{ border-top: 0; }
.mobile-menu__caret{
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.7 9.2a1 1 0 0 1 1.4 0L12 13.1l3.9-3.9a1 1 0 1 1 1.4 1.4l-4.6 4.6a1 1 0 0 1-1.4 0L6.7 10.6a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.7 9.2a1 1 0 0 1 1.4 0L12 13.1l3.9-3.9a1 1 0 1 1 1.4 1.4l-4.6 4.6a1 1 0 0 1-1.4 0L6.7 10.6a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
  opacity: .9;
  transition: transform 220ms ease;
}
.mobile-menu__btn[aria-expanded="true"] .mobile-menu__caret{
  transform: translateY(-50%) rotate(180deg);
}
.mobile-submenu{
  /* Inline dropdown panel (mobile) */
  background:
    radial-gradient(520px 240px at 15% 0%, rgba(0,119,255,.10), transparent 62%),
    radial-gradient(520px 240px at 85% 0%, rgba(0,194,178,.08), transparent 62%),
    rgba(11,19,36,.03);
  border-top: 1px solid rgba(11,19,36,.08);
  border-bottom: 1px solid rgba(11,19,36,.08);
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: max-height 520ms cubic-bezier(.18,.86,.12,1), opacity 220ms ease, transform 520ms cubic-bezier(.18,.86,.12,1);
}
.mobile-submenu.is-open{
  max-height: 420px; /* enough for items; keeps animation smooth */
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.mobile-submenu a{
  padding-left: 28px;
  color: rgba(11,19,36,.72);
  font-weight: 550;
}
.mobile-submenu a::before{
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(0,194,178,.55);
  display: inline-block;
  margin-right: 10px;
  transform: translateY(-1px);
}
.mobile-menu__btn[aria-expanded="true"]{
  background: rgba(0,194,178,.10);
  color: rgba(11,19,36,.86);
}
.mobile-menu a[aria-current="page"]{
  background: rgba(0,194,178,.12);
  color: var(--text);
}
.mobile-menu.is-open{ display: block; }

/* Topbar mobile nav (brand left + hamburger right) */
@media (max-width: 820px){
  .topbar__links{ display: none; }
  .topbar__meta .pill,
  .topbar__meta > .btn:not(.hamburger){ display: none; }
  .topbar__meta{ display: flex; align-items: center; gap: 10px; }

  body.is-home.home-hero-active .topbar .hamburger{
    color: rgba(255,255,255,.92);
    background: rgba(255,255,255,.14);
    border-color: rgba(255,255,255,.24);
    box-shadow: 0 12px 30px rgba(0,0,0,.22);
  }
  body.is-home.home-hero-active .topbar .hamburger:hover{
    box-shadow:
      0 0 0 4px rgba(255,255,255,.14),
      0 16px 38px rgba(0,0,0,.26);
    border-color: rgba(255,255,255,.36);
  }
}



.topbar-mobile-menu{
  position: absolute;
  top: calc(100% + 1px);
  left: 50%;
  transform: translateX(-50%);
  width: min(96vw, 1120px);
  border-top: 1px solid rgba(11,19,36,.08);
  margin-top: 0;
  border-radius: 0 0 var(--radius) var(--radius);
  z-index: 40;
}
body.is-home.home-hero-active .topbar-mobile-menu{
  background:
    radial-gradient(720px 360px at 20% 0%, rgba(0,119,255,.16), transparent 62%),
    radial-gradient(720px 360px at 85% 10%, rgba(0,194,178,.14), transparent 62%),
    rgba(240, 247, 255, .98);
  border-color: rgba(255,255,255,.24);
}

/* Hero */
.hero{
  padding: 28px 0 12px;
}
.hero__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.hero__panel{
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  padding: 22px;
  box-shadow: var(--shadow);
}
.hero__bullets{
  margin: 14px 0 0;
  padding-left: 18px;
  color: var(--muted);
}
.hero__bullets li{ margin: 7px 0; }
.hero__bullets b{ color: var(--text); }
.hero__right{
  display: grid;
  gap: 12px;
  align-content: start;
}
.hero__note{
  border: 1px solid rgba(11,19,36,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 14px 30px rgba(11,19,36,.08);
  padding: 14px 14px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  color: var(--muted);
}
.hero__note b{ color: var(--text); }
.hero__note .icon{
  margin: 0;
  width: 38px; height: 38px;
  border-radius: 12px;
}

/* Homepage: minimal, design-forward hero */
.home-hero{
  min-height: calc(100vh - var(--topbar-h));
  display: flex;
  align-items: flex-start;
  padding: 54px 0 46px;
  background: transparent;
  color: var(--text);
  overflow: hidden;
  position: relative;
}
.home-hero::before{
  content:"";
  position:absolute;
  inset: 0;
  background:
    radial-gradient(900px 520px at 20% 28%, rgba(0,119,255,.16), transparent 62%),
    radial-gradient(900px 520px at 80% 30%, rgba(0,194,178,.14), transparent 62%),
    radial-gradient(900px 520px at 50% 120%, rgba(255,255,255,.70), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(243,247,255,.88));
  pointer-events: none;
}
.home-hero__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: center;
  justify-items: center;
  position: relative;
  z-index: 1;
  padding-bottom: 138px; /* space for bottom carousel */
  min-height: calc(100vh - var(--topbar-h) - 110px);
}
.home-hero__headline{
  grid-column: 1 / -1;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.home-hero__title{
  margin: 0;
  font-size: 54px;
  line-height: 1.02;
  letter-spacing: -.8px;
  font-weight: 650;
  text-align: center;
}
.glow-white{
  color: #ffffff;
  text-shadow:
    0 0 14px rgba(255,255,255,.55),
    0 0 34px rgba(255,255,255,.28);
}

.home-hero .glow-white{
  background: linear-gradient(90deg, rgba(0,119,255,.95), rgba(0,194,178,.95));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
}

.home-hero__sub{
  margin-top: 12px;
  color: rgba(11,19,36,.62);
  text-align: center;
}

/* Homepage: client results carousel (one card at a time) */
.client-carousel{
  margin-top: 16px;
  width: min(560px, 92vw);
}
.client-carousel--hero{
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  margin-top: 0;
}
@media (max-height: 720px){
  .client-carousel--hero{
    bottom: 8px;
  }
  .home-hero__grid{ padding-bottom: 96px; }
}
.client-card{
  border-radius: 22px;
  padding: 12px 14px 12px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(11,19,36,.10);
  backdrop-filter: blur(10px);
  box-shadow:
    0 26px 90px rgba(11,19,36,.14),
    inset 0 1px 0 rgba(255,255,255,.55);
  transition: opacity 240ms ease, transform 240ms ease;
  transform: translateY(0) scale(1);
  position: relative;
  overflow: hidden;
}
.client-card::before{
  content:"";
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(420px 220px at 20% 20%, rgba(0,119,255,.24), transparent 62%),
    radial-gradient(420px 240px at 80% 55%, rgba(0,194,178,.18), transparent 66%);
  opacity: .35;
  pointer-events:none;
}
.client-card::after{
  content:"";
  position:absolute;
  top: 0;
  left: -40%;
  width: 40%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  transform: skewX(-18deg);
  animation: clientSheen 5.6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes clientSheen{
  0%{ left: -50%; opacity: 0; }
  18%{ opacity: .85; }
  45%{ left: 115%; opacity: 0; }
  100%{ left: 115%; opacity: 0; }
}
.client-card__row,
.client-card__kicker,
.client-card__headline,
.client-card__amounts,
.client-card__foot{
  position: relative;
  z-index: 1;
}
.client-card__row{
  display: block;
}
.client-card__avatar{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}
.client-card__body{
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  align-items: start;
  text-align: center;
}
.client-card.is-fading{
  opacity: 0;
  transform: translateY(4px) scale(.985);
}
.client-card.is-pop{
  animation: clientPop 520ms ease;
}
@keyframes clientPop{
  0%{ transform: translateY(2px) scale(.985); }
  45%{ transform: translateY(0) scale(1.02); }
  100%{ transform: translateY(0) scale(1); }
}
.client-card__kicker{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans-alt);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
  justify-content: center;
}
.client-card__kicker::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(0,194,178,.95);
  box-shadow: 0 0 18px rgba(0,194,178,.35);
}
.client-card__headline{
  margin-top: 6px;
  font-size: 15px;
  font-weight: 500;
  color: rgba(255,255,255,.92);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.client-card__name{
  font-weight: 600;
  color: #fff;
}
.client-card__headline-text{
  opacity: .9;
}
.client-card__amounts{
  margin-top: 10px;
  display: flex;
  gap: 10px;
  align-items: baseline;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
  text-align: center;
  align-self: center;
}
.client-card__from{
  font-weight: 600;
  color: rgba(255,255,255,.82);
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  text-decoration-color: rgba(255,255,255,.28);
}
.client-card__arrow{
  opacity: .75;
}
.client-card__to{
  font-weight: 600;
  color: #fff;
  text-shadow: 0 0 18px rgba(255,255,255,.18);
}
.client-card__foot{
  margin-top: 0;
  justify-self: center;
  align-self: end;
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,.86);
  letter-spacing: -.1px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}
@media (min-width: 980px){
  .home-hero__title{ font-size: 78px; }
}
.home-hero__cta{
  margin-top: 10px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.home-hero .btn{
  border-color: rgba(255,255,255,.18);
}
.home-hero .btn--ghost,
.btn--ghost{
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
}
.home-hero .btn--ghost:hover{
  background: rgba(255,255,255,.12);
  text-decoration: none;
}
.home-hero__visual{
  position: relative;
  min-height: 340px;
  width: 100%;
  display: grid;
  place-items: center;
}
.home-hero__visual::before{
  content:"";
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(420px 280px at 40% 40%, rgba(0,119,255,.26), transparent 65%),
    radial-gradient(440px 300px at 70% 55%, rgba(0,194,178,.18), transparent 66%);
  filter: blur(2px);
  opacity: .9;
}
/* iPhone mock */
.iphone{
  position: relative;
  z-index: 1;
  width: min(286px, 84%);
  height: 520px;
  margin: 0 auto;
  border-radius: 42px;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
  overflow: hidden;
  transform: none;
}

/* Hand-holding phone hero asset */
.iphone.iphone--hand{
  width: min(420px, 92%);
  height: auto;
  aspect-ratio: 626 / 746;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: url("../images/hand-phone-portrait.jpg") center/contain no-repeat;
  overflow: visible;
}
.iphone.iphone--hand::before,
.iphone.iphone--hand::after{
  display: none;
}
.iphone.iphone--hand .iphone__screen{
  position: absolute;
  left: 35.1%;
  top: 18.8%;
  width: 29.7%;
  height: 43.4%;
  transform: none;
  border-radius: 8%;
  border: 1px solid rgba(11,19,36,.12);
  box-shadow: 0 12px 26px rgba(0,0,0,.22), inset 0 0 0 1px rgba(0,0,0,.06);
}
.iphone.iphone--hand .iphone-ui{
  padding: 14px 12px 12px;
}
.iphone::before{
  /* notch */
  content:"";
  position:absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  width: 122px;
  height: 30px;
  border-radius: 18px;
  background: rgba(0,0,0,.55);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  z-index: 3;
}
.iphone::after{
  /* outer highlight */
  content:"";
  position:absolute;
  inset: 0;
  background: radial-gradient(260px 180px at 30% 20%, rgba(255,255,255,.14), transparent 60%);
  pointer-events: none;
  z-index: 2;
}
.iphone__screen{
  position:absolute;
  inset: 10px;
  border-radius: 36px;
  background: linear-gradient(180deg, #ffffff, rgba(244,248,255,.92));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.30);
  z-index: 1;
  overflow: hidden;
}

/* iPhone "live UI" animation */
.iphone__screen::before{
  content:"";
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(520px 320px at 20% 20%, rgba(255,255,255,.90), transparent 62%),
    radial-gradient(520px 320px at 85% 55%, rgba(0,0,0,.06), transparent 66%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(244,248,255,.86));
  animation: screenDrift 6.5s ease-in-out infinite alternate;
  opacity: 1;
  pointer-events:none;
}
@keyframes screenDrift{
  from{ transform: translate3d(-10px,-8px,0) scale(1.02); filter: saturate(.95); }
  to{ transform: translate3d(10px,8px,0) scale(1.03); filter: saturate(1.08); }
}
.iphone-ui{
  position: relative;
  z-index: 2;
  height: 100%;
  padding: 54px 16px 16px;
}
.iphone-ui__notif{
  height: 46px;
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(11,19,36,.10);
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
  animation: notifDrop 5.2s ease-in-out infinite;
}
.iphone-ui__notif::after{
  content:"You\u2019re qualified!";
  position:absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-sans-alt);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: -.2px;
  color: rgba(11,19,36,.92);
}
@keyframes notifDrop{
  0%{ transform: translateY(-18px); opacity: 0; }
  12%{ transform: translateY(0); opacity: 1; }
  55%{ transform: translateY(0); opacity: 1; }
  74%{ transform: translateY(-10px); opacity: 0; }
  100%{ transform: translateY(-10px); opacity: 0; }
}
.iphone-ui__bubbles{
  margin-top: 16px;
  display: grid;
  gap: 10px;
}
.bubble{
  height: 34px;
  width: 76%;
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(11,19,36,.10);
  box-shadow: 0 10px 20px rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
  transform: translateY(10px);
  opacity: 0;
  animation: bubbleIn 5.2s ease-in-out infinite;
}
.bubble--right{
  margin-left: auto;
  width: 68%;
  background: linear-gradient(135deg, rgba(0,119,255,.14), rgba(0,194,178,.12));
  border-color: rgba(0,119,255,.14);
}
.bubble--sm{
  width: 56%;
  height: 30px;
}
.bubble:nth-child(1){ animation-delay: .35s; }
.bubble:nth-child(2){ animation-delay: .85s; }
.bubble:nth-child(3){ animation-delay: 1.35s; }
@keyframes bubbleIn{
  0%{ transform: translateY(12px); opacity: 0; }
  14%{ transform: translateY(0); opacity: 1; }
  64%{ transform: translateY(0); opacity: 1; }
  86%{ transform: translateY(-6px); opacity: 0; }
  100%{ transform: translateY(-6px); opacity: 0; }
}
.typing{
  width: 64px;
  height: 30px;
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(11,19,36,.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-shadow: 0 10px 20px rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
  opacity: 0;
  transform: translateY(10px);
  animation: typingIn 5.2s ease-in-out infinite;
  animation-delay: 1.9s;
}
.typing span{
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(11,19,36,.55);
  animation: dotPulse 900ms ease-in-out infinite;
}
.typing span:nth-child(2){ animation-delay: 120ms; }
.typing span:nth-child(3){ animation-delay: 240ms; }
@keyframes dotPulse{
  0%, 100%{ transform: translateY(0); opacity: .55; }
  50%{ transform: translateY(-3px); opacity: 1; }
}
@keyframes typingIn{
  0%{ transform: translateY(12px); opacity: 0; }
  14%{ transform: translateY(0); opacity: 1; }
  44%{ transform: translateY(0); opacity: 1; }
  70%{ transform: translateY(-6px); opacity: 0; }
  100%{ transform: translateY(-6px); opacity: 0; }
}
.iphone-ui__cta{
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 18px;
  height: 46px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(11,19,36,.92), rgba(11,19,36,.84));
  border: 1px solid rgba(11,19,36,.18);
  box-shadow: 0 16px 34px rgba(11,19,36,.18);
  overflow: hidden;
  display: grid;
  place-items: center;
  font-family: var(--font-sans-alt);
  font-weight: 800;
  color: rgba(255,255,255,.96);
  letter-spacing: -.2px;
}
.iphone-ui__cta::before{
  content:"Begin Resolution";
  position: relative;
  z-index: 2;
  font-size: 14px;
}
.iphone-ui__cta::after{
  content:"";
  position:absolute;
  inset:-2px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.30), transparent);
  transform: translateX(-120%) skewX(-18deg);
  animation: ctaSheen 2.6s ease-in-out infinite;
}
.eyebrow{
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,194,178,.35);
  background: rgba(0,194,178,.10);
  color: var(--text);
  font-size: 13px;
  letter-spacing: .2px;
}
.hero h1{
  margin: 12px 0 10px;
  font-size: 34px;
  line-height: 1.1;
  letter-spacing: -.6px;
}
.lead{
  margin: 0;
  color: var(--muted);
  font-size: 16px;
}
.hero__cta{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 18px;
}
.trust{
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.trust .card{
  border: 1px solid rgba(11,19,36,.10);
  background: rgba(255,255,255,.88);
  border-radius: var(--radius-sm);
  padding: 12px;
  color: var(--muted);
  font-size: 14px;
}
.trust b{ color: var(--text); font-weight: 600; }

/* Sections */
.section{
  padding: 26px 0;
}
.section__title{
  font-size: 22px;
  margin: 0 0 10px;
  letter-spacing: -.2px;
}
/* Use ExtraBold section titles on non-questionnaire pages */
body.has-topnav .section__title{
  font-weight: 600;
}
.section__sub{
  margin: 0 0 16px;
  color: var(--muted);
}
.grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.card{
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(255,255,255,.90);
  padding: 16px;
}
.card h3{ margin: 0 0 6px; font-size: 16px; }
.card p{ margin: 0; color: var(--muted); }
.icon{
  width: 34px; height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(0,194,178,.10);
  border: 1px solid rgba(0,194,178,.22);
  margin-bottom: 10px;
}
.icon svg{ width: 18px; height: 18px; fill: var(--text); opacity: .95; }

/* Steps */
.steps{ counter-reset: step; }
.step{
  position: relative;
  padding-left: 52px;
}
.step::before{
  counter-increment: step;
  content: counter(step);
  position: absolute;
  left: 16px;
  top: 16px;
  width: 26px; height: 26px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(0,119,255,.12);
  border: 1px solid rgba(0,119,255,.28);
  color: var(--text);
  font-weight: 750;
  font-size: 13px;
}

/* Testimonials */
.quote{
  font-size: 15px;
  margin: 0 0 10px;
  color: var(--text);
}
.who{
  font-size: 13px;
  color: var(--muted);
}
.stars{
  color: rgba(255, 210, 90, .95);
  letter-spacing: 2px;
  font-size: 14px;
  margin-bottom: 8px;
}

/* FAQ */
details{
  border: 1px solid var(--border);
  background: rgba(255,255,255,.92);
  border-radius: var(--radius);
  padding: 14px 16px;
  transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}
details + details{ margin-top: 10px; }
summary{
  cursor: pointer;
  list-style: none;
  font-weight: 650;
  position: relative;
  padding-right: 44px;
}
summary::-webkit-details-marker{ display: none; }
summary::after{
  content:"";
  position:absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.7 9.2a1 1 0 0 1 1.4 0L12 13.1l3.9-3.9a1 1 0 1 1 1.4 1.4l-4.6 4.6a1 1 0 0 1-1.4 0L6.7 10.6a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.7 9.2a1 1 0 0 1 1.4 0L12 13.1l3.9-3.9a1 1 0 1 1 1.4 1.4l-4.6 4.6a1 1 0 0 1-1.4 0L6.7 10.6a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
  color: rgba(11,19,36,.72);
  opacity: .9;
  transition: transform 200ms ease, opacity 200ms ease;
}
details[open] summary::after{
  transform: translateY(-50%) rotate(180deg);
  opacity: 1;
}
details p{
  margin: 10px 0 0;
  color: var(--muted);
}

/* Cinematic FAQ dropdown (FAQ page) */
.faq-accordion details:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(11,19,36,.10);
}
.faq-accordion details[open]{
  border-color: rgba(0,194,178,.28);
  box-shadow: 0 22px 52px rgba(11,19,36,.14);
  transform: translateY(-2px);
}
.faq-accordion .faq-answer{
  max-height: 0;
  overflow: hidden;
  transition: max-height 680ms cubic-bezier(.18,.86,.12,1);
}
.faq-accordion .faq-answer__inner{
  padding-top: 10px;
  opacity: 0;
  transform: translateY(-6px);
  filter: blur(.2px);
  transition: opacity 300ms ease, transform 680ms cubic-bezier(.18,.86,.12,1), filter 680ms ease;
}
.faq-accordion details[open] .faq-answer__inner{
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  transition-delay: 60ms;
}
.faq-accordion .faq-answer__inner > p:first-child{ margin-top: 0; }

/* Cinematic micro-interactions for FAQ dropdowns */
.snap-panel--reviews details{
  transform: translateY(0);
}
.snap-panel--reviews details:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(11,19,36,.10);
}
.snap-panel--reviews details[open]{
  border-color: rgba(0,194,178,.28);
  box-shadow: 0 22px 52px rgba(11,19,36,.14);
  transform: translateY(-2px);
}
/* Slow reveal of answer text */
.snap-panel--reviews details:not([open]) > :not(summary){
  display: block; /* override UA styles so transitions can run */
}
.snap-panel--reviews .faq-answer{
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding-top: 0;
  transform: translateY(-4px);
  filter: blur(2px);
  transition:
    max-height 520ms ease,
    opacity 420ms ease,
    transform 420ms ease,
    filter 420ms ease,
    padding 420ms ease;
}
.snap-panel--reviews details[open] .faq-answer{
  max-height: 240px; /* enough for multi-line answers */
  opacity: 1;
  padding-top: 10px;
  transform: translateY(0);
  filter: blur(0);
}
.snap-panel--reviews .faq-answer p{
  margin: 0;
}

/* Homepage FAQ layout */
.faq-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: 18px;
}
.faq-group{
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.faq-group__title{
  margin: 0 0 10px;
  font-size: 18px;
  letter-spacing: -.2px;
}
.snap-panel--reviews details{
  background: rgba(255,255,255,.92);
}
/* Homepage: make the FAQ section headings much larger */
.snap-panel--reviews .snap-kicker{
  font-size: 18px;
  letter-spacing: .18em;
}
.snap-panel--reviews .section__title{
  font-size: 46px;
  line-height: 1.03;
}
.snap-panel--reviews .section__sub{
  font-size: 18px;
  line-height: 1.5;
}
@media (min-width: 980px){
  .snap-panel--reviews .section__title{
    font-size: 66px;
  }
  .snap-panel--reviews .section__sub{
    font-size: 20px;
  }
}
@media (min-width: 980px){
  .faq-grid{
    grid-template-columns: 1fr 1fr;
    gap: 22px;
  }
}

/* Forms */
label{ display: block; font-size: 14px; color: var(--muted); margin-bottom: 6px; }
input, textarea{
  width: 100%;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid rgba(11,19,36,.18);
  background: #ffffff;
  color: var(--text);
  outline: none;
}
textarea{ min-height: 120px; resize: vertical; }
input:focus, textarea:focus{ border-color: rgba(0,194,178,.55); box-shadow: 0 0 0 4px rgba(0,194,178,.10); }

.input-inline{
  display: flex;
  align-items: stretch;
  gap: 10px;
}
.input-inline .flag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(11,19,36,.18);
  background: rgba(11,19,36,.03);
  font-size: 16px;
}
.input-inline input{ flex: 1 1 auto; }
.form-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.form-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 10px;
}
.form-actions .btn{ flex: 1 1 220px; }

/* CTA stack (homepage) */
#cta .container{
  --max: 1320px;
}
.cta-stack{
  display: grid;
  gap: 16px;
  position: relative;
  padding-bottom: 210px; /* reserve space for bottom banner */
}
.cta-banner{
  border-radius: 34px;
  padding: 54px 38px;
  min-height: 220px;
  color: #fff;
  background:
    radial-gradient(900px 520px at 18% 35%, rgba(0,119,255,.45), transparent 60%),
    radial-gradient(900px 520px at 80% 25%, rgba(0,194,178,.26), transparent 62%),
    linear-gradient(135deg, #061126, #0b2a63 42%, #061126);
  box-shadow: 0 24px 70px rgba(11,19,36,.26);
  border: 1px solid rgba(255,255,255,.10);
}
.cta-banner__grid{
  display: grid;
  gap: 22px;
  align-items: center;
  justify-items: center;
  align-content: center;
  text-align: center;
  height: 100%;
}
.cta-banner__grid > div{
  transform: translateY(-10px); /* nudge headline slightly upward */
}
.cta-banner__title{
  margin: 0;
  font-size: 54px;
  line-height: 1.05;
  letter-spacing: -.6px;
  font-weight: 600;
}
.cta-banner__sub{
  margin: 12px auto 0;
  color: rgba(255,255,255,.80);
  max-width: 64ch;
  text-align: center;
}
.cta-banner__btn{
  justify-self: start;
  background: rgba(255,255,255,.92);
  color: rgba(11,19,36,.92);
  border-color: rgba(255,255,255,.24);
  border-radius: 999px;
  padding: 12px 18px;
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
}
.cta-banner__btn:hover{
  filter: brightness(1.04);
  transform: translateY(-1px);
}
.cta-banner__btn:active{ transform: translateY(0); }

.cta-strip{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 14px; /* more rectangular */
  padding: 44px 28px;
  min-height: 180px; /* fills the bottom area */
  background: rgba(20, 55, 140, .92);
  border: 1px solid rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #fff;
}
.cta-strip::before{
  content:"";
  position:absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(520px 220px at 18% 30%, rgba(255,255,255,.10), transparent 60%),
    radial-gradient(520px 220px at 80% 60%, rgba(0,194,178,.12), transparent 62%);
  pointer-events:none;
  opacity: .9;
}
.cta-strip__text,
.cta-strip__btn{
  position: relative;
  z-index: 1;
}
.cta-strip__title{
  font-weight: 600;
  letter-spacing: -.2px;
}
.cta-strip__sub{
  margin-top: 2px;
  color: rgba(255,255,255,.78);
  font-size: 13px;
}
.cta-strip__btn{
  border-radius: 999px;
  border-color: rgba(255,255,255,.22);
  color: rgba(255,255,255,.90);
  background: rgba(255,255,255,.06);
}
.cta-strip__btn:hover{
  background: rgba(255,255,255,.10);
}

@media (min-width: 980px){
  .cta-banner{
    padding: 74px 64px;
    min-height: 280px;
  }
  .cta-banner__title{
    font-size: 78px;
    line-height: 1.02;
  }
  .cta-banner__sub{
    font-size: 18px;
  }
  .cta-banner__btn{
    justify-self: center;
    padding: 14px 22px;
    font-weight: 750;
  }
}
.form-meta{
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.progress{
  height: 14px;
  border-radius: 999px;
  background: rgba(11,19,36,.055);
  border: 1px solid rgba(11,19,36,.12);
  overflow: hidden;
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
.progress > span{
  display: block;
  height: 100%;
  width: var(--progress, 100%);
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  transition: width 650ms cubic-bezier(.2,.8,.2,1);
  box-shadow: 0 10px 22px rgba(0,119,255,.18);
  position: relative;
}
/* Step dividers (5 segments) */
.progress::after{
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent 0,
    transparent calc(20% - 2px),
    rgba(11,19,36,.18) calc(20% - 2px),
    rgba(11,19,36,.18) 20%
  );
  opacity: .35;
  pointer-events: none;
  mix-blend-mode: multiply;
}
/* Subtle moving shine on the filled portion */
.progress > span::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 40%;
  left: -45%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform: skewX(-18deg);
  animation: sheen 1.5s ease-in-out infinite;
}
@keyframes sheen{
  0%{ left: -45%; opacity: 0; }
  25%{ opacity: 1; }
  60%{ left: 110%; opacity: 0; }
  100%{ left: 110%; opacity: 0; }
}
.summary{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
}
.chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(11,19,36,.14);
  background: rgba(11,19,36,.03);
  color: var(--muted);
  font-size: 13px;
}
.chip b{ color: var(--text); font-weight: 700; }

.field-error{
  margin-top: 6px;
  font-size: 12px;
  color: rgba(120, 20, 30, .95);
  display: none;
}
.is-invalid + .field-error,
.field-error.is-visible{ display: block; }
.is-invalid{
  border-color: rgba(215,38,61,.55) !important;
  box-shadow: 0 0 0 4px rgba(215,38,61,.12) !important;
}

.btn.is-loading{
  pointer-events: none;
  opacity: .9;
}
.btn.is-loading::after{
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.55);
  border-top-color: rgba(255,255,255,1);
  display: inline-block;
  margin-left: 10px;
  animation: spin 900ms linear infinite;
}
@keyframes spin{ to{ transform: rotate(360deg);} }
.form-note{
  color: var(--muter);
  font-size: 13px;
  margin: 8px 0 0;
}
.alert{
  display: none;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(11,19,36,.14);
  background: rgba(11,19,36,.03);
  color: var(--muted);
}
.alert.is-visible{ display: block; }
.alert--ok{ border-color: rgba(0,194,178,.35); }
.alert--err{
  border-color: rgba(215,38,61,.35);
  background: rgba(215,38,61,.08);
  color: rgba(120, 20, 30, .95);
}

/* Footer */
footer{
  border-top: 1px solid var(--border);
  margin-top: 28px;
  padding: 22px 0;
  color: var(--muter);
  font-size: 13px;
}
.mini-compliance{
  margin-top: 0;
  padding: 16px 0;
  background: #061126;
  border-top: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.72);
  font-size: 12px;
}
.mini-compliance__inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.mini-compliance__copy{
  color: rgba(255,255,255,.62);
  white-space: nowrap;
}

/* Large compliance footer (homepage end) */
.site-footer{
  margin-top: 0;
  padding: 0;
  border-top: 1px solid rgba(11,19,36,.10);
  background:
    radial-gradient(1100px 520px at 12% 0%, rgba(0,119,255,.08), transparent 60%),
    radial-gradient(1100px 520px at 88% 0%, rgba(0,194,178,.07), transparent 62%),
    linear-gradient(180deg, rgba(243,247,255,.20), rgba(243,247,255,.78));
  color: var(--text);
}
.site-footer__top{
  padding: 64px 0 28px;
}
.site-footer__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: start;
}
.site-footer__brand .topbar__brand{
  color: var(--text);
}
.site-footer__meta{
  margin-top: 14px;
  color: var(--muted);
  display: grid;
  gap: 6px;
  font-size: 14px;
}
.site-footer__label{
  color: rgba(11,19,36,.62);
  font-weight: 700;
}
.site-footer__meta a{ color: var(--text); text-decoration: none; }
.site-footer__meta a:hover{ text-decoration: underline; }
.site-footer__social{
  margin-top: 16px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.site-footer__social a{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(11,19,36,.12);
  background: rgba(11,19,36,.03);
  color: rgba(11,19,36,.72);
  font-weight: 750;
  font-size: 12px;
  text-decoration: none;
}
.site-footer__social a:hover{
  background: rgba(0,194,178,.10);
  border-color: rgba(0,194,178,.35);
  color: rgba(11,19,36,.86);
}
.site-footer__cols{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.site-footer__col h4{
  margin: 0 0 10px;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(11,19,36,.70);
}
.site-footer__col a{
  display: block;
  padding: 6px 0;
  color: rgba(11,19,36,.80);
  text-decoration: none;
  font-weight: 600;
}
.site-footer__col a:hover{ text-decoration: underline; }
.site-footer__legal{
  margin: 0 0 54px;
  padding: 34px 34px 26px;
  border: 1px solid rgba(11,19,36,.10);
  border-radius: 26px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 28px 90px rgba(11,19,36,.12);
  color: rgba(11,19,36,.78);
}
.site-footer__legal h4{
  margin: 0 0 10px;
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(11,19,36,.70);
}
.site-footer__legal p{
  margin: 10px 0 0;
  max-width: 110ch;
  font-size: 13px;
  line-height: 1.55;
}
.site-footer__bottom{
  margin-top: 18px;
  color: rgba(11,19,36,.60);
  font-size: 12px;
}
.site-footer__bottom-links{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}
.site-footer__bottom-links a{
  color: rgba(11,19,36,.70);
  text-decoration: none;
  font-weight: 650;
}
.site-footer__bottom-links a:hover{ text-decoration: underline; }

@media (max-width: 640px){
  .site-footer__top{ padding: 54px 0 22px; }
  .site-footer__legal{
    padding: 26px 18px 18px;
    border-radius: 20px;
    margin-bottom: 42px;
  }
}

/* IRS Notices page */
.notice-hero{
  text-align: center;
  padding-top: 10px;
}
.notice-hero__title{
  margin: 0;
  font-size: 56px;
  letter-spacing: -.8px;
  line-height: 1.03;
}
.notice-hero__sub{
  margin: 14px auto 0;
  max-width: 78ch;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}
.notice-hero__cta{
  margin-top: 18px;
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.notice-alert{
  border-radius: 22px;
  padding: 22px 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.86));
  border: 1px solid rgba(11,19,36,.10);
  box-shadow: 0 18px 44px rgba(11,19,36,.10);
}
.notice-alert__title{ margin: 0; font-size: 24px; letter-spacing: -.3px; }
.notice-alert__sub{ margin: 10px 0 0; color: var(--muted); max-width: 90ch; }
.notice-steps{
  margin-top: 16px;
  display: grid;
  gap: 12px;
}
.notice-step{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 14px;
  border-radius: 16px;
  background: rgba(11,19,36,.03);
  border: 1px solid rgba(11,19,36,.08);
}
.notice-step__num{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-weight: 600;
  color: rgba(0,119,255,.95);
  background: linear-gradient(135deg, rgba(0,119,255,.14), rgba(0,194,178,.10));
  border: 1px solid rgba(0,119,255,.16);
  flex: 0 0 34px;
}
.notice-step__title{ font-weight: 600; letter-spacing: -.2px; }
.notice-step__sub{ color: var(--muted); font-size: 14px; margin-top: 3px; }
.notice-alert__foot{
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(11,19,36,.10);
  color: rgba(11,19,36,.76);
}
.notice-search{
  display: grid;
  gap: 14px;
  align-items: end;
}
.notice-search__box{
  border-radius: 18px;
  padding: 14px 14px;
  border: 1px solid rgba(11,19,36,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 30px rgba(11,19,36,.08);
}
.notice-search__box label{ margin-bottom: 8px; font-weight: 700; color: rgba(11,19,36,.70); }
.notice-search__box input{
  margin-top: 0;
  height: 52px;
  padding: 14px 14px;
  border-radius: 14px;
  font-size: 16px;
}
.notice-list{
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.notice-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(11,19,36,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 26px rgba(11,19,36,.06);
  text-decoration: none;
}
.notice-item:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 38px rgba(11,19,36,.10);
}
.notice-item__code{
  font-weight: 600;
  letter-spacing: .08em;
  font-size: 14px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(0,119,255,.10);
  border: 1px solid rgba(0,119,255,.16);
  color: rgba(0,119,255,.95);
  flex: 0 0 auto;
}
.notice-item__desc{
  color: rgba(11,19,36,.82);
  font-weight: 500;
  min-width: 0;
}
.notice-help{
  margin-top: 18px;
  border-radius: 22px;
  padding: 18px 18px;
  background: linear-gradient(135deg, rgba(0,119,255,.10), rgba(0,194,178,.10));
  border: 1px solid rgba(11,19,36,.10);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.notice-help__title{ margin: 0; font-size: 18px; letter-spacing: -.2px; }
.notice-help__sub{ margin: 6px 0 0; color: rgba(11,19,36,.76); max-width: 70ch; }
.notice-help__cta{ display: flex; gap: 10px; flex-wrap: wrap; }

/* Glossary page */
.glossary-index{
  display: grid;
  gap: 10px;
}
.glossary-index__links{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.glossary-chip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(11,19,36,.14);
  background: rgba(255,255,255,.86);
  color: rgba(11,19,36,.82);
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
}
.glossary-chip:hover{
  border-color: rgba(0,194,178,.35);
  background: rgba(0,194,178,.10);
}
.glossary-hero{
  border-radius: 24px;
  padding: 18px;
  background:
    radial-gradient(720px 420px at 20% 0%, rgba(0,119,255,.16), transparent 60%),
    radial-gradient(720px 420px at 85% 30%, rgba(0,194,178,.14), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.86));
  border: 1px solid rgba(11,19,36,.10);
  box-shadow: 0 18px 44px rgba(11,19,36,.10);
  display: grid;
  gap: 14px;
}
.glossary-hero__title{
  margin: 0;
  font-size: clamp(30px, 4vw, 44px);
  letter-spacing: -.6px;
  line-height: 1.06;
}
.glossary-hero__sub{
  margin: 10px 0 0;
  color: rgba(11,19,36,.72);
  max-width: 75ch;
  line-height: 1.65;
}
.glossary-search{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(11,19,36,.10);
  border-radius: 18px;
  padding: 12px;
}
.glossary-search__label{
  display: block;
  font-weight: 600;
  color: rgba(11,19,36,.78);
  margin-bottom: 8px;
}
.glossary-search__row{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
}
.glossary-search__input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(11,19,36,.14);
  background: rgba(255,255,255,.92);
  font: inherit;
  color: rgba(11,19,36,.90);
  outline: none;
}
.glossary-search__input:focus{
  border-color: rgba(0,194,178,.55);
  box-shadow: 0 0 0 4px rgba(0,194,178,.14);
}
.glossary-search__clear{
  white-space: nowrap;
  padding: 12px 14px;
}
.glossary-search__meta{
  margin-top: 8px;
  color: rgba(11,19,36,.62);
}

.glossary-layout{
  margin-top: 16px;
  display: grid;
  gap: 14px;
}
.glossary-sidebar{
  border: 1px solid rgba(11,19,36,.10);
  background: rgba(255,255,255,.86);
  border-radius: 18px;
  padding: 14px;
}
.glossary-sidebar__title{
  font-weight: 700;
  letter-spacing: -.2px;
  margin-bottom: 10px;
}
.glossary-sidebar__foot{
  margin-top: 12px;
  color: rgba(11,19,36,.62);
}
.glossary-content{ min-width: 0; }

.glossary{
  display: grid;
  gap: 16px;
}
.glossary-letter{
  border: 1px solid rgba(11,19,36,.10);
  background: rgba(255,255,255,.88);
  border-radius: 18px;
  padding: 16px;
  /* Ensure anchor jumps land with the letter header visible below the fixed topbar */
  scroll-margin-top: calc(var(--topbar-h) + 18px);
}
.glossary-letter__title{
  margin: 0 0 8px;
  font-size: 18px;
  letter-spacing: -.2px;
  font-weight: 600;
}
.glossary-term{
  border-top: 1px solid rgba(11,19,36,.08);
  padding-top: 12px;
  margin-top: 12px;
}
.glossary-term:first-of-type{
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}
.glossary-term__title{
  margin: 0 0 6px;
  font-size: 16px;
  letter-spacing: -.15px;
  font-weight: 600;
}
.glossary-term__def{
  margin: 0;
  color: rgba(11,19,36,.74);
  line-height: 1.6;
}
.glossary-bottom{
  margin-top: 18px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

/* Blogs page */
.breadcrumbs{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(11,19,36,.58);
  margin-bottom: 10px;
}
.breadcrumbs a{
  color: rgba(11,19,36,.66);
  text-decoration: none;
}
.breadcrumbs a:hover{ text-decoration: underline; }
.blog-head{
  display: grid;
  gap: 12px;
  align-items: end;
  margin-top: 4px;
}
.blog-head__title{
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  letter-spacing: -.7px;
  line-height: 1.06;
}
.blog-controls{
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
}
.blog-search{
  position: relative;
  border: 1px solid rgba(11,19,36,.12);
  background: rgba(255,255,255,.92);
  border-radius: 14px;
  padding: 0 12px 0 38px;
  height: 44px;
  display: flex;
  align-items: center;
}
.blog-search__icon{
  position: absolute;
  left: 12px;
  width: 18px;
  height: 18px;
  background: rgba(11,19,36,.72);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2a8 8 0 1 0 4.9 14.3l4.4 4.4 1.4-1.4-4.4-4.4A8 8 0 0 0 10 2Zm0 2a6 6 0 1 1 0 12 6 6 0 0 1 0-12Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2a8 8 0 1 0 4.9 14.3l4.4 4.4 1.4-1.4-4.4-4.4A8 8 0 0 0 10 2Zm0 2a6 6 0 1 1 0 12 6 6 0 0 1 0-12Z'/%3E%3C/svg%3E") center / contain no-repeat;
  opacity: .85;
}
.blog-search__input{
  width: 100%;
  border: 0;
  outline: none;
  background: transparent;
  font: inherit;
  color: rgba(11,19,36,.90);
}
.blog-select{
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(11,19,36,.12);
  background: rgba(255,255,255,.92);
  padding: 0 12px;
  font: inherit;
  color: rgba(11,19,36,.82);
}
.blog-meta{
  margin-top: 8px;
  color: rgba(11,19,36,.62);
}
.blog-grid{
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.blog-card{
  border: 1px solid rgba(11,19,36,.10);
  background: rgba(255,255,255,.90);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(11,19,36,.08);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.blog-card:hover{
  transform: translateY(-2px);
  border-color: rgba(0,194,178,.26);
  box-shadow: 0 22px 56px rgba(11,19,36,.12);
}
.blog-card__media{
  display: block;
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.blog-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform 260ms ease;
}
.blog-card:hover .blog-card__media img{ transform: scale(1.03); }
.blog-card__body{
  padding: 12px 14px 14px;
}
.blog-card__title{
  margin: 0;
  font-size: 16px;
  letter-spacing: -.2px;
  line-height: 1.25;
}
.blog-card__title a{
  color: rgba(11,19,36,.92);
  text-decoration: none;
}
.blog-card__title a:hover{ text-decoration: underline; }
.blog-card__link{
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: rgba(0,119,255,.95);
  text-decoration: none;
}
.blog-card__link:hover{ text-decoration: underline; }

@media (min-width: 820px){
  .blog-controls{
    grid-template-columns: 1fr 220px 220px;
    align-items: center;
  }
  .blog-grid{ grid-template-columns: repeat(3, 1fr); }
  .blog-card__body{ padding: 12px 14px 16px; }
  .blog-card__title{ font-size: 17px; }
}

@media (min-width: 980px){
  .glossary-hero{
    grid-template-columns: 1.2fr .8fr;
    align-items: center;
    gap: 18px;
    padding: 20px;
  }
  .glossary-layout{
    grid-template-columns: 240px 1fr;
    align-items: start;
    gap: 16px;
  }
  .glossary-sidebar{
    /* Keep "Jump to" at the top of the glossary section (no sticky follow) */
    position: static;
  }
}

@media (max-width: 640px){
  .glossary-search__row{
    grid-template-columns: 1fr;
  }
  .glossary-search__clear{ width: 100%; }
}

@media (min-width: 980px){
  .notice-hero__title{ font-size: 72px; }
  .notice-search{
    grid-template-columns: 1.3fr .7fr;
  }
  .notice-list{
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 980px){
  .site-footer__grid{
    grid-template-columns: 1.2fr .8fr;
    gap: 40px;
  }
  .site-footer__cols{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.footer__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.footer__links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}
.footer__links a{ color: var(--muted); }
.tiny{
  color: var(--muter);
  font-size: 12px;
}

/* Mini helper note (below answer choices) */
.mini-note{
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px 14px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
  border: 1px solid rgba(11,19,36,.12);
  box-shadow: 0 14px 30px rgba(11,19,36,.08);
  color: rgba(11,19,36,.78);
  max-width: 680px;
  width: min(680px, 100%);
  margin: 0 auto;
}
.mini-note__icon{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(0,119,255,.16), rgba(0,194,178,.14));
  border: 1px solid rgba(0,119,255,.18);
  flex: 0 0 38px;
}
.mini-note__icon svg{ width: 20px; height: 20px; fill: rgba(0,119,255,.95); }
.mini-note__body{
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mini-note__label{
  font-family: var(--font-sans-alt);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(11,19,36,.62);
  margin: 0 0 4px;
}
.mini-note__text{
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 600;
  color: rgba(11,19,36,.78);
  text-align: center;
}

/* Center questionnaire content vertically in viewport */
.q-wrap{
  max-width: 760px;
  margin: 0 auto;
  min-height: calc(100vh - 140px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Testimonials carousel (questionnaire) */
.t-carousel{
  margin: 18px auto 0;
  width: min(680px, 100%);
}
.tcard{
  border-radius: 16px;
  border: 1px solid rgba(11,19,36,.12);
  background: rgba(255,255,255,.88);
  box-shadow: 0 14px 30px rgba(11,19,36,.08);
  padding: 14px 14px;
}
.tcard__top{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.tcard__avatar{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background:
    radial-gradient(18px 18px at 35% 35%, rgba(255,255,255,.55), transparent 72%),
    linear-gradient(135deg, rgba(0,119,255,.95), rgba(0,194,178,.95));
  border: 2px solid rgba(255,255,255,.9);
  box-shadow: 0 12px 26px rgba(0,119,255,.16);
  flex: 0 0 44px;
}
.tcard__avatar.has-photo{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 0 12px 26px rgba(11,19,36,.14);
}
.tcard__meta{ min-width: 0; }
.tcard__stars{
  display: inline-flex;
  gap: 3px;
  margin-bottom: 3px;
}
.tstar{
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: rgba(0,119,255,.95);
  display: inline-grid;
  place-items: center;
  color: #fff;
  font-size: 11px;
  line-height: 1;
  box-shadow: 0 8px 16px rgba(0,119,255,.14);
}
.tcard__name{
  font-family: var(--font-sans-alt);
  font-weight: 600;
  font-size: 13px;
  color: rgba(11,19,36,.72);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tcard__name .tclient{
  font-size: 11px;
  font-weight: 600;
  color: rgba(11,19,36,.55);
  margin-left: 6px;
}
.tcard__text{
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 500;
  color: rgba(11,19,36,.78);
}

.tcard.is-fading{
  opacity: 0;
  transform: translateY(6px);
  filter: blur(2px);
}
.tcard{
  transition: opacity 320ms ease, transform 320ms ease, filter 320ms ease;
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

/* Utilities */
.spacer{ height: 10px; }
.spacer-lg{ height: 18px; }
.spacer-xl{ height: 28px; }
.below-fold-spacer{ height: 55vh; }
.kicker{ color: var(--muted); margin: 0; }
.list{
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--muted);
}
.list li{ margin: 6px 0; }

@media (min-width: 820px){
  .nav__links{ display: flex; }
  .hamburger{ display: none; }
  .hero__grid{ grid-template-columns: 1.1fr .9fr; gap: 18px; }
  .hero__cta{ flex-direction: row; align-items: center; }
  .trust{ grid-template-columns: repeat(3, 1fr); }
  .grid{ grid-template-columns: repeat(3, 1fr); }
  .form-grid{ grid-template-columns: 1fr 1fr; }
  .form-grid .full{ grid-column: 1 / -1; }
  .footer__grid{ grid-template-columns: 1.4fr .6fr; align-items: start; }
}

@media (max-width: 820px){
  /* Header-style nav (used on notices page): match "brand left + hamburger right" */
  .header .nav__actions .btn--primary{ display: none; }
}


/* === Global background consistency patch ===
   Keeps every page on the same smooth TaxRefresh background so pages do not
   jump from plain white to blue/green mid-scroll. */
html{
  background: var(--bg);
}
body,
body.page-book,
body.page-scheduled,
body.page-confirm,
body.page-next,
body.has-topnav{
  background: var(--bg) !important;
  background-image:
    radial-gradient(1200px 700px at 8% -8%, rgba(0,119,255,.12), transparent 58%),
    radial-gradient(1100px 720px at 92% 0%, rgba(0,194,178,.10), transparent 62%),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 55%, #ffffff 120%) !important;
  background-attachment: fixed, fixed, scroll !important;
  min-height: 100%;
}

/* Legal pages: use one clean card instead of changing background bands. */
.legal-page{
  background: transparent !important;
}
.legal-page .site-footer__legal{
  border: 1px solid rgba(11,19,36,.10) !important;
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 22px 60px rgba(11,19,36,.10);
  padding: 40px 44px !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.legal-page .site-footer__legal h1{
  margin-top: 0;
}

/* Step/question pages: prevent white-to-blue striping from section backgrounds. */
body:not(.is-home) main,
body:not(.is-home) .question,
body:not(.is-home) .form-section,
body:not(.is-home) .sched,
body:not(.is-home) .book-wrap,
body:not(.is-home) .next{
  background: transparent !important;
}

@media (max-width: 640px){
  .legal-page .site-footer__legal{
    border-radius: 20px;
    padding: 28px 20px !important;
  }
}


/* ---- TaxRefresh deployment-safe background fix 2026-05-30 ----
html{ background: var(--bg); min-height:100%; }
body{
  min-height:100%;
  background:
    radial-gradient(1200px 760px at 8% 0%, rgba(0,119,255,.14), transparent 58%),
    radial-gradient(1100px 760px at 92% 10%, rgba(0,194,178,.12), transparent 62%),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 55%, #ffffff 120%) !important;
  background-attachment: fixed;
}
body.snap{ background: var(--bg) !important; }
body:not(.snap) main,
body:not(.snap) .page,
body:not(.snap) .section{
  background: transparent !important;
}
.page-book,
.page-scheduled,
.page-confirm{
  background: transparent !important;
}
.sched-card,.book-card,.legal-card,.card,.panel{
  background:#fff;
}
/* keep legal pages from creating a hard blue/white split */
.legal-page, .page-legal{ background: transparent !important; }
