:root{--wine:#741c3b;--ink:#21232b;--muted:#676b75;--paper:#f5f3f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}button,a,input{touch-action:manipulation}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #c8973a;outline-offset:4px}[hidden]{display:none!important}.web-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 5vw;background:#fffffff5;border-bottom:1px solid #e8e6e5;backdrop-filter:blur(12px)}.web-brand{display:flex;align-items:center;gap:12px;line-height:1.25;letter-spacing:.06em;font-size:12px;font-weight:700}.web-brand b{display:block;font-size:27px;letter-spacing:.15em;color:var(--wine)}.web-brand img{width:48px;height:52px;object-fit:contain}.web-header nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:600}.web-header nav>a:not(.web-button):hover{color:var(--wine)}.web-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 22px;border-radius:7px;background:var(--wine);color:white;font-weight:650;font-size:14px}.web-button.light{background:white;color:var(--wine)}.nav-toggle{display:none}.hero{position:relative;background:#241922;color:white}.hero-slide{position:relative;min-height:620px;height:calc(90vh - 94px);max-height:850px;display:flex;align-items:center}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,#20101deb 0%,#301424af 44%,#21141a25 100%)}.hero-copy{position:relative;z-index:1;padding:65px 8vw;max-width:1000px}.eyebrow{display:block;color:var(--wine);font-size:11px;font-weight:750;letter-spacing:.16em;line-height:1.5}.hero .eyebrow{color:#eec4d1}.hero h1{font-size:clamp(36px,4.7vw,68px);line-height:1.1;letter-spacing:-.045em;font-weight:650;margin:22px 0;max-width:850px}.hero p{font-size:17px;max-width:570px;opacity:.92}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.text-link{font-size:14px;font-weight:650}.slide-controls{position:absolute;right:6vw;bottom:32px;display:flex;align-items:center;gap:18px;z-index:3}.slide-controls button{border:1px solid #ffffff60;background:#ffffff10;color:white;border-radius:50%;width:44px;height:44px}.slide-controls span{font-size:13px}.web-section{padding:90px 8vw}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}h2{font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-.035em;font-weight:650;margin:16px 0 22px}h3{font-size:21px;line-height:1.3;margin:12px 0}p{color:var(--muted);margin:0 0 16px}.hero p{color:white}.inline-link{font-weight:700;color:var(--wine);display:inline-block;margin-top:12px}.muted{background:var(--paper)}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:32px}.section-head h2{max-width:600px;margin-bottom:0}.section-head>p{max-width:360px;font-size:14px;margin:0}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.lab-card{background:white;overflow:hidden;border:1px solid #e5e1de;border-radius:10px}.lab-card>img{display:block;width:100%;height:235px;object-fit:cover}.lab-card>div{padding:26px}.lab-card p{font-size:14px;white-space:normal}.lab-card a{display:block;margin-top:24px;font-size:13px;font-weight:750;color:var(--wine)}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.schedule-card{display:flex;gap:22px;align-items:start;padding:26px;border:1px solid #e0e2e7;border-radius:10px}.schedule-date{min-width:74px;text-align:center;background:#f5eaf0;border-radius:8px;padding:12px 10px;color:var(--wine)}.schedule-date b{display:block;font-size:30px;line-height:1.3}.schedule-date span{font-size:10px;white-space:nowrap}.schedule-card p{font-size:13px}.services{background:#321b27;color:white}.services .eyebrow{color:#e3aebb}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.service-grid article{border-top:1px solid #ffffff35;padding-top:22px}.service-number{font-size:14px;color:#e8b7c9}.services p{color:#d2c6cd;font-size:14px}.services a{font-size:13px;color:white;font-weight:700}.services h3{margin:25px 0 15px}.service-photo{width:100%;height:180px;object-fit:cover;margin-top:20px;border-radius:6px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-item{border-bottom:1px solid #e6e3e4;padding:0 0 15px;margin-bottom:22px}.contact-item>span{font-size:11px;color:var(--wine);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.contact-item p{margin:8px 0 0;color:var(--ink)}.web-footer{display:flex;gap:25px;justify-content:space-between;padding:28px 8vw;background:#f5f3f1;font-size:12px}.web-footer b{color:var(--wine);letter-spacing:.06em}.empty-web{padding:24px 0;grid-column:1/-1}.lab-description{overflow-wrap:anywhere}
@media(max-width:1100px){.web-header nav{gap:14px;font-size:12px}.web-header{padding:15px 4vw}.lab-grid{grid-template-columns:repeat(2,1fr)}.web-section{padding:65px 6vw}.hero-copy{padding-left:6vw}.hero-slide{min-height:570px}.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){html{scroll-padding-top:78px}.web-header{padding:14px 5vw}.web-brand{font-size:9px}.web-brand b{font-size:23px}.web-brand img{height:40px;width:35px}.nav-toggle{display:block;background:white;border:1px solid #ded5d9;border-radius:6px;padding:9px 13px;font-size:13px}.web-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 5vw;background:white;box-shadow:0 12px 20px #24192218;align-items:stretch;font-size:15px}.web-header nav.open{display:flex;flex-direction:column;gap:0}.web-header nav a{padding:12px}.hero-slide{height:auto;min-height:610px}.hero-copy{padding:72px 6vw 100px}.hero h1{font-size:42px}.hero p{font-size:15px}.hero-shade{background:linear-gradient(90deg,#21121bd9,#29141f80)}.hero-actions{flex-wrap:wrap;gap:20px}.web-section{padding:55px 6vw}.intro,.contact{grid-template-columns:1fr;gap:16px}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:18px}.lab-grid,.schedule-grid,.service-grid{grid-template-columns:1fr}.lab-card>img{height:230px}.lab-card>div{padding:22px}.schedule-card{padding:18px;gap:16px}.schedule-card h3{font-size:19px}.service-grid{gap:30px}.web-footer{flex-direction:column;gap:10px;padding:25px 6vw}h2{font-size:32px}.slide-controls{bottom:22px}.hero-copy .eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.web-nav-group{position:relative}.web-nav-group summary{cursor:pointer;list-style:none;font-size:13px;font-weight:600;white-space:nowrap}.web-nav-group>div{position:absolute;top:32px;left:0;min-width:210px;padding:8px;background:white;border:1px solid #e6e8ed;border-radius:12px;box-shadow:0 12px 32px #18243b20;z-index:40}.web-nav-group>div a{display:block!important;padding:10px 12px!important;color:#27334b!important}.web-nav-group>div a:hover{background:#f8f1f4;border-radius:6px}.web-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:#7e304c;margin-bottom:20px}.web-menu-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.web-menu-tabs a{padding:12px 20px;background:white;border:1px solid #dcdce3;border-radius:9px;font-size:14px;font-weight:600;color:#582438;text-decoration:none}.web-menu-tabs a:hover{border-color:#92304c;background:#fbf3f5}.web-menu-tabs span{margin-left:20px}.lab-card{margin:0}.lab-card figcaption{padding:20px;font-size:16px;font-weight:600;line-height:1.5}.web-menu-tabs a:focus-visible,.web-nav-group summary:focus-visible{outline:3px solid #bc8194;outline-offset:3px}@media(max-width:800px){.web-nav-group{width:100%;padding:10px}.web-nav-group>div{position:static;box-shadow:none;margin-top:10px}.web-menu-tabs{gap:8px}.web-menu-tabs a{flex:1 1 150px;padding:12px}.web-breadcrumb{font-size:12px}}

.web-menu-tabs a.selected{background:#822541;color:white;border-color:#822541}
/* Public content layout 1.4.1 */
.web-content-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}.web-content-layout.no-tabs{grid-template-columns:minmax(0,1fr)}.vertical-tabs{display:flex;flex-direction:column;gap:12px;margin:0}.vertical-tabs a{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;overflow-wrap:anywhere}.vertical-tabs span{margin:0;flex-shrink:0}.web-content-panel{min-width:0}.content-heading{margin:0 0 20px}.web-content-panel .lab-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-open{border:0;padding:0;width:100%;display:block;position:relative;background:#eee;color:white}.gallery-open img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-open span{position:absolute;right:9px;bottom:9px;background:#000a;border-radius:4px;padding:3px 8px;font-size:11px}.lab-card figcaption{padding:16px;font-size:14px;overflow-wrap:anywhere}.web-content-panel .schedule-grid{display:block}.schedule-document{padding:22px;background:white;border:1px solid #ddd;border-radius:10px;margin-bottom:24px}.pdf-pages{max-height:85vh;overflow:auto;background:#e7e8eb;padding:14px;margin-top:18px;overscroll-behavior:contain}.pdf-page{margin:0 0 16px;background:white;position:relative;min-height:180px}.pdf-page canvas{display:block;width:100%;height:auto}.pdf-page-label{font-size:12px;padding:6px 10px;background:#f8f8f8}.pdf-status{padding:12px}.schedule-document h3,.schedule-document p{overflow-wrap:anywhere}#gallery-dialog{border:0;border-radius:10px;padding:45px 20px 18px;max-width:94vw;max-height:94vh;background:#fff}#gallery-dialog::backdrop{background:#14101bea}#gallery-dialog img{display:block;max-width:85vw;max-height:72vh;object-fit:contain;margin:auto}#gallery-dialog p{margin:12px 0 0;max-width:80vw;overflow-wrap:anywhere}.gallery-close{position:absolute;right:10px;top:6px;font-size:28px;border:0;background:white;padding:0 12px}.slide-controls #slide-pause{font-size:14px}
@media(max-width:1100px){.web-content-layout{grid-template-columns:220px minmax(0,1fr);gap:20px}.web-content-panel .lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.web-content-layout{grid-template-columns:minmax(0,1fr)}.vertical-tabs a{flex:initial}.web-content-panel .lab-grid{grid-template-columns:minmax(0,1fr)}.schedule-document{padding:14px}.pdf-pages{padding:5px;max-height:75vh}}
