.hero .no-gate{margin-top:16px;margin-bottom:28px}

.home-link{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:800;font-size:.86rem;white-space:nowrap;transition:border-color .15s,background .15s,transform .15s}
.home-link:hover{border-color:#a9c9b7;background:#f7fbf8;transform:translateY(-1px)}
.home-link svg{width:17px;height:17px;color:var(--green)}

#step1>.finder-actions,#step2>.finder-actions,#step3>.finder-actions{display:none}
.step-back{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--muted);font-weight:800;font-size:.88rem;padding:4px 0;margin:0 0 14px;min-height:36px}
.step-back:hover{color:var(--navy)}
.step-back svg{width:17px;height:17px}
.auto-hint{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:.8rem;line-height:1.45;margin-top:12px}
.auto-hint svg{width:16px;height:16px;color:var(--green);flex:none;margin-top:2px}
.choice.auto-selected{pointer-events:none}

#finder{scroll-margin-top:92px}
#finder.quiz-active{min-height:560px}
#finder.quiz-active .step.active{min-height:486px}
#step1 .choice-ic{background:#f4f7f6;border:1px solid #e5ece8}
#step1 .choice-ic svg{width:26px;height:26px;stroke-width:2;color:var(--navy)}
.choice-mark{opacity:.42;border-width:1.5px;transition:opacity .15s,background .15s,border-color .15s}
.choice:hover .choice-mark{opacity:.68}
.choice.selected .choice-mark{opacity:1}

.final-cta .btn{vertical-align:middle}
.final-cta .btn+.btn{margin-left:18px}

footer{padding:40px 0}
.foot-in{display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:34px}
.foot-logo{min-width:0}
.foot-logo a{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:14px;padding:10px 14px;line-height:0;box-shadow:0 8px 28px -22px rgba(0,0,0,.55)}
.foot-logo img{display:block;height:48px!important;width:auto!important;max-width:192px!important;object-fit:contain!important;background:transparent!important;border-radius:0!important;padding:0!important}
.foot-copy{max-width:none}
.foot-links{white-space:nowrap}

