:root{--ink:#1d2030;--cream:#f0efeb;--lav:#c9c6d1;--card:#c9c6d1;--khaki:#c7bb82;--pink:#efb0aa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif}a{color:inherit}h1,h2,h3,.brand,.footer-brand,summary,.quote>p:first-child{font-family:Georgia,'Times New Roman',serif;font-weight:400}.topbar{height:114px;padding:0 4.45%;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);background:var(--cream)}.brand{text-decoration:none;font-size:28px}.pill{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px}.pill.dark{background:#000;color:#fff;font-size:20px;letter-spacing:.02em;padding:18px 31px;min-width:250px}.hero{height:884px;background:var(--lav);display:grid;grid-template-columns:1.08fr .92fr;align-items:center;padding:72px 4.45%}.hero-copy{align-self:center}.hero h1{font-size:96px;line-height:.98;margin:0 0 38px}.hero p{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.28;margin:0}.portrait{width:82%;max-width:575px;aspect-ratio:.84;object-fit:cover;justify-self:center;border-radius:72px}.help{height:1040px;display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--ink)}.workspace{width:100%;height:100%;object-fit:cover}.help-copy{padding:12px 8.7% 28px;display:flex;flex-direction:column}.help h2{font-size:66px;line-height:1;margin:0 0 104px}.help h3{font-size:32px;line-height:1.12;margin:0 0 42px}.help p{font-size:26px;line-height:1.22;margin:0}.help-copy h3:not(:first-of-type){margin-top:92px}.testimonials{padding:72px 0 52px;background:var(--cream);border-bottom:2px solid var(--khaki);overflow:hidden}.testimonials h2{text-align:center;font-size:92px;line-height:1;margin:0 0 62px}.carousel-window{overflow:hidden}.carousel-track{display:flex;gap:26px;will-change:transform}.quote{background:var(--card);flex:0 0 42%;padding:18px 16px}.quote>p:first-child{font-size:22px;line-height:1.02;margin:0 0 18px}.attribution{font-size:20px;line-height:1.25;margin:0}.carousel-controls{display:flex;justify-content:center;gap:26px;margin-top:42px}.carousel-controls button{border:0;background:#4a4a49;color:#fff;width:82px;height:82px;border-radius:50%;font-size:44px;font-weight:200;cursor:pointer}.faq{background:var(--khaki);padding:30px 3.3% 58px;min-height:1000px}.faq h2{text-align:center;font-size:92px;line-height:1;margin:0 0 78px}.faq-layout{display:grid;grid-template-columns:.48fr .52fr;gap:12%;align-items:start}.faq-list{width:100%}.faq details{border-top:1.5px solid #fff;padding:25px 0}.faq details:last-child{border-bottom:1.5px solid #fff}.faq summary{font-size:31px;line-height:1.25;list-style:none;cursor:pointer;position:relative;padding-right:45px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:Arial,sans-serif;font-size:28px;color:#fff;font-weight:200}.faq details[open] summary:after{content:'−'}.answer{font-size:25px;line-height:1.28;max-width:95%;padding-top:25px}.answer p{margin:0}.video-link{color:#f0aaa7;font-weight:700;text-decoration:none}.faq-image{width:100%;aspect-ratio:1.48;object-fit:cover;border-radius:90px;margin-top:-45px}footer{height:500px;background:var(--lav);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 6%;gap:4%}.contact-copy{align-self:center}.contact-copy p{font-size:31px;line-height:1.25;margin:0 0 26px}.pill.pink{width:455px;max-width:100%;height:100px;background:var(--pink);border:2px solid var(--ink);font-size:26px}.footer-brand{text-align:center;font-size:72px;line-height:1.04}.linkedin{justify-self:center;width:67px;height:67px;border:4px solid var(--ink);border-radius:10px;text-decoration:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:32px}
@media(max-width:600px){.topbar{height:78px;padding:0 20px}.brand{font-size:20px}.pill.dark{font-size:15px;min-width:auto;padding:13px 18px}.hero{height:auto;min-height:650px;grid-template-columns:1fr;padding:55px 24px;gap:42px}.hero h1{font-size:58px}.hero p{font-size:25px}.portrait{width:min(78%,430px)}.help{height:auto;grid-template-columns:1fr}.workspace{height:620px}.help-copy{padding:45px 28px 60px}.help h2{font-size:54px;margin-bottom:65px}.help h3{font-size:29px;margin-bottom:24px}.help p{font-size:22px}.help-copy h3:not(:first-of-type){margin-top:58px}.testimonials h2{font-size:58px;padding:0 20px}.quote{flex-basis:82%;}.quote>p:first-child{font-size:18px}.faq{padding:35px 24px 55px}.faq h2{font-size:60px;margin-bottom:50px}.faq-layout{grid-template-columns:1fr;gap:55px}.faq summary{font-size:27px}.answer{font-size:21px}.faq-image{margin:0;border-radius:55px}footer{height:auto;min-height:520px;grid-template-columns:1fr;text-align:center;padding:55px 28px;gap:45px}.contact-copy p{font-size:25px}.footer-brand{font-size:56px}.linkedin{justify-self:center}}

/* Responsive refinement: preserve the Squarespace hero proportions on narrower screens */
@media (min-width: 901px) and (max-width: 1250px){
  .hero{height:auto;min-height:650px;grid-template-columns:1.08fr .92fr;padding:56px 4.45%;gap:32px}
  .hero h1{font-size:clamp(58px,7vw,78px);line-height:1.02;margin-bottom:30px}
  .hero p{font-size:clamp(25px,3vw,30px);line-height:1.28;max-width:620px}
  .portrait{width:min(88%,500px);border-radius:60px}
}
@media (max-width: 600px){
  .hero{min-height:0;padding:48px 24px 56px;gap:34px}
  .hero-copy{width:100%;max-width:680px;margin:0 auto}
  .hero h1{font-size:clamp(48px,11vw,68px);line-height:1.02;margin-bottom:28px;white-space:nowrap}
  .hero p{font-size:clamp(22px,5.2vw,28px);line-height:1.28;max-width:620px}
  .portrait{width:min(78%,430px);justify-self:center}
}

/* Squarespace-like compact tablet / split-screen layout */
@media (min-width:601px) and (max-width:900px){
  .topbar{height:58px;padding:0 4.45%}.brand{font-size:18px}.pill.dark{font-size:13px;min-width:auto;padding:10px 17px}
  .hero{height:auto;min-height:520px;grid-template-columns:1.08fr .92fr;padding:44px 4.45%;gap:26px}.hero h1{font-size:clamp(46px,6.4vw,60px);line-height:1;margin-bottom:24px;white-space:normal}.hero p{font-size:clamp(20px,2.7vw,25px)}.portrait{width:88%;max-width:380px;border-radius:46px}
  .help{height:auto;min-height:720px;grid-template-columns:1fr 1fr}.workspace{height:100%;min-height:720px}.help-copy{padding:16px 8% 28px}.help h2{font-size:clamp(38px,5vw,48px);margin-bottom:54px}.help h3{font-size:22px;margin-bottom:20px}.help p{font-size:17px;line-height:1.22}.help-copy h3:not(:first-of-type){margin-top:42px}
  .testimonials{padding:46px 0 38px}.testimonials h2{font-size:clamp(48px,6.2vw,62px);margin-bottom:42px}.quote{flex-basis:56%;min-height:430px}.quote>p:first-child{font-size:17px}.attribution{font-size:16px}.carousel-controls{margin-top:30px}.carousel-controls button{width:58px;height:58px;font-size:32px}
  .faq{padding:26px 4.5% 42px;min-height:0}.faq h2{font-size:54px;margin-bottom:50px}.faq-layout{grid-template-columns:.54fr .46fr;gap:8%;align-items:start}.faq details{padding:17px 0}.faq summary{font-size:20px;line-height:1.2;padding-right:30px}.faq summary:after{font-size:20px}.answer{font-size:16px;line-height:1.28;padding-top:16px}.faq-image{margin-top:0;border-radius:50px}
  footer{height:460px;min-height:0;grid-template-columns:1fr;grid-template-rows:auto auto auto;text-align:center;padding:30px 4.5% 34px;gap:22px;align-content:start}.contact-copy{width:100%}.contact-copy p{font-size:16px;line-height:1.25;margin:0 0 28px;text-align:left}.pill.pink{width:100%;height:66px;font-size:15px}.footer-brand{font-size:36px;line-height:1.05;margin-top:46px}.linkedin{width:40px;height:40px;border-width:2px;border-radius:6px;font-size:20px}
}
@media (max-width: 520px){
  .hero{padding:40px 20px 48px}
  .hero h1{font-size:clamp(42px,12.5vw,58px);white-space:normal}
  .hero p{font-size:clamp(20px,6vw,25px)}
  .portrait{width:88%;border-radius:42px}
}

/* Split-screen testimonial proportions matched to Squarespace reference */
@media (min-width:601px) and (max-width:900px){
  .testimonials{padding:38px 0 30px}
  .testimonials h2{font-size:clamp(54px,7.2vw,66px);line-height:1;margin:0 0 34px;white-space:nowrap}
  .carousel-track{gap:24px}
  .quote{flex:0 0 47%;min-height:565px;padding:10px 9px}
  .quote>p:first-child{font-size:14px;line-height:1.02;margin:0 0 10px}
  .attribution{font-size:13px;line-height:1.18;margin:0}
  .carousel-controls{gap:18px;margin-top:30px}
  .carousel-controls button{width:54px;height:54px;font-size:30px}
}

/* Testimonial typography: match Squarespace reference */
.quote>p:first-child{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.attribution{font-family:Arial,Helvetica,sans-serif;font-weight:400}
@media (min-width:601px) and (max-width:900px){
  .quote>p:first-child{font-size:14px;line-height:1.03;font-weight:400;letter-spacing:-.015em}
  .attribution{font-size:13px;line-height:1.2;font-weight:400;letter-spacing:0}
}

/* FAQ: match Squarespace split-screen/tablet layout */
@media (min-width:601px) and (max-width:900px){
  .faq{padding:24px 4.5% 42px;min-height:0}
  .faq h2{font-size:54px;line-height:1;margin:0 0 44px;text-align:center}
  .faq-layout{display:flex;flex-direction:column;gap:48px}
  .faq-image{order:-1;width:62%;max-width:430px;aspect-ratio:1.48;align-self:center;object-fit:cover;border-radius:54px;margin:0}
  .faq-list{width:100%}
  .faq details{padding:16px 0}
  .faq summary{font-size:18px;line-height:1.2;padding-right:30px;font-weight:400}
  .faq summary:after{font-size:20px;right:2px}
  .answer{font-size:15px;line-height:1.28;max-width:78%;padding-top:14px}
}

/* Hero typography: match Squarespace reference at split-screen/tablet widths */
@media (min-width:601px) and (max-width:900px){
  .hero h1{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    font-size:clamp(72px,10.8vw,92px);
    line-height:.98;
    letter-spacing:-.035em;
    margin-bottom:48px;
  }
  .hero p{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    font-size:clamp(34px,5.1vw,43px);
    line-height:1.28;
    letter-spacing:-.025em;
  }
}


/* V11 — mobile parity fixes */
@media (max-width:600px){

  /* Prevent any section from widening the mobile page. */
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  main,.hero,.help,.testimonials,.faq,footer{width:100%;max-width:100%}

  /* 1. FAQ: Squarespace mobile order = title, image, questions. */
  .faq{padding:30px 24px 50px}
  .faq h2{margin-bottom:42px}
  .faq-layout{
    display:flex;
    flex-direction:column;
    gap:44px;
    width:100%;
  }
  .faq-image{
    order:-1;
    width:100%;
    max-width:none;
    margin:0;
    aspect-ratio:1.48;
    border-radius:52px;
  }
  .faq-list{width:100%;min-width:0}
  .faq details{width:100%;padding:18px 0}
  .faq summary{
    font-size:clamp(22px,6vw,27px);
    line-height:1.2;
    padding-right:38px;
    overflow-wrap:break-word;
  }
  .answer{max-width:100%;font-size:19px}

  /* 2. Footer: keep everything inside the viewport and use the
     compact, centred Squarespace mobile arrangement. */
  footer{
    width:100%;
    min-height:0;
    height:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    padding:52px 28px 48px;
    text-align:center;
    overflow:hidden;
  }
  .contact-copy{
    width:100%;
    max-width:100%;
    margin:0;
  }
  .contact-copy p{
    margin:0 auto 30px;
    max-width:520px;
    font-size:clamp(21px,5.8vw,25px);
    line-height:1.25;
    text-align:center;
  }
  .pill.pink{
    display:flex;
    width:100%;
    max-width:100%;
    height:72px;
    margin:0;
    padding:0 18px;
    font-size:20px;
  }
  .footer-brand{
    margin:58px 0 42px;
    font-size:clamp(43px,12vw,56px);
    line-height:1.02;
  }
  .linkedin{
    flex:0 0 auto;
    margin:0 auto;
  }

  /* 3. Hero: remove the desktop-only forced break.
     The sentence now wraps naturally to the available mobile width. */
  .hero-break{display:none}
  .hero-copy{min-width:0}
  .hero p{
    width:100%;
    max-width:100%;
    overflow-wrap:normal;
  }

  /* 4. Testimonials: controls stay centred under the carousel. */
  .testimonials{overflow:hidden}
  .carousel-controls{
    width:100%;
    max-width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:22px;
    margin:36px auto 0;
    padding:0;
    transform:none;
  }
  .carousel-controls button{
    flex:0 0 64px;
    width:64px;
    height:64px;
    margin:0;
    padding:0;
  }
}

/* On very narrow phones, keep the header from creating horizontal overflow. */
@media (max-width:430px){
  .topbar{gap:12px;padding-left:18px;padding-right:18px}
  .brand{font-size:18px;white-space:nowrap}
  .pill.dark{
    flex:0 0 auto;
    font-size:14px;
    padding:12px 16px;
    white-space:nowrap;
  }
  .hero{padding-left:22px;padding-right:22px}
  .hero h1{font-size:clamp(45px,12.2vw,54px)}
  .hero p{font-size:clamp(21px,5.8vw,25px)}
}


/* V12 — fix mobile page width / right-side blank strip */
@media (max-width:600px){
  html, body{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow-x:hidden !important;
  }

  body > *,
  .topbar,
  main,
  section,
  .hero,
  .help,
  .testimonials,
  .faq,
  footer{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* Critical: do not let 100vw elements become wider than the
     document's layout viewport in iOS Safari. */
  .topbar,
  .hero,
  .help,
  .testimonials,
  .faq,
  footer{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  img, video, svg{
    max-width:100%;
  }

  /* Footer button must be measured inside the footer rather than
     against the viewport. */
  footer .pill.pink{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
  }
}


/* V13 — testimonial typography + side-centred navigation */
.testimonials{
  position:relative;
}

.testimonials .quote,
.testimonials .quote p,
.testimonials .quote .quote-text{
  font-family: var(--serif) !important;
  font-weight:400 !important;
  line-height:1.02 !important;
  letter-spacing:-0.02em !important;
}

.testimonials .quote .who,
.testimonials .quote .author,
.testimonials .quote .role{
  font-family: var(--sans) !important;
  font-weight:400 !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
}

/* Put arrows at the vertical midpoint of the cards, over the left/right
   edges of the carousel as in the Squarespace reference. */
.testimonials .controls{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:56% !important;
  transform:translateY(-50%) !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 3.1% !important;
  box-sizing:border-box !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  pointer-events:none !important;
  z-index:5 !important;
}

.testimonials .controls button{
  pointer-events:auto !important;
}

/* Match the reference scale more closely */
@media (min-width:601px){
  .testimonials .quote,
  .testimonials .quote p,
  .testimonials .quote .quote-text{
    font-size:clamp(17px,1.22vw,24px) !important;
  }
}

@media (max-width:600px){
  .testimonials .controls{
    top:56% !important;
    padding:0 4.5% !important;
  }

  .testimonials .quote,
  .testimonials .quote p,
  .testimonials .quote .quote-text{
    font-size:clamp(17px,5vw,21px) !important;
    line-height:1.02 !important;
  }
}

/* V14: deliberate two-line hero copy on phones, no accidental third line */
@media (max-width:600px){
  .hero .hero-break{display:block !important;}
  .hero .hero-line-one{white-space:nowrap;}
  .hero .hero-line-two{white-space:nowrap;}
  .hero p{font-size:clamp(15px,4.35vw,23px) !important;line-height:1.28;}
}


/* V15 — carousel arrows: overlay left/right edges of testimonial cards */
.testimonials{
  position:relative !important;
}

.carousel-controls{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:55% !important;
  transform:translateY(-50%) !important;
  z-index:20 !important;

  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;

  width:100% !important;
  margin:0 !important;
  padding:0 2.6% !important;
  box-sizing:border-box !important;

  pointer-events:none !important;
}

.carousel-controls button{
  pointer-events:auto !important;
  flex:0 0 auto !important;
}

@media(max-width:600px){
  .carousel-controls{
    top:55% !important;
    padding:0 4% !important;
  }
}


/* V16 — mobile testimonial navigation stays on the card edges */
@media (max-width:600px){
  .testimonials{
    position:relative !important;
  }

  .testimonials .carousel-controls{
    position:absolute !important;
    top:55% !important;
    bottom:auto !important;
    left:0 !important;
    right:0 !important;
    transform:translateY(-50%) !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
    z-index:50 !important;
    pointer-events:none !important;
  }

  .testimonials .carousel-controls button{
    position:static !important;
    margin:0 !important;
    pointer-events:auto !important;
    flex:0 0 auto !important;
  }
}

/* V17: Mobile navigation in a dedicated row ABOVE cards; no text overlap */
@media (max-width:600px) {
  .testimonials { display:flex !important; flex-direction:column !important; }
  .testimonials h2 { order:0 !important; margin-bottom:14px !important; }
  .testimonials .carousel-controls {
    position:static !important; order:1 !important; transform:none !important;
    inset:auto !important; width:100% !important; height:auto !important;
    display:flex !important; justify-content:center !important; gap:20px !important;
    padding:0 20px !important; margin:0 0 22px !important;
    pointer-events:auto !important;
  }
  .testimonials .carousel-controls button {
    width:54px !important; height:54px !important; font-size:30px !important;
  }
  .testimonials .carousel-window {order:2 !important; width:100% !important;}
}

/* V19 — true mobile drag/swipe interaction */
.carousel-window{touch-action:pan-y;}
.carousel-track{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
@media (max-width:600px){
  .carousel-track{touch-action:pan-y;}
  .quote{user-select:none;-webkit-user-select:none;}
}


/* V20 — reliable finger swiping */
.carousel-window{
  touch-action:pan-y !important;
  overscroll-behavior-x:contain;
  cursor:grab;
}
.carousel-window:active{cursor:grabbing}
.carousel-track{
  touch-action:pan-y !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-touch-callout:none !important;
}
.quote{
  -webkit-user-select:none;
  user-select:none;
}


/* V21 — testimonial cards sized to content, consistently equal */
.carousel-track{
  align-items:stretch !important;
}
.quote{
  min-height:0 !important;
  height:auto !important;
  box-sizing:border-box !important;
}
/* Keep the finished mobile interaction/layout intact; only remove excess card height. */
@media (max-width:600px){
  .quote{
    min-height:0 !important;
    height:auto !important;
  }
}


/* V23 — compact Squarespace-style desktop footer.
   Mobile rules remain untouched. */
@media (min-width:601px){
  footer{
    height:auto !important;
    min-height:0 !important;
    padding:48px 5.5% 50px !important;
    grid-template-columns:1fr 1fr 1fr !important;
    gap:5% !important;
    align-items:center !important;
  }
  .contact-copy p{
    font-size:22px !important;
    line-height:1.22 !important;
    margin:0 0 22px !important;
    max-width:390px !important;
  }
  footer .pill.pink{
    width:100% !important;
    max-width:390px !important;
    height:72px !important;
    font-size:20px !important;
  }
  .footer-brand{
    font-size:52px !important;
    line-height:1.02 !important;
    margin:0 !important;
  }
  .linkedin{
    width:54px !important;
    height:54px !important;
    border-width:3px !important;
    border-radius:8px !important;
    font-size:26px !important;
  }
}


/* V24 — force the desktop footer itself to be compact.
   This overrides earlier footer rules instead of relying on auto-height. */
@media (min-width:601px){
  footer{
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    padding:28px 5.5% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr !important;
    align-items:center !important;
    align-content:center !important;
    gap:5% !important;
    overflow:hidden !important;
  }
  footer .contact-copy{
    align-self:center !important;
    margin:0 !important;
  }
  footer .contact-copy p{
    margin:0 0 18px !important;
  }
  footer .footer-brand{
    align-self:center !important;
  }
  footer .linkedin{
    align-self:center !important;
  }
}


/* V25 — carousel controls above testimonial cards on desktop too */
@media (min-width:601px){
  .testimonials{
    display:flex !important;
    flex-direction:column !important;
  }
  .testimonials h2{
    order:0 !important;
    margin-bottom:18px !important;
  }
  .testimonials .carousel-controls{
    position:static !important;
    order:1 !important;
    inset:auto !important;
    transform:none !important;
    width:100% !important;
    height:auto !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:22px !important;
    padding:0 !important;
    margin:0 0 26px !important;
    pointer-events:auto !important;
  }
  .testimonials .carousel-controls button{
    width:62px !important;
    height:62px !important;
    font-size:34px !important;
    pointer-events:auto !important;
  }
  .testimonials .carousel-window{
    order:2 !important;
    width:100% !important;
  }
}


/* V26 — desktop hero fits within the initial viewport.
   Mobile remains unchanged. */
@media (min-width:601px){
  header{
    height:86px !important;
    min-height:86px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  .hero{
    height:calc(100vh - 86px) !important;
    min-height:0 !important;
    max-height:none !important;
    padding-top:28px !important;
    padding-bottom:28px !important;
    box-sizing:border-box !important;
    align-items:center !important;
  }
  .hero-copy{
    align-self:center !important;
    margin:0 !important;
  }
  .hero-image{
    align-self:center !important;
    height:min(620px, calc(100vh - 142px)) !important;
    max-height:calc(100vh - 142px) !important;
    margin:0 !important;
  }
  .hero-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
}


/* V27 — balanced vertical spacing for How I Can Help */
@media (min-width:601px){
  .services{
    padding-top:72px !important;
    padding-bottom:72px !important;
  }
}


/* V28 — balanced vertical spacing for FAQ, matching How I Can Help */
@media (min-width:601px){
  .faq{
    padding-top:72px !important;
    padding-bottom:72px !important;
  }
}


/* V29 — FAQ uses the same vertical spacing logic as How I Can Help.
   Remove the FAQ's extra internal/min-height spacing on desktop. */
@media (min-width:601px){
  .faq{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding-top:72px !important;
    padding-bottom:72px !important;
    align-content:start !important;
  }
  .faq h2{
    margin-top:0 !important;
  }
  .faq-grid{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
    align-items:start !important;
  }
}


/* V30 — denser testimonial cards.
   Julia defines the standard card height; Vadym remains taller because his
   testimonial is substantially longer. */
.carousel-track{
  align-items:flex-start !important;
}
.quote{
  min-height:0 !important;
  box-sizing:border-box !important;
}
.quote:not(.quote-vadym){
  height:var(--standard-quote-height, auto) !important;
  overflow:hidden !important;
}
.quote.quote-vadym{
  height:auto !important;
  overflow:visible !important;
}
@media (min-width:601px){
  .testimonials .quote > p:first-child{
    font-size:26px !important;
    line-height:1.08 !important;
    letter-spacing:-.015em !important;
  }
  .testimonials .attribution{
    font-size:20px !important;
    line-height:1.18 !important;
  }
}
@media (max-width:600px){
  .testimonials .quote > p:first-child{
    font-size:22px !important;
    line-height:1.08 !important;
    letter-spacing:-.015em !important;
  }
  .testimonials .attribution{
    font-size:18px !important;
    line-height:1.18 !important;
  }
}


/* V31 — halve V30 testimonial font sizes; keep card sizing unchanged */
@media (min-width:601px){
  .testimonials .quote > p:first-child{
    font-size:13px !important;
  }
  .testimonials .attribution{
    font-size:10px !important;
  }
}
@media (max-width:600px){
  .testimonials .quote > p:first-child{
    font-size:11px !important;
  }
  .testimonials .attribution{
    font-size:9px !important;
  }
}


/* V32 — ICF badges in the third footer column */
.footer-right{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-width:0;
}
.footer-badges{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  width:100%;
}
.footer-badges img{
  display:block;
  width:96px;
  height:96px;
  object-fit:contain;
}
@media (min-width:601px){
  footer{
    grid-template-columns:1fr 1fr 1fr !important;
  }
  .footer-right{
    justify-self:center;
  }
}
@media (max-width:600px){
  .footer-right{
    width:100%;
    gap:14px;
  }
  .footer-badges{
    gap:14px;
  }
  .footer-badges img{
    width:82px;
    height:82px;
  }
}


/* V33 — four-column desktop footer; equally sized ICF badges */
@media (min-width:601px){
  footer{
    grid-template-columns:1.25fr 1fr .55fr 1fr !important;
    gap:3% !important;
  }
  .footer-social{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:center !important;
  }
  .footer-badges{
    display:grid !important;
    grid-template-columns:repeat(2, 96px) !important;
    gap:14px !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:center !important;
  }
  .footer-badges img{
    width:96px !important;
    height:96px !important;
    object-fit:contain !important;
    object-position:center !important;
  }
}
/* Mobile keeps its stacked footer; badges remain visually equal. */
@media (max-width:600px){
  .footer-social{
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
  }
  .footer-badges{
    display:grid !important;
    grid-template-columns:repeat(2, 82px) !important;
    justify-content:center !important;
  }
  .footer-badges img{
    width:82px !important;
    height:82px !important;
    object-fit:contain !important;
  }
}

/* V33 — testimonial type halfway between V30 and V31 */
@media (min-width:601px){
  .testimonials .quote > p:first-child{
    font-size:19.5px !important;
  }
  .testimonials .attribution{
    font-size:15px !important;
  }
}
@media (max-width:600px){
  .testimonials .quote > p:first-child{
    font-size:16.5px !important;
  }
  .testimonials .attribution{
    font-size:13.5px !important;
  }
}


/* V34 — symmetrical desktop footer around a truly centred brand.
   Outer columns mirror each other; LinkedIn and badges sit at equal offsets. */
@media (min-width:601px){
  footer{
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr 1fr 1fr !important;
    gap:0 !important;
    padding-left:5.5% !important;
    padding-right:5.5% !important;
  }
  footer .contact-copy{
    grid-column:1 / 2 !important;
    justify-self:start !important;
    width:100% !important;
  }
  footer .footer-brand{
    grid-column:3 / 4 !important;
    justify-self:center !important;
    text-align:center !important;
    width:max-content !important;
  }
  footer .footer-social{
    grid-column:4 / 5 !important;
    justify-self:center !important;
  }
  footer .footer-badges{
    grid-column:5 / 6 !important;
    justify-self:end !important;
    display:grid !important;
    grid-template-columns:repeat(2, 96px) !important;
    gap:12px !important;
  }

  /* Equalise the visible badge artwork, not merely the image canvas.
     The source files have different transparent margins. */
  footer .footer-badges img{
    width:96px !important;
    height:96px !important;
    object-fit:contain !important;
    transform-origin:center !important;
  }
  footer .footer-badges img[src*="icf-level2"]{
    transform:scale(.89) !important;
  }
  footer .footer-badges img[src*="icf-member"]{
    transform:scale(1) !important;
  }
}

/* V35 — mobile testimonial hierarchy */
@media (max-width:600px){
  .testimonials .quote > p:first-child{
    font-size:18px !important;
    line-height:1.12 !important;
  }
  .testimonials .attribution{
    font-size:13px !important;
    line-height:1.2 !important;
  }
}


/* V36 — restore footer column 1 to its pre-four-column width.
   Keep the centred brand, LinkedIn, badges and all other V35 styling unchanged. */
@media (min-width:601px){
  footer{
    grid-template-columns:1.25fr 1fr .55fr 1fr !important;
    gap:3% !important;
  }
  footer .contact-copy{
    grid-column:1 / 2 !important;
    justify-self:start !important;
    width:100% !important;
  }
  footer .footer-brand{
    grid-column:2 / 3 !important;
    justify-self:center !important;
    text-align:center !important;
  }
  footer .footer-social{
    grid-column:3 / 4 !important;
    justify-self:center !important;
  }
  footer .footer-badges{
    grid-column:4 / 5 !important;
    justify-self:end !important;
  }
}

/* V37: single horizontal row for LinkedIn and both badges on mobile.
   Display contents retains the existing four-column desktop layout. */
.footer-credentials{display:contents;}
@media (max-width:600px){
  footer .footer-credentials{
    display:flex !important;
    width:100% !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(12px,4vw,24px) !important;
    margin:0 auto !important;
  }
  footer .footer-social{
    display:flex !important;
    flex:0 0 auto !important;
    width:auto !important;
    align-items:center !important;
    justify-content:center !important;
  }
  footer .footer-social .linkedin{
    margin:0 !important;
    width:clamp(48px,13vw,64px) !important;
    height:clamp(48px,13vw,64px) !important;
    font-size:clamp(24px,6vw,32px) !important;
  }
  footer .footer-badges{
    display:flex !important;
    flex:0 0 auto !important;
    width:auto !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(8px,2.5vw,14px) !important;
  }
  footer .footer-badges img{
    display:block !important;
    width:clamp(72px,22vw,92px) !important;
    height:clamp(72px,22vw,92px) !important;
    object-fit:contain !important;
  }
}


/* V38 — desktop ICF badges stacked vertically: Level 2 above Member.
   Mobile credential row remains exactly as in V37. */
@media (min-width:601px){
  footer .footer-badges{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
  }
}


/* V39 — desktop footer balanced around the exact viewport centre.
   Column 2 is fixed at the true centre. Columns 1 and 4 have matching
   outer margins, while columns 3 and 4 are shifted right. */
@media (min-width:601px){
  footer{
    position:relative !important;
    display:grid !important;
    grid-template-columns:28% 22% 16% 22% !important;
    column-gap:4% !important;
    padding:28px 5.5% !important;
    box-sizing:border-box !important;
    align-items:center !important;
  }

  /* Column 1 */
  footer .contact-copy{
    grid-column:1 !important;
    width:100% !important;
    justify-self:start !important;
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }
  footer .contact-copy p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  footer .contact-copy .pill{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Column 2: true centre of the whole footer, independent of other columns */
  footer .footer-brand{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    width:max-content !important;
    max-width:30% !important;
    text-align:center !important;
    margin:0 !important;
  }

  /* Column 3 */
  footer .footer-social{
    grid-column:3 !important;
    justify-self:end !important;
    transform:translateX(10%) !important;
  }

  /* Column 4: same outer inset as column 1 */
  footer .footer-badges{
    grid-column:4 !important;
    justify-self:end !important;
    margin-right:0 !important;
  }
}


/* V40 — mobile footer: LinkedIn on its own row, badges beneath.
   Compensate for unequal transparent padding in the source badge images
   so the visible Level 2 and Member marks appear the same size. */
@media (max-width:600px){
  footer .footer-social{
    display:flex !important;
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 0 16px !important;
  }

  footer .footer-badges{
    display:flex !important;
    flex-direction:row !important;
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    gap:16px !important;
    margin:0 !important;
  }

  footer .footer-badges img{
    width:82px !important;
    height:82px !important;
    object-fit:contain !important;
    transform-origin:center !important;
  }

  /* Level 2 artwork fills more of its source canvas, so reduce it slightly
     to match the Member badge's visible diameter. */
  footer .footer-badges img[src*="icf-level2"]{
    transform:scale(.89) !important;
  }
  footer .footer-badges img[src*="icf-member"]{
    transform:scale(1) !important;
  }
}


/* V41 — final desktop footer rebalance.
   Keep the brand as a two-line block at the exact footer centre.
   Match the right badge-column inset to the left contact-column inset. */
@media (min-width:601px){
  footer{
    position:relative !important;
    padding-left:5.5% !important;
    padding-right:5.5% !important;
    box-sizing:border-box !important;
  }

  /* Column 1 stays centred inside its area and begins at the 5.5% inset. */
  footer .contact-copy{
    text-align:center !important;
    align-items:center !important;
  }

  /* True centre, with enough width to force only the intended break. */
  footer .footer-brand{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    width:360px !important;
    max-width:none !important;
    white-space:normal !important;
    text-align:center !important;
    line-height:1.02 !important;
  }

  /* Push LinkedIn rightward but leave breathing room before credentials. */
  footer .footer-social{
    position:absolute !important;
    left:70% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
  }

  /* Right edge mirrors the footer's 5.5% left inset exactly. */
  footer .footer-badges{
    position:absolute !important;
    right:5.5% !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:8px !important;
  }

  /* Equal visible badge scale. */
  footer .footer-badges img{
    width:96px !important;
    height:96px !important;
    object-fit:contain !important;
    transform-origin:center !important;
  }
  footer .footer-badges img[src*="icf-level2"]{
    transform:scale(.84) !important;
  }
  footer .footer-badges img[src*="icf-member"]{
    transform:scale(1) !important;
  }
}

/* V42 footer corrections */
@media (max-width:600px){
 footer .footer-credentials{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;gap:14px!important;margin:0 auto!important}
 footer .footer-social{display:flex!important;width:100%!important;justify-content:center!important;align-items:center!important;margin:0!important}
 footer .footer-badges{display:flex!important;flex-direction:row!important;width:100%!important;justify-content:center!important;align-items:center!important;gap:16px!important;margin:0!important}
 footer .footer-badges img{width:82px!important;height:82px!important;object-fit:contain!important;transform-origin:center!important}
 footer .footer-badges img[src*="icf-level2"]{transform:scale(.84)!important}
 footer .footer-badges img[src*="icf-member"]{transform:scale(1)!important}
}
@media (min-width:601px){
 footer{position:relative!important;display:block!important;height:300px!important;min-height:300px!important;max-height:300px!important;padding:28px 5.5%!important;box-sizing:border-box!important;overflow:hidden!important}
 footer .contact-copy{position:absolute!important;left:5.5%!important;top:50%!important;transform:translateY(-50%)!important;width:28%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;margin:0!important}
 footer .contact-copy p{width:100%!important;max-width:390px!important;text-align:center!important;margin:0 auto 18px!important}
 footer .contact-copy .pill{width:100%!important;max-width:390px!important;margin:0 auto!important}
 footer .footer-brand{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:390px!important;max-width:390px!important;text-align:center!important;white-space:nowrap!important;line-height:1.02!important;margin:0!important}
 footer .footer-credentials{display:contents!important}
 footer .footer-social{position:absolute!important;left:71.5%!important;top:50%!important;transform:translate(-50%,-50%)!important;margin:0!important}
 footer .footer-badges{position:absolute!important;right:5.5%!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;margin:0!important}
 footer .footer-badges img{width:96px!important;height:96px!important;object-fit:contain!important;transform-origin:center!important}
 footer .footer-badges img[src*="icf-level2"]{transform:scale(.84)!important}
 footer .footer-badges img[src*="icf-member"]{transform:scale(1)!important}
}


/* V43 — fix desktop credential positioning only.
   Keep all other V42 footer geometry unchanged. */
@media (min-width:601px){
  footer .footer-credentials{
    display:block !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  footer .footer-social{
    position:absolute !important;
    left:71.5% !important;
    right:auto !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    margin:0 !important;
  }

  footer .footer-badges{
    position:absolute !important;
    left:auto !important;
    right:5.5% !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
  }
}


/* V44 — mobile only: make both credential badges 20% larger.
   Everything else remains exactly as in V43. */
@media (max-width:600px){
  footer .footer-badges img{
    width:98.4px !important;
    height:98.4px !important;
  }
}


/* V45 — desktop badge fix.
   An older rule left .footer-badges at width:100%, so although the badge
   group was anchored to the right, its contents were being centred across
   a full-footer-width box. Collapse that box to the badges themselves. */
@media (min-width:601px){
  footer .footer-badges{
    width:auto !important;
    min-width:0 !important;
    grid-template-columns:none !important;
    left:auto !important;
    right:5.5% !important;
    top:50% !important;
    transform:translateY(-50%) !important;
  }
}


/* V47 — desktop only: badges 20% larger. Everything else unchanged. */
@media (min-width:601px){
  footer .footer-badges img{
    width:115.2px !important;
    height:115.2px !important;
  }
}
