@font-face{font-family:Inter;src:url('../fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-garamond-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--white:#fff;--ink:#314353;--body:#4d5b63;--muted:#6e7a80;--accent:#758d8b;--accent-dark:#536c70;--tint:#f8f7f4;--sand:#e7e1d8;--line:#e5e5e1;--serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,Arial,sans-serif;--wrap:1160px;--ease:180ms ease}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--white);color:var(--body);font:400 15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-underline-offset:.2em}button{font:inherit}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{color:var(--ink);line-height:1.16}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em}h1{font-size:clamp(3rem,5vw,4.65rem);margin-bottom:20px}h2{font-size:clamp(2.4rem,3.6vw,3.55rem);margin-bottom:18px}h3{font:600 1.05rem/1.35 var(--sans)}h1 em,h2 em{font-weight:400;font-style:normal;color:var(--accent-dark)}.wrap{width:min(calc(100% - 72px),var(--wrap));margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:absolute;z-index:100;top:-80px;left:1rem;padding:.6rem 1rem;background:#fff}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:4px}
.utility{background:var(--tint);font-size:.7rem;color:var(--muted)}.utility-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:28px}.utility a{text-decoration:none;font-weight:600;color:var(--ink)}.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow var(--ease)}.site-header.is-scrolled{box-shadow:0 5px 18px #31435312}.header-inner{display:flex;align-items:center;gap:22px;min-height:108px}.brand{flex:none;width:246px}.brand img{width:246px;height:100px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:clamp(12px,1.6vw,25px);margin-left:auto}.main-nav a{font-size:.77rem;font-weight:600;white-space:nowrap;text-decoration:none;color:var(--ink);transition:color var(--ease)}.main-nav>a{padding:14px 0}.main-nav a:hover,.main-nav a[aria-current]{color:var(--accent-dark)}.nav-group{position:relative;display:flex;align-items:center;gap:3px}.nav-group>a{padding:14px 0}.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;align-self:center;width:25px;height:28px;background:transparent;border:0;color:var(--ink);padding:0;cursor:pointer;line-height:0;flex:none}.submenu-toggle .ui-icon{width:13px;height:13px;transition:transform var(--ease)}.nav-group.open .submenu-toggle .ui-icon{transform:rotate(180deg)}.submenu{display:none;position:absolute;top:100%;left:-16px;min-width:245px;background:#fff;padding:9px;border:1px solid var(--line);box-shadow:0 12px 24px #31435317}.submenu a{display:block;padding:9px 10px;white-space:normal;font-weight:500}.submenu a:hover,.submenu a[aria-current]{background:var(--tint)}.nav-group.open .submenu{display:block}.header-action{border:1px solid var(--line);padding:10px 13px;text-decoration:none;color:var(--ink);font-size:.72rem;font-weight:600;white-space:nowrap}.header-action:hover{border-color:var(--accent)}.header-action span{padding-left:5px}.menu-toggle{display:none}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.64rem;font-weight:700;color:var(--accent-dark);margin-bottom:12px}.eyebrow-line{display:inline-block;width:23px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}.lead{font-size:1.04rem;line-height:1.63;color:var(--body)}.hero{display:grid;grid-template-columns:1fr .87fr;gap:clamp(40px,6vw,85px);align-items:center;padding-top:49px;padding-bottom:64px}.hero-copy>p:not(.eyebrow):not(.lead){max-width:510px;color:var(--muted)}.hero-copy h1{max-width:620px}.hero-copy .lead{max-width:550px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px}.button{display:inline-flex;gap:22px;align-items:center;justify-content:space-between;border:1px solid var(--accent-dark);padding:11px 15px;background:var(--accent-dark);color:#fff;text-decoration:none;font-size:.8rem;font-weight:600;line-height:1.35;transition:background var(--ease)}.button:hover{background:var(--ink)}.text-link{display:inline-flex;gap:10px;align-items:center;padding-bottom:3px;border-bottom:1px solid var(--accent);font-size:.82rem;font-weight:600;text-decoration:none;color:var(--ink)}.text-link:hover{color:var(--accent-dark)}.hero-meta{display:flex;gap:16px;padding-top:22px;margin-top:27px;border-top:1px solid var(--line);font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.hero-meta span+span:before{content:'·';margin-right:16px}.photo{position:relative;margin:0}.photo>picture{display:block;width:100%;height:100%}.hero-photo>picture,.portrait-photo>picture{height:auto}.photo img{width:100%;height:100%;object-fit:cover}.hero-visual{height:auto;min-width:0;display:flex;justify-content:center}.hero-photo{width:min(100%,380px);height:auto}.hero-photo img{height:auto;object-fit:contain;object-position:center top}
.focus-strip{padding-top:29px;padding-bottom:61px;border-top:1px solid var(--line)}.focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}.focus-column{min-width:0;border-top:1px solid var(--line)}.focus-grid a{display:flex;gap:18px;align-items:center;min-height:93px;padding:18px 12px;text-decoration:none;border-bottom:1px solid var(--line);transition:background var(--ease)}.focus-grid a>div{min-width:0}.focus-grid a:hover{background:var(--tint)}.focus-grid svg{width:34px;height:34px;stroke:var(--accent-dark);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;flex:none}.focus-grid strong{font-size:.9rem;line-height:1.35;color:var(--ink);font-weight:600}.focus-grid span{display:block;font-size:.78rem;color:var(--muted);margin-top:5px}.section{padding-top:65px;padding-bottom:65px}.section-head{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:27px}.section-head h2{margin:0}.section-head>p{max-width:345px;margin:0;color:var(--muted)}.section-lead{margin:0;font-size:1rem;color:var(--body)}.compact-head{margin-bottom:24px}.split-section{background:var(--tint)}.split-grid{display:grid;grid-template-columns:.96fr 1.04fr;align-items:center;gap:clamp(40px,5vw,75px);padding-top:55px;padding-bottom:55px}.split-image .photo{height:400px}.split-image img{object-position:center 32%}.split-text{max-width:510px}.split-text p{color:var(--body)}.split-text h3{margin-top:22px;margin-bottom:9px}.split-text .text-link{margin-top:9px}.lab-preview{display:grid;grid-template-columns:1fr .9fr;gap:clamp(40px,6vw,85px);align-items:center}.lab-preview>div>p:not(.eyebrow){max-width:490px;color:var(--body)}.lab-preview .text-link{margin-top:8px}.lab-preview .photo{height:345px}
.page-hero{display:grid;grid-template-columns:1fr .86fr;gap:clamp(40px,6vw,80px);align-items:center;padding-top:50px;padding-bottom:60px}.page-hero>div:first-child{max-width:630px}.page-hero-image{height:425px}.page-hero-image img{object-position:center 42%}.page-hero .lead{max-width:600px}.page-intro{padding-top:68px;padding-bottom:45px}.page-intro h1{max-width:970px}.page-intro .lead{max-width:715px}.page-intro.narrow{padding-bottom:15px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gallery .photo{height:320px}.gallery img{object-position:center 35%}.portrait-hero{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:clamp(40px,6vw,80px);padding-top:50px;padding-bottom:60px}.portrait-copy{max-width:620px}.portrait-copy .subheading{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--accent-dark)}.portrait-photo{width:min(100%,380px);height:auto;justify-self:center}.portrait-photo img{height:auto;object-fit:contain;object-position:center top}.timeline-section,.reading-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(38px,6vw,90px)}.timeline{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.timeline li{display:grid;grid-template-columns:125px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);line-height:1.5}.timeline time{color:var(--accent-dark);font-size:.76rem;font-weight:700}.service-index{padding-top:0}.service-catalog{display:grid;grid-template-columns:repeat(2,1fr);gap:0 42px}.catalog-entry{border-top:1px solid var(--line);padding:0;scroll-margin-top:130px}.service-column{min-width:0}.catalog-entry>span{font-size:.7rem;color:var(--accent);padding-top:4px;font-weight:700}.catalog-entry h3{margin-bottom:8px}.catalog-entry h3 a{text-decoration:none;display:flex;justify-content:space-between;gap:12px}.catalog-entry h3 a:hover{color:var(--accent-dark)}.catalog-entry h3 span{font:1rem var(--sans);color:var(--accent-dark)}.catalog-entry p{color:var(--muted);font-size:.83rem;line-height:1.6;margin:0}.reading-copy p{font-size:.95rem;line-height:1.72;color:var(--body)}.reading-copy .text-link,.reading-copy .button{margin-top:10px}.contact-section{display:grid;grid-template-columns:1fr .9fr;gap:clamp(40px,7vw,90px);padding-bottom:10px}.contact-main{background:var(--tint);border:1px solid var(--line);padding:30px;align-self:start}.big-phone{display:block;font:400 clamp(2.5rem,4vw,3.7rem)/1.1 var(--serif);text-decoration:none;margin:17px 0}.big-phone span{color:var(--accent-dark);font:1.3rem var(--sans)}.contact-main>p:last-child{font-size:.82rem}.contact-details{display:grid;gap:28px}.contact-details h2{font-size:2rem;margin-bottom:12px}.hours{margin:0}.hours div{display:grid;grid-template-columns:95px 1fr;border-bottom:1px solid var(--line);gap:15px;padding:8px 0}.hours dt{font-weight:600}.hours dd{margin:0}.contact-details address,.footer-main address{font-style:normal}.contact-details .text-link{margin-top:17px}.contact-photo{padding-top:55px}.contact-photo .photo{height:300px}.legal{max-width:760px;padding-bottom:65px;line-height:1.75}.legal h2{font-size:2rem;margin-top:28px;margin-bottom:10px}.legal p{color:var(--body)}.legal a{color:var(--accent-dark)}
.site-footer{background:#fff;border-top:1px solid var(--line)}.footer-main{display:grid;grid-template-columns:.8fr 1fr 1.35fr;gap:22px;padding-top:45px;padding-bottom:45px}.footer-brand{align-self:center}.footer-brand img{width:245px;height:auto}.footer-card{background:var(--tint);border:1px solid var(--line);padding:23px;min-width:0}.footer-hours .hours{font-size:.73rem}.footer-hours .hours div{grid-template-columns:80px 1fr;gap:10px;padding:6px 0}.footer-hours .hours dd{white-space:nowrap}.footer-hours .hours div:last-child{border-bottom:0}.footer-brand p{font-size:.83rem;line-height:1.5;margin:10px 0 0;color:var(--muted)}.footer-main h2{font:600 .92rem var(--sans);margin:0 0 14px}.footer-main a{display:block;font-size:.8rem;text-decoration:none;margin-top:8px;overflow-wrap:anywhere}.footer-main a:hover,.footer-bottom a:hover{color:var(--accent-dark);text-decoration:underline}.footer-bottom{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line);padding:18px 0 22px;font-size:.7rem;color:var(--muted)}.footer-links{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer-bottom nav{display:flex;gap:14px 20px;flex-wrap:wrap}.footer-bottom>span{font-size:.66rem}.footer-bottom a{text-decoration:none}
@media(min-width:1051px){html:not(.js-ready) .nav-group:hover .submenu,html:not(.js-ready) .nav-group:focus-within .submenu{display:block}}
@media(max-width:1150px){.header-action{display:none}.main-nav{gap:15px}.brand,.brand img{width:228px}}
@media(max-width:1050px){.header-inner{min-height:100px}.brand,.brand img{width:222px}.brand img{height:92px}.menu-toggle{display:none;margin-left:auto;width:40px;height:40px;padding:8px;background:#fff;border:1px solid var(--line);color:var(--ink);cursor:pointer}.menu-toggle{position:relative}.menu-toggle>span:not(.visually-hidden){position:absolute;display:block;width:20px;height:2px;left:9px;top:50%;margin:0;background:currentColor;transition:transform var(--ease)}.menu-toggle>span:nth-child(1){transform:translateY(-4px)}.menu-toggle>span:nth-child(2){transform:translateY(4px)}.menu-toggle[aria-expanded="true"]>span:nth-child(1){transform:rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:nth-child(2){transform:rotate(-45deg)}.main-nav{margin-left:auto;gap:10px;overflow-x:auto}.js-ready .menu-toggle{display:block}.js-ready .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:12px max(36px,calc((100vw - var(--wrap))/2)) 20px;border-bottom:1px solid var(--line);box-shadow:0 10px 18px #31435312;flex-direction:column;align-items:stretch;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);overflow-y:auto}.js-ready .main-nav.open{display:flex}.js-ready .main-nav>a{font-size:.9rem;padding:9px 0}.js-ready .nav-group{display:grid;grid-template-columns:1fr auto}.js-ready .nav-group>a{font-size:.9rem;padding:9px 0}.js-ready .submenu-toggle{padding:0;width:32px;height:32px}.js-ready .submenu{display:none;position:static;grid-column:1/-1;box-shadow:none;border:0;border-left:1px solid var(--line);margin:0 0 8px 5px;padding:0 0 0 12px}.js-ready .nav-group.open .submenu{display:block}.js-ready .submenu a{font-size:.83rem;padding:7px}}
@media(max-width:1000px){.footer-main{grid-template-columns:1fr 1.2fr}.footer-brand{grid-column:1/-1}}
@media(max-width:760px){body{font-size:14px}.wrap{width:min(calc(100% - 36px),var(--wrap))}.utility-inner span{display:none}.utility-inner{justify-content:center;min-height:27px}.hero,.page-hero,.portrait-hero{grid-template-columns:1fr;gap:25px;padding-top:37px;padding-bottom:45px}.hero h1,.page-hero h1{font-size:clamp(2.85rem,10vw,4.25rem)}.hero-meta{margin-top:24px}.hero-visual{height:auto}.hero-photo img{height:auto;object-fit:contain;object-position:center top}.focus-strip{padding-top:23px;padding-bottom:44px}.focus-grid{grid-template-columns:1fr;gap:0}.focus-column+.focus-column{border-top:0}.focus-grid a{min-height:82px;padding:15px 9px}.section{padding-top:45px;padding-bottom:45px}.section-head{display:block;margin-bottom:22px}.section-head>p{margin-top:15px}.split-grid{grid-template-columns:1fr;gap:25px;padding-top:0;padding-bottom:45px}.split-image .photo{height:320px}.split-text{max-width:none}.lab-preview{grid-template-columns:1fr;gap:25px}.lab-preview .photo{height:280px}.page-hero-image{height:430px}.page-intro{padding-top:50px;padding-bottom:30px}.gallery{grid-template-columns:repeat(2,1fr);gap:9px}.gallery .photo{height:230px}.gallery .photo:first-child{grid-column:1/-1;height:300px}.portrait-photo{height:auto;max-width:380px}.timeline-section,.reading-section{grid-template-columns:1fr;gap:22px}.service-catalog{grid-template-columns:1fr}.catalog-entry{padding:0}.contact-section{grid-template-columns:1fr;gap:35px}.contact-photo{padding-top:40px}.footer-main{grid-template-columns:1fr 1fr;gap:28px;padding:40px 0}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}.js-ready .main-nav{padding-inline:18px}}
@media(max-width:420px){.actions{gap:18px}.hero-meta{display:block}.hero-meta span{display:block}.hero-meta span+span:before{content:'';margin:0}.focus-grid{grid-template-columns:1fr}.focus-grid a{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:15px 17px}.focus-grid svg{margin-bottom:0}.timeline li{grid-template-columns:95px 1fr;gap:12px}.hours div{grid-template-columns:82px 1fr;font-size:.82rem}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.gallery .photo{height:200px}.gallery .photo:first-child{height:260px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Separate vacancy pages: the same content also supplies JobPosting JSON-LD. */
.jobs-index{padding-top:0}.job-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.job-card{border:1px solid var(--line);background:var(--tint);padding:28px}.job-card h2{font-size:2.2rem}.job-card h2 a{text-decoration:none}.job-card h2 a:hover{color:var(--accent-dark)}.job-card>p:not(.eyebrow){font-size:.91rem}.job-card .text-link{margin-top:10px}.back-link{display:inline-block;font-size:.78rem;margin-bottom:23px;text-decoration:none;color:var(--accent-dark)}.job-intro h1{font-size:clamp(2.6rem,4.3vw,4rem);max-width:970px}.job-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.job-meta span{background:var(--tint);border:1px solid var(--line);padding:5px 10px;font-size:.74rem}.job-date{font-size:.72rem;margin-top:13px;color:var(--muted)}.job-detail{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:65px;padding-bottom:65px;align-items:start}.job-description{min-width:0}.job-description h2{font:600 1.15rem/1.4 var(--sans);margin:29px 0 14px}.job-description>p:first-child{font-size:1.04rem}.job-description ul{padding-left:21px;margin-bottom:25px}.job-description li{padding-left:4px;margin-bottom:10px}.job-description strong{color:var(--ink);font-weight:600}.job-application{border-top:1px solid var(--line);margin-top:30px;padding-top:5px}.job-aside{background:var(--tint);border:1px solid var(--line);padding:23px}.job-aside h2{font:600 1rem/1.4 var(--sans);margin-bottom:12px}.job-aside p,.job-aside a,.job-aside address{font-size:.83rem}.job-aside a{display:block;margin-top:10px;color:var(--accent-dark)}.job-aside address{font-style:normal;margin-top:20px}
@media(max-width:900px){.job-detail{grid-template-columns:minmax(0,1fr) 235px;gap:30px}}
@media(max-width:760px){.job-cards,.job-detail{grid-template-columns:1fr}.job-detail{gap:28px;padding-bottom:45px}.job-card{padding:23px}.job-aside{max-width:none}.job-intro{padding-bottom:25px}}
@media(max-width:620px){.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-card{padding:21px}.footer-hours .hours{font-size:.77rem}.footer-links{flex-direction:column;gap:20px}}

/* Shared line icons and full-size service links. */
.ui-icon{width:18px;height:18px;flex:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.catalog-link{display:flex;align-items:flex-start;gap:19px;padding:23px 12px;text-decoration:none;transition:background var(--ease),transform var(--ease)}.catalog-link>svg{width:35px;height:35px;flex:none;stroke:var(--accent-dark);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.catalog-link>div{min-width:0}.catalog-link:hover{background:var(--tint);transform:translateY(-1px)}.catalog-link:hover h3{color:var(--accent-dark)}.catalog-link:focus-visible{outline-offset:-3px}.catalog-entry h3{margin-bottom:9px}.focus-grid a{transition:background var(--ease),transform var(--ease)}.focus-grid a:hover{transform:translateY(-1px)}.button:hover{transform:translateY(-2px)}.button{transition:background var(--ease),transform var(--ease)}.text-link{transition:color var(--ease),gap var(--ease)}.text-link:hover{gap:14px}.submenu a{transition:background var(--ease),color var(--ease)}
.footer-card .icon-link{display:flex;align-items:center;gap:9px;line-height:1.5}.icon-link>span{min-width:0;overflow-wrap:anywhere}.ai-notice{display:flex;align-items:flex-start;gap:11px;padding:15px 17px;background:var(--tint);border-left:3px solid var(--accent);color:var(--body);font-size:.78rem;line-height:1.6;margin:0 0 26px}.ai-notice .ui-icon{margin-top:3px;color:var(--accent-dark)}.ai-notice a{white-space:nowrap;color:var(--accent-dark)}.ai-notice strong{font-weight:600;color:var(--ink)}
.legal h3{font:600 1.18rem/1.4 var(--sans);margin:29px 0 14px}.legal h4{font:600 1rem/1.45 var(--sans);margin:24px 0 10px}.legal h5{font:600 .93rem/1.65 var(--sans);margin:0 0 24px}.legal ul{padding-left:23px}.legal li{margin-bottom:7px}.legal p>strong:only-child{display:block;margin-top:24px}
.motion-ready .reveal-item{opacity:0;transform:translateY(12px);transition:opacity 480ms ease,transform 480ms ease}.motion-ready .reveal-item.is-visible{opacity:1;transform:none}
@media(max-width:1050px){body.menu-is-open{overflow:hidden}}
@media(max-width:760px){.catalog-link{gap:15px;padding:19px 9px}.catalog-link>svg{width:31px;height:31px}.ai-notice{font-size:.75rem}}
@media(max-width:360px){.brand,.brand img{width:200px}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal-item{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}}

.legal a{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.button:hover,.focus-grid a:hover,.catalog-link:hover{transform:none}}
