/* Homepage editorial finish: quieter corners and a larger closing footer.
   Pills (buttons, floating navigation) keep their shape as brand identity;
   only cards, media and panels move to small, architectural radii. */

/* ---------- Radii ---------- */
.elementor-86 .sv-home.sv-home{
  --sv-r-media:4px;--sv-r-card:6px;--sv-r-feature:6px;--sv-r-portrait:6px;--sv-r-tag:2px}
.elementor-86 .sv-home.sv-home .sv-therapy.sv-therapy{--th-radius:var(--sv-r-media)}
/* The provider film carried a literal radius; route it through the shared token. */
.elementor-86 .sv-home.sv-home .sv-provider-film .sv-film-frame{border-radius:var(--sv-r-feature)}
@media(prefers-reduced-motion:no-preference){
  /* The light zone's moving edge uses the card corner instead of a 40px curve. */
  .elementor-86 .sv-home[data-sv-home-motion=on] .sv-faq.sv-faq::before{
    clip-path:inset(0 var(--sv-tone-x,0px) 0 var(--sv-tone-x,0px) round 0 0 min(var(--sv-tone-r,0px),var(--sv-r-card)) min(var(--sv-tone-r,0px),var(--sv-r-card)))}
}

/* ---------- Footer ----------
   A closing statement, three ruled columns and an oversized brand wordmark
   that bleeds off the bottom edge. Same copy, links and order as before. */
.elementor-86 .sv-home.sv-home .sv-footer{
  --ft-gap:clamp(16px,1.8vw,32px);
  --ft-rule:rgba(247,241,232,.14);
  position:relative;overflow:hidden;padding:clamp(88px,10vw,160px) 0 0}
.elementor-86 .sv-home.sv-home .sv-footer-top{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--ft-gap);row-gap:0;align-items:stretch}
.elementor-86 .sv-home.sv-home .sv-footer-invitation{display:contents}

/* Statement */
.elementor-86 .sv-home.sv-home .sv-footer-invitation>.sv-footer-tagline{
  grid-column:1/11;grid-row:1;max-width:11.5em;margin:0;padding-bottom:clamp(64px,7vw,120px);
  font-size:clamp(44px,6vw,100px);font-weight:600;line-height:1.04;letter-spacing:-.022em;color:var(--sv-on-dark)}

/* One rule across the columns, drawn by the grid itself. */
.elementor-86 .sv-home.sv-home .sv-footer-top::before{
  content:"";grid-column:1/-1;grid-row:2;align-self:start;height:var(--sv-line,1px);background:var(--ft-rule)}

/* Column 1: emblem above, promise below. */
.elementor-86 .sv-home.sv-home .sv-footer-mark{grid-column:1/5;grid-row:2;align-self:start;padding-top:clamp(28px,3vw,44px)}
.elementor-86 .sv-home.sv-home .sv-footer-mark img{width:clamp(96px,8vw,124px)}
.elementor-86 .sv-home.sv-home .sv-footer-subline{grid-column:1/5;grid-row:2;align-self:end;margin:0;padding-top:28px;color:var(--sv-on-dark-muted)}

/* Columns 2 and 3: separated by hairlines, labels on top. */
.elementor-86 .sv-home.sv-home :is(.sv-footer-links,.sv-footer-contact){
  align-self:stretch;padding:clamp(28px,3vw,44px) 0 0 var(--ft-gap);border-left:var(--sv-line,1px) solid var(--ft-rule);gap:0}
.elementor-86 .sv-home.sv-home .sv-footer-links{grid-column:5/9;grid-row:2}
.elementor-86 .sv-home.sv-home .sv-footer-contact{grid-column:9/13;grid-row:2}
.elementor-86 .sv-home.sv-home :is(.sv-footer-links,.sv-footer-contact)>.sv-eyebrow{margin-bottom:18px;color:var(--sv-on-dark-muted)}

