:root {
  --teal-950: #113c3d;
  --teal-800: #155b5b;
  --teal-700: #19706d;
  --cream: #fbf6ee;
  --paper: #fffdf9;
  --sage: #e7eee4;
  --sage-deep: #bfd0c1;
  --clay: #a94f3d;
  --gold: #e3b97a;
  --ink: #173d3d;
  --muted: #566c69;
  --line: #d8ded5;
  --shadow: 0 18px 50px rgba(17, 60, 61, .09);
  --radius: 24px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: Avenir, "Segoe UI", Arial, sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.skip-link {
  position: fixed;
  top: -90px;
  left: 18px;
  z-index: 200;
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--teal-950);
  color: white;
  font-weight: 800;
}
.skip-link:focus { top: 16px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(17, 60, 61, .12);
  background: rgba(255, 253, 249, .94);
  backdrop-filter: blur(18px);
}
.nav-shell {
  width: min(var(--max), calc(100% - 36px));
  min-height: 84px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 22px;
}
.brand {
  min-width: 232px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.brand img { width: 43px; height: 54px; object-fit: contain; }
.brand strong {
  display: block;
  font: 600 1.22rem/1.05 Georgia, serif;
  letter-spacing: -.01em;
}
.brand small { display: block; margin-top: 4px; color: var(--muted); }
.desktop-nav { margin-left: auto; display: flex; align-items: center; gap: 3px; }
.desktop-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 9px 12px;
  border-radius: 999px;
  color: var(--muted);
  text-decoration: none;
  font-weight: 700;
}
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { background: var(--sage); color: var(--teal-950); }
.nav-tools { display: flex; align-items: center; gap: 9px; }
.language-switcher {
  display: flex;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: white;
}
.language-switcher button {
  min-width: 44px;
  min-height: 40px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-weight: 900;
}
.language-switcher button.active { background: var(--teal-700); color: white; }
.header-cta, .button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 19px;
  border: 1px solid transparent;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 850;
  line-height: 1.2;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.header-cta, .button.primary { background: var(--teal-700); color: white; }
.header-cta:hover, .button:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(17, 60, 61, .14); }
.button.secondary { border-color: var(--teal-700); background: rgba(255,255,255,.74); color: var(--teal-800); }
.menu-button { display: none; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 14px; background: white; cursor: pointer; }
.menu-button span { display: block; width: 22px; height: 2px; margin: 5px auto; background: var(--teal-950); }
.mobile-panel { display: none; }

.wrap { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
.section { padding: clamp(64px, 8vw, 104px) 0; }
.section.compact { padding: 48px 0; }
.section.tint { border-block: 1px solid var(--line); background: var(--sage); }
.eyebrow {
  margin: 0 0 14px;
  color: var(--clay);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
h1, h2, .display {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.06;
  text-wrap: balance;
}
h1 { font-size: clamp(2.65rem, 6vw, 5.4rem); }
h2 { font-size: clamp(2.05rem, 4vw, 3.65rem); }
h3 { margin: 0 0 9px; font-size: 1.13rem; line-height: 1.3; }
p { margin: .75em 0 0; }
.lead { max-width: 780px; color: var(--muted); font-size: clamp(1.07rem, 1.6vw, 1.25rem); }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.hero {
  position: relative;
  isolation: isolate;
  min-height: 670px;
  display: grid;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(255,253,249,.97) 10%, rgba(255,253,249,.82) 54%, rgba(255,253,249,.34)), url("hero-bg.jpg") center/cover;
}
.hero-copy { position: relative; z-index: 2; max-width: 900px; padding: 92px 0; }
.hero .lead { max-width: 720px; }
.hero-plant { position: absolute; right: -32px; bottom: -90px; z-index: 1; width: min(39vw, 520px); opacity: .38; filter: saturate(.8); pointer-events: none; }
.trust-strip { border-bottom: 1px solid var(--line); background: var(--paper); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-item { min-height: 104px; padding: 23px 25px; border-right: 1px solid var(--line); }
.trust-item:last-child { border-right: 0; }
.trust-item strong { display: block; color: var(--teal-800); }
.trust-item span { color: var(--muted); font-size: .95rem; }

.intro-grid, .two-col { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(34px, 6vw, 80px); align-items: center; }
.portrait {
  position: relative;
  max-width: 470px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 32px;
  background: var(--paper);
  box-shadow: var(--shadow);
}
.portrait img { display: block; width: 100%; aspect-ratio: 4 / 4.35; object-fit: cover; object-position: 50% 25%; }
.license-badge { display: inline-flex; margin-top: 22px; padding: 9px 13px; border-radius: 999px; background: var(--sage); font-weight: 850; }
.text-card, .info-card {
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: var(--shadow);
}
.text-card p, .info-card p { color: var(--muted); }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; margin-top: 34px; }
.card { border: 1px solid var(--line); border-radius: 21px; background: var(--paper); overflow: hidden; }
.service-card { display: grid; grid-template-columns: 112px 1fr; min-height: 145px; padding: 14px; align-items: center; gap: 17px; }
.service-card img { width: 112px; height: 112px; border-radius: 15px; object-fit: cover; }
.service-card p, .card p { color: var(--muted); font-size: .96rem; }
.plain-card { padding: 24px; }
.card-link { color: var(--teal-800); font-weight: 850; text-underline-offset: 3px; }

.page-hero { padding: clamp(70px, 10vw, 120px) 0; border-bottom: 1px solid var(--line); background: linear-gradient(120deg, var(--paper), var(--sage)); }
.page-hero .lead { max-width: 760px; }
.pill-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.pill-list li { padding: 9px 13px; border: 1px solid var(--line); border-radius: 999px; background: white; font-weight: 750; }
.detail-list { display: grid; gap: 1px; margin-top: 30px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--line); }
.detail-row { display: grid; grid-template-columns: 245px 1fr; gap: 28px; padding: 25px; background: var(--paper); }
.detail-row strong { color: var(--clay); }
.detail-row p { margin: 0; color: var(--muted); }

