/* Source: new-built.css */
@font-face{font-family:DM;src:url('/template/smilestar/fonts/dm-sans.ttf') format('truetype');font-weight:400 700;font-display:swap}:root{--ink:#27322F;--muted:#5E7067;--aqua:#78BCAC;--line:#ccded4;--paper:#F8FAF8;--mint:#E7F1EC;--ice:#EDF4F5;--g:5vw;--top:118px}*{box-sizing:border-box}body{margin:0;font-family:DM,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;font-size:clamp(14px,.95vw,24px)}html{scroll-padding-top:110px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{outline-offset:5px}:focus-visible{outline:2px solid #32695D}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.035em;line-height:1.08;text-wrap:balance}h2{font-size:clamp(34px,3.8vw,96px)}h3{font-size:clamp(19px,1.5vw,36px);line-height:1.2}p{color:var(--muted)}img{display:block;max-width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--aqua);color:#183D34;border:0;border-radius:40px;padding:16px 25px;font-size:clamp(12px,.9vw,22px);font-weight:600;line-height:1.4}.button:hover{background:#8AC9BA}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:clamp(12px,.85vw,21px);font-weight:600;background:none;border:0;padding:8px 0}.text-link:hover{color:#32695D}.topline{display:flex;justify-content:space-between;padding:7px var(--g);background:#E7F2ED;color:#435E54;font-size:clamp(11px,.75vw,20px)}header{height:clamp(80px,5.5vw,150px);padding:0 var(--g);display:flex;gap:25px;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid #dce7e1;position:sticky;top:0;z-index:1000}.brand{font-size:clamp(28px,2.2vw,64px);font-weight:700;letter-spacing:-.045em;line-height:1;white-space:nowrap}.brand span{font-size:.65em;color:#4C9B88;margin-left:4px}nav{display:flex;gap:2vw;font-size:clamp(12px,.85vw,22px);color:#52675E}nav a:hover{color:#32695D}.menu{display:none;border:0;background:none;color:var(--ink)}.menu svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.hero{height:calc(100svh - var(--top));min-height:0;display:grid;grid-template-columns:1.05fr 1fr;overflow:hidden;background:#EFF6F3}.hero-copy{padding:3vh 3vw 3vh var(--g);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}.hero h1{font-size:clamp(34px,min(4.5vw,8.2svh),140px);line-height:1.03;max-width:14ch}.hero-copy>p{font-size:clamp(13px,min(1vw,1.9svh),27px);line-height:1.6;margin-top:20px;max-width:41em}.hero-facts{display:flex;flex-wrap:wrap;gap:5px 16px;margin-top:20px;font-size:clamp(11px,.75vw,20px);color:#47685A}.hero-facts span::before{content:'·';margin-right:7px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.hero .actions{margin-top:25px}.hero-visual{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;touch-action:pan-y;perspective:1000px}.product-backdrop{position:absolute;width:min(33vw,59svh);height:min(33vw,59svh);background:#E1EEE7;border-radius:46% 54% 61% 39% / 48% 40% 60% 52%;z-index:-1}.banner-image{max-height:65%;width:80%;object-fit:contain;filter:drop-shadow(0 25px 23px #244b3e26);transform:rotate(-7deg);transition:transform .6s cubic-bezier(.16,1,.3,1)}.hero-visual[data-selected=care] .banner-image{width:62%}.hero-visual[data-selected=bath] .banner-image{width:75%}.carousel-tools{position:absolute;top:24px;right:10%;display:flex;align-items:center;gap:10px}.carousel-tools button{width:36px;height:36px;border:1px solid #c8ddd3;border-radius:50%;background:#f8fcfae6;color:#365a4b}.slide-count{font-size:12px;font-variant-numeric:tabular-nums}.stage-controls{position:absolute;bottom:28px;left:8%;right:8%;display:flex;gap:8px}.stage-controls button{flex:1;border:1px solid #cadcd4;border-radius:24px;background:#fafdfcb3;color:#5D7167;padding:10px;font-size:clamp(10px,.8vw,21px)}.stage-controls button[aria-pressed=true]{background:var(--aqua);color:#183D34;border-color:var(--aqua)}.section{padding:clamp(65px,6.5vw,220px) var(--g);width:100%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:6vw;margin-bottom:clamp(30px,3.5vw,100px)}.section-heading h2{max-width:18ch}.section-heading>p{max-width:36em;flex:0 1 40%;font-size:clamp(14px,1vw,26px)}.mint-surface{background:var(--mint)}.ice-surface{background:var(--ice)}.product-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:45px 2vw}.product{grid-column:span 2;min-width:0}.product:nth-child(4),.product:nth-child(5){grid-column:span 3}.product-image{display:grid;place-items:center;background:#E8F0EB;border-radius:16px;height:clamp(230px,23vw,700px);overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;padding:25px;transition:transform .4s}.product-image:hover img{transform:scale(1.035)}.p1{background:#E5EEF0}.p2{background:#EBEFEC}.p3{background:#EEEAF1}.p4{background:#E8F1EC}.product-title{display:flex;justify-content:space-between;align-items:start;gap:15px;margin:22px 0 10px}.product-title>a{font-size:25px}.product>p{font-size:clamp(13px,.9vw,23px);max-width:40em}.product>.text-link{margin-top:12px}.asset-placeholder{text-align:center;padding:30px;color:#507265}.asset-placeholder>span:first-child{font-size:clamp(20px,1.7vw,42px);font-weight:600}.asset-placeholder p{font-size:13px;margin-top:18px}.sample-label{font-size:12px;color:#587465;display:block;line-height:1.5}.asset-placeholder .sample-label{margin-top:25px}.custom-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.brand-visual{min-height:500px;background:#D5E9E0;border-radius:16px;display:flex;align-items:center;justify-content:center;position:relative;padding:40px}.brand-visual img{max-height:470px;width:90%;object-fit:contain;filter:drop-shadow(0 22px 18px #28564026);transform:rotate(-8deg)}.brand-visual>span{position:absolute;bottom:25px;left:30px;font-size:13px;color:#3d6755}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:30px}.service-list article{border-top:1px solid #b8d3c3;padding-top:18px}.service-list h3{font-size:clamp(18px,1.3vw,33px)}.service-list p{font-size:clamp(13px,.9vw,23px);margin-top:12px}.section-end{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:45px}.section-end p{max-width:55em;font-size:clamp(13px,.9vw,23px)}.section-end .button{flex-shrink:0}.manufacturing-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.factory-visual{background:#DDECE5;border-radius:16px;overflow:hidden}.factory-visual img{width:100%;height:clamp(430px,40vw,1200px);object-fit:cover}.factory-visual .sample-label{padding:15px 25px}.manufacturing-notes article{padding:22px 0;border-top:1px solid var(--line)}.manufacturing-notes p{margin-top:12px}.reason-list{display:grid;grid-template-columns:1fr 1fr;gap:35px 5vw;margin-bottom:40px}.reason-list article{display:grid;grid-template-columns:1fr 1.2fr;gap:25px;padding-top:25px;border-top:1px solid var(--line)}.reason-list p{font-size:clamp(13px,.95vw,24px)}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:3vw}.steps li{border-top:1px solid #b8d3c3;padding-top:20px}.steps span{display:block;font-size:14px;color:#32695D;margin-bottom:35px}.steps h3{font-size:clamp(20px,1.5vw,38px)}.steps p{font-size:clamp(13px,.95vw,24px);margin-top:18px}.project-photo{background:#E9F0EB;border-radius:16px;overflow:hidden}.project-photo img{height:clamp(360px,40vw,1100px);width:100%;object-fit:cover}.project-photo .sample-label{padding:15px 25px}.project-descriptions{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;margin:35px 0}.project-descriptions article{border-top:1px solid var(--line);padding-top:20px}.project-descriptions h3{font-size:clamp(22px,1.7vw,44px)}.project-descriptions p{font-size:clamp(12px,.85vw,22px);margin-top:15px}.project-descriptions dl{margin:20px 0}.project-descriptions dl>div{display:flex;gap:15px;font-size:clamp(11px,.8vw,21px);margin-top:8px}dt{font-weight:600;min-width:95px}dd{margin:0;color:var(--muted)}.client-list{display:grid;grid-template-columns:repeat(4,1fr);gap:3vw}.client-list article{padding-top:22px;border-top:1px solid var(--line)}.client-list h3{font-size:clamp(21px,1.6vw,42px)}.client-list p{margin-top:18px;font-size:clamp(13px,.9vw,23px)}.faq-section{display:grid;grid-template-columns:1fr 1.4fr;gap:6vw}.faq-section .section-heading{display:block}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:24px 32px 24px 0;position:relative;font-size:clamp(15px,1.1vw,28px)}summary::after{content:'+';position:absolute;right:0;color:#32695D}details[open] summary::after{content:'−'}details p{padding:0 20px 24px 0;font-size:clamp(13px,.9vw,23px)}.final-cta{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;background:#E7F1EC}.final-copy h2{max-width:13ch}.final-copy>p{margin-top:25px;max-width:35em}.whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;margin-top:35px;padding:14px 24px;border:0;border-radius:40px;color:#fff;background:#167D59;font-size:15px;font-weight:600;line-height:1.4;box-shadow:0 6px 16px #174F3B1A;transition:background-color .2s,box-shadow .2s,transform .2s}.whatsapp>span{white-space:nowrap}.whatsapp-icon{width:1.55em;height:1.55em;flex-shrink:0}.whatsapp-arrow{width:1.1em;height:1.1em;margin-left:8px;flex-shrink:0}.whatsapp:hover{background:#116A4B;box-shadow:0 8px 20px #174F3B24;transform:translateY(-1px)}.whatsapp:active{background:#0E5D42;transform:translateY(0)}.whatsapp:focus-visible{outline:3px solid #167D59;outline-offset:4px}@media(prefers-reduced-motion:reduce){.whatsapp{transition:none}.whatsapp:hover{transform:none}}.final-copy .low-barrier{font-size:14px;margin-top:50px;max-width:30em}form{background:var(--paper);padding:clamp(25px,3vw,100px);border-radius:16px;min-width:0}form>h3{font-size:clamp(26px,2vw,52px);margin-bottom:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:clamp(12px,.85vw,23px);font-weight:500;margin-bottom:20px}input,select,textarea{width:100%;min-width:0;border:1px solid #c7d8ce;border-radius:6px;padding:12px;background:#fff;color:var(--ink);margin-top:8px;font-size:16px}input[type=file]{font-size:12px;padding:10px}textarea{resize:vertical}small,.optional{font-weight:400;color:var(--muted);font-size:12px}label small{display:block;margin-top:5px}form>.button{width:100%}.form-note{font-size:12px;margin-top:12px}#rfq-result{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}#rfq-result h3{font-size:24px}#rfq-result .actions{margin-top:15px}footer{padding:45px var(--g);background:#DDEAE3;display:flex;gap:30px;align-items:center;justify-content:space-between;flex-wrap:wrap}footer p,footer>a:not(.brand){font-size:13px}[hidden]{display:none!important}::selection{background:#badfd1;color:#27322F}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:#92b5a4;border-radius:8px}
@media(min-width:1800px){.brand-visual{min-height:30vw}.brand-visual img{max-height:28vw}.carousel-tools button{width:2.5vw;height:2.5vw;font-size:1.2vw}.slide-count{font-size:.8vw}.stage-controls{bottom:2vw}input,select,textarea{font-size:clamp(16px,1vw,26px);padding:1vw}.hero-facts{margin-top:1.4vw}.hero .actions{margin-top:2vw}}
@media(max-width:1050px){nav{gap:15px}.header-cta{font-size:11px;padding:13px 16px}.hero-facts{gap:2px 10px;margin-top:12px}.hero .actions{gap:12px}.hero .button,.hero .text-link{font-size:11px}.custom-layout{gap:4vw}.service-list{gap:25px 20px}.brand-visual{min-height:430px}.reason-list article{display:block}.reason-list p{margin-top:15px}.form-row{grid-template-columns:1fr;gap:0}.steps{grid-template-columns:1fr 1fr;gap:35px}.client-list{grid-template-columns:1fr 1fr;gap:35px}.project-descriptions dl>div{display:block}}
@media(max-width:700px){html{scroll-padding-top:85px}.topline{font-size:10px;padding:6px var(--g)}.topline>a{display:none}header{height:72px;gap:10px}.brand{font-size:27px}.header-cta{margin-left:auto;font-size:10px;padding:11px 13px;gap:8px}.menu{display:block;padding:5px}nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:25px var(--g);flex-direction:column;gap:20px;font-size:14px}nav.open{display:flex}.hero{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.hero-copy{padding:18px var(--g) 8px}.hero h1{font-size:clamp(27px,min(8.4vw,4.7svh),44px);max-width:19ch;line-height:1.03}.hero-copy>p{font-size:clamp(11px,1.6svh,14px);line-height:1.4;margin-top:12px;max-width:40em}.hero-facts{font-size:10px;gap:2px 12px;margin-top:10px}.hero-facts span:first-child{display:none}.hero .actions{margin-top:14px;gap:12px;flex-wrap:nowrap}.hero .button{font-size:10px;padding:11px 14px;gap:9px}.hero .text-link{font-size:10px;gap:8px}.banner-image{width:auto;max-width:72%;max-height:calc(100% - 103px);margin-bottom:28px}.hero-visual[data-selected=care] .banner-image,.hero-visual[data-selected=bath] .banner-image{width:auto;max-width:68%;max-height:calc(100% - 103px)}.product-backdrop{width:54vw;height:54vw}.carousel-tools{top:0;right:7%;gap:6px}.carousel-tools button{width:28px;height:28px}.slide-count{font-size:10px}.stage-controls{bottom:12px;left:5%;right:5%;gap:5px}.stage-controls button{font-size:9px;padding:8px 4px}.section{padding:55px var(--g)}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:34px;max-width:20ch}.section-heading>p{font-size:14px;margin-top:20px}.product-grid{display:block}.product{margin-bottom:35px}.product:last-child{margin:0}.product-image{height:300px}.product-title h3{font-size:23px}.product>p{font-size:13px}.custom-layout,.manufacturing-layout{display:block}.brand-visual{min-height:340px}.brand-visual img{max-height:300px}.service-list{margin-top:35px;gap:25px 20px}.service-list h3{font-size:18px}.service-list p{font-size:12px}.section-end{display:block;margin-top:30px}.section-end>.button{margin-top:25px}.factory-visual img{height:360px}.manufacturing-notes{margin-top:30px}.manufacturing-notes p{font-size:13px}.reason-list{display:block}.reason-list article{margin-bottom:25px}.reason-list h3{font-size:22px}.steps{gap:30px 22px}.steps span{margin-bottom:20px}.steps h3{font-size:19px}.steps p{font-size:12px}.project-photo img{height:300px;object-fit:contain}.project-descriptions{display:block}.project-descriptions article{margin-bottom:25px}.project-descriptions h3{font-size:23px}.project-descriptions dl>div{display:flex;font-size:12px}.project-descriptions p{font-size:13px}.client-list{gap:30px 22px}.client-list h3{font-size:21px}.client-list p{font-size:12px}.faq-section{display:block}.faq-section .section-heading{margin-bottom:20px}summary{font-size:14px;padding:21px 24px 21px 0}.final-cta{display:block}.final-copy h2{font-size:38px;max-width:16ch}.final-copy>p{font-size:14px}.final-copy .low-barrier{margin-top:25px}.whatsapp{margin-top:25px}form{margin-top:35px;padding:25px 20px}.form-row{grid-template-columns:1fr 1fr;gap:12px}label{font-size:11px}input,textarea,select{font-size:16px;padding:10px}.form-note{font-size:11px}footer{padding:35px var(--g);gap:25px}footer p{width:100%;order:3}}
@media(max-width:380px){.brand{font-size:24px}.header-cta{font-size:9px;padding:10px}.form-row{grid-template-columns:1fr;gap:0}.hero h1{font-size:27px}.hero-facts{font-size:9px}.hero .actions{gap:8px}.hero .text-link{font-size:9px;gap:6px}}
@media(max-height:650px) and (max-width:700px){.hero-copy{padding-top:12px}.hero h1{font-size:clamp(23px,4.2svh,29px)}.hero-copy>p{font-size:10px;margin-top:8px;line-height:1.3}.hero-facts{display:none}.hero .actions{margin-top:9px}.hero .button{padding:9px 12px}.banner-image,.hero-visual[data-selected=care] .banner-image,.hero-visual[data-selected=bath] .banner-image{max-height:calc(100% - 65px);margin-bottom:15px}.stage-controls{bottom:6px}}
@media(max-height:600px) and (min-width:701px){.hero h1{font-size:7.5svh}.hero-copy>p{font-size:12px;line-height:1.35;margin-top:12px}.hero-facts{display:none}.hero .actions{margin-top:14px}.hero .button{padding:11px 15px}.stage-controls{bottom:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Independent full-screen chapters. Content remains in normal document flow. */
html{scroll-snap-type:y proximity;scroll-padding-top:var(--nav-height,80px)}main>section{min-height:calc(100svh - var(--nav-height,80px));scroll-snap-align:start;scroll-margin-top:0;position:relative}.section{padding-top:clamp(34px,4svh,90px);padding-bottom:clamp(34px,4svh,90px);display:flex;flex-direction:column;justify-content:center}.section-heading{margin-bottom:clamp(22px,3svh,60px)}.section-heading h2{font-size:clamp(30px,3.3vw,86px)}.section-heading>p{font-size:clamp(13px,.94vw,25px)}.hero{min-height:0}.product-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:2vw}.product,.product:nth-child(4),.product:nth-child(5){grid-column:auto}.product-image{height:clamp(180px,28svh,620px)}.product-image img{padding:18px}.product-title h3{font-size:clamp(17px,1.35vw,34px)}.product-title{margin-top:18px}.product>p{font-size:clamp(12px,.85vw,22px)}.product>.text-link{font-size:clamp(11px,.8vw,21px)}.asset-placeholder{padding:15px}.asset-placeholder>span:first-child{font-size:clamp(16px,1.4vw,34px)}.asset-placeholder p{font-size:12px}.section-end{margin-top:25px}.factory-visual img{height:clamp(300px,48svh,1000px)}.manufacturing-notes article{padding:16px 0}.manufacturing-notes h3{font-size:clamp(18px,1.4vw,35px)}.manufacturing-notes p{font-size:clamp(12px,.9vw,23px)}.project-photo img{height:clamp(230px,32svh,740px)}.project-descriptions{margin:22px 0}.project-descriptions h3{font-size:clamp(18px,1.4vw,34px)}.project-descriptions p{font-size:clamp(12px,.8vw,21px)}.project-descriptions dl{margin:13px 0}.faq-section{display:grid;align-content:center}.final-cta{display:grid;align-content:center}.final-copy{align-self:start}.brand-studio{position:relative;min-width:0;background:#F8FAF8;border-radius:16px}.brand-studio iframe{display:block;border:0;width:100%;height:clamp(475px,62svh,900px);border-radius:16px}.studio-start{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;background:#e4efe9;border-radius:16px;padding:35px 4vw}.studio-start h3{font-size:clamp(28px,2.8vw,70px);max-width:15ch}.studio-start p{font-size:clamp(13px,.95vw,24px);margin:20px 0}.studio-start img{width:90%;max-height:90%;object-fit:contain;transform:rotate(-7deg);filter:drop-shadow(0 20px 18px #28564020)}.studio-start small{display:block;margin-top:15px}.custom-services{border-bottom:1px solid #b8d3c3}.custom-services>summary{padding:14px 25px 14px 0;font-size:13px}.custom-services .service-list{grid-template-columns:repeat(3,1fr);padding:15px 0 25px}.skip-link{position:fixed;top:-100px;left:10px;background:white;padding:10px;z-index:2000}.skip-link:focus{top:10px}.chapter-enter .section-heading{animation:chapter-reveal .6s cubic-bezier(.16,1,.3,1) both}@keyframes chapter-reveal{from{opacity:.55;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.product-grid{grid-template-columns:repeat(3,1fr);gap:28px 20px}.product-image{height:210px}.section{min-height:calc(100svh - var(--nav-height,80px));padding-top:45px;padding-bottom:45px}.project-descriptions{gap:20px}.custom-services .service-list{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.section{display:block;padding:45px var(--g);min-height:calc(100svh - var(--nav-height,72px))}.faq-section,.final-cta{display:block}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 16px}.product{margin:0}.product-image{height:190px}.product-image img{padding:12px}.product-title h3{font-size:18px}.product-title{gap:8px;margin-top:15px}.product-title>a{font-size:20px}.product>p{font-size:12px}.product:last-child{grid-column:1/-1}.asset-placeholder .sample-label{font-size:10px;margin-top:12px}.asset-placeholder p{font-size:11px}.section-heading h2{font-size:32px}.brand-studio iframe{height:1000px}.studio-start{display:flex;flex-direction:column;justify-content:center;padding:30px;gap:30px}.studio-start img{width:80%;max-height:350px;order:-1}.studio-start h3{font-size:32px}.studio-start p{font-size:14px}.studio-start small{font-size:11px}.custom-services .service-list{grid-template-columns:1fr 1fr}.factory-visual img{height:330px}.project-photo img{height:270px}.hero{min-height:0}}
@media(prefers-reduced-motion:reduce){html{scroll-snap-type:none}.chapter-enter .section-heading{animation:none}}
img{height:auto}.banner-image{height:auto}
/* Second chapter: live customization fills the screen, with no launch overlay. */
@media(min-width:701px){.customization-screen{height:calc(100svh - var(--nav-height,80px));min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding-top:22px;padding-bottom:16px;align-content:stretch;overflow:visible}.customization-screen>.section-heading{margin:0;align-items:center;gap:5vw}.customization-screen>.section-heading h2{font-size:clamp(26px,2.5vw,66px);max-width:24ch;line-height:1.05}.customization-screen>.section-heading>p{font-size:clamp(11px,.85vw,23px);line-height:1.45;flex-basis:43%}.customization-screen .brand-studio{min-height:0;height:100%}.customization-screen .brand-studio iframe{height:100%!important;min-height:0}.customization-screen .custom-services>summary{padding:8px 25px 8px 0;font-size:12px}.customization-screen:has(.custom-services[open]){height:auto;min-height:calc(100svh - var(--nav-height,80px));grid-template-rows:auto auto auto}.customization-screen:has(.custom-services[open]) .brand-studio{height:520px}.customization-screen .section-end{margin:15px 0}.customization-screen .section-end p{font-size:12px}.customization-screen .section-end .button{font-size:12px;padding:12px 18px}}
@media(max-width:700px){.customization-screen{min-height:calc(100svh - var(--nav-height,72px))}.customization-screen .section-heading h2{font-size:29px}.customization-screen>.section-heading>p{font-size:13px}.customization-screen .custom-services .section-end{margin-top:15px}}
@media(min-width:701px){.customization-screen{grid-template-columns:minmax(0,1fr);justify-content:stretch}}
.reference-upload{display:block;position:relative;background:#edf5f0;border:1px dashed #9ebfaf;border-radius:8px;margin-top:8px;padding:14px 16px;overflow:hidden;cursor:pointer;color:#365f4d}.reference-upload>span{display:flex;justify-content:space-between;align-items:center;font-size:12px}.reference-upload b{font-size:18px;font-weight:400}.reference-upload input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0}.reference-upload:focus-within{outline:2px solid #32695d;outline-offset:4px}#reference-file-names{display:block;font-size:11px;color:#5e7067;margin:6px 0;overflow-wrap:anywhere}@media(min-width:701px){main>section{scroll-snap-stop:always}}
/* Two continuous dental logo rows; all image corners are clipped by CSS. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.logo-showcase{--logo-gap:clamp(22px,2vw,48px);--logo-wall-pad:clamp(32px,4svh,76px);--logo-radius:16px;--logo-card-width:clamp(180px,min(18vw,calc((100svh - var(--nav-height,80px) - var(--logo-wall-pad)*2 - var(--logo-gap) - 216px)*.75)),520px);padding:var(--logo-wall-pad) 0;background:var(--mint);overflow:hidden}
.case-reel{display:grid;grid-template-rows:repeat(2,auto);gap:var(--logo-gap);width:100%;padding:0 var(--g);flex:none}
.case-row{height:calc(var(--logo-card-width)*2/3 + 32px);width:100%;padding:16px 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scroll-behavior:auto}
.case-row::-webkit-scrollbar{display:none}.case-row:focus-visible{outline:2px solid #32695D;outline-offset:-3px}
.case-track{display:flex;height:100%;width:max-content;min-width:100%}
.case-group{display:flex;gap:var(--logo-gap);padding:0 var(--logo-gap) 0 0;margin:0;list-style:none;height:100%;flex:none;width:max-content}.case-group[hidden]{display:none}
.logo-tile{display:grid;place-items:center;flex:none;width:var(--logo-card-width);height:100%;aspect-ratio:3/2;background:#FFFFFF;border:0;border-radius:var(--logo-radius);overflow:hidden;box-shadow:none;user-select:none;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s ease}
.logo-tile img{display:block;width:80%;height:80%;object-fit:contain;border-radius:inherit;pointer-events:none}
@media(hover:hover) and (pointer:fine){.logo-tile:hover{transform:translateY(-3px);box-shadow:0 7px 20px rgba(39,50,47,.065)}}
@media(max-width:700px){.logo-showcase{--logo-card-width:clamp(160px,54vw,260px);--logo-gap:22px;--logo-wall-pad:32px;display:flex;flex-direction:column;justify-content:center}}
@media(prefers-reduced-motion:reduce){.logo-tile{transition:none}.logo-tile:hover{transform:none}.case-row{scroll-behavior:auto}}

.logo-showcase>.logo-heading{display:block;padding:0 var(--g);margin:0 0 clamp(36px,5svh,90px)}.logo-heading h2{font-size:clamp(36px,4.2vw,100px);line-height:1.08;max-width:none}
@media(max-width:700px){.logo-heading h2{font-size:32px;max-width:16ch}.logo-showcase>.logo-heading{margin-bottom:34px}}
/* The inquiry and site footer share one final viewport. */
.final-screen{display:flex;flex-direction:column;justify-content:space-between;align-content:normal;gap:0;padding:24px 0 0;background:var(--mint)}
.rfq-content{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:5vw;padding:0 var(--g) 20px;flex:1;min-width:0;min-height:0}
.final-screen .final-copy{align-self:center}
.final-screen .final-copy h2{font-size:clamp(34px,min(3.2vw,6svh),94px);line-height:1.08;max-width:16ch}
.final-screen .final-copy>p{font-size:clamp(13px,.94vw,25px);line-height:1.6;max-width:40ch;margin-top:18px}
.final-screen .final-copy .low-barrier{font-size:clamp(12px,.8vw,21px);margin-top:24px;max-width:35ch}
.final-screen .whatsapp{margin-top:22px;font-size:clamp(14px,.9vw,25px);min-height:clamp(52px,3.5vw,92px);padding:14px 24px}
.final-screen #rfq-form{margin:0;padding:clamp(18px,1.4vw,52px);min-width:0}
.final-screen #rfq-form>h3{font-size:clamp(24px,1.9vw,50px);margin-bottom:12px;line-height:1.15}
.final-screen #rfq-form label{font-size:clamp(12px,.8vw,22px);line-height:1.35;margin-bottom:8px}
.final-screen #rfq-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.final-screen #rfq-form input,.final-screen #rfq-form select,.final-screen #rfq-form textarea{font-size:clamp(14px,.85vw,24px);line-height:1.2;margin-top:4px;padding:7px 10px}
.final-screen #rfq-form input:not([type=file]),.final-screen #rfq-form select{height:clamp(34px,4.8svh,82px)}
.final-screen #rfq-form textarea[name=requirements]{height:clamp(58px,8svh,140px);min-height:58px;resize:none}
.rfq-details{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;align-items:start}
.final-screen .reference-upload{margin-top:4px;padding:8px 10px}
.final-screen .reference-upload>span{font-size:clamp(11px,.75vw,20px);line-height:1.3;gap:6px}
.final-screen .reference-upload input[type=file]{margin:0;padding:0}
.final-screen #reference-file-names{font-size:clamp(11px,.7vw,18px);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0}
.final-screen label small{font-size:clamp(11px,.7vw,18px);line-height:1.3;margin-top:3px}
.final-screen #rfq-form>.button{padding:11px 18px;font-size:clamp(12px,.85vw,22px)}
.final-screen .form-note{font-size:clamp(11px,.7vw,19px);line-height:1.4;margin-top:8px}
.final-screen .final-screen-footer{flex:none;width:100%;margin:0;padding:14px var(--g);gap:15px 25px;border-top:1px solid #c8dcd1;background:transparent;min-height:56px}
.final-screen-footer .brand{font-size:clamp(24px,1.7vw,52px)}
.final-screen-footer p,.final-screen-footer>a:not(.brand),.final-screen-footer small{font-size:clamp(11px,.75vw,21px);line-height:1.4}
@media(min-width:1051px) and (min-height:700px){.final-screen{height:calc(100svh - var(--nav-height,80px));min-height:0;padding-top:18px}.final-screen:has(#rfq-result:not([hidden])){height:auto;min-height:calc(100svh - var(--nav-height,80px))}.final-screen:has(#rfq-result:not([hidden])) .rfq-content{align-items:start}}
@media(max-width:1050px){.final-screen{padding-top:42px}.rfq-content{grid-template-columns:1fr;gap:30px;padding-bottom:32px}.final-screen .final-copy{max-width:680px}.final-screen .final-copy h2{font-size:clamp(32px,4vw,48px);max-width:22ch}.final-screen .final-copy>p{max-width:60ch}.final-screen .final-copy .low-barrier{max-width:60ch;margin-top:16px}.final-screen #rfq-form{padding:24px}.final-screen #rfq-form input,.final-screen #rfq-form select,.final-screen #rfq-form textarea{font-size:16px;padding:10px}.final-screen #rfq-form input:not([type=file]),.final-screen #rfq-form select{height:44px}.final-screen #rfq-form textarea[name=requirements]{height:90px}.final-screen #rfq-form label{margin-bottom:14px;font-size:12px}.final-screen .final-screen-footer{padding-top:22px;padding-bottom:22px}}
@media(max-width:520px){.final-screen #rfq-form .form-row,.rfq-details{grid-template-columns:1fr;gap:0}.final-screen #rfq-form{padding:22px 18px}.final-screen .final-screen-footer{gap:18px 22px}.final-screen-footer p{width:100%;order:3}}

/* Independent product-line imagery; corners stay in CSS for replaceable assets. */
.product-line-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,64px)}
.product-line-grid>article{min-width:0}
.product-line-image{aspect-ratio:3/2;border-radius:16px;overflow:hidden;background:#E5F0EA;display:grid;place-items:center;padding:clamp(18px,1.8vw,56px)}
.product-line-image img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.product-line-image--photo{padding:0}
.product-line-image--photo img{object-fit:cover;object-position:center}
.product-line-grid h3{font-size:clamp(18px,1.35vw,34px);margin-top:clamp(18px,1.5vw,38px)}
.product-line-grid p{font-size:clamp(13px,.9vw,23px);margin-top:10px}
@media(max-width:700px){.product-line-grid{grid-template-columns:minmax(0,1fr);gap:32px}.product-line-image{padding:26px}.product-line-image--photo{padding:0}.product-line-grid h3{font-size:21px;margin-top:18px}.product-line-grid p{font-size:14px;line-height:1.6}}

/* SmileStar signature: one gentle letter wave, on a 2.4-second loop. */
.header-brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.header-brand>.brand-wordmark{display:inline-flex;align-items:center;gap:4px;margin:0;color:var(--ink);font:inherit;letter-spacing:inherit}
.header-brand .brand-name{display:inline-flex;margin:0;color:inherit;font:inherit;letter-spacing:inherit}.header-brand .brand-letter{display:inline-block;margin:0;color:inherit;font:inherit;letter-spacing:inherit;animation:brand-letter-wave 2.4s cubic-bezier(.16,1,.3,1) infinite;animation-delay:calc(var(--letter)*.07s)}.header-brand .brand-star{display:block;width:.66em;height:.66em;color:#4C9B88;flex:none;transform-origin:center;animation:brand-star-breathe 2.4s ease-in-out infinite}
.header-brand>.brand-descriptor{font-size:clamp(11px,.68vw,18px);font-weight:500;line-height:1.2;letter-spacing:.01em;color:var(--muted)}
@keyframes brand-letter-wave{0%,40%,100%{transform:translateY(0)}12%{transform:translateY(-.075em)}24%{transform:translateY(0)}}
@keyframes brand-star-breathe{0%,100%{transform:rotate(-6deg) scale(.92);opacity:.68}50%{transform:rotate(6deg) scale(1.03);opacity:1}}
@media(max-width:1100px){.header-brand{flex-direction:column;align-items:flex-start;gap:4px}.header-brand>.brand-descriptor{font-size:10px;letter-spacing:.025em}}
@media(max-width:900px){header>nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:25px var(--g);flex-direction:column;gap:20px;font-size:14px}header>nav.open{display:flex}header>.menu{display:block;padding:5px;flex-shrink:0}header>.header-cta{margin-left:auto;font-size:10px;padding:11px 13px;gap:8px}}
@media(prefers-reduced-motion:reduce){.header-brand .brand-letter,.header-brand .brand-star{animation:none;opacity:1;transform:none}}

/* The primary header action gently invites attention without changing layout. */
header>.header-cta{flex-shrink:0;min-height:44px;transform-origin:center;animation:rfq-invite 1.8s ease-in-out infinite;box-shadow:0 5px 14px #32695D18;transition:background-color .2s}
.header-cta .cta-arrow{display:block;width:1.12em;height:1.12em;flex-shrink:0;animation:rfq-arrow-invite 1.8s cubic-bezier(.16,1,.3,1) infinite}
@keyframes rfq-invite{0%,65%,100%{transform:translateY(0) scale(1)}32%{transform:translateY(-1px) scale(1.025)}}
@keyframes rfq-arrow-invite{0%,15%,65%,100%{transform:translate(0,0)}34%{transform:translate(2px,-2px)}}
header>.header-cta[data-motion-paused=true],header>.header-cta[data-motion-paused=true] .cta-arrow,header>.header-cta:focus-visible,header>.header-cta:focus-visible .cta-arrow{animation-play-state:paused}
@media(hover:hover){header>.header-cta:hover,header>.header-cta:hover .cta-arrow{animation-play-state:paused}}
@media(prefers-reduced-motion:reduce){header>.header-cta,.header-cta .cta-arrow{animation:none;transform:none}}

@media(max-width:380px){header>.header-cta{font-size:9px;padding:10px 11px;gap:7px}}

/* Mouse-only affordance; the banner layout and touch behavior stay unchanged. */
@media(hover:hover) and (pointer:fine){.hero{cursor:grab}.hero.is-banner-dragging,.hero.is-banner-dragging *{cursor:grabbing}.hero a,.hero button{cursor:pointer}.hero.is-banner-dragging{user-select:none}}
.hero .banner-image{-webkit-user-drag:none;user-select:none}

/* Static section surfaces. Background motion removed site-wide. */
.brand-flow{background-color:var(--mint)}


/* Client totals supplied by SmileStar; scoped to the existing audience chapter. */
#who-we-work-with .client-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:end;gap:clamp(28px,4vw,140px)}
#who-we-work-with .client-heading h2{max-width:none}
.client-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.5vw,48px);margin:0;min-width:0}
.client-metric{display:flex;flex-direction:column;justify-content:center;gap:clamp(10px,1vw,28px);min-width:0;min-height:clamp(130px,12svh,260px);padding:clamp(20px,1.8vw,60px);border-radius:16px;background:#F8FAF8}
.client-metric dt{font-size:clamp(13px,1vw,28px);line-height:1.35;color:var(--ink)}
.client-metric dd{order:-1;margin:0;font-size:clamp(32px,2.9vw,108px);font-weight:500;line-height:1;letter-spacing:-.035em;color:#32695D;font-variant-numeric:tabular-nums;white-space:nowrap}
.client-metric .metric-plus{font-size:.64em;margin-left:.08em;vertical-align:.08em}
.metric-readable{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1050px){#who-we-work-with .client-heading{grid-template-columns:minmax(0,1fr);gap:28px}.client-metrics{max-width:720px}.client-metric{min-height:130px;padding:24px}.client-metric dd{font-size:clamp(34px,5vw,52px)}.client-metric dt{font-size:15px}}
@media(max-width:700px){#who-we-work-with .client-heading{gap:26px;margin-bottom:32px}.client-metrics{gap:12px;max-width:none}.client-metric{min-height:112px;padding:18px 14px;gap:12px}.client-metric dd{font-size:clamp(23px,6.7vw,42px)}.client-metric dt{font-size:12px}}

/* Homepage: balance the title spacing and use the remaining screen for the studio. */
@media(min-width:701px){
  body:not(.inner-page) #customization.customization-screen{
    grid-template-rows:auto minmax(0,1fr);
    padding-top:clamp(28px,3.4svh,64px);
    padding-bottom:clamp(16px,2svh,32px);
    row-gap:clamp(22px,2.4svh,44px)
  }
}


/* Homepage product photos: edge-to-edge artwork with a soft floating shadow. */
body:not(.inner-page) #products .product-image{
  height:auto;aspect-ratio:1;background:transparent;border:0;padding:0;
  box-shadow:0 6px 20px rgba(38,53,50,.065)
}
body:not(.inner-page) #products .product-image img{
  display:block;width:100%;height:100%;padding:0;object-fit:cover
}

/* Source: site-pages.css */

/* Shared navigation and independently composed inner pages. */
header{gap:clamp(12px,1.3vw,28px)}header #navigation{gap:clamp(12px,1.4vw,34px);font-size:clamp(11px,.8vw,20px)}header #navigation a{position:relative;white-space:nowrap;padding:10px 0}header #navigation a[aria-current=page]{color:#285E50}header #navigation a[aria-current=page]:after{content:"";position:absolute;bottom:2px;left:0;right:0;height:2px;background:#498E7C}.inner-page{overflow-x:clip}.inner-page main{scroll-snap-type:none}.inner-page main>section,.inner-page .section{min-height:0;height:auto;scroll-snap-align:none;content-visibility:visible}.page-intro{padding:clamp(45px,5vw,140px) var(--g) clamp(48px,6vw,160px);background:#E7F1EC;display:flex;justify-content:space-between;align-items:center;gap:5vw}.breadcrumbs{display:flex;gap:12px;align-items:center;color:#52675e;font-size:12px;margin-bottom:35px}.breadcrumbs span:last-child{max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-intro h1{font-size:clamp(42px,5.7vw,96px);line-height:1.04;max-width:15ch;letter-spacing:-.035em}.page-intro p{margin-top:28px;font-size:clamp(16px,1.25vw,27px);max-width:62ch;line-height:1.65}.inner-page .section-heading h2{font-size:clamp(32px,3.4vw,70px)}.inner-page .section{padding-block:clamp(55px,6vw,150px)}.inner-page #products>.section-heading{display:none}.catalog-layout{display:grid;grid-template-columns:210px 1fr;gap:4vw}.catalog-sidebar{align-self:start;position:sticky;top:120px}.catalog-sidebar h3{font-size:20px}.filters{display:flex;flex-direction:column;gap:4px;margin:24px 0 40px}.filters button{background:none;border:0;text-align:left;padding:12px 14px;border-radius:4px;color:var(--ink)}.filters button[aria-pressed=true]{background:#d9eae2;color:#244f41}.catalog-sidebar p{font-size:14px}.inner-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 28px}.inner-page .product{grid-column:auto!important}.inner-page .product[hidden]{display:none}.inner-page .product-image{height:clamp(240px,25vw,600px)}.inner-page .product h3{font-size:clamp(20px,1.6vw,34px)}.inner-page .brand-studio{height:clamp(630px,48vw,1000px)}.inner-page .brand-studio iframe{height:100%;min-height:100%;width:100%;border:0}.inner-page .custom-services{margin-top:40px}.inner-page .customization-screen{overflow:visible}.inner-page .custom-services .service-list{margin-top:30px;grid-template-columns:repeat(3,minmax(0,1fr))}.inner-page .manufacturing-layout{grid-template-columns:1.2fr 1fr}.inner-page .factory-visual img{height:clamp(360px,35vw,800px)}.inner-page .project-collection{display:block}.inner-page .project-photo img{width:100%;height:clamp(350px,48vw,950px);object-fit:cover}.inner-page .project-descriptions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:45px}.inner-page .project-descriptions article{padding:25px 0}.direction-rows{margin-top:45px}.direction-rows>a{padding:30px 0;display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line)}.direction-rows strong{font-size:clamp(23px,2.4vw,48px);font-weight:500}.direction-rows span{color:var(--muted)}.news-index{padding-top:40px!important}.news-notice{display:flex;gap:5vw;align-items:baseline;padding:0 0 35px}.news-notice strong{white-space:nowrap;font-weight:500}.news-row{display:grid;grid-template-columns:150px 1fr 100px;gap:4vw;border-top:1px solid var(--line);padding:50px 0;align-items:baseline}.news-row h2{font-size:clamp(27px,3vw,55px);max-width:26ch}.news-row p{margin-top:15px}.news-type,.read-link{font-size:13px;color:#47685a}.news-row:hover h2{color:#32695d}.editorial{max-width:1000px;margin:auto}.editorial h2{font-size:clamp(28px,3vw,48px);margin:55px 0 20px}.editorial p{font-size:clamp(17px,1.3vw,23px);line-height:1.85;max-width:70ch}.guide-label{margin-top:35px;font-size:13px!important}.editorial aside{border-top:1px solid var(--line);margin-top:50px;padding-top:25px;color:var(--muted)}.about-intro{display:grid;grid-template-columns:1.2fr 1fr}.about-visual{display:grid;place-items:center;min-height:380px}.about-visual img{width:75%;max-height:500px;object-fit:contain;filter:drop-shadow(0 25px 25px #244b3e22)}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.about-story p+p{margin-top:25px}.about-story .text-link{margin-top:25px}.page-cta{padding:clamp(60px,6vw,150px) var(--g);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:#dceee5}.page-cta h2{font-size:clamp(38px,4vw,85px)}.page-cta p{max-width:44ch;margin-bottom:25px}.site-footer{padding:55px var(--g);display:flex;flex-wrap:wrap;align-items:center;gap:25px 4vw;border-top:1px solid var(--line)}.site-footer nav{order:5;width:100%;flex-wrap:wrap;gap:22px}.site-footer small{margin-left:auto}.site-footer .brand{font-size:30px}.inner-page .chapter-rail{display:none}::selection{background:#badfd0;color:#173d30}
@media(max-width:1200px){header #navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:25px var(--g);background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;font-size:16px}header #navigation.open{display:flex}header .menu{display:block}header .header-cta{margin-left:auto}.catalog-layout{grid-template-columns:170px 1fr}}
@media(max-width:700px){.page-intro{display:block}.page-intro>.button{margin-top:30px}.page-intro h1{font-size:44px}.breadcrumbs{margin-bottom:30px;font-size:11px}.catalog-layout{display:block}.catalog-sidebar{position:static}.filters{flex-direction:row;flex-wrap:wrap;margin:18px 0 25px}.filters button{padding:9px 12px;font-size:13px}.catalog-sidebar>p,.catalog-sidebar>.text-link{display:none}.inner-page .product-grid{grid-template-columns:1fr}.inner-page .product-image{height:340px}.inner-page .brand-studio{height:1080px}.inner-page .custom-services .service-list,.inner-page .manufacturing-layout,.inner-page .project-descriptions,.about-story,.page-cta{grid-template-columns:1fr}.inner-page .project-photo img{height:340px}.inner-page .project-descriptions{gap:0}.direction-rows>a{flex-direction:column;gap:8px}.news-notice{display:block}.news-notice p{margin-top:10px}.news-row{grid-template-columns:1fr;gap:16px;padding:32px 0}.news-row h2{font-size:30px}.about-intro{display:block}.about-visual{min-height:300px}.about-visual img{height:280px}.page-cta{gap:28px}.site-footer{flex-direction:column;align-items:flex-start}.site-footer small{margin-left:0}.site-footer nav{flex-direction:column}.inner-page .section-heading{display:block}.inner-page .section-heading>p{margin-top:25px}.inner-page .section-end{flex-direction:column;align-items:start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.site-footer nav{display:flex}.breadcrumbs{font-size:12px}header #navigation{font-size:clamp(12px,.8vw,20px)}.inner-page{overflow-x:visible}

.detail-breadcrumbs{padding:35px var(--g);display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted)}.product-detail{padding:15px var(--g) 80px;display:grid;grid-template-columns:1.05fr 1fr;gap:6vw;align-items:center}.detail-image{background:#e7f0eb;border-radius:16px;min-width:0;display:grid;place-items:center;min-height:500px;aspect-ratio:1}.detail-image img{width:85%;height:85%;max-height:700px;object-fit:contain}.detail-copy h1{font-size:clamp(36px,4vw,78px);line-height:1.08}.detail-copy p{margin-top:20px;max-width:60ch}.detail-copy .detail-lead{font-size:clamp(20px,1.5vw,30px);color:var(--ink)}.detail-facts{margin:30px 0}.detail-facts>div{display:grid;grid-template-columns:135px 1fr;gap:20px;border-top:1px solid var(--line);padding:16px 0;font-size:14px}.detail-facts dt{font-weight:600}.detail-facts dd{margin:0;color:var(--muted)}.detail-placeholder{padding:45px}.detail-placeholder h2{font-size:36px}.detail-placeholder p{margin-top:20px}.detail-overview{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--mint)}.detail-overview h3{margin-bottom:15px}.detail-overview p+h3{margin-top:35px}.detail-overview .text-link{margin-top:30px}.related-products>div{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:35px 0}.related-products>div>a{padding:22px 0;border-top:1px solid var(--line);font-size:clamp(20px,1.8vw,34px)}.product-title h3 a:hover,.related-products a:hover{color:#32695d;text-decoration:underline;text-underline-offset:5px}.news-row:focus-visible{outline:2px solid #32695d;outline-offset:5px}
@media(max-width:700px){.product-detail{grid-template-columns:1fr;gap:35px;padding-bottom:55px}.detail-image{min-height:300px}.detail-facts>div{grid-template-columns:1fr;gap:6px}.detail-overview,.related-products>div{grid-template-columns:1fr}.detail-copy h1{font-size:38px}.detail-breadcrumbs{font-size:12px}.detail-overview{gap:35px}}

.inner-page .brand-studio iframe{min-height:0}

/* One shared, text-only banner for every inner route. */
.inner-page .uniform-banner{height:340px!important;min-height:340px!important;padding:36px var(--g)!important;display:flex!important;align-items:center;overflow:visible;gap:0;background:#e7f1ec}
.uniform-banner>div{width:100%}.uniform-banner .breadcrumbs{display:flex!important;position:static;padding:0;margin:0 0 20px;gap:12px;font-size:12px;line-height:1.5}.inner-page .uniform-banner h1{font-size:clamp(36px,3.5vw,64px);line-height:1.12;letter-spacing:-.03em;font-weight:600;max-width:28ch;margin:0}.inner-page .uniform-banner p{font-size:clamp(15px,1.1vw,21px);line-height:1.65;margin:18px 0 0;max-width:76ch}.uniform-banner img{display:none}.inner-page .product-detail{padding-top:65px}.detail-copy .product-name{font-size:clamp(32px,3vw,58px);line-height:1.12;letter-spacing:-.03em}.product-title h2,.inner-page .product-title h2{font-size:clamp(20px,1.6vw,34px);line-height:1.2;letter-spacing:-.03em}.editorial .article-title{font-size:clamp(32px,3vw,54px);margin:0 0 28px}.related-products>div>h2{padding:22px 0;border-top:1px solid var(--line);font-size:clamp(20px,1.8vw,34px);line-height:1.3}.related-products>div>h2>a{display:block}
@media(max-width:700px){.inner-page .uniform-banner{height:340px!important;min-height:340px!important;padding:28px var(--g)!important}.inner-page .uniform-banner h1{font-size:36px;line-height:1.12}.inner-page .uniform-banner p{font-size:15px;line-height:1.65;margin-top:18px}.uniform-banner .breadcrumbs{margin-bottom:18px;font-size:12px}.uniform-banner .breadcrumbs span:last-child{white-space:normal;max-width:26ch}.detail-copy .product-name{font-size:32px}}

/* Keep the announcement and navigation as one stable sticky stack. */
:root{--announcement-height:32px}
html{scrollbar-gutter:stable;scroll-padding-top:calc(var(--announcement-height) + clamp(80px,5.5vw,150px))}
.topline{position:sticky;top:0;z-index:1001;height:var(--announcement-height);min-height:var(--announcement-height);padding:0 var(--g);align-items:center;line-height:1.4;flex-wrap:nowrap}
.topline>span,.topline>a{white-space:nowrap}
header{top:var(--announcement-height)}
@media(max-width:700px){:root{--announcement-height:28px}.topline{padding:0 var(--g);font-size:10px}}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}

/* Give every inner banner a clear transition to its first content screen. */
body.inner-page{background:#fff}
.inner-page .uniform-banner + section,.inner-page .uniform-banner + article{background:#fff}

/* Fixed banner text tracks: description wrapping must not recenter the heading. */
.inner-page .uniform-banner{align-items:flex-start!important;padding-top:52px!important;padding-bottom:36px!important}
.uniform-banner>div{display:grid;grid-template-rows:18px calc(clamp(36px,3.5vw,64px)*1.12) auto;row-gap:20px;align-content:start}
.uniform-banner .breadcrumbs{margin:0!important;height:18px;line-height:18px}
.inner-page .uniform-banner h1{margin:0;max-width:none}
.inner-page .uniform-banner p{margin:0!important}
@media(max-width:1000px){.uniform-banner>div{grid-template-rows:36px calc(clamp(36px,3.5vw,64px)*2.24) auto;row-gap:16px}.uniform-banner .breadcrumbs{height:36px;align-items:start}.inner-page .uniform-banner{padding-top:30px!important}}
@media(max-width:700px){.uniform-banner>div{grid-template-rows:36px 80.64px auto;row-gap:16px}.inner-page .uniform-banner{padding-top:28px!important}.inner-page .uniform-banner h1{font-size:36px}}

/* Inner pages must not inherit homepage scroll snapping on the root scroller. */
html:has(body.inner-page){scroll-snap-type:none!important;scroll-behavior:auto!important;overflow-anchor:none}
body.inner-page,.inner-page main,.inner-page main>section{scroll-snap-type:none!important;scroll-snap-align:none!important;scroll-snap-stop:normal!important;overflow-anchor:none}

.product-gallery{min-width:0;align-self:start}.gallery-stage{position:relative;aspect-ratio:1;background:#e7f0eb;border-radius:16px;overflow:hidden;touch-action:pan-y}.gallery-slide{margin:0;width:100%;height:100%;display:grid;place-items:center}.gallery-slide[hidden]{display:none}.gallery-slide img{width:86%;height:86%;object-fit:contain}.gallery-slide.gallery-crop img{transform:scale(1.35)}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid #c7d8ce;border-radius:50%;background:#fff;color:#285640;display:grid;place-items:center}.gallery-prev{left:14px}.gallery-next{right:14px}.gallery-prev svg,.gallery-next svg{width:22px;height:22px}.gallery-next svg{transform:rotate(180deg)}.gallery-prev:hover,.gallery-next:hover{background:#dceee3}.gallery-count{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);padding:4px 12px;border-radius:16px;background:white;font-size:13px;font-variant-numeric:tabular-nums}.gallery-thumbnails{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}.gallery-thumb{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);border-radius:8px;padding:6px 12px 6px 6px;color:var(--muted);font-size:12px;min-height:60px}.gallery-thumb img{width:48px;height:48px;object-fit:contain}.gallery-thumb[aria-pressed=true]{border:2px solid #32695d;padding:5px 11px 5px 5px;color:#244f41;background:#edf5f0}.product-gallery:focus-visible{outline:2px solid #32695d;outline-offset:5px}@media(max-width:700px){.gallery-prev,.gallery-next{width:40px;height:40px}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-thumb{font-size:11px;padding-right:8px}.gallery-thumb img{width:40px;height:40px}}

/* One viewport for product imagery and introduction, below the sticky header. */
.inner-page .product-detail{--detail-screen:calc(100svh - var(--top,116px));min-height:var(--detail-screen);padding:clamp(24px,3svh,48px) var(--g);align-items:center;box-sizing:border-box}
.product-detail .product-gallery{width:100%;align-self:center}
.product-detail .gallery-stage{height:calc(var(--detail-screen) - 145px);min-height:280px;max-height:900px;aspect-ratio:auto;width:100%}
.product-detail .gallery-slide img{width:88%;height:88%;min-height:0}
.product-detail .detail-image{min-height:280px;height:calc(var(--detail-screen) - 80px);max-height:900px;aspect-ratio:auto}
.product-detail .detail-copy{min-width:0}.product-detail .detail-copy .product-name{font-size:clamp(30px,min(3vw,5.6svh),64px)}
@media(min-width:1001px) and (max-height:820px){.product-detail .detail-copy p{margin-top:12px;font-size:14px;line-height:1.55}.product-detail .detail-copy .detail-lead{font-size:20px}.product-detail .detail-facts{margin:20px 0}.product-detail .detail-facts>div{padding:12px 0;font-size:13px}.product-detail .actions{gap:12px}.product-detail .button{padding:13px 20px}}
@media(max-width:1000px){.inner-page .product-detail{grid-template-columns:1fr;gap:32px;height:auto;padding:40px var(--g)}.product-detail .gallery-stage{height:auto;min-height:0;aspect-ratio:1;max-height:none}.product-detail .detail-image{height:auto;aspect-ratio:1;min-height:300px}.product-detail .detail-copy .product-name{font-size:clamp(30px,4vw,48px)}}


/* Product pages retain the shared banner; only the product stage snaps on desktop. */
@media(min-width:1001px) and (pointer:fine){
html:has(body.product-page){scroll-snap-type:y proximity!important;scroll-padding-top:var(--top,116px)}
.product-page .uniform-banner,.product-page .product-detail{scroll-snap-align:start!important;scroll-snap-stop:always!important;scroll-margin-top:0}
}

/* Catalog: square product frames, three per row, six per page. */
.inner-page #products{--catalog-sidebar-width:clamp(260px,16vw,340px);--catalog-column-gap:3vw}
.inner-page #products .catalog-layout{grid-template-columns:var(--catalog-sidebar-width) minmax(0,1fr);gap:var(--catalog-column-gap)}
.inner-page #products .catalog-sidebar .filters button{white-space:nowrap}
.inner-page #products .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.inner-page #products .product-image{width:100%;height:auto;aspect-ratio:1;min-height:0;border-radius:12px}
.inner-page #products .product-image img{width:100%;height:100%;min-height:0;object-fit:contain;padding:20px}
.inner-page #products .product-title{margin:16px 0 8px}.inner-page #products .product-title h2{font-size:clamp(18px,1.3vw,28px);line-height:1.25}.inner-page #products .product>p{font-size:clamp(13px,.85vw,18px);line-height:1.55}.inner-page #products .product>.text-link{font-size:13px;margin-top:8px}
.catalog-pagination{display:flex!important;position:static!important;justify-content:center;align-items:center;gap:10px;padding:0!important;margin:44px 0 0 calc(var(--catalog-sidebar-width) + var(--catalog-column-gap));background:transparent!important;border:0!important;flex-direction:row!important;flex-wrap:wrap}
.catalog-pagination button{border:1px solid var(--line);background:white;color:var(--ink);min-width:42px;height:42px;padding:0 14px;border-radius:6px;font-size:14px}.catalog-pagination button[aria-current=page]{background:#32695d;border-color:#32695d;color:white}.catalog-pagination button:disabled{opacity:.45;cursor:default}.catalog-pagination .page-summary{width:100%;text-align:center;font-size:13px;color:var(--muted);margin-top:6px}
@media(max-width:1000px) and (min-width:701px){.inner-page #products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.inner-page #products .catalog-layout{display:block}.inner-page #products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.inner-page #products .product-image{height:auto;aspect-ratio:1}.inner-page #products .product-title h2{font-size:17px}.inner-page #products .product-title>a{display:none}.inner-page #products .product-image img{padding:10px}.inner-page #products .asset-placeholder{padding:12px}.inner-page #products .asset-placeholder>span:first-child{font-size:16px}.inner-page #products .asset-placeholder p{font-size:12px}.catalog-pagination{margin-left:0}}

/* Clear page-one state and product-title hover/focus feedback. */
.inner-page #products .product-title h2 a{display:inline;color:var(--ink);transition:color .18s ease;text-decoration:none}
.inner-page #products .product-title h2 a:hover,.inner-page #products .product-title h2 a:focus-visible{color:#218068;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.catalog-pagination{visibility:visible;min-height:82px}.catalog-pagination button{transition:background-color .18s,color .18s,border-color .18s}.catalog-pagination button:not(:disabled):hover{background:#e7f1ec;border-color:#32695d;color:#245649}.catalog-pagination button[aria-current=page],.catalog-pagination button[aria-current=page]:hover{background:#32695d;color:#fff;border-color:#32695d;font-weight:600}

/* Homepage linked headings: clear, consistent hover and keyboard feedback. */
.home-title-link{color:var(--ink);transition:color .18s ease;text-decoration:none}
.home-title-link:hover,.home-title-link:focus-visible{color:#218068;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media(prefers-reduced-motion:reduce){.home-title-link{transition:none}}

.gallery-3d{display:block}.product-model-frame{display:block;width:100%;height:100%;border:0}.thumbnail-3d{width:32px;height:32px;display:grid;place-items:center;font-size:12px;font-weight:600}.gallery-3d ~ .gallery-prev,.gallery-3d ~ .gallery-next{z-index:2}.gallery-stage:has(.gallery-3d:not([hidden])) .gallery-count{pointer-events:none}

.hero-visual[data-selected=case] .banner-image{width:94%;max-height:82%;object-fit:contain}

/* Homepage section typography enters softly; product float is separate from pointer tilt. */
.home-motion .chapter-enter .section-heading{animation:none}
.home-motion .text-arrives{animation:home-text-rise .85s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--arrival-delay,0ms)}
@keyframes home-text-rise{from{opacity:.35;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.home-motion .hero-visual .banner-image{animation:home-product-float 7s ease-in-out infinite}
.home-motion .hero-visual[data-selected=case] .banner-image{transform:rotate(-3deg);transition:transform .65s cubic-bezier(.16,1,.3,1)}
@keyframes home-product-float{0%,100%{translate:0 -5px}50%{translate:0 7px}}
.home-motion .hero-visual[data-selected=case]:hover .banner-image{filter:drop-shadow(0 28px 24px #244b3e26)}
.home-motion.is-page-idle .banner-image{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.home-motion .text-arrives,.home-motion .hero-visual .banner-image{animation:none;translate:none;transform:none;transition:none}}

/* Sequenced product storytelling: title first, explanation second, product last. */
.home-motion .chapter-enter .section-heading,.home-motion .text-arrives{animation:none}
.home-motion .motion-prepared{opacity:0;translate:0 var(--motion-distance,30px)}
.home-motion .brand-studio.motion-prepared{overflow:clip}
@media(prefers-reduced-motion:reduce){.home-motion .motion-prepared{opacity:1!important;translate:none!important}}

/* Optional news covers are managed with the article content. */
.news-row-cover{width:180px;max-height:130px;object-fit:cover;border-radius:10px;align-self:center}.news-detail-cover{margin:28px 0}.news-detail-cover img{width:100%;max-height:560px;object-fit:cover;border-radius:12px}@media(max-width:700px){.news-row-cover{width:100%;max-height:220px;grid-column:1/-1}.news-detail-cover img{max-height:320px}}

/* An optional cover adds its own track without changing text-only news rows. */
.news-row:has(>.news-row-cover){grid-template-columns:minmax(110px,16%) minmax(100px,13%) minmax(0,1fr) auto;column-gap:clamp(20px,2.5vw,48px);align-items:center}
.news-row:has(>.news-row-cover)>.news-row-cover{width:100%;height:auto;aspect-ratio:1.4;max-height:160px}
.news-row:has(>.news-row-cover)>div{min-width:0}
.news-row:has(>.news-row-cover)>.news-type,.news-row:has(>.news-row-cover)>.read-link{align-self:center}
.news-richtext{overflow-wrap:break-word}
.news-richtext p{margin:0 0 1.2em}
.news-richtext h2{margin:1.8em 0 .65em}
.news-richtext h3{font-size:clamp(23px,2.1vw,34px);line-height:1.3;margin:1.6em 0 .65em}
.news-richtext img{display:block;max-width:100%;height:auto;margin:28px 0;border-radius:10px}
.news-richtext ul,.news-richtext ol{padding-left:1.4em;margin:20px 0}
.news-richtext li+li{margin-top:8px}
@media(max-width:1000px) and (min-width:701px){
 .news-row:has(>.news-row-cover){grid-template-columns:150px minmax(0,1fr);gap:12px 24px;align-items:start}
 .news-row:has(>.news-row-cover)>.news-row-cover{grid-column:1;grid-row:1/4;align-self:center;max-height:150px}
 .news-row:has(>.news-row-cover)>.news-type,.news-row:has(>.news-row-cover)>div,.news-row:has(>.news-row-cover)>.read-link{grid-column:2}
}
@media(max-width:700px){
 .news-row:has(>.news-row-cover){grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
 .news-row:has(>.news-row-cover)>.news-row-cover{grid-column:1;grid-row:auto;aspect-ratio:1.7;max-height:240px}
 .news-richtext img{margin:22px 0}
}

/* Source: home-footer.css */
/* Shared full-screen footer: navigation above, a full-width SmileStar signature below. */
body>.homepage-footer{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:24px;min-height:calc(100svh - var(--nav-height,var(--top,112px)));margin:0;padding:clamp(24px,3svh,64px) var(--g) 0;background:var(--aqua);color:#183D34;scroll-snap-align:start;scroll-margin-top:0;border:0}
.footer-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.footer-directory{display:grid;grid-template-columns:1.1fr .7fr 1.05fr 1.05fr;gap:clamp(24px,4vw,140px);align-items:start;width:100%;min-width:0}
.footer-directory>*{min-width:0}
.homepage-footer a{color:inherit}
.footer-brand{display:inline-flex;align-items:center;gap:.15em;font-size:clamp(28px,2.3vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1}
.footer-brand svg{width:.65em;height:.65em;flex:none}
.homepage-footer .footer-tagline{margin-top:24px;font-size:clamp(17px,1.2vw,32px);line-height:1.4;letter-spacing:-.02em;color:#183D34}
.homepage-footer .footer-intro-copy{margin-top:18px;font-size:clamp(12px,.82vw,22px);line-height:1.6;color:#275749}
.footer-column h3{margin:0 0 12px;font-size:clamp(14px,.95vw,26px);font-weight:600;letter-spacing:0;line-height:1.4;color:#183D34}
.footer-nav-details>summary{display:block;list-style:none;cursor:default}
.footer-nav-details>summary::-webkit-details-marker{display:none}
.footer-nav-details>summary::marker{content:''}
.footer-nav-details{margin:0;padding:0;border:0}
.footer-nav-details>summary{padding:0;position:relative}
.footer-nav-details>summary::after{content:none}
.homepage-footer .footer-nav-details[open]>summary::after{content:none}
.footer-nav-details>summary svg{display:none}
.homepage-footer nav.footer-column{position:static;display:block;padding:0;background:none;border:0;color:inherit}
.footer-column ul{list-style:none;display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0;padding:0}
.footer-column li{margin:0;padding:0;max-width:100%}
.footer-column li a,.footer-contact address a{display:inline-block;padding:3px 0;font-size:clamp(13px,.86vw,24px);line-height:1.45;text-decoration:none;text-underline-offset:5px;text-decoration-thickness:1px}
.footer-column a:hover,.footer-column a:focus-visible,.footer-meta a:hover{text-decoration:underline}
.footer-contact address{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:clamp(13px,.86vw,24px);font-style:normal;line-height:1.45;overflow-wrap:anywhere}
.footer-contact address span{display:block}
.footer-sample-note{display:block;margin-top:7px;font-size:clamp(10px,.65vw,17px);line-height:1.4;color:#275749}
.footer-socials{display:flex;align-items:center;gap:10px;margin-top:16px}
.homepage-footer .footer-social{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #32695D80;border-radius:50%;background:transparent;color:#183D34;transition:background-color .18s,transform .18s}
.footer-social svg{display:block;width:22px;height:22px}
.homepage-footer .footer-social:hover{background:#E7F1EC;transform:translateY(-2px)}
.homepage-footer .footer-social-status{min-height:1.4em;margin-top:6px;font-size:clamp(10px,.65vw,16px);line-height:1.4;color:#183D34}
.footer-inquiry{display:inline-flex;align-items:center;gap:16px;margin-top:4px;padding:4px 0;font-size:clamp(13px,.86vw,24px);font-weight:600;line-height:1.4}
.footer-bottom{width:100%;min-width:0;margin-top:auto}
.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;border-top:1px solid #32695D55;padding:14px 0;font-size:clamp(11px,.75vw,20px);line-height:1.5}
.footer-meta small{font-size:inherit}
.footer-wordmark-wrap{width:calc(100% + 2 * var(--g));margin-inline:calc(-1 * var(--g));padding:2vw 2vw .8vw;overflow:clip}
.homepage-footer .footer-wordmark{display:block;margin:0;font-size:23vw;font-weight:600;letter-spacing:-.04em;line-height:.84;text-align:center;white-space:nowrap;text-decoration:none;font-optical-sizing:none}
.footer-wordmark>span:first-child{color:#F8FAF8}
.footer-wordmark>span:last-child{color:#32695D}
.homepage-footer :focus-visible{outline:2px solid #183D34;outline-offset:5px}
@media(min-width:1800px){.footer-socials{gap:16px;margin-top:24px}.homepage-footer .footer-social{width:56px;height:56px;padding:14px}.footer-social svg{width:26px;height:26px}}
@media(max-width:1050px){.footer-directory{grid-template-columns:1fr 1fr;gap:32px 8vw}.footer-column li a,.footer-contact address a{font-size:14px;min-height:32px}.footer-contact address{font-size:14px}.footer-column h3{font-size:15px}.footer-meta{font-size:11px}.homepage-footer .footer-tagline{font-size:18px;margin-top:18px}.homepage-footer .footer-intro-copy{font-size:13px;margin-top:12px}}
@media(max-width:700px){body>.homepage-footer{padding-top:32px;gap:32px}.footer-directory{gap:30px 24px}.footer-brand{font-size:28px}.footer-column li a{display:flex;align-items:center;min-height:44px;padding:7px 0;font-size:13px;line-height:1.4}.footer-contact address{font-size:12px}.footer-contact address a{font-size:12px;line-height:1.5;min-height:38px;padding:4px 0}.footer-column h3{margin-bottom:12px;font-size:14px}.homepage-footer .footer-tagline{font-size:16px;line-height:1.45}.homepage-footer .footer-intro-copy{font-size:12px}.footer-socials{gap:6px;margin-top:12px}.homepage-footer .footer-social{width:40px;height:40px;padding:9px}.footer-social svg{width:20px;height:20px}.footer-sample-note,.homepage-footer .footer-social-status{font-size:10px}.footer-inquiry{font-size:12px;min-height:40px;gap:8px}.footer-meta{display:grid;grid-template-columns:1fr auto;gap:12px 16px;padding:16px 0;font-size:11px}.footer-meta small{grid-column:1/-1}.footer-wordmark-wrap{padding-top:6vw;padding-bottom:3vw}}
@media(max-width:360px){.footer-directory{gap:28px 16px}.footer-brand{font-size:25px}.homepage-footer .footer-social{width:36px;height:36px;padding:8px}.footer-socials{gap:5px}}
@media(max-width:700px){.footer-directory{grid-template-columns:minmax(0,1fr);gap:16px}.homepage-footer .footer-intro-copy{display:none}.footer-intro{padding-bottom:8px}.footer-nav-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;border-bottom:1px solid #32695D55;cursor:pointer}.footer-nav-details>summary h3{margin:0}.footer-nav-details>summary svg{display:block;width:20px;height:20px;flex:none}.footer-nav-details[open]>summary svg{transform:rotate(180deg)}.footer-nav-details ul{padding:8px 0}.footer-contact{padding-top:8px}.footer-contact address{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:4px 16px}.footer-contact address a{min-height:32px}.footer-socials{gap:10px}.homepage-footer .footer-social{width:44px;height:44px;padding:11px}.footer-meta{padding-top:14px;padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.homepage-footer .footer-social{transition:none}.homepage-footer .footer-social:hover{transform:none}}
@media(max-width:700px){body>.homepage-footer{padding-top:24px;gap:28px}}
@media(min-width:1051px) and (max-height:780px){body>.homepage-footer{gap:12px}.footer-wordmark-wrap{padding-top:.9vw}}

/* A measured type reveal keeps the complete word's footprint in place. */
.footer-wordmark-wrap{position:relative}
.homepage-footer .footer-wordmark[data-typing-active=true]{clip-path:inset(0 var(--signature-type-right,0%) 0 0)}
.homepage-footer .footer-wordmark[data-typing-phase=reset]{opacity:0;transition:opacity .26s ease}
.signature-caret{position:absolute;left:var(--signature-caret-left,0px);top:var(--signature-caret-top,0px);width:clamp(2px,.12vw,5px);height:var(--signature-caret-height,1em);border-radius:1px;background:#32695D;pointer-events:none;animation:signature-caret-blink 1s steps(2,end) infinite}
.signature-caret[hidden]{display:none}
@keyframes signature-caret-blink{0%,45%,100%{opacity:.85}50%,90%{opacity:.2}}
.back-to-top{position:fixed;right:clamp(16px,1.5vw,40px);bottom:clamp(140px,25svh,480px);z-index:1100;display:grid;place-items:center;width:clamp(52px,1.7vw,64px);height:clamp(52px,1.7vw,64px);padding:14px;border:0;border-radius:50%;background:#F8FAF8;color:#24584A;box-shadow:0 6px 20px #183D3424;cursor:pointer;transition:background-color .2s,transform .2s}
.back-to-top[hidden]{display:none}
.back-to-top svg{display:block;width:24px;height:24px}
.back-to-top:hover{background:#DFF0E8;transform:translateY(-3px)}
.back-to-top:focus-visible{outline:2px solid #24584A;outline-offset:5px}
.back-to-top-label{position:absolute;right:calc(100% + 12px);top:50%;padding:7px 12px;border-radius:6px;background:#F8FAF8;color:#24584A;font-size:12px;font-weight:500;line-height:1.5;white-space:nowrap;opacity:0;transform:translate(4px,-50%);pointer-events:none;transition:opacity .18s,transform .18s}
.back-to-top:hover .back-to-top-label,.back-to-top:focus-visible .back-to-top-label{opacity:1;transform:translate(0,-50%)}
@media(max-width:700px){.back-to-top{right:16px;bottom:max(110px,23svh);width:48px;height:48px;padding:12px}.back-to-top-label{display:none}}
@media(prefers-reduced-motion:reduce),(update:slow){.homepage-footer .footer-wordmark[data-typing-active=true]{clip-path:none;opacity:1;transition:none}.signature-caret{display:none;animation:none}.back-to-top,.back-to-top-label{transition:none}.back-to-top:hover{transform:none}}

/* Match footer anchor alignment to the measured sticky stack on inner pages. */
html:has(body.inner-page){scroll-padding-top:var(--top,112px)}

/* Keep the directory, copyright and large signature in one desktop screen. */
@media(min-width:1051px){
 body>.homepage-footer{
  height:calc(100svh - var(--nav-height,var(--top,112px)));
  flex-wrap:nowrap
 }
 .homepage-footer .footer-directory,.homepage-footer .footer-meta{flex:none}
 .homepage-footer .footer-bottom{display:flex;flex-direction:column;flex:1;min-height:0}
 .homepage-footer .footer-wordmark-wrap{display:flex;flex-direction:column;justify-content:flex-end;flex:1;min-height:0}
 .homepage-footer .footer-wordmark{flex:none}
}

/* Keep breadcrumb separators with their labels on narrow viewports. */
.breadcrumbs{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:12px;min-width:0;max-width:100%;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.breadcrumbs>*{flex:0 0 auto;white-space:nowrap}
.breadcrumbs::-webkit-scrollbar{display:none}

/* Higher specificity than the compact navigation rules used by inner pages. */
.inner-page .uniform-banner nav.breadcrumbs{display:flex;flex-direction:row;flex-wrap:nowrap;height:auto;align-items:center}
.inner-page .uniform-banner nav.breadcrumbs span:last-child{white-space:nowrap;max-width:none}

/* Reserve the existing studio dimensions while a deferred iframe starts. */
.brand-studio:has(iframe[data-studio-src]){position:relative}
.brand-studio .studio-load-note{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:32px;background:var(--mint,#e7f1ec);color:var(--muted,#5e7067);font-size:14px;text-align:center;pointer-events:none}
