/* ==========================================================================
   Taroso theme: core block markup inside the designed sections.
   Pages are built from core blocks (groups, headings, paragraphs, lists, images, details);
   inc/blocks.php restores the decorative markup, this file covers the rest.
   ========================================================================== */

:where(figure.wp-block-image){margin:0}
.wp-block-image img{display:block;max-width:100%}
:where(main) p.eyebrow{margin-top:0}
.hero__actions,.contact__actions,.svc-price__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.svc-price__actions{gap:14px 24px}

/* Paragraphs standing in for the spans and divs of the original layout */
.about__role,.exp__quote,.pillar__num,.svc-fig p,.stat p,.about__badge p{margin:0}
.stat__label{margin:16px 0 0}
.svc-fig__label{margin-top:36px}
.svc-fig .svc-fig__val{margin:10px 0 22px}
.svc-fig .svc-fig__note{margin:auto 0 0}
.about__badge p{font-size:13.5px;line-height:1.5;color:var(--mute)}
.about__badge p:first-child{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15;color:var(--cream);margin-bottom:6px}
.about__badge strong{font-weight:inherit}
.exp__media figure{height:100%}
.hero__img{margin:0}
.hero__img img{height:100%}

/* Session steps: each step is a group; the number comes from a counter */
.svc-steps__list{counter-reset:svcstep}
.svc-steps__list>div{position:relative;padding-top:78px;counter-increment:svcstep}
.svc-steps__list>div::before{content:counter(svcstep,decimal-leading-zero);position:absolute;top:0;left:0;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--sand);border:1px solid rgba(43,34,29,.22);font-family:var(--serif);font-size:26px;color:var(--clay-deep);box-sizing:border-box}
.svc-steps__list>div::after{content:"";position:absolute;top:0;left:0;width:68px;height:68px;border-radius:50%;border:1px solid var(--clay);opacity:0;box-sizing:border-box}
.svc-steps__list>div:nth-child(2){--i:1}
.svc-steps__list>div:nth-child(3){--i:2}
.svc-steps__list>div:nth-child(4){--i:3}
.svc-steps__list>div:nth-child(5){--i:4}
.svc-steps__list>div:nth-child(6){--i:5}
.svc-steps__list.in>div::after{animation:stepdrop 2.6s var(--ease-out) calc(var(--i,0) * .45s + .6s) both}
.svc-steps__list>div p{margin:0}
.js .svc-steps__list>div{opacity:0;translate:0 26px;transition:opacity 1s var(--ease-out),translate 1s var(--ease-out);transition-delay:calc(var(--i,0) * .18s + .25s)}
.js .svc-steps__list.in>div{opacity:1;translate:0 0}

/* Generic content sections carried over from the old pages */
.svc-text{padding:clamp(64px,8vw,110px) 0}
.svc-text .svc-head{margin-bottom:clamp(28px,3vw,44px)}
.svc-text__body{font-size:17.5px;line-height:1.75}
.svc-text__body>:is(p,ul,ol,h3){max-width:760px}
.light .svc-text__body{color:var(--ink-soft)}
.svc-text__body p{margin:0 0 1.1em}
.svc-text__body ul,.svc-text__body ol{margin:0 0 1.1em;padding-left:1.2em}
.svc-text__body li{margin-bottom:.4em}
.svc-text__body h3{font-size:clamp(26px,2.4vw,34px);margin:1.4em 0 .5em}
.svc-text__body a{color:var(--clay-light);text-decoration:underline;text-underline-offset:3px}
.light .svc-text__body a{color:var(--clay-deep)}
.svc-text__body strong{font-weight:500}
.svc-text h2{font-size:clamp(40px,5vw,74px)}

