/*
Theme Name: LifeSpring Fertility & Specialist Hospital
Theme URI: https://example.com/
Author: LifeSpring Digital Team
Author URI: https://example.com/
Description: A modern, accessible and performance-focused WordPress theme for LifeSpring Fertility & Specialist Hospital.
Version: 2.5.1
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: lifespring
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/*
Brand palette: deep hospital navy paired with a teal and sky-blue
duo and a warm coral highlight, in the spirit of a trusted
specialist-hospital brand.
  Navy       #0b2c56 / dark #071a38 – header, headings, primary actions
  Teal       #12958c                – section eyebrows, secondary icons
  Sky blue   #1e9fe0                – interactive accent, links
  Coral      #e8604f                – warm highlight accent
  Purple     #7b4fa0                – supporting accent
All pairings below meet WCAG AA (4.5:1) for text use on white.
*/
:root {
  --ls-primary: #0b2c56;
  --ls-primary-dark: #071a38;
  --ls-primary-soft: #e9f2fa;
  --ls-secondary: #12958c;
  --ls-secondary-soft: #e2f4f2;
  --ls-accent: #1e9fe0;
  --ls-accent-soft: #e6f4fc;
  --ls-coral: #e8604f;
  --ls-coral-soft: #fce9e6;
  --ls-purple: #7b4fa0;
  --ls-purple-soft: #efe6f5;
  --ls-ink: #0a1930;
  --ls-muted: #5c6b7a;
  --ls-bg: #fbfaf7;
  --ls-surface: #ffffff;
  --ls-border: #dde6f0;
  --ls-success: #12958c;
  --ls-danger: #a73b3b;
  --ls-radius: 18px;
  --ls-shadow: 0 14px 40px rgba(10, 25, 48, .1);
  --ls-container: 1180px;
  --ls-gap: clamp(1.25rem, 2vw, 2rem);
  --ls-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ls-display: "Lora", Georgia, "Times New Roman", serif;
  --ls-title-font: "Playfair Display", "Lora", Georgia, "Times New Roman", serif;
  --ls-brand-gradient: linear-gradient(90deg, var(--ls-primary) 0%, var(--ls-secondary) 55%, var(--ls-accent) 100%);
  --ls-icon-cycle: var(--ls-primary), var(--ls-secondary), var(--ls-accent), var(--ls-coral);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--ls-bg);
  color: var(--ls-ink);
  font-family: var(--ls-font);
  font-size: 16px;
  line-height: 1.7;
}

img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }
a { color: var(--ls-primary-dark); text-underline-offset: 3px; }
a:hover { color: var(--ls-primary); }
:focus-visible { outline: 3px solid var(--ls-accent); outline-offset: 3px; }

