/* A lighter treatment of the actual RVA Eye Care layout. */
:root{--ink:#293633;--navy:#293633;--blue:#27778a;--cyan:#4599a6;--sky:#f0f6f5;--cream:#fafbf9;--muted:#62716b;--line:#dfe6e1;--neutral:#f5f7f5;--elevated-shadow:none}
body{color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased;background:#fff}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:1.12}
h3{font-weight:550;letter-spacing:-.02em}
.wrap{width:min(1248px,calc(100% - 88px))}
.preview-bar{background:#edf2ef;color:#546960;font-size:12px;letter-spacing:.09em}
.preview-bar .wrap{min-height:32px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.preview-bar a{font-size:12px;letter-spacing:0}.preview-bar a:hover{text-decoration:underline}
header{background:#fffffff5;border-bottom:1px solid var(--line);box-shadow:none}
.nav{height:100px;gap:22px}.nav nav{gap:23px;font-weight:500}.nav nav>a[aria-current]{box-shadow:inset 0 -1px var(--blue)}
.logo{width:200px}.brand-navigation{gap:20px}
.marketplace-coming{border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;padding:5px 0 5px 18px;align-items:flex-start}
.marketplace-coming>span{font-weight:500}.marketplace-coming small{color:var(--muted)}
.button{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:5px;box-shadow:none;font-weight:550;font-size:.875rem;padding:16px 23px;transition:background .18s,transform .18s}
.button:hover{background:#225e68;box-shadow:none;border-color:#225e68;transform:translateY(-1px)}
.nav-cta{font-size:.8125rem;padding:13px 17px;min-height:46px}
.text-link{font-weight:550;color:var(--blue)}
.eyebrow{font-size:.75rem;font-weight:550;letter-spacing:.16em;color:var(--blue)}
.hero-combined{background:#fff;padding:68px 0 72px;border-bottom:1px solid var(--line)}
.hero-combined .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);gap:70px;align-items:center}
.hero-combined .eyebrow{color:#34737b;font-size:.75rem;letter-spacing:.2em;font-weight:600;margin-bottom:25px}
.hero-combined h1{color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.25rem,5.5vw,5.1rem);font-weight:400;line-height:1.1;letter-spacing:-.045em;margin-bottom:28px}
.hero-combined h1 span{color:#2a737d;font-style:italic}
.hero-combined .hero-copy>p{color:var(--muted);font-size:1.0625rem;line-height:1.85;max-width:470px;margin-bottom:31px}
.hero-combined .hero-actions{gap:19px 24px}
.hero-combined .hero-actions .button{background:var(--ink);border-color:var(--ink);color:white;box-shadow:none;gap:22px}
.hero-combined .hero-actions .button:hover{background:#225e68;border-color:#225e68;color:white!important}
.hero-combined .hero-actions .text-link{color:var(--ink);font-size:.875rem;font-weight:550}
.hero-combined .hero-note{color:var(--muted);margin-top:33px;padding-top:22px;border-top:1px solid var(--line);font-size:.875rem}
.hero-combined .hero-note span{color:#8ca49b}
.hero-combined .hero-people{border:0;background:#f4f7f5;box-shadow:none;border-radius:8px;overflow:hidden}
.hero-combined .people-title{color:#52685f;padding:19px 20px 15px;font-weight:550;font-size:.6875rem;letter-spacing:.17em}
.hero-combined .people-title a{background:transparent;border:1px solid #cddbd2;color:var(--ink);width:30px;height:30px;font-size:1.125rem}
.hero-combined .hero-team{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:0 16px 16px}
.hero-combined .hero-doctor{grid-column:span 2;background:transparent;border:0;border-radius:3px;box-shadow:none;overflow:hidden}
.hero-combined .hero-doctor:nth-child(-n+2){grid-column:span 3}
.hero-combined .hero-doctor:hover{box-shadow:none;transform:translateY(-2px)}
.hero-combined .hero-doctor img{width:100%;height:165px;border-radius:3px;object-fit:cover}
.hero-combined .hero-doctor:nth-child(-n+2) img{height:230px}
.hero-combined .hero-doctor span{color:var(--ink);font-size:.875rem;padding:10px 3px 2px;font-weight:500;line-height:1.5;background:transparent}
.section{padding:76px 0}
.section-heading{margin-bottom:38px}.section-heading h2{color:var(--ink);font-size:clamp(2.25rem,3.7vw,3.3rem);font-weight:400;letter-spacing:-.04em;line-height:1.15}
.section-heading h2::before{display:none}
.section-heading>p{font-size:1rem;line-height:1.8}
.service-grid{gap:0}
.service-card{padding:15px 28px 45px;border:0;border-right:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none}
.service-card:first-child{padding-left:0}.service-card:last-child{padding-right:0;border:0}
.service-card:hover{box-shadow:none;background:#fff;border-color:var(--line);transform:none}
.service-card:hover h3{color:var(--blue)}
.service-icon{background:transparent;border:0;border-radius:0;color:var(--blue);width:43px;height:43px;justify-content:flex-start;margin-bottom:22px}
.service-icon svg{width:31px;height:31px}
.service-card h3{color:var(--ink);font-size:1.25rem;font-weight:550;margin-bottom:15px;line-height:1.3}
.service-card p{color:var(--muted);font-size:1rem;line-height:1.8}
.card-arrow{background:transparent;color:var(--blue);font-size:1.3rem;bottom:7px;right:25px;width:25px;height:25px}
.locations-section{background:#f4f7f5;border-block:1px solid var(--line)}
.office-grid{gap:24px}
.office-card{border:1px solid var(--line);border-radius:6px;box-shadow:none;padding:31px;background:#fff}
.office-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--ink);font-size:1.9rem;letter-spacing:-.035em;line-height:1.2}
.office-card p{font-size:1rem;line-height:1.7}.office-top{margin-bottom:24px}.office-top svg{color:#769388}
.office-number{background:transparent;border-radius:0;padding:0;justify-content:flex-start;min-width:0;height:auto;font:italic 1.45rem/1.2 Georgia,serif;letter-spacing:0;color:#769388}
.office-brand{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:.75rem;color:var(--muted);letter-spacing:.08em;font-weight:500;margin-bottom:9px}
.office-overview{background:transparent;box-shadow:none;border:0;border-radius:4px;padding:0;margin-top:42px;max-width:1000px}
.office-overview picture{border:1px solid var(--line);border-radius:4px}.office-overview figcaption{padding:10px 0 0;color:var(--muted)}
.phone{color:var(--ink);font-weight:550}.office-hours dt{font-weight:500}.office-actions{border-color:var(--line)}
.google-reviews{background:#fff}.reviews-compact h2{color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:400}
.review-office{background:#fff;border-radius:4px;border-color:var(--line);box-shadow:none;padding:20px 23px}
.review-office:hover{background:#f6f9f7;box-shadow:none}.review-office-copy strong{font-weight:550}
.page-intro,.contact-intro{background:#f4f7f5;border-bottom:1px solid var(--line);padding:57px 0}
.page-intro h1,.contact-intro h1{color:var(--ink);font-weight:400;font-family:Georgia,'Times New Roman',serif;letter-spacing:-.04em;line-height:1.15}
.page-intro h1{font-size:clamp(3rem,5.2vw,4.8rem)}
.page-intro .eyebrow,.page-intro h1 .office-brand{color:var(--blue)}
.page-intro .lead,.contact-intro p{color:var(--muted);line-height:1.8}
.doctor-grid{gap:40px}
.doctor-card{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;grid-template-columns:285px minmax(0,1fr);padding-bottom:40px;gap:42px;align-items:start;background:#fff}
.doctor-card:last-child{border-bottom:0;padding-bottom:0}
.doctor-card .portrait{border-radius:4px;overflow:hidden;background:var(--neutral);height:410px;min-height:0}
.doctor-card#alex-vakili .portrait{height:410px;min-height:0}
.doctor-info{background:#fff;border:0;padding:4px 0 0}
.doctor-info h2{font-size:2.15rem;color:var(--ink);font-weight:400;line-height:1.2}
.doctor-info p{color:var(--muted);font-size:1rem;line-height:1.85;margin-top:17px}
.service-detail h2,.resource-section h2{font-weight:400;color:var(--ink);font-size:2.25rem}
.service-detail{gap:28px;border-color:var(--line)}
.location-address,.checklist,.resource-checklist{background:var(--neutral);border:1px solid var(--line);border-radius:5px;box-shadow:none}
.location-address h2,.location-information h2{font-size:2.4rem;font-weight:400}
.location-information .office-hours{background:var(--neutral);border:1px solid var(--line);border-radius:4px}
.resource-nav{background:var(--neutral);border:1px solid var(--line);border-radius:4px}
.resource-nav a{color:var(--ink);font-weight:500}.resource-nav a:hover{box-shadow:none;color:var(--blue)}
.faq details{border-color:var(--line)}.faq details[open] summary{color:var(--blue)}
.contact-intro{padding:37px 0 31px}.contact-intro h1{font-size:3rem;margin-bottom:13px}
.contact-main{padding:34px 0 54px}.contact-workspace{gap:38px}
.contact-office{box-shadow:none;border:1px solid var(--line);border-radius:5px;padding:20px 24px}
.contact-office h2{color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:1.6rem;font-weight:400}
.contact-office h2 .office-brand{font-size:.6875rem;color:var(--muted)}
.compact-form{background:var(--neutral);box-shadow:none;border:1px solid var(--line);border-radius:5px;padding:27px}
.compact-form h2{color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:400}
.compact-form input,.compact-form select,.compact-form textarea{background:#fff;border-color:#c4d1c9;border-radius:3px;font-size:1rem;min-height:45px}
.compact-form label{font-weight:500}.compact-form textarea{min-height:110px}
.launch-notice{background:#edf3ef;border-left:2px solid #759b89;color:#53665a}
#form-status{color:var(--blue);font-size:.875rem}
footer{background:#293633;border-top:0;padding-top:59px}
.footer-brand{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.02em}
.footer-grid h2{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-weight:550;color:#fff}
.footer-grid p,.footer-grid a{color:#d2dfd6}.footer-grid a:hover{color:#fff}
.footer-bottom{border-top-color:#596b60;color:#b8cabc}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #27778a;outline-offset:4px}
@media(min-width:1251px) and (max-width:1400px){.nav nav{gap:16px;font-size:.8125rem}.brand-navigation{gap:14px}.logo{width:180px}.marketplace-coming{padding-left:13px}.marketplace-coming>span{font-size:.8125rem}.nav-cta{padding-inline:14px;font-size:.75rem}}
@media(max-width:1250px){.nav{height:90px}.nav nav{top:90px}.menu-toggle{border-color:var(--line);color:var(--ink);border-radius:4px}.nav nav.open{box-shadow:0 12px 20px #2936330a}.hero-combined .hero-grid{gap:42px}.hero-combined h1{font-size:5.7vw}.hero-combined .hero-doctor:nth-child(-n+2) img{height:215px}.hero-combined .hero-doctor img{height:150px}.office-card{padding:25px}.doctor-card{gap:32px;grid-template-columns:250px minmax(0,1fr)}}
@media(min-width:651px) and (max-width:1000px){.wrap{width:calc(100% - 48px)}.hero-combined{padding:48px 0}.hero-combined .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px}.hero-combined h1{font-size:clamp(2.55rem,5.4vw,3.6rem)}.hero-combined .hero-copy>p{font-size:1rem}.hero-combined .hero-team{gap:8px;padding:0 12px 12px}.hero-combined .hero-doctor img{height:120px}.hero-combined .hero-doctor:nth-child(-n+2) img{height:170px}.hero-combined .hero-doctor span{font-size:.875rem}.hero-combined .people-title{padding:16px 16px 12px}.hero-combined .hero-note{font-size:.8125rem}.section{padding:59px 0}.service-card{padding-inline:23px}.service-card h3{font-size:1.15rem}.doctor-card{grid-template-columns:210px minmax(0,1fr);gap:28px}.doctor-card .portrait,.doctor-card#alex-vakili .portrait{height:340px}.doctor-info h2{font-size:1.9rem}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.preview-bar{font-size:10px;letter-spacing:.06em}.preview-bar a{font-size:11px}.preview-bar .wrap{gap:10px}.nav{height:83px;gap:10px}.nav nav{top:83px}.logo{width:158px}.brand-navigation{gap:10px}.marketplace-coming{padding:4px 0 4px 10px}.marketplace-coming>span{font-size:.75rem}.marketplace-coming small{font-size:.625rem}.menu-toggle{padding:9px;font-size:.8125rem}.hero-combined{padding:39px 0 43px}.hero-combined .hero-grid{grid-template-columns:1fr;gap:32px}.hero-combined h1{font-size:clamp(2.75rem,10.5vw,4.1rem);margin-bottom:22px}.hero-combined .eyebrow{font-size:.6875rem;margin-bottom:18px}.hero-combined .hero-copy>p{font-size:1rem;line-height:1.8;margin-bottom:26px}.hero-combined .hero-note{margin-top:23px;padding-top:18px;font-size:.8125rem}.hero-combined .hero-team{gap:9px;padding:0 12px 13px}.hero-combined .hero-doctor img{height:140px}.hero-combined .hero-doctor:nth-child(-n+2) img{height:200px}.hero-combined .hero-doctor span{font-size:.875rem;padding:9px 2px 3px}.hero-combined .people-title{padding:16px 17px 12px}.section{padding:48px 0}.section-heading{margin-bottom:28px}.section-heading h2{font-size:2.2rem;line-height:1.16}.service-grid{gap:30px 0}.service-card{padding:0 18px 33px;border-right:1px solid var(--line)}.service-card:nth-child(odd){padding-left:0}.service-card:nth-child(even){padding-right:0;border-right:0}.service-card h3{font-size:1.125rem}.service-card p{font-size:1rem}.service-icon{margin-bottom:15px}.card-arrow{right:14px;bottom:0}.office-grid{gap:19px}.office-card{padding:28px}.office-card h3{font-size:1.9rem}.office-overview{margin-top:30px}.review-office{padding:18px 20px}.page-intro{padding:38px 0}.page-intro h1{font-size:2.8rem}.page-intro .lead{font-size:1rem}.doctor-card{grid-template-columns:1fr;gap:25px;padding-bottom:34px}.doctor-card .portrait,.doctor-card#alex-vakili .portrait{height:370px;min-height:0}.doctor-info{padding:0}.doctor-info h2{font-size:2rem}.doctor-info p{font-size:1rem}.resource-section h2,.service-detail h2{font-size:2rem}.contact-intro{padding:32px 0 25px}.contact-intro h1{font-size:2.5rem}.contact-main{padding:25px 0 42px}.contact-workspace{gap:26px}.contact-office{padding:22px}.compact-form{padding:24px 20px}.compact-form h2{font-size:1.8rem}.contact-office h2{font-size:1.6rem}.location-address h2,.location-information h2{font-size:2rem}footer{padding-top:44px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.nav{height:108px}.nav nav{top:108px}.brand-navigation{flex-direction:column;align-items:flex-start;gap:4px}.marketplace-coming{flex-direction:row;align-items:center;gap:6px;border:0;padding:0}.marketplace-coming>span{font-size:.6875rem}.logo{width:158px}.hero-combined .hero-doctor:nth-child(-n+2) img{height:180px}.hero-combined .hero-doctor img{height:112px}.hero-combined .hero-doctor span{font-size:.8125rem}.hero-combined .hero-team{gap:7px;padding-inline:9px}.hero-combined .hero-actions .button{padding:15px 18px;font-size:.8125rem}.hero-combined .hero-note{font-size:.75rem}.hero-combined .hero-note span{margin-inline:3px}.service-card{padding-inline:15px}.service-card p{font-size:1rem}}

/* A restrained blue palette, with the first concept's editorial doctor layout. */
:root{--ink:#2a3a44;--navy:#254b65;--blue:#306f93;--cyan:#62a6bd;--sky:#eef5fa;--muted:#63727a;--line:#dce6ec;--neutral:#f3f7fa}
.preview-bar{background:#eaf2f7;color:#526c80}
.hero-combined{background:linear-gradient(105deg,#fff 26%,#f9fbfd 66%,#eef5fa 100%);border-bottom-color:#dce8f0}
.hero-combined h1 span{color:#356f93}
.hero-combined .eyebrow{color:#36758e}
.hero-combined .hero-copy>p{color:#61727d}
.hero-combined .hero-note{color:#61727d;border-color:#d8e5ed}
.hero-combined .hero-note span{color:#7da6b9}
.hero-combined .hero-people{background:#eaf2f8;border:1px solid #dce8f1;border-radius:6px}
.hero-combined .people-title{color:#496d86}
.hero-combined .people-title a{border-color:#bfd4e2;color:#326480}
.hero-combined .hero-doctor span{color:#34556e}
.button,.hero-combined .hero-actions .button{background:#2b6080;border-color:#2b6080;color:#fff}
.button:hover,.hero-combined .hero-actions .button:hover{background:#204c69;border-color:#204c69;color:#fff!important}
.hero-combined .hero-actions .text-link{color:#315f7e}
.service-icon{color:#3f85a2}
.service-card h3{color:#2b4b60}
.service-card:hover h3{color:#367997}
.card-arrow{color:#3c85a0}
.locations-section{background:#f0f6fa;border-color:#dce8f0}
.office-card{border-color:#d7e4ed;border-top:2px solid #97bccf}
.office-top svg,.office-number{color:#6297b0}
.office-brand{color:#638195}
.office-card h3{color:#2b4b60}
.review-office{border-color:#dce7ef}.review-office:hover{background:#f2f7fb}
.page-intro,.contact-intro{background:linear-gradient(110deg,#f4f8fb,#eaf3f9);border-bottom-color:#d6e5ef}
.page-intro h1,.contact-intro h1{color:#294d68}
.page-intro .lead,.contact-intro p{color:#617583}
.resource-nav,.resource-checklist,.location-address,.checklist,.compact-form{background:#f0f6fa;border-color:#d6e4ed}
.resource-nav a{color:#385f79}
.resource-nav a:hover{color:#286489}
.location-information .office-hours{background:#f0f6fa;border-color:#d6e4ed}
.launch-notice{background:#eaf2f7;border-left-color:#6d9fb9;color:#4f6c7d}
.contact-office{border-color:#dbe6ed}
.compact-form input,.compact-form select,.compact-form textarea{border-color:#c7d8e3}
footer{background:#243f52}
.footer-grid p,.footer-grid a{color:#d5e3ec}
.footer-bottom{border-color:#506c80;color:#becfda}
:where(a,button,input,select,textarea,summary):focus-visible{outline-color:#367b9c}
.doctor-jumps{border-bottom:1px solid var(--line);background:#fff;padding:21px 0}
.doctor-jumps nav{display:flex;justify-content:space-between;gap:18px 28px;flex-wrap:wrap}
.doctor-jumps a{color:#49677b;font-size:.875rem;padding:5px 0;border-bottom:1px solid transparent}
.doctor-jumps a:hover{color:#27668b;border-color:#78a6c0}
.doctor-grid{gap:70px}
.doctor-card{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:72px;align-items:start;padding-bottom:70px;border-bottom:1px solid var(--line)}
.doctor-card:nth-child(even){grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
.doctor-card:nth-child(even) .portrait{order:2}
.doctor-card .portrait,.doctor-card#alex-vakili .portrait{height:auto;min-height:0;align-self:start;background:#ecf3f7;border-radius:4px}
.doctor-card .portrait img,.doctor-card#alex-vakili .portrait img{width:100%;height:auto;aspect-ratio:.72;object-fit:cover;object-position:50% 20%}
.doctor-info{padding-top:6px;background:transparent}
.doctor-info h2{font-size:2.6rem;line-height:1.15;color:#2c4d64;margin-bottom:12px;letter-spacing:-.035em}
.doctor-info>.eyebrow{font-size:.6875rem;letter-spacing:.18em;color:#3d7899;margin-bottom:25px}
.doctor-info p{font-size:1rem;line-height:1.9;max-width:740px}
@media(min-width:651px) and (max-width:1000px){.doctor-card{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:38px;padding-bottom:52px}.doctor-card:nth-child(even){grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.doctor-grid{gap:52px}.doctor-info h2{font-size:2.1rem}.doctor-info p{line-height:1.8}.doctor-jumps nav{gap:12px 22px;justify-content:flex-start}}
@media(max-width:650px){.hero-combined{background:linear-gradient(160deg,#fff 20%,#f0f6fa 100%)}.doctor-card,.doctor-card:nth-child(even){grid-template-columns:1fr;gap:28px;padding-bottom:43px}.doctor-card:nth-child(even) .portrait{order:0}.doctor-card .portrait,.doctor-card#alex-vakili .portrait{height:auto;max-width:420px;width:100%;min-height:0}.doctor-card .portrait img,.doctor-card#alex-vakili .portrait img{height:auto;aspect-ratio:.86;object-position:50% 20%}.doctor-info{padding:0}.doctor-info h2{font-size:2.2rem}.doctor-info p{line-height:1.8}.doctor-grid{gap:43px}.doctor-jumps{padding:15px 0}.doctor-jumps nav{gap:5px 22px;justify-content:flex-start}.doctor-jumps a{font-size:.875rem}}

/* Final color accents: light blue panels balanced by white space. */
.hero-combined .hero-people{background:#dfedf7;border-color:#ccdfed}
.hero-combined .people-title{color:#3d6784}
.hero-combined .people-title a{background:#f5f9fc;border-color:#b8d0e1}
.hero-combined + .section{background:#fff}
.locations-section{background:#eaf3fa;border-color:#d6e5f0}
.doctor-card:nth-child(even){background:#eff6fb;border:1px solid #dbe8f2;border-radius:7px;padding:34px;gap:54px}
.doctor-card:nth-child(even) .doctor-info{background:transparent}
@media(min-width:651px) and (max-width:1000px){.doctor-card:nth-child(even){padding:26px;gap:30px}}
@media(max-width:650px){.doctor-card:nth-child(even){padding:22px;gap:26px}.doctor-card:nth-child(even) .portrait{max-width:100%}}
