/*
Theme Name: Samagati
Theme URI: https://wordpress.org/themes/
Author: Samagati
Description: Edytowalna wizytówka Samagati przed otwarciem gabinetu. Trzy osobne strony, natywne bloki WordPress, pełna edycja witryny i lokalny krój Manrope.
Version: 2.5.3
Requires at least: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: samagati
Tags: full-site-editing, custom-colors, custom-logo, editor-style, wide-blocks
*/

:root {
  --sg-purple: #513064;
  --sg-purple-dark: #34213f;
  --sg-green: #536b38;
  --sg-green-dark: #3e5228;
  --sg-sage: #e8eedf;
  --sg-lavender: #f2edf5;
  --sg-cream: #fcfbf8;
  --sg-silver: #d9d4df;
  --sg-ink: #332f37;
  --sg-muted: #6e6675;
  --sg-line: #e6dfeb;
  --sg-serif: var(--wp--preset--font-family--display, "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  --sg-sans: var(--wp--preset--font-family--body, "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  --sg-section-space: clamp(64px, 7.5vw, 108px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a { text-underline-offset: 0.24em; text-decoration-thickness: 1px; }
a, button, .wp-block-button__link { transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #78904f;
  outline-offset: 4px;
}
::selection { background: #ded0e6; color: var(--sg-purple-dark); }
[id] { scroll-margin-top: 110px; }
h1, h2, h3, h4, h5, h6 { text-wrap: balance; }
p { text-wrap: pretty; }
.wp-site-blocks { padding-block: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks > header, .wp-site-blocks > footer { margin-block: 0; }
.wp-block-template-part { margin-block: 0; }
.wp-block-post-content { margin-block: 0; }
.wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }
.sg-main { margin-block: 0; }
.sg-container { width: 100%; max-width: 1180px !important; margin-inline: auto !important; }
.wp-block-post-title a { text-decoration: none; }
.wp-block-post-content > p,
.wp-block-post-content > h1,
.wp-block-post-content > h2,
.wp-block-post-content > h3,
.wp-block-post-content > ul,
.wp-block-post-content > ol { max-width: 820px; }
.wp-block-post-content > :first-child:not(.alignfull) { margin-top: 50px; }
.wp-block-post-content > :last-child:not(.alignfull) { margin-bottom: 70px; }

/* Header and the navigation remain editable in the WordPress Site Editor. */
.sg-header {
  background: rgba(252,251,248,.97);
  border-bottom: 1px solid var(--sg-line);
  position: relative;
  z-index: 10;
  padding-block: 0;
}
.sg-header-main { min-height: 104px; gap: 30px; padding-block: 18px; }
.sg-brand { gap: 12px; flex-shrink: 0; }
.sg-brand .wp-block-site-logo img { width: 64px; height: 64px; border-radius: 0; object-fit: contain; display: block; }
.sg-brand-words { margin: 0; }
.sg-brand-words .wp-block-site-title { margin: 0; white-space: nowrap; }
.sg-brand-words .wp-block-site-tagline { margin: 6px 0 0; white-space: nowrap; }
.sg-header-links { gap: clamp(22px, 3vw, 42px); }
.sg-main-navigation .wp-block-navigation__container { gap: clamp(20px, 2.1vw, 30px); }
.sg-main-navigation .wp-block-navigation-item__content { padding-block: 6px; position: relative; }
.sg-main-navigation .wp-block-navigation-item__content::after {
  content: ""; position: absolute; height: 1px; background: var(--sg-green); bottom: 0; left: 0; right: 100%; transition: right .18s ease;
}
.sg-main-navigation .wp-block-navigation-item__content:hover::after,
.sg-main-navigation .current-menu-item > .wp-block-navigation-item__content::after { right: 0; }
.sg-header-cta .wp-block-button__link { padding: 13px 20px; font-size: .84rem; white-space: nowrap; }
.sg-header-cta span { margin-left: 14px; font-size: 1.1em; }
.wp-block-navigation__responsive-container.is-menu-open {
  background: var(--sg-cream);
  color: var(--sg-purple);
  padding: 30px;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 75px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 22px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.5rem; font-family: var(--sg-serif); }
.wp-block-navigation__responsive-container-open { padding: 8px; color: var(--sg-purple); }
.wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }

/* The content consists entirely of ordinary core blocks. */
.sg-section { padding-block: var(--sg-section-space); padding-inline: 24px; }
.sg-section > .alignwide, .sg-section > .sg-container { width: 100%; max-width: 1180px !important; margin-inline: auto !important; }
.sg-section > :first-child,
.sg-section > .alignwide > :first-child,
.sg-section > .sg-container > :first-child { margin-top: 0; }
.sg-section > :last-child,
.sg-section > .alignwide > :last-child,
.sg-section > .sg-container > :last-child { margin-bottom: 0; }
.eyebrow, .sg-eyebrow {
  color: var(--sg-green);
  display: flex;
  align-items: center;
  gap: 13px;
  font-family: var(--sg-sans);
  font-size: .69rem;
  font-weight: 650;
  letter-spacing: .17em;
  line-height: 1.6;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.eyebrow::before, .sg-eyebrow::before { content: ""; flex: 0 0 27px; height: 1px; background: currentColor; opacity: .8; }
.section-intro, .sg-section-heading { max-width: 760px; margin-bottom: 42px; }
.section-intro h2, .sg-section-heading h2 { margin-top: 16px; margin-bottom: 22px; }
.section-intro > p:not(.eyebrow), .sg-section-heading > p:not(.sg-eyebrow) { color: var(--sg-muted); max-width: 650px; }
.section-intro.has-text-align-center { margin-inline: auto; }
.section-intro.has-text-align-center .eyebrow { justify-content: center; }
.section-soft, .sg-soft-section { background: var(--sg-lavender); }
.section-purple, .sg-purple-section { background: linear-gradient(115deg, #513064, #34213f); color: #f7f4f9; }
.section-purple :is(h1,h2,h3,h4), .sg-purple-section :is(h1,h2,h3,h4) { color: #fff; }
.section-purple :is(p,li), .sg-purple-section :is(p,li) { color: #e8dfed; }
.section-purple .eyebrow, .sg-purple-section .sg-eyebrow { color: #d0ddb9; }
.section-purple a:not(.wp-block-button__link), .sg-purple-section a:not(.wp-block-button__link) { color: #fff; }
.section-purple .wp-block-button.is-style-outline .wp-block-button__link,
.sg-purple-section .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: #aa96b7; }
.section-purple .wp-block-button.is-style-outline .wp-block-button__link:hover,
.sg-purple-section .wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.1); }
.section-purple .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.sg-purple-section .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #e5edda; border-color: #e5edda; color: #344b24; }
.section-purple .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.sg-purple-section .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #f1f5ea; border-color: #f1f5ea; }
.wp-block-buttons { gap: 14px; }
.wp-block-button .wp-block-button__link { box-shadow: none; }
.wp-block-button:not(.is-style-outline):not(.is-style-soft) .wp-block-button__link:hover { background: var(--sg-green-dark); border-color: var(--sg-green-dark); color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.sg-button-secondary .wp-block-button__link {
  background: transparent; border: 1px solid #c5b7ce; color: var(--sg-purple); padding: 15px 25px;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.sg-button-secondary .wp-block-button__link:hover { background: var(--sg-lavender); border-color: var(--sg-purple); }
.wp-block-button.is-style-soft .wp-block-button__link { background: var(--sg-lavender); color: var(--sg-purple); border-color: var(--sg-lavender); }
.wp-block-button.is-style-soft .wp-block-button__link:hover { background: #e6dceb; border-color: #e6dceb; }

/* Home hero, inspired by the supplied lavender and botanical brand image. */
.samagati-hero, .sg-hero {
  padding-block: clamp(48px, 5vw, 76px) clamp(56px, 6vw, 86px);
  background: radial-gradient(ellipse at 92% 38%, #ede3f1 0, #f5eff7 29%, var(--sg-cream) 63%);
  position: relative;
  overflow: hidden;
}
.samagati-hero::after, .sg-hero::after {
  content: ""; position: absolute; width: 540px; height: 540px; right: -350px; bottom: -280px; border: 1px solid #d8ccd3; border-radius: 50%; pointer-events: none; opacity: .65;
}
.hero-grid, .sg-hero-grid { gap: clamp(35px, 5vw, 76px); align-items: center !important; position: relative; z-index: 1; }
.hero-grid > .wp-block-column:first-child, .sg-hero-grid > .wp-block-column:first-child { flex-basis: 53%; }
.hero-grid > .wp-block-column:last-child, .sg-hero-grid > .wp-block-column:last-child { flex-basis: 47%; }
.hero-copy, .sg-hero-copy { padding-block: 15px; }
.hero-copy h1, .sg-hero-copy h1 {
  font-size: clamp(3.3rem, 5vw, 4.4rem);
  letter-spacing: -.052em;
  line-height: 1.065;
  max-width: 650px;
  margin-block: 22px 28px;
}
.hero-copy h1 strong, .sg-hero-copy h1 strong { font-weight: 600; font-style: normal; color: var(--sg-green); }
.hero-copy > p:not(.eyebrow), .sg-hero-copy > p:not(.sg-eyebrow) { color: var(--sg-muted); font-size: 1.03rem; line-height: 1.85; max-width: 490px; }
.hero-copy .wp-block-buttons, .sg-hero-copy .wp-block-buttons { margin-top: 31px; }
.hero-media, .sg-hero-image {
  margin-block: 0; position: relative; height: clamp(430px,43vw,570px); overflow: hidden;
  border-radius: 47% 47% 8px 8px;
  border: 6px solid #fff;
  box-shadow: 0 16px 45px rgba(76,47,91,.08);
}
.hero-media img, .sg-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  border-radius: 0;
  border: 0;
  box-shadow: none;
  transform: scale(1.65);
  transform-origin: left top;
  display: block;
}
.hero-media figcaption, .sg-hero-image figcaption { font-size: .72rem; color: var(--sg-muted); margin-top: 12px; text-align: center; }
.hero-values { border-top: 1px solid #d9d0dd; padding-top: 23px; margin-top: 37px; gap: 20px; }
.hero-values .wp-block-column { min-width: 0; }
.hero-values p { font-size: .74rem; color: var(--sg-muted); line-height: 1.6; margin: 0; }
.hero-values p strong { display: block; font-size: 1.2rem; font-family: var(--sg-serif); font-weight: 400; color: var(--sg-purple); margin-bottom: 3px; }
.hero-copy .hero-signature { font-family: var(--sg-serif); font-style: normal; font-size: 1.15rem; color: var(--sg-purple); margin-top: 26px; }
.hero-visual .image-caption { font-family: var(--sg-serif); font-style: normal; color: var(--sg-purple); font-size: 1.1rem; text-align: center; margin: 15px 0 0; }
.sg-home-main .values-section { padding-block: 0 10px; }
.sg-home-main .hero-values { margin-top: 0; padding-block: 35px; border-top: 0; border-bottom: 1px solid var(--sg-line); gap: 48px; }
.sg-home-main .hero-values h3 { font-size: 1.3rem; margin-block: 0 8px; }
.sg-home-main .hero-values p { font-size: .86rem; line-height: 1.7; }

/* Service cards and concise content grids. */
.service-grid, .sg-service-grid { gap: 18px; margin-top: 42px; }
.service-card, .sg-service-card, .is-style-samagati-card {
  background: #fff;
  border: 1px solid var(--sg-line);
  border-radius: 8px;
  padding: 30px 25px 28px;
  position: relative;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.service-card:hover, .sg-service-card:hover { border-color: #bcacc7; box-shadow: 0 12px 28px rgba(76,47,91,.055); }
.service-card h3, .sg-service-card h3 { font-size: clamp(1.45rem,1.9vw,1.75rem); margin-block: 22px 15px; letter-spacing: -.03em; }
.service-card p, .sg-service-card p { font-size: .88rem; line-height: 1.8; color: var(--sg-muted); margin-block: 14px; }
.service-card > p:last-child, .sg-service-card > p:last-child { margin-top: 24px; margin-bottom: 0; }
.service-card a, .sg-service-card a { color: var(--sg-purple); font-weight: 600; font-size: .82rem; text-decoration: none; }
.service-card a:hover, .sg-service-card a:hover { color: var(--sg-green); text-decoration: underline; }
.service-card .service-number, .service-card .sg-icon, .sg-service-card .sg-icon,
.service-card > p:first-child, .sg-service-card > p:first-child {
  width: 48px; min-height: 48px; display: flex; align-items: center; justify-content: center;
  background: #f3eef6; color: var(--sg-purple); border: 1px solid #e5ddea; border-radius: 50%;
  font-family: var(--sg-serif); font-size: 1.14rem; font-weight: 400; margin: 0 0 22px;
}
.service-card:nth-child(even) > p:first-child { background: #eef2e8; border-color: #e0e7d8; color: var(--sg-green); }
.split-section { gap: clamp(35px,6vw,88px); align-items: center !important; }
.split-section h2 { margin-top: 15px; }
.split-section p:not(.eyebrow) { color: var(--sg-muted); }
.split-section .wp-block-list { padding-left: 20px; }
.split-section .wp-block-list li { padding-left: 6px; margin-block: 8px; }
.split-section .wp-block-list li::marker { color: var(--sg-green); }
.split-section .wp-block-quote { margin-inline: 0; }
.brand-image { max-width: 365px; margin-block: 0; margin-inline: auto; }
.brand-image img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 0; box-shadow: none; filter: drop-shadow(0 12px 18px rgba(76,47,91,.12)); }
.steps-grid, .values-grid { gap: 36px; }
.steps-grid > .wp-block-column { padding-top: 26px; border-top: 1px solid #d6c9df; }
.steps-grid h3, .values-grid h3 { font-size: 1.5rem; margin-block: 16px 12px; }
.steps-grid p:not(.step-number), .values-grid p { color: var(--sg-muted); font-size: .92rem; }
.step-number { font-family: var(--sg-serif); font-size: 1.2rem; color: var(--sg-green); margin-block: 0; }
.service-detail-card { border: 1px solid #ddd2e5; background: #fff; padding: clamp(26px,4vw,43px); border-radius: 7px; }
.service-detail-card h3 { margin-top: 0; }
.service-detail-card .wp-block-buttons { margin-top: 25px; }
.cta-section h2 { max-width: 850px; }
.cta-section > .alignwide > p { max-width: 650px; margin-top: 24px; }
.cta-section .wp-block-buttons { margin-top: 30px; }
.section-soft .service-card, .section-soft .sg-service-card { border-color: #e1d8e7; }
.editorial-note { color: var(--sg-muted); font-size: .85rem; border-left: 2px solid #bcc8a7; padding: 3px 0 3px 19px; margin-block: 28px; }
.editorial-note p { margin-block: 0; }

/* Inner pages: one h1 is supplied by each editable page. */
.page-intro {
  background: radial-gradient(ellipse at right top, #eee5f2 0, var(--sg-cream) 65%);
  border-bottom: 1px solid var(--sg-line);
  padding-block: clamp(60px,7vw,94px);
}
.page-intro h1 { max-width: 950px; font-size: clamp(3rem,5.2vw,4.9rem); line-height: 1.08; margin-block: 22px 25px; }
.page-intro p:not(.eyebrow) { color: var(--sg-muted); font-size: 1.07rem; max-width: 720px; }
.page-intro .wp-block-buttons { margin-top: 28px; }
.service-detail { padding-block: 42px; border-bottom: 1px solid var(--sg-line); }
.service-detail:first-child { padding-top: 0; }
.service-detail:last-child { padding-bottom: 0; border-bottom: 0; }
.service-detail h2 { font-size: clamp(2rem,3.2vw,3rem); }
.service-detail p { color: var(--sg-muted); }
.service-detail .wp-block-list li { margin-block: 9px; }
.service-detail .wp-block-list li::marker { color: var(--sg-green); }
.sg-page-main .wp-block-post-content > .wp-block-group:not(.alignfull) { margin-block: 44px; }
.sg-not-found { min-height: 60vh; }
.sg-not-found h1 { margin-block: 24px; }

/* Therapists use real supplied portraits when available; initials are explicit placeholders. */
.sg-team-grid { gap: 28px; }
.therapist-card, .sg-team-card { background: #fff; border: 1px solid var(--sg-line); border-radius: 8px; padding: 25px; }
.therapist-card h3, .sg-team-card h3 { margin-bottom: 8px; }
.therapist-card h3 a, .sg-team-card h3 a { text-decoration: none; }
.therapist-card p, .sg-team-card p { color: var(--sg-muted); font-size: .92rem; }
.therapist-card > .wp-block-image img, .sg-team-card > .wp-block-image img { width: 100%; aspect-ratio: 4/4.3; object-fit: cover; border-radius: 5px; }
.portrait-placeholder {
  min-height: 280px;
  background: radial-gradient(circle at 65% 20%, #e8eeda 0, transparent 48%), linear-gradient(135deg,#f0e8f4,#e3d6e9);
  border-radius: 45% 45% 6px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  border: 1px solid #dfd5e4;
  padding: 32px;
  color: var(--sg-purple);
}
.portrait-placeholder .portrait-monogram { font-family: var(--sg-serif); font-size: 76px; line-height: 1.1; font-weight: 400; letter-spacing: -.06em; color: var(--sg-purple); margin: 0; }
.portrait-placeholder .portrait-monogram a { text-decoration: none; color: inherit; }
.portrait-placeholder > p:not(.portrait-monogram) { font-size: .75rem; letter-spacing: .02em; color: #6e6076; margin: 0; }
.therapist-card .portrait-placeholder { min-height: 260px; }
.profile-grid, .sg-profile-grid { gap: clamp(38px,6vw,82px); align-items: flex-start !important; }
.profile-grid > .wp-block-column:first-child { flex-basis: 32%; }
.profile-grid > .wp-block-column:last-child { flex-basis: 68%; }
.profile-grid .portrait-placeholder { min-height: 360px; }

/* Prices are native editable tables. */
.price-table, .sg-price-table { margin-block: 32px; overflow-x: auto; }
.price-table table, .sg-price-table table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.price-table th, .sg-price-table th { text-align: left; background: var(--sg-lavender); color: var(--sg-purple); font-size: .75rem; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; padding: 20px 24px; border: 0; border-bottom: 1px solid #d4c7dd; }
.price-table td, .sg-price-table td { border: 0; border-bottom: 1px solid var(--sg-line); padding: 22px 24px; vertical-align: top; }
.price-table tbody tr:nth-child(even), .sg-price-table tbody tr:nth-child(even) { background: #fff; }
.price-table td:first-child, .sg-price-table td:first-child { font-weight: 550; color: var(--sg-purple); }
.price-table th:last-child, .price-table td:last-child,
.sg-price-table th:last-child, .sg-price-table td:last-child { text-align: right; }
.price-table figcaption, .sg-price-table figcaption { margin-top: 16px; font-size: .8rem; color: var(--sg-muted); text-align: left; }

/* Accessible native details blocks and the contact form supplied by the companion plugin. */
.faq-list, .sg-faq { max-width: 900px; }
.faq-list .wp-block-details, .sg-faq .wp-block-details,
.wp-block-details.faq-list { border-bottom: 1px solid #dbd2e1; padding: 23px 0; margin-block: 0; }
.faq-list .wp-block-details:first-child, .sg-faq .wp-block-details:first-child { border-top: 1px solid #dbd2e1; }
.wp-block-details summary { cursor: pointer; color: var(--sg-purple); font-size: 1.05rem; font-weight: 550; padding-right: 35px; position: relative; list-style: none; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 4px; top: -3px; font-family: var(--sg-serif); font-size: 1.6rem; color: var(--sg-green); font-weight: 400; }
.wp-block-details[open] > summary::after { content: "−"; }
.wp-block-details > p { color: var(--sg-muted); padding-right: 35px; font-size: .95rem; }
.contact-grid, .sg-contact-grid { gap: clamp(35px,6vw,84px); align-items: flex-start !important; }
.contact-card, .sg-contact-card { background: #fff; border: 1px solid var(--sg-line); border-radius: 8px; padding: clamp(24px,3vw,40px); }
.contact-card h2, .sg-contact-card h2 { font-size: 2.2rem; margin-top: 0; }
.contact-card h3, .sg-contact-card h3 { font-size: 1.4rem; margin-top: 28px; }
.contact-card p, .sg-contact-card p { color: var(--sg-muted); }
.contact-grid .wp-block-list { padding-left: 19px; }
.contact-grid .wp-block-list li { margin-block: 10px; }
.samagati-contact-form, .sg-contact-form { background: #fff; border: 1px solid var(--sg-line); border-radius: 8px; padding: clamp(24px,3.5vw,44px); }
.samagati-contact-form label, .sg-contact-form label { display: block; font-size: .85rem; font-weight: 550; color: var(--sg-purple); margin-bottom: 7px; }
.samagati-contact-form input:not([type=checkbox]):not([type=hidden]):not([type=submit]),
.samagati-contact-form select, .samagati-contact-form textarea,
.sg-contact-form input:not([type=checkbox]):not([type=hidden]):not([type=submit]),
.sg-contact-form select, .sg-contact-form textarea {
  width: 100%; border: 1px solid #d6ccde; border-radius: 4px; background: var(--sg-cream); color: var(--sg-ink); padding: 12px 14px; min-height: 48px; font-size: .93rem;
}
.samagati-contact-form textarea, .sg-contact-form textarea { min-height: 145px; resize: vertical; }
.samagati-contact-form input[type=checkbox], .sg-contact-form input[type=checkbox] { accent-color: var(--sg-green); width: 17px; height: 17px; flex-shrink: 0; }
.samagati-contact-form input:focus, .samagati-contact-form select:focus, .samagati-contact-form textarea:focus,
.sg-contact-form input:focus, .sg-contact-form select:focus, .sg-contact-form textarea:focus { border-color: var(--sg-green); }
.samagati-contact-form button[type=submit], .sg-contact-form button[type=submit], .samagati-contact-form input[type=submit] {
  border: 1px solid var(--sg-green); border-radius: 5px; background: var(--sg-green); color: #fff; padding: 15px 25px; font-weight: 600; cursor: pointer; font-size: .9rem; line-height: 1.4;
}
.samagati-contact-form button[type=submit]:hover, .sg-contact-form button[type=submit]:hover { background: var(--sg-green-dark); border-color: var(--sg-green-dark); }
.samagati-contact-form .form-row, .sg-contact-form .form-row { margin-block: 0 20px; }
.samagati-contact-form .form-note, .sg-contact-form .form-note,
.samagati-contact-form .privacy-consent, .sg-contact-form .privacy-consent { color: var(--sg-muted); font-size: .78rem; line-height: 1.65; font-weight: 400; }
.samagati-contact-form .privacy-consent, .sg-contact-form .privacy-consent { display: flex; align-items: flex-start; gap: 9px; }
.samagati-form-notice, .samagati-form-message, .sg-form-message { padding: 16px 20px; border-radius: 4px; background: var(--sg-sage); color: #344b24; border: 1px solid #c6d5b5; }
.samagati-form-error, .samagati-form-message.is-error { background: #fbf0ec; color: #853b2a; border-color: #e5b9ab; }

/* Footer. */
.sg-footer { background: var(--sg-purple-dark); color: #e8e0ec; padding-block: 66px 24px; margin-block: 0; }
.sg-footer-grid { gap: 38px; margin-bottom: 52px; }
.sg-footer .wp-block-site-title { font-size: 2.65rem; letter-spacing: -.05em; line-height: 1; margin: 0 0 14px; }
.sg-footer .wp-block-site-title a { color: #fff; }
.sg-footer .sg-footer-tagline { font-family: var(--sg-serif); font-style: normal; font-size: 1.25rem; color: #c6d5ae; margin-block: 0 17px; }
.sg-footer .sg-footer-description { max-width: 300px; font-size: .84rem; line-height: 1.85; color: #c8bbd0; }
.sg-footer .sg-footer-heading { font-family: var(--sg-sans); font-weight: 600; letter-spacing: .01em; font-size: .84rem; color: #fff; margin: 0 0 23px; line-height: 1.6; }
.sg-footer .sg-footer-menu { padding: 0; margin: 0; list-style: none; }
.sg-footer .sg-footer-menu li { margin-block: 0 10px; font-size: .8rem; }
.sg-footer a { color: #d8cde0; text-decoration: none; }
.sg-footer a:hover { color: #fff; text-decoration: underline; }
.sg-footer p { font-size: .84rem; color: #c8bbd0; }
.sg-footer .sg-footer-contact-link { margin-top: 20px; }
.sg-footer .sg-footer-contact-link a { color: #d6e1c3; font-weight: 600; border-bottom: 1px solid #9aa887; padding-bottom: 6px; }
.sg-footer .sg-footer-contact-link span { margin-left: 9px; }
.sg-footer-bottom { padding-top: 22px; border-top: 1px solid #5b4567; gap: 18px; }
.sg-footer-bottom p { font-size: .69rem; margin: 0; color: #bbaac6; }
.sg-footer-bottom a { color: #c8bbd0; }
.sg-article-card { background: #fff; border: 1px solid var(--sg-line); border-radius: 6px; padding: 20px; }
.sg-article-card .wp-block-post-featured-image { margin-top: 0; }
.sg-article-card .wp-block-post-excerpt { font-size: .9rem; color: var(--sg-muted); }
.sg-article-main > .wp-block-post-title { margin-bottom: 35px; }

/* Keep WordPress editor sizing usable without hiding any editable blocks. */
.editor-styles-wrapper .sg-section { padding-inline: 24px; }
.editor-styles-wrapper .wp-block-post-content > :first-child:not(.alignfull) { margin-top: 0; }
.editor-styles-wrapper .wp-block-post-content > :last-child:not(.alignfull) { margin-bottom: 0; }
.editor-styles-wrapper .sg-header-main { flex-wrap: wrap; }
.editor-styles-wrapper .wp-block-site-title a { pointer-events: auto; }

@media (max-width: 1100px) {
  .sg-header-main { gap: 22px; }
  .sg-brand .wp-block-site-logo img { width: 49px; height: 49px; }
  .sg-brand-words .wp-block-site-title { font-size: 1.7rem; }
  .sg-brand-words .wp-block-site-tagline { font-size: .52rem; letter-spacing: .1em; }
  .sg-header-links { gap: 22px; }
  .sg-main-navigation .wp-block-navigation__container { gap: 19px; }
  .sg-header-cta .wp-block-button__link { padding-inline: 16px; }
  .sg-header-cta span { margin-left: 7px; }
  .service-card, .sg-service-card { padding: 25px 21px; }
  .service-card h3, .sg-service-card h3 { font-size: 1.47rem; }
}

@media (min-width: 782px) and (max-width: 960px) {
  .sg-header-cta { display: none !important; }
  .hero-grid, .sg-hero-grid { gap: 35px; }
  .hero-copy h1, .sg-hero-copy h1 { font-size: 3.7rem; }
  .hero-media, .sg-hero-image { height: 470px; }
  .service-grid, .sg-service-grid { flex-wrap: wrap !important; }
  .service-grid > .wp-block-column, .sg-service-grid > .wp-block-column { flex: 0 0 calc(50% - 9px) !important; }
  .sg-footer-grid { gap: 25px; }
  .sg-footer-grid > .wp-block-column:first-child { flex-basis: 32% !important; }
}

@media (max-width: 781px) {
  :root { --sg-section-space: 64px; }
  html { scroll-padding-top: 90px; }
  [id] { scroll-margin-top: 90px; }
  .sg-header-main { min-height: 88px; padding-block: 14px; }
  .sg-header-links { gap: 18px; }
  .sg-brand-words .wp-block-site-title { font-size: 1.7rem; }
  .sg-brand-words .wp-block-site-tagline { font-size: .52rem; }
  .sg-brand .wp-block-site-logo img { width: 49px; height: 49px; }
  .sg-main-navigation .wp-block-navigation__container { gap: 15px; }
  .sg-header-cta { display: none !important; }
  .samagati-hero, .sg-hero { padding-block: 44px 56px; }
  .hero-grid, .sg-hero-grid { gap: 38px; }
  .hero-copy, .sg-hero-copy { padding-block: 0; }
  .hero-copy h1, .sg-hero-copy h1 { font-size: clamp(3.2rem,9vw,4.75rem); max-width: 650px; }
  .hero-copy > p:not(.eyebrow), .sg-hero-copy > p:not(.sg-eyebrow) { max-width: 600px; font-size: 1rem; }
  .hero-media, .sg-hero-image { max-width: 520px; margin-inline: auto; }
  .hero-media, .sg-hero-image { height: clamp(360px,75vw,500px); }
  .hero-values { display: flex; flex-wrap: nowrap !important; margin-top: 32px; }
  .hero-values > .wp-block-column { flex: 1 1 0 !important; }
  .sg-home-main .hero-values { flex-wrap: wrap !important; gap: 23px; padding-block: 29px; }
  .sg-home-main .hero-values > .wp-block-column { flex: 1 1 180px !important; }
  .service-grid, .sg-service-grid { gap: 16px; display: flex; flex-wrap: wrap !important; }
  .service-grid > .wp-block-column, .sg-service-grid > .wp-block-column { flex: 0 0 calc(50% - 8px) !important; }
  .service-card h3, .sg-service-card h3 { font-size: 1.6rem; }
  .split-section, .contact-grid, .sg-contact-grid, .profile-grid, .sg-profile-grid { gap: 36px; }
  .page-intro { padding-block: 54px; }
  .page-intro h1 { font-size: clamp(2.7rem,8.5vw,4rem); }
  .section-intro { margin-bottom: 34px; }
  .portrait-placeholder { min-height: 300px; max-width: 480px; }
  .profile-grid .portrait-placeholder { min-height: 340px; }
  .sg-footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px 28px; }
  .sg-footer-grid > .wp-block-column { min-width: 0; }
  .sg-footer-grid > .wp-block-column:first-child { grid-column: 1 / -1; }
  .sg-footer .sg-footer-description { max-width: 450px; }
  .sg-footer .sg-footer-heading { margin-bottom: 16px; }
  .sg-footer-grid > .wp-block-column:last-child { grid-column: 1 / -1; }
  .sg-footer-grid > .wp-block-column:last-child p { max-width: 350px; }
}

@media (min-width: 600px) and (max-width: 781px) {
  .sg-brand-words .wp-block-site-tagline { display: none; }
  .sg-brand { gap: 8px; }
  .sg-brand-words .wp-block-site-title { font-size: 1.45rem; }
  .sg-brand .wp-block-site-logo img { width: 40px; height: 40px; }
  .sg-header-links { gap: 10px; }
  .sg-main-navigation { font-size: .78rem; }
  .sg-main-navigation .wp-block-navigation__container { gap: 14px; }
}

@media (max-width: 599px) {
  :root { --sg-section-space: 54px; }
  .sg-header-main { min-height: 84px; }
  .sg-brand-words .wp-block-site-tagline { letter-spacing: .08em; }
  .sg-brand { gap: 10px; }
  .sg-header-links { margin-left: auto; }
  .hero-copy h1, .sg-hero-copy h1 { font-size: clamp(2.5rem,10.5vw,3.5rem); margin-block: 20px 24px; }
  .eyebrow, .sg-eyebrow { font-size: .62rem; letter-spacing: .14em; gap: 10px; margin-bottom: 20px; }
  .eyebrow::before, .sg-eyebrow::before { flex-basis: 22px; }
  .hero-copy .wp-block-buttons, .sg-hero-copy .wp-block-buttons { gap: 12px; }
  .hero-copy .wp-block-button__link, .sg-hero-copy .wp-block-button__link { padding: 14px 19px; font-size: .85rem; }
  .hero-values { gap: 14px; padding-top: 21px; }
  .hero-values p { font-size: .66rem; }
  .hero-values p strong { font-size: 1.05rem; }
  .sg-home-main .hero-values { flex-direction: column; gap: 22px; }
  .sg-home-main .hero-values > .wp-block-column { flex: 0 0 auto !important; }
  .sg-home-main .hero-values h3 { font-size: 1.2rem; }
  .sg-home-main .hero-values p { font-size: .84rem; }
  .hero-media, .sg-hero-image { height: 395px; border-width: 5px; }
  .service-grid > .wp-block-column, .sg-service-grid > .wp-block-column { flex-basis: 100% !important; }
  .service-card, .sg-service-card { padding: 28px; }
  .service-card h3, .sg-service-card h3 { font-size: 1.8rem; }
  .service-card > p:last-child, .sg-service-card > p:last-child { margin-top: 20px; }
  .service-card .service-number, .service-card .sg-icon, .sg-service-card .sg-icon,
  .service-card > p:first-child, .sg-service-card > p:first-child { margin-bottom: 18px; }
  .section-intro h2, .sg-section-heading h2 { font-size: 2.45rem; }
  .page-intro h1 { font-size: clamp(2.7rem,11.3vw,3.5rem); }
  .page-intro p:not(.eyebrow) { font-size: 1rem; }
  .price-table table, .sg-price-table table { font-size: .85rem; }
  .price-table th, .sg-price-table th { padding: 15px 12px; font-size: .65rem; letter-spacing: .03em; }
  .price-table td, .sg-price-table td { padding: 19px 12px; }
  .price-table table, .sg-price-table table { min-width: 380px; }
  .contact-card, .sg-contact-card, .samagati-contact-form, .sg-contact-form { padding: 24px; }
  .wp-block-details summary { font-size: .98rem; }
  .wp-block-details > p { font-size: .9rem; padding-right: 0; }
  .sg-footer { padding-top: 48px; }
  .sg-footer-grid { margin-bottom: 36px; }
  .sg-footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
  .sg-footer-bottom p { font-size: .65rem; }
  .portrait-placeholder { min-height: 280px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* A five-page progression from deep violet to pale lavender. Palette presets
   remain available in the WordPress Site Editor and in the block editor. */
:root {
  --sg-green: var(--wp--preset--color--green, #496532);
  --sg-heading: var(--wp--preset--color--green-heading, #385b31);
  --sg-bright-green: var(--wp--preset--color--green-bright, #c9e4a0);
  --sg-deep-green: var(--wp--preset--color--green-deep, #224222);
  --sg-page-shade: var(--wp--preset--color--violet-contact, #ece0f3);
  --sg-page-end: color-mix(in srgb, var(--sg-page-shade) 92%, white);
  --sg-gradient-mix: white;
  --sg-intro-heading: var(--sg-deep-green);
  --sg-intro-copy: #403249;
  --sg-intro-button-bg: var(--sg-green);
  --sg-intro-button-fg: #fff;
  --sg-page-bg: #faf7fc;
  --sg-page-soft: #f4edf8;
}
.sg-tone-home { --sg-page-shade: var(--wp--preset--color--violet-home, #43234f); }
.sg-tone-services { --sg-page-shade: var(--wp--preset--color--violet-services, #725083); }
.sg-tone-about { --sg-page-shade: var(--wp--preset--color--violet-about, #b99bc9); }
.sg-tone-pricing { --sg-page-shade: var(--wp--preset--color--violet-pricing, #d7c2e3); }
.sg-tone-contact { --sg-page-shade: var(--wp--preset--color--violet-contact, #ece0f3); }
.sg-tone-home, .sg-tone-services {
  --sg-gradient-mix: black;
  --sg-intro-heading: var(--sg-bright-green);
  --sg-intro-copy: #f2eaf7;
  --sg-intro-button-bg: var(--sg-bright-green);
  --sg-intro-button-fg: var(--sg-deep-green);
}
body[class*="sg-tone-"] {
  --sg-page-end: color-mix(in srgb, var(--sg-page-shade) 92%, var(--sg-gradient-mix));
  --sg-page-bg: color-mix(in srgb, var(--sg-page-shade) 9%, white);
  --sg-page-soft: color-mix(in srgb, var(--sg-page-shade) 18%, white);
  background: var(--sg-page-bg);
}
.sg-main, .wp-block-post-content { background-color: var(--sg-page-bg); }
.section-soft, .sg-soft-section { background: var(--sg-page-soft); }
.wp-block-post-content :is(h1,h2,h3,h4,h5,h6),
.wp-block-post-content :is(h1,h2,h3,h4,h5,h6) a { color: var(--sg-heading); }
.samagati-hero, .sg-hero, .page-intro, .section-purple, .sg-purple-section {
  background: linear-gradient(120deg, var(--sg-page-shade), var(--sg-page-end));
  border-color: color-mix(in srgb, var(--sg-page-shade) 70%, white);
  color: var(--sg-intro-copy);
}
.wp-block-post-content :is(.samagati-hero,.sg-hero,.page-intro,.section-purple,.sg-purple-section) :is(h1,h2,h3,h4,h5,h6),
.wp-block-post-content :is(.samagati-hero,.sg-hero,.page-intro,.section-purple,.sg-purple-section) :is(.eyebrow,.sg-eyebrow) {
  color: var(--sg-intro-heading);
}
.wp-block-post-content :is(.samagati-hero,.sg-hero,.page-intro,.section-purple,.sg-purple-section) :is(p,li,figcaption),
.wp-block-post-content :is(.samagati-hero,.sg-hero,.page-intro,.section-purple,.sg-purple-section) a:not(.wp-block-button__link) {
  color: var(--sg-intro-copy);
}
.wp-block-post-content :is(.samagati-hero,.sg-hero,.page-intro,.section-purple,.sg-purple-section) .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--sg-intro-button-bg);
  border-color: var(--sg-intro-button-bg);
  color: var(--sg-intro-button-fg);
}
.wp-block-post-content :is(.samagati-hero,.sg-hero,.page-intro,.section-purple,.sg-purple-section) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: color-mix(in srgb, var(--sg-intro-button-bg) 90%, white);
  border-color: var(--sg-intro-heading);
}
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.sg-button-secondary .wp-block-button__link {
  color: var(--sg-heading); border-color: var(--sg-green); background: transparent;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.sg-button-secondary .wp-block-button__link:hover {
  color: var(--sg-deep-green); border-color: var(--sg-green); background: #e8eedf;
}
.wp-block-post-content :is(.samagati-hero,.sg-hero,.page-intro,.section-purple,.sg-purple-section) .wp-block-button.is-style-outline .wp-block-button__link {
  color: var(--sg-intro-heading); border-color: var(--sg-intro-heading); background: transparent;
}
.wp-block-post-content :is(.samagati-hero,.sg-hero,.page-intro,.section-purple,.sg-purple-section) .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: color-mix(in srgb, var(--sg-page-shade) 78%, white);
}
.wp-block-button.is-style-soft .wp-block-button__link { background: #e8eedf; color: var(--sg-deep-green); border-color: #c1d4a8; }
.wp-block-details summary, .price-table th, .sg-price-table th,
.price-table td:first-child, .sg-price-table td:first-child,
.service-card a, .sg-service-card a { color: var(--sg-heading); }
.sg-footer .sg-footer-heading { color: var(--sg-bright-green); }
.sg-header { background: #faf6fc; }

/* Fixed, out-of-focus foreground. Only the decorative images are blurred. */
.wp-site-blocks { position: relative; isolation: isolate; }
.sg-botanical-edges {
  --sg-leaf-peek: clamp(32px, calc((100vw - 1180px) / 2 - 7px), 180px);
  --sg-leaf-safe: clamp(20px, calc((100vw - 1180px) / 2 - 10px), 190px);
  --sg-leaf-width: clamp(260px, 26vw, 420px);
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none !important;
  height: 100vh;
  height: 100dvh;
  margin: 0 !important;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  z-index: 5;
  -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(var(--sg-leaf-safe) * .88), transparent var(--sg-leaf-safe), transparent calc(100% - var(--sg-leaf-safe)), #000 calc(100% - var(--sg-leaf-safe) * .88), #000 100%);
  mask-image: linear-gradient(to right, #000 0, #000 calc(var(--sg-leaf-safe) * .88), transparent var(--sg-leaf-safe), transparent calc(100% - var(--sg-leaf-safe)), #000 calc(100% - var(--sg-leaf-safe) * .88), #000 100%);
}
.sg-botanical-edges > .sg-botanical-leaf {
  --sg-leaf-blur: 3px;
  --sg-leaf-rotation: 0deg;
  position: absolute;
  width: var(--sg-leaf-width);
  max-width: none;
  margin: 0 !important;
  opacity: .95;
  pointer-events: none;
}
.sg-botanical-edges .sg-botanical-leaf img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: blur(var(--sg-leaf-blur)) saturate(1.08) brightness(1.08);
}
.sg-botanical-edges .sg-botanical-species-fern img {
  filter: blur(calc(var(--sg-leaf-blur) * .55)) saturate(1.08) brightness(1.08);
}
.sg-botanical-edges > .sg-botanical-leaf-left {
  left: calc(var(--sg-leaf-peek) - var(--sg-leaf-width));
  transform: rotate(var(--sg-leaf-rotation));
}
.sg-botanical-edges > .sg-botanical-leaf-right {
  right: calc(var(--sg-leaf-peek) - var(--sg-leaf-width));
  transform: scaleX(-1) rotate(var(--sg-leaf-rotation));
}
.sg-botanical-edges > .sg-botanical-leaf-top {
  top: -160px;
  --sg-leaf-rotation: -12deg;
  --sg-leaf-blur: 3px;
}
.sg-botanical-edges > .sg-botanical-leaf-middle {
  top: calc(50% - 210px);
  --sg-leaf-width: clamp(230px, 22vw, 350px);
  --sg-leaf-rotation: 16deg;
  --sg-leaf-blur: 2px;
  opacity: .92;
}
.sg-botanical-edges > .sg-botanical-leaf-bottom {
  bottom: -180px;
  --sg-leaf-width: clamp(300px, 30vw, 470px);
  --sg-leaf-rotation: -7deg;
  --sg-leaf-blur: 4px;
  opacity: .97;
}
.sg-botanical-edges > .sg-botanical-leaf-right.sg-botanical-leaf-top { top: -80px; }
.sg-botanical-edges > .sg-botanical-leaf-right.sg-botanical-leaf-middle { top: calc(50% - 270px); --sg-leaf-rotation: 7deg; }
.sg-botanical-edges > .sg-botanical-leaf-right.sg-botanical-leaf-bottom { bottom: -230px; --sg-leaf-rotation: 11deg; }
/* A saved older footer decoration must not create a second fixed overlay. */
.sg-footer .sg-botanical-edges { display: none; }

/* The decoration is selectable as ordinary image blocks in the Site Editor. */
.editor-styles-wrapper .sg-botanical-edges {
  position: relative;
  inset: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  height: auto;
  min-height: 180px;
  z-index: auto;
  pointer-events: auto;
  user-select: auto;
  -webkit-mask-image: none;
  mask-image: none;
}
.editor-styles-wrapper .sg-botanical-edges > .sg-botanical-leaf {
  position: relative;
  inset: auto;
  width: 100px;
  transform: none;
  pointer-events: auto;
  opacity: 1;
}
.editor-styles-wrapper .sg-botanical-edges .sg-botanical-leaf img { filter: blur(2px); }
.editor-styles-wrapper .sg-footer .sg-botanical-edges { display: flex; }

@media (max-width: 781px) {
  .sg-botanical-edges {
    --sg-leaf-peek: 40px;
    --sg-leaf-safe: 20px;
  }
  .sg-botanical-edges > .sg-botanical-leaf { --sg-leaf-width: 230px; --sg-leaf-blur: 2px; opacity: .92; }
  .sg-botanical-edges > .sg-botanical-leaf-top { top: -120px; }
  .sg-botanical-edges > .sg-botanical-leaf-middle { display: none; }
  .sg-botanical-edges > .sg-botanical-leaf-bottom { bottom: -100px; --sg-leaf-width: 290px; --sg-leaf-blur: 3px; }
  .sg-botanical-edges > .sg-botanical-leaf-right.sg-botanical-leaf-top { top: -70px; }
  .sg-botanical-edges > .sg-botanical-leaf-right.sg-botanical-leaf-bottom { bottom: -160px; }
  .editor-styles-wrapper .sg-botanical-edges > .sg-botanical-leaf-middle { display: block; }
}

@media print {
  .sg-header, .sg-footer, .sg-botanical-edges, .wp-block-buttons, .samagati-contact-form, .sg-contact-form { display: none !important; }
  .sg-section { padding-block: 22px; }
  .samagati-hero, .sg-hero, .page-intro, .section-soft, .section-purple { background: #fff; color: #000; }
  .section-purple :is(h1,h2,h3,p,li) { color: #000; }
  a { color: inherit; }
  .hero-media, .sg-hero-image { max-height: 300px; box-shadow: none; }
  .wp-block-column { break-inside: avoid; }
}

/* 2.0 — an editorial rhythm, native blocks and the original brand palette. */
:root { --sg-section-space: clamp(76px,8vw,120px); }
.sg-header { background: #fbf8fc; border-bottom: 1px solid rgba(81,48,100,.09); }
.sg-header-main { min-height: 96px; padding-block: 16px; }
.sg-brand { gap: 12px; }
.sg-brand .wp-block-site-logo img { width: 58px; height: 58px; }
.sg-main-navigation .wp-block-navigation-item__content { padding: 9px 0; }
.sg-main-navigation .current-menu-item > .wp-block-navigation-item__content { color: var(--sg-green); }
.wp-block-button .wp-block-button__link { border-radius: 999px; padding: 16px 27px; transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease; }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(25,40,20,.12); }
.wp-block-button.is-style-outline .wp-block-button__link { border-radius: 999px; padding: 16px 27px; }
.sg-header-cta .wp-block-button__link { padding: 13px 21px; }
.eyebrow { font-size: .66rem; letter-spacing: .18em; }
.section-intro { margin-bottom: 48px; }
.section-intro h2 { letter-spacing: -.045em; }
.samagati-hero {
  padding-block: 54px 70px;
  background: radial-gradient(ellipse at 72% 16%,rgba(175,126,191,.25),transparent 56%),linear-gradient(120deg,var(--sg-page-shade),var(--sg-page-end));
  border: 0;
}
.samagati-hero::after { width: 730px; height: 730px; right: -410px; bottom: -500px; border-color: rgba(224,211,231,.35); }
.hero-grid { gap: 56px; }
.hero-grid > .wp-block-column:first-child { flex-basis: 56%; }
.hero-grid > .wp-block-column:last-child { flex-basis: 44%; }
.hero-copy { padding-block: 18px; }
.hero-copy .eyebrow { margin-bottom: 26px; }
.wp-block-post-content .samagati-hero .hero-copy h1 {
  font-size: clamp(3.5rem,5.9vw,5.7rem); line-height: 1.04; letter-spacing: -.055em;
  margin-block: 24px 28px; max-width: 690px; color: #f8f1fa;
}
.hero-copy h1 em { color: var(--sg-bright-green); font-weight: 500; font-style: normal; }
.hero-copy > p.intro-text { max-width: 420px; font-size: 1rem; line-height: 1.85; }
.hero-copy .wp-block-buttons { margin-top: 34px; gap: 12px; }
.hero-copy .wp-block-button:first-child .wp-block-button__link::after,
.cta-section .wp-block-button:first-child .wp-block-button__link::after { content: '↗'; display: inline-block; margin-left: 22px; font-size: 1.1em; }
.hero-copy .wp-block-button.is-style-outline .wp-block-button__link { border-color: rgba(228,221,233,.5); color: #f7f0fa; }
.hero-copy > p.hero-signature { margin-top: 32px; font-size: 1rem; opacity: .75; }
.hero-visual { position: relative; padding: 0 0 22px; }
.hero-visual::before { content: ''; position: absolute; inset: -16px 18px 41px -16px; border: 1px solid rgba(222,210,230,.28); border-radius: 200px 200px 28px 28px; pointer-events: none; }
.hero-media { height: clamp(470px,39vw,560px); border: 1px solid rgba(250,246,252,.35); border-radius: 200px 200px 24px 24px; box-shadow: 0 25px 65px rgba(23,11,31,.22); }
.hero-media img { object-fit: cover; object-position: center 44%; transform: none; }
.hero-note { position: absolute; bottom: 0; left: -36px; min-width: 285px; max-width: calc(100% + 10px); padding: 22px 28px; background: #f5f1f7; border: 1px solid rgba(255,255,255,.75); border-radius: 16px; box-shadow: 0 15px 40px rgba(30,15,38,.17); }
.wp-block-post-content .samagati-hero .hero-note .hero-note-title { margin: 0; color: var(--sg-deep-green); font-family: var(--sg-serif); font-size: 1.35rem; line-height: 1.3; letter-spacing: -.025em; }
.wp-block-post-content .samagati-hero .hero-note .hero-note-text { margin: 7px 0 0; color: #786982; font-size: .72rem; line-height: 1.5; }
.sg-home-main .values-section { background: #ebe4f0; padding-block: 0; }
.sg-home-main .hero-values { padding-block: 31px; border: 0; gap: 40px; }
.sg-home-main .hero-values > .wp-block-column { border-left: 1px solid #d3c6dc; padding-left: 23px; }
.sg-home-main .hero-values h3 { font-size: 1.24rem; }
.sg-home-main .hero-values p { font-size: .8rem; max-width: 260px; line-height: 1.7; }
.sg-home-main .services-section > .alignwide { display: grid; grid-template-columns: .8fr 1.5fr; gap: clamp(35px,5vw,70px); align-items: start; }
.sg-home-main .services-section .section-intro { margin-bottom: 0; padding-top: 13px; }
.sg-home-main .services-section .section-intro h2 { font-size: clamp(2.7rem,3.5vw,3.3rem); }
.service-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 0; }
.service-grid > .service-card { display: flex; flex-direction: column; min-width: 0; min-height: 275px; padding: 28px 29px 24px; background: #eee5f3; border: 1px solid #e3d7e9; border-radius: 18px; box-shadow: none; transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.service-grid > .service-card:nth-child(2),.service-grid > .service-card:nth-child(3) { background: #eaf0e2; border-color: #dfe6d6; }
.service-grid > .service-card:hover { transform: translateY(-5px); box-shadow: 0 15px 32px rgba(55,39,67,.07); border-color: #b8a5c4; }
.service-grid > .service-card > p.service-number { width: auto; min-height: 0; justify-content: flex-start; border: 0; background: transparent !important; border-radius: 0; margin: 0 0 24px; font-family: var(--sg-sans); font-size: .7rem; font-weight: 500; letter-spacing: .12em; color: #75607f; }
.service-card h3 { margin: 0 0 12px; font-size: clamp(1.7rem,2.4vw,2.2rem); }
.service-card p:not(.service-number) { margin-block: 0 17px; font-size: .84rem; line-height: 1.7; }
.service-card > .text-link { margin-top: auto !important; padding-top: 8px; margin-bottom: 0 !important; }
.service-card .text-link a { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--sg-deep-green); font-size: .77rem; }
.service-card .text-link a span { display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid #b8c5ab; border-radius: 50%; font-size: 1rem; transition: background .2s ease,color .2s ease; }
.service-card:hover .text-link a span { background: var(--sg-green); border-color: var(--sg-green); color: white; }
.sg-home-main .about-visual { position: relative; padding: 40px; }
.sg-home-main .about-visual::before { content: ''; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(ellipse at 50% 45%,#fbf8fc 10%,#e3d7ec 66%,transparent 67%); }
.sg-home-main .brand-image { position: relative; max-width: 340px; }
.sg-home-main .about-copy p { max-width: 490px; }
.sg-home-main .about-copy > p:nth-last-of-type(1) { padding-top: 19px; border-top: 1px solid #d2c2dc; color: var(--sg-purple-dark); font-size: .92rem; }
.sg-home-main .first-visit-section .section-intro { max-width: 760px; }
.steps-grid { gap: 42px; }
.steps-grid > .wp-block-column { position: relative; padding-top: 29px; border-color: #d2c3dc; }
.steps-grid > .wp-block-column::before { content: ''; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--sg-green); box-shadow: 0 0 0 7px var(--sg-page-bg); }
.steps-grid .step-number { font-size: 2.7rem; line-height: 1; color: #9c84ab; letter-spacing: -.05em; }
.steps-grid h3 { margin-block: 22px 14px; font-size: 1.65rem; }
.steps-grid p:not(.step-number) { font-size: .88rem; }
.cta-section { position: relative; overflow: hidden; padding-block: clamp(76px,8vw,115px); text-align: center; }
.cta-section > .alignwide { position: relative; z-index: 1; }
.cta-section::before,.cta-section::after { content: ''; position: absolute; width: 480px; height: 480px; border: 1px solid color-mix(in srgb,var(--sg-intro-heading) 17%,transparent); border-radius: 50%; pointer-events: none; }
.cta-section::before { left: -320px; top: -160px; }
.cta-section::after { right: -320px; bottom: -160px; }
.cta-section h2 { max-width: 870px; margin-inline: auto; font-size: clamp(2.8rem,5.1vw,4.8rem); line-height: 1.08; letter-spacing: -.045em; }
.cta-section > .alignwide > p { max-width: 550px; margin: 25px auto 0; font-size: .96rem; }
.cta-section .wp-block-buttons { justify-content: center; margin-top: 32px; }
@media (min-width:782px) and (max-width:1100px) {
  .hero-grid { gap: 40px; }
  .wp-block-post-content .samagati-hero .hero-copy h1 { font-size: clamp(3rem,6vw,4.2rem); }
  .hero-media { height: 480px; }
  .hero-note { min-width: 245px; padding: 19px 22px; left: -20px; }
  .wp-block-post-content .samagati-hero .hero-note .hero-note-title { font-size: 1.2rem; }
  .sg-home-main .services-section > .alignwide { grid-template-columns: 1fr; gap: 32px; }
  .sg-home-main .services-section .section-intro { max-width: 650px; }
  .service-grid { gap: 18px; }
  .service-grid > .service-card { min-height: 255px; }
}
@media (max-width:781px) {
  .sg-header-main { min-height: 88px; padding-block: 15px; }
  .sg-brand .wp-block-site-logo img { width: 49px; height: 49px; }
  .samagati-hero { padding-block: 44px 55px; }
  .hero-grid { gap: 42px; }
  .hero-copy { padding-block: 0; }
  .wp-block-post-content .samagati-hero .hero-copy h1 { max-width: 620px; font-size: clamp(3.3rem,9vw,5.2rem); line-height: 1.03; margin-block: 24px; }
  .hero-copy > p.intro-text { max-width: 470px; font-size: 1rem; }
  .hero-copy > p.hero-signature { margin-top: 26px; font-size: .92rem; }
  .hero-visual { max-width: 500px; width: 100%; margin-inline: auto !important; padding: 0 12px 27px; }
  .hero-visual::before { inset: -12px 24px 44px 0; }
  .hero-media { height: 490px; border-width: 1px; }
  .hero-note { left: 0; bottom: 0; padding: 20px 23px; min-width: 260px; }
  .sg-home-main .hero-values { flex-direction: row !important; gap: 24px; padding-block: 28px; }
  .sg-home-main .hero-values > .wp-block-column { flex: 1 1 0 !important; padding-left: 17px; }
  .sg-home-main .hero-values h3 { font-size: 1.1rem; }
  .sg-home-main .hero-values p { font-size: .74rem; }
  .sg-home-main .services-section > .alignwide { grid-template-columns: 1fr; gap: 32px; }
  .service-grid > .service-card { min-height: 260px; padding: 26px; }
  .service-card h3 { font-size: 1.9rem; }
  .sg-home-main .about-visual { max-width: 450px; width: 100%; margin-inline: auto; padding: 35px; }
  .steps-grid { gap: 35px; }
}
@media (max-width:540px) {
  :root { --sg-section-space: 64px; }
  .sg-header-main { min-height: 82px; }
  .samagati-hero { padding-block: 37px 48px; }
  .hero-copy .eyebrow { font-size: .58rem; letter-spacing: .12em; gap: 10px; }
  .wp-block-post-content .samagati-hero .hero-copy h1 { font-size: clamp(2.9rem,11.2vw,3.7rem); letter-spacing: -.055em; }
  .hero-copy > p.intro-text { font-size: .95rem; line-height: 1.8; }
  .hero-copy .wp-block-buttons { margin-top: 28px; flex-wrap: nowrap; gap: 10px; }
  .hero-copy .wp-block-button .wp-block-button__link { padding: 14px 18px; font-size: .76rem; white-space: nowrap; }
  .hero-copy .wp-block-button:first-child .wp-block-button__link::after { margin-left: 12px; }
  .hero-copy > p.hero-signature { font-size: .88rem; }
  .hero-media { height: 410px; }
  .hero-note { min-width: 240px; max-width: 100%; }
  .wp-block-post-content .samagati-hero .hero-note .hero-note-title { font-size: 1.2rem; }
  .sg-home-main .hero-values { flex-direction: column !important; gap: 22px; }
  .sg-home-main .hero-values > .wp-block-column { flex: auto !important; }
  .sg-home-main .hero-values h3 { font-size: 1.25rem; }
  .sg-home-main .hero-values p { max-width: none; font-size: .8rem; }
  .service-grid { grid-template-columns: 1fr; gap: 14px; }
  .service-grid > .service-card { min-height: 248px; padding: 27px; }
  .service-card h3 { font-size: 2.15rem; }
  .service-card p:not(.service-number) { font-size: .88rem; }
  .service-card .text-link a { font-size: .8rem; }
  .sg-home-main .services-section .section-intro h2 { font-size: 2.65rem; }
  .sg-home-main .about-visual { padding: 23px; }
  .cta-section h2 { font-size: 2.9rem; }
}

/* Editorial refinements for inner pages and the footer. Native blocks remain editable. */
.page-intro {
  position: relative;
  overflow: hidden;
  padding-block: clamp(72px, 7.7vw, 116px) clamp(70px, 7.1vw, 104px);
  background:
    radial-gradient(ellipse at 90% 10%, color-mix(in srgb, var(--sg-page-shade) 62%, white) 0, transparent 64%),
    linear-gradient(120deg, var(--sg-page-shade), var(--sg-page-end));
  border-bottom: 0;
}
.sg-tone-services .page-intro {
  background:
    radial-gradient(ellipse at 90% 10%, color-mix(in srgb, var(--sg-page-shade) 92%, white) 0, transparent 64%),
    linear-gradient(120deg, var(--sg-page-shade), var(--sg-page-end));
}
.page-intro::after {
  content: "";
  position: absolute;
  width: clamp(330px, 41vw, 680px);
  aspect-ratio: 1;
  right: -9%;
  top: -45%;
  border: 1px solid color-mix(in srgb, var(--sg-intro-heading) 22%, transparent);
  border-radius: 50%;
  pointer-events: none;
}
.page-intro > .sg-container,
.page-intro > .alignwide { position: relative; z-index: 1; }
.page-intro h1 {
  font-size: clamp(3.1rem, 5.25vw, 5rem);
  line-height: 1.055;
  letter-spacing: -.055em;
  max-width: 1010px;
  margin-block: 22px 29px;
}
.page-intro p:not(.eyebrow) {
  max-width: 710px;
  font-size: clamp(1rem, 1.18vw, 1.12rem);
  line-height: 1.85;
}
.page-intro .eyebrow { margin-bottom: 0; }

/* The service descriptions read like paired editorial panels. */
.service-detail {
  padding-block: clamp(62px, 6.2vw, 92px);
  border-bottom: 1px solid color-mix(in srgb, var(--sg-page-shade) 15%, white);
}
.service-detail .split-section { align-items: center !important; gap: clamp(34px, 6vw, 88px); }
.service-detail h2 {
  max-width: 540px;
  font-size: clamp(2.45rem, 3.6vw, 3.5rem);
  line-height: 1.09;
  letter-spacing: -.045em;
  margin-block: 20px 25px;
}
.service-detail .wp-block-column > p:not(.eyebrow) { max-width: 570px; line-height: 1.9; }
.service-detail-card {
  padding: clamp(30px, 4vw, 54px);
  border: 1px solid color-mix(in srgb, var(--sg-page-shade) 17%, white);
  border-radius: 18px 18px 48px 18px;
  background: color-mix(in srgb, var(--sg-page-bg) 15%, white);
  box-shadow: 0 18px 50px rgba(60, 36, 73, .035);
}
.service-detail-card h3 { font-size: clamp(1.55rem, 2.05vw, 2rem); letter-spacing: -.035em; line-height: 1.2; }
.service-detail-card p { line-height: 1.85; font-size: .95rem; }
.service-detail-card .wp-block-buttons { margin-top: 30px; gap: 12px; }
.service-detail-card .wp-block-button__link { padding-inline: 22px; font-size: .84rem; }

/* A single, clearly identified team profile instead of a sparse gallery. */
.therapist-card, .sg-team-card {
  padding: clamp(25px, 3.4vw, 48px);
  border-color: #ded7e4;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(60, 36, 73, .035);
}
.therapist-card > .split-section { gap: clamp(34px, 5vw, 75px); }
.therapist-card .therapist-portrait { flex-basis: 38% !important; }
.therapist-card .therapist-info { flex-basis: 62% !important; padding-block: 16px; }
.therapist-card h3, .sg-team-card h3 { font-size: clamp(2rem, 3.3vw, 3.2rem); line-height: 1.12; letter-spacing: -.05em; margin-block: 0 15px; }
.therapist-card .therapist-role { color: var(--sg-heading); font-size: .84rem; line-height: 1.8; margin-bottom: 27px; }
.therapist-card .therapist-info > p:not(.therapist-role) { max-width: 490px; line-height: 1.85; }
.therapist-card .wp-block-buttons { margin-top: 28px; }
.portrait-placeholder {
  position: relative;
  isolation: isolate;
  min-height: 330px;
  border-radius: 46% 46% 14px 14px;
  background: radial-gradient(ellipse at 75% 18%, #e1e9d8, transparent 70%), linear-gradient(145deg, #f5eff7, #e4d9eb);
  border: 1px solid #e0d9e5;
}
.portrait-placeholder::before {
  content: "";
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(103, 75, 119, .12);
  border-radius: inherit;
  z-index: -1;
  pointer-events: none;
}
.portrait-placeholder .portrait-monogram { font-size: clamp(5rem, 8vw, 7rem); letter-spacing: -.075em; color: #6a4b79; }
.portrait-placeholder > p:not(.portrait-monogram) { max-width: 210px; font-size: .72rem; line-height: 1.7; color: #675d6d; }
.therapist-card .portrait-placeholder { min-height: 330px; }
.sg-tone-about .profile-details h2 { margin-top: 42px; font-size: clamp(1.9rem, 2.7vw, 2.6rem); letter-spacing: -.035em; }
.sg-tone-about .profile-details h2:first-child { margin-top: 0; }
.profile-details .editorial-note { max-width: 810px; padding-block: 9px; }

/* Native price tables keep their ordinary row and column editing. */
.price-table, .sg-price-table {
  margin-block: 35px;
  border: 1px solid #dfd6e5;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(60, 36, 73, .025);
}
.price-table table, .sg-price-table table { margin: 0; font-size: .96rem; }
.price-table th, .sg-price-table th { padding: 23px 28px; background: #eee5f3; border-bottom-color: #ded2e7; letter-spacing: .11em; font-size: .69rem; }
.price-table td, .sg-price-table td { padding: 29px 28px; border-bottom-color: #e9e2ed; line-height: 1.7; }
.price-table td:first-child, .sg-price-table td:first-child { font-size: 1.12rem; font-weight: 500; }
.price-table td:first-child a, .sg-price-table td:first-child a { text-decoration: none; }
.price-table td:first-child a:hover, .sg-price-table td:first-child a:hover { text-decoration: underline; }
.price-table tbody tr:nth-child(even), .sg-price-table tbody tr:nth-child(even) { background: #faf8fc; }
.price-table tbody tr:last-child td, .sg-price-table tbody tr:last-child td { border-bottom: 0; }
.price-table td:last-child, .sg-price-table td:last-child { color: var(--sg-heading); font-weight: 600; }
.price-table figcaption, .sg-price-table figcaption { padding: 0 28px 18px; }

/* Match both the existing block classes and their descriptive aliases. */
.contact-grid, .sg-contact-grid { gap: clamp(40px, 6.2vw, 88px); align-items: flex-start !important; }
.contact-grid > :is(.contact-info, .contact-aside) { flex-basis: 43% !important; padding-top: 12px; }
.contact-grid > :is(.contact-form-card, .contact-form-wrap) { flex-basis: 57% !important; }
:is(.contact-info, .contact-aside) h2 { font-size: clamp(2.6rem, 4vw, 3.65rem); letter-spacing: -.05em; line-height: 1.05; margin-block: 21px 24px; }
:is(.contact-info, .contact-aside) > p:not(.eyebrow) { max-width: 440px; line-height: 1.85; }
.samagati-contact-details { margin-top: 35px; gap: 22px; }
.samagati-contact-details > div { padding-bottom: 22px; border-bottom-color: #ded6e4; }
.samagati-contact-details dt { color: var(--sg-heading); font-size: .67rem; letter-spacing: .12em; margin-bottom: 8px; }
.samagati-contact-details dd { color: var(--sg-ink); font-size: 1.02rem; line-height: 1.7; }
:is(.contact-info, .contact-aside) .editorial-note { margin-top: 30px; font-size: .79rem; }
:is(.contact-form-card, .contact-form-wrap) {
  border: 1px solid #e2dbe7;
  border-radius: 20px 20px 44px 20px;
  padding: clamp(28px, 3.5vw, 48px);
  background: #fff;
  box-shadow: 0 20px 60px rgba(60, 36, 73, .035);
}
:is(.contact-form-card, .contact-form-wrap) > h2 { font-size: clamp(2rem, 2.6vw, 2.65rem); letter-spacing: -.045em; line-height: 1.12; margin-block: 0 21px; }
:is(.contact-form-card, .contact-form-wrap) > p { font-size: .88rem; line-height: 1.85; }
:is(.contact-form-card, .contact-form-wrap) .samagati-contact-form { background: transparent; border: 0; box-shadow: none; border-radius: 0; padding: 0; margin-top: 25px; }
:is(.contact-form-card, .contact-form-wrap) .samagati-contact-form :is(input:not([type=checkbox]):not([type=hidden]), select, textarea) { background: #faf8fb; border-color: #ddd3e4; border-radius: 8px; padding: 14px 15px; }
:is(.contact-form-card, .contact-form-wrap) .samagati-contact-form label { color: #4b3d54; font-size: .8rem; }
:is(.contact-form-card, .contact-form-wrap) .samagati-contact-form button[type=submit] { border-radius: 100px; padding: 15px 26px; }
.samagati-form-unavailable { margin-top: 25px; background: #f6f1f8; border-color: #dfd6e5; border-radius: 12px; padding: 23px 25px; font-size: .88rem; line-height: 1.8; }

/* More breathing room for questions without adding extra interface elements. */
.faq-section .wp-block-details { border-bottom: 1px solid #ddd3e4; padding-block: 25px; margin-block: 0; }
.faq-section .wp-block-details:first-of-type { border-top: 1px solid #ddd3e4; }
.faq-section .wp-block-details summary { font-size: 1rem; font-weight: 550; line-height: 1.65; padding-right: 38px; }
.faq-section .wp-block-details summary::after { top: -.18em; right: 2px; }
.faq-section .wp-block-details > p { max-width: 780px; font-size: .92rem; line-height: 1.9; margin-block: 16px 3px; }

/* A quiet, spacious end to the page, using the existing editable content. */
.sg-footer {
  padding-block: clamp(66px, 7vw, 100px) 27px;
  background: radial-gradient(ellipse at 0 0, #4e345c, transparent 70%), #2c1c36;
  border-top: 1px solid #66526e;
}
.sg-footer-grid { gap: clamp(28px, 3.5vw, 50px); margin-bottom: clamp(48px, 6vw, 80px); }
.sg-footer .wp-block-site-title { font-size: clamp(2.7rem, 3.7vw, 3.55rem); letter-spacing: -.06em; line-height: 1.05; margin-bottom: 17px; }
.sg-footer .sg-footer-tagline { color: #ccddb3; font-size: 1.3rem; margin-block: 0 20px; }
.sg-footer .sg-footer-description { max-width: 290px; line-height: 1.95; font-size: .82rem; color: #d1c4d8; }
.sg-footer .sg-footer-heading { color: var(--sg-bright-green); font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; line-height: 1.8; margin-bottom: 25px; }
.sg-footer .sg-footer-menu li { font-size: .82rem; line-height: 1.75; margin-bottom: 13px; }
.sg-footer .sg-footer-menu a { color: #e4dbe9; }
.sg-footer .sg-footer-contact-link { margin-top: 26px; }
.sg-footer .sg-footer-contact-link a { display: inline-flex; gap: 12px; align-items: center; color: #d2e6b8; border-bottom-color: #8f9e80; padding-bottom: 9px; }
.sg-footer .sg-footer-contact-link span { margin-left: 0; }
.sg-footer-bottom { border-top-color: #604a6b; padding-top: 24px; }
.sg-footer-bottom p { line-height: 1.7; color: #c5b5ce; }

@media (max-width: 960px) and (min-width: 782px) {
  .service-detail-card { padding: 30px; }
  .service-detail-card .wp-block-buttons { flex-direction: column; align-items: flex-start; }
  .contact-grid, .sg-contact-grid { gap: 32px; }
  :is(.contact-form-card, .contact-form-wrap) { padding: 29px; }
  .sg-footer-grid { gap: 28px; }
}
@media (max-width: 781px) {
  .page-intro { padding-block: 64px 69px; }
  .page-intro h1 { font-size: clamp(2.7rem, 8.1vw, 4.2rem); margin-block: 22px 25px; }
  .page-intro p:not(.eyebrow) { font-size: 1rem; }
  .page-intro::after { right: -35%; top: -36%; opacity: .75; }
  .service-detail { padding-block: 57px; }
  .service-detail .split-section { gap: 29px; }
  .service-detail h2 { font-size: clamp(2.35rem, 6.5vw, 3.3rem); }
  .service-detail-card { border-radius: 16px 16px 34px 16px; }
  .therapist-card > .split-section { gap: 29px; }
  .therapist-card .portrait-placeholder { max-width: 420px; margin-inline: auto; min-height: 340px; }
  .therapist-card .therapist-info { padding-block: 0 3px; }
  .therapist-card .therapist-role { margin-bottom: 22px; }
  .contact-grid, .sg-contact-grid { gap: 36px; }
  .contact-grid > :is(.contact-info, .contact-aside) { padding-top: 0; }
  .contact-grid > :is(.contact-info, .contact-aside),
  .contact-grid > :is(.contact-form-card, .contact-form-wrap) { flex-basis: 100% !important; }
  :is(.contact-info, .contact-aside) > p:not(.eyebrow) { max-width: 600px; }
  .sg-footer .sg-footer-description { max-width: 460px; }
  .sg-footer .sg-footer-heading { margin-bottom: 18px; }
  .sg-footer-grid { row-gap: 35px; margin-bottom: 44px; }
}
@media (max-width: 599px) {
  .page-intro { padding-block: 54px 59px; }
  .page-intro h1 { font-size: clamp(2.5rem, 10.4vw, 3.5rem); letter-spacing: -.05em; }
  .service-detail h2 { font-size: clamp(2.2rem, 8.5vw, 3rem); }
  .service-detail-card { padding: 26px; }
  .service-detail-card .wp-block-buttons { align-items: flex-start; flex-direction: column; gap: 12px; }
  .service-detail-card .wp-block-button__link { font-size: .82rem; }
  .therapist-card, .sg-team-card { padding: 22px; border-radius: 16px; }
  .therapist-card .portrait-placeholder { min-height: 280px; }
  .therapist-card h3 { font-size: 2.2rem; }
  .therapist-card .therapist-role { font-size: .79rem; }
  .price-table, .sg-price-table { border-radius: 12px; }
  .price-table table, .sg-price-table table { font-size: .82rem; min-width: 380px; }
  .price-table th, .sg-price-table th { padding: 18px 14px; font-size: .62rem; letter-spacing: .035em; }
  .price-table td, .sg-price-table td { padding: 23px 14px; }
  .price-table td:first-child, .sg-price-table td:first-child { font-size: 1rem; }
  :is(.contact-form-card, .contact-form-wrap) { padding: 25px 22px; border-radius: 16px 16px 32px 16px; }
  .samagati-form-unavailable { padding: 19px; }
  .faq-section .wp-block-details { padding-block: 22px; }
  .faq-section .wp-block-details summary { font-size: .95rem; }
  .faq-section .wp-block-details > p { font-size: .88rem; }
  .sg-footer { padding-top: 56px; }
  .sg-footer .wp-block-site-title { font-size: 2.8rem; }
  .sg-footer .sg-footer-heading { font-size: .65rem; letter-spacing: .07em; }
  .sg-footer .sg-footer-menu li { font-size: .78rem; }
}

/* 2.5 — a quiet, complete business card while the Wadowice practice is prepared. */
.sg-preopening-header .sg-header-main { min-height: 96px; }
.sg-preopening-header .sg-header-links { gap: clamp(22px, 3vw, 40px); }
.sg-preopening-header .sg-main-navigation .wp-block-navigation__container { gap: clamp(22px, 2.6vw, 36px); }
.sg-preopening-header .sg-header-cta .wp-block-button__link { padding-inline: 24px; }

.sg-preopening-home { margin-block: 0; }

/* The opening announcement is an editable, full-width strip directly below the menu. */
.sg-opening-banner {
  position: relative;
  margin-block: 0 !important;
  padding: 22px 24px;
  border-block: 1px solid #c0d3a8;
  background: linear-gradient(100deg, #d0e2b8, #e9f1dd 50%, #d0e2b8);
  color: #42264f;
}
.sg-opening-banner .sg-opening-banner-text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(12px, 2.4vw, 30px);
  margin: 0;
  color: #42264f;
  font-family: var(--sg-sans);
  font-size: clamp(1.45rem, 3vw, 2.3rem);
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.025em;
}
.sg-opening-banner-text::before,
.sg-opening-banner-text::after {
  content: "";
  display: block;
  width: clamp(14px, 5vw, 70px);
  height: 1px;
  flex-shrink: 0;
  background: #91ac73;
}
@media (max-width: 540px) {
  .sg-opening-banner { padding-block: 18px; }
}

/* Restore the photographic home composition while the practice is preparing to open. */
.wp-block-post-content .sg-preopening-photo-hero .hero-copy .sg-opening-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: max-content;
  margin-block: 28px 0;
  padding: 8px 15px;
  border: 1px solid rgba(213, 229, 188, .35);
  border-radius: 100px;
  background: rgba(220, 234, 202, .07);
  color: #d2e6b8;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .015em;
  opacity: 1;
}
.sg-preopening-home-reference .values-section { background: #ebe4f0; padding-block: 0; }
.sg-preopening-home-reference .hero-values { margin-block: 0; padding-block: 31px; border: 0; gap: 40px; }
.sg-preopening-home-reference .hero-values > .wp-block-column { border-left: 1px solid #d3c6dc; padding-left: 23px; }
.sg-preopening-home-reference .hero-values h3 { font-size: 1.24rem; margin-block: 0 8px; }
.sg-preopening-home-reference .hero-values p { font-size: .8rem; max-width: 260px; line-height: 1.7; }
@media (max-width:781px) {
  .sg-preopening-home-reference .hero-values { flex-direction: row !important; flex-wrap: nowrap !important; gap: 24px; padding-block: 28px; }
  .sg-preopening-home-reference .hero-values > .wp-block-column { flex: 1 1 0 !important; padding-left: 17px; }
  .sg-preopening-home-reference .hero-values h3 { font-size: 1.1rem; }
  .sg-preopening-home-reference .hero-values p { font-size: .74rem; }
}
@media (max-width:540px) {
  .sg-preopening-photo-hero .hero-copy .wp-block-buttons { flex-wrap: wrap; }
  .sg-preopening-photo-hero .hero-copy .wp-block-button .wp-block-button__link { white-space: normal; }
  .sg-preopening-home-reference .hero-values { flex-direction: column !important; gap: 22px; }
  .sg-preopening-home-reference .hero-values > .wp-block-column { flex: auto !important; }
  .sg-preopening-home-reference .hero-values h3 { font-size: 1.25rem; }
  .sg-preopening-home-reference .hero-values p { max-width: none; font-size: .8rem; }
}

.sg-preopening-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(65px, 7vw, 105px) clamp(70px, 8vw, 120px);
  padding-inline: 24px;
  color: #f2eaf7;
  background: radial-gradient(ellipse at 78% 38%, rgba(166, 117, 185, .26), transparent 56%), linear-gradient(115deg, #492854, #34203f);
}
.sg-preopening-hero > .alignwide,
.sg-preopening-hero > .sg-container {
  width: 100%;
  max-width: 1180px !important;
  margin-inline: auto !important;
}
.sg-preopening-hero .sg-hero-grid { gap: clamp(44px, 6vw, 88px); margin-block: 0; }
.sg-preopening-hero .sg-hero-grid > .wp-block-column:first-child { flex-basis: 57%; }
.sg-preopening-hero .sg-hero-grid > .wp-block-column:last-child { flex-basis: 43%; }
.sg-preopening-hero .sg-hero-copy { padding-block: 0; }
.wp-block-post-content .sg-preopening-hero .sg-hero-copy .eyebrow,
.wp-block-post-content .sg-preopening-hero .sg-hero-copy .sg-eyebrow {
  color: #d7c4df;
  font-size: .63rem;
  letter-spacing: .16em;
  margin-block: 0 23px;
}
.wp-block-post-content .sg-preopening-hero .sg-hero-copy h1 {
  color: var(--sg-bright-green);
  font-size: clamp(2.85rem, 4.35vw, 4rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.052em;
  margin-block: 25px 27px;
  max-width: 650px;
}
.wp-block-post-content .sg-preopening-hero .sg-hero-copy > p:not(.eyebrow):not(.sg-eyebrow):not(.sg-opening-pill) {
  color: #eee4f3;
  font-size: .98rem;
  line-height: 1.85;
  max-width: 480px;
  margin-block: 0 17px;
}
.wp-block-post-content .sg-preopening-hero .sg-opening-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: max-content;
  margin-block: 0;
  padding: 8px 15px;
  border: 1px solid rgba(213, 229, 188, .35);
  border-radius: 100px;
  background: rgba(220, 234, 202, .07);
  color: #d2e6b8;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .015em;
}
.sg-opening-pill::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #c9e4a0;
}
.sg-preopening-hero .sg-hero-copy .wp-block-buttons { margin-top: 29px; gap: 13px; }
.wp-block-post-content .sg-preopening-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--sg-bright-green);
  color: var(--sg-deep-green);
  border-color: var(--sg-bright-green);
}
.wp-block-post-content .sg-preopening-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: #e0eecd;
  border-color: #e0eecd;
}
.wp-block-post-content .sg-preopening-hero .wp-block-button.is-style-outline .wp-block-button__link {
  color: #f3edf7;
  border-color: #a88cb7;
  background: transparent;
}
.wp-block-post-content .sg-preopening-hero .wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: #dfd0e8;
  background: rgba(255, 255, 255, .07);
}
.sg-preopening-visual { position: relative; padding-block: 16px; text-align: center; }
.sg-preopening-visual::before {
  content: "";
  position: absolute;
  inset: 0 -20px 35px;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(218, 192, 231, .14), transparent 67%);
  pointer-events: none;
}
.sg-preopening-home .sg-preopening-visual .brand-image {
  position: relative;
  width: 100%;
  max-width: 365px;
  margin: 0 auto;
}
.sg-preopening-home .sg-preopening-visual .brand-image img { filter: drop-shadow(0 16px 26px rgba(15, 6, 22, .2)); }
.wp-block-post-content .sg-preopening-visual .sg-preopening-caption {
  position: relative;
  color: #d4c0df;
  font-size: .73rem;
  line-height: 1.8;
  letter-spacing: .08em;
  margin: 22px auto 0;
  max-width: 320px;
}
.sg-preopening-note {
  padding-block: clamp(65px, 7vw, 98px);
  padding-inline: 24px;
  border-bottom: 1px solid #e4dae9;
}
.sg-preopening-note > .alignwide { max-width: 1180px !important; margin-inline: auto !important; }
.sg-preopening-note h2 { max-width: 720px; font-size: clamp(2rem, 3.7vw, 3.2rem); letter-spacing: -.045em; margin-block: 0 23px; }
.sg-preopening-note p { max-width: 720px; color: #65566d; font-size: .98rem; line-height: 1.9; }
.sg-preopening-note p:last-child { color: var(--sg-heading); margin-top: 25px; font-weight: 550; font-size: .91rem; }

.sg-preopening-contact .contact-grid { gap: clamp(35px, 6vw, 85px); }
.sg-preopening-contact .contact-grid > .wp-block-column { min-width: 0; }
.sg-preopening-contact .contact-grid > .contact-info { flex-basis: 50% !important; }
.sg-preopening-contact .contact-grid > .sg-preopening-address-card { flex-basis: 50% !important; }
.sg-preopening-contact .contact-info h2 { font-size: clamp(2.2rem, 3vw, 3rem); }
.sg-preopening-contact .samagati-contact-details { margin-top: 27px; }
.sg-preopening-address-card {
  padding: clamp(30px, 4vw, 48px);
  border: 1px solid #ded2e7;
  border-radius: 18px 18px 40px 18px;
  background: #f2eaf6;
}
.sg-preopening-address-card h2 { font-size: clamp(1.85rem, 2.8vw, 2.5rem); letter-spacing: -.04em; line-height: 1.15; margin-block: 0 23px; }
.sg-preopening-address-card p { color: #5e4d68; font-size: .96rem; line-height: 1.85; }
.sg-preopening-address-card .wp-block-buttons { margin-top: 28px; }
.sg-preopening-address-card .wp-block-button__link { font-size: .83rem; padding: 14px 23px; }

.sg-preopening-contact .contact-grid > .contact-info { flex: .85 1 0 !important; }
.sg-preopening-contact .contact-grid > .contact-aside { flex: 1.15 1 0 !important; padding-top: 0; }
.sg-preopening-form-card {
  padding: clamp(24px, 3.3vw, 42px);
  border: 1px solid #dfd3e7;
  border-radius: 20px 20px 38px 20px;
  background: #f5eff8;
  box-shadow: 0 16px 45px #39204408;
}
.sg-preopening-form-card h2 { font-size: clamp(1.9rem, 2.6vw, 2.55rem); margin-block: 16px 22px; line-height: 1.15; }
.sg-preopening-form-card .samagati-form-intro { margin-block: 0 24px; color: #64536e; }
.sg-preopening-form-card .samagati-contact-form input,
.sg-preopening-form-card .samagati-contact-form textarea { font-size: 1rem; }
.sg-preopening-form-card .samagati-contact-form { margin-top: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.sg-preopening-form-card .samagati-contact-form button { width: 100%; min-height: 50px; border-radius: 999px; }
.sg-preopening-form-card .samagati-form-note { font-size: .77rem; line-height: 1.7; }
#samagati-form { scroll-margin-top: 30px; }
@media (max-width: 900px) {
  .sg-preopening-contact .contact-grid { flex-direction: column; gap: 36px; }
  .sg-preopening-contact .contact-grid > :is(.contact-info, .contact-aside) { flex-basis: auto !important; width: 100%; }
}

.sg-preopening-privacy .sg-privacy-content { max-width: 850px !important; margin-inline: auto !important; }
.sg-preopening-privacy .sg-privacy-content h2 { font-size: clamp(1.55rem, 2.4vw, 2rem); margin-block: 36px 15px; letter-spacing: -.025em; }
.sg-preopening-privacy .sg-privacy-content p,
.sg-preopening-privacy .sg-privacy-content li { font-size: .94rem; line-height: 1.9; overflow-wrap: anywhere; }
.sg-preopening-privacy .sg-privacy-content ul { padding-left: 22px; }
.sg-preopening-privacy .sg-privacy-content li + li { margin-top: 8px; }

.sg-preopening-footer { padding-block: 57px 23px; }
.sg-preopening-footer .sg-footer-grid { display: grid; grid-template-columns: 1.35fr 1fr .85fr; gap: clamp(32px, 5vw, 65px); margin-bottom: 43px; }
.sg-preopening-footer .sg-footer-grid > .wp-block-column { min-width: 0; }
.sg-preopening-footer .sg-footer-brand { gap: 12px; margin-bottom: 14px; }
.sg-preopening-footer .sg-footer-brand .wp-block-site-logo img { display: block; width: 52px; height: 52px; object-fit: contain; }
.sg-preopening-footer .sg-footer-brand .wp-block-site-title { margin: 0; font-size: 2.35rem; letter-spacing: -.045em; }
.sg-preopening-footer .sg-footer-tagline { margin-block: 0 15px; font-size: 1rem; }
.sg-preopening-footer .sg-footer-description { max-width: 330px; font-size: .8rem; line-height: 1.85; }
.sg-preopening-footer .sg-footer-heading { margin-block: 7px 23px; }
.sg-preopening-footer .sg-footer-contact { color: #e4dbe9; font-size: .9rem; line-height: 2; font-style: normal; }
.sg-preopening-footer .sg-footer-contact a { display: inline-block; margin-bottom: 7px; font-size: 1.18rem; color: #d2e6b8; }
.sg-preopening-footer .sg-footer-menu li { font-size: .8rem; margin-bottom: 10px; }
.sg-preopening-footer .sg-footer-bottom { padding-top: 20px; }

@media (min-width: 782px) and (max-width: 960px) {
  .sg-preopening-header .sg-header-cta { display: flex !important; }
  .sg-preopening-header .sg-header-links { gap: 22px; }
  .sg-preopening-header .sg-main-navigation .wp-block-navigation__container { gap: 19px; }
  .sg-preopening-header .sg-main-navigation { font-size: .78rem; }
  .sg-preopening-header .sg-header-cta .wp-block-button__link { padding-inline: 18px; font-size: .79rem; }
  .wp-block-post-content .sg-preopening-hero .sg-hero-copy h1 { font-size: 3rem; }
  .sg-preopening-hero .sg-hero-grid { gap: 35px; }
  .sg-preopening-footer .sg-footer-grid { gap: 30px; }
  .sg-preopening-footer .sg-footer-brand .wp-block-site-title { font-size: 1.95rem; }
}
@media (max-width: 781px) {
  .sg-preopening-hero { padding-block: 55px 64px; }
  .sg-preopening-hero .sg-hero-grid { gap: 38px; }
  .sg-preopening-hero .sg-hero-grid > .wp-block-column:first-child,
  .sg-preopening-hero .sg-hero-grid > .wp-block-column:last-child { flex-basis: 100% !important; }
  .wp-block-post-content .sg-preopening-hero .sg-hero-copy h1 { font-size: clamp(2.8rem, 7.5vw, 4rem); max-width: 680px; }
  .wp-block-post-content .sg-preopening-hero .sg-hero-copy > p:not(.eyebrow):not(.sg-eyebrow):not(.sg-opening-pill) { max-width: 580px; }
  .sg-preopening-home .sg-preopening-visual .brand-image { max-width: 275px; }
  .sg-preopening-visual { padding-block: 8px 0; }
  .sg-preopening-visual .sg-preopening-caption { margin-top: 16px; }
  .sg-preopening-contact .contact-grid > .contact-info,
  .sg-preopening-contact .contact-grid > .sg-preopening-address-card { flex-basis: 100% !important; }
  .sg-preopening-footer .sg-footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 30px; }
  .sg-preopening-footer .sg-footer-grid > .wp-block-column:first-child { grid-column: 1 / -1; }
  .sg-preopening-footer .sg-footer-grid > .wp-block-column:last-child { grid-column: auto; }
  .sg-preopening-footer .sg-footer-description { max-width: 460px; }
  .sg-preopening-footer .sg-footer-heading { margin-top: 0; }
}
@media (max-width: 599px) {
  .sg-preopening-header .sg-header-main { min-height: 86px; }
  .sg-preopening-hero { padding-block: 45px 50px; }
  .wp-block-post-content .sg-preopening-hero .sg-hero-copy .eyebrow { font-size: .56rem; letter-spacing: .1em; gap: 9px; }
  .wp-block-post-content .sg-preopening-hero .sg-hero-copy h1 { font-size: clamp(2.6rem, 9.6vw, 3.4rem); line-height: 1.12; margin-block: 24px; }
  .wp-block-post-content .sg-preopening-hero .sg-hero-copy > p:not(.eyebrow):not(.sg-eyebrow):not(.sg-opening-pill) { font-size: .92rem; line-height: 1.85; }
  .sg-preopening-hero .sg-hero-copy .wp-block-buttons { flex-wrap: wrap; gap: 11px; margin-top: 25px; }
  .sg-preopening-hero .sg-hero-copy .wp-block-button__link { padding: 14px 21px; font-size: .83rem; }
  .sg-preopening-home .sg-preopening-visual .brand-image { max-width: 245px; }
  .wp-block-post-content .sg-preopening-visual .sg-preopening-caption { font-size: .66rem; }
  .sg-preopening-note { padding-block: 52px; }
  .sg-preopening-note p { font-size: .92rem; }
  .sg-preopening-address-card { padding: 27px 24px; }
  .sg-preopening-footer { padding-block: 43px 22px; }
  .sg-preopening-footer .sg-footer-grid { grid-template-columns: 1fr; gap: 29px; margin-bottom: 30px; }
  .sg-preopening-footer .sg-footer-grid > .wp-block-column:first-child,
  .sg-preopening-footer .sg-footer-grid > .wp-block-column:last-child { grid-column: auto; }
  .sg-preopening-footer .sg-footer-brand .wp-block-site-title { font-size: 2.2rem; }
  .sg-preopening-footer .sg-footer-heading { margin-bottom: 14px; }
  .sg-preopening-privacy .sg-privacy-content p,
  .sg-preopening-privacy .sg-privacy-content li { font-size: .88rem; }
}
