:root {
  --ink: #102b33;
  --ink-soft: #456067;
  --navy: #0a3d47;
  --navy-deep: #07323b;
  --green: #27b78b;
  --green-dark: #169873;
  --green-pale: #e6f7f0;
  --blue-pale: #e6f2f7;
  --cream: #f8f6ef;
  --line: rgba(16, 43, 51, 0.12);
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(7, 50, 59, 0.13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
.shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 78px;
  display: flex;
  align-items: center;
  background: rgba(255,255,255,.9);
  border-bottom: 1px solid rgba(16,43,51,.08);
  backdrop-filter: blur(18px);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 760; letter-spacing: -.035em; }
.brand-highlight { color: var(--green-dark); }
.brand-mark { position: relative; width: 30px; height: 30px; display: inline-block; flex: 0 0 30px; border-radius: 9px 9px 12px 9px; background: var(--navy); transform: rotate(-4deg); }
.brand-mark__vertical, .brand-mark__horizontal { position: absolute; background: white; border-radius: 5px; }
.brand-mark__vertical { width: 5px; height: 17px; left: 12px; top: 6px; }
.brand-mark__horizontal { width: 17px; height: 5px; left: 6px; top: 12px; }
.brand-mark__dot { position: absolute; right: -2px; bottom: -2px; width: 8px; height: 8px; background: var(--green); border: 2px solid white; border-radius: 50%; }
.brand-mark--compact { width: 25px; height: 25px; flex-basis: 25px; border-radius: 8px; }
.brand-mark--compact .brand-mark__vertical { height: 14px; left: 10px; top: 5px; }
.brand-mark--compact .brand-mark__horizontal { width: 14px; left: 5px; top: 10px; }
.desktop-nav { display: flex; gap: 34px; color: #486169; font-size: 14px; font-weight: 650; }
.desktop-nav a { transition: color .2s ease; }
.desktop-nav a:hover { color: var(--green-dark); }
.header-actions { display: inline-flex; align-items: center; gap: 16px; }
.header-link { color: var(--navy); font-size: 13px; font-weight: 700; }
.header-link:hover { color: var(--green-dark); }
.header-cta { display: inline-flex; align-items: center; gap: 9px; padding: 11px 17px; border-radius: 99px; background: var(--navy); color: white; font-size: 13px; font-weight: 700; }
.arrow-icon { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: rgba(255,255,255,.18); font-size: 13px; transition: transform .2s ease; }
a:hover .arrow-icon { transform: translate(2px,-2px); }
.mobile-menu { display: none; }

.hero { position: relative; overflow: hidden; padding: 94px 0 0; background: linear-gradient(118deg,#fbfaf5 0%,#f3faf7 53%,#eaf6f2 100%); }
.hero::before { content:""; position:absolute; inset:0; opacity:.5; background-image: radial-gradient(rgba(12,70,77,.15) .6px,transparent .6px); background-size: 20px 20px; mask-image: linear-gradient(to right,black,transparent 72%); }
.hero-orb { position:absolute; border-radius:50%; filter: blur(2px); }
.hero-orb--one { width: 540px; height: 540px; right: -140px; top: -120px; background: rgba(56,192,147,.12); }
.hero-orb--two { width: 320px; height: 320px; left: 45%; bottom: -180px; background: rgba(45,130,168,.09); }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.04fr .96fr; gap: 60px; align-items: center; min-height: 570px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--green-dark); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(39,183,139,.12); }
.hero h1 { margin: 22px 0 23px; font-size: clamp(58px,6.2vw,88px); line-height: .94; letter-spacing: -.065em; font-weight: 760; }
h1 em, .section-heading em { color: var(--green-dark); font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.hero-lead { max-width: 570px; margin:0; color: var(--ink-soft); font-size: 20px; line-height: 1.65; }
.hero-actions { display:flex; align-items:center; gap:26px; margin-top:32px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:99px; padding:14px 20px; font-size:14px; font-weight:750; transition:transform .2s ease,box-shadow .2s ease; }
.button:hover { transform:translateY(-2px); }
.button--primary { color:white; background:var(--navy); box-shadow:0 13px 28px rgba(7,50,59,.16); }
.text-link { padding:8px 0; color:var(--navy); border-bottom:1px solid rgba(7,50,59,.35); font-size:14px; font-weight:750; }
.text-link span { margin-left:6px; }
.trust-row { display:flex; flex-wrap:wrap; gap:18px; margin-top:28px; color:#587078; font-size:12px; font-weight:600; }
.trust-row span { display:flex; align-items:center; gap:7px; }
.check-icon { display:inline-grid; place-items:center; flex:0 0 20px; width:20px; height:20px; border-radius:50%; background:var(--green-pale); color:var(--green-dark); font-size:12px; font-weight:900; }

.hero-visual { position:relative; min-height:550px; display:grid; place-items:center; }
.visual-glow { position:absolute; width:430px; height:430px; border-radius:50%; background:radial-gradient(circle,#d1efe5 0%,rgba(209,239,229,.18) 55%,transparent 72%); }
.phone-card { position:relative; z-index:2; width:340px; min-height:488px; padding:23px 23px 25px; border:7px solid rgba(255,255,255,.8); border-radius:35px; background:rgba(255,255,255,.94); box-shadow:0 30px 85px rgba(7,50,59,.18); transform:rotate(2deg); }
.phone-topbar { display:flex; align-items:center; justify-content:space-between; }
.tiny-avatar { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#dcefe9; color:var(--navy); font-size:10px; font-weight:800; }
.phone-greeting { margin:24px 0 3px; color:#688087; font-size:12px; }
.phone-card h2 { margin:0 0 17px; font-size:21px; line-height:1.2; letter-spacing:-.035em; }
.search-box { display:flex; gap:10px; align-items:center; padding:13px 14px; border:1px solid #dfe9e6; border-radius:12px; color:#809296; font-size:11px; box-shadow:0 7px 20px rgba(15,70,75,.06); }
.search-box span { font-size:22px; line-height:1; color:var(--green-dark); transform:rotate(-18deg); }
.quick-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:15px 0; }
.quick-grid > div { padding:14px; background:#f6faf8; border-radius:15px; display:flex; flex-direction:column; align-items:flex-start; }
.quick-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; margin-bottom:12px; }
.quick-icon--blue { color:#357fa0; background:#e4f0f5; }
.quick-icon--green { color:#159976; background:#def3eb; font-size:18px; }
.quick-grid b { font-size:11px; }
.quick-grid small { margin-top:4px; color:#829297; font-size:8px; }
.appointment-card { position:relative; display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:center; padding:13px; background:var(--navy); color:white; border-radius:15px; }
.appointment-date { display:grid; place-items:center; width:43px; height:47px; border-radius:11px; background:rgba(255,255,255,.12); }
.appointment-date b { font-size:17px; line-height:1; }
.appointment-date span { font-size:7px; opacity:.7; }
.appointment-card > div:nth-child(2) { display:flex; flex-direction:column; gap:2px; }
.appointment-card small { font-size:7px; opacity:.6; }
.appointment-card b { font-size:9px; }
.appointment-card span { font-size:7px; opacity:.76; }
.appointment-status { position:absolute; right:10px; top:10px; padding:4px 6px; background:rgba(51,195,150,.16); color:#7de0c0!important; border-radius:99px; font-size:6px!important; }
.floating-card { position:absolute; z-index:3; display:flex; align-items:center; gap:10px; padding:12px 15px; background:white; border:1px solid rgba(16,43,51,.08); border-radius:13px; box-shadow:0 16px 45px rgba(7,50,59,.15); }
.floating-card small,.floating-card b { display:block; }
.floating-card small { color:#799096; font-size:8px; margin-bottom:3px; }
.floating-card b { font-size:10px; }
.floating-card--availability { left:4px; top:110px; }
.floating-card--secure { right:-12px; bottom:95px; }
.pulse-dot { width:10px; height:10px; border-radius:50%; background:var(--green); box-shadow:0 0 0 6px rgba(39,183,139,.13); }
.shield { display:grid; place-items:center; width:25px; height:29px; border-radius:13px 13px 16px 16px; background:var(--green-pale); color:var(--green-dark); font-size:12px; font-weight:900; }
.hero-foot { position:relative; z-index:3; margin-top:68px; min-height:90px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(16,43,51,.1); color:#789095; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.hero-foot div { display:flex; align-items:center; gap:19px; color:#486169; }
.hero-foot b { font-size:10px; }
.hero-foot i { width:4px; height:4px; border-radius:50%; background:var(--green); }

.problem-section { padding:120px 0 135px; background:#fff; }
.section-heading h2 { margin:15px 0 0; font-size:clamp(40px,4.6vw,60px); line-height:1.08; letter-spacing:-.055em; }
.section-kicker { display:inline-block; color:var(--green-dark); font-size:11px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.split-heading { display:grid; grid-template-columns:1.5fr .65fr; gap:70px; align-items:end; }
.split-heading > p { margin:0 0 7px; color:var(--ink-soft); font-size:16px; line-height:1.75; }
.problem-flow { display:grid; grid-template-columns:1fr 55px 1fr 55px 1fr; gap:18px; align-items:center; margin-top:80px; }
.problem-flow article { min-height:235px; padding:26px; border:1px solid var(--line); border-radius:22px; background:#fff; transition:transform .25s ease,box-shadow .25s ease; }
.problem-flow article:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.flow-number { display:block; color:#9cafb3; font-size:9px; font-weight:800; letter-spacing:.13em; }
.flow-icon { display:grid; place-items:center; width:45px; height:45px; margin:23px 0 19px; border-radius:14px; color:var(--green-dark); background:var(--green-pale); font-size:23px; font-weight:700; }
.problem-flow h3 { margin:0 0 9px; font-size:19px; }
.problem-flow p { margin:0; color:#677e84; font-size:13px; line-height:1.7; }
.flow-arrow { display:grid; place-items:center; width:39px; height:39px; margin:auto; border:1px solid var(--line); border-radius:50%; color:var(--green-dark); }

.value-section { position:relative; overflow:hidden; padding:125px 0; background:var(--navy); color:white; }
.value-section::after { content:""; position:absolute; width:580px; height:580px; right:-220px; top:-270px; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.014); }
.value-grid { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1.05fr; gap:90px; align-items:center; }
.value-visual { position:relative; min-height:460px; display:grid; place-items:center; }
.value-ring { position:absolute; border:1px solid rgba(102,224,185,.22); border-radius:50%; }
.value-ring--one { width:390px; height:390px; }
.value-ring--two { width:270px; height:270px; border-style:dashed; }
.value-center { position:relative; z-index:2; width:150px; height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:#f6fbf8; color:var(--ink); box-shadow:0 25px 55px rgba(0,0,0,.22); }
.value-center b { margin-top:11px; font-size:14px; }
.value-center span { margin-top:2px; color:#71898e; font-size:9px; }
.value-node { position:absolute; z-index:3; display:grid; place-items:center; min-width:75px; height:34px; padding:0 13px; border:1px solid rgba(255,255,255,.17); border-radius:99px; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); color:#d8eee8; font-size:10px; font-weight:700; }
.value-node--one { top:18px; left:50%; transform:translateX(-50%); }
.value-node--two { right:5px; top:52%; }
.value-node--three { bottom:20px; left:50%; transform:translateX(-50%); }
.value-node--four { left:8px; top:42%; }
.section-kicker--light { color:#7ce0c0; }
.value-copy h2 { max-width:560px; margin:18px 0 23px; font-size:clamp(42px,4.5vw,62px); line-height:1.03; letter-spacing:-.06em; }
.value-copy > p { max-width:560px; margin:0; color:#bdd0d4; font-size:16px; line-height:1.75; }
.value-copy ul { list-style:none; padding:0; margin:28px 0 32px; display:grid; gap:17px; }
.value-copy li { display:flex; align-items:flex-start; gap:12px; color:#d7e2e4; font-size:13px; line-height:1.55; }
.value-copy li b { color:white; }
.value-copy li .check-icon { margin-top:1px; background:rgba(74,210,167,.14); color:#74dcba; }
.button--light { color:var(--navy); background:white; }
.button--light .arrow-icon { color:white; background:var(--navy); }

.benefits-section { padding:125px 0 110px; background:var(--cream); }
.centered-heading { max-width:760px; margin:0 auto 65px; text-align:center; }
.centered-heading h2 em { display:inline; }
.audience-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.audience-card { min-height:645px; padding:42px; border-radius:28px; }
.audience-card--patient { background:#fff; border:1px solid rgba(16,43,51,.08); }
.audience-card--provider { background:var(--navy); color:white; }
.audience-topline { display:flex; align-items:center; justify-content:space-between; margin-bottom:32px; }
.audience-label { padding:7px 10px; border-radius:99px; background:var(--green-pale); color:var(--green-dark); font-size:9px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.audience-card--provider .audience-label { background:rgba(95,219,179,.12); color:#76dfbd; }
.audience-symbol { display:grid; place-items:center; width:39px; height:39px; border-radius:13px; background:var(--green-pale); color:var(--green-dark); font-size:21px; }
.audience-card--provider .audience-symbol { background:rgba(255,255,255,.09); color:#7ce0c0; }
.audience-card h3 { margin:0 0 32px; font-size:29px; line-height:1.2; letter-spacing:-.04em; }
.benefit-list { border-top:1px solid var(--line); }
.audience-card--provider .benefit-list { border-color:rgba(255,255,255,.12); }
.benefit-item { display:grid; grid-template-columns:30px 1fr; gap:15px; padding:21px 0; border-bottom:1px solid var(--line); }
.audience-card--provider .benefit-item { border-color:rgba(255,255,255,.12); }
.benefit-item > span { padding-top:3px; color:#91a4a8; font-size:9px; font-weight:800; }
.benefit-item h4 { margin:0 0 6px; font-size:14px; }
.benefit-item p { margin:0; color:#6a8086; font-size:11px; line-height:1.65; }
.audience-card--provider .benefit-item p { color:#b8ccd0; }
.audience-card > a { display:inline-flex; align-items:center; gap:9px; margin-top:29px; color:var(--green-dark); font-size:12px; font-weight:800; }
.audience-card--provider > a { color:#7ce0c0; }
.future-note { display:flex; align-items:center; justify-content:center; gap:12px; margin:32px auto 0; color:#647a80; font-size:11px; text-align:center; }
.future-note span { padding:5px 8px; border-radius:99px; background:#deeee9; color:#178f6f; font-size:8px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }

.contact-section { padding:70px 0; background:white; }
.contact-card { position:relative; overflow:hidden; min-height:330px; padding:56px 60px; display:grid; grid-template-columns:0.9fr 1.1fr; gap:48px; align-items:start; border-radius:32px; background:linear-gradient(118deg,#0a3d47,#0b4d56); color:white; }
.contact-card::after { content:"+"; position:absolute; right:1%; top:50%; transform:translateY(-52%); color:rgba(255,255,255,.035); font-size:430px; line-height:1; font-weight:200; pointer-events:none; }
.contact-copy,.contact-form { position:relative; z-index:2; }
.contact-copy h2 { margin:16px 0 18px; font-size:42px; line-height:1.08; letter-spacing:-.055em; }
.contact-copy p { margin:0; max-width:570px; color:#c3d4d7; font-size:14px; line-height:1.7; }
.contact-form { display:grid; gap:12px; }
.contact-form label { display:grid; gap:6px; color:#d8ece8; font-size:12px; font-weight:700; }
.contact-form .optional { font-weight:500; opacity:.7; }
.contact-form input,
.contact-form select,
.contact-form textarea {
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.08);
  color:white;
  font:inherit;
  font-size:14px;
  font-weight:500;
}
.contact-form textarea { min-height:110px; resize:vertical; }
.contact-form input::placeholder,
.contact-form textarea::placeholder { color:rgba(255,255,255,.45); }
.contact-form select { color:white; }
.contact-form select option { color:var(--ink); }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline:2px solid #7ce0c0;
  outline-offset:2px;
}
.contact-form .button { width:100%; margin-top:4px; }
.contact-status { min-height:1.3em; margin:0; font-size:13px; color:#c3d4d7; }
.contact-status[data-kind="ok"] { color:#7ce0c0; }
.contact-status[data-kind="error"] { color:#ffd0c8; }
.contact-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.button--large { padding:17px 24px; }

footer { background:#f7f8f5; border-top:1px solid var(--line); }
.footer-inner { min-height:105px; display:flex; align-items:center; justify-content:space-between; gap:18px 25px; flex-wrap:wrap; }
.brand--footer { font-size:18px; }
.brand--footer .brand-mark { transform:scale(.85) rotate(-4deg); }
.footer-link { color:var(--navy); font-size:12px; font-weight:700; }
.footer-link:hover { color:var(--green-dark); }
.footer-inner p,.footer-inner > span { color:#74878c; font-size:10px; }

@media (max-width: 980px) {
  .desktop-nav { display:none; }
  .hero { padding-top:70px; }
  .hero-grid { grid-template-columns:1fr; gap:25px; }
  .hero-copy { text-align:center; }
  .eyebrow,.hero-actions,.trust-row { justify-content:center; }
  .hero-lead { margin-inline:auto; }
  .hero-visual { min-height:540px; }
  .hero-foot { flex-direction:column; justify-content:center; gap:13px; }
  .split-heading { grid-template-columns:1fr; gap:25px; }
  .split-heading > p { max-width:620px; }
  .problem-flow { grid-template-columns:1fr; }
  .problem-flow article { min-height:0; }
  .flow-arrow { transform:rotate(90deg); }
  .value-grid { grid-template-columns:1fr; gap:65px; }
  .value-copy { text-align:center; }
  .value-copy > p { margin-inline:auto; }
  .value-copy li { text-align:left; }
  .audience-card { padding:34px; }
  .contact-card { grid-template-columns:1fr; gap:35px; }
}

@media (max-width: 720px) {
  .shell { width:min(100% - 32px,1180px); }
  .site-header { height:68px; }
  .header-actions { display:none; }
  .mobile-menu { display:block; position:relative; }
  .mobile-menu summary { display:grid; gap:5px; padding:12px 3px; cursor:pointer; list-style:none; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary span { display:block; width:24px; height:2px; background:var(--navy); }
  .mobile-menu nav { position:absolute; right:0; top:48px; width:220px; display:grid; overflow:hidden; padding:10px; border:1px solid var(--line); border-radius:16px; background:white; box-shadow:var(--shadow); }
  .mobile-menu nav a { padding:12px 10px; border-radius:9px; font-size:13px; font-weight:700; }
  .mobile-menu nav a:hover { background:var(--green-pale); }
  .hero { padding-top:55px; }
  .hero-grid { min-height:unset; }
  .eyebrow { font-size:9px; letter-spacing:.09em; }
  .hero h1 { margin-top:18px; font-size:55px; }
  .hero-lead { font-size:16px; line-height:1.6; }
  .hero-actions { flex-direction:column; gap:14px; }
  .hero-visual { min-height:470px; transform:scale(.84); margin:-35px -45px -55px; }
  .phone-card { width:320px; }
  .floating-card--availability { left:0; }
  .floating-card--secure { right:0; }
  .hero-foot { margin-top:45px; padding:22px 0; }
  .hero-foot div { flex-wrap:wrap; justify-content:center; gap:10px 14px; }
  .problem-section,.benefits-section { padding:85px 0; }
  .section-heading h2 { font-size:42px; }
  .problem-flow { margin-top:45px; }
  .value-section { padding:85px 0; }
  .value-grid { gap:35px; }
  .value-visual { min-height:360px; transform:scale(.78); margin:-40px; }
  .value-copy h2 { font-size:43px; }
  .audience-grid { grid-template-columns:1fr; }
  .audience-card { min-height:unset; padding:29px 25px; border-radius:23px; }
  .audience-card h3 { font-size:25px; }
  .future-note { flex-direction:column; line-height:1.55; }
  .contact-section { padding:40px 0; }
  .contact-card { padding:45px 27px; border-radius:25px; }
  .contact-copy h2 { font-size:34px; }
  .button--large { width:100%; }
  .footer-inner { padding:35px 0; flex-direction:column; justify-content:center; text-align:center; }
}

.footer-legal { display:flex; flex-wrap:wrap; gap:14px 22px; }
.footer-legal a { color:var(--navy); font-size:12px; font-weight:700; }
.footer-legal a:hover { color:var(--green-dark); }

.legal-page { background:var(--cream); min-height:100vh; }
.legal-wrap { padding:48px 0 80px; max-width:820px; }
.legal-kicker { margin:0 0 10px; color:var(--green-dark); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.legal-wrap h1 { margin:0 0 12px; font-size:clamp(32px,4vw,48px); letter-spacing:-.04em; line-height:1.1; }
.legal-updated { margin:0 0 32px; color:var(--ink-soft); font-size:14px; }
.legal-en { margin:0 0 36px; padding:20px 22px; border-radius:16px; background:white; border:1px solid var(--line); }
.legal-en h2 { margin:0 0 10px; font-size:16px; }
.legal-en p, .legal-en li { color:var(--ink-soft); font-size:14px; line-height:1.6; }
.legal-en ul { margin:8px 0 0; padding-left:18px; }
.legal-wrap h2 { margin:32px 0 10px; font-size:22px; letter-spacing:-.03em; }
.legal-wrap h3 { margin:22px 0 8px; font-size:16px; }
.legal-wrap p, .legal-wrap li { color:var(--ink-soft); font-size:16px; line-height:1.65; }
.legal-wrap ul { padding-left:20px; }
.legal-wrap a { color:var(--green-dark); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.legal-card { margin-top:28px; padding:20px 22px; border-radius:16px; background:white; border:1px solid var(--line); }
.legal-card dt { font-size:12px; font-weight:700; color:#74878c; text-transform:uppercase; letter-spacing:.06em; }
.legal-card dd { margin:2px 0 14px; font-size:16px; color:var(--ink); }
.legal-card dd:last-child { margin-bottom:0; }
