@import url('./fonts.css');
@import url('./tokens.css');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:34px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.12;font-weight:800;letter-spacing:-.035em}p{color:var(--muted)}a,button{transition:background var(--duration),color var(--duration),transform var(--duration)}:focus-visible{outline:3px solid var(--rose-700);outline-offset:5px}section[id]{scroll-margin-top:40px}.skip{position:fixed;left:20px;top:-80px;z-index:99;padding:12px 20px;background:white}.skip:focus{top:12px}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon.small{width:18px;height:18px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:11px;color:var(--teal-700)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--teal-700);color:white;font-weight:750;font-size:14px}.btn:hover{background:var(--teal-900);transform:translateY(-2px)}.btn.secondary{color:var(--teal-900);background:transparent;border-color:#afc8c8}.btn.secondary:hover{background:var(--teal-100)}.btn.rose{background:var(--rose-700)}.btn.light{background:white;color:var(--teal-900)}.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:14px;color:var(--teal-700);min-height:44px}.text-link:hover{color:var(--rose-700)}.badge{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill);background:var(--teal-100);padding:6px 11px;font-size:11px;color:var(--teal-700);font-weight:800;letter-spacing:.02em}.badge.pink{background:var(--rose-100);color:var(--rose-700)}.dot{width:6px;height:6px;border-radius:50%;background:currentColor}.logo-img{width:64px;height:64px;object-fit:contain;border-radius:50%}.brand{display:flex;gap:12px;align-items:center}.brand strong{display:block;font-weight:900;font-size:19px;letter-spacing:-.04em}.brand small{display:block;font-size:10px;letter-spacing:.07em;color:var(--muted)}
/* Design system shell */
.ds-sidebar{width:238px;position:fixed;inset:0 auto 0 0;padding:32px 25px;border-right:1px solid var(--line);background:var(--white);display:flex;flex-direction:column;z-index:20}.ds-sidebar .brand{gap:9px}.ds-sidebar .logo-img{width:51px;height:51px}.edition{margin:31px 0 16px;font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:800}.ds-nav{display:grid;gap:4px}.ds-nav a{padding:10px 12px;border-radius:8px;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;color:var(--muted)}.ds-nav a span{font-size:10px;opacity:.7}.ds-nav a:hover,.ds-nav a.active{background:var(--teal-50);color:var(--teal-700)}.sidebar-bottom{margin-top:auto;padding-top:35px}.sidebar-bottom p{font-size:11px;margin-top:15px}.sidebar-bottom .btn{width:100%;font-size:12px;padding-inline:12px}.ds-main{margin-left:238px;padding:0 48px;max-width:1700px}.ds-topbar{height:83px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}.breadcrumbs{font-size:12px;color:var(--muted)}.breadcrumbs b{color:var(--ink);font-weight:700}.top-right{display:flex;gap:20px;align-items:center}.top-right .text-link{font-size:12px}.mobile-ds-toggle{display:none}.ds-intro{padding:48px 0 38px}.intro-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.version{font-family:monospace;font-size:11px;color:var(--muted)}.ds-intro h1{font-size:clamp(40px,4.4vw,66px);max-width:800px;line-height:1.06}.ds-intro h1 em{font-style:normal;color:var(--teal-700)}.intro-copy{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-top:24px}.intro-copy p{max-width:540px;font-size:14px}.mini-values{display:flex;gap:9px;flex-wrap:wrap}.mini-values span{font-size:11px;padding:6px 10px;border:1px solid var(--line);border-radius:99px;white-space:nowrap}.mood-board{display:grid;grid-template-columns:1.14fr 1fr .72fr;gap:12px;min-height:270px;margin:4px 0 52px}.mood-statement{background:var(--teal-900);color:white;border-radius:22px;padding:29px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.mood-statement .eyebrow{color:#b4d7d9;font-size:9px}.mood-statement h2{font-size:35px;max-width:260px;position:relative;z-index:1}.mood-statement h2 span{color:#9cd0ce}.mood-statement .icon{width:98px;height:98px;position:absolute;right:-12px;bottom:33px;opacity:.08;transform:rotate(-15deg)}.mood-statement small{color:#b4d7d9;font-size:10px}.mood-photo{position:relative;overflow:hidden;border-radius:22px}.mood-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 47%}.photo-label{position:absolute;bottom:15px;left:15px;background:#fffef2f2;border-radius:99px;padding:5px 10px;font-size:9px;color:var(--ink);font-weight:750}.mood-logo{border-radius:22px;background:var(--rose-100);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:15px}.mood-logo img{width:144px;border-radius:50%}.mood-logo span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--rose-700);font-weight:800}.ds-section{padding:0 0 52px;margin-bottom:43px;border-bottom:1px solid var(--line)}.section-header{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}.section-title{display:flex;align-items:baseline;gap:13px}.section-title .num{font-size:11px;color:var(--teal-700);font-family:monospace}.section-title h2{font-size:27px}.section-header>p{max-width:320px;font-size:12px}.palette{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.swatch{padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-align:left;background:white;color:var(--ink)}.swatch:hover{transform:translateY(-4px)}.swatch-color{height:105px;display:flex;align-items:end;justify-content:space-between;padding:13px;color:white}.swatch-color .icon{width:15px;height:15px;opacity:.65}.swatch-color.light{color:var(--ink)}.swatch-info{padding:13px}.swatch-info strong{display:block;font-size:12px}.swatch-info code{font-size:10px;color:var(--muted)}.swatch-info small{display:block;font-size:10px;color:var(--muted);margin-top:8px}.ds-note{font-size:11px;margin-top:16px;display:flex;gap:8px;align-items:center}.type-panel{display:grid;grid-template-columns:.75fr 1.25fr;background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden}.type-brand{padding:28px;background:var(--teal-50);display:flex;flex-direction:column;justify-content:space-between}.type-brand .big-aa{font-size:90px;line-height:1.1;font-weight:800;letter-spacing:-.09em}.type-brand h3{font-size:24px;margin-top:12px}.type-brand p{font-size:12px;margin-top:9px}.type-brand small{font-size:10px;color:var(--muted);margin-top:20px}.type-scale{padding:17px 26px}.type-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.type-row:last-child{border:0}.type-row span{line-height:1.1;font-weight:800;letter-spacing:-.035em}.type-row small{font-size:9px;font-family:monospace;color:var(--muted);white-space:nowrap}.component-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sample{border:1px solid var(--line);background:white;border-radius:18px;padding:26px}.sample-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.sample-title h3{font-size:14px;letter-spacing:0}.sample-title small{font-family:monospace;color:var(--muted);font-size:9px}.sample-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sample .btn{font-size:12px;padding:10px 16px;min-height:44px}.sample .text-link{font-size:12px}.field{display:grid;gap:7px;font-size:12px;font-weight:750}.field input,.field select,.field textarea{padding:12px 14px;border:1px solid #a8c1c1;border-radius:8px;background:white;color:var(--ink);width:100%;font-size:13px}.field small{font-size:10px;font-weight:400;color:var(--muted)}.component-demo{margin-top:16px}.demo-feedback{font-size:11px;min-height:24px;margin-top:12px;color:var(--teal-700)}.service-card{padding:25px;border:1px solid var(--line);border-radius:18px;background:white}.service-card>.icon{color:var(--teal-700);width:30px;height:30px;margin-bottom:28px}.service-card h3{font-size:21px}.service-card p{font-size:13px;margin:13px 0}.service-card .text-link{margin-top:10px}.service-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.service-card-head .icon{color:var(--teal-700)}.service-card.teal{background:var(--teal-50)}.service-card .card-index{font-size:10px;color:var(--muted);font-family:monospace}.measure-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.space-scale{display:flex;gap:17px;align-items:end;min-height:110px}.space-item{display:grid;justify-items:center;gap:12px;font-size:10px;color:var(--muted);font-family:monospace}.space-bar{background:var(--teal-100);border-top:2px solid var(--teal-700);width:26px}.radii{display:flex;gap:20px;align-items:center;justify-content:space-between}.radius-demo{height:67px;width:67px;border:1px solid #8bbab9;background:var(--teal-50);display:grid;place-items:center;font-size:11px}.rule{font-size:12px;margin-top:22px}.photo-direction{display:grid;grid-template-columns:1fr 1fr;gap:25px}.photo-specimen{position:relative;border-radius:20px;overflow:hidden;height:350px;background:var(--teal-100)}.photo-specimen img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.photo-rules{display:flex;flex-direction:column;justify-content:center;gap:23px}.photo-rule{display:flex;gap:14px}.photo-rule .icon{color:var(--teal-700);width:20px;height:20px}.photo-rule h3{font-size:14px;letter-spacing:0;margin-bottom:5px}.photo-rule p{font-size:12px}.preview-frame{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white}.preview-browser{display:flex;gap:5px;align-items:center;background:#f1f5f2;padding:12px 16px;border-bottom:1px solid var(--line)}.preview-browser i{height:6px;width:6px;border-radius:99px;background:#c1d0cc}.preview-browser span{font-size:9px;margin:auto;color:var(--muted)}.mini-header{display:flex;padding:14px 25px;align-items:center;justify-content:space-between}.mini-header .brand strong{font-size:14px}.mini-header .logo-img{width:35px;height:35px}.mini-header nav{font-size:10px;display:flex;gap:20px}.mini-hero{background:var(--teal-50);display:grid;grid-template-columns:1.2fr 1fr;gap:25px;padding:40px}.mini-hero h3{font-size:40px;line-height:1.07;margin:18px 0}.mini-hero h3 em{color:var(--teal-700);font-style:normal}.mini-hero p{font-size:12px;max-width:300px;margin-bottom:22px}.mini-hero .btn{font-size:10px;min-height:40px;padding:8px 15px}.mini-photo{border-radius:100px 100px 22px 22px;overflow:hidden;max-height:315px;position:relative}.mini-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}.architecture{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.architecture a{padding:18px 13px;border:1px solid var(--line);border-radius:12px;background:white}.architecture a:hover{background:var(--teal-50)}.architecture small{font-family:monospace;font-size:9px;color:var(--teal-700)}.architecture h3{font-size:13px;margin:14px 0 8px;letter-spacing:0}.architecture p{font-size:10px}.ds-footer{padding:0 0 28px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.toast{position:fixed;bottom:24px;left:calc(50% + 100px);transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--teal-900);color:white;padding:12px 23px;border-radius:12px;z-index:40;font-size:13px;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Public website application */
.site-wrap{max-width:var(--page-width);margin:auto;padding:0 40px}.utility{background:var(--teal-900);color:#d7efed;font-size:11px}.utility .site-wrap{display:flex;justify-content:space-between;padding-block:9px}.utility a{color:white;font-weight:800}.site-header{background:white;border-bottom:1px solid var(--line)}.site-header>.site-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:17px}.site-header nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:750}.site-header .logo-img{width:59px;height:59px}.menu-toggle{display:none;background:white;border:1px solid var(--line);border-radius:8px;padding:8px}.site-hero{background:var(--teal-50);overflow:hidden}.site-hero .site-wrap{display:grid;grid-template-columns:1.12fr 1fr;gap:70px;align-items:center;padding-block:70px}.hero-copy h1{font-size:clamp(44px,5vw,70px);margin:22px 0}.hero-copy h1 em{font-style:normal;color:var(--teal-700)}.hero-copy p{font-size:16px;max-width:440px;margin-bottom:28px}.hero-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.hero-foot{display:flex;gap:8px;margin-top:29px;font-size:11px;align-items:center;color:var(--muted)}.hero-foot .icon{width:17px;height:17px}.hero-image{height:510px;position:relative;border-radius:160px 160px 32px 32px}.hero-image img{width:100%;height:100%;border-radius:inherit;object-fit:cover;object-position:center 42%}.hero-callout{position:absolute;bottom:30px;left:-30px;background:white;padding:18px 23px;border-radius:16px;box-shadow:var(--shadow);display:flex;gap:14px;align-items:center}.hero-callout .icon{color:var(--rose-700);width:32px;height:32px}.hero-callout strong{font-size:15px;display:block}.hero-callout small{font-size:11px;color:var(--muted)}.site-section{padding-block:86px}.site-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:32px}.site-heading h2{font-size:40px;max-width:580px;margin-top:12px}.site-heading p{max-width:360px;font-size:14px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.clinic-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.clinic-photo{height:430px;overflow:hidden;border-radius:24px}.clinic-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}.clinic-copy h2{font-size:44px;margin:15px 0 22px}.clinic-copy p{margin-bottom:18px;font-size:15px}.clinic-copy .text-link{margin-top:6px}.partner{border-radius:28px;background:var(--rose-100);display:grid;grid-template-columns:1.2fr 1fr;gap:50px;padding:48px}.partner h2{font-size:36px;margin-top:15px}.partner p{font-size:14px;margin:18px 0 22px}.partner-info{display:grid;gap:20px;align-content:center}.partner-info article{border-bottom:1px solid #dfbfc9;padding-bottom:20px}.partner-info h3{font-size:16px;letter-spacing:0}.partner-info p{margin:7px 0 0;font-size:13px}.contact{background:var(--teal-900);color:white}.contact .site-wrap{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-block:65px}.contact .eyebrow{color:#b7d9d8}.contact h2{font-size:46px;margin-top:15px}.contact p{color:#c9dfde;font-size:14px;margin:17px 0 26px}.contact-details{display:grid;gap:23px;align-content:center}.contact-details a{display:flex;gap:17px;align-items:center;padding-bottom:20px;border-bottom:1px solid #41686d}.contact-details strong{display:block;font-size:15px}.contact-details small{color:#c9dfde;font-size:12px}.faq{max-width:800px;margin:auto}.faq h2{font-size:36px;margin-bottom:28px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-size:15px;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::after{content:'+';color:var(--teal-700)}.faq details[open] summary::after{content:'−'}.faq details p{padding-top:12px;font-size:14px}.site-footer{background:white}.site-footer .site-wrap{padding-block:27px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer p,.site-footer a{font-size:11px;color:var(--muted)}.ds-return{background:var(--rose-100);color:var(--rose-700);text-align:center;font-size:11px;padding:9px}.ds-return a{text-decoration:underline;font-weight:800}
@media(min-width:1500px){.ds-main{padding-inline:65px}.mood-board{min-height:330px}.ds-intro{padding-top:60px}}
@media(max-width:1100px){.ds-sidebar{width:205px;padding-inline:19px}.ds-main{margin-left:205px;padding-inline:30px}.top-right .text-link{display:none}.ds-intro h1{font-size:50px}.intro-copy{display:block}.mini-values{margin-top:20px}.mood-board{grid-template-columns:1fr 1fr}.mood-logo{display:none}.palette{grid-template-columns:repeat(5,1fr)}.swatch-info{padding:10px}.swatch-info strong{font-size:10px}.architecture{grid-template-columns:repeat(3,1fr)}.site-header nav{gap:15px;font-size:12px}.site-header .brand small{display:none}.site-hero .site-wrap{gap:35px}.hero-image{height:460px}.site-wrap{padding-inline:30px}.mini-hero{padding:28px}.mini-hero h3{font-size:33px}}
@media(max-width:780px){html{scroll-padding-top:90px}.ds-sidebar{position:sticky;top:0;width:100%;height:auto;padding:10px 20px;border-right:0;border-bottom:1px solid var(--line);display:flex;flex-direction:row;align-items:center;justify-content:space-between}.ds-sidebar .brand .logo-img{width:43px;height:43px}.ds-sidebar .brand strong{font-size:17px}.ds-sidebar .edition,.sidebar-bottom{display:none}.mobile-ds-toggle{display:flex;align-items:center;gap:9px;background:white;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:12px}.ds-nav{display:none;position:absolute;top:65px;left:0;right:0;padding:16px 20px;background:white;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr}.ds-nav.open{display:grid}.ds-main{margin:0;padding-inline:22px}.ds-topbar{height:62px}.ds-topbar .badge{font-size:9px}.breadcrumbs{font-size:10px}.ds-intro{padding-top:34px}.ds-intro h1{font-size:42px}.intro-label{margin-bottom:20px}.ds-intro p{font-size:13px}.version{font-size:9px}.mood-board{min-height:245px;gap:10px;margin-bottom:38px}.mood-statement{padding:23px}.mood-statement h2{font-size:29px}.mood-statement small{font-size:8px}.mood-statement .eyebrow{font-size:8px}.section-header{display:block}.section-header>p{margin-top:13px;max-width:none}.section-title h2{font-size:25px}.palette{grid-template-columns:repeat(3,1fr)}.swatch-color{height:86px}.swatch-info strong{font-size:11px}.ds-section{padding-bottom:35px;margin-bottom:32px}.type-panel{grid-template-columns:1fr}.type-brand{padding:22px;display:block}.type-brand .big-aa{display:none}.type-brand h3{margin:0}.type-brand small{display:block;margin-top:10px}.component-grid,.measure-grid{grid-template-columns:1fr}.photo-direction{grid-template-columns:1fr}.photo-specimen{height:320px}.photo-rules{gap:18px}.mini-header nav{display:none}.mini-hero{padding:25px;gap:20px;grid-template-columns:1fr 1fr}.mini-hero h3{font-size:29px}.mini-hero .eyebrow{font-size:8px}.mini-hero p{font-size:10px}.mini-photo{max-height:290px;border-radius:60px 60px 12px 12px}.architecture{grid-template-columns:repeat(2,1fr)}.toast{left:50%;width:max-content;max-width:90vw}.ds-footer{gap:15px}.site-wrap{padding-inline:22px}.utility .site-wrap{font-size:9px}.utility .site-wrap span:last-child{display:none}.site-header{position:sticky;top:0;z-index:20}.site-header>.site-wrap{padding-block:10px}.site-header .logo-img{width:45px;height:45px}.site-header .brand strong{font-size:17px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:67px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:24px;flex-direction:column;align-items:stretch;gap:16px}.site-header nav.open{display:flex}.site-hero .site-wrap{grid-template-columns:1fr;padding-block:38px;gap:35px}.hero-copy h1{font-size:49px;max-width:530px}.hero-copy p{font-size:14px}.hero-actions{gap:8px 16px}.hero-actions .btn{padding-inline:18px}.hero-image{height:400px;max-width:480px;margin-inline:10px;border-radius:120px 120px 24px 24px}.hero-callout{left:-8px;bottom:20px}.site-section{padding-block:52px}.site-heading{display:block}.site-heading h2{font-size:33px}.site-heading p{margin-top:17px;max-width:100%}.services-grid{grid-template-columns:1fr}.service-card{padding:23px}.service-card-head{margin-bottom:20px}.clinic-split{grid-template-columns:1fr;gap:30px}.clinic-photo{height:350px}.clinic-copy h2{font-size:36px}.partner{grid-template-columns:1fr;padding:28px;gap:30px}.partner h2{font-size:31px}.contact .site-wrap{grid-template-columns:1fr;gap:35px;padding-block:45px}.contact h2{font-size:38px}.site-footer .site-wrap{flex-wrap:wrap}.faq h2{font-size:31px}}
@media(max-width:430px){.ds-intro h1{font-size:36px}.eyebrow{font-size:9px}.mood-board{grid-template-columns:1fr 1fr;min-height:225px}.mood-statement{padding:20px 16px}.mood-statement h2{font-size:24px}.mood-statement small{max-width:100px}.palette{grid-template-columns:repeat(2,1fr)}.palette .swatch:last-child{grid-column:1/-1}.palette .swatch:last-child .swatch-color{height:50px}.type-row small{font-size:8px}.type-scale{padding-inline:19px}.mini-hero{grid-template-columns:1fr}.mini-photo{height:210px;max-width:100%;border-radius:18px}.mini-photo img{object-position:50% 40%}.mini-hero h3{font-size:36px}.mini-hero p{font-size:12px}.ds-footer{display:block}.ds-footer span{display:block;margin-top:5px}.space-scale{gap:12px}.hero-copy h1{font-size:43px}}
.component-grid>*,.measure-grid>*{min-width:0}
@media(max-width:430px){.space-scale{gap:10px}.space-bar{width:20px}.radii{gap:10px}.radius-demo{width:55px;height:55px;flex-shrink:0}.type-row:first-child span{font-size:29px!important}.type-row{gap:12px}.type-row small{white-space:normal;max-width:72px;text-align:right;flex-shrink:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