/* Treatment cards on hub pages (title, text, link) */
.svc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(28px,3vw,44px)}
.svc-cards>div{display:flex;flex-direction:column;gap:12px;padding:clamp(24px,2.6vw,34px);border-radius:24px;border:1px solid var(--line-dark);background:rgba(246,240,233,.03);transition:border-color .5s var(--ease),background .5s var(--ease)}
.svc-cards>div:hover{border-color:rgba(246,240,233,.32);background:rgba(246,240,233,.06)}
.light .svc-cards>div{border-color:var(--line-light);background:#fff}
.light .svc-cards>div:hover{border-color:rgba(43,34,29,.3)}
.svc-cards h3{font-size:clamp(26px,2.3vw,32px)}
.svc-cards p{margin:0;font-size:15.5px;color:var(--on-dark)}
.light .svc-cards p{color:var(--ink-soft)}
.svc-cards .eyebrow{margin-bottom:6px;font-size:11.5px;letter-spacing:.24em;white-space:nowrap}
.svc-cards .link-arrow{align-self:flex-start;margin-top:auto;padding-top:8px}

/* Figures strip on treatment pages */
.svc-stats .stat b small:first-child{text-align:right}
.svc-stats .stat b:not(:has(span)){font-style:italic;font-size:clamp(36px,4vw,64px);padding:0 .12em;line-height:1.3}

/* Quote band */
.svc-quote{padding:clamp(56px,7vw,96px) 0;text-align:center}
.svc-quote p{margin:0 auto;max-width:900px;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(34px,4.4vw,64px);line-height:1.15;color:var(--clay-light)}
.svc-quote--long p{max-width:820px;font-style:normal;font-size:clamp(20px,1.8vw,26px);line-height:1.5;color:var(--on-dark)}

/* Hero without an image; price card variants */
.svc-hero--noimg .svc-hero__grid{grid-template-columns:minmax(0,860px)}
.svc-price__extra{margin:20px 0 0;font-size:16px;line-height:1.6;color:var(--on-dark)}
.svc-price__text{grid-area:figs;font-size:17px;line-height:1.7;color:var(--on-dark)}
.svc-price__text p{margin:0 0 1em}
.svc-price__text strong{font-weight:500;color:var(--cream)}

/* Review cards outside the slider */
.svc-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:clamp(28px,3vw,44px) 0 24px}
.svc-reviews .rv{width:auto;margin:0}
.svc-text__body .svc-reviews .rv__q{color:var(--ink)}

/* Contact card built from blocks */
.contact__map .wp-block-html,.contact__map>p{height:100%;margin:0}

@media (max-width:1120px){
  .svc-cards,.svc-reviews{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .svc-reviews{grid-template-columns:1fr}
}
@media (max-width:960px){
  .svc-steps__list>div{padding:6px 0 0 96px;min-height:68px}
}
@media (max-width:640px){
  .svc-fig__label{margin-top:24px}
  .svc-cards{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .js .svc-steps__list>div{opacity:1;translate:none}
}

/* Contact page: the card is the whole page */
.contact--page{padding-top:clamp(140px,14vw,200px)}
.contact h1.eyebrow{line-height:1.4}
.contact--page h2{font-size:clamp(40px,4.2vw,64px)}
.contact__note{margin:-16px 0 32px;font-size:13.5px;line-height:1.6;color:var(--mute)}
.contact__note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.contact__map--page{margin-top:24px;border-radius:28px;overflow:hidden;border:1px solid var(--line-dark)}
.svc-stats .stat__note{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:var(--mute)}
.svc-text__body blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:2px solid var(--clay);font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(20px,1.8vw,24px);line-height:1.45;color:var(--clay-deep)}
.svc-text:not(.light) .svc-text__body blockquote{color:var(--clay-light)}
.svc-text__body blockquote p{margin:0;max-width:none}
.svc-steps .svc-head p:not(.eyebrow){max-width:760px;margin:18px 0 0;font-size:17px;line-height:1.7;color:var(--ink-soft)}

/* Long text pages: lining figures everywhere, and a denser two-column layout for text sections */
html{font-variant-numeric:lining-nums}
.svc-text:not(:has(.svc-cards,.svc-reviews))>.wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.svc-text:not(:has(.svc-cards,.svc-reviews)) .svc-head{margin:0;position:sticky;top:110px}
.svc-text:not(:has(.svc-cards,.svc-reviews)) .svc-head h2{font-size:clamp(34px,3.8vw,56px)}
.svc-text:not(:has(.svc-cards,.svc-reviews)) .svc-text__body>:is(p,ul,ol,h3){max-width:none}
.svc-text:not(:has(.svc-cards,.svc-reviews)) .svc-text__body>h3:first-child{margin-top:0}
.svc-text:has(.svc-cards) .svc-head{max-width:860px}
.svc-text__body ul.is-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 1.4em}
.svc-text__body ul.is-chips li{margin:0;padding:10px 18px;border-radius:100px;border:1px solid var(--line-dark);background:rgba(246,240,233,.04);font-size:15px;line-height:1.4}
.light .svc-text__body ul.is-chips li{border-color:var(--line-light);background:#fff}
.svc-text__body ul.is-columns{columns:2;column-gap:40px}
.svc-text__body ul.is-columns li{break-inside:avoid}
.svc-text__body .svc-cards{margin-top:8px}
.svc-text__body>p+.svc-cards{margin-top:0;margin-bottom:1.6em}
@media (max-width:960px){
  .svc-text:not(:has(.svc-cards,.svc-reviews))>.wrap{grid-template-columns:1fr;gap:28px}
  .svc-text:not(:has(.svc-cards,.svc-reviews)) .svc-head{position:static}
  .svc-text__body ul.is-columns{columns:1}
}
/* Four steps sit two by two rather than three plus one */
@media (min-width:961px){
  .svc-steps__list:has(> :nth-child(4):last-child),.svc-steps__list:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,6vw,96px)}
  .svc-steps__list:has(> :nth-child(4):last-child) p{max-width:460px}
}
