/* Client-specific page and appointment components. */
.quiz__matches{display:grid;gap:16px}
.quiz__match{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;color:var(--pearl)}
.quiz__match h4{font-size:22px;color:var(--pearl);letter-spacing:-.03em}
.quiz__match p{font-size:16px;color:var(--pearl)}
.quiz__privacy{font-size:12px;color:var(--pearl);opacity:.73;max-width:660px}
.quiz__privacy{margin-top:6px}
.site-note{display:block;max-width:570px;margin-top:8px}
.editorial-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:start}
.editorial-grid>h2{font-size:43px;line-height:1.13;letter-spacing:-.04em;margin:0}
.article-copy{max-width:730px}
.article-copy p{font-size:17px;line-height:1.75;margin:0 0 22px}
.article-copy h2{font-size:35px;line-height:1.2;margin:55px 0 20px}
.article-copy h3{font-size:23px;margin:30px 0 14px}
.article-copy a{text-decoration:underline;text-underline-offset:5px}
.article-copy ul{padding-left:20px}
.article-copy li{margin-bottom:10px}
.photo-band{margin:0;max-height:560px;overflow:hidden;border-radius:24px}
.photo-band img{display:block;width:100%;height:100%;max-height:560px;object-fit:cover}
.doctor-profile{display:grid;grid-template-columns:.7fr 1.3fr;gap:85px;scroll-margin-top:125px}
.doctor-profile img{width:100%;border-radius:24px;display:block;max-height:520px;object-fit:cover;object-position:50% 20%}
.doctor-profile h2{font-size:43px;line-height:1.1;margin:0 0 25px}
.doctor-profile .article-copy p{font-size:16px}
.doctor-profile .doctor-role{font-size:12px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:20px}
.doctor-profile+.doctor-profile{margin-top:95px;padding-top:95px;border-top:1px solid var(--line)}
.service-links{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;margin-top:40px}
.service-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:18px;letter-spacing:-.02em}
.service-links a:hover{text-decoration:underline;text-underline-offset:5px}
.service-links a:after{content:'↗';font-size:18px}
.fine-print{font-size:12px;line-height:1.6;opacity:.75;max-width:740px}
.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.booking-option{border-top:1px solid var(--pearl);padding-top:30px}
.booking-option h2{font-size:34px;line-height:1.15;margin:0 0 20px}
.booking-option p{font-size:17px;margin-bottom:25px;max-width:500px}
@media(max-width:1100px){.editorial-grid,.doctor-profile{gap:50px}}
@media(max-width:900px){.editorial-grid{grid-template-columns:1fr;gap:28px}
.editorial-grid>h2{font-size:36px}
.doctor-profile{grid-template-columns:.8fr 1.2fr;gap:35px}
.doctor-profile h2{font-size:36px}
.booking-options{gap:40px}}
@media(max-width:600px){.quiz__match{padding:20px}
.quiz__match h4{font-size:22px}
.quiz__match p{font-size:15px}
.editorial-grid{gap:24px}
.editorial-grid>h2{font-size:34px}
.article-copy p{font-size:16px;line-height:1.7}
.article-copy h2{font-size:29px;margin-top:36px}
.photo-band{border-radius:20px}
.photo-band img{height:280px}
.doctor-profile{grid-template-columns:1fr;gap:30px}
.doctor-profile>img{max-height:470px;width:100%;border-radius:20px;object-fit:cover}
.doctor-profile h2{font-size:35px}
.doctor-profile+.doctor-profile{margin-top:60px;padding-top:60px}
.service-links{grid-template-columns:1fr;margin-top:25px}
.service-links a{font-size:17px}
.booking-options{grid-template-columns:1fr;gap:50px}
.booking-option h2{font-size:30px}
.booking-option p{font-size:16px}}
.quiz__match-badge{color:var(--pearl);background:none;letter-spacing:.03em;font-size:10px;margin-bottom:8px}
.quiz__match-name{display:block;font-size:24px;line-height:1.15;color:var(--pearl);letter-spacing:-.035em}
.quiz__match-short{display:block;font-size:15px;line-height:1.55;color:var(--pearl);margin-top:12px}
.quiz__match-cta{display:inline-flex;color:var(--pearl);font-size:13px;margin-top:18px}
@media(max-width:600px){.quiz__match-name{font-size:22px}}
.quiz__counter{text-align:center;font-size:11px;font-weight:550;letter-spacing:.04em;margin:0 0 14px;opacity:.7}
.doctor-bio{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:26px 0;padding:0}
.doctor-bio summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 0;min-height:52px;font-size:14px;cursor:pointer;list-style:none;font-weight:550}
.doctor-bio summary::-webkit-details-marker{display:none}
.doctor-bio summary span{font-size:23px;font-weight:400;transition:transform .2s}
.doctor-bio[open] summary span{transform:rotate(45deg)}
.doctor-bio[open] summary{margin-bottom:14px}
.appointment-drawer{border:0;padding:0;width:500px;max-width:calc(100% - 40px);max-height:calc(100dvh - 50px);margin:auto;background:#fff;color:var(--pearl);border-radius:28px;overflow:auto;overscroll-behavior:contain;box-shadow:none}
.appointment-drawer::backdrop{background:rgb(19 36 59 / .48);backdrop-filter:blur(8px)}
.appointment-drawer[open]{animation:pearl-panel-in .3s cubic-bezier(.2,.7,.3,1)}
.appointment-drawer__inside{padding:44px;position:relative}
.appointment-drawer__close{position:absolute;right:19px;top:15px;width:44px;height:44px;display:grid;place-items:center;border:0;background:#fff;color:var(--pearl);font-size:31px;font-weight:300;cursor:pointer}
.appointment-faces{display:flex;margin-bottom:27px}
.appointment-faces img{display:block;width:54px;height:54px;object-fit:cover;object-position:center 20%;border:3px solid #fff;border-radius:50%}
.appointment-faces img+img{margin-left:-12px}
.appointment-drawer .kicker{font-size:10px;margin:0 0 17px;display:block}
.appointment-drawer h2{font-size:49px;font-weight:550;line-height:1.04;letter-spacing:-.05em;margin:0}
.appointment-drawer__intro{font-size:16px;margin:21px 0 29px}
.appointment-choice{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 24px;border:1px solid var(--line-deep);border-radius:16px;text-decoration:none;background:#fff;color:var(--pearl);margin-bottom:13px;transition:transform .2s}
.appointment-choice:hover{transform:translateY(-2px)}
.appointment-choice strong{display:block;font-size:17px;font-weight:550;letter-spacing:-.02em}
.appointment-choice small{display:block;font-size:12px;line-height:1.5;margin-top:5px;opacity:.8}
.appointment-choice>span:last-child{font-size:23px}
.appointment-choice--primary{background:var(--pearl);color:#fff;border-color:var(--pearl)}
.appointment-choice--primary:focus-visible{outline-offset:5px}
.appointment-drawer__note{font-size:12px;line-height:1.6;margin:23px 0 10px;opacity:.76}
.appointment-drawer .text-link{font-size:12px}
.appointment-open{overflow:hidden}
@media(max-width:600px){.appointment-drawer{max-width:none;width:100%;max-height:calc(100dvh - 28px);margin:auto 0 0;border-radius:28px 28px 0 0}
.appointment-drawer__inside{padding:32px 25px max(28px,env(safe-area-inset-bottom))}
.appointment-drawer h2{font-size:43px}
.appointment-faces{margin-bottom:22px}
.appointment-drawer__intro{font-size:15px;margin:18px 0 25px}
.appointment-choice{padding:18px 20px;min-height:84px}
.appointment-drawer__note{margin-top:20px}
.appointment-drawer .text-link{font-size:13px}
.doctor-bio summary{font-size:14px}}
.appointment-drawer:not([open]){display:none}
.appointment-drawer__close{border-radius:50%}
.smile-compare{position:relative;width:100%;max-width:860px;aspect-ratio:1.45;overflow:hidden;border-radius:24px;background:#fff;margin-top:32px;isolation:isolate}
.smile-compare>img,.smile-compare__before,.smile-compare__before img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.smile-compare__before{clip-path:inset(0 calc(100% - var(--compare)) 0 0)}
.smile-compare__line{position:absolute;top:0;bottom:0;left:var(--compare);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none;display:flex;align-items:center;justify-content:center}
.smile-compare__line>span{display:grid;place-items:center;background:#fff;color:var(--pearl);border-radius:50%;width:52px;height:52px;flex:0 0 52px;font-size:26px;box-shadow:0 0 0 1px var(--line)}
.smile-compare__label{position:absolute;top:18px;padding:8px 14px;background:#fff;color:var(--pearl);border-radius:20px;font-size:12px;line-height:1.3;font-weight:550;pointer-events:none}
.smile-compare__label--before{left:18px}
.smile-compare__label--after{right:18px}
.smile-compare__range{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize;touch-action:pan-y;z-index:3}
.smile-compare:focus-within{outline:2px solid var(--pearl);outline-offset:5px}
.compare-instruction{font-size:12px;line-height:1.6;margin-top:15px;color:var(--pearl);opacity:.75}
@media(max-width:600px){.smile-compare{border-radius:18px;aspect-ratio:1.42}
.smile-compare__line>span{width:44px;height:44px;flex-basis:44px;font-size:23px}
.smile-compare__label{top:12px;font-size:11px}
.smile-compare__label--before{left:12px}
.smile-compare__label--after{right:12px}}/* SEO pages (areas, technology, library hub): shared blocks */
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}
.sec-head h2{font-size:38px;line-height:1.12;letter-spacing:-.03em;margin:0}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.area-card{display:flex;flex-direction:column;gap:10px;padding:28px;border:1px solid var(--line,#d9dee4);border-radius:20px;background:#fff;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.area-card:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(8,19,33,.08)}
.area-card__kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.area-card__title{font-size:28px;line-height:1.1;margin:0}
.area-card__sub{font-size:15px;line-height:1.55;margin:0;flex:1;opacity:.8}
.tech-band img{object-fit:contain;background:#fff;max-height:420px}
.tech-list{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.tech-item{padding:32px;border:1px solid var(--line,#d9dee4);border-radius:20px;background:#fff}
.tech-item h2{font-size:30px;line-height:1.15;margin:10px 0 14px;letter-spacing:-.03em}
.tech-item p{font-size:16px;line-height:1.75;margin:0}
.lib-card__cat,.lib-card__cta,.lib-card__more{color:var(--pearl)}
.lib-card:hover{border-color:var(--pearl)}
.lib-related__chip:hover{border-color:var(--pearl);color:var(--pearl)}
@media(max-width:900px){.area-grid{grid-template-columns:1fr 1fr}.tech-list{grid-template-columns:1fr}}
@media(max-width:600px){.sec-head{flex-direction:column;align-items:flex-start}.sec-head h2{font-size:32px}.area-grid{grid-template-columns:1fr}.area-card{padding:24px}.tech-item{padding:24px}.tech-item h2{font-size:26px}}
/* library + tech band spacing under the solid header */
.lib-hero{padding-top:clamp(150px,16vw,210px);background:none}
.lib-article{padding-top:clamp(140px,14vw,190px)}
.tech-band{max-height:none}
.tech-band img{height:auto;max-height:420px}
@media(max-width:600px){.tech-band img{height:auto;max-height:200px}}
.lib-card__more{font-size:14px;font-weight:500;margin-top:4px}
article.lib-article.section{padding-top:clamp(140px,14vw,190px)}
@media(max-width:600px){article.lib-article.section{padding-top:124px}section.lib-hero.section{padding-top:130px}}

/* audit fixes: contrast, hidden heading */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body .site-footer .footer-col__title{color:#2f3d52}