.botanical {
  color: white;
  background: linear-gradient(rgba(17,60,61,.7), rgba(17,60,61,.78)), url("succulent-macro.png") center/cover;
}
.botanical .eyebrow { color: #f6d59f; }
.botanical .lead { color: rgba(255,255,255,.88); }
.botanical-panel { max-width: 850px; padding: clamp(28px, 5vw, 52px); border: 1px solid rgba(255,255,255,.35); border-radius: 30px; background: rgba(17,60,61,.54); backdrop-filter: blur(8px); }

.insurance-grid, .contact-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 28px; align-items: start; }
.insurance-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 25px 0; padding: 0; list-style: none; }
.insurance-list li { padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: white; font-weight: 800; }
.notice { margin-top: 22px; padding: 18px 20px; border-left: 5px solid var(--gold); border-radius: 12px; background: #fff9ea; color: #5f5747; }
.construction {
  margin-top: 24px;
  padding: 20px 22px;
  border: 2px dashed #c88d7f;
  border-radius: 18px;
  background: #fff8f3;
}
.construction strong {
  display: block;
  margin-bottom: 6px;
  color: var(--clay);
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.construction p { margin: 0; color: var(--muted); }
.contact-options { display: grid; gap: 13px; margin-top: 25px; }
.contact-option { min-height: 68px; display: flex; align-items: center; gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: white; text-decoration: none; }
.contact-option:hover { border-color: var(--teal-700); }
.contact-option strong { display: block; color: var(--teal-800); }
.contact-option span { display: block; color: var(--muted); }
.icon { width: 42px; height: 42px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--sage); font-weight: 900; }
.safety { padding: 24px; border-radius: 20px; background: var(--teal-950); color: white; }
.safety p { margin: 0; color: rgba(255,255,255,.88); }
.safety a { font-weight: 900; }

.site-footer { padding: 50px 0 28px; background: var(--teal-950); color: white; }
.footer-grid { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); gap: 28px; }
.footer-brand { display: flex; gap: 12px; align-items: center; }
.footer-brand img { width: 52px; padding: 6px; border-radius: 12px; background: white; }
.site-footer h2 { font-size: 1.55rem; letter-spacing: -.01em; }
.site-footer p, .site-footer a { color: rgba(255,255,255,.78); }
.site-footer a:hover { color: white; }
.footer-bottom { margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.68); font-size: .9rem; }

