/* ===== WellTended - paste into Divi -> Theme Options -> Custom CSS ===== */
:root{--wt-teal:#0E6B67;--wt-teal-deep:#0A4E4B;--wt-night:#101A2E;--wt-offwhite:#FAF8F5;--wt-ink:#2B2B2B;--wt-muted:#6B7280;--wt-moon:#F2C879;}
.wt-glass{background:rgba(255,255,255,0.62);border:1px solid rgba(255,255,255,0.8);box-shadow:0 8px 28px rgba(16,26,46,0.07);border-radius:22px;padding:28px !important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);height:100%;}
.wt-glass-warm{background:rgba(242,200,121,0.10);border-color:rgba(242,200,121,0.45);}
.wt-night{background-image:linear-gradient(180deg,#0B1322 0%,#101A2E 60%,#16233C 100%) !important;position:relative;overflow:hidden;}
.wt-sky{position:absolute;inset:0;pointer-events:none;}
.wt-stars{position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 12% 30%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 32% 12%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 58% 22%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 76% 40%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 88% 14%,rgba(255,255,255,.65),transparent),radial-gradient(1px 1px at 45% 45%,rgba(255,255,255,.4),transparent);}
.wt-moon{position:absolute;top:118px;right:9%;width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 34% 32%,#FFE9BF 0%,var(--wt-moon) 55%,#D9A94F 100%);box-shadow:0 0 46px 12px rgba(242,200,121,0.35);animation:wt-moonrise 2.4s cubic-bezier(.22,.8,.34,1) both;}
@keyframes wt-moonrise{from{transform:translateY(56px);opacity:0;}to{transform:translateY(0);opacity:1;}}
@media(max-width:620px){.wt-moon{top:26px;right:20px;width:58px;height:58px;box-shadow:0 0 30px 8px rgba(242,200,121,0.32);}}
.wt-eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--wt-moon) !important;font-weight:600;}
.wt-eyebrow-teal{letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--wt-teal) !important;font-weight:600;}
.wt-sub{font-size:20px;line-height:1.6;max-width:38em;}
/* p{max-width:65ch} caps every paragraph, so a footnote in a centered section
   ends up as centered text inside a left-hugging box. The sub-heads above them
   fix this with an inline margin:auto; footnotes never got one. */
