
:root{--navy:#153a50;--green:#255f4c;--green-dark:#1e4f3f;--warm:#f5f4ef;--ink:#17384d;--body:#566b76;--line:#dfe4e1;--review:#fff1b8;--review-text:#5b4900}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--body);background:#fff;line-height:1.55}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.shell{width:min(1180px,90%);margin:0 auto}.narrow{width:min(820px,90%);margin:0 auto}.review-banner{background:var(--review);color:var(--review-text);text-align:center;padding:8px 12px;font-size:12px;font-weight:800;letter-spacing:.11em}.top-strip{background:var(--green);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em}.top-strip-inner{display:flex;justify-content:space-between;padding:7px 0}.site-header{background:#fff;border-bottom:1px solid var(--line)}.nav-shell{display:grid;grid-template-columns:330px 1fr auto;gap:26px;align-items:center;min-height:112px}.brand{display:flex;align-items:center;gap:18px}.brand img{width:88px;height:88px;object-fit:contain}.brand-text{display:flex;flex-direction:column;color:var(--ink)}.brand-text strong{font-family:Georgia,serif;font-size:25px;letter-spacing:.03em}.brand-text small{font-size:10px;letter-spacing:.09em}.site-nav{display:flex;justify-content:center;gap:38px;font-size:14px;color:#344c59}.site-nav a:hover{color:var(--green)}.button{display:inline-block;border:1px solid transparent;padding:14px 22px;font-weight:800;font-size:14px;transition:.2s}.button:hover{transform:translateY(-1px)}.button-green{background:var(--green);color:#fff}.button-green:hover{background:var(--green-dark)}.button-light{background:#f8f7f3;color:var(--ink)}.button-outline{border-color:var(--green);color:var(--green);background:#fff}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--green);font-weight:800;margin-bottom:20px}.eyebrow.light{color:#fff}h1,h2,h3,blockquote{font-family:Georgia,serif;color:var(--ink);font-weight:400}.hero{background:var(--warm);padding:42px 0}.hero-grid{display:grid;grid-template-columns:1.25fr .8fr;gap:70px;align-items:center}.hero-copy h1{font-size:62px;line-height:1.08;margin:0 0 24px}.hero-copy p{font-size:20px;max-width:620px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px;flex-wrap:wrap}.text-link{color:var(--ink);font-weight:800}.hero-photo-card{position:relative;background:#dfe8df;padding:0 18px 18px 0}.hero-photo-card img{width:100%;height:500px;object-fit:cover;object-position:center 22%}.photo-caption{background:var(--navy);color:#fff;padding:14px 20px;margin-top:-75px;position:relative}.photo-caption strong{display:block;font-family:Georgia,serif;font-size:22px}.photo-caption small{font-size:10px;letter-spacing:.1em}.cred-strip{padding:34px 0;border-bottom:1px solid var(--line)}.cred-grid{display:grid;grid-template-columns:repeat(3,1fr)}.cred-grid>div{padding:0 30px;border-right:1px solid var(--line)}.cred-grid>div:first-child{padding-left:0}.cred-grid>div:last-child{border-right:0}.cred-grid strong{display:block;font-family:Georgia,serif;color:var(--ink);font-size:30px;font-weight:400}.cred-grid span{font-size:13px}.who-section{padding:55px 0 70px}.who-section h2,.services-preview h2,.community-section h2,.reviews-section h2,.terms-section h2,.consultation-section h2{font-size:40px;margin:0 0 38px}.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.num{font-size:12px;color:var(--green);font-weight:800}.who-grid h3{font-family:Arial,sans-serif;font-size:18px;font-weight:800;margin:18px 0 8px}.relationship-band{background:var(--green);color:#fff;padding:55px 0}.relationship-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:75px}.relationship-band h2{color:#fff;font-size:46px;line-height:1.16;margin:0 0 28px}.relationship-band blockquote{color:#fff;font-size:28px;line-height:1.35;margin:0 0 12px}.services-preview{padding:55px 0}.service-table>div{display:grid;grid-template-columns:300px 1fr;gap:40px;padding:18px 0;border-top:1px solid var(--line)}.service-table>div:last-child{border-bottom:1px solid var(--line)}.service-table h3{font-size:21px;margin:0}.service-table p{margin:0}.community-section{padding:60px 0;background:#fbfbf8}.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.community-photo img{width:100%;height:380px;object-fit:cover}.reviews-section{padding:55px 0;background:var(--warm)}.review-placeholder{padding:28px;border:1px dashed #aeb9b4;background:#fff;color:#75837e}.cta-band{background:var(--navy);color:#fff;padding:55px 0}.cta-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:50px;align-items:center}.cta-band h2{color:#fff;font-size:44px;line-height:1.2;margin:0 0 16px}.cta-button-wrap{text-align:right}.site-footer{padding:38px 0 22px;background:#fff}.footer-grid{display:flex;justify-content:space-between;gap:30px;color:#6b7a81}.footer-brand{font-family:Georgia,serif;color:var(--ink);font-size:22px;margin-bottom:6px}.footer-right{text-align:right}.av-credit{color:var(--green);margin-top:6px}.proprietary-note{font-size:10px;color:#9aa3a6;border-top:1px solid var(--line);padding-top:14px;margin-top:24px;text-align:center}.fees-intro{background:var(--warm);padding:70px 0}.fees-intro h1{font-size:56px;line-height:1.12;margin:0 0 24px}.lead{font-size:20px}.fees-grid-section{padding:55px 0}.starting-note{background:#f7f5eb;padding:14px 18px;border-left:4px solid var(--green);margin-bottom:30px}.terms-section{padding:50px 0;background:#fbfbf8}.terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.terms-section h2{font-size:30px}.consultation-section{background:var(--warm);padding:65px 0}.consultation-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start}.consultation-form{background:#fff;border:1px solid var(--line);padding:32px}.consultation-form label{display:block;margin-bottom:18px;font-weight:700;color:var(--ink)}.consultation-form label span{font-weight:400;color:var(--body)}.consultation-form input,.consultation-form select,.consultation-form textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #cfd8d4;font:inherit;background:#fff}.form-note{background:#fff8d8;border-left:4px solid #c5a64a;padding:14px 16px;margin-top:24px}.form-confirmation{margin-top:20px;padding:16px;background:#e4f2e9;color:#255f4c;font-weight:700}@media(max-width:900px){.nav-shell{grid-template-columns:1fr auto;grid-template-areas:"brand cta" "nav nav";padding:14px 0}.brand{grid-area:brand}.site-nav{grid-area:nav;justify-content:flex-start}.nav-cta{grid-area:cta}.hero-grid,.relationship-grid,.community-grid,.consultation-grid{grid-template-columns:1fr}.hero-copy h1,.fees-intro h1{font-size:48px}.hero-photo-card{max-width:560px}.cred-grid,.who-grid,.cred-grid>div{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.service-table>div{grid-template-columns:1fr;gap:8px}.cta-grid,.terms-grid{grid-template-columns:1fr}.cta-button-wrap{text-align:left}}@media(max-width:620px){.top-strip-inner{flex-direction:column;gap:3px;text-align:center}.brand-text{display:none}.site-nav{gap:20px;font-size:13px}.nav-cta{padding:10px 12px;font-size:12px}.hero-copy h1,.fees-intro h1{font-size:40px}.relationship-band h2,.cta-band h2{font-size:36px}.footer-grid{flex-direction:column}.footer-right{text-align:left}}


.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:58px;
  height:58px;
  border:0;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  cursor:pointer;
  box-shadow:0 7px 20px rgba(21,58,80,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .2s ease;
  z-index:999;
}
.back-to-top.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover,
.back-to-top:focus-visible{
  background:var(--navy);
}
.back-to-top:focus-visible{
  outline:3px solid rgba(37,95,76,.25);
  outline-offset:3px;
}
.chevron{
  position:absolute;
  left:50%;
  width:19px;
  height:19px;
  border-left:5px solid #fff;
  border-top:5px solid #fff;
  transform:translateX(-50%) rotate(45deg);
}
.chevron-top{ top:15px; }
.chevron-bottom{ top:27px; opacity:.72; }

@media(max-width:900px){
  
}
@media(max-width:620px){
  
  
  .back-to-top{
    right:16px;
    bottom:16px;
    width:54px;
    height:54px;
  }
  .chevron-top{ top:13px; }
  .chevron-bottom{ top:25px; }
}


/* Fees & Consultations card presentation */
.section-heading.centered{
  text-align:center;
  max-width:760px;
  margin:0 auto 34px;
}
.section-heading.centered h2{
  margin:0 0 12px;
  font-size:38px;
}
.section-heading.centered p{
  margin:0 auto;
  max-width:680px;
}

.fee-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:stretch;
}
.fee-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:360px;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 10px 28px rgba(21,58,80,.07);
}
.fee-card-featured{
  border:2px solid var(--green);
  box-shadow:0 14px 34px rgba(37,95,76,.13);
}
.featured-label{
  position:absolute;
  top:-1px;
  left:24px;
  right:24px;
  padding:7px 10px;
  background:var(--green);
  color:#fff;
  text-align:center;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}
