/* Shared finishing pass in the accepted ENDOkey visual system. */
:root{--soft:#4b5b6c;--aqua:#55d6c0;--navy:#071b30}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #1977cb;outline-offset:4px}
html{scroll-padding-top:94px}
.site-header,.site-header.is-scrolled{height:74px;background:rgba(252,253,253,.97);color:#09132d;border-bottom:1px solid rgba(16,47,83,.14);backdrop-filter:blur(14px)}
.site-header.on-dark:not(.is-scrolled){color:#09132d;background:rgba(252,253,253,.97)}
.site-header .brand,.site-header.on-dark:not(.is-scrolled) .brand{width:108px;height:40px;background-size:contain;filter:none}
.main-menu a{min-height:44px;display:inline-flex;align-items:center}
.cart-toggle{cursor:pointer;min-height:44px}
.knowledge-index-hero{min-height:0;gap:18px;padding:118px 5vw 40px}
.knowledge-index-hero h1{font-size:clamp(46px,5.2vw,78px);line-height:1;letter-spacing:-.055em;max-width:18ch}
.knowledge-index-hero>p:last-child{max-width:65ch;font-size:17px}
.utility-hero{min-height:0;padding:118px 5vw 48px;gap:20px}
.utility-hero h1,.utility-hero .display{font-size:clamp(44px,5.2vw,76px);line-height:1.06;letter-spacing:-.045em;font-weight:400;max-width:20ch}
.publication-index,.instruction-answer{background:#fcfdfd}
.source-event-hero{align-content:start}
.publication-toolbar{padding:24px 0}
.publication-row{min-height:0;padding:26px 0;grid-template-columns:220px minmax(0,1fr) auto;gap:30px}
.publication-row figure{height:140px;width:100%;min-width:0;aspect-ratio:auto}
.publication-row h3{font-size:clamp(24px,2.3vw,34px);line-height:1.13;letter-spacing:-.035em}
.instruction-hero{height:auto;min-height:0;grid-template-columns:1.15fr .85fr;align-items:center;padding:112px 5vw 40px;gap:36px;background:#fff}
.instruction-hero-copy{padding:0;gap:20px}
.instruction-hero-copy h1{font-size:clamp(44px,5vw,74px);line-height:1;letter-spacing:-.055em}
.instruction-hero-media{height:190px;min-height:0;background:#fff;border:0}
.instruction-hero-media img{width:100%;height:100%;object-fit:contain}
.instruction-answer{padding:48px 5vw 80px;gap:7vw;border-top:1px solid var(--line)}
.instruction-answer h2{font-size:clamp(38px,4vw,56px)}
.instruction-steps li{min-height:0;padding:24px 0}
.instruction-steps h3{font-size:28px;line-height:1.15}
.product-page .page-intro{min-height:0;padding:116px 5vw 48px;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}
.product-page .page-intro-copy{gap:20px;padding:0}
.product-page .page-intro .display{font-size:clamp(50px,5.5vw,82px);line-height:1;letter-spacing:-.055em}
.company-page .page-intro{min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5vw;padding:118px 5vw 48px;align-items:center}
.company-page .page-intro .display{font-size:clamp(44px,5.2vw,78px);line-height:1;letter-spacing:-.05em;max-width:13ch}
.company-page .page-intro-media[data-media-role]{min-height:0;align-self:center;background:white}
.company-page .page-intro-media[data-media-role] img{position:static;inset:auto;width:100%;height:auto;max-height:560px;object-fit:contain}
.company-page .page-intro-media:before{display:none}
.source-article-hero:before{content:none}
.source-article-hero .article-hero-copy{padding:24px 0;align-self:center;gap:22px}
.source-article-hero h1{max-width:20ch;font-size:clamp(36px,3.8vw,64px);line-height:1.05;letter-spacing:-.045em}
.source-article-hero .lede{font-size:17px;line-height:1.6}
.product-page .page-intro-media{min-height:0;background:#fff;border:0;display:block}
.product-page .page-intro-media[data-media-role="product-photo"]{min-height:0;background:#fff;overflow:visible}
.product-page .page-intro-media[data-media-role="product-photo"]:before{display:none}
.product-page .page-intro-media[data-media-role="product-photo"] img{position:static;inset:auto;width:100%;height:auto;max-height:440px;object-fit:contain;padding:0}
.product-page .page-intro-media[data-media-role="product-photo"] .product-gallery img{height:80px;width:80px;padding:0}
.product-gallery{display:flex;gap:12px;margin-top:12px}
.product-gallery button{width:84px;height:84px;padding:0;border:1px solid var(--line);background:white;cursor:pointer}
.product-gallery button.is-active{border:2px solid var(--blue)}
.product-gallery img{width:100%;height:100%;object-fit:contain}
.product-page .utility-layout{padding-block:60px}
.product-page .buy-stage{min-height:0}
.product-page .buy-stage-copy,.product-page .buy-options{padding:60px 5vw}
.product-page .section-title{font-size:clamp(40px,4.5vw,64px);line-height:1}
.buy-options a,.buy-options button{grid-template-columns:1fr auto}
.utility-row>span,.buy-options>a>span,.buy-options>button>span{display:none}
.utility-row{grid-template-columns:1fr}
.geometry-media:before{content:none}
.product-resources{display:grid;grid-template-columns:1fr 1fr;gap:4vw;margin:0 5vw;padding:42px 0;border-block:1px solid var(--line)}
.product-resources h2{font-size:28px;font-weight:400;margin-bottom:18px}
.product-resources p{line-height:1.6;color:var(--soft);margin-bottom:18px;max-width:56ch}
.product-resources a{display:table;margin-top:14px}
.hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:20px 3vw;min-height:100svh;padding:110px 5vw 38px}
.hero-copy{position:relative;left:auto;bottom:auto!important;width:auto;z-index:5}
.hero h1{font-size:clamp(64px,6.25vw,106px);line-height:.95;letter-spacing:-.06em}
.hero .hero-lead{width:auto;max-width:51ch;font-size:17px;line-height:1.6}
.hero .hero-function-line{font-size:18px;gap:8px 22px}
.hero-object{position:relative;inset:auto;display:block;overflow:hidden;width:100%;height:min(66vh,650px);min-height:0}
.home-v2 .hero-object img{width:100%;height:100%;max-height:100%;object-fit:contain;filter:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mix-blend-mode:multiply}
.hero-facts{position:relative;inset:auto;grid-column:1/-1;width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0;padding:20px 0 0;border-top:1px solid var(--line);list-style:none}
.hero-facts li{padding:0;border:0}
.hero-facts strong{font-size:13px;line-height:1.45}
.hero-facts span{font-size:9px}
.hero .scroll-cue{display:none}
.hero-rings{left:30%;top:12%;opacity:.45}
.hero-actions{margin-top:24px;align-items:center;gap:22px}
.hero-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;background:#144dcc;color:white;font-size:13px;font-weight:700}
.hero-actions .text-link{font-size:13px;border-bottom:1px solid;padding-bottom:5px;font-weight:700}
.cart-drawer{visibility:hidden;width:min(480px,100%);padding:24px;grid-template-rows:auto minmax(0,1fr) auto}
.cart-drawer.is-open{visibility:visible}
.cart-drawer header button{min-height:44px}
.cart-item{grid-template-columns:1fr auto;align-items:start}
.cart-item strong{font-size:16px;line-height:1.4}
.cart-item-controls{display:flex;align-items:center;gap:12px;margin-top:12px}
.cart-item-controls button{width:36px;height:36px;border:1px solid var(--line);font-size:20px;text-decoration:none}
.cart-item-controls output{min-width:24px;text-align:center}
.cart-total .button[aria-disabled=true]{opacity:.5;pointer-events:none}
.cart-total>p{color:#4b5b6c}
.cart-backdrop{position:fixed;inset:0;z-index:999;background:rgba(7,27,48,.38);border:0}
body.cart-open{overflow:hidden}
.order-request{margin:110px auto 56px;padding:36px;max-width:920px;background:#f0f5f7;border:1px solid var(--line)}
.order-request h2{font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.04em;font-weight:400;margin:12px 0 24px}
.order-request p{line-height:1.6;color:var(--soft);max-width:64ch}
.order-lines{padding:20px 0;margin:0;list-style:none}
.order-lines li{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.order-lines li span{white-space:nowrap}
.order-request textarea{display:block;width:100%;min-height:160px;padding:16px;margin:14px 0;border:1px solid var(--line);font:inherit;font-size:14px;line-height:1.6;background:white;resize:vertical;color:#09132d}
.order-request label{display:block;font-size:14px;font-weight:700;margin-top:24px}
.order-request .action-row{margin:20px 0}
.order-request .order-status{min-height:24px;font-size:14px}
.order-request+.contact-hero{padding-top:24px;min-height:0}
.source-material{max-width:900px;margin:0 auto;padding:44px 5vw 72px;font-size:17px;line-height:1.75}
.source-material h2,.source-material h3{line-height:1.25;letter-spacing:-.025em;margin:30px 0 18px;font-size:30px;font-weight:400}
.source-material p,.source-material ul,.source-material ol{margin:18px 0}
.source-material img,.source-material video{height:auto;max-width:100%;margin:22px auto;object-fit:contain}
.source-material a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.source-material iframe{max-width:100%;aspect-ratio:16/9;height:auto;border:0}
.source-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.source-gallery-grid a{display:block;min-width:0;text-decoration:none}
.source-gallery-grid img{width:100%;height:auto;margin:0;object-fit:contain}
.source-gallery-grid span{display:inline-block;margin-top:10px;font-size:13px;text-decoration:underline}
.range-static .source-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.instruction-videos{padding:50px 5vw 70px;border-top:1px solid var(--line)}
.instruction-videos h2{font-size:36px;font-weight:400;letter-spacing:-.035em;margin-bottom:26px}
.instruction-video-links{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.instruction-video-links a{padding:26px;background:#f0f5f7;border:1px solid var(--line)}
.instruction-video-links strong{display:block;font-size:24px;font-weight:400;margin-bottom:16px}
.instruction-video-links span{color:var(--blue);font-size:14px;border-bottom:1px solid}
.source-material table{width:100%;border-collapse:collapse;font-size:14px}
.source-material td,.source-material th{border:1px solid var(--line);padding:10px}
.site-footer .footer-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.site-footer .footer-group{display:flex;flex-direction:column;gap:12px}
.site-footer .footer-group-title{font-size:12px;font-weight:700;margin-bottom:6px}
.site-footer .footer-group a{font-size:13px;line-height:1.45}
@media(min-width:901px) and (max-width:1180px){.main-menu{gap:16px}.main-menu a{font-size:11px}}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:56px}.hero-object{min-height:340px}.hero-facts{grid-template-columns:repeat(2,1fr)}.instruction-hero{grid-template-columns:1fr}.instruction-hero-media{height:110px}.main-menu a{min-height:44px}}
@media(max-width:760px){
 .site-header,.site-header.is-scrolled{height:62px}.main-menu{top:62px}
 .cart-toggle{font-size:10px;padding:8px}.cart-toggle span{margin-left:5px}
 .company-page .page-intro{grid-template-columns:1fr;padding:94px 20px 36px;gap:28px}.company-page .page-intro-copy{order:0}.company-page .page-intro-media{order:1}.company-page .page-intro .display{font-size:46px}
 .source-article-hero h1{font-size:38px;line-height:1.05;max-width:none}.source-article-hero .article-hero-copy{padding:12px 0}
 .knowledge-index-hero{padding:96px 20px 26px;gap:14px}.knowledge-index-hero h1{font-size:46px}.knowledge-index-hero>p:last-child{font-size:15px}
 .utility-hero{padding:96px 20px 34px;min-height:0}.utility-hero h1,.utility-hero .display{font-size:42px}
 .publication-index{padding-inline:20px}.publication-toolbar{padding:20px 0;gap:14px}.publication-filters{display:flex;flex-wrap:wrap;gap:8px}.publication-filters button{width:auto;min-height:40px;padding:10px 13px}.publication-row{grid-template-columns:96px minmax(0,1fr);gap:16px;padding:22px 0;align-items:start}.publication-row figure{height:96px}.publication-row h3{font-size:23px;line-height:1.12}.publication-row p{font-size:14px}.publication-row b{grid-column:2}.publication-row>div{gap:10px}
 .instruction-hero{padding:92px 20px 24px;gap:24px}.instruction-hero-copy h1{font-size:44px}.instruction-hero-copy .lede{font-size:16px}.instruction-hero-media{height:85px}.instruction-answer{padding:32px 20px 64px;gap:28px}.instruction-answer h2{font-size:38px}.instruction-steps h3{font-size:26px}.instruction-steps p{font-size:16px}
 .product-page .page-intro{grid-template-columns:1fr;padding:94px 20px 32px;gap:28px}.product-page .page-intro .display{font-size:50px}.product-page .page-intro-media img{max-height:360px}.product-page .utility-layout{padding:42px 20px}.product-resources{grid-template-columns:1fr;margin-inline:20px;gap:36px}.product-page .buy-stage-copy,.product-page .buy-options{padding:42px 20px}
 .hero{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:100px 20px 30px;min-height:0}.hero-copy{order:0}.hero h1{font-size:56px;line-height:.95}.hero .hero-lead{font-size:16px}.hero .hero-function-line{font-size:16px;gap:8px 16px}.hero-object{order:1;height:440px;min-height:0;width:100%;margin:0}.hero-facts{order:2;gap:20px;grid-template-columns:1fr 1fr}.hero-rings{top:42%;left:-30%;width:150%}.hero-actions{gap:18px}
 .cart-drawer{padding:20px}.order-request{margin:86px 20px 36px;padding:22px}.order-lines li{font-size:14px}.order-request .action-row{align-items:stretch}.order-request .button{justify-content:center}.site-footer .footer-navigation{grid-template-columns:1fr 1fr}.site-footer .footer-group:last-child{grid-column:1/-1}
 .source-material{padding:28px 20px 50px;font-size:16px}.source-material h2,.source-material h3{font-size:26px}
 .source-gallery-grid,.range-static .source-gallery-grid{grid-template-columns:1fr}
 .instruction-videos{padding:36px 20px 54px}.instruction-video-links{grid-template-columns:1fr}.instruction-videos h2{font-size:30px}
}

.hero-actions button.button{cursor:pointer;border:0;font-family:inherit}

.process-mobile-image{display:none}
@media(max-width:720px){
.home-v2 .process-visual{display:none}
.home-v2 .process-story{display:block}
.home-v2 .process-steps{padding:0 20px}
.home-v2 .process-step{min-height:0;padding:34px 0 44px;opacity:1;transform:none;gap:22px;background:#071d33}
.home-v2 .process-mobile-image{display:block;width:100%;height:auto;max-height:530px;object-fit:contain;background:#e4f2f4;margin-bottom:8px}
.home-v2 .process-step+.process-step{border-top:1px solid rgba(255,255,255,.14)}
}

/* Product imagery shares the page canvas; the original files remain intact. */
.home-v2 .hero-copy{right:auto}
.home-v2 .hero-object{mix-blend-mode:multiply}
.home-v2 .hero-object .hero-glow{display:none}
.home-v2 .hero-object img{mix-blend-mode:normal;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 95%,transparent)}
.home-v2 .process-scene.protocol-single-tooth{object-fit:cover;object-position:80% center;background:#071d33;filter:none}
.home-v2 .process-story[data-active="protocol"] .process-scene.protocol-single-tooth{transform:none;filter:none}
.home-v2 .process-story[data-active="protocol"] .process-visual::before{background:linear-gradient(180deg,transparent 65%,rgba(4,22,40,.35))}
.publication-row img[src*="retreatment-material"]{object-position:70% center}
@media(max-width:760px){
 .home-v2 .hero-copy{inset:auto;min-width:0}
 .home-v2 .hero-actions{gap:16px}
 .home-v2 .hero h1{font-size:clamp(46px,14.35vw,56px)}
}
@media(max-width:720px){
 .home-v2 .process-mobile-image[src*="prepared-canal"]{aspect-ratio:4/5;object-fit:cover;object-position:82% center;background:#071d33}
}

/* Mobile navigation: two 44px controls, independent of label length. */
@media(max-width:760px){
 .site-header,.site-header.is-scrolled{height:64px;padding:0 16px;grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px}
 .site-header .brand{grid-column:1;grid-row:1;width:94px;height:36px}
 .site-header .cart-toggle{grid-column:2;grid-row:1;position:relative;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;font-size:0!important;display:grid;place-items:center;background:#f1f4f0;color:#142136}
 .cart-toggle::before{content:"";display:block;width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2 12h11l3-9H6M9 20h.01M18 20h.01'/%3E%3C/svg%3E") center/contain no-repeat}
 .site-header .cart-toggle [data-cart-count]{position:absolute;right:0;top:0;min-width:16px;height:16px;margin:0;padding:0 3px;font-size:9px;line-height:16px;background:#609b35;color:white;border:2px solid white;box-sizing:content-box}
 .site-header .menu-toggle{grid-column:3;grid-row:1;width:44px;height:44px;min-height:44px;padding:0;justify-content:center;gap:0;font-size:0}
 .menu-toggle>span:first-child{font-size:0}
 .site-header .menu-icon{width:20px;height:10px;border-block:1.5px solid currentColor}
 .site-header .main-menu{top:64px;max-height:calc(100svh - 64px);overflow:auto}
}