.container { width: min(calc(100% - 2rem), var(--ls-container)); margin-inline: auto; }
.narrow { width: min(100%, 780px); }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; left: 1rem; top: 1rem; z-index: 9999; transform: translateY(-150%);
  background: var(--ls-ink); color: #fff; padding: .7rem 1rem; border-radius: 8px;
}
.skip-link:focus { transform: none; color: #fff; }

.site-header { background: var(--ls-primary); border-bottom: 0; position: sticky; top: 0; z-index: 1000; }
.topbar { background: var(--ls-ink); color: #fff; font-size: .85rem; }
.topbar .container { display:flex; justify-content:space-between; gap:1rem; align-items:center; min-height:36px; }
.topbar a { color:#fff; }
.topbar__links { display:flex; gap:1.2rem; flex-wrap:wrap; }

.header-main { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.site-branding { display:flex; align-items:center; gap:.9rem; min-width:0; background:#fff; border-radius:14px; padding:.5rem 1rem; }
.custom-logo, .custom-logo-link img { max-height:52px; width:auto; }
.site-title {
  font-family: var(--ls-title-font); font-weight:900; font-size:1.85rem; line-height:1; letter-spacing:-.015em; text-decoration:none;
  color: var(--ls-primary); /* fallback for browsers without background-clip: text */
  background: var(--ls-brand-gradient);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.site-description { display:block; color:var(--ls-muted); font-size:.7rem; font-weight:700; letter-spacing:.03em; margin-top:.3rem; max-width:260px; line-height:1.25; }

.primary-nav { display:flex; align-items:center; gap:1.2rem; }
.primary-nav ul { list-style:none; margin:0; padding:0; display:flex; gap:1.25rem; align-items:center; }
.primary-nav a { text-decoration:none; color:#fff; font-weight:600; font-size:.94rem; }
.primary-nav a:hover { color:var(--ls-accent-soft); }
.menu-toggle { display:none; background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.35); border-radius:10px; padding:.6rem; }

.button {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:46px; padding:.72rem 1.15rem; border-radius:10px; border:1px solid transparent;
  text-decoration:none; font-weight:800; cursor:pointer; transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.button:hover { transform:translateY(-1px); text-decoration:none; }
.button--primary { background:var(--ls-primary); color:#fff; }
.button--primary:hover { background:var(--ls-primary-dark); color:#fff; }
.button--secondary { background:#fff; color:var(--ls-primary-dark); border-color:var(--ls-border); }
.button--light { background:#fff; color:var(--ls-primary-dark); }
.button--ghost { background:transparent; color:var(--ls-primary-dark); border-color:var(--ls-primary); }
.button--ghost-light { background:transparent; color:#fff; border-color:rgba(255,255,255,.6); }
.button--ghost-light:hover { background:rgba(255,255,255,.1); border-color:#fff; color:#fff; }

.hero { padding: clamp(3rem, 7vw, 6.5rem) 0; overflow:hidden; }
.hero--split { background:linear-gradient(135deg, var(--ls-primary-soft), #fff 62%); }
.hero__grid { display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.eyebrow { display:inline-flex; gap:.5rem; align-items:center; color:var(--ls-secondary); font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.09em; margin-bottom:1rem; }
.eyebrow::before { content:""; width:28px; height:2px; background:var(--ls-secondary); }
.hero h1, .page-hero h1 { font-family:var(--ls-display); font-size:clamp(2.3rem, 5vw, 4.6rem); line-height:1.03; letter-spacing:-.04em; margin:.2rem 0 1.25rem; max-width:780px; }
.hero p.lead { color:var(--ls-muted); font-size:clamp(1.05rem, 2vw, 1.22rem); max-width:670px; }
.hero__actions { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.6rem; }
.hero__media { min-height:420px; border-radius:28px; overflow:hidden; background:#d9ebe7; box-shadow:var(--ls-shadow); position:relative; }
.hero__media img { width:100%; height:100%; min-height:420px; object-fit:cover; }
.hero__media--placeholder { display:grid; place-items:center; padding:2rem; color:var(--ls-primary-dark); text-align:center; }

.quick-actions { margin-top:-2rem; position:relative; z-index:2; }
.quick-actions__grid { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border:1px solid var(--ls-border); border-radius:18px; box-shadow:var(--ls-shadow); overflow:hidden; }
.quick-action { position:relative; padding:1.25rem 1.25rem 1.25rem 4.4rem; text-decoration:none; color:var(--ls-ink); border-right:1px solid var(--ls-border); }
.quick-action:last-child { border-right:0; }
.quick-action::before { content:"›"; position:absolute; left:1.25rem; top:1.25rem; width:42px; height:42px; border-radius:50%; background:var(--ls-primary-soft); color:var(--ls-primary); font-weight:900; font-size:1.15rem; display:grid; place-items:center; }
.quick-action:nth-child(4n+2)::before { background:var(--ls-secondary-soft); color:var(--ls-secondary); }
.quick-action:nth-child(4n+3)::before { background:var(--ls-accent-soft); color:var(--ls-accent); }
.quick-action:nth-child(4n+4)::before { background:var(--ls-coral-soft); color:var(--ls-coral); }
.quick-action strong { display:block; margin-bottom:.2rem; }
.quick-action span { color:var(--ls-muted); font-size:.9rem; }

.section { padding:clamp(3.5rem,7vw,6rem) 0; }
.section--soft { background:var(--ls-primary-soft); }
.section__head { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:2rem; }
.section__head h2 { margin:0; font-family:var(--ls-display); font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.1; letter-spacing:-.025em; }
.section__head p { margin:.5rem 0 0; color:var(--ls-muted); max-width:650px; }
.text-link { font-weight:800; white-space:nowrap; }

.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--ls-gap); }
.card { background:var(--ls-surface); border:1px solid var(--ls-border); border-radius:var(--ls-radius); overflow:hidden; }
.card__body { padding:1.35rem; }
.card h3 { margin:.1rem 0 .5rem; font-family:var(--ls-display); line-height:1.2; }
.card p { color:var(--ls-muted); margin:.4rem 0; }
.card__image { aspect-ratio:16/10; background:var(--ls-primary-soft); overflow:hidden; }
.card__image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.card:hover .card__image img { transform:scale(1.025); }
.card__meta { font-size:.82rem; color:var(--ls-primary-dark); font-weight:800; }

.icon-card { padding:1.5rem; }
.icon-card__icon { width:46px; height:46px; border-radius:50%; background:var(--ls-primary); display:grid; place-items:center; color:#fff; font-weight:900; margin-bottom:1rem; }
.icon-card:nth-of-type(4n+2) .icon-card__icon { background:var(--ls-secondary); }
.icon-card:nth-of-type(4n+3) .icon-card__icon { background:var(--ls-accent); }
.icon-card:nth-of-type(4n+4) .icon-card__icon { background:var(--ls-coral); }
.icon-card a { text-decoration:none; }
.icon-card__icon .dashicons,
.service-tile__icon .dashicons { font-size:22px; width:22px; height:22px; line-height:1; }

.split-feature { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:center; }

.founder-grid { display:grid; grid-template-columns:280px 1fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
.founder-portrait { position:relative; width:240px; max-width:100%; margin:0 auto; }
.founder-portrait__ring { position:absolute; inset:-26px; border-radius:50%; border:2px dashed var(--ls-secondary); opacity:.55; animation: founder-ring-spin 50s linear infinite; }
.founder-portrait__glow { position:absolute; inset:-10px; border-radius:50%; background:var(--ls-brand-gradient); opacity:.9; filter:blur(1px); }
.founder-portrait__frame { position:relative; z-index:1; aspect-ratio:1/1; border-radius:50%; overflow:hidden; border:6px solid #fff; box-shadow:0 20px 45px rgba(16,27,51,.18); }
.founder-portrait__frame img { width:100%; height:100%; object-fit:cover; display:block; }
.founder-portrait__badge { position:absolute; z-index:2; bottom:2%; right:2%; width:48px; height:48px; border-radius:50%; background:#fff; border:3px solid var(--ls-primary-soft); color:var(--ls-primary); font-weight:900; display:grid; place-items:center; box-shadow:var(--ls-shadow); }
.founder-content__role { color:var(--ls-primary-dark); font-weight:800; margin-top:-.5rem; }
@keyframes founder-ring-spin { to { transform:rotate(360deg); } }
@media (max-width:780px) {
  .founder-grid { grid-template-columns:1fr; text-align:center; }
  .founder-portrait { margin-bottom:.5rem; }
}
.feature-list { list-style:none; padding:0; margin:1.5rem 0; display:grid; gap:.9rem; }
.feature-list li { display:flex; gap:.7rem; align-items:flex-start; }
.feature-list li::before { content:"✓"; flex:0 0 25px; height:25px; border-radius:50%; display:grid; place-items:center; background:var(--ls-primary-soft); color:var(--ls-primary); font-weight:900; }
.media-frame { border-radius:24px; overflow:hidden; background:var(--ls-primary-soft); box-shadow:var(--ls-shadow); }
.media-frame img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.media-frame.contact-map { aspect-ratio:4/3; }
.media-frame.contact-map iframe { display:block; height:100%; }

.contact-details { list-style:none; margin:1.5rem 0 0; padding:0; display:grid; gap:1.1rem; }
.contact-details li { display:flex; flex-direction:column; gap:.2rem; padding-bottom:1.1rem; border-bottom:1px solid var(--ls-border); }
.contact-details li:last-child { border-bottom:0; padding-bottom:0; }
.contact-details strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ls-muted); }
.contact-details a, .contact-details span { font-size:1.05rem; font-weight:700; color:var(--ls-primary-dark); }
.contact-details a { text-decoration:none; }
.contact-details a:hover { text-decoration:underline; }

.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; counter-reset:step; }
.step { position:relative; padding:1.4rem; background:#fff; border:1px solid var(--ls-border); border-radius:16px; }
.step__number { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--ls-primary); color:#fff; font-weight:900; margin-bottom:1rem; }
.step h3 { font-size:1.05rem; margin:.2rem 0; }
.step p { color:var(--ls-muted); font-size:.92rem; }

.cta { padding:clamp(2rem,5vw,4rem); border-radius:26px; background:var(--ls-primary-soft); border:1px solid var(--ls-border); color:var(--ls-ink); }
.cta h2 { font-family:var(--ls-display); margin:0 0 .5rem; font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.1; color:var(--ls-primary); }
.cta p { color:var(--ls-muted); max-width:650px; }
.cta__actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.2rem; }
.cta .button--light { background:var(--ls-accent); color:#fff; }
.cta .button--light:hover { background:#1683ba; color:#fff; }
.cta .button--ghost-light { background:transparent; color:var(--ls-primary-dark); border-color:rgba(7,26,56,.35); }
.cta .button--ghost-light:hover { background:rgba(7,26,56,.08); border-color:var(--ls-primary-dark); color:var(--ls-primary-dark); }

.page-hero { padding:clamp(2.5rem,5vw,4.5rem) 0; background:var(--ls-primary-soft); }
.page-hero p { color:var(--ls-muted); max-width:720px; font-size:1.08rem; }

.content { padding:clamp(2.5rem,5vw,5rem) 0; }
.entry-content { max-width:800px; }
.entry-content h2, .entry-content h3 { font-family:var(--ls-display); line-height:1.2; margin-top:2rem; }
.entry-content img { border-radius:14px; }
.entry-content blockquote { border-left:4px solid var(--ls-accent); margin:2rem 0; padding:.5rem 1.25rem; background:#fff; }
.entry-title { font-family:var(--ls-display); font-size:clamp(2rem,4vw,3.5rem); line-height:1.08; letter-spacing:-.03em; }

.specialist-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--ls-gap); }
.specialist-card { background:#fff; border:1px solid var(--ls-border); border-radius:18px; overflow:hidden; }
.specialist-card__photo { aspect-ratio:1/1; background:var(--ls-primary-soft); }
.specialist-card__photo img { width:100%; height:100%; object-fit:cover; }
.specialist-card__body { padding:1.25rem; }
.specialist-card__body h3 { margin:0; font-family:var(--ls-display); }
.specialist-card__specialty { color:var(--ls-primary); font-weight:800; font-size:.9rem; }
.specialist-card__body p { color:var(--ls-muted); }

.consultation-box { max-width:920px; margin-inline:auto; background:#fff; border:1px solid var(--ls-border); border-radius:22px; box-shadow:var(--ls-shadow); padding:clamp(1.25rem,4vw,2.5rem); }
.consultation-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; margin-bottom:2rem; }
.consultation-step { padding:.8rem; text-align:center; font-size:.82rem; color:var(--ls-muted); border-bottom:3px solid var(--ls-border); }
.consultation-step.is-active { color:var(--ls-primary-dark); border-bottom-color:var(--ls-primary); font-weight:900; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.form-field { display:grid; gap:.4rem; }
.form-field--full { grid-column:1/-1; }
.form-field label { font-weight:800; font-size:.9rem; }
.form-field input, .form-field select, .form-field textarea {
  width:100%; border:1px solid #cbd9d6; border-radius:10px; padding:.78rem .9rem; background:#fff; color:var(--ls-ink);
}
.form-field textarea { min-height:130px; resize:vertical; }
.form-help { color:var(--ls-muted); font-size:.82rem; }
.form-actions { display:flex; justify-content:space-between; gap:1rem; margin-top:1.25rem; flex-wrap:wrap; }
.notice { padding:1rem 1.1rem; border-radius:12px; background:var(--ls-primary-soft); border:1px solid #cfe4df; }
.notice--warning { background:#fff8ed; border-color:#eed8b5; }
.notice--error { background:#fff1f1; border-color:#e8c0c0; color:var(--ls-danger); }

.faq-list { display:grid; gap:.75rem; }
.faq-list details { background:#fff; border:1px solid var(--ls-border); border-radius:14px; padding:1rem 1.2rem; }
.faq-list summary { cursor:pointer; font-weight:800; }
.faq-list p { color:var(--ls-muted); margin-bottom:.2rem; }

.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--ls-gap); }
.post-card { background:#fff; border:1px solid var(--ls-border); border-radius:18px; overflow:hidden; }
.post-card__body { padding:1.25rem; }
.post-card h2 { font-family:var(--ls-display); font-size:1.25rem; line-height:1.25; margin:.25rem 0 .6rem; }
.post-card h2 a { color:var(--ls-ink); text-decoration:none; }
.post-card p { color:var(--ls-muted); }
.post-meta { color:var(--ls-muted); font-size:.8rem; }

.pagination { margin-top:2rem; }
.pagination .nav-links { display:flex; gap:.4rem; flex-wrap:wrap; }
.pagination a, .pagination span { display:inline-flex; padding:.55rem .8rem; border:1px solid var(--ls-border); border-radius:8px; text-decoration:none; background:#fff; }
.pagination .current { background:var(--ls-primary); color:#fff; border-color:var(--ls-primary); }

.site-footer { margin-top:3rem; background:linear-gradient(160deg, var(--ls-ink), var(--ls-primary) 130%); color:#c7d3e0; }
.site-footer a { color:#fff; }
.site-footer a:hover { color:var(--ls-accent-soft); }
.footer-main { padding:4rem 0 2.5rem; display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:2.5rem; }
.footer-brand .site-title { display:block; font-size:1.4rem; background:none; -webkit-text-fill-color:#fff; color:#fff; }
.footer-brand p { max-width:360px; color:#b8c9ca; }
.footer-col h2 { font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; margin-top:0; color:#fff; }
.footer-col ul { list-style:none; padding:0; margin:0; display:grid; gap:.55rem; }
.footer-col li { font-size:.92rem; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.14); padding:1rem 0; font-size:.82rem; }
.footer-bottom .container { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
.footer-bottom__nav { display:flex; gap:1.25rem; flex-wrap:wrap; }
.footer-bottom a { color:#dfeae7; text-decoration:none; }
.footer-bottom a:hover { color:#fff; text-decoration:underline; }

.mobile-actions { display:none; }

@media (max-width: 980px) {
  .primary-nav { display:none; }
  .menu-toggle { display:inline-flex; align-items:center; justify-content:center; }
  .header-main { position:relative; }
  .primary-nav.is-open { display:block; position:absolute; left:0; right:0; top:78px; background:linear-gradient(160deg, var(--ls-primary), var(--ls-primary-dark)); border-top:1px solid rgba(255,255,255,.15); box-shadow:var(--ls-shadow); padding:1rem; }
  .primary-nav.is-open ul { display:grid; gap:.2rem; }
  .primary-nav.is-open a { display:block; padding:.7rem; color:#fff; border-bottom:1px solid rgba(255,255,255,.1); }
  .hero__grid, .split-feature { grid-template-columns:1fr; }
  .hero__media { min-height:330px; }
  .hero__media img { min-height:330px; }
  .cards, .specialist-grid, .blog-grid { grid-template-columns:repeat(2,1fr); }
  .steps { grid-template-columns:repeat(2,1fr); }
  .footer-main { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 640px) {
  body { padding-bottom:70px; }
  .container { width:min(calc(100% - 1.25rem), var(--ls-container)); }
  .topbar { display:none; }
  .header-main { min-height:70px; }
  .header-main > .button { padding:.6rem .8rem; font-size:.82rem; min-height:38px; }
  .site-branding { padding:.35rem .7rem; border-radius:11px; }
  .site-title { font-size:1.4rem; }
  .site-description { display:none; }
  .custom-logo, .custom-logo-link img { max-height:38px; }
  .quick-actions { margin-top:1rem; }
  .quick-actions__grid { grid-template-columns:repeat(2,1fr); }
  .quick-action { border-right:1px solid var(--ls-border); border-bottom:1px solid var(--ls-border); }
  .quick-action:nth-child(2n) { border-right:0; }
  .quick-action:nth-last-child(-n+2) { border-bottom:0; }
  .section__head { display:block; }
  .section__head .text-link { display:inline-block; margin-top:.8rem; }
  .cards, .specialist-grid, .blog-grid, .steps, .form-grid { grid-template-columns:1fr; }
  .form-field--full { grid-column:auto; }
  .consultation-steps { grid-template-columns:repeat(2,1fr); }
  .footer-main { grid-template-columns:1fr; }
  .footer-bottom .container { display:block; }
  .mobile-actions {
    position:fixed; left:0; right:0; bottom:0; z-index:2000; display:grid; grid-template-columns:repeat(3,1fr);
    background:#fff; border-top:1px solid var(--ls-border); box-shadow:0 -8px 24px rgba(23,51,58,.1);
  }
  .mobile-actions a { text-align:center; padding:.55rem .25rem; font-size:.72rem; font-weight:900; text-decoration:none; color:var(--ls-ink); }
  .mobile-actions a:last-child { background:var(--ls-primary); color:#fff; }
}

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

/* Consultation and patient portal UI */
.app-kicker { color:var(--ls-primary); font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.consultation-app { background:#fff; border:1px solid var(--ls-border); border-radius:26px; box-shadow:var(--ls-shadow); overflow:hidden; }
.consultation-app__top { padding:2rem clamp(1.25rem,4vw,2.5rem); display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; background:linear-gradient(135deg,#fff,var(--ls-primary-soft)); }
.consultation-app__top h2 { margin:.35rem 0 .3rem; font-family:var(--ls-display); font-size:clamp(1.7rem,3vw,2.35rem); line-height:1.1; }
.consultation-app__top p { color:var(--ls-muted); margin:0; }
.secure-pill { background:#fff; border:1px solid var(--ls-border); border-radius:999px; padding:.5rem .8rem; font-size:.78rem; font-weight:800; white-space:nowrap; }
.secure-pill span,.status-dot { color:var(--ls-success); }
.consultation-tabs { display:flex; border-bottom:1px solid var(--ls-border); padding:0 clamp(1.25rem,4vw,2.5rem); gap:1.5rem; }
.consultation-tab { border:0; border-bottom:3px solid transparent; background:transparent; padding:1rem .1rem .85rem; font-weight:900; color:var(--ls-muted); cursor:pointer; }
.consultation-tab.is-active { color:var(--ls-primary-dark); border-bottom-color:var(--ls-primary); }
.consultation-panel { padding:clamp(1.25rem,4vw,2.5rem); }
.consultation-progress { display:grid; grid-template-columns:repeat(5,1fr); gap:.5rem; margin-bottom:2rem; }
.consultation-progress__item { display:flex; align-items:center; gap:.5rem; color:#8a989b; font-size:.78rem; font-weight:800; }
.consultation-progress__item span { width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--ls-border);background:#fff; }
.consultation-progress__item.is-active { color:var(--ls-primary-dark); }
.consultation-progress__item.is-active span,.consultation-progress__item.is-complete span { background:var(--ls-primary); color:#fff; border-color:var(--ls-primary); }
.app-section-heading { margin-bottom:1.5rem; }
.app-section-heading > span { color:var(--ls-primary); font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.app-section-heading h3 { font-family:var(--ls-display); font-size:1.75rem; margin:.25rem 0 .35rem; }
.app-section-heading p { color:var(--ls-muted); margin:0; }
.choice-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem; }
.choice-card { position:relative; display:block; border:1px solid var(--ls-border); border-radius:16px; padding:1.1rem; cursor:pointer; transition:.15s ease; }
.choice-card:hover { border-color:#b5cbc7; transform:translateY(-1px); }
.choice-card:has(input:checked) { border:2px solid var(--ls-primary); padding:calc(1.1rem - 1px); background:var(--ls-primary-soft); }
.choice-card input,.specialist-choice input { position:absolute;opacity:0;pointer-events:none; }
.choice-card__icon { width:38px;height:38px;border-radius:10px;background:#fff;display:grid;place-items:center;color:var(--ls-primary);font-weight:900;margin-bottom:.8rem; }
.choice-card strong,.choice-card small { display:block; }
.choice-card small { color:var(--ls-muted);font-size:.84rem;margin-top:.25rem; }
.mode-picker { margin-top:1.4rem; }
.field-label { display:block;font-weight:800;font-size:.9rem;margin-bottom:.6rem; }
.mode-options { display:flex;gap:.7rem;flex-wrap:wrap; }
.mode-options label { cursor:pointer; }
.mode-options input { position:absolute;opacity:0; }
.mode-options span { display:block;padding:.7rem 1rem;border:1px solid var(--ls-border);border-radius:10px;font-weight:700; }
.mode-options input:checked + span { border-color:var(--ls-primary);background:var(--ls-primary-soft);color:var(--ls-primary-dark); }
.specialist-select-grid { display:grid;gap:.75rem; }
.specialist-choice { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;border:1px solid var(--ls-border);border-radius:14px;padding:.9rem 1rem;cursor:pointer; }
.specialist-choice.is-selected { border-color:var(--ls-primary);background:var(--ls-primary-soft); }
.specialist-choice strong,.specialist-choice small { display:block; }
.specialist-choice small { color:var(--ls-muted);font-size:.82rem; }
.specialist-choice i { color:var(--ls-primary);font-style:normal;opacity:0; }
.specialist-choice.is-selected i { opacity:1; }
.specialist-avatar,.chat-avatar,.profile-avatar { width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ls-primary-soft);color:var(--ls-primary-dark);font-size:.78rem;font-weight:900; }
.schedule-note { margin-top:1rem;padding:1rem;background:var(--ls-primary-soft);border-radius:12px;color:var(--ls-muted); }
.schedule-note strong { color:var(--ls-ink); }
.optional { font-weight:500;color:var(--ls-muted); }
.consent-check { display:flex;gap:.7rem;margin-top:1.2rem;font-size:.85rem;color:var(--ls-muted); }
.consent-check input { margin-top:.3rem;accent-color:var(--ls-primary); }
.form-error { margin-top:1rem;padding:.8rem 1rem;border-radius:10px;background:#fff1f1;border:1px solid #e8c0c0;color:var(--ls-danger);font-weight:700; }
.booking-actions { align-items:center; }
.booking-step-counter { color:var(--ls-muted);font-size:.82rem;font-weight:800;margin-left:auto;margin-right:auto; }
.booking-summary { border:1px solid var(--ls-border);border-radius:14px;overflow:hidden;margin-bottom:1.25rem; }
.summary-row { display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid var(--ls-border); }
.summary-row:last-child { border-bottom:0; }
.summary-row span { color:var(--ls-muted); }
.summary-row strong { text-align:right; }
.booking-success { text-align:center;padding:2rem 1rem;max-width:620px;margin:auto; }
.success-icon { width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 1rem;background:var(--ls-primary-soft);color:var(--ls-primary);font-size:1.7rem;font-weight:900; }
.booking-success h3 { font-family:var(--ls-display);font-size:1.8rem;line-height:1.2; }
.booking-success p { color:var(--ls-muted); }

.chat-shell { display:grid;grid-template-columns:280px 1fr;min-height:600px;border:1px solid var(--ls-border);border-radius:18px;overflow:hidden;background:#fff; }
.chat-sidebar { border-right:1px solid var(--ls-border);background:#fbfdfc; }
.chat-sidebar__head { padding:1rem;border-bottom:1px solid var(--ls-border);display:flex;justify-content:space-between;align-items:center; }
.chat-sidebar__head strong,.chat-sidebar__head small { display:block; }
.chat-sidebar__head small { color:var(--ls-muted);font-size:.75rem; }
.icon-button,.chat-header__more { border:0;background:transparent;cursor:pointer;font-weight:900;color:var(--ls-primary);font-size:1.2rem; }
.chat-thread { width:100%;border:0;border-bottom:1px solid var(--ls-border);background:transparent;display:grid;grid-template-columns:auto 1fr auto;text-align:left;align-items:center;gap:.7rem;padding:.9rem 1rem;cursor:pointer; }
.chat-thread.is-active { background:var(--ls-primary-soft); }
.chat-thread strong,.chat-thread small { display:block; }
.chat-thread small { color:var(--ls-muted);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.chat-thread b { width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--ls-primary);color:#fff;font-size:.68rem; }
.chat-avatar--muted { background:#e9eeee;color:#748285; }
.chat-sidebar__note { margin:1rem;padding:1rem;background:#fff8ed;border:1px solid #eed8b5;border-radius:12px;font-size:.76rem; }
.chat-sidebar__note p { color:var(--ls-muted);margin:.3rem 0 0; }
.chat-window { display:grid;grid-template-rows:auto 1fr auto auto;min-width:0; }
.chat-header { display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border-bottom:1px solid var(--ls-border); }
.chat-header > div { flex:1; }
.chat-header strong,.chat-header span { display:block; }
.chat-header span { color:var(--ls-muted);font-size:.75rem; }
.chat-header__more { color:var(--ls-muted); }
.chat-messages { padding:1.2rem;overflow:auto;max-height:440px;background:#fcfdfd; }
.chat-day { text-align:center;color:#8b9799;font-size:.72rem;font-weight:800;margin-bottom:1rem; }
.message { max-width:75%;margin-bottom:.7rem; }
.message p { margin:0;padding:.75rem .9rem;border-radius:14px; }
.message time { display:block;font-size:.68rem;color:#899598;margin-top:.2rem; }
.message--staff p { background:#eef5f3;border-top-left-radius:4px; }
.message--patient { margin-left:auto;text-align:right; }
.message--patient p { background:var(--ls-primary);color:#fff;border-top-right-radius:4px; }
.message--patient time { color:#7e8c8f; }
.message__label { display:block;font-size:.72rem;font-weight:900;color:var(--ls-primary-dark);margin:0 0 .25rem .2rem; }
.typing-indicator { color:var(--ls-muted);font-size:.75rem;display:flex;align-items:center;gap:3px; }
.typing-indicator span { width:5px;height:5px;border-radius:50%;background:#9aa8aa;display:inline-block; }
.chat-composer { display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:.5rem;border-top:1px solid var(--ls-border);padding:.75rem; }
.chat-composer textarea { width:100%;border:1px solid var(--ls-border);border-radius:12px;padding:.7rem .8rem;resize:none;max-height:110px; }
.attachment-button,.send-button { width:42px;height:42px;border-radius:10px;border:1px solid var(--ls-border);background:#fff;cursor:pointer;display:grid;place-items:center; }
.send-button { background:var(--ls-primary);color:#fff;border-color:var(--ls-primary); }
.chat-disclaimer { padding:.45rem .8rem;text-align:center;color:#899598;font-size:.68rem;background:#fbfcfc; }

.dashboard-layout { display:grid;grid-template-columns:240px 1fr;gap:1.5rem;align-items:start; }
.dashboard-nav { background:#fff;border:1px solid var(--ls-border);border-radius:18px;padding:.75rem; }
.portal-profile { padding:1rem .75rem 1.2rem;border-bottom:1px solid var(--ls-border);margin-bottom:.5rem;display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;align-items:center; }
.portal-profile .profile-avatar { grid-row:span 2; }
.portal-profile strong,.portal-profile small { display:block; }
.portal-profile small { color:var(--ls-muted);font-size:.72rem; }
.dashboard-nav__item { width:100%;text-align:left;border:0;background:transparent;padding:.7rem .75rem;border-radius:9px;color:var(--ls-ink);font-weight:700;cursor:pointer;display:flex;justify-content:space-between; }
.dashboard-nav__item.is-active { background:var(--ls-primary-soft);color:var(--ls-primary-dark); }
.dashboard-nav__item b { width:20px;height:20px;display:grid;place-items:center;background:var(--ls-primary);color:#fff;border-radius:50%;font-size:.65rem; }
.dashboard-welcome { display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem; }
.dashboard-welcome h2 { margin:.2rem 0 0;font-family:var(--ls-display);font-size:2rem; }
.dashboard-stat-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem; }
.dashboard-stat,.dashboard-card { background:#fff;border:1px solid var(--ls-border);border-radius:16px;padding:1.2rem; }
.dashboard-stat span { display:block;color:var(--ls-muted);font-size:.78rem;font-weight:800; }
.dashboard-stat strong { display:block;font-family:var(--ls-display);font-size:1.55rem;margin:.3rem 0; }
.dashboard-stat small { color:var(--ls-muted);font-size:.75rem; }
.dashboard-card { margin-bottom:1rem; }
.dashboard-card__head { display:flex;justify-content:space-between;gap:1rem;align-items:start;padding-bottom:1rem;border-bottom:1px solid var(--ls-border); }
.dashboard-card__head h3 { margin:0;font-family:var(--ls-display); }
.dashboard-card__head p { margin:.2rem 0 0;color:var(--ls-muted);font-size:.82rem; }
.status-badge { padding:.35rem .6rem;border-radius:999px;font-size:.7rem;font-weight:900; }
.status-badge--pending { background:#fff4df;color:#9b681e; }
.request-meta { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem 0; }
.request-meta span { color:var(--ls-muted);font-size:.75rem; }
.request-meta strong { display:block;color:var(--ls-ink);margin-top:.2rem; }
.dashboard-card__actions { display:flex;gap:.7rem;flex-wrap:wrap; }
.text-link { border:0;background:transparent;color:var(--ls-primary-dark);font-weight:900;cursor:pointer; }
.mini-message { display:flex;align-items:center;gap:.7rem;padding:.9rem 0;border-bottom:1px solid var(--ls-border); }
.mini-message:last-child { border-bottom:0; }
.mini-message > div { flex:1; }
.mini-message p { margin:.15rem 0 0;color:var(--ls-muted);font-size:.78rem; }
.mini-message time,.request-time { color:var(--ls-muted);font-size:.7rem;white-space:nowrap; }
.request-row { display:grid;grid-template-columns:auto 1fr auto auto;gap:.75rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--ls-border); }
.request-row:last-child { border-bottom:0; }
.profile-avatar--small { width:38px;height:38px; }
.request-row p { margin:.15rem 0 0;color:var(--ls-muted);font-size:.78rem; }
.unread-dot { width:8px;height:8px;background:var(--ls-primary);border-radius:50%; }

@media(max-width:980px){.choice-grid{grid-template-columns:repeat(2,1fr)}.chat-shell{grid-template-columns:220px 1fr}.dashboard-layout{grid-template-columns:1fr}.dashboard-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem}.portal-profile{grid-column:1/-1}.request-row{grid-template-columns:auto 1fr auto}.request-row .button{grid-column:2/-1;justify-self:start}.request-time{display:none}}
@media(max-width:640px){.consultation-app__top{display:block}.secure-pill{display:inline-block;margin-top:1rem}.consultation-tabs{gap:1rem}.consultation-progress{grid-template-columns:repeat(5,1fr)}.consultation-progress__item{display:block;text-align:center;font-size:.65rem}.consultation-progress__item span{margin:0 auto .25rem}.consultation-progress__item b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choice-grid{grid-template-columns:1fr}.booking-step-counter{order:-1;width:100%;text-align:center}.booking-actions{justify-content:stretch}.booking-actions .button{flex:1}.chat-shell{grid-template-columns:1fr;min-height:0}.chat-sidebar{display:none}.chat-messages{max-height:390px}.message{max-width:88%}.dashboard-nav{grid-template-columns:repeat(2,1fr)}.dashboard-stat-grid{grid-template-columns:1fr}.dashboard-welcome{display:block}.dashboard-welcome .button{margin-top:1rem}.request-meta{grid-template-columns:1fr}.summary-row{display:block}.summary-row strong{display:block;text-align:left;margin-top:.2rem}}
.ls-chat-launcher { position:fixed;right:22px;bottom:22px;z-index:1900;border:0;border-radius:999px;background:var(--ls-primary);color:#fff;box-shadow:0 12px 30px rgba(14,78,73,.28);padding:.75rem .9rem .75rem .75rem;display:flex;align-items:center;gap:.55rem;font-weight:900;cursor:pointer; }
.ls-chat-launcher__icon { width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ls-primary); }
.ls-chat-launcher b { width:20px;height:20px;border-radius:50%;background:var(--ls-accent);display:grid;place-items:center;font-size:.65rem; }
@media(max-width:640px){.ls-chat-launcher{right:12px;bottom:82px}.ls-chat-launcher span:nth-child(2){font-size:.78rem}}

/* =========================================================
   LifeSpring 2.0 visual system
   ========================================================= */
:root{--ls-navy:#0b2c56;--ls-navy-2:#071a38;--ls-teal:#12958c;--ls-blue:#1e9fe0;--ls-coral:#e8604f;--ls-cream:#f8fafc;--ls-line:#dce6ee;--ls-text:#10243d;--ls-muted:#607083;--ls-radius:16px;--ls-container:1200px;--ls-shadow-soft:0 18px 55px rgba(7,26,56,.10)}
body{background:#fff;color:var(--ls-text)}
.container{width:min(calc(100% - 2rem),var(--ls-container))}
.topbar{background:var(--ls-navy-2);font-size:.78rem;letter-spacing:.01em}.topbar__inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar__contact{display:flex;gap:1.2rem;flex-wrap:wrap}.topbar a{text-decoration:none;color:#fff}.topbar a:hover{color:#bfeaff}
.site-header{background:var(--ls-navy);position:sticky;top:0;z-index:1000;box-shadow:0 5px 20px rgba(7,26,56,.14)}.header-main{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.brand-pill{display:flex;align-items:center;gap:.75rem;background:#fff;padding:.45rem .9rem .45rem .45rem;border-radius:14px;text-decoration:none;min-width:290px}.brand-pill__mark{width:48px;height:48px;border-radius:11px;display:grid;place-items:center;background:#eef8f7;overflow:hidden}.brand-pill__mark img{width:43px;height:43px;object-fit:contain}.brand-pill__copy strong{display:block;font-family:var(--ls-title-font);font-weight:900;font-size:1.95rem;line-height:1;color:var(--ls-navy);letter-spacing:.005em}.brand-pill__copy small{display:block;margin-top:.3rem;font-size:.56rem;line-height:1.25;font-weight:800;letter-spacing:.06em;color:#66788b}.primary-nav{display:flex;align-items:center;gap:1.3rem}.primary-nav ul{gap:1.15rem}.primary-nav a{font-size:.88rem;color:#fff}.primary-nav a:hover{color:#bdeef0}.header-cta{display:inline-flex!important;align-items:center;gap:.65rem;background:#fff!important;color:var(--ls-navy)!important;border-radius:999px;padding:.68rem 1rem!important;font-weight:900!important;box-shadow:0 8px 20px rgba(0,0,0,.12)}.header-cta b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ls-blue);color:#fff}.menu-toggle{width:46px;height:42px;padding:.65rem;display:none;flex-direction:column;justify-content:center;gap:5px}.menu-toggle>span:not(.screen-reader-text){display:block;width:21px;height:2px;background:#fff;border-radius:2px}.announcement{background:#eef8f7;border-bottom:1px solid #d6ece9;color:#214b4b;font-size:.78rem}.announcement .container{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.announcement a{font-weight:800;color:var(--ls-navy);text-decoration:none}
.hero-v2{position:relative;overflow:hidden;background:linear-gradient(120deg,#edf7fb 0%,#fff 55%,#eef8f7 100%);padding:clamp(3.5rem,7vw,6.5rem) 0 5rem}.hero-v2__wash{position:absolute;right:-12rem;top:-14rem;width:38rem;height:38rem;border-radius:50%;background:radial-gradient(circle,rgba(30,159,224,.16),rgba(30,159,224,0) 68%)}.hero-v2__grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,6vw,6rem);align-items:center;position:relative}.eyebrow{color:#0b6b65}.card-meta{color:#0b6b65}.hero-v2 h1{font-family:var(--ls-display);font-size:clamp(2.7rem,5.5vw,5.15rem);line-height:1.01;letter-spacing:-.055em;margin:.3rem 0 1.3rem;max-width:760px}.hero-v2 h1 em,.intro-copy h2 em{font-style:normal;color:var(--ls-teal)}.hero-slide{display:none}.hero-slide.is-active{display:block;animation:lsFade .5s ease}.hero-v2 p{color:var(--ls-muted);font-size:clamp(1.02rem,1.8vw,1.2rem);max-width:660px}.hero-v2__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.7rem}.button--outline{background:#fff;color:var(--ls-navy);border:1px solid #b8cbd9}.button--outline:hover{background:#f1f8fc;color:var(--ls-navy)}.hero-trust{display:flex;gap:1rem 1.4rem;flex-wrap:wrap;margin-top:1.5rem;color:#436071;font-size:.78rem;font-weight:800}.hero-dots{display:flex;gap:.45rem;margin-top:1.3rem}.hero-dots button{width:25px;height:4px;border:0;border-radius:9px;background:#bfd2dd;padding:0;cursor:pointer}.hero-dots button.is-active{background:var(--ls-teal);width:42px}.hero-v2__visual{position:relative;padding:1rem 1rem 2.5rem 1.5rem}.hero-photo{border-radius:28px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--ls-shadow-soft);border:8px solid rgba(255,255,255,.8)}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-float{position:absolute;background:#fff;border:1px solid rgba(220,230,238,.9);border-radius:15px;box-shadow:0 15px 35px rgba(7,26,56,.12);display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;max-width:280px}.hero-float span:first-child{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#e7f7f4;color:var(--ls-teal);font-weight:900}.hero-float strong,.hero-float small{display:block}.hero-float strong{font-size:.82rem}.hero-float small{color:var(--ls-muted);font-size:.7rem;margin-top:.15rem}.hero-float--top{top:2.5rem;left:-.5rem}.hero-float--bottom{right:-.2rem;bottom:0}.pulse-dot{width:12px!important;height:12px!important;border-radius:50%!important;background:var(--ls-teal)!important;box-shadow:0 0 0 7px #dff3ef!important}
.quick-actions-v2{position:relative;margin-top:-2rem;z-index:3}.quick-actions-v2__grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--ls-line);border-radius:18px;box-shadow:var(--ls-shadow-soft);overflow:hidden}.quick-actions-v2 a{position:relative;display:grid;grid-template-columns:auto 1fr auto;column-gap:.8rem;align-items:center;padding:1.15rem 1.15rem;text-decoration:none;color:var(--ls-text);border-right:1px solid var(--ls-line)}.quick-actions-v2 a:last-child{border-right:0}.quick-actions-v2 a:hover{background:#fbfdff}.quick-actions-v2 strong,.quick-actions-v2 small{display:block}.quick-actions-v2 strong{font-size:.86rem}.quick-actions-v2 small{font-size:.7rem;color:var(--ls-muted);margin-top:.15rem}.quick-actions-v2 b{color:var(--ls-blue);font-size:1rem}.qa-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:1.05rem}.qa-icon--blue{background:#e8f5fd;color:#147eb2}.qa-icon--teal{background:#e6f6f3;color:#117e77}.qa-icon--coral{background:#fceae7;color:#bd4f43}.qa-icon--navy{background:#eaf0f7;color:var(--ls-navy)}
.section{padding:clamp(4rem,7vw,6.5rem) 0}.section--white{background:#fff}.section--tint{background:#f4f8fb}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);align-items:center}.intro-copy h2,.section-head h2{font-family:var(--ls-display);font-size:clamp(2rem,3.8vw,3.4rem);line-height:1.06;letter-spacing:-.045em;margin:.25rem 0 1rem}.intro-copy>p{max-width:650px;color:var(--ls-muted);font-size:1.03rem}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;margin:1.5rem 0 1.7rem;font-size:.86rem;font-weight:800}.check-list span::first-letter{color:var(--ls-teal)}.text-link{color:var(--ls-navy);font-weight:900;text-decoration:none}.text-link:hover{color:var(--ls-teal)}.intro-card{position:relative;background:linear-gradient(145deg,#eef6fc,#e3eefb);color:var(--ls-ink);border:1px solid var(--ls-border);border-radius:24px;padding:clamp(2rem,4vw,3.3rem);box-shadow:var(--ls-shadow-soft);overflow:hidden}.intro-card:after{content:"";position:absolute;right:-5rem;bottom:-7rem;width:18rem;height:18rem;border-radius:50%;background:rgba(18,149,140,.14)}.intro-card .eyebrow{color:var(--ls-teal)}.intro-card .eyebrow:before{background:var(--ls-teal)}.intro-card h3{position:relative;z-index:1;font-family:var(--ls-display);font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.15;margin:.3rem 0 1rem;max-width:520px;color:var(--ls-navy)}.intro-card p{position:relative;z-index:1;color:var(--ls-muted)}.motto{position:relative;z-index:1;margin-top:2rem;padding-top:1.2rem;border-top:1px solid rgba(10,25,48,.14);display:flex;gap:.6rem;align-items:flex-start}.motto span{font-size:2.5rem;line-height:.8;color:var(--ls-teal)}.motto strong{font-family:var(--ls-display);font-size:1.05rem;color:var(--ls-navy)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section-head p{color:var(--ls-muted);max-width:620px;margin:.5rem 0 0}.service-grid-v2{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.service-tile{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1rem;background:#fff;border:1px solid var(--ls-line);border-radius:16px;padding:1.25rem;min-height:210px;box-shadow:0 5px 20px rgba(7,26,56,.035);transition:transform .2s ease,box-shadow .2s ease}.service-tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(7,26,56,.08)}.service-tile__icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;color:#fff;font-weight:900}.service-tone-1{background:var(--ls-navy)}.service-tone-2{background:var(--ls-teal)}.service-tone-3{background:var(--ls-blue)}.service-tone-4{background:var(--ls-coral)}.card-meta{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;color:var(--ls-teal);font-weight:900;margin:.1rem 0 .35rem}.service-tile h3{font-family:var(--ls-display);font-size:1.2rem;line-height:1.18;margin:.1rem 0 .55rem}.service-tile h3 a{text-decoration:none}.service-tile p{color:var(--ls-muted);font-size:.8rem;margin:0}.tile-arrow{position:absolute;right:1rem;bottom:1rem;color:var(--ls-blue);text-decoration:none;font-weight:900}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ls-line);border-bottom:1px solid var(--ls-line)}.benefit-grid article{padding:2rem 1.5rem;border-right:1px solid var(--ls-line)}.benefit-grid article:last-child{border-right:0}.benefit-icon{display:inline-grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#e8f5fd;color:#167cab;font-size:.68rem;font-weight:900}.benefit-grid h3{font-family:var(--ls-display);font-size:1.35rem;margin:1rem 0 .5rem}.benefit-grid p{color:var(--ls-muted);font-size:.84rem;margin:0}
.stats-card{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ls-line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--ls-shadow-soft)}.stats-card>div{padding:1.8rem;border-right:1px solid var(--ls-line)}.stats-card>div:last-child{border-right:0}.stats-card strong{font-family:var(--ls-display);font-size:2.2rem;color:var(--ls-navy);display:block}.stats-card span{font-size:.75rem;color:var(--ls-muted);font-weight:700}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.testimonial-grid blockquote{margin:0;background:#fff;border:1px solid var(--ls-line);border-radius:17px;padding:1.6rem;box-shadow:0 6px 22px rgba(7,26,56,.04)}.testimonial-grid blockquote>span{color:#f1a83b;letter-spacing:.08em}.testimonial-grid p{font-family:var(--ls-display);font-size:1.15rem;line-height:1.45;margin:1rem 0 1.5rem}.testimonial-grid footer{font-size:.72rem;font-weight:900;color:var(--ls-navy)}.testimonial-grid footer small{display:block;color:var(--ls-muted);font-weight:600;margin-top:.2rem}
.post-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.post-card-v2{border:1px solid var(--ls-line);border-radius:17px;overflow:hidden;background:#fff}.post-card-v2__image{aspect-ratio:16/9;background:#e9f2f7}.post-card-v2__image img{width:100%;height:100%;object-fit:cover}.post-placeholder{height:100%;display:grid;place-items:center;font-family:var(--ls-display);font-size:1.5rem;color:var(--ls-navy)}.post-card-v2__body{padding:1.25rem}.post-card-v2__body>span{font-size:.68rem;color:var(--ls-muted);font-weight:800}.post-card-v2 h3{font-family:var(--ls-display);font-size:1.35rem;line-height:1.2;margin:.45rem 0 .55rem}.post-card-v2 h3 a{text-decoration:none}.post-card-v2 p{font-size:.8rem;color:var(--ls-muted);margin:0 0 1rem}.empty-posts{grid-column:1/-1;border:1px dashed var(--ls-line);border-radius:16px;padding:2rem;text-align:center}
.cta-v2{background:var(--ls-navy);color:#fff;padding:clamp(3rem,6vw,5rem) 0}.cta-v2 .container{display:flex;justify-content:space-between;align-items:center;gap:2rem}.cta-v2 h2{font-family:var(--ls-display);font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:.2rem 0 .7rem}.cta-v2 p{color:#cbd9e7;max-width:650px;margin:0}.cta-v2 .eyebrow{color:#7bd3cb}.cta-v2 .eyebrow:before{background:#7bd3cb}.cta-v2__actions{display:flex;gap:.7rem;flex-wrap:wrap}.cta-v2 .button--light{background:#fff;color:var(--ls-navy)}
.site-footer-v2{background:#061a34;color:#c9d7e5}.footer-grid-v2{display:grid;grid-template-columns:1.5fr .75fr .9fr 1fr;gap:2.5rem;padding:4rem 0}.footer-brand-v2 p{max-width:380px;color:#aebfd1;font-size:.82rem}.footer-logo{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none}.footer-logo img{width:48px;height:48px;border-radius:10px;background:#fff}.footer-logo strong{display:block;font-family:var(--ls-title-font);font-weight:900;font-size:1.75rem}.footer-logo small{display:block;font-size:.52rem;letter-spacing:.06em;max-width:220px;line-height:1.2;margin-top:.25rem}.footer-motto{display:inline-block;margin-top:.5rem;padding:.5rem .7rem;border:1px solid rgba(255,255,255,.15);border-radius:9px;font-family:var(--ls-display);font-size:.78rem;color:#e4eef6}.footer-grid-v2 h2{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:#fff;margin:0 0 1rem}.footer-grid-v2 ul{list-style:none;padding:0;margin:0}.footer-grid-v2 li{margin:.45rem 0;font-size:.78rem}.footer-grid-v2 a{color:#c9d7e5;text-decoration:none}.footer-grid-v2 a:hover{color:#fff}.footer-bottom-v2{border-top:1px solid rgba(255,255,255,.1)}.footer-bottom-v2 .container{min-height:62px;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.7rem}.footer-bottom-v2 div{display:flex;gap:1rem}.mobile-actions-v2{display:none}
.page-hero-v2{background:linear-gradient(120deg,#eef7fb,#fff);padding:clamp(3.2rem,6vw,5rem) 0}.page-hero-v2 h1{font-family:var(--ls-display);font-size:clamp(2.4rem,5vw,4.3rem);line-height:1.03;letter-spacing:-.05em;margin:.2rem 0 .8rem}.page-hero-v2 p{color:var(--ls-muted);max-width:700px}.directory-toolbar{display:flex;gap:.8rem;align-items:center;margin-bottom:2rem}.search-box{flex:1;display:flex;align-items:center;gap:.6rem;border:1px solid var(--ls-line);border-radius:12px;padding:0 .85rem;background:#fff}.search-box span{font-size:1.25rem;color:var(--ls-muted)}.search-box input,.directory-toolbar select{border:0;background:#fff;padding:.8rem;width:100%;outline:0;color:var(--ls-text)}.directory-toolbar select{border:1px solid var(--ls-line);border-radius:12px;width:260px}.specialist-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.specialist-card-v2{border:1px solid var(--ls-line);border-radius:18px;overflow:hidden;background:#fff}.specialist-card-v2__photo{aspect-ratio:1.25/1;background:#edf4f7;display:grid;place-items:center;overflow:hidden}.specialist-card-v2__photo img{width:100%;height:100%;object-fit:cover}.specialist-card-v2__photo span{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--ls-navy);color:#fff;font-family:var(--ls-display);font-size:1.5rem}.specialist-card-v2__body{padding:1.3rem}.specialist-card-v2 h2{font-family:var(--ls-display);font-size:1.45rem;line-height:1.15;margin:.25rem 0 .6rem}.specialist-card-v2 h2 a{text-decoration:none}.specialist-card-v2 p{font-size:.82rem;color:var(--ls-muted);margin:0 0 1rem}.directory-empty{text-align:center;color:var(--ls-muted);padding:2rem}
@keyframes lsFade{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.primary-nav ul{gap:.75rem}.service-grid-v2{grid-template-columns:repeat(2,1fr)}.benefit-grid{grid-template-columns:repeat(2,1fr)}.benefit-grid article:nth-child(2){border-right:0}.benefit-grid article:nth-child(-n+2){border-bottom:1px solid var(--ls-line)}.footer-grid-v2{grid-template-columns:1.3fr 1fr 1fr}.footer-grid-v2>div:last-child{grid-column:2/-1}.specialist-grid-v2{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.header-main{min-height:72px}.brand-pill{min-width:0}.brand-pill__copy small{display:none}.brand-pill__copy strong{font-size:1.5rem}.menu-toggle{display:flex}.primary-nav{position:absolute;left:0;right:0;top:100%;background:var(--ls-navy);display:none;flex-direction:column;align-items:stretch;padding:1rem;box-shadow:0 20px 30px rgba(0,0,0,.18)}.primary-nav.is-open{display:flex}.primary-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.primary-nav li a{display:block;padding:.75rem;border-radius:8px}.header-cta{justify-content:center!important;margin-top:.4rem}.hero-v2__grid,.intro-grid{grid-template-columns:1fr}.hero-v2__visual{max-width:680px;margin:auto;width:100%}.hero-float--top{left:0}.quick-actions-v2__grid{grid-template-columns:repeat(2,1fr)}.quick-actions-v2 a:nth-child(2){border-right:0}.quick-actions-v2 a:nth-child(-n+2){border-bottom:1px solid var(--ls-line)}.cta-v2 .container{display:block}.cta-v2__actions{margin-top:1.4rem}.footer-grid-v2{grid-template-columns:repeat(2,1fr)}.footer-grid-v2>div:last-child{grid-column:auto}.stats-card{grid-template-columns:repeat(2,1fr)}.stats-card>div:nth-child(2){border-right:0}.stats-card>div:nth-child(-n+2){border-bottom:1px solid var(--ls-line)}.post-grid-v2,.testimonial-grid{grid-template-columns:1fr}.directory-toolbar{align-items:stretch;flex-direction:column}.directory-toolbar select{width:100%}}
@media(max-width:640px){.topbar__inner{padding:.35rem 0}.topbar__welcome{display:none}.topbar__contact{justify-content:center;width:100%;font-size:.72rem}.topbar__contact a:nth-child(2){display:none}.announcement .container{min-height:42px;font-size:.7rem}.announcement span{max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-v2{padding:3.2rem 0 4.2rem}.hero-v2__visual{padding:.4rem 0 2.6rem}.hero-photo{border-width:5px;border-radius:20px}.hero-float{max-width:235px;padding:.65rem .75rem}.hero-float--top{top:1rem}.hero-float--bottom{right:0;bottom:.2rem}.hero-trust{font-size:.7rem}.hero-trust span:nth-child(3){display:none}.quick-actions-v2{margin-top:-1.6rem}.quick-actions-v2 a{padding:.9rem}.qa-icon{width:36px;height:36px}.quick-actions-v2 strong{font-size:.75rem}.quick-actions-v2 small{font-size:.62rem}.quick-actions-v2 b{display:none}.check-list{grid-template-columns:1fr}.service-grid-v2,.benefit-grid,.specialist-grid-v2{grid-template-columns:1fr}.benefit-grid article{border-right:0!important;border-bottom:1px solid var(--ls-line)}.benefit-grid article:last-child{border-bottom:0}.stats-card{grid-template-columns:1fr 1fr}.stats-card>div{padding:1.2rem}.stats-card strong{font-size:1.8rem}.footer-grid-v2{grid-template-columns:1fr;gap:1.8rem;padding:3rem 0 5rem}.footer-grid-v2>div:last-child{grid-column:auto}.footer-bottom-v2 .container{display:block;padding:1rem 0 5rem}.footer-bottom-v2 .container>div{margin-top:.5rem}.mobile-actions-v2{position:fixed;left:0;right:0;bottom:0;z-index:2000;background:#fff;border-top:1px solid var(--ls-line);display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 -8px 24px rgba(7,26,56,.1)}.mobile-actions-v2 a{padding:.55rem .25rem;text-align:center;text-decoration:none;color:var(--ls-navy);font-size:.68rem;font-weight:900}.mobile-actions-v2 span{display:block;font-size:1rem;line-height:1.1;color:var(--ls-teal)}.site-footer-v2{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide.is-active{animation:none}.service-tile{transition:none}}