.fee-card-featured .fee-card-top{
  margin-top:22px;
}
.fee-card-top{
  margin-bottom:16px;
}
.fee-label{
  display:block;
  margin-bottom:5px;
  color:var(--green);
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
}
.fee-price{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--ink);
  font-size:44px;
  line-height:1;
}
.fee-card h3{
  margin:10px 0 12px;
  font-size:25px;
}
.fee-card p{
  margin:0 0 26px;
}
.fee-button{
  margin-top:auto;
  text-align:center;
}
.personalized-pricing-note{
  max-width:900px;
  margin:36px auto 0;
  padding:22px 26px;
  background:var(--warm);
  border-left:4px solid var(--green);
}
.personalized-pricing-note strong{
  display:block;
  margin-bottom:6px;
  font-family:Georgia,"Times New Roman",serif;
  color:var(--ink);
  font-size:21px;
}
.personalized-pricing-note p{
  margin:0;
}

@media(max-width:900px){
  .fee-card-grid{
    grid-template-columns:1fr;
    max-width:680px;
    margin:0 auto;
  }
  .fee-card{
    min-height:auto;
  }
}

/* =========================================================
   RESPONSIVE REFINEMENT PASS
   iPhone / mobile / tablet
   ========================================================= */

/* Tablet: 621px–1024px */
@media (min-width:621px) and (max-width:1024px){
  .shell{
    width:min(92%,900px);
  }

  .nav-shell{
    grid-template-columns:240px 1fr auto !important;
    gap:18px !important;
    min-height:92px !important;
  }

  .brand img{
    width:68px !important;
    height:68px !important;
  }

  .brand-text strong{
    font-size:20px !important;
  }

  .brand-text small{
    font-size:9px !important;
  }

  .site-nav{
    gap:22px !important;
    font-size:13px !important;
  }

  .nav-cta{
    padding:11px 14px !important;
    font-size:12px !important;
  }

  .hero{
    padding:36px 0 !important;
  }

  .hero-grid{
    grid-template-columns:1.1fr .9fr !important;
    gap:36px !important;
  }

  .hero-copy h1{
    font-size:48px !important;
    line-height:1.05 !important;
  }

  .hero-copy p{
    font-size:18px !important;
  }

  .hero-photo-card img{
    height:430px !important;
  }

  .cred-grid{
    grid-template-columns:repeat(3,1fr) !important;
  }

  .who-grid{
    gap:28px !important;
  }

  .relationship-grid{
    grid-template-columns:.9fr 1.1fr !important;
    gap:42px !important;
  }

  .relationship-band h2{
    font-size:38px !important;
  }

  .relationship-band blockquote{
    font-size:24px !important;
  }

  .service-table>div{
    grid-template-columns:220px 1fr !important;
    gap:24px !important;
  }

  .fee-card-grid{
    grid-template-columns:repeat(3,1fr) !important;
    gap:16px !important;
  }

  .fee-card{
    padding:24px !important;
    min-height:340px !important;
  }

  .fee-card h3{
    font-size:21px !important;
  }

  .fee-price{
    font-size:38px !important;
  }

  .consultation-grid{
    grid-template-columns:.9fr 1.1fr !important;
    gap:36px !important;
  }

  .consultation-form{
    padding:24px !important;
  }
}