/* Explore links at display size; the booking pill closes the list. */
.elementor-86 .sv-home.sv-home .sv-footer-links a:not(.sv-nav-book){
  min-height:44px;font-size:clamp(22px,2vw,30px);font-weight:500;line-height:1.15;letter-spacing:-.02em;color:var(--sv-on-dark);
  background:linear-gradient(var(--sv-gold),var(--sv-gold)) 0 calc(100% - 6px)/0 var(--sv-line,1px) no-repeat}
.elementor-86 .sv-home.sv-home .sv-footer-links a.sv-nav-book{margin-top:24px}
.elementor-86 .sv-home.sv-home .sv-footer-contact a{color:var(--sv-on-dark);font-size:var(--sv-body-size,18px)}
@media(hover:hover){
  .elementor-86 .sv-home.sv-home .sv-footer-links a:not(.sv-nav-book){transition:background-size .35s var(--sv-ease),color .2s ease}
  .elementor-86 .sv-home.sv-home .sv-footer-links a:not(.sv-nav-book):hover{background-size:100% var(--sv-line,1px)}
}

/* Legal row, then the wordmark. */
.elementor-86 .sv-home.sv-home .sv-footer-bottom{margin-top:clamp(64px,7vw,112px);padding-top:16px;border-top-color:var(--ft-rule)}
.elementor-86 .sv-home.sv-home .sv-footer-wordmark{
  display:block;margin:clamp(28px,3.2vw,56px) 0 0;white-space:nowrap;text-align:left;
  font-size:calc(var(--sv-frame,92vw) * var(--ft-word-scale,.145));font-weight:500;line-height:.8;letter-spacing:-.03em;
  color:transparent;background:linear-gradient(180deg,color-mix(in srgb,var(--sv-gold) 70%,transparent) 0%,color-mix(in srgb,var(--sv-gold) 6%,transparent) 92%);
  -webkit-background-clip:text;background-clip:text;margin-bottom:-.14em;pointer-events:none;user-select:none}
@supports (animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    .elementor-86 .sv-home.sv-home .sv-footer-wordmark{animation:sv-footer-wordmark linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  }
}
@keyframes sv-footer-wordmark{from{transform:translate3d(0,42%,0)}to{transform:none}}

/* Mid widths: the statement takes the full row. */
@media(max-width:1100px){
  .elementor-86 .sv-home.sv-home .sv-footer-invitation>.sv-footer-tagline{grid-column:1/-1}
}
/* Stacked: columns become ruled rows. */
@media(max-width:860px){
  .elementor-86 .sv-home.sv-home .sv-footer>.sv-wrap{width:calc(100% - 2*var(--sv-pad))}
  .elementor-86 .sv-home.sv-home .sv-footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .elementor-86 .sv-home.sv-home .sv-footer-invitation>.sv-footer-tagline{grid-column:1/-1;font-size:clamp(40px,9vw,64px);padding-bottom:56px}
  .elementor-86 .sv-home.sv-home .sv-footer-top::before{grid-row:2}
  .elementor-86 .sv-home.sv-home .sv-footer-mark{grid-column:1/-1;grid-row:2;padding-top:32px}
  .elementor-86 .sv-home.sv-home .sv-footer-subline{grid-column:1/-1;grid-row:3;align-self:start;padding:16px 0 40px}
  .elementor-86 .sv-home.sv-home :is(.sv-footer-links,.sv-footer-contact){padding:28px 0 0;border-left:0;border-top:var(--sv-line,1px) solid var(--ft-rule)}
  .elementor-86 .sv-home.sv-home .sv-footer-links{grid-column:1/-1;grid-row:4}
  .elementor-86 .sv-home.sv-home .sv-footer-contact{grid-column:1/-1;grid-row:5;margin-top:40px}
  .elementor-86 .sv-home.sv-home .sv-footer-wordmark{font-size:calc((100vw - 2 * var(--sv-pad)) * var(--ft-word-scale,.145))}
}
