.sol-home-discovery-page .sol-native-header,.sol-treatment-discovery-page .sol-native-header{position:sticky!important;inset:auto!important;top:var(--sol-admin-offset,0px)!important;background:#333031!important}
.sol-treatment-discovery-page .sol-polish-responsive-hero{padding-top:64px!important;padding-bottom:64px!important;min-height:220px!important}
.sol-treatment-cases,.sol-treatment-directory{scroll-margin-top:190px}
@media(max-width:767px){.sol-treatment-discovery-page .sol-polish-responsive-hero{padding-top:40px!important;padding-bottom:40px!important;min-height:180px!important}}
.sol-discovery-width{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.sol-home{color:#333031;background:#fff;font:400 18px/1.65 "Source Sans Pro",sans-serif}
.sol-home h1,.sol-home h2,.sol-home h3,.sol-discovery-next h2{font-family:Fraunces,Georgia,serif;color:#333031;line-height:1.2;font-weight:600;overflow-wrap:break-word}
.sol-home h1{font-size:clamp(34px,4.2vw,56px);max-width:660px;margin:14px 0 28px}
.sol-home h2,.sol-discovery-next h2{font-size:clamp(28px,3vw,39px);margin:0 0 20px}
.sol-home h3{font-size:24px;margin:0 0 14px}
.sol-home p{margin:0 0 18px}
.sol-home a,.sol-discovery-next a{color:#705719;text-underline-offset:4px}
.sol-home a:hover,.sol-discovery-next a:hover{text-decoration-thickness:2px}
.sol-home a:focus-visible,.sol-home summary:focus-visible,.sol-discovery-next a:focus-visible{outline:3px solid #705719;outline-offset:5px}
.sol-discovery-eyebrow{font:600 15px/1.5 "Source Sans Pro",sans-serif!important;letter-spacing:.11em;text-transform:uppercase;color:#705719;margin-bottom:14px!important}
.sol-home-hero{position:relative;isolation:isolate;min-height:560px;display:flex;align-items:center;background:#eee8df;padding:64px 0}
.sol-home-hero picture{position:absolute;inset:0;z-index:-2;display:block}
.sol-home-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.sol-home-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(248,246,241,.98),rgba(248,246,241,.92) 34%,rgba(248,246,241,.12) 80%)}
.sol-home-hero nav,.sol-home-shortcuts,.sol-home-case-topics{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.sol-home-hero nav a,.sol-home-shortcuts a,.sol-home-case-topics a,.sol-discovery-next nav a{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:10px 20px;border:1px solid #a88d51;text-decoration:none;font:600 17px/1.4 "Source Sans Pro",sans-serif;text-align:center}
.sol-home-hero nav .sol-discovery-primary,.sol-discovery-next nav .sol-discovery-primary{background:#333031;color:#fff;border-color:#333031}
.sol-home-hero nav a:hover,.sol-home-shortcuts a:hover,.sol-home-case-topics a:hover{background:#eae2d3}
.sol-home-hero nav .sol-discovery-primary:hover,.sol-discovery-next nav .sol-discovery-primary:hover{background:#494342;color:#fff}
.sol-home-welcome,.sol-home-services,.sol-home-cases,.sol-home-doctors,.sol-home-offers,.sol-home-reviews,.sol-home-technology{padding:64px 0}
.sol-home-welcome .sol-discovery-width>div{max-width:930px}
.sol-home-welcome .sol-home-address{font-size:16px;margin:22px 0 0}
.sol-home-values{display:flex;flex-wrap:wrap;gap:12px 28px;margin:24px 0 0;padding:0;list-style:none;font-size:16px;font-weight:600}
.sol-home-values li{padding-left:14px;border-left:2px solid #a88d51}
.sol-home-services,.sol-home-doctors,.sol-home-reviews{background:#f7f4ee}
.sol-discovery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.sol-discovery-heading h2{margin:0}
.sol-discovery-heading>a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.sol-home-service-grid,.sol-home-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sol-home-card{min-width:0;border:1px solid #ddd5c7;background:#fff;display:flex;flex-direction:column}
.sol-home-card-photo{display:block;aspect-ratio:872/488;overflow:hidden;background:#e9e4db}
.sol-home-card-photo img{display:block;width:100%;height:100%;object-fit:cover}
.sol-home-card>div{padding:22px;display:flex;flex-direction:column;flex:1}
.sol-home-card h3 a{color:#333031;text-decoration:none}
.sol-home-card h3 a:hover{text-decoration:underline}
.sol-home-card p{font-size:16px;line-height:1.6}
.sol-home-card-more{margin-top:auto;min-height:44px;display:inline-flex;align-items:center;font-weight:600;font-size:16px}
.sol-home-case-topics{margin-top:28px}
.sol-home-lead{max-width:940px}
.sol-home-doctor-grid,.sol-home-offer-grid,.sol-home-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.sol-home-doctor{display:flex;gap:24px;align-items:center;padding:24px;background:#fff;border:1px solid #ddd5c7}
.sol-home-doctor>img{width:42%;height:auto;aspect-ratio:1;object-fit:cover}
.sol-home-doctor>div{min-width:0;flex:1}
.sol-home-doctor p{font-size:15px;line-height:1.45}
.sol-home-doctor a{display:inline-flex;min-height:44px;align-items:center;font-size:16px;font-weight:600}
.sol-home-affiliations{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:36px}
.sol-home-affiliations img{width:auto;height:auto;max-width:150px;max-height:60px;object-fit:contain}
.sol-home-offer-grid article{border:1px solid #c3ab72;padding:30px}
.sol-home-offer-qualifier{font-size:16px}
.sol-home-offer-grid a{display:inline-flex;min-height:44px;align-items:center;font-weight:600}
.sol-home-reviews figure{margin:0 0 24px;padding:28px;background:#fff;border-left:3px solid #a88d51}
.sol-home-reviews blockquote{margin:0;font-style:normal}
.sol-home-reviews figcaption{font-size:15px;font-weight:600}
.sol-home-reviews details{margin:8px 0 24px}
.sol-home-reviews summary{font-size:18px;font-weight:600;cursor:pointer;min-height:48px;padding:12px 0;color:#705719}
.sol-home-reviews details[open] .sol-home-review-grid{margin-top:16px}
.sol-home-technology .sol-discovery-width{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:60px}
.sol-home-technology img{width:100%;height:auto;max-height:400px;object-fit:cover}
.sol-home-technology a{display:inline-flex;min-height:44px;align-items:center;font-weight:600}
.sol-discovery-next{padding:52px 0;background:#eee7d8;color:#333031;font:400 18px/1.65 "Source Sans Pro",sans-serif}
.sol-discovery-next .sol-discovery-width{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.sol-discovery-next p{margin:0}
.sol-discovery-next nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
#sol-home-services{scroll-margin-top:170px}
@media(max-width:979px){.sol-home-service-grid,.sol-home-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sol-home-doctor-grid{grid-template-columns:1fr}.sol-home-doctor>img{max-width:200px}.sol-home-hero:after{background:linear-gradient(90deg,rgba(248,246,241,.98),rgba(248,246,241,.87) 60%,rgba(248,246,241,.35))}}
@media(max-width:679px){.sol-discovery-width{width:calc(100% - 40px)}.sol-home-hero{min-height:480px;padding:44px 0}.sol-home-hero h1{font-size:38px}.sol-home-hero picture img{object-position:65% center}.sol-home-hero:after{background:rgba(248,246,241,.89)}.sol-home-hero nav{align-items:stretch}.sol-home-hero nav a{flex:1 1 220px}.sol-home-welcome,.sol-home-services,.sol-home-cases,.sol-home-doctors,.sol-home-offers,.sol-home-reviews,.sol-home-technology{padding:40px 0}.sol-home-service-grid,.sol-home-case-grid,.sol-home-offer-grid,.sol-home-review-grid{grid-template-columns:1fr}.sol-discovery-heading{align-items:flex-start;flex-direction:column;gap:8px}.sol-home-doctor{flex-direction:column;align-items:flex-start;padding:22px}.sol-home-doctor>img{width:180px}.sol-home-technology .sol-discovery-width,.sol-discovery-next .sol-discovery-width{grid-template-columns:1fr;gap:26px}.sol-home-offer-grid article{padding:24px}.sol-home-shortcuts a{width:100%;justify-content:flex-start}.sol-home-affiliations{gap:24px}.sol-home-affiliations img{max-width:125px}.sol-discovery-next{padding:40px 0}.sol-discovery-next nav a{width:100%}#sol-home-services{scroll-margin-top:95px}}

.sol-editorial-hero{background:#333031;color:#fff;padding:64px 0}.sol-editorial-hero h1{font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);max-width:1000px;margin:12px 0;line-height:1.15}.sol-editorial{padding:56px 0}.sol-editorial-body{max-width:800px;margin:auto;font-family:Source Sans Pro,Arial,sans-serif;font-size:19px;line-height:1.7;color:#000000}.sol-editorial-body h2,.sol-editorial-body h3{font-family:Fraunces,Georgia,serif;line-height:1.25}.sol-editorial-body img{max-width:100%;height:auto;border-radius:8px}.sol-editorial-body .wp-block-button__link{background:#333031;color:#fff;border-radius:4px;padding:12px 24px;display:inline-block}@media(max-width:679px){.sol-editorial-hero{padding:40px 0}.sol-editorial{padding:32px 0}.sol-editorial-body{font-size:18px}}

.sol-treatment-cases,.sol-treatment-directory{padding:48px 0;background:#faf8f3;color:#333031;font:400 18px/1.65 "Source Sans Pro",sans-serif}.sol-treatment-cases h2,.sol-treatment-directory h2,.sol-treatment-directory h3{font-family:Fraunces,Georgia,serif}.sol-treatment-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.sol-treatment-directory-grid>div{padding:24px;background:#fff;border:1px solid #ddd5c7}.sol-treatment-directory h3{font-size:24px;margin:0 0 12px}.sol-treatment-directory ul{margin:0;padding-left:20px}.sol-treatment-directory a,.sol-treatment-services a,.sol-treatment-breadcrumbs a{color:#705719;text-underline-offset:3px}.sol-treatment-directory li a{display:inline-block;padding:7px 0}.sol-treatment-services{display:flex;gap:14px 24px;flex-wrap:wrap;padding-block:24px;font:600 17px/1.5 "Source Sans Pro",sans-serif}.sol-treatment-services a{display:inline-flex;align-items:center;min-height:44px}.sol-treatment-breadcrumbs{background:#faf8f3;color:#333031;border-bottom:1px solid #ddd5c7;font:400 15px/1.5 "Source Sans Pro",sans-serif}.sol-treatment-breadcrumbs ol{list-style:none;display:flex;gap:8px 12px;flex-wrap:wrap;padding-block:14px;margin-block:0}.sol-treatment-breadcrumbs li{min-width:0;overflow-wrap:anywhere}.sol-treatment-breadcrumbs li+li:before{content:"/";padding-right:12px;color:#7c756b}.sol-treatment-breadcrumbs a,.sol-treatment-breadcrumbs span{display:inline-block;padding-block:6px}.sol-treatment-cases a:focus-visible,.sol-treatment-directory a:focus-visible,.sol-treatment-services a:focus-visible,.sol-treatment-breadcrumbs a:focus-visible{outline:3px solid #333031;outline-offset:4px}.sol-inline-icon{vertical-align:-.125em;display:inline-block}@media(max-width:979px){.sol-treatment-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:679px){.sol-treatment-directory-grid{grid-template-columns:1fr}.sol-treatment-cases,.sol-treatment-directory{padding:36px 0}.sol-treatment-directory-grid>div{padding:20px}.sol-treatment-cases .sol-home-case-grid{grid-template-columns:1fr}}

/* Original Agency gold on the native charcoal editorial hero. */
.sol-editorial-hero .sol-discovery-eyebrow{color:#c7a879!important}

/* Homepage presentation only. Existing shared-frame and non-home rules above stay exact. */
.sol-home.sol-prestige-home{background:#f7f4ef;color:#333031;font-size:18px;line-height:1.65}
.sol-home.sol-prestige-home .sol-discovery-width{width:min(1160px,calc(100% - 96px))}
.sol-home.sol-prestige-home h1,.sol-home.sol-prestige-home h2,.sol-home.sol-prestige-home h3{font-weight:400;letter-spacing:-.03em}
.sol-home.sol-prestige-home h1{font-size:clamp(40px,4.6vw,64px);line-height:1.1;max-width:660px;margin:0 0 32px}
.sol-home.sol-prestige-home h2{font-size:clamp(32px,3.3vw,46px);line-height:1.15}
.sol-home.sol-prestige-home h3{font-size:27px;line-height:1.2}
.sol-home.sol-prestige-home .sol-discovery-eyebrow{font-size:12px!important;letter-spacing:.14em;color:#816332;margin-bottom:22px!important}
.sol-home.sol-prestige-home .sol-home-hero{display:block;min-height:0;background:#f7f4ef;padding:72px 0}
.sol-home.sol-prestige-home .sol-home-hero:after{content:none}
.sol-home.sol-prestige-home .sol-home-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:64px;align-items:center}
.sol-home.sol-prestige-home .sol-home-hero-copy{min-width:0}
.sol-home.sol-prestige-home .sol-home-hero nav{gap:14px;align-items:stretch}
.sol-home.sol-prestige-home .sol-home-hero nav a{font-size:16px;font-weight:600;min-height:52px;padding:14px 20px;border-color:#a99b85}
.sol-home.sol-prestige-home .sol-home-hero nav a.sol-discovery-primary{border-color:#333031}
.sol-home.sol-prestige-home .sol-home-portrait{width:100%;max-width:440px;margin:0;justify-self:end;padding:12px 12px 0;border:1px solid #d8d0c7;background:#eee7dd;min-width:0}
.sol-home.sol-prestige-home .sol-home-portrait picture{position:static;inset:auto;z-index:auto;display:block}
.sol-home.sol-prestige-home .sol-home-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;object-position:center;background:#e6e1dc}
.sol-home.sol-prestige-home .sol-home-portrait figcaption{position:static;display:block;margin:12px -12px 0;padding:18px 20px;background:#333031;color:#fff}
.sol-home.sol-prestige-home .sol-home-portrait figcaption strong{display:block;font:400 23px/1.25 Fraunces,Georgia,serif;margin-bottom:6px}
.sol-home.sol-prestige-home .sol-home-portrait figcaption span{display:block;font-size:13px;line-height:1.5;color:#e6d9c6}
.sol-home.sol-prestige-home .sol-home-welcome,.sol-home.sol-prestige-home .sol-home-services,.sol-home.sol-prestige-home .sol-home-cases,.sol-home.sol-prestige-home .sol-home-doctors,.sol-home.sol-prestige-home .sol-home-offers,.sol-home.sol-prestige-home .sol-home-reviews,.sol-home.sol-prestige-home .sol-home-technology{padding:80px 0}
.sol-home.sol-prestige-home .sol-home-welcome{background:#fff;border-block:1px solid #d8d0c7}
.sol-home.sol-prestige-home .sol-home-welcome .sol-discovery-width>div{max-width:860px}
.sol-home.sol-prestige-home .sol-home-welcome .sol-home-shortcuts{margin-top:28px}
.sol-home.sol-prestige-home .sol-home-shortcuts a,.sol-home.sol-prestige-home .sol-home-case-topics a{font-size:16px;border-color:#d8d0c7}
.sol-home.sol-prestige-home .sol-home-values{border-top:1px solid #d8d0c7;padding-top:26px;gap:16px 32px;font-weight:400}
.sol-home.sol-prestige-home .sol-home-services,.sol-home.sol-prestige-home .sol-home-reviews{background:#f7f4ef}
.sol-home.sol-prestige-home .sol-home-cases,.sol-home.sol-prestige-home .sol-home-doctors,.sol-home.sol-prestige-home .sol-home-technology{background:#fff}
.sol-home.sol-prestige-home .sol-discovery-heading{margin-bottom:36px}
.sol-home.sol-prestige-home .sol-home-card{border:1px solid #d8d0c7;box-shadow:none;border-radius:0}
.sol-home.sol-prestige-home .sol-home-card-photo{aspect-ratio:872/489;background:#eee7dd}
.sol-home.sol-prestige-home .sol-home-card-photo img{object-fit:contain;object-position:center}
.sol-home.sol-prestige-home .sol-home-card>div{padding:26px}
.sol-home.sol-prestige-home .sol-home-card h3{font-size:25px;letter-spacing:-.02em}
.sol-home.sol-prestige-home .sol-home-card p{color:#51494a}
.sol-home.sol-prestige-home .sol-home-case-grid{max-width:1100px;margin-inline:auto}
.sol-home.sol-prestige-home .sol-home-doctor-grid{gap:36px;margin-top:36px}
.sol-home.sol-prestige-home .sol-home-doctor{padding:24px;border:1px solid #d8d0c7;background:#f7f4ef;gap:24px}
.sol-home.sol-prestige-home .sol-home-doctor>img{width:42%;height:auto;aspect-ratio:1;object-fit:contain;object-position:center;background:#e6e1dc}
.sol-home.sol-prestige-home .sol-home-doctor h3{font-size:26px}
.sol-home.sol-prestige-home .sol-home-offers{background:#eee7dd}
.sol-home.sol-prestige-home .sol-home-offer-grid article{background:transparent;border:1px solid #c0ad8e;padding:32px}
.sol-home.sol-prestige-home .sol-home-reviews figure{padding:32px;border-left:2px solid #a88d51}
.sol-home.sol-prestige-home .sol-home-reviews blockquote{font-size:20px;line-height:1.6}
.sol-home.sol-prestige-home .sol-home-technology .sol-discovery-width{gap:64px}
.sol-home.sol-prestige-home .sol-home-technology img{object-fit:contain}
.sol-home.sol-prestige-home .sol-discovery-next{background:#e9e0d3;padding:64px 0}
.sol-home.sol-prestige-home a:focus-visible,.sol-home.sol-prestige-home summary:focus-visible{outline:3px solid #705719;outline-offset:5px}
.sol-home.sol-prestige-home #sol-home-services{scroll-margin-top:190px}
@media(max-width:979px){
  .sol-home.sol-prestige-home .sol-discovery-width{width:calc(100% - 64px)}
  .sol-home.sol-prestige-home .sol-home-hero-grid{gap:36px}
  .sol-home.sol-prestige-home h1{font-size:clamp(40px,5.2vw,54px)}
  .sol-home.sol-prestige-home .sol-home-doctor-grid{grid-template-columns:1fr}
}
@media(max-width:679px){
  .sol-home.sol-prestige-home .sol-discovery-width{width:calc(100% - 40px)}
  .sol-home.sol-prestige-home .sol-home-hero{padding:44px 0}
  .sol-home.sol-prestige-home .sol-home-hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .sol-home.sol-prestige-home h1{font-size:40px;line-height:1.12;letter-spacing:-.035em}
  .sol-home.sol-prestige-home .sol-home-hero nav{display:flex;flex-direction:column}
  .sol-home.sol-prestige-home .sol-home-hero nav a{flex:0 1 auto;width:100%;box-sizing:border-box}
  .sol-home.sol-prestige-home .sol-home-portrait{justify-self:center;max-width:360px}
  .sol-home.sol-prestige-home .sol-home-portrait figcaption{padding:16px 18px}
  .sol-home.sol-prestige-home .sol-home-portrait figcaption strong{font-size:21px}
  .sol-home.sol-prestige-home .sol-home-welcome,.sol-home.sol-prestige-home .sol-home-services,.sol-home.sol-prestige-home .sol-home-cases,.sol-home.sol-prestige-home .sol-home-doctors,.sol-home.sol-prestige-home .sol-home-offers,.sol-home.sol-prestige-home .sol-home-reviews,.sol-home.sol-prestige-home .sol-home-technology{padding:48px 0}
  .sol-home.sol-prestige-home .sol-home-card>div{padding:24px}
  .sol-home.sol-prestige-home .sol-home-doctor{align-items:stretch}
  .sol-home.sol-prestige-home .sol-home-doctor>img{width:100%;max-width:230px;align-self:center}
  .sol-home.sol-prestige-home .sol-home-offer-grid article,.sol-home.sol-prestige-home .sol-home-reviews figure{padding:24px}
  .sol-home.sol-prestige-home .sol-discovery-next{padding:48px 0}
  .sol-home.sol-prestige-home #sol-home-services{scroll-margin-top:140px}
}

/* Local service candidate. Every product rule is scoped to the new service wrapper.
   Border-box is part of the proposed component, not a fixture-only global reset. */
#sol-main-content.sol-service-design {
  --sol-surface: #f7f4ef;
  --sol-paper: #fff;
  --sol-ink: #333031;
  --sol-body: #51494a;
  --sol-gold: #816332;
  --sol-line: #d8d0c7;
  --sol-tint: #eee7dd;
  margin: 0;
  padding: 0;
  width: 100%;
  background: var(--sol-surface);
  color: var(--sol-ink);
  overflow-wrap: break-word;
  font: 400 18px/1.65 'Source Sans Pro', Arial, sans-serif;
}
.sol-service-design *, .sol-service-design *::before, .sol-service-design *::after { box-sizing: border-box; }
.sol-service-design .service-width { width: min(1160px, calc(100% - 96px)); margin-inline: auto; }
.sol-service-design h1, .sol-service-design h2, .sol-service-design h3 {
  font-family: Fraunces, Georgia, serif;
  font-weight: 400;
  letter-spacing: -.03em;
  text-transform: none;
  color: var(--sol-ink);
}
.sol-service-design h1 { font-size: clamp(40px, 4.6vw, 64px); line-height: 1.1; margin: 0 0 28px; }
.sol-service-design h2 { font-size: clamp(32px, 3.3vw, 46px); line-height: 1.15; margin: 0 0 24px; }
.sol-service-design h3 { font-size: 27px; line-height: 1.2; margin: 0 0 14px; }
.sol-service-design p { margin: 0 0 20px; color: var(--sol-body); }
.sol-service-design .service-eyebrow { font: 600 12px/1.5 'Source Sans Pro', Arial, sans-serif; letter-spacing: .14em; color: var(--sol-gold); margin-bottom: 22px; }
.sol-service-design .service-lead { font-size: 21px; line-height: 1.5; max-width: 37ch; }
.sol-service-design .service-note { font-size: 15px; line-height: 1.55; margin: 22px 0 0; max-width: 51ch; }
.sol-service-design a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.sol-service-design a:hover { text-decoration-thickness: 2px; }
.sol-service-design a:focus-visible, .sol-service-design summary:focus-visible { outline: 3px solid var(--sol-gold); outline-offset: 5px; }
.sol-service-design [id] { scroll-margin-top: 195px; }
.sol-service-design .service-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 14px; margin: 30px 0 0; }
.sol-service-design .service-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  max-width: 100%;
  padding: 14px 20px;
  border: 1px solid var(--sol-ink);
  background: var(--sol-ink);
  color: #fff;
  font: 600 16px/1.4 'Source Sans Pro', Arial, sans-serif;
  text-decoration: none;
  text-align: center;
  overflow-wrap: anywhere;
}
.sol-service-design .service-button:hover { background: #211f20; text-decoration: none; }
.sol-service-design .service-button-secondary { color: var(--sol-gold); border-color: #a99b85; background: transparent; }
.sol-service-design .service-button-secondary:hover { background: var(--sol-tint); }
.sol-service-design .service-hero { padding: 72px 0; }
.sol-service-design .service-hero-grid { display: grid; grid-template-columns: minmax(0,1.16fr) minmax(0,.84fr); grid-template-areas: 'copy image' 'note image'; align-items: start; column-gap: 64px; }
.sol-service-design .service-hero-copy { grid-area: copy; }
.sol-service-design .service-hero-note { grid-area: note; }
.sol-service-design .service-hero-grid > .service-evidence { grid-area: image; align-self: center; }
.sol-service-design .service-hero-grid > * { min-width: 0; }
.sol-service-design .service-evidence { margin: 0; width: 100%; max-width: 440px; justify-self: end; border: 1px solid var(--sol-line); background: var(--sol-tint); padding: 12px 12px 0; }
.sol-service-design .service-evidence img { display: block; width: 100%; height: auto; aspect-ratio: 1335/749; object-fit: contain; background: #fff; }
.sol-service-design .service-evidence figcaption { margin: 12px -12px 0; padding: 20px; background: var(--sol-ink); color: #fff; }
.sol-service-design .service-evidence .evidence-label { display: block; font-size: 13px; line-height: 1.5; color: #e6d9c6; margin-bottom: 8px; }
.sol-service-design .service-evidence strong { display: block; font: 400 24px/1.25 Fraunces, Georgia, serif; letter-spacing: -.02em; margin-bottom: 18px; }
.sol-service-design .service-evidence a { display: inline-block; min-height: 44px; font-size: 16px; padding-block: 8px; }
.sol-service-design .service-evidence a:focus-visible { outline-color: #e6d9c6; }
.sol-service-design .service-section { padding: 80px 0; border-top: 1px solid var(--sol-line); }
.sol-service-design .service-paper { background: var(--sol-paper); }
.sol-service-design .service-section-head { max-width: 760px; margin-bottom: 38px; }
.sol-service-design .service-section-head p:last-child { margin-bottom: 0; }
.sol-service-design .service-options { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 80px; align-items: start; }
.sol-service-design .service-treatment-list { padding: 0; margin: 0; list-style: none; }
.sol-service-design .service-treatment-list li { padding: 24px 0; border-top: 1px solid var(--sol-line); }
.sol-service-design .service-treatment-list li:first-child { padding-top: 0; border-top: 0; }
.sol-service-design .service-treatment-list li:last-child { padding-bottom: 0; }
.sol-service-design .service-treatment-list p { margin-bottom: 0; }
.sol-service-design .service-philosophy { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 80px; align-items: start; }
.sol-service-design .service-philosophy .philosophy-copy { font-size: 23px; line-height: 1.55; }
.sol-service-design .service-doctors { display: flex; flex-wrap: wrap; gap: 28px; margin: 32px 0 0; padding-top: 28px; border-top: 1px solid var(--sol-line); }
.sol-service-design .service-doctor { display: flex; align-items: center; gap: 16px; min-width: 0; }
.sol-service-design .service-doctor img { display: block; width: 76px; height: 76px; object-fit: contain; background: #e6e1dc; flex: 0 0 auto; }
.sol-service-design .service-doctor strong { display: block; font-weight: 600; font-size: 17px; }
.sol-service-design .service-doctor span { display: block; color: var(--sol-body); font-size: 15px; }
.sol-service-design .service-case-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 80px; align-items: start; }
.sol-service-design .service-case-grid h3 { font-size: 30px; }
.sol-service-design details { border-block: 1px solid var(--sol-line); }
.sol-service-design details + details { border-top: 0; }
.sol-service-design summary { display: list-item; cursor: pointer; padding: 22px 8px 22px 0; font-weight: 600; line-height: 1.45; list-style-position: inside; }
.sol-service-design summary:hover { color: var(--sol-gold); }
.sol-service-design details[open] > summary { margin-bottom: 4px; }
.sol-service-design .service-answer { padding: 0 24px 20px 0; }
.sol-service-design .service-answer p { margin: 0; }
.sol-service-design .service-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; padding: 4px 0 24px; }
.sol-service-design .service-gallery figure { margin: 0; border: 1px solid var(--sol-line); background: var(--sol-surface); min-width: 0; }
.sol-service-design .service-gallery img { display: block; width: 100%; height: auto; object-fit: contain; }
.sol-service-design .service-gallery figcaption { padding: 12px 14px; font-size: 14px; line-height: 1.45; background: var(--sol-ink); color: #fff; }
.sol-service-design .service-gallery-note { grid-column: 1/-1; margin: 0; font-size: 15px; }
.sol-service-design .service-faq-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 80px; }
.sol-service-design .service-invitation { padding: 64px 0; background: #e9e0d3; }
.sol-service-design .service-invitation-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 80px; align-items: center; }
.sol-service-design .service-invitation p { max-width: 52ch; }
.sol-service-design .service-invitation .service-actions { margin-top: 24px; }
.sol-service-design .service-context { max-width: 800px; min-height: 55vh; padding-block: 64px; }
@media(max-width:979px) {
  .sol-service-design .service-width { width: calc(100% - 64px); }
  .sol-service-design .service-hero-grid { column-gap: 36px; }
  .sol-service-design h1 { font-size: clamp(40px,5.2vw,54px); }
  .sol-service-design .service-options, .sol-service-design .service-philosophy, .sol-service-design .service-case-grid, .sol-service-design .service-faq-grid, .sol-service-design .service-invitation-grid { gap: 36px; }
  .sol-service-design .service-evidence strong { font-size: 22px; }
}
@media(max-width:679px) {
  .sol-service-design .service-width { width: calc(100% - 40px); }
  .sol-service-design .service-hero { padding: 44px 0; }
  .sol-service-design h1 { font-size: 40px; line-height: 1.12; letter-spacing: -.035em; margin-bottom: 22px; }
  .sol-service-design .service-hero-grid, .sol-service-design .service-options, .sol-service-design .service-philosophy, .sol-service-design .service-case-grid, .sol-service-design .service-faq-grid, .sol-service-design .service-invitation-grid { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .sol-service-design .service-hero-grid { grid-template-areas: 'copy' 'image' 'note'; }
  .sol-service-design .service-hero-note { margin: 0; }
  .sol-service-design .service-lead { font-size: 19px; line-height: 1.5; }
  .sol-service-design .service-actions { flex-direction: column; }
  .sol-service-design .service-button { width: 100%; }
  .sol-service-design .service-evidence { max-width: 360px; justify-self: center; }
  .sol-service-design .service-section { padding: 48px 0; }
  .sol-service-design .service-section-head { margin-bottom: 28px; }
  .sol-service-design .service-philosophy .philosophy-copy { font-size: 21px; }
  .sol-service-design .service-gallery { grid-template-columns: minmax(0,1fr); }
  .sol-service-design .service-invitation { padding: 48px 0; }
  .sol-service-design summary { font-size: 18px; }
  .sol-service-design [id] { scroll-margin-top: 195px; }
}
@media(prefers-reduced-motion:reduce) { .sol-service-design * { scroll-behavior: auto; transition: none; animation: none; } }

/* Service invitation: readable small gold text on the warm beige panel. */
.sol-service-design .service-invitation-grid .service-eyebrow,
.sol-service-design .service-invitation-grid .service-button-secondary {
  color: #72562a;
}

/* Representative native case preview. Saved site frame and other templates stay scoped out. */
#sol-main-content.sol-case-design {
  --case-surface: #f7f4ef;
  --case-paper: #fff;
  --case-ink: #333031;
  --case-body: #51494a;
  --case-gold: #816332;
  --case-line: #d8d0c7;
  width: 100%; margin: 0; padding: 0;
  background: var(--case-surface); color: var(--case-ink);
  font: 400 18px/1.65 'Source Sans Pro', Arial, sans-serif;
  overflow-wrap: break-word;
}
.sol-case-design *, .sol-case-design *::before, .sol-case-design *::after { box-sizing: border-box; }
.sol-case-design .case-width { width: min(1160px, calc(100% - 96px)); margin-inline: auto; }
.sol-case-design h1, .sol-case-design h2, .sol-case-design h3 { color: var(--case-ink); font-family: Fraunces, Georgia, serif; font-weight: 400; letter-spacing: -.03em; text-transform: none; }
.sol-case-design h1 { font-size: clamp(40px, 4.4vw, 66px); line-height: 1.12; margin: 0 0 24px; }
.sol-case-design h1 em { font-style: italic; font-weight: 400; }
.sol-case-design h2 { font-size: clamp(32px, 3.3vw, 46px); line-height: 1.15; margin: 0 0 24px; }
.sol-case-design h3 { font-size: 27px; line-height: 1.25; margin: 0 0 15px; }
.sol-case-design p { color: var(--case-body); margin: 0 0 20px; }
.sol-case-design a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.sol-case-design a:hover { text-decoration-thickness: 2px; }
.sol-case-design a:focus-visible, .sol-case-design button:focus-visible, .sol-case-design summary:focus-visible { outline: 3px solid var(--case-gold); outline-offset: 5px; }
.sol-case-design [id] { scroll-margin-top: 195px; }
.sol-case-design .case-eyebrow { color: var(--case-gold); font: 600 12px/1.5 'Source Sans Pro', Arial, sans-serif; letter-spacing: .14em; margin: 0 0 22px; }
.sol-case-design .case-intro { padding: 48px 0; }
.sol-case-design .case-breadcrumb { font-size: 14px; margin: 0 0 34px; color: var(--case-body); }
.sol-case-design .case-subtitle { font-size: 18px; font-weight: 600; max-width: 70ch; margin-bottom: 16px; }
.sol-case-design .case-lead { font-size: 21px; line-height: 1.5; max-width: 70ch; }
.sol-case-design .case-meta { display: flex; gap: 60px; margin: 30px 0 0; border-top: 1px solid var(--case-line); padding-top: 22px; }
.sol-case-design .case-meta div { min-width: 0; }
.sol-case-design .case-meta dt { color: var(--case-body); font-size: 13px; }
.sol-case-design .case-meta dd { color: var(--case-ink); font-size: 16px; line-height: 1.5; margin: 4px 0 0; }
.sol-case-design .case-gallery-width { max-width: 1000px; }
.sol-case-design .case-photo { min-width: 0; margin: 0; background: var(--case-ink); }
.sol-case-design .case-photo-lead { max-width: 740px; margin: 0 auto 24px; }
.sol-case-design .case-photo-open { display: block; position: relative; text-decoration: none; color: #fff; }
.sol-case-design .case-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1335/749; object-fit: contain; background: #171617; }
.sol-case-design .case-photo figcaption { display: flex; gap: 18px; padding: 14px 18px; color: #fff; font-size: 15px; line-height: 1.5; }
.sol-case-design .case-photo figcaption span { color: #e6d9c6; }
.sol-case-design .case-photo-zoom { position: absolute; right: 12px; bottom: 12px; padding: 8px 12px; background: #333031; color: #fff; font-size: 13px; line-height: 1.5; }
.sol-case-design .case-photo-open:focus-visible { outline: 3px solid #e6d9c6; outline-offset: -5px; }
.sol-case-design .case-gallery-three { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.sol-case-design .case-gallery-three figcaption { gap: 12px; padding: 12px; font-size: 14px; }
.sol-case-design .case-note { font-size: 15px; line-height: 1.5; margin: 20px 0 0; }
.sol-case-design .case-section { padding: 80px 0; }
.sol-case-design .case-story-grid { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 100px; }
.sol-case-design .case-story-grid > * { min-width: 0; }
.sol-case-design .case-story-grid aside p:last-child { font-size: 16px; line-height: 1.6; max-width: 32ch; }
.sol-case-design .case-story section { margin-bottom: 34px; }
.sol-case-design .case-story section:last-child { margin-bottom: 0; }
.sol-case-design .case-story p:last-child { margin-bottom: 0; }
.sol-case-design .case-story ul { margin: 0; padding-left: 22px; color: var(--case-body); }
.sol-case-design .case-story li + li { margin-top: 12px; }
.sol-case-design .case-paper { background: var(--case-paper); border-block: 1px solid var(--case-line); }
.sol-case-design .case-faq-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 80px; }
.sol-case-design .case-faqs { border-top: 1px solid var(--case-line); }
.sol-case-design details { border-bottom: 1px solid var(--case-line); }
.sol-case-design summary { display: list-item; list-style-position: inside; cursor: pointer; padding: 22px 8px 22px 0; font-size: 18px; line-height: 1.45; font-weight: 600; }
.sol-case-design summary:hover { color: var(--case-gold); }
.sol-case-design .case-answer { padding: 0 24px 22px 0; }
.sol-case-design .case-answer p { margin: 0; }
.sol-case-design .case-resources h2 { font-size: 32px; }
.sol-case-design .case-resources p { max-width: 78ch; margin: 0; }
.sol-case-design .case-invitation { padding: 64px 0; background: #e9e0d3; }
.sol-case-design .case-invitation-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 80px; align-items: center; }
.sol-case-design .case-invitation p { max-width: 52ch; }
.sol-case-design .case-invitation .case-eyebrow { color: #72562a; }
.sol-case-design .case-button { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; min-height: 52px; padding: 14px 22px; border: 1px solid var(--case-ink); background: var(--case-ink); color: #fff; font: 600 16px/1.4 'Source Sans Pro', Arial, sans-serif; text-decoration: none; text-align: center; }
.sol-case-design .case-button:hover { background: #211f20; text-decoration: none; }
#sol-case-photo-dialog { box-sizing: border-box; width: min(1050px, calc(100% - 40px)); max-width: none; max-height: calc(100dvh - 40px); margin: auto; padding: 24px; border: 1px solid #d8d0c7; background: #f7f4ef; color: #333031; overflow: auto; }
#sol-case-photo-dialog::backdrop { background: rgb(20 17 20 / 88%); }
#sol-case-photo-dialog .case-dialog-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 18px; }
#sol-case-photo-dialog h2 { color: #333031; font: 600 18px/1.4 'Source Sans Pro', Arial, sans-serif; text-transform: none; letter-spacing: 0; margin: 0; }
#sol-case-photo-dialog .case-dialog-close { flex-shrink: 0; min-width: 84px; min-height: 48px; padding: 10px 14px; border: 1px solid #816332; background: transparent; color: #333031; font: 600 16px/1.4 'Source Sans Pro', Arial, sans-serif; cursor: pointer; }
#sol-case-photo-dialog .case-dialog-close:focus-visible { outline: 3px solid #816332; outline-offset: 4px; }
#sol-case-photo-dialog .case-dialog-image { display: block; width: 100%; height: auto; max-height: calc(100dvh - 210px); object-fit: contain; background: #171617; }
#sol-case-photo-dialog p { color: #51494a; font: 400 15px/1.5 'Source Sans Pro', Arial, sans-serif; margin: 16px 0 0; }
html.sol-case-dialog-open { overflow: hidden; }
@media(max-width:979px) {
  .sol-case-design .case-width { width: calc(100% - 64px); }
  .sol-case-design .case-story-grid, .sol-case-design .case-faq-grid, .sol-case-design .case-invitation-grid { gap: 40px; }
  .sol-case-design .case-meta { gap: 30px; }
}
@media(max-width:679px) {
  .sol-case-design .case-width { width: calc(100% - 40px); }
  .sol-case-design .case-intro { padding: 36px 0; }
  .sol-case-design .case-breadcrumb { margin-bottom: 28px; }
  .sol-case-design h1 { font-size: 40px; line-height: 1.12; letter-spacing: -.035em; }
  .sol-case-design .case-eyebrow { font-size: 11px; }
  .sol-case-design .case-subtitle { font-size: 17px; }
  .sol-case-design .case-lead { font-size: 19px; line-height: 1.5; }
  .sol-case-design .case-meta { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; margin-top: 24px; }
  .sol-case-design .case-meta div:last-child { grid-column: 1/-1; }
  .sol-case-design .case-meta dd { font-size: 15px; }
  .sol-case-design .case-gallery-three, .sol-case-design .case-story-grid, .sol-case-design .case-faq-grid, .sol-case-design .case-invitation-grid { grid-template-columns: minmax(0,1fr); }
  .sol-case-design .case-gallery-three { gap: 18px; }
  .sol-case-design .case-photo-lead { margin-bottom: 18px; }
  .sol-case-design .case-photo-zoom { font-size: 12px; padding: 6px 10px; }
  .sol-case-design .case-section { padding: 48px 0; }
  .sol-case-design .case-story-grid aside p:last-child { max-width: none; }
  .sol-case-design .case-invitation { padding: 48px 0; }
  .sol-case-design .case-button { width: 100%; }
  #sol-case-photo-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 16px; }
  #sol-case-photo-dialog .case-dialog-top { gap: 12px; }
  #sol-case-photo-dialog h2 { font-size: 16px; }
}
@media(prefers-reduced-motion:reduce) { .sol-case-design *, #sol-case-photo-dialog * { scroll-behavior: auto; animation: none; transition: none; } }

/* Appointment candidate: native form controls and saved site frame retain ownership. */
#sol-main-content.sol-appointment-design {
  --request-surface: #f7f4ef; --request-paper: #fff; --request-ink: #333031;
  --request-body: #51494a; --request-gold: #816332; --request-line: #d8d0c7;
  width: 100%; margin: 0; padding: 0;
  background: var(--request-surface); color: var(--request-ink);
  font: 400 18px/1.65 'Source Sans Pro', Arial, sans-serif;
  overflow-wrap: break-word;
}
.sol-appointment-design *, .sol-appointment-design *::before, .sol-appointment-design *::after { box-sizing: border-box; }
.sol-appointment-design .request-width { width: min(1160px, calc(100% - 96px)); margin-inline: auto; }
.sol-appointment-design h1, .sol-appointment-design h2, .sol-appointment-design h3 { color: var(--request-ink); font-family: Fraunces, Georgia, serif; font-weight: 400; letter-spacing: -.03em; text-transform: none; }
.sol-appointment-design h1 { font-size: clamp(42px, 4.8vw, 70px); line-height: 1.12; margin: 0 0 26px; }
.sol-appointment-design h1 em { font-weight: 400; }
.sol-appointment-design h2 { font-size: clamp(30px, 3vw, 42px); line-height: 1.18; margin: 0 0 22px; }
.sol-appointment-design h3 { font-size: 26px; line-height: 1.25; }
.sol-appointment-design p { color: var(--request-body); margin: 0 0 20px; }
.sol-appointment-design a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.sol-appointment-design a:hover { text-decoration-thickness: 2px; }
.sol-appointment-design a:focus-visible, .sol-appointment-design summary:focus-visible, .sol-appointment-design button:focus-visible { outline: 3px solid var(--request-gold); outline-offset: 4px; }
.sol-appointment-design [id] { scroll-margin-top: 195px; }
.sol-appointment-design .request-eyebrow { color: var(--request-gold); font: 600 12px/1.5 'Source Sans Pro', Arial, sans-serif; letter-spacing: .14em; margin: 0 0 22px; }
.sol-appointment-design .request-intro { padding: 64px 0 80px; }
.sol-appointment-design .request-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); grid-template-rows: max-content 1fr; column-gap: 80px; row-gap: 30px; align-items: start; }
.sol-appointment-design .request-grid > * { min-width: 0; }
.sol-appointment-design .request-copy { grid-column: 1; grid-row: 1; }
.sol-appointment-design .request-lead { font-size: 21px; line-height: 1.55; max-width: 34ch; margin: 0; }
.sol-appointment-design .request-panel { grid-column: 2; grid-row: 1 / 3; padding: 36px; border: 1px solid var(--request-line); background: var(--request-paper); min-width: 0; }
.sol-appointment-design .request-panel h2 { font-size: 31px; margin-bottom: 18px; }
.sol-appointment-design .request-expectation { font-size: 16px; line-height: 1.55; padding-bottom: 24px; border-bottom: 1px solid var(--request-line); margin-bottom: 24px; }
.sol-appointment-design .request-next { grid-column: 1; grid-row: 2; max-width: 38ch; }
.sol-appointment-design .request-rule { width: 52px; height: 2px; display: block; background: var(--request-gold); margin-bottom: 24px; }
.sol-appointment-design .request-next h2 { font-size: 28px; margin-bottom: 16px; }
.sol-appointment-design .request-next p { font-size: 17px; }
.sol-appointment-design .request-urgent { margin-top: 28px; }
.sol-appointment-design .request-urgent a { display: inline-block; font-size: 23px; color: var(--request-ink); font-weight: 600; margin-top: 8px; }
.sol-appointment-design .request-panel form { max-width: 100%; width: 100%; margin: 0; }
.sol-appointment-design .request-panel .sol-request-native-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 0; width: 100%; }
.sol-appointment-design .request-panel .grunion-field-wrap { grid-column: 1 / -1; width: 100%; max-width: 100%; min-width: 0; margin: 0; padding: 0; }
.sol-appointment-design .request-panel .grunion-field-name-wrap { grid-column: auto; }
.sol-appointment-design .request-panel label { display: block; color: var(--request-ink); font: 600 15px/1.5 'Source Sans Pro', Arial, sans-serif; margin: 0 0 8px; }
.sol-appointment-design .request-panel label span { font-weight: 400; font-size: 12px; padding-left: 4px; }
.sol-appointment-design .request-panel input:not([type=hidden]), .sol-appointment-design .request-panel select { font: 400 17px/1.5 'Source Sans Pro', Arial, sans-serif; color: var(--request-ink); background: var(--request-paper); width: 100%; max-width: 100%; min-width: 0; min-height: 54px; border: 1px solid #a69b8e; border-radius: 0; padding: 12px; box-shadow: none; }
.sol-appointment-design .request-panel input:focus-visible, .sol-appointment-design .request-panel select:focus-visible { outline: 2px solid var(--request-gold); outline-offset: 2px; }
.sol-appointment-design .request-panel .jetpack-field__input-phone-wrapper { display: flex; align-items: stretch; width: 100%; max-width: 100%; min-width: 0; border: 1px solid #a69b8e; background: var(--request-paper); padding: 0; }
.sol-appointment-design .request-panel .jetpack-field__input-phone-wrapper > input.jetpack-field__input-element { flex: 1 1 0; width: 0; min-width: 0; border: 0; }
.sol-appointment-design .request-panel .jetpack-custom-combobox { flex: 0 0 auto; max-width: 96px; display: flex; }
.sol-appointment-design .request-panel .jetpack-combobox-trigger { min-height: 54px; min-width: 64px; width: auto; border: 0; border-right: 1px solid var(--request-line); border-radius: 0; background: var(--request-paper); color: var(--request-ink); padding: 8px; font: 400 15px/1.5 'Source Sans Pro', Arial, sans-serif; }
.sol-appointment-design .request-panel .has-small-font-size { grid-column: 1 / -1; font-size: 14px !important; line-height: 1.55; margin: 0; }
.sol-appointment-design .request-panel .wp-block-button { grid-column: 1 / -1; margin: 0; width: 100%; }
.sol-appointment-design .request-panel button[type=submit] { width: 100%; min-height: 56px; border: 1px solid var(--request-ink); border-radius: 0; background: var(--request-ink); color: #fff; padding: 16px; text-transform: none; letter-spacing: .04em; font: 600 15px/1.5 'Source Sans Pro', Arial, sans-serif; }
.sol-appointment-design .request-panel button[type=submit]:not(:disabled):hover { background: #171617; }
.sol-appointment-design .request-panel button:disabled { opacity: 1; cursor: not-allowed; }
.sol-appointment-design .request-panel .sol-booking-notice { margin: 0 0 24px; padding: 12px 14px; border: 0; border-left: 2px solid var(--request-gold); border-radius: 0; background: var(--request-surface); color: var(--request-ink); font-size: 14px; line-height: 1.5; }
.sol-appointment-design .request-panel .sol-booking-notice p { margin: 0; font-size: inherit; }
.sol-appointment-design .request-panel [role=alert] { border-left: 3px solid #7c302c; padding: 12px; color: #57211f; background: #fff6f3; }
.sol-appointment-design .request-visit { padding: 64px 0; background: var(--request-paper); border-block: 1px solid var(--request-line); }
.sol-appointment-design .request-visit-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: center; }
.sol-appointment-design .request-visit h2 { margin-bottom: 0; }
.sol-appointment-design address { font-style: normal; font-size: 21px; color: var(--request-body); }
.sol-appointment-design address a { display: inline-block; margin-top: 12px; }
.sol-appointment-design .request-questions { padding: 80px 0; }
.sol-appointment-design .request-questions-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; }
.sol-appointment-design .request-faqs details { margin: 0; border-top: 1px solid var(--request-line); padding: 0; }
.sol-appointment-design .request-faqs details:last-child { border-bottom: 1px solid var(--request-line); }
.sol-appointment-design .request-faqs summary { position: relative; padding: 24px 32px 24px 0; cursor: pointer; color: var(--request-ink); font-size: 20px; font-weight: 600; line-height: 1.45; list-style: none; }
.sol-appointment-design .request-faqs summary::-webkit-details-marker { display: none; }
.sol-appointment-design .request-faqs summary::after { content: '+'; position: absolute; right: 0; top: 24px; color: var(--request-gold); font-size: 24px; line-height: 1; }
.sol-appointment-design .request-faqs details[open] summary::after { content: '−'; }
.sol-appointment-design .request-faqs p { font-size: 17px; padding: 0 24px 24px 0; margin: 0; }
@media (max-width: 1023px) {
 .sol-appointment-design .request-width { width: calc(100% - 64px); }
 .sol-appointment-design .request-grid, .sol-appointment-design .request-visit-grid, .sol-appointment-design .request-questions-grid { gap: 40px; }
 .sol-appointment-design .request-panel { padding: 26px; }
 .sol-appointment-design .request-panel .sol-request-native-form { grid-template-columns: 1fr; }
}
@media (max-width: 679px) {
 .sol-appointment-design .request-width { width: calc(100% - 40px); }
 .sol-appointment-design h1 { font-size: clamp(38px,9.2vw,54px); line-height: 1.13; margin-bottom: 22px; }
 .sol-appointment-design .request-intro { padding: 40px 0 48px; }
 .sol-appointment-design .request-grid, .sol-appointment-design .request-visit-grid, .sol-appointment-design .request-questions-grid { grid-template-columns: 1fr; gap: 32px; }
 .sol-appointment-design .request-grid { grid-template-rows: auto; }
 .sol-appointment-design .request-copy, .sol-appointment-design .request-panel, .sol-appointment-design .request-next { grid-column: auto; grid-row: auto; }
 .sol-appointment-design .request-lead { font-size: 19px; }
 .sol-appointment-design .request-panel { padding: 24px 20px; }
 .sol-appointment-design .request-panel h2 { font-size: 28px; }
 .sol-appointment-design .request-panel .request-eyebrow { margin-bottom: 16px; }
 .sol-appointment-design .request-next { padding-top: 12px; max-width: none; }
 .sol-appointment-design .request-next h2 { font-size: 28px; }
 .sol-appointment-design .request-visit, .sol-appointment-design .request-questions { padding: 48px 0; }
 .sol-appointment-design .request-faqs summary { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { .sol-appointment-design { scroll-behavior: auto; } }

/* Country controls belong only to the guarded appointment presentation. */
.sol-appointment-design .request-panel .jetpack-field__input-phone-wrapper { position:relative; }
.sol-appointment-design .request-panel .jetpack-custom-combobox .jetpack-combobox-dropdown { background:var(--request-paper); color:var(--request-ink); border:1px solid #a69b8e; border-radius:0; max-height:280px; }
.sol-appointment-design .request-panel .jetpack-custom-combobox .jetpack-combobox-dropdown input.jetpack-combobox-search { display:block; flex:none; box-sizing:border-box; width:100%; max-width:100%; min-width:0; min-height:48px; padding:10px 12px; }
.sol-appointment-design .request-panel .jetpack-custom-combobox .jetpack-combobox-options { max-height:224px; overflow-y:auto; overscroll-behavior:contain; }
.sol-appointment-design .request-panel .jetpack-combobox-trigger:focus-visible,
.sol-appointment-design .request-panel .jetpack-custom-combobox .jetpack-combobox-dropdown input.jetpack-combobox-search:focus-visible { outline:2px solid var(--request-ink); outline-offset:-3px; }
.sol-appointment-design .request-panel .grunion-field-wrap .jetpack-field__input-phone-wrapper:has(> input.jetpack-field__input-element:focus-visible) { outline:2px solid var(--request-ink); outline-offset:2px; }
/* Early neutral case proof; contained photos and the saved site frame stay intact. */
.sol-clinical-proof {
  scroll-margin-top: 180px;
  padding: 48px 0;
  background: #f7f4ef;
  border-block: 1px solid #ded7cc;
  color: #333031;
  font: 400 18px/1.6 "Source Sans Pro", sans-serif;
}
.sol-clinical-proof-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: center;
  gap: 48px;
}
.sol-clinical-proof-grid > * { min-width: 0; }
.sol-clinical-proof figure { margin: 0; max-width: 520px; }
.sol-clinical-proof figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.sol-clinical-proof figcaption {
  padding-top: 8px;
  color: #51494a;
  font-size: 14px;
}
.sol-clinical-proof .sol-clinical-proof-copy h2 {
  margin: 0 0 16px;
  font: 400 clamp(25px, 2.4vw, 32px)/1.22 Fraunces, Georgia, serif;
  letter-spacing: -.02em;
  color: #333031;
  text-transform: none;
}
.sol-clinical-proof-copy p { margin: 0 0 16px; }
.sol-clinical-proof-copy .sol-clinical-proof-note {
  margin-bottom: 8px;
  color: #51494a;
  font-size: 15px;
}
.sol-clinical-proof-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding-block: 8px;
  color: #333031;
  font-size: 17px;
  font-weight: 600;
  text-underline-offset: 4px;
}
.sol-clinical-proof-link:hover { color: #705719; }
.sol-clinical-proof-link:focus-visible { outline: 3px solid #333031; outline-offset: 4px; }
@media (max-width: 979px) { .sol-clinical-proof-grid { gap: 32px; } }
@media (max-width: 679px) {
  .sol-clinical-proof { padding: 32px 0; }
  .sol-clinical-proof-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .sol-clinical-proof figure { max-width: none; }
  .sol-clinical-proof .sol-clinical-proof-copy h2 { font-size: 27px; }
}

/* Scoped navigation for the protected prestige preview; no frame or form rules. */
.sol-guided {
  --guided-ink: #333031;
  --guided-muted: #51494a;
  --guided-gold: #705719;
  --guided-paper: #f7f4ef;
  --guided-rule: #d9d1c5;
  color: var(--guided-ink);
  background: var(--guided-paper);
  font: 400 18px/1.6 "Source Sans Pro", sans-serif;
  padding: 64px 0;
  border-block: 1px solid var(--guided-rule);
  scroll-margin-top: 180px;
}
.sol-guided-width { width: min(1160px, calc(100% - 80px)); margin-inline: auto; }
.sol-guided .sol-guided-eyebrow {
  color: var(--guided-gold);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  margin: 0 0 16px;
}
.sol-guided h2 {
  color: var(--guided-ink);
  font: 400 clamp(28px, 3vw, 40px)/1.2 Fraunces, Georgia, serif;
  text-transform: none;
  letter-spacing: -.02em;
  margin: 0 0 16px;
}
.sol-guided p { color: var(--guided-muted); margin: 0; }
.sol-guided-heading { max-width: 740px; margin-bottom: 32px; }
.sol-guided .sol-guided-choices,
.sol-guided .sol-guided-resources { list-style: none; margin: 0; padding: 0; }
.sol-guided-choices > li { border-top: 1px solid var(--guided-rule); }
.sol-guided-choices > li:last-child { border-bottom: 1px solid var(--guided-rule); }
.sol-guided .sol-guided-choice {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) minmax(0, 1fr) 24px;
  align-items: center;
  gap: 24px;
  min-height: 104px;
  padding: 24px 0;
  color: var(--guided-ink);
  text-decoration: none;
}
.sol-guided .sol-guided-choice h3 {
  font: 400 26px/1.25 Fraunces, Georgia, serif;
  text-transform: none;
  letter-spacing: -.02em;
  color: var(--guided-ink);
  margin: 0;
}
.sol-guided-choice p { font-size: 17px; }
.sol-guided-number { color: var(--guided-gold); font-size: 14px; }
.sol-guided-arrow { color: var(--guided-ink); font-size: 26px; text-align: right; }
.sol-guided-choice:hover h3,
.sol-guided-choice:focus-visible h3 { text-decoration: underline; text-underline-offset: 4px; }
.sol-guided-help { display: flex; gap: 40px; align-items: center; justify-content: space-between; margin-top: 32px; }
.sol-guided-help p { max-width: 720px; font-size: 16px; }
.sol-guided .sol-guided-request { flex: 0 0 auto; padding: 12px 20px; border: 1px solid var(--guided-ink); color: var(--guided-ink); text-underline-offset: 4px; }
.sol-guided-follow-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.sol-guided-follow-grid > div { max-width: 500px; }
.sol-guided-follow h2 { font-size: clamp(28px, 2.8vw, 36px); }
.sol-guided .sol-guided-resources li { border-bottom: 1px solid var(--guided-rule); }
.sol-guided .sol-guided-resources a { display: flex; align-items: center; min-height: 52px; padding-block: 12px; color: var(--guided-ink); text-underline-offset: 4px; }
.sol-guided a:focus-visible { outline: 3px solid var(--guided-ink); outline-offset: 4px; }
@media (max-width: 979px) {
  .sol-guided-width { width: calc(100% - 64px); }
  .sol-guided-choice { gap: 16px; }
  .sol-guided-follow-grid { gap: 40px; }
}
@media (max-width: 679px) {
  .sol-guided { padding: 40px 0; }
  .sol-guided-width { width: calc(100% - 40px); }
  .sol-guided h2 { font-size: 30px; }
  .sol-guided .sol-guided-choice { grid-template-columns: 24px minmax(0, 1fr) 20px; gap: 12px; padding: 20px 0; }
  .sol-guided .sol-guided-choice h3 { font-size: 24px; }
  .sol-guided-choice p { grid-column: 2; grid-row: 2; font-size: 16px; }
  .sol-guided-arrow { grid-column: 3; grid-row: 1; }
  .sol-guided-help { flex-direction: column; align-items: stretch; gap: 24px; margin-top: 24px; }
  .sol-guided-request { text-align: center; }
  .sol-guided-follow-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

/* Local UX candidate: the approved treatment catalogue stays complete and opt-in. */
.sol-home.sol-prestige-home .sol-home-hero-context{max-width:35ch;margin:20px 0 0;color:#333031;font-size:20px;line-height:1.55}
.sol-home-service-directory{margin-top:24px}
.sol-home-service-directory>summary{box-sizing:border-box;min-height:64px;padding:18px 22px;border-block:1px solid #c8c1b4;color:#333031;font-size:20px;font-weight:600;line-height:1.4;cursor:pointer}
.sol-home-service-directory>summary:hover{background:#ece7df}
.sol-home-service-directory>summary:focus-visible{outline:3px solid #66543a;outline-offset:4px}
.sol-home-service-directory[open]>.sol-home-service-grid{margin-top:28px}
@media(max-width:679px){.sol-home.sol-prestige-home .sol-home-hero-context{font-size:18px;max-width:32ch}.sol-home-service-directory>summary{padding-inline:14px}}

/* Local proposal: only pages accepted by the existing public family guards. */
#sol-main-content.sol-service-case-refined .service-treatment-list h3 { margin-bottom: 10px; }
#sol-main-content.sol-service-case-refined .sol-treatment-choice {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  min-height: 48px; padding-block: 6px; color: var(--sol-ink, #333031);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px;
}
#sol-main-content.sol-service-case-refined .sol-treatment-choice svg { width: 22px; height: 22px; flex: 0 0 auto; }
#sol-main-content.sol-service-case-refined .sol-treatment-choice:hover { text-decoration-thickness: 2px; }
#sol-main-content.sol-service-case-refined .sol-treatment-choice:focus-visible,
#sol-main-content.sol-service-case-refined .sol-case-contents a:focus-visible {
  outline: 3px solid #816332; outline-offset: 4px;
}
#sol-main-content.sol-service-case-refined .service-case-grid > div > p > a {
  display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px;
  text-underline-offset: 4px;
}
#sol-main-content.sol-service-case-refined .sol-case-contents {
  display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; padding: 0; list-style: none;
}
#sol-main-content.sol-service-case-refined .sol-case-contents li { margin: 0; padding: 0; }
#sol-main-content.sol-service-case-refined .sol-case-contents a {
  display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px;
  font: 600 16px/1.5 "Source Sans Pro", Arial, sans-serif; color: #333031;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
}
#sol-main-content.sol-service-case-refined .sol-case-contents a:hover { text-decoration-thickness: 2px; }
#sol-main-content.sol-service-case-refined #treatment-details,
#sol-main-content.sol-service-case-refined [id^="source-section-"] { scroll-margin-top: 190px; }
@media(min-width: 980px) {
  #sol-main-content.sol-service-case-refined.sol-rollout-case h1 { font-size: clamp(44px, 4.6vw, 66px); max-width: 24ch; }
}
@media(max-width: 679px) {
  #sol-main-content.sol-service-case-refined .service-hero { padding-block: 30px; }
  #sol-main-content.sol-service-case-refined .service-hero-grid { gap: 24px; }
  #sol-main-content.sol-service-case-refined .service-hero h1 {
    font-size: clamp(30px, 8.2vw, 34px); line-height: 1.16; letter-spacing: -.025em; margin-bottom: 18px;
  }
  #sol-main-content.sol-service-case-refined .service-hero .service-eyebrow { margin-bottom: 18px; }
  #sol-main-content.sol-service-case-refined .service-hero .service-actions { gap: 12px; }
  #sol-main-content.sol-service-case-refined .service-hero .service-lead { font-size: 19px; }
  #sol-main-content.sol-service-case-refined .service-evidence figcaption { padding: 16px; }
  #sol-main-content.sol-service-case-refined .service-evidence strong { font-size: 21px; margin-bottom: 12px; }
  #sol-main-content.sol-service-case-refined .rollout-intro { padding-block: 24px 32px; }
  #sol-main-content.sol-service-case-refined .rollout-breadcrumb { margin-bottom: 18px; }
  #sol-main-content.sol-service-case-refined .rollout-intro h1 {
    font-size: clamp(30px, 8.2vw, 34px); line-height: 1.15; letter-spacing: -.025em;
    margin-block: 18px; max-width: 24ch;
  }
  #sol-main-content.sol-service-case-refined .rollout-intro .rollout-lead { font-size: 19px; line-height: 1.5; }
  #sol-main-content.sol-service-case-refined .rollout-intro .rollout-actions { margin-top: 24px; gap: 12px; }
  #sol-main-content.sol-service-case-refined .sol-case-contents {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: 100%;
  }
  #sol-main-content.sol-service-case-refined .sol-case-contents a { width: 100%; justify-content: center; font-size: 15px; }
}