/* Mobile: up to 620px */
@media (max-width:620px){
  body{
    overflow-x:hidden !important;
  }

  .shell,
  .narrow{
    width:calc(100% - 36px) !important;
  }

  .review-banner{
    padding:7px 10px !important;
    font-size:10px !important;
    letter-spacing:.08em !important;
  }

  .top-strip{
    font-size:9px !important;
  }

  .top-strip-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:2px !important;
    padding:6px 0 !important;
    text-align:center !important;
  }

  .top-strip-inner span{
    display:block !important;
    line-height:1.3 !important;
  }

  .site-header{
    position:static !important;
  }

  .nav-shell{
    display:grid !important;
    grid-template-columns:72px 1fr !important;
    grid-template-areas:
      "brand cta"
      "nav nav" !important;
    gap:12px 14px !important;
    min-height:auto !important;
    padding:14px 0 12px !important;
    align-items:center !important;
  }

  .brand{
    grid-area:brand !important;
    display:block !important;
  }

  .brand img{
    width:68px !important;
    height:68px !important;
    margin:0 !important;
  }

  .brand-text{
    display:none !important;
  }

  .nav-cta{
    grid-area:cta !important;
    width:100% !important;
    max-width:none !important;
    padding:12px 14px !important;
    font-size:13px !important;
    text-align:center !important;
    border-radius:8px !important;
  }

  .site-nav{
    grid-area:nav !important;
    display:flex !important;
    justify-content:flex-start !important;
    gap:22px !important;
    overflow-x:auto !important;
    white-space:nowrap !important;
    padding:4px 0 0 !important;
    font-size:13px !important;
    scrollbar-width:none !important;
  }

  .site-nav::-webkit-scrollbar{
    display:none !important;
  }

  .hero{
    padding:30px 0 0 !important;
  }

  .hero-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:26px !important;
  }

  .hero-copy{
    padding:0 !important;
  }

  .hero-copy h1{
    font-size:44px !important;
    line-height:1.06 !important;
    margin:0 0 18px !important;
  }

  .hero-copy p{
    font-size:17px !important;
    line-height:1.55 !important;
    margin-bottom:0 !important;
  }

  .hero-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:14px !important;
    margin-top:22px !important;
  }

  .hero-actions .button{
    width:100% !important;
    text-align:center !important;
  }

  .hero-actions .text-link{
    display:inline-block !important;
    padding:2px 0 4px !important;
    font-size:15px !important;
  }

  .hero-photo-card{
    width:100% !important;
    padding:0 !important;
    background:transparent !important;
  }

  .hero-photo-card img{
    width:100% !important;
    height:430px !important;
    object-fit:cover !important;
    object-position:center 18% !important;
  }

  .photo-caption{
    margin-top:-64px !important;
    padding:12px 16px !important;
  }

  .cred-strip{
    padding:18px 0 !important;
  }

  .cred-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .cred-grid>div{
    padding:14px 0 !important;
    border-right:0 !important;
    border-bottom:1px solid var(--line) !important;
  }

  .cred-grid>div:last-child{
    border-bottom:0 !important;
  }

  .cred-grid strong{
    font-size:25px !important;
  }

  .who-section{
    padding:36px 0 42px !important;
  }

  .who-section h2,
  .services-preview h2,
  .community-section h2,
  .reviews-section h2,
  .terms-section h2,
  .consultation-section h2{
    font-size:32px !important;
    line-height:1.15 !important;
    margin-bottom:24px !important;
  }

  .who-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .who-grid article{
    padding-bottom:22px !important;
    border-bottom:1px solid var(--line) !important;
  }

  .who-grid article:last-child{
    border-bottom:0 !important;
  }

  .who-grid h3{
    margin:10px 0 8px !important;
    font-size:19px !important;
  }

  .relationship-band{
    padding:40px 0 !important;
  }

  .relationship-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:30px !important;
  }

  .relationship-band h2{
    font-size:38px !important;
    line-height:1.12 !important;
    margin-bottom:20px !important;
  }

  .relationship-band blockquote{
    font-size:25px !important;
    line-height:1.35 !important;
  }

  .relationship-band p{
    font-size:16px !important;
    line-height:1.6 !important;
  }

  .services-preview{
    padding:38px 0 !important;
  }

  .service-table>div{
    display:block !important;
    padding:20px 0 !important;
  }

  .service-table h3{
    font-size:21px !important;
    margin:0 0 8px !important;
  }

  .service-table p{
    font-size:16px !important;
    line-height:1.55 !important;
  }

  .community-section{
    padding:38px 0 !important;
  }

  .community-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .community-photo img{
    height:260px !important;
  }

  .reviews-section{
    padding:38px 0 !important;
  }

  .cta-band{
    padding:40px 0 !important;
  }

  .cta-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  .cta-band h2{
    font-size:34px !important;
  }

  .cta-button-wrap{
    text-align:left !important;
  }

  .cta-button-wrap .button{
    width:100% !important;
    text-align:center !important;
  }

  .fees-intro{
    padding:40px 0 34px !important;
  }

  .fees-intro h1{
    font-size:42px !important;
    line-height:1.08 !important;
    margin-bottom:18px !important;
  }

  .fees-intro .lead{
    font-size:17px !important;
    line-height:1.55 !important;
  }

  .fees-grid-section{
    padding:38px 0 !important;
  }

  .section-heading.centered{
    margin-bottom:26px !important;
    text-align:left !important;
  }

  .section-heading.centered h2{
    font-size:34px !important;
    line-height:1.12 !important;
    text-align:left !important;
  }

  .section-heading.centered p{
    text-align:left !important;
    font-size:16px !important;
  }

  .starting-note{
    font-size:14px !important;
    line-height:1.45 !important;
  }

  .fee-card-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .fee-card{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    padding:24px !important;
    border-radius:12px !important;
    box-shadow:0 8px 22px rgba(21,58,80,.08) !important;
  }

  .fee-card-featured{
    padding-top:46px !important;
  }

  .featured-label{
    left:18px !important;
    right:18px !important;
  }

  .fee-price{
    font-size:40px !important;
    text-align:left !important;
  }

  .fee-card h3{
    font-size:23px !important;
    line-height:1.2 !important;
  }

  .fee-card p{
    font-size:16px !important;
    line-height:1.55 !important;
  }

  .fee-button{
    width:100% !important;
  }

  .personalized-pricing-note{
    margin-top:24px !important;
    padding:18px !important;
  }

  .terms-section{
    padding:38px 0 !important;
  }

  .terms-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .consultation-section{
    padding:40px 0 !important;
  }

  .consultation-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .consultation-form{
    width:100% !important;
    padding:22px !important;
  }

  .consultation-form label{
    display:block !important;
    width:100% !important;
    margin:0 0 16px !important;
    font-size:15px !important;
  }

  .consultation-form input,
  .consultation-form select,
  .consultation-form textarea{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:7px 0 0 !important;
    min-height:46px !important;
    font-size:16px !important;
  }

  .consultation-form textarea{
    min-height:130px !important;
    resize:vertical !important;
  }

  .consultation-form .button{
    width:100% !important;
    text-align:center !important;
  }

  .form-note{
    font-size:13px !important;
    line-height:1.45 !important;
  }

  .site-footer{
    padding:30px 0 18px !important;
  }

  .footer-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:20px !important;
  }

  .footer-right{
    text-align:left !important;
  }

  .proprietary-note{
    font-size:9px !important;
    line-height:1.45 !important;
    padding-top:12px !important;
    margin-top:18px !important;
  }

  .back-to-top{
    right:18px !important;
    bottom:92px !important;
    width:56px !important;
    height:56px !important;
  }
}