.wt-footnote{font-size:14px;margin-left:auto;margin-right:auto;}
.wt-caption{font-size:13px;font-style:italic;}
.wt-story{font-size:22px;line-height:1.65;max-width:34em;}
.wt-note{font-size:18px;}
.wt-stepnum{font-size:40px;font-weight:800;color:var(--wt-moon);margin-bottom:0;}
.wt-price{font-size:44px;font-weight:800;color:var(--wt-teal);}
.wt-chips .wt-chip{display:inline-block;margin:6px 8px 6px 0;padding:9px 16px;border:1px solid var(--wt-teal);border-radius:999px;color:var(--wt-teal-deep);background:rgba(14,107,103,0.06);font-size:15px;}
.wt-nav a{color:inherit;text-decoration:none;margin:0 10px;font-weight:500;}
.wt-logo a{text-decoration:none;font-size:20px;font-weight:700;color:var(--wt-teal);}
.wt-header{position:sticky;top:0;z-index:999;background:rgba(250,248,245,0.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(14,107,103,0.14);}
/* ---- Alpha enrollment form (/join, top and bottom) ---------------------- */
/* These MUST live here, not in a page stylesheet: theme-options-custom.css is
   the only CSS that reaches WordPress. The form markup arrives as Divi Code
   modules, which carry no styling of their own. */
.btn{display:inline-block;background:var(--wt-teal);color:#fff;text-decoration:none;padding:15px 30px;border-radius:999px;font-weight:600;border:0;cursor:pointer;font-size:16px;font-family:inherit;box-shadow:0 6px 18px rgba(14,107,103,.22);}
/* border-box is NOT a given on WordPress - the preview has a universal reset,
   Divi does not. Without this, width:100% plus 16px padding overflows each grid
   cell and the paired name/email fields visibly overlap. */
.email,.email *{box-sizing:border-box;}
.email{display:block;max-width:460px;margin:26px auto 0;text-align:left;}
.email input,.email select,.email textarea{width:100%;padding:13px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;font-size:15px;font-family:inherit;-webkit-appearance:none;appearance:none;}
.email textarea{min-height:76px;resize:vertical;}
.email select option{color:var(--wt-ink);background:#fff;}
.email input::placeholder,.email textarea::placeholder{color:rgba(255,255,255,.65);}
.email input:focus,.email select:focus,.email textarea:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.2);}
.email .lbl{display:block;font-size:13.5px;font-weight:700;margin:16px 0 6px;color:rgba(255,255,255,.92);}
.email .lbl:first-child{margin-top:0;}
.email .lbl .opt{font-weight:600;opacity:.66;}
.email-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:560px){.email-row{grid-template-columns:1fr;}}
.email .btn{width:100%;margin-top:22px;text-align:center;}
.email .btn:disabled{opacity:.6;cursor:default;}
.email-status{margin:12px 0 0;font-size:14.5px;min-height:1.3em;color:rgba(255,255,255,.8);text-align:center;}
.email-status.ok{color:#fff;font-weight:700;}
.email-privacy{margin:12px 0 0;font-size:12.5px;line-height:1.5;text-align:center;color:rgba(255,255,255,.62);max-width:42ch;margin-left:auto;margin-right:auto;}
.email-privacy a{color:rgba(255,255,255,.82);text-decoration:underline;}
/* Light sections invert it. */
.email-light input,.email-light select,.email-light textarea{background:#fff;color:var(--wt-ink);border-color:#ddd;}
.email-light input::placeholder,.email-light textarea::placeholder{color:var(--wt-muted);}
.email-light .lbl{color:var(--wt-ink);}
.email-light .email-status{color:var(--wt-muted);}
.email-light .email-status.ok{color:var(--wt-teal-deep);}
.email-light .email-privacy{color:var(--wt-muted);}
.email-light .email-privacy a{color:var(--wt-teal);}
/* Divi wraps Code modules in .et_pb_code_inner; keep it from clipping the form */
.et_pb_code .email{margin-left:auto;margin-right:auto;}
.wt-ref-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}
.et_pb_text ul{padding-left:1.1em;} .et_pb_text li{margin-bottom:.5em;color:var(--wt-ink);}
@media (prefers-reduced-motion:reduce){.wt-moon,.et_pb_module,.et-waypoint{animation:none !important;transition:none !important;}}
/* ---- /patients: the day arc (dawn -> day -> dusk ? night) ---- */
.wt-dawn{background-image:radial-gradient(460px 240px at 84% 8%,rgba(242,200,121,0.4),transparent 70%),linear-gradient(180deg,#FFF1D9 0%,#FAF8F5 76%) !important;}
.wt-dusk{background-image:linear-gradient(180deg,#3E4665 0%,#252E4C 100%) !important;}
.wt-dusk h2,.wt-dusk h3{color:#fff;}
.wt-dusk p{color:rgba(255,255,255,0.88);}
.wt-elder p{font-size:1.19rem;line-height:1.66;}
.wt-elder .wt-caption{font-size:14px;}
.wt-moment{display:grid;grid-template-columns:132px 1fr;gap:26px;margin:0 0 30px;}
.wt-time{font-size:1.45rem;font-weight:800;color:var(--wt-teal-deep);text-align:right;padding-top:24px;font-variant-numeric:tabular-nums;margin:0;}
.wt-dusk .wt-time,.wt-night .wt-time{color:var(--wt-moon);}
.wt-story-card{font-size:1.32rem;line-height:1.7;}
@media(max-width:680px){.wt-moment{grid-template-columns:1fr;gap:8px;}.wt-time{text-align:left;padding-top:0;}}
/* dark-mode decision: permanent night sections (hero/goodnight/CTA); body stays light. */

/* ===================================================================== */
/* Polish layer (2026-08-17) - the base layer Divi never got.            */
/* Divi ships 14px Open Sans, 30px #333 headings, and stock blue ghost  */
/* buttons; the kit only ever styled .wt-* components. This installs     */
/* the brand's type scale, button system, and quality floor site-wide.  */
/* See DESIGN-BRIEF.md. Source of truth: build.js (never edit live).    */
/* ===================================================================== */

/* ---- Base type ---- */
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; font-size: 17px; color: #2B2B2B; }
.et_pb_text { font-size: 17px; line-height: 1.65; }
h1, h2, h3, h4 { font-family: ui-rounded, -apple-system, "SF Pro Rounded", BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #2B2B2B; text-wrap: balance; }
h1 { font-size: clamp(2.35rem, 5vw, 3.4rem); font-weight: 800; line-height: 1.12; letter-spacing: -0.02em; }
h2 { font-size: clamp(1.7rem, 3.2vw, 2.3rem); font-weight: 700; line-height: 1.18; letter-spacing: -0.015em; }
h3 { font-size: 1.3rem; font-weight: 700; line-height: 1.3; }
p { text-wrap: pretty; }
.et_pb_text p { max-width: 68ch; }
/* centered text with a measure cap must also center its BOX, or it hugs left */
.et_pb_text p[style*="text-align: center"], .et_pb_text p[style*="text-align:center"],
.et_pb_text_align_center p { margin-left: auto; margin-right: auto; }
.wt-sub { font-size: clamp(1.1rem, 1.6vw, 1.3rem); }

/* ---- Night sections: legible and luminous ---- */
.wt-night h1, .wt-night h2, .wt-night h3, .wt-night h4 { color: #fff; }
.wt-night .et_pb_text { color: rgba(255,255,255,.88); }

/* ---- Buttons: brand pills; moonlight CTA on night sections ---- */
.et_pb_button {
  background: #0E6B67; color: #fff !important; border: 0; border-radius: 999px;
  padding: 13px 28px !important; font-size: 16px; font-weight: 600; letter-spacing: .01em;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  box-shadow: 0 6px 18px rgba(14,107,103,.22);
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.et_pb_button:hover { background: #0A4E4B; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(14,107,103,.30); padding: 13px 28px !important; }
.et_pb_button:after, .et_pb_button:before { display: none !important; }
/* the signature: on night sections the CTA borrows the moon's light */
.wt-night .et_pb_button { background: #F2C879; color: #1E2740 !important; box-shadow: 0 6px 22px rgba(242,200,121,.30); }
.wt-night .et_pb_button:hover { background: #F6D391; box-shadow: 0 10px 28px rgba(242,200,121,.38); }

/* ---- Focus visibility: teal on light, moonlight on night ---- */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, .et_pb_button:focus-visible { outline: 3px solid rgba(14,107,103,.55); outline-offset: 2px; }
.wt-night a:focus-visible, .wt-night button:focus-visible, .wt-night .et_pb_button:focus-visible,
.wt-night input:focus-visible, .wt-night select:focus-visible, .wt-night textarea:focus-visible { outline-color: rgba(242,200,121,.9); }

/* ---- Header: hairline, quiet confidence ---- */
/* Also pins the logo: a Divi 5 options save clobbered the template's generated
   image sizing (2026-08-17), letting the logo render at its natural 376x125.
   Constraining it here makes the header immune to that class of failure. */
.et-l--header .et_pb_section { box-shadow: 0 1px 0 rgba(18,49,45,.08); padding-top: 10px !important; padding-bottom: 10px !important; }
/* the template pairs -30px pull-margins with 51px section padding; with the
   compact padding those margins must go too, or the logo floats above the bar */
.et-l--header .et_pb_row.et_pb_row, .et-l--header .et_pb_image.et_pb_image { margin: 0 !important; }
.et-l--header .et_pb_image .et_pb_image_wrap { margin: 0; line-height: 0; }
.et-l--header img { max-height: 44px !important; width: auto !important; }
.et-l--header .et_pb_menu a { font-size: 14px; font-weight: 500; color: #2B2B2B; transition: color .15s ease; }
.et-l--header .et_pb_menu a:hover { color: #0E6B67; }
.et-l--header .current-menu-item > a { color: #0E6B67; font-weight: 700; }
.et-l--header .et_pb_row { align-items: center; }

/* ---- Cards, lists, chips ---- */
.wt-glass { transition: transform .18s ease, box-shadow .18s ease; }
.wt-glass:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(16,26,46,.10); }
.et_pb_text li::marker { color: #0E6B67; }
.wt-chip { transition: background .16s ease; }
.wt-chip:hover { background: rgba(14,107,103,.12); }

/* ---- Night heroes breathe easier on phones ---- */
@media (max-width: 767px) {
  .et_pb_section.wt-night { padding-top: 72px !important; padding-bottom: 72px !important; }
}

/* ---- Quality floor ---- */
::selection { background: #0E6B67; color: #fff; }
html { scroll-behavior: smooth; }
#footer-bottom { display: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
