/* Readable portfolio: content determines slide height, photographs carry depth. */
.exams-highlight{display:block;margin-top:14px;color:var(--brand)}
.team-health .quote-panel{display:block}
.team-quote{margin:0}
.team-quote p{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(18px,1.45vw,22px);line-height:1.6;text-wrap:pretty}
.team-quote cite{display:block;margin-top:20px;font-size:16px;font-style:normal;letter-spacing:.04em}
.structure .facility-gallery{grid-template-rows:1fr 1fr;gap:4px}
.facility-photo{position:relative;margin:0;min-height:0;overflow:clip}
.facility-gallery .image-field{position:absolute;inset:0}
.facility-photo figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:40px 22px 24px;background:linear-gradient(transparent,#211527cc);color:white;font-size:18px;line-height:1.4;text-wrap:balance;pointer-events:none}
.facility-xray img{object-position:67% center}
.facility-note{position:relative;display:flex;align-items:center;gap:18px;padding:24px;margin-top:28px;color:#654270;font-size:18px;line-height:1.6}
@media(max-width:1000px){
 .structure .facility-gallery{grid-template-columns:1fr;grid-template-rows:repeat(4,440px)}
 .facility-xray{grid-row:auto}
 .facility-note{padding:22px 18px}
 .facility-photo figcaption{padding:48px 24px 24px}
}
:root{--muted:#66546f}
body{font-size:18px;line-height:1.65}
.canvas,.image-field{overflow:clip}
.canvas{--photoScale:1.025}
.image-field{view-timeline-name:--photo-view;view-timeline-axis:block;view-timeline-inset:0}
.image-field img{height:160%;top:-30%;transform:translate3d(0,0,0) scale(1.025);transform-origin:center;will-change:transform}
@keyframes photo-depth{from{transform:translate3d(0,-15%,0) scale(1.025)}to{transform:translate3d(0,15%,0) scale(1.025)}}
@supports (animation-timeline:view()) and (animation-range:cover 0% cover 100%){.image-field img{animation:photo-depth 1s linear both;animation-timeline:--photo-view;animation-range:cover 0% cover 100%}}
.reduced-motion .image-field img{animation:none!important;transform:none!important}
.canvas .content>p:not(.kicker):not(.micro-title):not(.fine-print):not(.certificate):not(.sheet-label),.canvas .team-copy>p:not(.kicker),.cover-copy>p:last-child,.safety-title>p:last-child,.service-panels p,.digital-copy p,.toxicology p,.pleni-title p,.inloco>p{font-size:clamp(18px,1.35vw,22px)!important;line-height:1.65;max-width:none}
.canvas .kicker,.canvas .sheet-label,.canvas .micro-title{font-size:12px;line-height:1.6;letter-spacing:1.35px}
.compact-points span{font-size:18px;padding:16px 0;color:#644570}
.technical-list p,.two-list li,.exam-grid li,.line-list li,.clean-list li,.structure .clean-list li{font-size:18px;line-height:1.55}
.technical-list small,.toxicology small,.fine-print,.check-services small{font-size:16px;line-height:1.6;color:#715e7b}
.digital-copy h3,.toxicology h3{font-size:22px;line-height:1.3}
.technical-list>div>span,.exam-grid li>span,.line-list li:before,.check-services span,.people-grid article>span,.card-num{font-size:13px}
.card-foot,.format-pills span,.certificate{font-size:15px;line-height:1.5}
.people-grid h3,.team-safety .people-grid h3{font-size:24px;line-height:1.25;letter-spacing:-.4px}
.people-grid p,.team-safety .people-grid p{font-size:17px;line-height:1.55;color:#715e7b;max-width:none}
.intro-glass,.cover-seal,.management-glass,.training-glass,.check-glass,.mosaic-glass,.team-glass,.team-safety .team-glass{font-size:18px;line-height:1.55}
.inloco span,.contact-panel>a>span{font-size:13px;line-height:1.5}
.contact-cta{font-size:17px;line-height:1.5;padding:16px 22px}
.contact-panel>a.email>p{font-size:17px;line-height:1.5;padding-right:22px}
.contact-panel>a>p{font-size:26px;line-height:1.4}
.viewer-top button{font-size:13px}
.controls button{width:40px;height:40px}
.controls>span,.section-label>span:last-child{font-size:12px}
#index-links>a{font-size:17px;line-height:1.5;min-height:52px}
.index-note{font-size:15px;line-height:1.6}
@media(min-width:1001px){
.chapter,.chapter:last-child,.reduced-motion .chapter,.stage{height:auto}
.canvas{height:auto;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 6vw;padding:128px 3.2vw 112px;align-content:center;align-items:start}
.canvas .content{position:relative;inset:auto!important;width:auto!important;max-width:none}
.left-copy,.structure-copy{grid-column:1}
.right-sheet{grid-column:2;padding:0;background:transparent}
.training .right-sheet{padding:0}
.canvas .content>p:not(.kicker){margin-top:20px!important}
.canvas .content>p+p{margin-top:18px!important}
.canvas .kicker{margin-bottom:22px}
.canvas .left-copy h2,.training h2,.structure h2{font-size:clamp(38px,3.6vw,62px);line-height:1.1;letter-spacing:-1.5px}
.compact-points{margin-top:30px;gap:0 24px}
.intro .right-photo,.health .right-photo,.checkup .right-photo{left:51%}
.intro-glass{right:4vw;bottom:120px;max-width:41%;padding:24px}
.cover{display:flex;flex-direction:column;justify-content:flex-end;padding-top:max(240px,30svh)}
.cover-copy{position:relative;inset:auto;width:61%;padding:32px}
.cover-copy>p:last-child{margin-top:22px;max-width:42ch}
.cover-seal{width:25%;bottom:25%;padding:22px}
.cover-invitation{font-size:14px;bottom:126px}
.overview{display:block;padding-top:132px}
.overview-heading{margin-bottom:48px}
.overview-heading h2{font-size:clamp(44px,4vw,68px)}
.service-panels{position:relative;inset:auto;gap:22px}
.service-panels>a{padding:28px;min-height:0;display:flex;flex-direction:column}
.service-panels h3{font-size:32px;line-height:1.15;letter-spacing:-.8px}
.service-panels p{margin-top:22px;min-height:0;margin-bottom:24px}
.card-foot{margin-top:auto;padding-top:20px}
.card-num{margin-bottom:24px}
.safety-title{position:relative;inset:auto;grid-column:1;width:auto;margin-top:160px;padding:28px}
.safety-title h2{font-size:clamp(32px,2.9vw,46px);line-height:1.15}
.safety-title>p:last-child{margin-top:24px}
.safety .right-sheet{grid-row:1}
.technical-list>div{padding:13px 0;gap:16px}
.technical-list>div>span{min-width:22px}
.health .inloco{position:relative;inset:auto;grid-column:1/-1;display:grid;grid-template-columns:40px 1fr 1.25fr;width:auto;margin-top:38px;padding:28px;gap:25px}
.inloco>div{min-width:0}
.inloco>p{max-width:none;padding-left:24px}
.inloco h3{font-size:32px;line-height:1.2}
.inloco h3 em{font-size:36px}
.two-list li{padding:12px 0}
.digital-copy{margin-top:25px;max-width:none}
.digital-copy p{margin-top:12px}
.exams{display:block}
.page-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:0 50px;margin-bottom:40px;align-items:end}
.page-heading .kicker{grid-column:1/-1}
.page-heading h2{font-size:clamp(38px,3.6vw,60px)}
.page-heading>p:last-child{position:relative;inset:auto;width:auto;margin:0!important}
.exam-layout{position:relative;inset:auto;grid-template-columns:.8fr 1.2fr;gap:40px}
.exam-photo{min-height:560px}
.exam-grid{gap:0 28px}
.exam-grid li{padding:18px 0}
.toxicology{padding:26px;margin-top:24px}
.toxicology p{margin-top:16px}
.toxicology small{margin-top:16px}
.management .left-copy{width:auto}
.line-list{margin-top:28px}
.line-list li{padding:18px 0;gap:20px}
.management-glass{width:33%;right:4vw;padding:26px;bottom:115px}
.training-glass{max-width:35%;width:auto;left:3.2vw;bottom:120px;padding:26px}
.clean-list{margin-top:28px}
.clean-list li,.structure .clean-list li{padding:15px 0 15px 24px}
.format-pills{gap:10px;margin-top:26px}
.format-pills span{padding:8px 14px}
.certificate{margin-top:18px}
.pleni-title{margin-top:30px}
.pleni-title h3{font-size:28px}
.check-services h3{font-size:24px;line-height:1.3}
.check-services>div{padding:20px 0;gap:22px}
.check-glass{width:35%;padding:26px;bottom:120px}
.photo-mosaic{left:51%}
.fine-print{max-width:none;margin-top:28px}
.mosaic-glass{max-width:41%;padding:26px;bottom:120px}
.team-health{grid-template-columns:minmax(0,2fr) minmax(0,.85fr)}
.team-copy{grid-column:1}
.team-copy h2{font-size:clamp(38px,3.4vw,58px);line-height:1.12;letter-spacing:-1px}
.people-grid{margin-top:36px;gap:0 32px}
.people-grid article{padding:22px 0;min-height:0}
.people-grid article>span{margin-bottom:10px}
.people-grid p{margin-top:10px}
.team-health .team-glass{width:24%;padding:24px}
.team-safety{grid-template-columns:minmax(0,.6fr) minmax(0,1fr)}
.team-safety .team-copy{grid-column:2}
.team-safety .team-copy h2{font-size:clamp(30px,2.6vw,44px);line-height:1.18;letter-spacing:-.7px}
.team-safety .team-copy>.kicker{font-size:12px;margin:30px 0 12px}
.team-safety .people-grid{gap:0 28px}
.team-safety .people-grid article{display:block;padding:20px 0;min-height:0}
.team-safety .people-grid article>span{margin:0 0 8px}
.team-safety .people-grid p{margin-top:8px}
.team-safety .team-glass{width:29%;padding:25px}
.contact .contact-copy{grid-column:1;align-self:center}
.contact-panel{position:relative;inset:auto;width:auto;padding:32px;grid-column:2}
.contact-panel h3{font-size:36px;line-height:1.2;margin-bottom:26px}
.contact-panel>a{padding:20px 0}
.contact-panel>a>svg{top:44px;width:20px;height:20px}
}
@media(max-width:1000px) and (min-width:1001px){
.canvas{padding-top:112px;gap:0 4vw}
.compact-points,.two-list,.exam-grid,.people-grid{grid-template-columns:1fr}
.service-panels{gap:14px}
.service-panels>a{padding:22px 18px}
.service-panels h3{font-size:26px}
.service-panels p{font-size:17px!important}
.health .inloco{grid-template-columns:36px 1fr}
.health .inloco>p{grid-column:1/-1;border-left:0;border-top:1px solid #fff4;padding:18px 0 0}
.page-heading{display:block}
.page-heading>p:last-child{margin-top:24px!important}
.exam-layout{grid-template-columns:1fr 1fr;gap:25px}
.team-safety .team-copy h2{font-size:28px}
}
@media(max-width:1000px){
.canvas{height:auto;min-height:100svh;padding-bottom:94px}
.page-header{padding:24px;min-height:104px}
.page-brand,.page-brand:hover{width:160px;max-width:calc(100vw - 170px)}
.viewer-top{top:22px;right:16px;padding:0 4px;height:44px}
.viewer-top>div{gap:0}
.viewer-top button{min-width:44px;min-height:44px;padding:8px;font-size:13px}
.viewer-top #motion{font-size:0}
.viewer-top #open-index{gap:6px}
.viewer-bottom{bottom:12px;padding:0 12px;height:50px;gap:8px}
.section-label{min-height:44px;max-width:calc(100vw - 172px);padding:10px 12px}
.section-label>span:last-child{font-size:12px}
.controls{padding:3px;gap:7px}
.controls button{width:40px;height:40px}
.controls>span{font-size:12px}
.content,.right-sheet{padding:28px 24px!important}
.canvas .kicker,.canvas .sheet-label,.canvas .micro-title,.cover-copy .kicker{font-size:12px;line-height:1.6;letter-spacing:1px}
.canvas .kicker{margin-bottom:22px}
.canvas .content>p:not(.kicker):not(.micro-title):not(.fine-print):not(.certificate):not(.sheet-label),.canvas .team-copy>p:not(.kicker){font-size:18px!important;line-height:1.7;margin-top:24px!important}
.canvas .content>p+p{margin-top:22px!important}
.canvas h2,.intro .left-copy h2,.page-heading h2,.management h2,.health h2,.team-health .team-copy h2,.structure h2,.training h2,.checkup h2{font-size:clamp(30px,8.8vw,44px);line-height:1.15;letter-spacing:-.8px}
.canvas h2 em{letter-spacing:-.7px}
.cover{padding-bottom:0}
.cover-copy{margin:300px 18px 105px;padding:26px 22px}
.cover-copy h1{font-size:clamp(36px,11vw,48px);line-height:1.04}
.cover-copy h1 em{font-size:clamp(25px,7.4vw,32px);line-height:1.2}
.cover-copy>p:last-child{font-size:18px!important;line-height:1.65;margin-top:22px}
.cover-seal{top:146px;width:215px;padding:18px;font-size:16px}
.cover-invitation{font-size:13px;bottom:60px}
.compact-points{grid-template-columns:1fr;margin-top:30px}
.compact-points span{font-size:18px;padding:17px 0}
.intro .right-photo,.health .right-photo,.checkup .right-photo{height:470px}
.intro-glass{padding:24px;bottom:120px;font-size:18px}
.service-panels{padding:18px 20px 30px;gap:24px}
.service-panels>a{padding:26px;display:block}
.service-panels h3{font-size:30px;line-height:1.2}
.service-panels p{font-size:18px!important;line-height:1.65;margin-top:22px}
.card-foot{font-size:15px;line-height:1.5;margin-top:24px;padding-top:18px}
.card-num{font-size:13px;margin-bottom:20px}
.safety-title{margin:-155px 20px 8px;padding:26px 22px}
.safety-title h2{font-size:30px;line-height:1.2}
.safety-title>p:last-child{font-size:18px!important;line-height:1.65;margin-top:24px}
.technical-list>div{padding:20px 0;gap:16px}
.technical-list>div>span{font-size:13px;min-width:22px}
.technical-list p{font-size:19px;line-height:1.5}
.technical-list small{font-size:17px;line-height:1.6;margin-top:7px}
.two-list,.exam-grid{grid-template-columns:1fr}
.two-list li{font-size:18px;padding:15px 0}
.micro-title{margin-top:30px!important}
.digital-copy{margin-top:32px}
.digital-copy h3{font-size:22px;line-height:1.35;align-items:flex-start}
.digital-copy svg{width:23px;height:23px;margin-top:3px}
.digital-copy p{font-size:18px!important;margin-top:14px}
.inloco{margin:-95px 20px 20px;padding:26px 22px;grid-template-columns:1fr;gap:16px}
.inloco>svg{width:32px;height:32px;margin:0}
.inloco span{font-size:12px;line-height:1.6;letter-spacing:1px}
.inloco h3{font-size:30px;line-height:1.2;margin-top:12px}
.inloco h3 em{font-size:32px}
.inloco>p{font-size:18px!important;line-height:1.65;padding-top:20px}
.exam-layout{padding:0 24px;gap:28px}
.exam-photo{height:400px;min-height:400px}
.exam-grid li{font-size:18px;line-height:1.5;padding:18px 0;gap:16px}
.exam-grid li>span{font-size:13px}
.toxicology{padding:26px 22px}
.toxicology h3{font-size:24px;line-height:1.3;align-items:flex-start}
.toxicology svg{margin-top:3px}
.toxicology p{font-size:18px!important;margin-top:20px}
.toxicology small{font-size:16px;line-height:1.6;margin-top:20px}
.line-list{margin-top:32px}
.line-list li,.clean-list li,.structure .clean-list li{font-size:18px;line-height:1.6;padding-top:19px;padding-bottom:19px}
.line-list li:before{font-size:13px}
.management .right-photo{height:510px}
.management-glass,.training-glass{padding:24px;font-size:18px}
.training .left-photo{height:500px}
.training-glass{top:355px}
.training .right-sheet{padding-top:40px!important}
.format-pills{gap:10px;margin-top:30px}
.format-pills span{font-size:15px;padding:9px 13px}
.certificate{font-size:16px;line-height:1.6;margin-top:22px}
.certificate svg{width:20px;height:20px}
.pleni-title h3{font-size:28px;line-height:1.3}
.pleni-title p{font-size:18px!important;margin-top:15px}
.check-services>div{padding:24px 0;gap:18px}
.check-services h3{font-size:24px;line-height:1.3}
.check-services span{font-size:13px}
.check-services small{font-size:16px;margin-top:8px}
.check-glass{font-size:18px;padding:24px;bottom:118px}
.fine-print{font-size:17px;line-height:1.7;margin-top:28px}
.photo-mosaic{grid-template-rows:340px 240px}
.mosaic-glass{font-size:18px;padding:24px;bottom:120px}
.people-grid,.team-safety .people-grid{grid-template-columns:1fr;margin-top:32px;gap:0}
.people-grid article,.team-safety .people-grid article{display:block;padding:25px 0;min-height:0}
.people-grid h3,.team-safety .people-grid h3{font-size:25px;line-height:1.3}
.people-grid p,.team-safety .people-grid p{font-size:18px;line-height:1.65;margin-top:12px;color:#715e7b}
.people-grid article>span,.team-safety .people-grid article>span{font-size:13px;margin:0 0 12px}
.team-safety .team-copy h2{font-size:clamp(30px,8.2vw,38px);line-height:1.22;letter-spacing:-.6px}
.team-safety .team-copy>.kicker{font-size:12px;line-height:1.7;margin:36px 0 0;letter-spacing:1px}
.team-health .team-photo,.team-safety .team-photo{height:480px}
.team-health .team-glass,.team-safety .team-glass{left:20px;right:20px;bottom:122px;width:auto;font-size:18px;padding:24px}
.contact h2{font-size:clamp(36px,10vw,46px);line-height:1.12}
.contact h2 em{font-size:inherit}
.contact-cta{font-size:18px;line-height:1.5;padding:17px 20px;margin-top:30px}
.contact-panel{padding:28px 22px;margin:20px 22px 25px}
.contact-panel h3{font-size:32px;line-height:1.2;margin-bottom:26px}
.contact-panel>a{padding:22px 0}
.contact-panel>a>span{font-size:14px}
.contact-panel>a>p{font-size:24px;line-height:1.4;margin-top:8px}
.contact-panel>a.email>p{font-size:17px}
.contact-panel>a>svg{top:48px;width:18px;height:18px}
dialog{padding:28px 24px}
#index-links>a{font-size:17px;padding:18px 0}
#index-links>a>span{font-size:12px}
.index-note{font-size:15px;line-height:1.6}
}
@media(max-width:359px){
 .content,.right-sheet{padding-left:20px!important;padding-right:20px!important}
 .service-panels h3{font-size:25px}
 .toxicology{padding-left:16px;padding-right:16px}
 .toxicology h3{font-size:22px;flex-direction:column;gap:12px}
 .team-safety .team-copy h2{font-size:28px}
}
/* The closing photograph has its own full-width space, keeping engineering visible. */
.contact{background:#241a2b}
.contact .full-photo{bottom:auto;height:56svh;min-height:380px}
.contact .full-photo img{object-position:50% 55%}
.contact-wash{bottom:auto;height:56svh;min-height:380px;background:linear-gradient(0deg,#241a2b,transparent 55%),linear-gradient(100deg,#241a2b70,transparent 65%)}
.contact .contact-cta{background:#edddf5;color:#4e245b;border-color:#edddf5}
.contact .contact-cta:hover{background:white;color:#4e245b}
.dialog-head>div{min-width:0}
.dialog-head h2{font-size:clamp(24px,6.5vw,34px);line-height:1.15;text-wrap:balance}
@media(min-width:1001px){
 .canvas.contact{padding-top:calc(max(56svh,380px) + 45px)}
}
@media(max-width:1000px){
 .contact .full-photo,.contact-wash{height:430px;min-height:0}
 .contact .contact-copy{margin-top:310px}
 .contact .full-photo img{object-position:43% center}
}
