html:has(.ceramic-entry-page){scroll-behavior:auto;scroll-padding-top:0}
body.ceramic-entry-page{margin:0;background:#0d2d26;color:#f7f2e6;overflow-x:hidden}
.ceramic-entry-page main{max-width:none;margin:0}
.ceramic-entry-scroll{height:180svh}
.ceramic-entry{--seat:0;position:sticky;top:0;height:100svh;min-height:550px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:105px 24px 36px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 65%,#36594a 0,#183d33 38%,#0d2d26 80%)}
.entry-top{position:absolute;top:24px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.entry-top .brand{font-size:23px;color:#f4eddd}.entry-top .brand span{font-size:9px;letter-spacing:2px}.entry-top .brand-courses{font-size:25px}
.entry-skip{font:400 13px/1.4 Manrope,sans-serif;color:#dac9a5;padding:10px 0;border-bottom:1px solid #dac9a555}
.entry-copy{position:relative;z-index:2;text-align:center;width:100%;max-width:950px;flex:none}
.entry-eyebrow{font:500 10px/1.5 Manrope,sans-serif;letter-spacing:.24em;color:#c4b38e;margin:0 0 16px}
.entry-copy h1{font:400 clamp(40px,5.7vw,80px)/1.03 'Cormorant Garamond',Georgia,serif;letter-spacing:-.035em;margin:0;text-wrap:balance;color:#f7f2e6}
.entry-copy h1 em{color:#d7c295;font-weight:400;white-space:nowrap}
.entry-tooth{position:relative;display:block;height:clamp(230px,46svh,520px);aspect-ratio:2/3;flex:none;cursor:pointer;outline-offset:0;margin:4px auto 0;perspective:1000px;border-radius:45%}
.entry-assembly{position:absolute;inset:0;display:block;transform:rotate(-4deg);transition:rotate .5s ease}
.entry-tooth:hover .entry-assembly{rotate:2deg}
.entry-tooth img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.entry-root{clip-path:inset(37% 0 0 0)}
.entry-crown{clip-path:inset(0 0 63% 0);transform-origin:50% 34%;transform:translateY(calc(var(--seat)*18%)) scale(calc(1 - var(--seat)*.14));will-change:transform}
.entry-bottom{text-align:center;position:relative;z-index:2;margin-top:8px}
.entry-action{display:inline-block;font:500 14px/1.5 Manrope,sans-serif;color:#f0dfbb;border-bottom:1px solid #c4a77588;padding:4px 0 8px}
.entry-bottom p{font:400 11px/1.5 Manrope,sans-serif;letter-spacing:.09em;color:#baccc0;margin:12px 0}
.entry-progress{width:76px;height:2px;background:#e3d2b02b;margin:0 auto;overflow:hidden}.entry-progress span{display:block;width:100%;height:100%;background:#d7c295;transform:scaleX(var(--seat));transform-origin:left}
.entry-tooth:focus-visible,.entry-action:focus-visible,.entry-skip:focus-visible{outline:2px solid #ead7aa;outline-offset:6px}
@media(max-width:600px){.ceramic-entry{padding:100px 20px 24px;min-height:500px}.entry-top{top:20px;gap:16px}.entry-top .brand{font-size:19px}.entry-top .brand span{font-size:8px;letter-spacing:1.3px}.entry-top .brand-courses{font-size:20px}.entry-skip{font-size:12px}.entry-eyebrow{font-size:9px;margin-bottom:14px}.entry-copy h1{font-size:clamp(39px,10vw,58px);max-width:460px;margin:auto}.entry-tooth{height:clamp(220px,43svh,380px)}.entry-action{font-size:13px}}
@media(max-height:620px){.ceramic-entry{min-height:420px;padding-top:80px;padding-bottom:16px}.entry-eyebrow{display:none}.entry-copy h1{font-size:38px}.entry-tooth{height:42svh;min-height:180px}.entry-bottom p{margin:6px 0}}
@media(prefers-reduced-motion:reduce){.entry-crown{transform:translateY(18%) scale(.86);will-change:auto}.entry-assembly{transition:none}.entry-tooth:hover .entry-assembly{rotate:none}}
/* One matching 3D assembly replaces the independently cropped artwork. */
.entry-tooth{width:min(390px,80vw);aspect-ratio:auto}
.entry-3d-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.entry-tooth.has-live-model .entry-assembly{display:none}
@media(max-width:600px){.entry-tooth{width:min(320px,86vw)}}

/* The course palette, with an oversized editorial headline and larger sculpture. */
body.ceramic-entry-page{background:var(--jade);color:var(--paper)}
.ceramic-entry{background:var(--jade);padding:94px 24px 20px;gap:0;min-height:620px}
.entry-top .brand,.entry-copy h1{color:var(--paper)}
.entry-skip,.entry-eyebrow,.entry-copy h1 em,.entry-action{color:var(--gold)}
.entry-copy{max-width:1400px}
.entry-eyebrow{margin-bottom:10px;font-size:11px}
.entry-copy h1{font-size:clamp(64px,min(9vw,14svh),132px);line-height:.92;letter-spacing:-.045em}
.entry-copy h1>span{display:block}
.entry-copy h1 em{color:var(--gold)}
.entry-tooth{width:min(600px,92vw);height:auto;min-height:0;flex:1 1 0;margin:0 auto;max-height:600px;border-radius:28%}
.entry-bottom{flex:none;margin-top:0}
.entry-action{font-size:14px;padding-bottom:5px}
.entry-bottom p{font-size:12px;color:#d4ded6;margin:7px 0}
.entry-progress span{background:var(--gold)}
.entry-tooth:focus-visible,.entry-action:focus-visible,.entry-skip:focus-visible{outline-color:var(--gold)}
@media(max-width:600px){
 .ceramic-entry{padding:94px 18px 22px;min-height:600px}
 .entry-copy h1{font-size:clamp(44px,12vw,68px);line-height:.98;max-width:none}
 .entry-eyebrow{font-size:10px;margin-bottom:12px}
 .entry-tooth{width:min(440px,94vw);height:auto;min-height:0}
 .entry-bottom p{font-size:12px}
}
@media(max-height:620px) and (min-width:601px){
 .ceramic-entry{min-height:420px;padding-top:76px;padding-bottom:12px}
 .entry-copy h1{font-size:clamp(48px,11svh,68px)}
 .entry-tooth{width:min(430px,76vw)}
 .entry-eyebrow{display:none}
 .entry-bottom p{margin:3px 0}
}

/* Slate-blue course palette and quiet orbital motion at the perimeter. */
body.ceramic-entry-page{background:#273d45}
.ceramic-entry{background:radial-gradient(ellipse at 50% 58%,#3b515c 0,#2d434e 48%,#273d45 100%)}
.entry-top{z-index:3}
.entry-tooth{z-index:1}
.entry-side-orbits{position:absolute;z-index:0;top:38%;width:min(62vw,760px);aspect-ratio:1;pointer-events:none;opacity:.42;translate:0 -30%;transform:rotate(-24deg);mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 82%,transparent)}
.entry-side-orbits--left{left:-43%;}
.entry-side-orbits--right{right:-43%;top:56%;transform:rotate(24deg)}
.entry-side-orbits>span{position:absolute;inset:0;border:1px solid #d7bc856e;border-radius:50%;animation:entryOrbitalTurn 42s linear infinite}
.entry-side-orbits>span:nth-child(2){inset:13%;border-color:#c4d4e068;animation-duration:32s;animation-direction:reverse;transform:rotate(36deg)}
.entry-side-orbits>span:nth-child(3){inset:27%;border-color:#d7bc854d;animation-duration:54s}
.entry-side-orbits i{position:absolute;left:50%;top:-3px;width:5px;height:5px;border-radius:50%;background:#e6cda6;box-shadow:0 0 9px #e6cda655}
.entry-side-orbits>span:nth-child(2) i{background:#c4d4e0;width:4px;height:4px;top:-2px}
.entry-side-orbits--right>span{animation-direction:reverse;animation-delay:-13s}
.entry-side-orbits--right>span:nth-child(2){animation-direction:normal}
@keyframes entryOrbitalTurn{to{rotate:360deg}}
@media(min-width:1000px){.entry-side-orbits--left{left:-35%}.entry-side-orbits--right{right:-35%}}
@media(min-width:1500px){.entry-side-orbits--left{left:-420px}.entry-side-orbits--right{right:-420px}}
@media(max-width:600px){.entry-side-orbits{width:430px;opacity:.24;top:50%}.entry-side-orbits--left{left:-360px}.entry-side-orbits--right{right:-360px;top:64%}}
@media(prefers-reduced-motion:reduce){.entry-side-orbits>span{animation:none}}

/* Particles gather into the words, then give way to sharp, selectable type. */
.entry-word{display:inline-block}
.entry-type-particles{position:absolute;left:-48px;top:-48px;width:calc(100% + 96px);height:calc(100% + 96px);pointer-events:none;z-index:3}
.entry-copy.type-forming .entry-word{opacity:var(--type-reveal,1);transform:translateY(calc((1 - var(--type-reveal,1))*5px))}
.entry-copy.type-resolved h1 em{animation:entryTypeGold 1.3s ease-out both}
@keyframes entryTypeGold{0%{text-shadow:0 0 16px #e5c99770;color:#f2dfb9}100%{text-shadow:0 0 0 transparent;color:var(--gold)}}
@media(prefers-reduced-motion:reduce){.entry-type-particles{display:none}.entry-copy.type-forming .entry-word{opacity:1;transform:none}.entry-copy.type-resolved h1 em{animation:none}}

/* The complete sentence drifts as one unit after its particle reveal. */
.entry-copy{--headline-travel:clamp(12px,2.1vw,30px)}
.entry-copy.type-resolved h1{animation:entryHeadlineDrift 10s ease-in-out infinite;will-change:transform}
@keyframes entryHeadlineDrift{0%,100%{transform:translateX(0)}25%{transform:translateX(var(--headline-travel))}75%{transform:translateX(calc(-1*var(--headline-travel)))}}
@media(max-width:600px){.entry-copy{--headline-travel:8px}}
@media(prefers-reduced-motion:reduce){.entry-copy.type-resolved h1{animation:none;transform:none;will-change:auto}}

/* Supplied digital-teeth image replaces the separate crown and root model. */
.digital-image-entry .ceramic-entry-scroll{height:100svh;min-height:640px}
.digital-image-entry .ceramic-entry{height:100%;min-height:640px;position:relative;gap:18px;padding-bottom:28px}
.entry-dental-artwork{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex:1 1 0;min-height:0;width:min(960px,92vw);margin:0 auto;border-radius:16px;outline-offset:5px}
.entry-dental-artwork img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;border-radius:16px}
.entry-dental-artwork:focus-visible{outline:2px solid var(--gold)}
.digital-image-entry .entry-bottom{padding-top:0}
@media(max-width:600px){.digital-image-entry .ceramic-entry{gap:22px;padding-bottom:28px}.entry-dental-artwork{width:100%}.entry-dental-artwork img{border-radius:10px}}
@media(max-height:620px) and (min-width:601px){.digital-image-entry .ceramic-entry-scroll,.digital-image-entry .ceramic-entry{min-height:520px}.digital-image-entry .ceramic-entry{gap:12px;padding-bottom:18px}}
