:root{--navy:#172d40;--ink:#223746;--cream:#f7f5ef;--gold:#b3945e;--line:#d8d9d4;--muted:#5b676d;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.95 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #0079ba;outline-offset:5px}a:hover{color:#087db0}.skip{position:fixed;top:-80px;left:10px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.header{height:100px;background:white;display:flex;align-items:center;gap:28px;padding:0 4%;position:sticky;top:0;z-index:20;border-bottom:1px solid #e5e6e2}.brand{width:225px;flex-shrink:0}.nav{display:flex;gap:26px;margin-left:auto;align-items:center;font-size:13px;font-weight:600;letter-spacing:.04em}.nav a{padding:12px 0}.header-contact{border-left:1px solid var(--line);padding-left:26px;line-height:1.5;white-space:nowrap}.header-contact>span{display:block;font-size:11px;letter-spacing:.06em}.header-contact strong{font-family:Georgia,serif;font-weight:400;font-size:23px}.header-contact strong span{font-size:20px;padding-left:12px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.eyebrow{font:11px/1.6 var(--sans);font-weight:600;letter-spacing:.18em;margin:0 0 25px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500}h2{font-size:40px;line-height:1.7;letter-spacing:.09em;margin-bottom:30px}.hero{min-height:650px;display:grid;grid-template-columns:47% 53%;background:var(--navy);color:#fff;position:relative}.hero-copy{padding:76px 9% 60px 12%}.hero .eyebrow{color:#c2cdd2;font-size:10px;letter-spacing:.2em}.hero h1{font-size:clamp(42px,4.7vw,72px);line-height:1.6;letter-spacing:.1em;margin:28px 0 25px;white-space:nowrap}.gold-line{width:50px;height:1px;background:var(--gold);margin:0 0 26px}.hero-message{font-family:var(--serif);font-size:20px;letter-spacing:.1em;margin-bottom:14px}.hero-desc{font-size:13px;line-height:2.1;color:#ced7dc;margin-bottom:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-height:54px;padding:13px 25px;font-size:13px;letter-spacing:.06em;transition:background .2s,color .2s}.button.light{border:1px solid #81909b;color:white}.button.light:hover{background:white;color:var(--navy)}.button span{font-size:22px;line-height:1}.hero-place{margin:38px 0 0;font-size:9px;letter-spacing:.2em;color:#aebdc5}.hero-photo{position:relative;min-width:0}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:48% center}.photo-label{position:absolute;right:28px;bottom:32px;font-size:9px;letter-spacing:.18em;color:#fff;text-shadow:0 1px 6px #000}.scroll{position:absolute;bottom:27px;left:42%;font-size:9px;letter-spacing:.15em;writing-mode:vertical-rl;display:flex;align-items:center;gap:12px}.scroll span{font-size:22px;writing-mode:horizontal-tb}.notice{display:flex;align-items:center;gap:35px;max-width:1140px;margin:0 auto;padding:28px 25px;border-bottom:1px solid var(--line);font-size:13px}.notice>span{font-size:10px;letter-spacing:.15em}.notice p{margin:0}.notice>a{margin-left:auto;white-space:nowrap;font-family:Georgia,serif;font-size:19px}.notice>a span{margin-left:20px}.section{max-width:1180px;margin:0 auto;padding:112px 40px}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-copy{padding-top:32px}.about-copy .lead{font-family:var(--serif);font-size:22px;line-height:1.9;letter-spacing:.03em;margin-bottom:28px}.about-copy>p:not(.lead){font-size:14px;color:var(--muted);margin-bottom:22px}.text-link{display:inline-flex;gap:64px;align-items:center;font-size:13px;border-bottom:1px solid var(--gold);padding:10px 0}.text-link span{font-size:23px}.products{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:45px;gap:30px}.section-heading h2{margin:0}.section-heading>p{font-size:13px;color:var(--muted);line-height:2;margin-bottom:10px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.image-wrap{position:relative;overflow:hidden;background:#dad6cd;aspect-ratio:1.48}.image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.work-feature:hover .image-wrap img{transform:scale(1.025)}.image-wrap>span{position:absolute;bottom:0;left:0;background:var(--cream);padding:5px 22px 0 0;font-family:Georgia,serif;font-size:28px}.work-description{padding:28px 0}.work-description .eyebrow{margin-bottom:10px;font-size:10px}.work-description h3{font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:.04em;margin-bottom:13px}.work-description>p:last-child{font-size:14px;line-height:2;color:var(--muted);max-width:94%;margin:0}.other-work{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:10px}.other-work article{padding:30px 32px 25px 0}.other-work article+article{border-left:1px solid var(--line);padding-left:36px}.other-work span{font-size:10px;letter-spacing:.13em;color:var(--muted)}.other-work h3{font:22px/1.6 var(--serif);margin:12px 0}.other-work p{font-size:13px;color:var(--muted);margin:0}.details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:26px}.details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:20px 0;font-size:14px;align-items:center}.details summary::-webkit-details-marker{display:none}.details summary span{font-size:22px}.details[open] summary span{transform:rotate(45deg)}.details-body{font-size:14px;padding:5px 16px 25px;color:var(--muted)}.details-body h3{font-size:16px;color:var(--ink)}.details-body ul{padding-left:23px}.small-note{font-size:11px;color:var(--muted);margin-top:18px}.craft-band{display:grid;grid-template-columns:1fr 1fr;background:#e8e8e0}.craft-band>img{width:100%;height:100%;max-height:530px;object-fit:cover}.craft-band>div{padding:70px 14%}.craft-band .eyebrow{font-size:10px}.craft-band h2{font-size:37px}.craft-band p:last-child{font-size:13px;color:var(--muted);line-height:2.2}.profile{display:grid;grid-template-columns:1fr 1fr;gap:90px}.signature{margin-top:45px;border-top:1px solid var(--gold);padding-top:24px;max-width:285px}.signature>span{font-size:12px}.signature h3{font:31px/1.7 var(--serif);letter-spacing:.18em;margin:6px 0}.signature p{font:12px/1.5 Georgia,serif;letter-spacing:.15em;color:var(--muted)}.profile-intro>p:last-child{font-size:13px;color:var(--muted);max-width:345px;margin-top:24px}.timeline{padding-top:12px}.timeline>div{display:grid;grid-template-columns:72px 1fr;gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}.timeline time{font:23px/1.7 Georgia,serif}.timeline p{font-size:13px;line-height:1.9;margin:0}.timeline p span{font-size:12px;color:var(--muted)}.office{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:90px}.office-tag{font-size:14px;color:var(--muted);margin-bottom:40px}.outline{border:1px solid #9ca7a9}.outline:hover{background:var(--navy);color:white}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line);padding:17px 0;font-size:14px;gap:15px}.company-table dt{color:var(--muted);font-size:12px}.company-table dd{margin:0}.company-table a{text-decoration:underline;text-underline-offset:4px}.contact{background:var(--navy);text-align:center;color:white;padding:82px 24px 70px}.contact .eyebrow{color:#b9c8d0}.contact h2{font-size:34px;margin-bottom:20px}.contact>p:not(.eyebrow){font-size:13px;color:#c7d2d8}.contact-phone{display:inline-flex;align-items:center;justify-content:center;gap:25px;font:clamp(32px,4.4vw,60px)/1.4 Georgia,serif;letter-spacing:.03em;margin:12px 0 20px;border-bottom:1px solid #74848d;padding:0 14px 15px;white-space:nowrap}.contact-phone:hover{color:#e3c58d}.phone-caption{font:10px/1.5 var(--sans);letter-spacing:.1em}.phone-arrow{font-size:35px}.contact .hours{font-size:12px!important}.contact .contact-note{font-size:11px!important;margin-top:20px;color:#b2c2cc!important}footer{background:#fff;padding:50px max(5%,calc((100vw - 1100px)/2)) 25px}.footer-top{display:flex;align-items:center;gap:50px}.footer-top img{width:235px}.footer-top p{font-size:11px;line-height:1.9;color:var(--muted);margin:15px 0 30px}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 40px;font-size:12px;margin-left:auto}.back-top{align-self:flex-start;border:1px solid var(--line);width:42px;height:42px;display:grid;place-items:center;font-size:20px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;color:var(--muted)}.footer-bottom small{font-size:10px}.mobile-phone{display:none}
@media(min-width:1500px){.hero{min-height:720px}.hero-copy{padding-top:90px}}
@media(max-width:1150px){.header{gap:18px;padding:0 3%;height:88px}.brand{width:190px}.nav{gap:18px;font-size:11px}.header-contact{padding-left:18px}.header-contact strong{font-size:20px}.hero-copy{padding-left:10%;padding-top:70px}.hero{min-height:620px}.about,.profile,.office{gap:50px}.section{padding:85px 40px}}
@media(max-width:900px){.nav{display:none}.header-contact{margin-left:auto;border:0}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;border:0;background:transparent;padding:10px;cursor:pointer}.menu-toggle span{width:24px;height:1px;background:var(--navy);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:white;padding:20px 6% 30px;box-shadow:0 10px 12px #0001}.mobile-nav a{display:block;padding:12px;border-bottom:1px solid var(--line);font-size:14px}.hero h1{font-size:46px}.hero-copy{padding:58px 8% 55px 10%}.hero-desc{font-size:12px}.hero{min-height:585px}.hero .eyebrow{font-size:8px}.hero-message{font-size:17px}.hero .button{gap:20px}.notice{gap:20px;font-size:11px}.notice>a{font-size:17px}.about,.profile,.office{gap:36px}h2{font-size:33px}.about-copy .lead{font-size:19px}.craft-band>div{padding:50px 12%}.craft-band h2{font-size:29px}.footer-links{gap:10px 20px}}
@media(max-width:640px){html{scroll-padding-top:88px}body{font-size:16px;padding-bottom:64px}.header{height:78px;padding:0 20px;gap:10px}.brand{width:183px}.header-contact{display:none}.menu-toggle{margin-left:auto}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:46px 28px 40px;position:relative;z-index:1}.hero .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:22px}.hero h1{font-size:48px;line-height:1.65;margin:0 0 22px}.hero-message{font-size:19px;letter-spacing:.04em}.hero-desc{font-size:13px}.gold-line{margin-bottom:20px}.hero-place{display:none}.hero-photo{height:280px}.hero-photo>img{object-position:center 58%}.photo-label{font-size:8px;bottom:20px;right:20px}.scroll{display:none}.hero .button{font-size:13px;gap:50px}.notice{padding:23px 25px;display:grid;grid-template-columns:1fr;gap:8px;margin:0 22px}.notice>span{font-size:9px}.notice p{font-size:12px;line-height:1.9}.notice>a{display:none}.section{padding:65px 25px}.eyebrow{font-size:10px;margin-bottom:20px}h2{font-size:31px;line-height:1.7;letter-spacing:.06em}.about,.profile,.office{grid-template-columns:1fr;gap:10px}.about-copy{padding:0}.about-copy .lead{font-size:21px}.about-copy>p:not(.lead){font-size:14px;line-height:2.1}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:13px;margin:22px 0}.work-grid{grid-template-columns:1fr;gap:22px}.work-description{padding:22px 0 15px}.work-description h3{font-size:24px}.work-description>p:last-child{max-width:none}.other-work{grid-template-columns:1fr;margin-top:22px}.other-work article{padding:25px 0}.other-work article+article{border-left:0;border-top:1px solid var(--line);padding:25px 0}.other-work h3{font-size:22px}.details summary{font-size:13px}.details-body{padding-left:0;padding-right:0;font-size:13px}.small-note{font-size:11px}.craft-band{display:flex;flex-direction:column-reverse}.craft-band>div{padding:58px 26px 32px}.craft-band h2{font-size:33px}.craft-band>img{height:260px;object-position:50% 60%}.signature{margin-top:25px}.profile-intro>p:last-child{max-width:none;font-size:14px}.timeline{padding-top:5px}.timeline>div{grid-template-columns:60px 1fr;gap:16px;padding:22px 0}.timeline p{font-size:13px}.office-tag{margin-bottom:25px}.office .button{margin-bottom:30px}.company-table>div{grid-template-columns:83px 1fr;gap:12px}.contact{padding:60px 22px 45px}.contact h2{font-size:26px;line-height:1.8;letter-spacing:.03em}.contact>p:not(.eyebrow){font-size:13px;line-height:2}.contact-phone{font-size:32px;gap:12px;padding:0 0 16px;width:100%;letter-spacing:0}.phone-caption{font-size:8px}.phone-arrow{font-size:24px}.hours{max-width:270px;margin:0 auto}.contact-note{max-width:300px;margin-left:auto;margin-right:auto}.footer-top{display:grid;grid-template-columns:1fr auto;gap:15px}.footer-top>div:first-child{grid-column:1}.footer-top img{width:210px}.footer-links{grid-column:1;margin-left:0;gap:14px 30px}.back-top{grid-column:2;grid-row:1}.footer-bottom{margin-top:30px;display:block}.footer-bottom>span{display:block;margin-top:12px;font-size:8px}footer{padding:40px 25px 25px}.mobile-phone{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:#fff;color:var(--navy);border-top:2px solid var(--gold);min-height:64px;padding:12px 20px;align-items:center;justify-content:center;gap:12px;font-size:11px;box-shadow:0 -3px 12px #0001;padding-bottom:max(12px,env(safe-area-inset-bottom))}.mobile-phone strong{font-family:Georgia,serif;font-size:21px;font-weight:400;white-space:nowrap}.mobile-phone>span{font-size:22px}.mobile-phone:hover{background:var(--cream)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Implant case photography */
.implant-case{margin:30px 0 45px;padding-top:35px;border-top:1px solid var(--line)}.case-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.case-heading .eyebrow{font-size:10px;margin-bottom:12px}.case-heading h3{font:25px/1.7 var(--serif);margin:0}.case-heading>p{font-size:12px;color:var(--muted);margin:0 0 5px}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}.case-gallery figure{margin:0;min-width:0}.case-gallery a{display:block;background:#111915}.case-gallery img{width:100%;height:340px;object-fit:contain}.case-gallery figcaption{display:flex;justify-content:space-between;gap:10px;padding-top:12px;font-size:13px}.case-gallery figcaption span{font-size:10px;color:var(--muted)}@media(max-width:640px){.case-heading{display:block}.case-heading h3{font-size:22px}.case-heading>p{margin-top:12px}.case-gallery{grid-template-columns:1fr;gap:25px}.case-gallery img{height:auto;max-height:380px;object-fit:contain}.implant-case{margin-top:25px;padding-top:28px}}
