:root{--bg: #f8f9fb;--surface: #ffffff;--text: #1f2937;--muted: #6b7280;--border: #e5e7eb;--accent-purple: #6b5fd3;--accent-green: #2bb673}html{scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);animation:pageFade .6s ease-out}@keyframes pageFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(14px);transition:opacity .75s cubic-bezier(.22,1,.36,1) 80ms,transform .75s cubic-bezier(.22,1,.36,1) 80ms}.reveal.is-visible{opacity:1;transform:translateY(0)}.container{max-width:1100px;margin:0 auto;padding:0 20px}h1,h2,h3{margin:0 0 10px;color:var(--text);letter-spacing:-.02em}p{line-height:1.6}a{color:var(--accent-purple);text-decoration:none}#header-sentinel{height:1px}header{position:sticky;top:0;z-index:1000;background:#fff;transition:padding .25s ease,box-shadow .25s ease;border-bottom:1px solid #ececec;padding:20px 0}header.header-scrolled{padding-top:6px;padding-bottom:6px;box-shadow:0 6px 18px #00000014}header.header-scrolled img{max-height:42px}footer{background:linear-gradient(180deg,#f8f9fb,#eef0f6);border-top:1px solid var(--border);padding:20px 0}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-brand{display:inline-flex;align-items:center}.site-logo{display:block;max-height:60px;width:auto}header img{max-height:60px;transition:max-height .25s ease}nav a{margin-right:15px;color:var(--text)}nav a:last-child{margin-right:0}nav a:hover{color:var(--accent-purple)}.section{padding:40px 0;background:transparent;border-top:1px solid #ececec}.section:first-of-type{border-top:none}.section-accent{position:relative}.section-accent:before{content:"";position:absolute;inset:-80px -40px auto;height:180px;background:radial-gradient(circle at center,rgba(107,95,211,.15),transparent 70%);z-index:-1}.hero{background:var(--surface);padding:36px 0}.card{background:var(--surface);border:1px solid var(--border);padding:20px;border-radius:14px;margin-bottom:20px;box-shadow:0 10px 28px #00000014;transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0000001f}.portal-grid{display:grid;gap:20px;margin-top:4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:14px 0 24px}.service-grid>:nth-last-child(1):nth-child(3n+2),.service-grid>:nth-last-child(2):nth-child(3n+1){grid-column:span 1}.service-grid:after{content:""}.service-card{background:#fff;border-radius:14px;padding:28px;box-shadow:0 10px 28px #00000014;transition:transform .25s ease,box-shadow .25s ease}.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #0000001f}.service-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6b5fd326,#2bb67326);font-size:22px;margin-bottom:12px}.conditions-card{background:#fff;border-radius:14px;padding:32px;box-shadow:0 10px 28px #00000014;margin-top:30px;margin-bottom:60px}.conditions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px;margin-top:20px}.condition-item{padding:10px 0}.cta-banner{margin-top:60px;padding:60px 20px;text-align:center;border-radius:14px;background:linear-gradient(135deg,#6b5fd314,#2bb67314)}.cta-content h2{margin-bottom:10px}.cta-content p{margin-bottom:22px;max-width:520px;margin-left:auto;margin-right:auto}.trust-band{padding:28px 20px;text-align:center;background:#f7f8fb;font-size:.95rem}.portal-card{display:flex;flex-direction:column;gap:10px}.portal-label{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:700;color:var(--accent-purple)}.portal-code-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.portal-code{display:inline-block;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:#f6f7fb;color:#111827;font-weight:700;letter-spacing:.03em}.portal-copy-status{min-height:1.2em;margin:0}.portal-disclaimer{margin-top:10px}.intake-hero p{margin-bottom:0}.intake-grid{display:grid;grid-template-columns:1fr;gap:20px}.intake-card{display:flex;flex-direction:column;gap:10px}.form-embed{margin-top:24px}.form-embed iframe{width:100%;border:none}.muted{color:var(--muted)}.btn{display:inline-block;padding:10px 16px;border-radius:10px;font-weight:600;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,opacity .2s ease}.btn:hover{opacity:.92}.btn-primary{background:linear-gradient(135deg,#6b5fd3,#2bb673);border:none;color:#fff;font-weight:600;padding:14px 24px;border-radius:8px;position:relative;overflow:hidden;isolation:isolate}.btn-primary:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.25),transparent 80%);opacity:0;transition:opacity .25s ease;pointer-events:none}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.btn-primary:hover:after{opacity:1}.btn-secondary{background:var(--surface);color:var(--accent-purple);border-color:#d8d3f3}.btn[disabled],.btn[aria-disabled=true]{opacity:.6;pointer-events:none}button{background:linear-gradient(90deg,#6b5fd3,#2bb673);color:#fff;border:none;padding:10px 16px;border-radius:10px;font-weight:600;cursor:pointer}.doctor-card{display:grid;gap:20px;align-items:start}.doctor-media{text-align:center}.doctor-headshot{display:block;width:100%;max-width:220px;margin:0 auto;border-radius:12px;box-shadow:0 4px 12px #0000000f}.person-role{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}.person-role.doctor{color:#6b5fd3}.person-role.staff{color:#2bb673}.review-stars{letter-spacing:2px;color:#f5b301;font-size:1.1rem}.review-date{color:var(--muted);font-size:.9rem}@media (min-width: 768px){.doctor-card{grid-template-columns:220px 1fr}.doctor-media{text-align:left}.doctor-headshot{margin:0}}@media (max-width: 767px){header{padding:12px 16px}header img{max-height:48px}.site-logo{max-height:48px}.section{padding:48px 20px}.btn{padding:14px 20px;font-size:1rem}.card{padding:20px}}@media (max-width: 768px){header .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}header nav{display:flex;flex-wrap:wrap;gap:10px 14px;justify-content:center;width:100%;margin-top:8px}header img{max-height:48px}header nav a{padding:6px 4px}.conditions-grid{grid-template-columns:1fr}.cta-banner{padding:40px 20px}}@media (min-width: 900px){.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 768px){.intake-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.hero-carousel{position:relative;width:100%;height:65vh;overflow:hidden;background:#fff}.hero-carousel__track{position:relative;height:100%}.hero-carousel__slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .7s ease}.hero-carousel__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-position, center);filter:brightness(.9) contrast(1.05)}.hero-carousel__slide.is-active{opacity:1}.hero-carousel__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#00000040,#00000073)}.hero-carousel__content{position:relative;z-index:1;text-align:center;color:#fff}.hero-carousel__content h1{color:#fff;font-size:clamp(2rem,4vw,3.25rem);line-height:1.15;margin-bottom:16px}.hero-rating-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:#ffffff29;backdrop-filter:blur(2px);font-size:.92rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}.hero-rating-badge:hover{color:#fff;background:#ffffff3d}@media (max-width: 767px){.hero-carousel{height:55vh;min-height:420px}.hero-carousel__content{padding:0 20px}.hero-carousel__content h1{font-size:clamp(1.4rem,6vw,2rem);line-height:1.2}.hero-carousel__content .btn{margin-top:12px}}@media (max-width: 900px){.service-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.service-grid{grid-template-columns:1fr}}@media (min-width: 901px){.service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.service-grid>*{grid-column:span 2}.service-grid>:nth-last-child(2):nth-child(3n+1){grid-column:2 / span 2}.service-grid>:nth-last-child(1):nth-child(3n+2){grid-column:4 / span 2}}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}