@media (max-width: 980px) {
  .desktop-nav, .header-cta { display: none; }
  .nav-tools { margin-left: auto; }
  .menu-button { display: block; }
  .mobile-panel {
    position: fixed;
    inset: 84px 0 auto;
    display: block;
    padding: 16px 20px 24px;
    border-bottom: 1px solid var(--line);
    background: var(--paper);
    box-shadow: var(--shadow);
    transform: translateY(-120%);
    visibility: hidden;
    transition: transform .22s ease, visibility .22s;
  }
  .mobile-panel.open { transform: translateY(0); visibility: visible; }
  .mobile-panel nav { display: grid; gap: 6px; }
  .mobile-panel a { min-height: 50px; display: flex; align-items: center; padding: 10px 14px; border-radius: 13px; text-decoration: none; font-weight: 800; }
  .mobile-panel a:hover, .mobile-panel a[aria-current="page"] { background: var(--sage); }
  .mobile-panel .mobile-cta { margin-top: 8px; justify-content: center; background: var(--teal-700); color: white; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .nav-shell { width: min(100% - 24px, var(--max)); min-height: 76px; gap: 10px; }
  .brand { min-width: 0; gap: 9px; }
  .brand img { width: 37px; height: 47px; }
  .brand strong { font-size: 1.05rem; }
  .brand small { font-size: .8rem; }
  .language-switcher button { min-width: 40px; min-height: 38px; }
  .mobile-panel { inset-block-start: 76px; }
  .wrap { width: min(100% - 32px, var(--max)); }
  .hero { min-height: auto; background: linear-gradient(180deg, rgba(255,253,249,.95), rgba(255,253,249,.82)), url("hero-bg.jpg") center/cover; }
  .hero-copy { padding: 72px 0 88px; }
  .hero-plant { width: 58vw; right: -50px; bottom: -50px; opacity: .21; }
  h1 { font-size: clamp(2.45rem, 13vw, 4rem); }
  .button-row { display: grid; }
  .button { width: 100%; min-height: 52px; }
  .trust-grid, .intro-grid, .two-col, .card-grid, .insurance-grid, .contact-grid, .footer-grid { grid-template-columns: 1fr; }
  .trust-item { min-height: 84px; border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-item:last-child { border-bottom: 0; }
  .service-card { grid-template-columns: 88px 1fr; min-height: 118px; }
  .service-card img { width: 88px; height: 88px; }
  .detail-row { grid-template-columns: 1fr; gap: 7px; }
  .insurance-list { grid-template-columns: 1fr; }
}

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

/* Calmer homepage and focused inquiry dialog */
.hero-refined { min-height: 560px; background: linear-gradient(90deg,rgba(255,253,249,.96),rgba(255,253,249,.82)),url("hero-bg.jpg") center/cover; }
.hero-refined .hero-copy { max-width: 860px; padding-block: 92px 80px; }
.hero-refined h1 { max-width: 780px; }
.hero-reassurance { font-size: clamp(1.3rem,2.3vw,1.8rem); color: var(--teal-950); margin-top: 26px; line-height: 1.4; }
.hero-translation { font-size: clamp(1.3rem,2.3vw,1.8rem); color: var(--teal-950); margin-top: 5px; line-height: 1.4; }
.hero-meta { margin-top: 28px; font-size: .9rem; color: var(--muted); }
.choice-section { background: var(--paper); }
.choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:34px; }
.choice-card { display:flex; flex-direction:column; min-height:260px; padding:30px; background:var(--cream); border:1px solid var(--line); border-radius:20px; text-decoration:none; transition:border-color .2s,transform .2s; }
.choice-card:hover { border-color:var(--teal-700); transform:translateY(-2px); }
.choice-number { color:var(--clay); font-weight:800; font-size:.83rem; letter-spacing:.1em; margin-bottom:22px; }
.choice-card h3 { font-family:Georgia,serif; font-size:clamp(1.3rem,2vw,1.7rem); font-weight:500; }
.choice-card p { color:var(--muted); }
.choice-link { margin-top:auto; padding-top:20px; color:var(--teal-800); font-weight:800; }
button.header-cta,button.button { cursor:pointer; font:inherit; font-weight:850; }
.email-overlay[hidden] { display:none; }
.email-overlay { position:fixed; inset:0; z-index:300; background:rgba(11,37,36,.65); display:grid; place-items:center; padding:18px; }
.email-dialog { position:relative; background:var(--paper); border-radius:24px; padding:clamp(22px,4vw,38px); width:min(100%,540px); max-height:min(90dvh,850px); overflow:auto; box-shadow:0 30px 90px rgba(0,0,0,.25); }
.email-dialog h2 { font-size:clamp(1.9rem,4vw,2.5rem); }
.email-help { color:var(--muted); font-size:.94rem; margin:14px 0 22px; }
.email-close { position:absolute; top:13px; right:16px; border:0; background:transparent; font-size:2rem; cursor:pointer; width:44px; height:44px; color:var(--ink); }
#email-form { display:grid; gap:8px; }
#email-form label { font-weight:750; margin-top:6px; }
#email-form input,#email-form select,#email-form textarea { width:100%; padding:12px 13px; border:1px solid #a9bcb5; border-radius:10px; background:white; color:var(--ink); font:inherit; }
#email-form textarea { resize:vertical; }
.email-submit { width:100%; margin-top:12px; }
.email-copy { border:0; background:transparent; color:var(--teal-800); text-decoration:underline; padding:10px; font-weight:800; cursor:pointer; }
.email-status { font-size:.9rem; color:var(--muted); margin:0; }
body.email-open { overflow:hidden; }
@media(max-width:800px) { .choice-grid { grid-template-columns:1fr; } .choice-card { min-height:0; padding:24px; } .hero-refined .hero-copy { padding-block:65px; } }


/* Liquid-glass treatment: navigation, email controls and modal */
.site-header {
  top: 12px;
  width: min(1240px, calc(100% - 24px));
  margin: 12px auto 0;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 28px;
  background: linear-gradient(125deg,rgba(255,255,255,.79),rgba(244,250,246,.50) 60%,rgba(255,255,255,.68));
  -webkit-backdrop-filter: blur(26px) saturate(165%);
  backdrop-filter: blur(26px) saturate(165%);
  box-shadow: 0 10px 36px rgba(20,54,48,.12),inset 0 1px 1px rgba(255,255,255,.95),inset 0 -1px 1px rgba(255,255,255,.36);
}
.nav-shell { min-height:76px; }
.desktop-nav { padding:5px; border:1px solid rgba(255,255,255,.55); border-radius:999px; background:rgba(255,255,255,.22); }
.desktop-nav a { font-weight:650; transition:background .2s,box-shadow .2s; }
.desktop-nav a:hover,.desktop-nav a[aria-current="page"] { background:rgba(255,255,255,.70);box-shadow:0 2px 9px rgba(20,54,48,.08); }
.language-switcher { background:rgba(255,255,255,.42); border-color:rgba(255,255,255,.8); box-shadow:inset 0 1px rgba(255,255,255,.8); }
.header-cta,.button.primary,.email-submit {
  background:linear-gradient(140deg,rgba(25,112,109,.92),rgba(17,70,66,.94));
  border:1px solid rgba(255,255,255,.38);
  color:white;
  box-shadow:inset 0 1px rgba(255,255,255,.27),0 7px 18px rgba(17,60,61,.15);
}
.button.secondary,.email-copy {
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(231,241,235,.46));
  border:1px solid rgba(255,255,255,.84);
  box-shadow:inset 0 1px rgba(255,255,255,.94),0 4px 14px rgba(17,60,61,.08);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.email-overlay {
  background:rgba(12,37,34,.40);
  -webkit-backdrop-filter:blur(13px) saturate(120%);
  backdrop-filter:blur(13px) saturate(120%);
}
.email-dialog {
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(244,249,245,.78) 56%,rgba(249,246,240,.83));
  border:1px solid rgba(255,255,255,.84);
  border-radius:30px;
  -webkit-backdrop-filter:blur(35px) saturate(155%);
  backdrop-filter:blur(35px) saturate(155%);
  box-shadow:0 26px 90px rgba(9,39,34,.26),inset 0 1px 2px rgba(255,255,255,.98),inset 0 -1px 1px rgba(255,255,255,.52);
}
.email-dialog::before { content:"";pointer-events:none;position:absolute;inset:1px 1px auto;height:110px;border-radius:29px 29px 55% 55%;background:linear-gradient(180deg,rgba(255,255,255,.32),transparent); }
.email-dialog > * { position:relative; }
.email-close {
  background:rgba(255,255,255,.54);border:1px solid rgba(255,255,255,.84);
  border-radius:50%;box-shadow:inset 0 1px rgba(255,255,255,.9),0 3px 12px rgba(17,60,61,.08);
}
#email-form input,#email-form select,#email-form textarea {
  background:rgba(255,255,255,.58);
  border:1px solid rgba(137,166,156,.50);
  border-radius:14px;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.86);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
}
#email-form input:focus,#email-form select:focus,#email-form textarea:focus { outline:2px solid rgba(25,112,109,.65);outline-offset:1px;background:rgba(255,255,255,.8); }
.email-copy { border-radius:999px;padding:11px 18px;text-decoration:none;justify-self:start;cursor:pointer; }
@media(max-width:980px){
 .site-header { top:8px;margin-top:8px;border-radius:22px; }
 .mobile-panel { inset:calc(100% + 7px) 0 auto;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:rgba(250,253,250,.82);-webkit-backdrop-filter:blur(25px) saturate(160%);backdrop-filter:blur(25px) saturate(160%);box-shadow:0 18px 35px rgba(17,60,61,.16); }
 .menu-button { background:rgba(255,255,255,.48);border-color:rgba(255,255,255,.82);box-shadow:inset 0 1px rgba(255,255,255,.9); }
}
@media(max-width:720px){
 .site-header { width:calc(100% - 16px); }
 .nav-shell { min-height:70px; }
 .email-dialog { padding:24px 20px; border-radius:24px; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .site-header,.mobile-panel { background:#f5f9f5; }
 .email-dialog { background:#f7f7f2; }
}


/* Glass email-first contact options */
.contact-option-email { width:100%; text-align:left; font:inherit; cursor:pointer; }
.contact-option-email,.contact-options .contact-option {
 background:linear-gradient(130deg,rgba(255,255,255,.77),rgba(235,247,240,.48));
 border:1px solid rgba(255,255,255,.84);
 border-radius:19px;
 box-shadow:inset 0 1px rgba(255,255,255,.95),0 7px 24px rgba(18,60,54,.09);
 -webkit-backdrop-filter:blur(20px) saturate(155%);backdrop-filter:blur(20px) saturate(155%);
}
.contact-option-email:hover,.contact-options .contact-option:hover { border-color:rgba(24,112,103,.65);box-shadow:0 10px 27px rgba(18,60,54,.14); }
.contact-option-email .icon { background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.85); }
.email-dialog { background:linear-gradient(145deg,rgba(255,255,255,.75),rgba(230,241,235,.69) 55%,rgba(247,240,232,.75));-webkit-backdrop-filter:blur(42px) saturate(170%);backdrop-filter:blur(42px) saturate(170%); }


/* Single contact action, with accessible liquid-glass email modal */
.desktop-nav a[href="contact.html"] { display:none; }
button.mobile-cta { width:100%;font:inherit;font-weight:800;border:1px solid rgba(255,255,255,.7);cursor:pointer; }
.email-phone { display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:18px;padding-top:17px;border-top:1px solid rgba(42,95,77,.18);text-align:center; }
.email-phone span { color:var(--muted);font-size:.92rem; }
.email-phone a { color:#145e47;font-size:clamp(1.55rem,5vw,2rem);font-weight:900;letter-spacing:.015em;line-height:1.25;text-decoration:none; }
.email-phone a:hover { text-decoration:underline; }
.email-dialog { background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(231,242,236,.72) 55%,rgba(247,240,232,.78));-webkit-backdrop-filter:blur(42px) saturate(170%);backdrop-filter:blur(42px) saturate(170%); }
@media(max-width:980px){.mobile-panel button.mobile-cta { min-height:50px;display:flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:13px;background:var(--teal-700);color:white; }}

/* Section anchors on the combined information page */
#about,#services,#insurance,#evaluations,#urgent { scroll-margin-top:120px; }

/* Next Step integrated into botanical background */
.botanical-next-step { margin-top:clamp(30px,5vw,55px);padding-top:clamp(26px,4vw,40px);border-top:1px solid rgba(255,255,255,.28); }
.botanical-next-step h2 { color:#fff;max-width:720px; }
.botanical-next-step .lead { color:rgba(255,255,255,.88);max-width:680px; }
.botanical-next-step .button.secondary { background:rgba(255,255,255,.83);color:#17433f; }
.botanical .botanical-panel { max-width:900px; }
.credentials-wrap { max-width:900px; }
.credentials-wrap .info-card { max-width:900px; }

/* Botanical focus tags */
.botanical-focus-pills{display:flex;flex-wrap:wrap;gap:10px 8px;list-style:none;margin:24px 0 0;padding:0;max-width:620px}.botanical-focus-pills li{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:9px 14px;background:rgba(255,255,255,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:.85rem;line-height:1.3}.botanical-panel .botanical-focus-pills{margin-bottom:0}

/* Clearly separate professional credentials from therapy services */
.credentials-section{background:#f7f2ea;border-bottom:1px solid rgba(29,65,61,.12);padding-top:clamp(52px,6vw,78px);padding-bottom:clamp(52px,6vw,78px)}
.therapy-section{background:#f0f5ee;padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(64px,8vw,104px)}
.therapy-section .card-grid{margin-top:24px}

/* Align insurance information with the introductory copy and plan list */
@media (min-width: 721px) {
  #insurance .insurance-grid > .info-card { margin-top: 58px; }
}
@media (max-width: 720px) {
  #insurance .insurance-grid > .info-card { margin-top: 0; }
}

/* Compact contact modal; full-height only on exceptionally short viewports */
.email-overlay{padding:10px}
.email-dialog{width:min(100%,520px);max-height:calc(100dvh - 20px);padding:19px 25px 17px;overflow-y:auto}
.email-dialog h2{font-size:clamp(1.65rem,3vw,2.1rem);line-height:1.08;margin:3px 0}
.email-dialog .eyebrow{margin:0}
.email-help{font-size:.81rem;line-height:1.45;margin:7px 0 9px}
#email-form{gap:4px}
#email-form label{margin-top:4px;font-size:.85rem}
#email-form input,#email-form select{padding:8px 11px;min-height:36px}
#email-form textarea{padding:8px 11px;min-height:54px;max-height:85px}
.email-submit{margin-top:7px;min-height:40px}
.email-draft-button{width:100%;min-height:40px;border:1px solid rgba(22,75,66,.25);border-radius:999px;background:rgba(255,255,255,.88);color:var(--teal-800);font-weight:750;cursor:pointer}
.email-draft-button:hover{background:#fff}
.email-submit:disabled{opacity:.7;cursor:not-allowed}
.email-send-note{font-size:.75rem;color:var(--muted);margin:2px 0 0;line-height:1.35}
.email-copy{padding:6px 12px;min-height:28px;font-size:.78rem}
.email-status{font-size:.76rem;line-height:1.35}
.email-phone{margin-top:6px;padding-top:7px;gap:0}
.email-phone span{font-size:.75rem}
.email-phone a{font-size:1.4rem}
@media(max-width:480px){.email-dialog{padding:17px 16px 13px}.email-dialog h2{font-size:1.65rem}}

.required-star{color:#bf3434;font-weight:800;margin-left:3px}.email-success[hidden]{display:none!important}.email-success{text-align:center;padding:32px 15px}.email-success-check{display:grid;place-items:center;margin:0 auto 16px;width:62px;height:62px;border-radius:50%;background:#177a53;color:white;font-size:38px;font-weight:700}.email-success h2{font-family:Georgia,serif;color:var(--teal-950);font-size:clamp(1.6rem,4vw,2.2rem);margin:0 0 15px}.email-success p{color:var(--teal-950);font-size:1rem;line-height:1.6}

/* Contact form required-field progress */
#email-form label .field-state{display:inline-flex;align-items:center;justify-content:center;width:1.05em;margin-right:3px;color:#c02d2d;font-size:1.1em;font-weight:800;vertical-align:baseline}
#email-form label.field-complete .field-state{color:#16854c;font-size:1.05em}
#email-form input:not([type="hidden"]),#email-form select,#email-form textarea{background:#fff0e2!important;transition:background-color .2s ease,border-color .2s ease}
#email-form input.field-complete,#email-form select.field-complete,#email-form textarea.field-complete{background:#fff!important;border-color:#439c70!important}

/* Language-safe form progress indicators */
#email-form label[for^="email-"] .field-state{display:none!important}
#email-form label[for="email-name"]::before,#email-form label[for="email-address"]::before,#email-form label[for="email-service"]::before,#email-form label[for="email-message"]::before{content:"*";display:inline-block;color:#c02d2d;font-weight:800;font-size:1.25em;line-height:0.8;margin-right:5px;vertical-align:middle}
#email-form label.field-complete::before{content:"✓";color:#16854c;font-size:1em}

/* Confirmation view only: hide initial contact header and submission controls */
.email-dialog.email-submitted > .eyebrow,.email-dialog.email-submitted > #email-title,.email-dialog.email-submitted > .email-help,.email-dialog.email-submitted .email-submit,.email-dialog.email-submitted .email-draft-button{display:none!important}

#email-form label[for="email-phone"]::before{content:"*";display:inline-block;color:#c02d2d;font-weight:800;font-size:1.25em;line-height:.8;margin-right:5px;vertical-align:middle}
#email-form label[for="email-phone"].field-complete::before{content:"✓";color:#16854c;font-size:1em}
