/* Serena v2 — a shared visual system for every medical landing. */
:root{--muted:#53655f;--line:color-mix(in srgb,var(--primary) 16%,var(--paper));--soft:color-mix(in srgb,var(--accent) 34%,var(--paper))}
body{font-size:17px;line-height:1.7;background:var(--paper)}
p{color:var(--muted)}
h1,h2{letter-spacing:-.045em;line-height:1.08}
h2{font-size:clamp(37px,4.2vw,59px)}
h3{font-weight:600}
strong{font-weight:650;color:inherit}
.container{width:min(1240px,calc(100% - 96px))}
.section{padding-block:100px}
.eyebrow{letter-spacing:.15em;font-size:11px;margin-bottom:22px}
.button{min-height:50px;border-radius:100px;padding:14px 20px;font-size:13px;letter-spacing:0;font-weight:600}
.button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #142f2515}
.button-wa{background:#25d366;color:#062c17}
.button-phone{background:#1c73b8;color:white}
.text-link{font-size:13px;padding-bottom:9px;border-color:var(--line)}
.demo-strip{background:var(--primary);min-height:32px;letter-spacing:.06em}
.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 97%,transparent)}
.header-inner{min-height:88px}
.brand-word{font-size:38px}
.brand-word small{font-size:8px;letter-spacing:.18em;margin-top:5px}
.brand-mark{background:transparent;border:1px solid var(--line);border-radius:50%;width:46px;height:46px}
.desktop-nav{gap:30px;font-size:13px}
.desktop-nav a{position:relative}
.desktop-nav a:after{content:'';height:1px;background:var(--primary);position:absolute;bottom:3px;left:0;right:100%;transition:right .2s}
.desktop-nav a:hover:after{right:0}
.desktop-nav a[aria-current=page]:after{right:0}.mobile-nav a[aria-current=page]{font-weight:700;color:var(--primary)}
.header-actions .button{padding-inline:20px;min-height:44px}
.hero-shell{background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 55%,var(--soft) 55%);border-bottom:1px solid var(--line)}
.hero{gap:66px;grid-template-columns:1.08fr 1fr;padding-block:60px 65px}
.hero-copy{padding:0}
.hero h1{font-size:clamp(52px,5.6vw,80px);max-width:650px;line-height:1.04}
.hero h1 em{font-weight:400}
.hero-intro{font-size:17px;line-height:1.8;max-width:520px;margin-top:28px}
.hero-intro strong{color:var(--ink);font-weight:600}
.hero .cta-row{gap:9px;margin-top:30px}
.contact-note{font-size:12px;margin-top:17px}
.hero-bottom{margin-top:34px;padding-top:23px;border-color:var(--line);font-size:12px}
.hero-bottom .text-link{font-size:12px}
.mini-symbol{background:var(--soft);width:43px;height:43px}
.hero-visual{padding-bottom:30px}
.hero-photo{height:535px;border-radius:180px 18px 18px 18px}
.hero-caption{left:-28px;right:25px;bottom:0;padding:22px 24px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px #17332812}
.hero-caption>span{border-radius:50%;width:45px;height:45px}
.hero-caption strong{font-size:15px;max-width:285px}
.hero-caption small{font-size:11px}
.hero-caption>a{margin-left:auto;border:1px solid var(--line);padding:9px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.hero-caption>a .icon{width:16px;height:16px}
.photo-index{right:-25px;font-size:9px;letter-spacing:.18em;color:var(--muted)}
.photo figcaption{font-size:9px;background:#12352bcc;padding:3px 9px;letter-spacing:.03em}
.trust-ribbon{background:var(--paper);border:none;padding:0}
.trust-ribbon .container{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line);padding-block:32px}
.trust-ribbon .container>div{padding-left:40px;border-left:1px solid var(--line)}
.trust-ribbon .container>div:first-child{padding-left:0;border:0}
.trust-ribbon strong{display:block;font-family:var(--heading);font-size:29px;font-weight:400;letter-spacing:-.03em}
.trust-ribbon span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.section-heading h2{max-width:780px;white-space:pre-line}
.section-intro{font-size:16px;line-height:1.8;margin-top:20px}
.recognition{gap:100px;padding-block:105px}
.recognition-list li{padding-block:24px;border-color:var(--line);gap:22px}
.recognition-list li:first-child{padding-top:3px}
.recognition-list p{font-size:17px;line-height:1.65}
.recognition-list .item-number{border:1px solid var(--line);border-radius:50%;min-width:34px;height:34px;display:grid;place-items:center;font-size:10px;color:var(--primary)}
.recognition-list .icon{width:16px}
.services-section{background:var(--soft);border-block:1px solid var(--line)}
.service-grid{gap:22px}
.service-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:30px;min-height:345px}
.service-card:nth-child(2){background:var(--primary);color:var(--paper)}
.service-card:nth-child(2) p,.service-card:nth-child(2) .item-number{color:var(--accent)}
.service-card:nth-child(2) .service-symbol{color:var(--accent)}
.service-card:nth-child(2) .service-link{border-color:#ffffff35}
.service-card:nth-child(2) .service-link>span{background:#ffffff12;border-color:#ffffff35}
.service-card:hover{transform:translateY(-5px);border-color:var(--primary);background:var(--paper)}
.service-card:nth-child(2):hover{background:var(--primary);filter:brightness(1.08)}
.service-card-top{margin-bottom:37px;align-items:flex-start}
.service-symbol{width:45px;height:45px}
.service-symbol .icon{width:40px;height:40px;stroke-width:1.15}
.service-card .item-number{font-size:12px;padding-top:6px}
.service-card h3{font-family:var(--heading);font-size:32px;line-height:1.15;font-weight:400;letter-spacing:-.035em;max-width:240px}
.service-card p{font-size:15px;line-height:1.7;margin-top:1px}
.service-link{font-size:12px;line-height:1.5;padding-top:20px;margin-top:28px;border-color:var(--line)}
.service-link>span{border:1px solid var(--line);width:36px;height:36px;border-radius:50%;display:grid;place-items:center}
.service-link .icon{width:18px;height:18px}
.service-help p{font-size:14px}
.service-directory{padding-top:25px}
.service-directory details{border-color:var(--line)}
.service-directory summary{font-size:15px}
.service-directory li{font-size:14px;align-items:flex-start}
.about-section{gap:90px}
.about-photo{height:615px;border-radius:16px 16px 160px 16px}
.about-copy h2{font-size:clamp(37px,4vw,54px);line-height:1.09}
.about-copy .about-name{font-size:21px;font-weight:600;margin-bottom:18px}
.about-copy p{font-size:16px;line-height:1.8}
.credential-list{margin-top:25px;border-color:var(--line)}
.credential-list p{font-size:13px}
.credential-list .icon{color:var(--primary)}
.about-copy .legal-credentials{font-size:12px}
.expertise{background:var(--primary);position:relative;border-radius:0}
.expertise h2{font-size:clamp(37px,4vw,54px)}
.expertise-inner{gap:80px}
.expertise ul{grid-template-columns:1fr 1fr;gap:30px}
.expertise li{font-size:16px;align-items:flex-start;gap:14px}
.expertise .icon{margin-top:3px}
.testimonials .section-heading{max-width:880px}
.review-grid{gap:25px}
.review-card{padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.review-card blockquote{font-size:25px;line-height:1.55}
.review-card>.icon{color:var(--primary);opacity:.7}
.review-card footer{font-size:13px;border-color:var(--line)}
.review-card footer a{font-size:12px}
.review-placeholder h3{font-size:27px;line-height:1.3;font-weight:400}
.review-placeholder p{font-size:13px;line-height:1.75}
.demo-label{color:var(--muted);font-size:10px!important;letter-spacing:.1em}
.process-section{background:var(--soft);border-block:1px solid var(--line)}
.steps{gap:50px}
.steps>div{border-color:var(--line)}
.steps>div>span{font-size:42px;color:var(--primary)}
.steps h3{font-size:21px;font-weight:500;line-height:1.4}
.steps p{font-size:15px;line-height:1.8}
.process-section .cta-row{margin-top:35px}
.video-section{gap:85px;grid-template-columns:.8fr 1.2fr}
.video-copy h2{font-size:clamp(37px,4vw,54px)}
.video-copy>p:not(.eyebrow){font-size:16px;line-height:1.8}
.video-wrap{border-radius:16px;background:var(--soft);border:1px solid var(--line)}
.video-wrap>p{font-size:11px;padding:13px 20px}
.education-photo{min-height:420px}
.location-section{border-top:1px solid var(--line)}
.location-card{gap:0;grid-template-columns:1fr 1.15fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--soft)}
.location-info{padding:44px}
.location-info h3{font-size:31px;line-height:1.2;font-weight:400}
.location-info p{font-size:15px;line-height:1.8}
.location-info .cta-row{gap:9px}
.location-info .button{font-size:12px;padding:12px 15px}
.location-info .text-link{font-size:13px;margin-top:20px}
.map-panel{min-height:480px;border-radius:0;border:0;border-left:1px solid var(--line)}
.map-panel iframe,.load-map{min-height:480px}
.location-card+.location-card{padding:0;margin-top:30px}
.map-label{border:1px solid var(--line);background:var(--paper);padding:20px;bottom:26px}
.map-label span{font-size:11px}
.map-pin{background:var(--primary)}
.faq-section{background:var(--primary);padding-block:90px}
.faq-layout{gap:95px}
.faq-layout>div>p:not(.eyebrow){font-size:16px;line-height:1.8}
.accordion summary{font-size:16px;line-height:1.6;padding-block:23px;padding-right:6px;align-items:center}
.accordion p{font-size:15px;line-height:1.8}
.closing-section{margin-top:90px;margin-bottom:90px;border-radius:18px;grid-template-columns:1.25fr .85fr;background:var(--soft);border:1px solid var(--line)}
.closing-copy{padding:55px}
.closing-copy h2{font-size:clamp(37px,4.1vw,58px)}
.closing-copy>p:not(.eyebrow){font-size:16px;line-height:1.8}
.closing-details{display:grid;grid-template-columns:1.3fr 1fr;gap:24px 30px;margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}
.closing-details p{font-size:13px;line-height:1.75}
.closing-details strong{color:var(--ink)}
.closing-details a{text-decoration:underline;text-underline-offset:4px}
.closing-photo{height:100%;min-height:620px}
.closing-art{min-height:540px;background:var(--primary);overflow:hidden}
.closing-art .art-orbit{width:520px;height:520px}
.closing-art .art-symbol{width:160px;height:160px}
.closing-art .art-symbol .icon{width:80px;height:80px;stroke-width:.8}
.site-footer{background:var(--paper);border-color:var(--line);padding-top:65px}
.footer-grid{grid-template-columns:1.3fr 1fr 1.1fr 1.2fr;gap:35px}
.footer-grid>div>p{font-size:12px;line-height:1.8}
.footer-grid>div>a:not(.brand){font-size:12px;line-height:1.7;min-height:32px}
.footer-grid h3{font-size:12px;letter-spacing:.03em}
.footer-bottom{border-color:var(--line)}
.service-hero{gap:65px;padding-block:50px 65px;grid-template-columns:1.05fr 1fr}
.service-hero h1{font-size:clamp(48px,5.3vw,74px);line-height:1.06}
.service-photo{height:510px;border-radius:18px 130px 18px 18px}
.section-nav{display:flex;gap:35px;border-block:1px solid var(--line);padding-block:20px;font-size:12px;font-weight:600;flex-wrap:wrap}
.section-nav a{padding:4px 0;min-height:25px}
.section-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.service-explanation{background:var(--soft)}
.service-explanation p:not(.eyebrow){font-size:18px;line-height:1.85}
.about-art{border-radius:18px 18px 130px 18px;min-height:530px;background:var(--soft)}
.art-symbol{background:var(--paper);color:var(--primary)}
.closing-art .art-symbol{color:var(--accent)}
.page-heading{padding-block:55px 25px}
.page-heading h1{font-size:clamp(46px,5.7vw,78px)}
.all-services li{font-size:17px;border-color:var(--line)}
.all-services ul{margin-top:10px}
.contact-heading+.section{border-top:0}
.breadcrumb{font-size:12px;padding-top:25px}
.mobile-contact{border-color:var(--line)}
dialog.site-dialog{border-radius:18px}
dialog.site-dialog .button{margin-top:20px}
.reveal{animation:softIn .55s cubic-bezier(.22,1,.36,1) both}
@media(min-width:1500px){.hero h1{font-size:83px}.hero-photo{height:600px}.hero{padding-block:75px}}
@media(max-width:1100px){
 .container{width:calc(100% - 64px)}.hero{gap:40px}.hero h1{font-size:60px}.hero-photo{height:520px}
 .hero-caption{left:-12px;right:15px;padding:18px}.hero-caption strong{font-size:13px}.hero-caption small{font-size:10px}.hero-caption>a{display:none}
 .hero .cta-row .button{font-size:12px;padding:13px 14px}.hero-bottom .text-link{display:none}
 .recognition,.about-section,.faq-layout,.expertise-inner{gap:50px}.service-card{padding:27px}.service-card h3{font-size:29px}
 .location-info{padding:32px}.location-info .cta-row{flex-direction:column;align-items:flex-start}.closing-copy{padding:40px}.closing-details{grid-template-columns:1fr 1fr;gap:20px}.footer-grid{gap:24px}
}
@media(max-width:900px){
 .section{padding-block:78px}.header-inner{min-height:79px}.hero{gap:33px;padding-block:45px 55px}.hero h1{font-size:52px}.hero-intro{font-size:16px}.hero-photo{height:525px}
 .hero .cta-row{flex-direction:column;align-items:stretch;max-width:300px}.hero .cta-row .button{font-size:13px}.hero-caption{padding:15px;gap:10px}.hero-caption strong{font-size:12px}
 .trust-ribbon strong{font-size:26px}.trust-ribbon .container>div{padding-left:28px}.trust-ribbon span{font-size:11px}
 .recognition{gap:40px}.recognition-list p{font-size:16px}.service-grid{gap:15px}.service-card{padding:22px;min-height:350px}.service-card h3{font-size:26px}.service-card p{font-size:14px}
 .about-photo{height:600px}.about-copy h2{font-size:39px}.about-copy p{font-size:15px}.about-section{gap:35px}.expertise ul{grid-template-columns:1fr;gap:24px}
 .review-grid{gap:16px}.review-card{padding:22px}.review-placeholder h3{font-size:24px}.steps{gap:28px}.steps h3{font-size:19px}
 .video-section{gap:35px;grid-template-columns:1fr 1.1fr}.video-section h2{font-size:39px}.location-card{grid-template-columns:1fr 1fr}.location-info{padding:28px}.location-info p{font-size:14px}
 .map-panel,.map-panel iframe,.load-map{min-height:510px}.faq-layout{gap:40px}.faq-layout h2{font-size:40px}.accordion summary{font-size:15px}
 .closing-section{grid-template-columns:1.3fr .8fr;margin-block:70px}.closing-copy{padding:34px}.closing-copy h2{font-size:42px}.closing-details{grid-template-columns:1fr}.closing-details p{font-size:13px}
 .closing-copy .cta-row{align-items:stretch}.closing-photo{min-height:600px}.footer-grid{grid-template-columns:1fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1;display:block}
 .service-hero{gap:35px}.service-hero h1{font-size:50px}.service-photo{height:500px}.service-hero .cta-row{flex-direction:column;align-items:stretch;max-width:300px}
}
@media(max-width:680px){
 .container{width:calc(100% - 40px)}.section{padding-block:60px}.header-inner{min-height:72px}.brand-word{font-size:31px}.brand-word small{font-size:7px;margin-top:3px}.brand-mark{width:38px;height:38px}
 .demo-strip{min-height:29px}.hero-shell{background:var(--paper)}.hero{grid-template-columns:1fr;gap:30px;padding-block:36px 38px}.hero h1{font-size:clamp(43px,11.5vw,66px);line-height:1.05}.hero .eyebrow{font-size:10px;margin-bottom:20px}
 .hero-intro{font-size:16px;line-height:1.75;margin-top:22px}.hero .cta-row{max-width:none;flex-direction:row;gap:9px;margin-top:24px}.hero .cta-row .button{font-size:13px;padding:12px 10px;flex:1;min-height:52px}
 .contact-note{font-size:11px}.hero-bottom{margin-top:24px;padding-top:20px;font-size:11px}.hero-bottom .text-link{display:inline-flex;font-size:11px}
 .hero-photo{height:365px;border-radius:105px 16px 16px 16px}.hero-visual{max-width:500px;padding-bottom:24px}.hero-caption{left:12px;right:12px;padding:15px;gap:12px}.hero-caption strong{font-size:13px}.hero-caption small{font-size:10px}.hero-caption>span{width:38px;height:38px}
 .trust-ribbon .container{grid-template-columns:repeat(3,1fr);padding-block:23px;gap:12px}.trust-ribbon .container>div{padding-left:12px}.trust-ribbon strong{font-size:21px}.trust-ribbon span{font-size:10px;line-height:1.5;margin-top:5px}
 .section-heading h2{font-size:38px}.section-heading{margin-bottom:30px;gap:20px}.section-intro{font-size:15px}.recognition{grid-template-columns:1fr;gap:30px}.recognition-list li{gap:15px;padding-block:21px}.recognition-list p{font-size:16px}
 .service-grid{grid-template-columns:1fr;gap:17px}.service-card{padding:27px;min-height:0}.service-card-top{margin-bottom:24px}.service-card h3{font-size:33px;max-width:none}.service-card p{font-size:15px}.service-link{margin-top:20px}.service-help{gap:15px;text-align:center}.service-help p{font-size:14px;max-width:300px}
 .service-directory{padding-top:22px}.service-directory summary{font-size:14px;gap:15px}.service-directory ul{grid-template-columns:1fr}.about-section{grid-template-columns:1fr;gap:35px}.about-photo{height:380px;border-radius:15px 15px 105px 15px}.about-copy h2{font-size:39px}.about-copy p{font-size:16px}.about-copy .about-name{font-size:20px}
 .expertise-inner{grid-template-columns:1fr;gap:34px}.expertise h2{font-size:38px}.expertise ul{grid-template-columns:1fr 1fr;gap:24px 16px}.expertise li{font-size:14px;gap:10px}.expertise .icon{width:17px;height:17px}
 .review-grid{grid-template-columns:1fr;gap:18px}.review-card{padding:26px}.review-placeholder h3{font-size:28px;max-width:none}.review-placeholder p{font-size:14px}.review-card blockquote{font-size:25px}
 .steps{grid-template-columns:1fr;gap:27px}.steps>div{padding-left:54px}.steps>div>span{font-size:32px}.steps h3{font-size:20px}.steps p{font-size:15px}.process-section .cta-row{align-items:stretch}
 .video-section{grid-template-columns:1fr;gap:30px}.video-section h2{font-size:38px}.video-copy>p:not(.eyebrow){font-size:16px}.video-wrap>p{font-size:11px}.video-copy .cta-row{flex-direction:row;gap:8px}.video-copy .button{flex:1;font-size:13px;padding:12px 10px}.education-photo{min-height:310px}
 .location-card{grid-template-columns:1fr;gap:0;border-radius:14px}.location-info{padding:27px 23px 30px}.location-info h3{font-size:29px}.location-info p{font-size:15px}.location-info .cta-row{flex-direction:column;align-items:stretch}.location-info .cta-row .button{font-size:13px;padding:13px}.location-info .cta-row .icon{width:19px;height:19px}
 .map-panel,.map-panel iframe,.load-map{min-height:330px}.map-panel{border-left:0;border-top:1px solid var(--line)}.map-label{left:18px;right:18px;bottom:18px;padding:17px}.map-label strong{font-size:16px}.map-label span{font-size:10px}
 .faq-layout{grid-template-columns:1fr;gap:35px}.faq-layout h2{font-size:39px}.faq-layout>div>p:not(.eyebrow){font-size:16px}.accordion summary{font-size:15px;gap:18px}.accordion p{font-size:14px;line-height:1.85}
 .closing-section{grid-template-columns:1fr;width:calc(100% - 28px);margin-block:50px;border-radius:16px}.closing-copy{padding:34px 25px}.closing-copy h2{font-size:39px}.closing-copy>p:not(.eyebrow){font-size:15px}.closing-details{grid-template-columns:1fr;gap:20px}.closing-details p{font-size:14px}.closing-copy .cta-row{flex-direction:column;align-items:stretch}
 .closing-photo{height:300px;min-height:0}.closing-art{min-height:240px}.closing-art .art-symbol{width:110px;height:110px}.closing-art .art-symbol .icon{width:60px;height:60px}
 .site-footer{padding-top:40px;padding-bottom:110px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 25px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-grid>div>a:not(.brand){font-size:12px}.footer-grid>div>p{font-size:13px}.footer-bottom{font-size:10px}
 .mobile-contact{padding-top:10px}.mobile-contact .button{font-size:13px;min-height:46px;border-radius:100px}
 .service-hero{grid-template-columns:1fr;padding-block:35px 40px;gap:30px}.service-hero h1{font-size:46px}.service-hero .hero-intro{font-size:16px}.service-hero .cta-row{max-width:none;flex-direction:row}.service-hero .button{flex:1;font-size:13px;padding:12px 10px}.service-photo{height:345px;border-radius:16px 100px 16px 16px}
 .section-nav{gap:13px 24px;padding-block:18px;font-size:11px;display:grid;grid-template-columns:1fr 1fr}.section-nav a{min-height:28px;padding-block:5px}.service-explanation p:not(.eyebrow){font-size:16px}.service-explanation h2{font-size:38px}
 .about-art{min-height:300px;border-radius:15px 15px 105px 15px}.page-heading{padding-block:35px 20px}.page-heading h1{font-size:45px}.all-services ul{grid-template-columns:1fr}.all-services li{font-size:16px}.breadcrumb{font-size:11px;padding-top:20px}
 dialog.site-dialog h2{font-size:33px}dialog.site-dialog>p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