/* Use a clean phone glyph instead of the legacy asymmetric/incomplete inline paths. */
.phone svg,.call-mini svg{display:none!important}
.phone::before,.call-mini::before{content:"";display:block;width:22px;height:22px;flex:none;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='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%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='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.phone::before{color:var(--green);background:var(--green)}
.call-mini::before{color:var(--navy);background:var(--navy)}

/* Bring Plan Finder FAQ to the same visual hierarchy as the main site. */
.faq-sec{background:#f0f7f1;padding:92px 0}
.faq-sec .section-head{max-width:760px;margin:0 auto 48px;text-align:center}
.faq-sec .section-head .mini{display:inline-block;color:var(--green);font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.faq-sec .section-head h2{font-family:var(--display);font-weight:800;font-size:clamp(2.1rem,3.8vw,3.1rem);line-height:1.08;letter-spacing:-.025em;color:var(--navy);margin:0}
.faq-sec .faq-lead{max-width:650px;margin:16px auto 0;color:var(--muted);font-size:1.02rem;line-height:1.6}
.faq-sec .faq-wrap{max-width:820px;margin:0 auto}
.faq-sec .faq{background:#fff;border:1px solid var(--line);border-radius:20px;margin-bottom:13px;overflow:hidden;transition:box-shadow .2s,border-color .2s}
.faq-sec .faq.open{box-shadow:0 12px 30px -24px rgba(8,42,63,.38);border-color:#cfddd5}
.faq-sec .faq button{width:100%;background:none;border:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px 26px;text-align:left;font-weight:700;font-size:1.1rem;line-height:1.4;color:var(--navy)}
.faq-sec .faq button>span{min-width:0}
.faq-sec .faq button>svg{width:30px!important;height:30px!important;min-width:30px;padding:7px;border-radius:50%;background:var(--paper);color:var(--navy);transition:transform .25s,background .25s,color .25s}
.faq-sec .faq.open button>svg{background:var(--green);color:#fff;transform:rotate(45deg)}
.faq-sec .faq .answer{padding:0 26px 24px;color:var(--muted);font-size:1.02rem;line-height:1.7}
.faq-sec .faq .answer strong{color:var(--ink);font-weight:800}
.faq-sec .faq .answer a{color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:2px}

@media(max-width:940px){.foot-in{grid-template-columns:190px minmax(0,1fr);align-items:start}.foot-links{grid-column:2;justify-self:start}.home-link span{display:none}.home-link{width:44px;height:44px;min-height:44px;padding:0;justify-content:center}.home-link svg{width:19px;height:19px}}

@media(max-width:680px){
  .wrap{width:min(100% - 32px,1160px)}
  .topbar-in{height:70px;gap:12px}
  .brand{min-width:0;flex:1}
  .brand img{height:42px;max-width:218px;object-fit:contain;object-position:left center}
  .top-actions{gap:0;flex:none}
  .topbar .phone{display:none!important}
  .home-link{width:50px!important;height:50px!important;min-height:50px!important;padding:0!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:0!important;line-height:1!important}
  .home-link svg{width:22px;height:22px;margin:0}

  .hero-grid{padding-top:34px}
  .hero .eyebrow{max-width:100%;font-size:.8rem;padding:8px 12px;line-height:1.2}
  .hero h1{font-size:clamp(2.45rem,11.5vw,3.25rem);line-height:1.01;letter-spacing:-.035em;margin:20px 0 20px}
  .hero-copy{font-size:1.06rem;line-height:1.58;margin-bottom:24px}
  .hero .btn-primary[data-start]{width:100%;min-height:60px;font-size:1.06rem;justify-content:center}
  .hero .no-gate{justify-content:center;text-align:center;margin-top:18px;margin-bottom:26px;font-size:.91rem}

  .trust-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;align-items:stretch}
  .trust-row .trust-sep{display:none!important}
  .rating,.trust-pill{border:1px solid var(--line);border-radius:15px;background:#fff;padding:13px 14px;min-width:0;min-height:76px;display:flex;align-items:center}
  .rating{gap:9px}
  .rating-num{font-size:1.65rem}
  .rating .stars{font-size:.9rem;letter-spacing:1px;white-space:nowrap}
  .rating small,.trust-pill small{font-size:.71rem;line-height:1.25}
  .trust-pill{gap:9px;border-left:1px solid var(--line)!important;padding-left:14px!important}
  .trust-pill svg{width:25px;height:25px;flex:none}
  .trust-pill b{font-size:.9rem;line-height:1.15}
  .trust-row .trust-pill:last-child{grid-column:1/-1;min-height:66px;justify-content:center}

  .hero-media{margin-top:4px}
  .hero-photo{border-radius:20px;aspect-ratio:16/10}
  .media-card{margin-top:10px;border-radius:14px;padding:13px 14px}

  .hero .no-gate{margin-top:18px;margin-bottom:22px}
  .step-back{margin-bottom:10px}
  #finder.quiz-active{min-height:610px}
  #finder.quiz-active .step.active{min-height:536px}

  .sticky-mobile{padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px;align-items:center}
  .sticky-mobile .call-mini{width:58px!important;height:58px!important;min-height:58px!important;border-radius:50%!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .sticky-mobile .call-mini::before{width:23px;height:23px}
  .sticky-mobile .btn-primary{min-height:58px;font-size:1.03rem}

  .faq-sec{padding:70px 0}
  .faq-sec .section-head{margin-bottom:34px;padding:0 2px}
  .faq-sec .section-head .mini{font-size:.76rem;margin-bottom:11px}
  .faq-sec .section-head h2{font-size:2.15rem;line-height:1.08;text-wrap:balance}
  .faq-sec .faq-lead{font-size:.98rem;line-height:1.58;margin-top:14px}
  .faq-sec .faq{border-radius:18px;margin-bottom:12px}
  .faq-sec .faq button{padding:21px 20px;font-size:1.06rem;line-height:1.35;gap:14px}
  .faq-sec .faq button>svg{width:32px!important;height:32px!important;min-width:32px;padding:8px}
  .faq-sec .faq .answer{padding:0 20px 22px;font-size:1rem;line-height:1.68}

  .final-cta{padding:62px 0}
  .final-cta .btn{width:100%;min-height:58px}
  .final-cta .btn+.btn{margin-left:0;margin-top:14px}

  .foot-in{display:flex;flex-direction:column;gap:20px}
  .foot-logo a{padding:9px 12px}
  .foot-logo img{height:44px!important;max-width:180px!important}
  .foot-links{display:flex;flex-wrap:wrap;gap:18px}
  .auto-hint{margin-top:10px}
}