/* =========================================================
   MOBILE NAVIGATION + TESTIMONIALS
   ========================================================= */
.menu-toggle{display:none;width:44px;height:44px;padding:9px;border:0;background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}
.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.review-heading-row{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:28px}
.review-heading-row h2{margin-bottom:8px !important}
.review-summary{margin:0;max-width:620px}
.review-rating{min-width:120px;text-align:right;color:var(--ink)}
.review-rating .stars,.testimonial-stars{color:#c8a84a;letter-spacing:.08em;font-size:17px}
.review-rating strong{display:block;margin-top:3px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.testimonial-card{padding:26px;background:#fff;border:1px solid var(--line);border-radius:10px}
.testimonial-card blockquote{margin:16px 0 18px;color:var(--ink);font-size:21px;line-height:1.45}
.testimonial-source{font-size:12px;font-weight:700;letter-spacing:.03em;color:var(--green)}
.testimonial-pending{opacity:.56;border-style:dashed}

@media (min-width:621px) and (max-width:900px){
  .menu-toggle{display:flex;justify-self:end;grid-area:menu}
  .nav-shell{grid-template-columns:1fr auto auto !important;grid-template-areas:"brand cta menu" "nav nav nav" !important}
  .brand{grid-area:brand !important}
  .nav-cta{grid-area:cta !important}
  .site-nav{grid-area:nav !important;display:none !important;flex-direction:column !important;gap:0 !important;width:100% !important;padding:10px 0 4px !important;border-top:1px solid var(--line)}
  .site-nav.menu-open{display:flex !important}
  .site-nav a{padding:12px 0 !important;border-bottom:1px solid var(--line)}
  .testimonial-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:620px){
  .nav-shell{grid-template-columns:72px 1fr 44px !important;grid-template-areas:"brand cta menu" "nav nav nav" !important}
  .menu-toggle{display:flex;grid-area:menu;justify-self:end}
  .site-nav{grid-area:nav !important;display:none !important;flex-direction:column !important;gap:0 !important;width:100% !important;overflow:visible !important;white-space:normal !important;padding:8px 0 0 !important;border-top:1px solid var(--line)}
  .site-nav.menu-open{display:flex !important}
  .site-nav a{display:block !important;width:100% !important;padding:13px 4px !important;border-bottom:1px solid var(--line);font-size:15px !important}
  .review-heading-row{display:block;margin-bottom:22px}
  .review-rating{text-align:left;margin-top:14px}
  .testimonial-grid{grid-template-columns:1fr;gap:14px}
  .testimonial-card{padding:22px}
  .testimonial-card blockquote{font-size:19px}
}

/* CLEAN PRICING CARD OVERRIDES */
.fee-card-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}
.fee-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:360px !important;
  padding:30px !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:12px !important;
  box-shadow:0 10px 28px rgba(21,58,80,.08) !important;
}
.fee-card-featured{
  border:2px solid var(--green) !important;
  box-shadow:0 14px 34px rgba(37,95,76,.14) !important;
}
.featured-label{
  position:absolute !important;
  top:0 !important;
  left:22px !important;
  right:22px !important;
  padding:7px 10px !important;
  background:var(--green) !important;
  color:#fff !important;
  text-align:center !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
}
.fee-card-featured .fee-card-top{
  margin-top:22px !important;
}
.fee-card-top{
  margin-bottom:16px !important;
}
.fee-label{
  display:block !important;
  margin-bottom:5px !important;
  color:var(--green) !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.13em !important;
}
.fee-price{
  font-family:Georgia,"Times New Roman",serif !important;
  color:var(--ink) !important;
  font-size:44px !important;
  line-height:1 !important;
  text-align:left !important;
}
.fee-card h3{
  margin:10px 0 12px !important;
  font-size:25px !important;
  line-height:1.2 !important;
}
.fee-card p{
  margin:0 0 26px !important;
}
.fee-button{
  margin-top:auto !important;
  width:100% !important;
  text-align:center !important;
}
.personalized-pricing-note{
  max-width:900px !important;
  margin:36px auto 0 !important;
  padding:22px 26px !important;
  background:var(--warm) !important;
  border-left:4px solid var(--green) !important;
}
.personalized-pricing-note strong{
  display:block !important;
  margin-bottom:6px !important;
  font-family:Georgia,"Times New Roman",serif !important;
  color:var(--ink) !important;
  font-size:21px !important;
}
.personalized-pricing-note p{
  margin:0 !important;
}
.testimonial-grid-single{
  grid-template-columns:minmax(0,680px) !important;
}
@media (min-width:621px) and (max-width:1024px){
  .fee-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
  }
  .fee-card{
    padding:22px !important;
    min-height:340px !important;
  }
  .fee-price{
    font-size:38px !important;
  }
  .fee-card h3{
    font-size:21px !important;
  }
}
@media (max-width:620px){
  .fee-card-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .fee-card{
    min-height:0 !important;
    padding:24px !important;
  }
  .fee-card-featured{
    padding-top:46px !important;
  }
  .featured-label{
    left:18px !important;
    right:18px !important;
  }
  .fee-price{
    font-size:40px !important;
  }
  .fee-card h3{
    font-size:23px !important;
  }
  .testimonial-grid-single{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   MOCKUP 1.1 TYPOGRAPHY + NAV REFINEMENTS
   Additive overrides only
   ========================================================= */

/* Slightly larger paragraph/body copy for readability */
p,
.service-table p,
.who-grid p,
.relationship-band p,
.community-section p,
.review-summary,
.fee-card p,
.personalized-pricing-note p,
.terms-section p,
.consultation-section p{
  font-size:17px !important;
}

/* Slightly larger section labels */
.eyebrow{
  font-size:14px !important;
  line-height:1.35 !important;
}

/* WHO WE SERVE numbering: intentionally prominent */
.num{
  display:block !important;
  font-size:26px !important;
  line-height:1 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  color:var(--green) !important;
  margin-bottom:12px !important;
}

/* Credential supporting copy below 20+ years / Enrolled Agent / Worldwide */
.cred-grid span{
  font-size:15px !important;
  line-height:1.45 !important;
}

/* Give the expanded nav a little more room on larger screens */
@media (min-width:1025px){
  .site-nav{
    gap:28px !important;
    font-size:13px !important;
  }
}

/* Tablet readability */
@media (min-width:621px) and (max-width:1024px){
  p,
  .service-table p,
  .who-grid p,
  .relationship-band p,
  .community-section p,
  .review-summary,
  .fee-card p,
  .personalized-pricing-note p,
  .terms-section p,
  .consultation-section p{
    font-size:16px !important;
  }

  .eyebrow{
    font-size:13px !important;
  }

  .num{
    font-size:24px !important;
  }

  .cred-grid span{
    font-size:14px !important;
  }
}

/* Mobile readability */
@media (max-width:620px){
  p,
  .service-table p,
  .who-grid p,
  .relationship-band p,
  .community-section p,
  .review-summary,
  .fee-card p,
  .personalized-pricing-note p,
  .terms-section p,
  .consultation-section p{
    font-size:17px !important;
  }

  .eyebrow{
    font-size:13px !important;
    letter-spacing:.10em !important;
  }

  .num{
    font-size:28px !important;
    margin-bottom:10px !important;
  }

  .cred-grid span{
    font-size:15px !important;
  }
}

/* =========================================================
   MOCKUP 1.2 REFINEMENTS
   ========================================================= */

/* Slightly larger navigation text */
.site-nav{
  font-size:15px !important;
  font-weight:600 !important;
}
.site-nav a{
  line-height:1.35 !important;
}

/* Make the Yelp rating visually prominent */
.review-rating{
  min-width:170px !important;
}
.review-rating .stars{
  font-size:20px !important;
  line-height:1 !important;
}
.review-rating strong{
  margin-top:6px !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:20px !important;
  line-height:1.2 !important;
  color:var(--ink) !important;
}

/* Give community copy a little more breathing room */
.community-section p + p{
  margin-top:16px !important;
}

/* Tablet */
@media (min-width:621px) and (max-width:1024px){
  .site-nav{
    font-size:14px !important;
  }
  .review-rating strong{
    font-size:18px !important;
  }
}

/* Mobile */
@media (max-width:620px){
  .site-nav a{
    font-size:16px !important;
  }
  .review-rating{
    min-width:0 !important;
  }
  .review-rating .stars{
    font-size:19px !important;
  }
  .review-rating strong{
    font-size:19px !important;
  }
}
