/* Reference-matched composition. All UI and typography remain live HTML. */
.sl-body{--navy:#003965;--ink:#083e68;--paper:#fdfbf6;--sage:#e3ecdd;--serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;margin:0;color:var(--ink);background:var(--paper);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
.sl-page,.sl-page *,.sl-page *::before,.sl-page *::after{box-sizing:border-box}
.sl-page{max-width:1440px;margin:auto;overflow:clip;isolation:isolate;background:var(--paper)}
.sl-page h1,.sl-page h2,.sl-page h3,.sl-page p,.sl-page ul,.sl-page figure{margin:0;padding:0}
.sl-page h1,.sl-page h2,.sl-page h3{font-family:var(--serif);font-weight:600;line-height:1.5;color:var(--navy)}
.sl-page a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
.sl-page button{font:inherit;cursor:pointer;color:inherit}
.sl-page img{display:block;max-width:100%;height:auto}
.sl-page ul{list-style:none}
.sl-page [hidden]{display:none!important}
.sl-page a:focus-visible,.sl-page button:focus-visible,.sl-page summary:focus-visible{outline:3px solid #c7953f;outline-offset:4px}
.sl-page [id]{scroll-margin-top:100px}
.sl-page .wrap{width:94%;margin-inline:auto}
.sl-page .icon{width:24px;height:24px;display:inline-block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.sl-page .chevron{width:13px!important;height:18px!important;margin-left:auto}
.sl-page .button{display:flex;align-items:center;justify-content:center;gap:min(.9vw,13px);min-height:44px;background:linear-gradient(115deg,#074875,#00345d);border:1px solid #1c5b82;border-radius:6px;box-shadow:0 2px 4px #173c5510,inset 0 0 0 1px #ffffff0b;color:#fff;font-size:min(1.35vw,19px);font-weight:700;letter-spacing:.025em;line-height:1.4;padding:min(1.3vw,19px) min(1.35vw,20px);transition:transform .25s,box-shadow .25s}
.sl-page .button:hover{transform:translateY(-2px);box-shadow:0 7px 15px #1d405725}
.sl-page .button>.icon{width:min(2vw,29px);height:min(2.2vw,32px)}
.sl-page .leaf{position:absolute;pointer-events:none;mix-blend-mode:multiply;z-index:2;width:12%;mask-image:radial-gradient(ellipse,#000 57%,transparent 74%)}
.sl-page .skip-link{position:fixed;left:12px;top:-100px;background:var(--navy);color:white;padding:10px 20px;z-index:999}
.sl-page .skip-link:focus{top:10px}
.sl-header{height:min(6.3vw,90px);min-height:58px;position:sticky;top:0;z-index:100;background:#fffefaed;backdrop-filter:blur(10px);transition:box-shadow .2s}
.sl-header.is-scrolled{box-shadow:0 3px 15px #193f5217}
.sl-page .header-inner{width:94.5%;height:100%;margin:auto;display:flex;align-items:center;gap:min(1.1vw,16px)}
.sl-page .brand{display:block;flex-shrink:0;width:25.2%}
.sl-page .brand img{width:100%;height:auto}
.sl-page .desktop-nav{display:flex;align-items:center;justify-content:center;gap:min(1.05vw,15px);margin-inline:auto;white-space:nowrap}
.sl-page .desktop-nav a{font-size:min(.94vw,13.5px);font-weight:700;padding-block:12px}
.sl-page .desktop-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.sl-page .header-phone{display:flex;align-items:center;gap:min(.6vw,9px);white-space:nowrap;font-size:min(1.93vw,28px);font-weight:700;letter-spacing:-.035em}
.sl-page .header-phone .icon{width:min(1.6vw,23px);height:min(1.9vw,27px)}
.sl-page .header-booking{white-space:nowrap;min-height:0;height:min(4.5vw,65px);font-size:min(1.2vw,17px);padding-inline:min(1.15vw,16px);gap:min(.65vw,9px)}
.sl-page .menu-toggle{display:none;width:44px;border:0;background:none;padding:5px}
.sl-page .menu-toggle>span{display:block;width:25px;height:1px;background:var(--navy);margin:6px auto}
.sl-page .menu-toggle small{font-size:9px;line-height:1.2;white-space:nowrap}
.sl-page .mobile-menu{position:absolute;top:100%;width:100%;background:var(--paper);padding:15px 24px 25px;box-shadow:0 15px 20px #133a4e20;max-height:calc(100dvh - 140px);overflow:auto}
.sl-page .mobile-menu>a{display:block;border-bottom:1px solid #dbe3d6;padding:12px 0;font-size:14px}
.sl-page .mobile-menu p{text-align:center;font-size:12px;margin-top:17px}
.sl-page .mobile-menu p a{font-size:23px}
.sl-page .hero{height:min(47.4vw,683px);position:relative}
.sl-page .hero-inner{height:100%;position:relative}
.sl-page .hero-copy{position:relative;padding-top:min(4.4vw,63px);margin-left:5.35%;width:39%;z-index:4}
.sl-page .hero h1{font-size:min(4.85vw,70px);line-height:1.34;letter-spacing:.012em;white-space:nowrap;font-weight:600}
.sl-page .hero-lead{font:600 min(1.88vw,27px)/1.6 var(--serif);margin-top:min(1.2vw,17px)}
.sl-page .station-link{display:inline-flex;align-items:center;gap:8px;font-size:min(1.6vw,23px);font-weight:700;line-height:1.35;padding:min(.55vw,8px) min(1.05vw,15px);margin-top:min(.8vw,12px);border:1px solid #bad6e9;border-radius:30px;background:#f1f8fe;box-shadow:0 2px 2px #34557408}
.sl-page .station-link .icon{width:min(1.8vw,26px);height:min(2vw,29px)}
.sl-page .station-link .pin{fill:var(--navy);stroke:var(--paper);stroke-width:1.2}
.sl-page .hero-facts{display:flex;justify-content:space-between;gap:10px;margin-top:min(3vw,43px);margin-left:-3%;width:97%}
.sl-page .hero-facts li{display:flex;flex:1;flex-direction:column;align-items:center;text-align:center;min-width:0}
.sl-page .fact-art{width:min(9.8vw,141px);height:min(9.5vw,137px);background:#e6eddf;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:min(.7vw,10px);position:relative}
.sl-page .fact-art>.icon{width:min(4.3vw,62px);height:min(4.3vw,62px);margin-bottom:min(.55vw,8px);stroke-width:1.35}
.sl-page .fact-art strong{font-size:min(1.58vw,23px);font-weight:700;white-space:nowrap;line-height:1.35}
.sl-page .hero-facts small{font-size:min(1.19vw,17px);line-height:1.5;margin-top:min(.35vw,5px);font-weight:500}
.sl-page .hero-scene{position:absolute;inset:0;perspective:1200px;pointer-events:none}
.sl-page .clinic-art{position:absolute;width:65%;max-width:none;left:34%;top:-14%;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 96%,transparent),linear-gradient(0deg,transparent,#000 12%,#000 95%,transparent);mask-composite:intersect;transform:translate3d(0,var(--parallax-y,0px),0)}
.sl-page .scene-note{position:absolute;top:10.5%;right:4.9%;z-index:3;font:600 min(1.3vw,18px)/2 var(--serif);letter-spacing:.14em;transform:rotate(-11deg);text-shadow:0 1px 4px var(--paper)}
.sl-page .hero-leaf-left{left:-5.6%;top:-7%;width:14%;transform:rotate(195deg)}
.sl-page .hero-leaf-low{left:-8%;top:34%;width:13%;transform:rotate(15deg)}
.sl-page .hero-leaf-right{right:-5%;top:0%;width:14%;transform:rotate(280deg)}
.sl-page .photo-album{position:absolute;left:44%;right:3%;bottom:1.7%;height:42%;display:flex;align-items:flex-end;perspective:1100px;pointer-events:auto}
.sl-page .photo-card{display:block;background:white;border:5px solid #fffdf8;border-radius:9px;box-shadow:0 5px 13px #6a51332b;overflow:hidden;transform:rotate(var(--rest-angle,-2deg)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s,box-shadow .3s;min-width:0}
.sl-page .photo-card:hover{box-shadow:0 10px 24px #6a513340;z-index:5}
.sl-page .photo-card img{width:100%;height:100%;object-fit:cover;transform:scale(1.09)}
.sl-page .photo-reception{flex:1.23;height:100%;z-index:4;margin-right:-.8%}
.sl-page .photo-reception img{object-position:43% center}
.sl-page .photo-dialogue{flex:1;height:88%;--rest-angle:3deg;margin-bottom:-.3%}
.sl-page .photo-dialogue img{object-position:47% center}
.sl-page .quick-info{background:linear-gradient(100deg,#e3eddf,#e9f0e2);position:relative;z-index:5}
.sl-page .quick-info-inner{min-height:min(8.45vw,122px);display:grid;grid-template-columns:.53fr 1.28fr .72fr .65fr 1.12fr auto;align-items:center;gap:min(1.6vw,23px)}
.sl-page .quick-title{display:flex;align-items:center;gap:min(.8vw,12px);white-space:nowrap;font-size:min(1.07vw,15.5px)}
.sl-page .quick-title .icon{width:min(2.4vw,35px);height:min(2.4vw,35px);stroke-width:1.4}
.sl-page .quick-regular,.sl-page .quick-thursday,.sl-page .quick-closed,.sl-page .quick-phone{border-left:1px solid #a7bcb0;padding-left:min(1.75vw,25px)}
.sl-page .quick-regular>span,.sl-page .quick-thursday>span{display:block;font-size:min(1.2vw,17px)}
.sl-page .quick-regular>strong,.sl-page .quick-thursday>strong{display:block;font-size:min(1.37vw,19.7px);font-weight:500;white-space:nowrap;letter-spacing:-.025em}
.sl-page .quick-closed{white-space:nowrap;font-size:min(1.2vw,17px);line-height:3.6}
.sl-page .quick-phone>span,.sl-page .closing-phone>span{display:flex;align-items:center;gap:min(.7vw,10px);font-size:min(2.03vw,29px);font-weight:700;white-space:nowrap;line-height:1.3}
.sl-page .quick-phone .icon,.sl-page .closing-phone .icon{width:min(1.8vw,26px);height:min(2vw,29px)}
.sl-page .quick-phone small,.sl-page .closing-phone small{display:block;font-size:min(.7vw,10px);white-space:nowrap;margin-top:4px;letter-spacing:-.03em}
.sl-page .quick-info .button{font-size:min(1.21vw,17.4px);padding:min(1.3vw,19px) min(1.3vw,18.5px);white-space:nowrap;gap:min(.75vw,11px)}
.sl-page .care-section{padding-top:min(1.8vw,26px);padding-bottom:min(.2vw,3px)}
.sl-page .care-title{text-align:center;font-size:min(2.65vw,38px);line-height:1.5;letter-spacing:.06em;margin-bottom:min(.85vw,12px)}
.sl-page .care-title>span{position:relative}
.sl-page .care-title>span::before,.sl-page .care-title>span::after{content:"";position:absolute;width:min(2vw,29px);height:min(1.3vw,19px);top:20%;border-top:1px solid #c69a4c;border-bottom:1px solid #c69a4c;transform:rotate(42deg);left:min(-3.8vw,-30px)}
.sl-page .care-title>span::after{left:auto;right:min(-3.8vw,-30px);transform:rotate(-42deg)}
.sl-page .concern-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:min(1.3vw,19px)}
.sl-page .concern{height:min(10.85vw,156px);display:flex;align-items:center;position:relative;padding-right:min(.85vw,12px);border-radius:13px;background:#fff;box-shadow:0 3px 20px #72584109;border:1px solid #f1eee7;overflow:hidden;transition:transform .25s,box-shadow .25s}
.sl-page .concern:hover{transform:translateY(-4px);box-shadow:0 8px 21px #72584118}
.sl-page .concern-portrait{flex-shrink:0;width:47%;height:100%;background-image:url("./images/concern-portraits-match.webp");background-size:400% auto;background-repeat:no-repeat;transform:translateY(2%);mask-image:linear-gradient(#000 92%,transparent)}
.sl-page .portrait-pain{background-position:0 50%}.sl-page .portrait-gums{background-position:33.3333% 50%}.sl-page .portrait-child{background-position:66.6667% 50%}.sl-page .portrait-smile{background-position:100% 50%}
.sl-page .concern strong{font:700 min(1.65vw,23.8px)/1.5 var(--serif);margin-left:min(.3vw,4px);white-space:nowrap}
.sl-page .concern .chevron{width:min(.95vw,14px)!important}
.sl-page .treatment-title{display:flex;align-items:center;justify-content:center;gap:min(1.4vw,20px);font-size:min(2.25vw,32px);margin-top:min(1.75vw,25px);margin-bottom:min(.95vw,14px);letter-spacing:.07em;line-height:1.5}
.sl-page .treatment-title::before,.sl-page .treatment-title::after{content:"";height:1px;width:min(4.5vw,65px);background:#688aa0}
.sl-page .treatment-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:min(1.1vw,16px)}
.sl-page .treatment-grid>a{height:min(6.05vw,87px);display:flex;align-items:center;gap:min(.9vw,13px);padding:min(.8vw,12px) min(1.2vw,17px);border-radius:8px;background:white;box-shadow:0 3px 15px #72584109;border:1px solid #f5f1e9;font-size:min(1.29vw,18.6px);font-weight:700;white-space:nowrap;transition:transform .25s}
.sl-page .treatment-grid>a:hover{transform:translateY(-3px)}
.sl-page .treatment-grid>a>.icon:first-child{width:min(3.65vw,53px);height:min(3.95vw,57px);stroke-width:1.4}
.sl-page .treatment-grid .chevron{width:min(.7vw,10px)!important}
.sl-page .life-section{position:relative;height:min(22.7vw,327px)}
.sl-page .life-intro{position:absolute;left:5.35%;top:16%;z-index:4}
.sl-page .life-intro h2{font-size:min(2.93vw,42px);line-height:1.5;letter-spacing:.02em}
.sl-page .life-intro p{font-size:min(1.32vw,19px);line-height:1.65;margin-top:min(.8vw,12px)}
.sl-page .life-landscape{position:absolute;left:24.9%;top:-2%;width:60.2%;height:102%;z-index:1}
.sl-page .life-landscape>img{width:100%;height:100%;object-fit:fill;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(0deg,transparent,#000 8%,#000 95%,transparent);mask-composite:intersect}
.sl-page .life-path{position:absolute;width:100%;height:42%;bottom:0;left:0;fill:none;stroke:#bd9b4b;stroke-width:1.3;opacity:.52;pointer-events:none}
.sl-page .path-draw{stroke-dasharray:1;stroke-dashoffset:var(--path-offset,0);transition:stroke-dashoffset .14s linear}
.sl-page .life-stages{position:absolute;inset:0;z-index:3}
.sl-page .life-stage{position:absolute;top:65%;left:35.4%;border-radius:7px;padding:3px 5px;background:#fdfbf6a3;transition:background .3s}
.sl-page .life-stage:nth-child(2){left:52%;top:56%}
.sl-page .life-stage:nth-child(3){left:71.3%;top:65%}
.sl-page .life-stage h3{font-family:var(--sans);font-size:min(1.5vw,21.6px);font-weight:700;line-height:1.5}
.sl-page .life-stage p{font-size:min(1.15vw,16.5px);line-height:1.45}
.sl-page[data-motion="on"] .life-stage.is-active{background:#faf9eedd}
.sl-page .life-postcard{position:absolute;width:16%;right:-1%;height:65%;top:32%;padding:14% 0 0;transform:rotate(-7deg);background:#fffcf4;box-shadow:0 0 12px #a4824320;border:1px solid #ebdfc8;z-index:2}
.sl-page .life-postcard::before{content:"";position:absolute;inset:7px;border:1px solid #eee5d7;pointer-events:none}
.sl-page .life-postcard p{position:absolute;top:20%;left:13%;font:600 min(1vw,14.4px)/2.1 var(--serif);letter-spacing:.06em}
.sl-page .life-postcard>.leaf{width:78%;bottom:-25%;right:-15%;transform:rotate(70deg)}
.sl-page .life-leaf-left{left:-7%;top:-12%;width:14%;transform:rotate(200deg)}
.sl-page .life-leaf-right{right:-5%;top:-23%;width:15%;transform:rotate(260deg);z-index:4}
.sl-page .info-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:min(1.35vw,20px);padding-bottom:min(1.3vw,19px)}
.sl-page .info-card{height:min(32.35vw,466px);min-height:280px;position:relative;background:#fff;border:1px solid #eceee9;border-radius:9px;box-shadow:0 3px 15px #61503709;overflow:hidden;padding:min(1.35vw,19px)}
.sl-page .card-label{font-family:var(--serif);font-size:min(1.4vw,20px);font-weight:700;line-height:1.3;border-left:3px solid #145381;padding-left:min(.7vw,10px);position:relative;z-index:5;display:table;border-bottom:1px solid #aac0cd}
.sl-page .card-button{position:absolute;bottom:min(1.5vw,22px);left:min(1.35vw,19px);right:min(1.35vw,19px);height:min(3.6vw,52px);min-height:0;font-size:min(1.28vw,18.4px);padding:8px 17px;z-index:8}
.sl-page .doctor-photo{position:absolute;object-fit:cover;object-position:center 31%;border-radius:7px}
.sl-page .doctor-message{position:relative;z-index:3;margin-top:min(2.2vw,32px)}
.sl-page .doctor-message h3{font-size:min(1.58vw,22.8px);line-height:1.65;letter-spacing:.01em}
.sl-page .doctor-message p{font-size:min(1.13vw,16.3px);line-height:1.7;margin-top:min(.55vw,8px);color:#274760}
.sl-page .doctor-name{position:absolute;left:min(1.35vw,19px);bottom:min(6.15vw,89px);z-index:6}
.sl-page .doctor-name p{font:600 min(1.95vw,28px)/1.5 var(--serif)}
.sl-page .doctor-name small{font:500 min(1.35vw,19.4px) var(--sans)}
.sl-page .doctor-name span{font-size:min(1.04vw,15px);white-space:nowrap}
.sl-page .doctor-leaf{left:3%;bottom:23%;width:25%;transform:rotate(-25deg);opacity:.8}
.sl-page .first-card>h3{font-size:min(2.15vw,31px);line-height:1.48;letter-spacing:-.025em;margin-top:min(2.1vw,30px);white-space:nowrap}
.sl-page .first-message{font-size:min(1.13vw,16.3px);line-height:1.7;margin-top:min(.9vw,13px);letter-spacing:-.015em;color:#274760}
.sl-page .first-cost{display:flex;align-items:center;gap:min(1.1vw,16px);padding:min(.85vw,12px) min(1.1vw,16px);background:#fffaf2;border:1px solid #f0dfc4;box-shadow:0 1px 5px #ad804006;border-radius:5px;margin-top:min(1vw,14px);color:#b7481e}
.sl-page .first-cost>.icon{width:min(3.5vw,50px);height:min(4vw,58px);color:#c79342;stroke-width:1.3}
.sl-page .first-cost p{font-size:min(1.32vw,19px);font-weight:600;white-space:nowrap}
.sl-page .first-cost strong{font-size:min(2.25vw,32px);font-weight:600;letter-spacing:-.04em}
.sl-page .first-cost strong small{font-size:min(1.03vw,14.8px);letter-spacing:0}
.sl-page .first-cost b{display:block;font-size:min(1.12vw,16.1px);font-weight:600}
.sl-page .cost-note{font-size:min(.85vw,12.2px);line-height:1.5;margin-top:7px;color:#6b624f}
.sl-page .exterior-photo{display:block;margin-top:min(.65vw,9px);height:min(13.3vw,192px);overflow:hidden;border-radius:4px}
.sl-page .exterior-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.sl-page .access-station{display:flex;align-items:center;gap:5px;margin-top:min(.75vw,11px);font-size:min(1.28vw,18.4px);line-height:1.5}
.sl-page .access-station .icon,.sl-page .access-hours>.icon,.sl-page .access-phone .icon{width:min(1.6vw,23px);height:min(1.8vw,26px)}
.sl-page .address{font-size:min(.98vw,14.1px);line-height:1.6;margin-left:min(2.05vw,29px);letter-spacing:-.03em}
.sl-page .access-phone{display:flex;align-items:center;gap:6px;font-size:min(1.85vw,26.6px);line-height:1.5;font-weight:700}
.sl-page .access-hours{display:flex;align-items:flex-start;gap:5px;font-size:min(.94vw,13.5px);line-height:1.4;letter-spacing:-.025em}
.sl-page .access-hours>.icon{height:23px;margin-top:2px}
.sl-page .closing{position:relative;background:linear-gradient(100deg,#e2eddb,#e9f1e4);height:min(9.7vw,140px)}
.sl-page .closing-inner{height:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:min(2vw,29px);padding-left:14%}
.sl-page .closing h2{font-size:min(1.83vw,26.4px);line-height:1.45;letter-spacing:-.01em;white-space:nowrap}
.sl-page .closing .button{font-size:min(1.55vw,22px);height:min(5.5vw,79px);gap:min(.9vw,13px);padding-inline:min(1.5vw,22px)}
.sl-page .closing-phone>span{font-size:min(2.23vw,32px)}
.sl-page .closing-phone small{font-size:min(.75vw,10.8px)}
.sl-page .closing-garden{position:absolute;inset:0;pointer-events:none}
.sl-page .closing-garden>.leaf{width:16%;left:-3%;top:-29%;transform:rotate(55deg)}
.sl-page .footer-bird{position:absolute;left:8.5%;top:10%;width:7%;height:auto;transform:scaleX(-1);overflow:visible}
.sl-page .sl-footer{background:#fffefa}
.sl-page .footer-main{position:relative;min-height:min(8.1vw,117px);display:flex;align-items:flex-start;padding-top:min(1.8vw,26px);padding-right:8%;gap:3%}
.sl-page .footer-main>.brand{width:24%}
.sl-page .footer-main nav{display:flex;gap:min(1.3vw,19px);justify-content:space-between;flex:1;padding-top:min(.7vw,10px);font-size:min(.79vw,11.4px);font-weight:600;white-space:nowrap}
.sl-page .footer-utility{position:absolute;right:8%;bottom:min(1.2vw,17px);display:flex;align-items:center;gap:min(1vw,14px);font-size:min(.65vw,9.4px)}
.sl-page .footer-utility small{font-size:inherit}
.sl-page .motion-toggle{display:flex;align-items:center;gap:4px;font-size:inherit;border:0;background:none;padding:4px}
.sl-page .motion-toggle:hover{text-decoration:underline}
.sl-page .back-top{position:absolute;right:0;top:12%;width:min(5.4vw,78px);height:min(5.4vw,78px);border-radius:50%;background:#bcdbeb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.sl-page .back-top>.icon{transform:rotate(-90deg);width:23px;height:23px}
.sl-page .back-top>span{font-size:min(.61vw,8.8px);white-space:nowrap;color:#fff;font-weight:700}
.sl-page .footer-town{height:min(9vw,130px);position:relative;overflow:hidden}
.sl-page .footer-town>img{position:absolute;bottom:-72%;left:0;width:86%;max-width:none;height:auto;mix-blend-mode:multiply;mask-image:linear-gradient(0deg,#000 60%,transparent 99%)}
.sl-page .footer-town>p{position:absolute;right:5%;bottom:14%;font:600 min(1.16vw,16.7px)/1.75 var(--serif);letter-spacing:.12em;transform:rotate(-7deg)}
.sl-page .station-sign{position:absolute;left:40.8%;top:25%;font-size:min(.72vw,10.4px);letter-spacing:.12em;font-weight:600;background:#edf1e9;padding:0 7px}
.sl-page .mobile-dock{display:none}
.sl-page .faq-dialog{position:fixed;inset:0;margin:auto;width:min(660px,calc(100% - 32px));max-height:calc(100dvh - 50px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid #dae1d3;border-radius:14px;padding:45px 35px 30px;box-shadow:0 20px 90px #162e4255}
.sl-page .faq-dialog::backdrop{background:#102a3960;backdrop-filter:blur(4px)}
.sl-page .faq-dialog h2{font-size:25px;margin-bottom:25px}
.sl-page .dialog-close{position:absolute;top:5px;right:12px;width:44px;height:44px;border:0;background:none;font-size:30px}
.sl-page .faq-list details{border-top:1px solid #d5dfce;padding:16px 0}
.sl-page .faq-list summary{cursor:pointer;font-size:14px;font-weight:600}
.sl-page .faq-list details p{font-size:14px;line-height:1.9;margin-top:12px}
.sl-page .faq-list details a{font-size:14px;display:inline-block;border-bottom:1px solid #859c8a;margin-top:8px}
.sl-page .faq-hours-note{font-size:12px;border-top:1px solid #d5dfce;padding-top:14px;color:#5e726c}
.sl-page[data-motion="on"] .hero-leaf-right{animation:leaf-breeze 10s ease-in-out infinite;transform-origin:100% 20%}
.sl-page[data-motion="on"] .footer-bird.has-arrived{animation:bird-arrive 1.6s ease-out both}
.sl-page[data-visibility="hidden"] *{animation-play-state:paused!important}
.sl-page[data-motion="off"] *{animation:none!important;transition:none!important}
.sl-page[data-motion="off"] .clinic-art{transform:none}
.sl-page[data-motion="off"] .path-draw{stroke-dashoffset:0}
@keyframes leaf-breeze{0%,100%{transform:rotate(280deg)}50%{transform:rotate(278deg)}}
@keyframes bird-arrive{0%{transform:translate(-24px,-15px) scaleX(-1)}70%{transform:translate(1px,-2px) scaleX(-1)}100%{transform:translate(0,0) scaleX(-1)}}
.admin-bar .sl-header{top:32px}
@media(max-width:900px){.sl-page .desktop-nav{gap:8px}.sl-page .header-inner{gap:8px}.sl-page .desktop-nav a{font-size:8.5px}.sl-page .header-phone{font-size:min(1.93vw,17px)}.sl-page .header-booking{font-size:10px}.sl-page .header-booking .chevron{display:none}.sl-page .footer-utility{font-size:8px}.sl-page .card-button{font-size:11px}}
@media(max-width:760px){
.sl-body{font-size:14px}.sl-page [id]{scroll-margin-top:80px}.sl-page .wrap{width:calc(100% - 32px)}.sl-page .sl-header{height:64px;min-height:64px}.sl-page .header-inner{width:calc(100% - 26px)}.sl-page .brand{width:215px}.sl-page .desktop-nav,.sl-page .header-phone,.sl-page .header-booking{display:none}.sl-page .menu-toggle{display:block;margin-left:auto}
.sl-page .hero{height:auto}.sl-page .hero-inner{height:625px}.sl-page .hero-copy{padding-top:24px;margin-left:22px;width:calc(100% - 44px)}.sl-page .hero h1{font-size:37px;line-height:1.35;letter-spacing:.015em}.sl-page .hero-lead{font-size:15px;line-height:1.7;margin-top:12px}.sl-page .station-link{font-size:13px;padding:6px 10px;margin-top:10px;gap:7px}.sl-page .station-link .icon{width:19px;height:21px}
.sl-page .hero-scene{top:218px;height:325px}.sl-page .clinic-art{left:2%;width:101%;top:-10px}.sl-page .scene-note{top:9%;right:7%;font-size:9px;line-height:1.9}.sl-page .photo-album{left:5%;right:5%;bottom:2%;height:38%}.sl-page .photo-card{border-width:4px;border-radius:6px}.sl-page .photo-reception{flex:1.12}.sl-page .photo-dialogue{height:90%}.sl-page .hero-facts{position:absolute;top:551px;margin:0;left:0;width:100%;gap:12px}.sl-page .fact-art{width:77px;height:67px;padding-bottom:5px}.sl-page .fact-art>.icon{width:31px;height:31px;margin-bottom:5px}.sl-page .fact-art strong{font-size:11px}.sl-page .hero-facts small{display:none}.sl-page .hero-leaf-left{width:80px;left:-45px;top:0}.sl-page .hero-leaf-low{display:none}.sl-page .hero-leaf-right{width:75px;right:-40px;top:15px}
.sl-page .quick-info-inner{grid-template-columns:28px 1fr 1fr;min-height:88px;gap:5px 11px;padding-block:13px}.sl-page .quick-title{grid-row:1/3}.sl-page .quick-title>.icon{width:24px;height:24px}.sl-page .quick-title>span{display:none}.sl-page .quick-regular{grid-column:2/4;border:0;padding:0}.sl-page .quick-regular>span{display:inline;font-size:10px;margin-right:10px}.sl-page .quick-regular>strong{display:inline;font-size:11px}.sl-page .quick-thursday{border:0;padding:0;display:flex;gap:10px;align-items:center}.sl-page .quick-thursday>span,.sl-page .quick-thursday>strong{font-size:11px}.sl-page .quick-closed{font-size:10px;border:0;padding:0;line-height:1.5;justify-self:center}.sl-page .quick-info .button,.sl-page .quick-phone{display:none}
.sl-page .care-section{padding-top:26px;padding-bottom:12px}.sl-page .care-title{font-size:23px;letter-spacing:0;margin-bottom:18px}.sl-page .care-title>span::before,.sl-page .care-title>span::after{display:none}.sl-page .concern-grid{grid-template-columns:1fr 1fr;gap:10px}.sl-page .concern{height:94px;border-radius:10px;padding-right:7px}.sl-page .concern strong{font-size:13px;margin-left:3px}.sl-page .concern-portrait{width:46%}.sl-page .concern .chevron{width:9px!important}.sl-page .treatment-title{font-size:21px;margin-top:24px;margin-bottom:14px;gap:16px}.sl-page .treatment-title::before,.sl-page .treatment-title::after{width:35px}.sl-page .treatment-grid{grid-template-columns:1fr 1fr;gap:9px}.sl-page .treatment-grid>a{height:60px;padding:9px 11px;font-size:12px;gap:10px}.sl-page .treatment-grid>a>.icon:first-child{width:32px;height:36px}.sl-page .treatment-grid .chevron{width:8px!important}.sl-page .treatment-grid>a:last-child{grid-column:1/-1}
.sl-page .life-section{height:590px;margin-top:12px}.sl-page .life-intro{left:24px;top:25px}.sl-page .life-intro h2{font-size:29px;line-height:1.45}.sl-page .life-intro p{font-size:13px;line-height:1.7;margin-top:13px}.sl-page .life-landscape{left:-6%;top:212px;width:111%;height:176px}.sl-page .life-postcard{width:135px;right:-7px;height:155px;top:67px;padding:0;transform:rotate(6deg)}.sl-page .life-postcard p{font-size:9px;top:20%;left:12%;line-height:2.2;white-space:nowrap}.sl-page .life-postcard>.leaf{width:90%;right:-30%;bottom:-40%}.sl-page .life-stages{top:375px;bottom:auto;left:20px;right:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sl-page .life-stage,.sl-page .life-stage:nth-child(2),.sl-page .life-stage:nth-child(3){position:relative;left:auto;top:auto;padding:12px 3px 15px;text-align:center;background:transparent;border-top:1px solid #cbd6b4;border-radius:0}.sl-page .life-stage h3{font-size:13px;white-space:nowrap}.sl-page .life-stage p{font-size:10px;line-height:1.7;margin-top:7px}.sl-page .life-leaf-left{left:-44px;top:-10px;width:100px}.sl-page .life-leaf-right{right:-40px;top:0;width:100px}
.sl-page .info-section{display:flex;flex-direction:column;gap:16px;margin-top:-50px;padding-bottom:25px}.sl-page .info-card{height:365px;padding:20px;border-radius:10px}.sl-page .card-label{font-size:16px;padding-left:8px}.sl-page .card-button{height:44px;bottom:17px;left:18px;right:18px;font-size:14px;padding:10px 17px}.sl-page .card-button .icon{width:18px;height:20px}.sl-page .doctor-photo{top:-15%;width:95%;right:-21%;height:auto}.sl-page .doctor-message{margin-top:26px}.sl-page .doctor-message h3{font-size:18px;line-height:1.6}.sl-page .doctor-message p{font-size:12px;line-height:1.8;margin-top:9px}.sl-page .doctor-name{left:20px;bottom:75px}.sl-page .doctor-name p{font-size:24px}.sl-page .doctor-name small{font-size:15px}.sl-page .doctor-name span{font-size:11px}.sl-page .doctor-leaf{width:75px;bottom:23%;left:1%}
.sl-page .first-card{height:400px}.sl-page .first-card>h3{font-size:25px;line-height:1.5;margin-top:23px}.sl-page .first-message{font-size:12px;line-height:1.7;margin-top:10px}.sl-page .first-cost{margin-top:16px;padding:11px 15px;gap:15px}.sl-page .first-cost>.icon{width:36px;height:44px}.sl-page .first-cost p{font-size:15px}.sl-page .first-cost strong{font-size:27px}.sl-page .first-cost strong small{font-size:12px}.sl-page .first-cost b{font-size:12px}.sl-page .cost-note{font-size:10px;margin-top:5px}
.sl-page .access-card{height:435px}.sl-page .exterior-photo{height:176px;margin-top:12px}.sl-page .access-station{font-size:14px;gap:6px;margin-top:11px}.sl-page .access-station .icon,.sl-page .access-hours>.icon,.sl-page .access-phone .icon{width:18px;height:20px}.sl-page .address{font-size:10px;margin-left:24px}.sl-page .access-phone{font-size:23px}.sl-page .access-hours{font-size:10px;line-height:1.4}.sl-page .access-hours>.icon{height:19px;margin-top:0}
.sl-page .closing{height:auto;padding:28px 0 25px}.sl-page .closing-inner{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding-left:0}.sl-page .closing h2{font-size:22px;line-height:1.5;padding-left:40px;white-space:normal}.sl-page .closing .button{height:54px;font-size:17px;gap:13px;padding:12px 20px}.sl-page .closing .button>.icon{width:25px;height:27px}.sl-page .closing-phone{align-self:center}.sl-page .closing-phone>span{font-size:27px;justify-content:center;gap:10px}.sl-page .closing-phone .icon{width:23px;height:25px}.sl-page .closing-phone small{font-size:9px;margin-top:4px}.sl-page .closing-garden>.leaf{width:95px;top:-3%;left:-39px;transform:rotate(25deg)}.sl-page .footer-bird{width:48px;left:1%;top:4%}
.sl-page .sl-footer{padding-bottom:65px}.sl-page .footer-main{min-height:220px;display:block;padding-top:26px;padding-right:0}.sl-page .footer-main>.brand{width:217px}.sl-page .footer-main nav{display:flex;flex-wrap:wrap;justify-content:flex-start;font-size:10px;gap:14px 18px;margin-top:21px;padding-top:0;padding-right:20px}.sl-page .footer-utility{position:static;flex-wrap:wrap;gap:10px;font-size:8px;margin-top:18px}.sl-page .back-top{width:48px;height:48px;top:20px}.sl-page .back-top>.icon{width:18px;height:18px}.sl-page .back-top>span{font-size:6px}.sl-page .footer-town{height:92px}.sl-page .footer-town>img{width:170%;left:-33%;height:auto;bottom:-55%}.sl-page .footer-town>p{display:none}.sl-page .station-sign{font-size:7px;left:43%;top:39%;bottom:auto;padding:0 4px}
.sl-page .mobile-dock{position:fixed;z-index:110;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:#fffdf8;border-top:1px solid #d5dfcd;box-shadow:0 -5px 20px #223d350b;padding-bottom:env(safe-area-inset-bottom,0px)}.sl-page .mobile-dock>a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:65px;font-size:12px;line-height:1.5}.sl-page .mobile-dock>a:last-child{background:var(--navy);color:#fff}.sl-page .mobile-dock .icon{width:20px;height:20px}.sl-page .mobile-dock small{display:block;font-size:8px;opacity:.8;margin-top:3px}.sl-page .faq-dialog{padding:45px 22px 25px}.sl-page .faq-dialog h2{font-size:22px}.admin-bar .sl-header{top:46px}
}
@media(min-width:500px) and (max-width:760px){.sl-page .hero-inner{height:675px}.sl-page .hero-copy{margin-left:5%;width:90%}.sl-page .hero h1{font-size:45px}.sl-page .hero-scene{top:225px;height:350px}.sl-page .clinic-art{width:85%;left:14%;top:-40px}.sl-page .photo-album{left:20%;right:4%;height:43%}.sl-page .hero-facts{top:590px}.sl-page .fact-art{width:90px;height:78px}.sl-page .fact-art strong{font-size:13px}.sl-page .concern{height:120px}.sl-page .concern strong{font-size:17px}.sl-page .info-section{display:flex;max-width:500px}.sl-page .access-card{grid-column:1/-1}.sl-page .first-card{height:400px}.sl-page .doctor-card{height:410px}.sl-page .doctor-photo{width:80%;max-width:350px;right:-10%;top:-10%}.sl-page .first-card>h3{font-size:21px}.sl-page .first-cost{gap:8px;padding-inline:8px}.sl-page .first-cost p{font-size:12px}.sl-page .first-cost strong{font-size:24px}.sl-page .first-message{font-size:11px}.sl-page .doctor-message h3{font-size:15px}.sl-page .doctor-name span{font-size:9px}.sl-page .life-landscape{height:230px;top:215px}.sl-page .life-stages{top:450px}.sl-page .life-section{height:620px}}
@media(max-width:370px){.sl-page .brand{width:193px}.sl-page .hero-inner{height:520px}.sl-page .hero-copy{margin-left:17px;width:calc(100% - 34px)}.sl-page .hero h1{font-size:32px}.sl-page .hero-lead{font-size:13px}.sl-page .hero-scene{top:190px;height:250px}.sl-page .hero-facts{top:445px;gap:10px}.sl-page .fact-art{width:69px;height:64px}.sl-page .fact-art strong{font-size:10px}.sl-page .quick-regular>span{font-size:9px;margin-right:7px}.sl-page .quick-regular>strong{font-size:10px}.sl-page .quick-thursday>span,.sl-page .quick-thursday>strong{font-size:10px}.sl-page .care-title{font-size:20px}.sl-page .concern{height:80px}.sl-page .concern strong{font-size:11px}.sl-page .treatment-grid>a{font-size:10px;gap:7px}.sl-page .treatment-grid>a>.icon:first-child{width:27px}.sl-page .life-intro{left:19px}.sl-page .life-intro h2{font-size:26px}.sl-page .life-intro p{font-size:11px}.sl-page .life-postcard{right:-20px;width:115px}.sl-page .life-postcard p{font-size:9px}.sl-page .life-stage h3{font-size:11px}.sl-page .life-stage p{font-size:9px}.sl-page .doctor-message h3{font-size:16px}.sl-page .doctor-message p{font-size:11px}.sl-page .doctor-name span{font-size:10px}.sl-page .first-card>h3{font-size:22px}.sl-page .first-message{font-size:10px}.sl-page .first-cost{padding:11px 9px;gap:9px}.sl-page .first-cost p{font-size:13px}.sl-page .first-cost strong{font-size:24px}.sl-page .first-cost strong small{font-size:10px}.sl-page .address{font-size:9px}.sl-page .access-hours{font-size:8px}.sl-page .closing h2{font-size:19px}.sl-page .mobile-dock>a{font-size:11px;gap:6px}}
@media(prefers-reduced-motion:reduce){.sl-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.sl-page .clinic-art{transform:none!important}.sl-page .path-draw{stroke-dashoffset:0!important}}
@media print{.sl-page .sl-header{position:static}.sl-page .mobile-dock,.sl-page .menu-toggle,.sl-page .motion-toggle,.sl-page .back-top{display:none!important}.sl-page .clinic-art{transform:none!important}}
