:root{--color-primary:#0068b7;--color-secondary:#007cbd;--color-accent:#f39800;--color-text:#333;--color-text-light:#fff;--color-bg:#e0f7fa;--color-surface:#fff;--color-ocean-deep:var(--color-primary);--color-ocean-medium:var(--color-secondary);--color-ocean-light:#e1f5fe;--color-sand:var(--color-bg);--font-sans:"Zen Maru Gothic",sans-serif;--font-serif:"Zen Maru Gothic",sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.5rem;--text-hero:3.2rem;--section-py:80px;--section-py-sm:50px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text);background:linear-gradient(#e0f7fa 0%,#fff 100%);width:100%;min-height:100vh;line-height:1.8;overflow-x:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=768px){html{font-size:100%}body{line-height:1.7}}@media (width<=480px){html{font-size:100%}}.wave-divider{z-index:2;width:100%;margin-top:-1px;line-height:0;position:relative;overflow:hidden;transform:rotate(180deg)}.wave-divider svg{width:calc(100% + 1.3px);height:60px;display:block;position:relative}.wave-divider .shape-fill{fill:#ffffff4d}.wave-divider-bottom{margin-bottom:-1px;transform:rotate(0)}.wave-divider-layer-2{z-index:-1;opacity:.5;width:100%;height:100%;position:absolute;top:0;left:0;transform:translate(-20px)}.wave-divider-layer-2 .shape-fill{fill:#ffffff1a}h1{font-family:var(--font-serif);color:var(--color-ocean-deep);letter-spacing:.05em;font-size:var(--text-3xl)}h2{font-family:var(--font-serif);color:var(--color-ocean-deep);letter-spacing:.05em;font-size:var(--text-2xl)}h3{font-family:var(--font-serif);color:var(--color-ocean-deep);letter-spacing:.05em;font-size:var(--text-xl)}h4{font-family:var(--font-serif);color:var(--color-ocean-deep);letter-spacing:.05em;font-size:var(--text-lg)}h5{font-family:var(--font-serif);color:var(--color-ocean-deep);letter-spacing:.05em;font-size:var(--text-md)}h6{font-family:var(--font-serif);color:var(--color-ocean-deep);letter-spacing:.05em;font-size:var(--text-base)}a{color:inherit;text-decoration:none;transition:all .3s}ul{list-style:none}.container{max-width:1100px;margin:0 auto;padding:0 20px}@media (width<=768px){:root{--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--text-hero:2.2rem;--section-py:60px}.page-header h1{font-size:1.3rem}.hero-main-copy{font-size:var(--text-hero)}}@media (width<=480px){:root{--text-xs:.6875rem;--text-sm:.75rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.0625rem;--text-xl:1.125rem;--text-2xl:1.375rem;--text-3xl:1.5rem;--text-hero:1.8rem;--section-py:var(--section-py-sm)}.page-header h1{font-size:1.1rem}.hero-main-copy{font-size:var(--text-hero)}}.blob-shape{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}.blob-shape-2{border-radius:30% 70% 70% 30%/30% 30% 70% 70%}.hand-drawn-border{border:2px solid var(--color-ocean-medium);border-radius:255px 15px 225px/15px 225px 15px 255px}@media (width<=768px){.hand-drawn-border{border-width:1px;border-radius:20px}}.wave-container{width:100%;line-height:0;position:relative;overflow:hidden}.wave-svg{width:calc(100% + 1.3px);height:60px;display:block;position:relative}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.float-anim-delay-1{animation:4.5s ease-in-out .5s infinite float}.float-anim-delay-2{animation:5s ease-in-out 1s infinite float}@keyframes rise{0%{opacity:0;transform:translateY(100vh)translate(0)}50%{opacity:.6}to{opacity:0;transform:translateY(-10vh)translate(-50px)}}.bubble{z-index:0;pointer-events:none;background-color:#fff6;border-radius:50%;position:absolute}.bubble:first-child{width:40px;height:40px;animation:8s ease-in infinite rise;left:10%}.bubble:nth-child(2){width:20px;height:20px;animation:5s ease-in 1s infinite rise;left:20%}.bubble:nth-child(3){width:50px;height:50px;animation:10s ease-in 2s infinite rise;left:35%}.bubble:nth-child(4){width:80px;height:80px;animation:12s ease-in .5s infinite rise;left:50%}.bubble:nth-child(5){width:35px;height:35px;animation:6s ease-in 3s infinite rise;left:65%}.bubble:nth-child(6){width:45px;height:45px;animation:9s ease-in 1.5s infinite rise;left:80%}.page-content{min-height:80vh;padding-top:80px;padding-bottom:60px}.page-header{background:linear-gradient(135deg,var(--color-ocean-light)0%,#fff 100%);text-align:center;border-bottom:2px dashed var(--color-ocean-medium);z-index:1;border-radius:0 0 50% 50%/0 0 20px 20px;margin-bottom:30px;padding:30px 0 20px;position:relative}.page-header h1{font-size:var(--text-3xl);color:var(--color-ocean-deep);margin-bottom:10px;display:inline-block;position:relative}.section-title{text-align:center;font-size:var(--text-2xl);color:var(--color-ocean-deep);width:100%;margin-bottom:60px;position:relative}.section-title:after{content:"";background-color:var(--color-accent);opacity:.7;border-radius:3px;width:80px;height:6px;margin:15px auto 0;display:block}@media (width<=768px){.section-title{margin-bottom:40px}}@media (width<=480px){.section-title{margin-bottom:30px}}.page-header p{font-family:var(--font-sans);color:var(--color-ocean-medium);letter-spacing:2px;text-transform:uppercase;font-weight:700}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.6s ease-out both fadeInUp}.fade-in-up-delayed{animation:.6s ease-out .3s both fadeInUp}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.4s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.header{z-index:1000;width:100%;color:var(--color-text);background-color:#0000;padding:0;transition:all .3s;position:fixed;top:0;left:0}.header.scrolled{color:var(--color-primary);background-color:#fffffff2;padding:0;box-shadow:0 4px 20px #0000000d}.header-container{justify-content:space-between;align-items:center;max-width:1100px;height:85px;margin:0 auto;padding:0 20px;display:flex}.logo{align-items:center;height:100%;padding:0;display:flex}.logo a{align-items:center;height:100%;text-decoration:none;display:flex}.logo-image{object-fit:contain;opacity:0;visibility:hidden;width:auto;height:100%;padding:8px 0;transition:all .3s}.header.scrolled .logo-image{opacity:1;visibility:visible}.logo h1{color:inherit;letter-spacing:.1em;margin:0;font-size:1.4rem;font-weight:700;line-height:1}.logo .subtitle{font-size:.85rem;font-family:var(--font-sans);color:inherit;opacity:.8;letter-spacing:.05em}.nav-menu ul{gap:30px;display:flex}.nav-menu a{color:var(--color-text);border-radius:20px;padding:5px 10px;font-weight:400;transition:all .3s;position:relative}.nav-menu a:hover{background-color:var(--color-secondary);color:#fff}.nav-menu a.active{background-color:var(--color-primary);color:#fff;font-weight:600}.nav-menu a:after{display:none}.nav-menu .close-menu{cursor:pointer;color:var(--color-primary);background:0 0;border:0;font-size:1.5rem;display:none;position:absolute;top:20px;right:20px}.nav-menu.active .close-menu{display:block}.mobile-menu-icon{cursor:pointer;color:var(--color-primary);background:0 0;border:0;padding:0;font-family:inherit;font-size:1.5rem;display:none}@media (width<=768px){.mobile-menu-icon{display:block}.nav-menu{background-color:var(--color-bg);border-top-left-radius:30px;border-bottom-left-radius:30px;width:80%;height:100vh;padding-top:80px;transition:right .3s;position:fixed;top:0;right:-100%;box-shadow:-5px 0 20px #0000000d}.nav-menu.active{right:0}.nav-menu ul{flex-direction:column;align-items:center;gap:30px}body.menu-open{overflow:hidden}.header:not(.scrolled) .header-container{height:68px;padding-inline:16px}.header:not(.scrolled) .mobile-menu-icon{background:#fffffff0;border:1px solid #fffc;border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 3px 12px #004a7d1a}}.footer{color:#f7fbfd;background:#123a59;border-top:1px solid #ffffff14;padding:0;position:relative}.footer:before{content:"";background:linear-gradient(90deg,#5eb6cb,#8dd0d8 72%,var(--color-accent));opacity:.68;width:100%;height:3px;position:absolute;top:0;left:0}.footer-container{grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);align-items:start;gap:clamp(44px,7vw,92px);margin-bottom:0;padding:34px 40px 26px;display:grid}.footer-info{max-width:650px}.footer-info h3{color:#fff;letter-spacing:.08em;margin-bottom:8px;font-size:clamp(1.5rem,2.4vw,1.85rem);font-weight:700;line-height:1.3}.footer-info p{color:#d8e6ed;margin-bottom:4px;font-size:.95rem;line-height:1.6}.footer-phone{margin-top:12px}.phone-link{color:#fff;letter-spacing:.04em;background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;align-items:center;gap:11px;min-height:42px;padding:7px 14px;font-size:1.08rem;font-weight:700;text-decoration:none;transition:color .2s,background-color .2s,border-color .2s;display:inline-flex}.phone-link:hover{color:#123a59;background:#fff;border-color:#fff}.phone-link:focus-visible,.footer-links a:focus-visible{outline-offset:4px;outline:3px solid #f398006b}.phone-icon{color:currentColor;flex:none;width:.92em;height:.92em}.footer-links{border-left:1px solid #ffffff29;padding-left:32px}.footer-links ul{gap:0;display:grid}.footer-links li{border-bottom:1px solid #ffffff1a}.footer-links li:last-child{border-bottom:0}.footer-links a{color:#e5eff4;letter-spacing:.04em;padding:7px 4px;font-size:.92rem;font-weight:500;transition:color .2s,transform .2s;display:block;position:relative}.footer-links a:after{content:"";opacity:0;background:#8dd0d8;width:16px;height:1px;transition:opacity .2s,transform .2s;position:absolute;top:50%;right:4px;transform:translate(-6px,-50%)}.footer-links a:hover{color:#fff;transform:translate(4px)}.footer-links a:hover:after{opacity:.58;transform:translateY(-50%)}.copyright{color:#b9ccd6;letter-spacing:.03em;text-align:left;border-top:1px solid #ffffff21;max-width:1100px;margin:0 auto;padding:13px 40px 16px;font-size:.75rem;line-height:1.6}@media (width<=768px){.footer-container{text-align:left;grid-template-columns:minmax(0,1fr);gap:20px;padding:30px 20px 20px}.footer-info{max-width:none}.footer-info h3{margin-bottom:7px;font-size:1.4rem}.footer-info p{font-size:.9rem;line-height:1.55}.footer-phone{margin-top:11px}.phone-link{min-height:40px;font-size:1rem}.footer-links{border-top:1px solid #ffffff29;border-left:0;padding:0}.footer-links ul{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-links li:nth-child(odd){border-right:1px solid #ffffff1a}.footer-links a{padding:8px 10px;font-size:.88rem}.footer-links a:after{display:none}.footer-links a:hover{transform:none}.copyright{text-align:center;padding:11px 20px 13px;font-size:.72rem}}@media (prefers-reduced-motion:reduce){.phone-link,.footer-links a,.footer-links a:after{transition:none}}.sea-decorations{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.fish{color:#ffffff4d;font-size:2rem;animation:linear infinite swim;position:absolute}.fish-1{color:#fff3;font-size:3rem;animation-duration:25s;top:15%;left:-100px}.fish-2{color:#ffffff26;font-size:2rem;animation-duration:35s;animation-delay:5s;top:45%;left:-100px}.fish-3{color:#ffffff1a;font-size:4rem;animation-duration:45s;animation-delay:2s;top:75%;left:-100px}.fish-4{color:#fff3;font-size:2.5rem;animation:40s linear 10s infinite swim-reverse;top:30%;right:-100px}@keyframes swim{0%{transform:translate(-100px)rotate(5deg)}25%{transform:translate(25vw)rotate(-5deg)}50%{transform:translate(50vw)rotate(5deg)}75%{transform:translate(75vw)rotate(-5deg)}to{transform:translate(100vw)rotate(5deg)}}@keyframes swim-reverse{0%{transform:translate(100vw)rotate(-5deg)scaleX(-1)}to{transform:translate(-20vw)rotate(5deg)scaleX(-1)}}.bubble-large{background:radial-gradient(circle at 30% 30%,#fff6,#ffffff1a);border-radius:50%;animation:linear infinite rise-wobble;position:absolute;top:0}.bubble-1{width:60px;height:60px;animation-duration:15s;animation-delay:0s;left:10%}.bubble-2{width:40px;height:40px;animation-duration:12s;animation-delay:5s;left:85%}.bubble-3{width:80px;height:80px;animation-duration:20s;animation-delay:2s;left:45%}@keyframes rise-wobble{0%{transform:translateY(110vh)translate(0)}25%{transform:translateY(80vh)translate(20px)}50%{transform:translateY(50vh)translate(-20px)}75%{transform:translateY(20vh)translate(10px)}to{transform:translateY(-10vh)translate(0)}}@media (prefers-reduced-motion:reduce){.fish,.bubble-large{animation:none;display:none}}.bubble-container{display:none}.experience-ready [data-experience-reveal]{opacity:0;transition:opacity .55s,transform .65s cubic-bezier(.22,1,.36,1);animation:none;transform:translateY(18px)}.experience-ready [data-experience-reveal][data-experience-visible]{opacity:1;transform:translate(0,0)}.experience-ready .philosophy-image[data-experience-reveal]{transition-duration:.75s,.9s}.experience-surface{--surface-x:50%;--surface-y:50%;--surface-rotate-x:0deg;--surface-rotate-y:0deg;transform-style:preserve-3d;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .22s,border-color .22s;animation:none;position:relative;transform:none}.experience-surface:after{content:"";z-index:5;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle 170px at var(--surface-x)var(--surface-y),#ffffff85,transparent 64%),linear-gradient(145deg,#ffffff1a,transparent 48%);transition:opacity .16s;position:absolute;inset:0}body.experience-ready .experience-surface:hover{transform:perspective(950px)translate3d(0,-3px,7px)rotateX(var(--surface-rotate-x))rotateY(var(--surface-rotate-y));border-color:#007cbd29;box-shadow:inset 0 1px #fffffff0,12px 18px 34px #00527a1f}.experience-surface:hover:after{opacity:.62}body.experience-ready .service-card:hover .service-card-icon{color:var(--color-primary);background:#f0f8ff;transform:none}body.experience-ready :is(.hero-hours-card,.hours-container,.news-featured,.reservation-info-card,.reservation-card,.service-card,.tour-item,.director-card,.feature-card,.service-content,.news-detail-content,.access-info,.access-map){border-color:#007cbd1f;box-shadow:inset 0 1px #ffffffeb,0 12px 30px #005b891a}body.experience-ready .access-section{padding:var(--section-py)0;background:linear-gradient(145deg,#ebf8fbd1,#fffffff2)}body.experience-ready .page-content>.page-header+.access-section{background:0 0}body.experience-ready .access-info{border:1px solid #007cbd26;border-radius:20px}body.experience-ready .access-map{border-radius:20px;transition:box-shadow .22s,border-color .22s;box-shadow:inset 0 1px #ffffffeb,0 12px 30px #005b891a}body.experience-ready .access-map:hover,body.experience-ready .access-map:focus-within{box-shadow:inset 0 1px #fffffff0,12px 18px 34px #00527a1f}@media (hover:none) and (pointer:coarse){.service-card:active,.reservation-info-card:active,.news-featured:active,.btn-primary:active,.btn-outline:active{transition-duration:80ms;transform:scale(.99)}}@media (prefers-reduced-motion:reduce){.experience-ready [data-experience-reveal],.experience-ready [data-experience-reveal][data-experience-visible],.experience-surface,body.experience-ready .experience-surface:hover{opacity:1;transition:none;transform:none}.experience-surface:after{display:none}}.hero{z-index:1;background:0 0;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding-top:80px;padding-bottom:60px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:0;background-color:#00a0e914;border-radius:40% 60% 70% 30%/40% 50% 60%;width:50vw;height:50vw;animation:20s infinite alternate blobFloat;position:absolute;top:-10%;right:-5%}.hero:after{content:"";z-index:0;background-color:#0068b70d;border-radius:60% 40% 30% 70%/60% 30% 70% 40%;width:45vw;height:45vw;animation:25s infinite alternate-reverse blobFloat;position:absolute;bottom:0%;left:-10%}@keyframes blobFloat{0%{transform:translate(0)rotate(0)}to{transform:translate(30px,50px)rotate(10deg)}}.hero-container{z-index:2;justify-content:space-between;align-items:center;gap:40px;width:100%;max-width:1400px;padding:0 5%;display:flex;position:relative}.hero-text-area{text-align:left;flex:1;max-width:800px;margin-left:60px;padding-left:20px;padding-right:20px}.hero-logo-wrapper{flex-direction:column;justify-content:flex-start;align-items:center;margin-bottom:10px;display:flex}.hero-logo{filter:drop-shadow(0 2px 4px #0000001a);max-width:240px;height:auto}.hero-main-copy{font-family:var(--font-serif);font-size:var(--text-hero);color:var(--color-primary);letter-spacing:.05em;white-space:nowrap;margin-bottom:30px;font-weight:700;line-height:1.4}.text-accent{color:var(--color-secondary);display:inline-block;position:relative}.text-accent:after{content:"";z-index:-1;background-color:#f3980033;border-radius:4px;width:100%;height:12px;position:absolute;bottom:5px;left:0}.hero-sub-copy{color:var(--color-text);align-items:center;gap:15px;font-size:1.2rem;display:flex}.location-badge{background-color:var(--color-primary);color:#fff;letter-spacing:.1em;border-radius:50px;padding:6px 16px;font-size:1rem;font-weight:700;box-shadow:0 4px 10px #0068b733}.sub-text{letter-spacing:.1em;font-weight:400}.hero-visual-area{flex-direction:column;flex:1;justify-content:center;align-items:center;height:auto;padding:20px;display:flex;position:relative}.hero-hours-card{backdrop-filter:blur(10px);text-align:center;background:#ffffffd9;border:1px solid #fffc;border-radius:20px;width:100%;max-width:500px;margin-top:-40px;padding:30px;box-shadow:0 15px 35px #00699426}.hero-logo-wrapper{justify-content:center;width:100%;margin-top:30px;display:flex}.hero-hours-title{color:var(--color-primary);letter-spacing:.1em;border-bottom:2px solid var(--color-accent);margin-bottom:20px;padding-bottom:5px;font-size:1.4rem;font-weight:700;display:inline-block}.hero-hours-table-wrapper{width:100%;overflow-x:auto}.hero-hours-table{border-collapse:collapse;width:100%;font-size:.95rem}.hero-hours-table th,.hero-hours-table td{text-align:center;border-bottom:1px solid #0068b71a;padding:10px 5px}.hero-hours-table th{color:var(--color-ocean-deep);background-color:#e0f7fa80;border-radius:5px;font-weight:700}.hero-hours-table .time-col{color:var(--color-text);text-align:center;white-space:nowrap;font-weight:700}.tooth-icon{color:var(--color-secondary);font-size:1.1rem}.cross{color:#999;font-size:.9rem}.hero-hours-note{color:#666;text-align:right;margin-top:15px;font-size:.85rem}.float-anim{animation:6s ease-in-out infinite float}.float-anim-delayed{animation:7s ease-in-out 1.5s infinite float}.hero-waves{z-index:2;width:100%;height:15vh;min-height:100px;max-height:150px;position:absolute;bottom:0;left:0}.waves{width:100%;height:100%;margin-bottom:-7px;position:relative}.parallax>use{animation:25s cubic-bezier(.55,.5,.45,.5) infinite move-forever}.parallax>use:first-child{animation-duration:7s;animation-delay:-2s}.parallax>use:nth-child(2){animation-duration:10s;animation-delay:-3s}.parallax>use:nth-child(3){animation-duration:13s;animation-delay:-4s}.parallax>use:nth-child(4){animation-duration:20s;animation-delay:-5s}@keyframes move-forever{0%{transform:translate(-90px)}to{transform:translate(85px)}}.hero-scroll-indicator{color:var(--color-ocean-deep);letter-spacing:2px;z-index:3;opacity:.8;flex-direction:column;align-items:center;font-size:.8rem;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.scroll-line{background-color:var(--color-ocean-deep);transform-origin:top;width:1px;height:40px;margin-top:10px;animation:2s infinite scrollDown}@keyframes scrollDown{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{transform:translateY(40px)scaleY(0)}}@media (width<=900px){.hero{align-items:center;height:100vh;min-height:600px;padding-top:80px;padding-bottom:40px;position:relative}.hero-container{text-align:center;flex-direction:column;justify-content:center;margin:0;padding:0}.hero-text-area{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:100%;margin-bottom:0;margin-left:0;margin-right:0;padding:0;display:flex}.hero-logo-wrapper{margin-top:30px;margin-bottom:60px;position:relative;bottom:auto;left:auto;transform:none}.desktop-tape-wrapper{display:none}.hero-logo{max-width:220px}.hero-main-copy{font-size:var(--text-hero);white-space:normal;text-align:center;margin-bottom:20px}.hero-sub-copy{flex-direction:column;align-items:center;gap:15px;margin-bottom:0}.hero-visual-area{display:none}}@media (width<=480px){.hero-main-copy{font-size:var(--text-hero)}.hero-hours-table th,.hero-hours-table td{font-size:var(--text-sm);padding:8px 2px}.hero-hours-table .time-col{font-size:var(--text-xs);padding-left:5px}}.hero-text-area{min-width:0;margin-left:0}.hero-main-copy{white-space:normal;margin-bottom:20px;font-size:clamp(1.65rem,3.1vw,3rem)}.hero-location{color:#00548f;margin-bottom:16px;font-weight:700}.hero-description{max-width:36em;line-height:1.9}.hero-actions{flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:24px;display:flex}.hero-phone{color:#fff;background:#0068b7;border-radius:12px;flex-direction:column;align-items:center;padding:12px 24px;line-height:1.7;display:flex}.hero-phone strong{font-size:1.3rem}.hero-access-link{color:#00548f;background:#fffc;border:1px solid #0068b738;border-radius:12px;justify-content:center;align-items:center;gap:12px;min-height:64px;padding:16px 20px;font-weight:700;text-decoration:none;transition:background-color .18s,border-color .18s,box-shadow .18s;display:inline-flex;box-shadow:0 2px 6px #004a7d0a}.hero-access-icon{flex-shrink:0;width:21px;height:21px}.hero-access-arrow{opacity:.65;flex-shrink:0;width:18px;height:18px}.hero-access-link:hover{background:#fff;border-color:#0068b780;box-shadow:0 4px 12px #004a7d14}.hero-access-link:focus-visible{outline-offset:4px;outline:3px solid #0068b7}@media (width<=540px){.hero-actions{width:100%;max-width:320px}.hero-actions>a{width:100%}}@media (prefers-reduced-motion:reduce){.hero-access-link{transition:none}}.hero-reservation-note{margin-top:12px;font-size:.9rem}@media (width<=900px){.hero{height:auto;min-height:650px;padding-top:120px}.hero-container{padding:0 24px}.hero-actions{justify-content:center}}.hero{isolation:isolate;background-color:#e5f6fa;background-image:radial-gradient(circle at 43% 57%,#ffffff75 0 30px,#0000 32px),radial-gradient(circle at 16% 18%,#ffffff59 0 16px,#0000 18px),radial-gradient(circle at 80% 82%,#ffffff61 0 43px,#0000 45px)}.hero:before,.hero:after{pointer-events:none;z-index:1;animation:none}@media (width<=900px){.hero:before{width:80vw;height:80vw;top:35%;right:-28%}.hero:after{width:85vw;height:85vw;bottom:8%;left:-35%}}.hero-clinic-photo{pointer-events:none;z-index:0;width:65%;height:480px;position:absolute;top:68px;right:0;overflow:hidden;mask-image:linear-gradient(#0000 0%,#000 7% 65%,#0000 100%)}.hero-clinic-photo img{object-fit:cover;object-position:58% 40%;filter:saturate(.8)brightness(1.08);width:100%;height:100%;display:block}.hero-clinic-photo:after{content:"";background:linear-gradient(90deg,#e5f6fa 0%,#e5f6fae0 10%,#e5f6fa1f 42%,#e5f6fa0d 100%),linear-gradient(#e5f6fa47,#0000 30%);position:absolute;inset:0}.hero-visual-area{padding-top:210px}.hero-hours-card{background:#fffffff0;margin-top:0;box-shadow:0 12px 36px #1c526c1a}@media (width<=900px){.hero{padding-top:315px}.hero-clinic-photo{width:100%;height:290px;top:65px;mask-image:linear-gradient(#0000 0%,#000 8% 50%,#0000 100%)}.hero-clinic-photo img{object-position:50% 40%}.hero-clinic-photo:after{background:linear-gradient(90deg,#e5f6fa38,#e5f6fa14 50%,#e5f6fa38)}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.hero-hours-card{backdrop-filter:none;background:#fff}}.hero{padding-bottom:150px}@media (width<=768px){.hero{padding-top:250px}.hero-clinic-photo{top:0;mask-image:linear-gradient(#000 50%,#0000 100%)}}.todays-hours-card{z-index:10;backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #0068b71a;border-radius:16px;flex-direction:column;align-items:center;gap:12px;width:fit-content;min-width:320px;margin-bottom:20px;padding:15px 25px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;box-shadow:0 10px 25px #0068b71a}.hero-hours-card .todays-hours-card,.mobile-tape-wrapper .todays-hours-card{border:2px solid var(--color-accent);background:linear-gradient(135deg,#fffcf0 0%,#fff8e1 100%);border-radius:50px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:fit-content;max-width:100%;margin-bottom:20px;margin-left:auto;margin-right:auto;padding:10px 25px;display:flex;transform:scale(1.02);box-shadow:0 4px 15px #f3980026}.hero-hours-card .todays-hours-card:hover,.mobile-tape-wrapper .todays-hours-card:hover{transform:scale(1.03);box-shadow:0 6px 20px #f3980040}.card-header-row{border-bottom:1px dashed #f398004d;justify-content:center;align-items:center;gap:10px;width:100%;margin-bottom:2px;padding-bottom:2px;display:flex}.hero-hours-card .card-title,.mobile-tape-wrapper .card-title,.hero-hours-card .card-date,.mobile-tape-wrapper .card-date,.time-start,.time-end,.hero-hours-card .card-time,.mobile-tape-wrapper .card-time,.time-sep,.hero-hours-card .card-closed-message,.mobile-tape-wrapper .card-closed-message{font-size:1.1rem;line-height:1.2}.hero-hours-card .card-title,.mobile-tape-wrapper .card-title{color:var(--color-accent);white-space:nowrap;margin:0;font-weight:700}.hero-hours-card .card-date,.mobile-tape-wrapper .card-date{color:var(--color-text);white-space:nowrap;font-weight:800}.card-weekday{margin-left:2px;font-size:.85em}.card-hours-row{justify-content:center;align-items:center;width:100%;display:flex}.card-hours-inline{flex-flow:wrap;justify-content:center;align-items:center;gap:15px;display:flex}.card-time-group{align-items:center;gap:8px;min-width:140px;display:flex}.time-grid{grid-template-columns:1fr auto 1fr;align-items:center;width:100%;display:grid}.time-start,.time-end,.hero-hours-card .card-time,.mobile-tape-wrapper .card-time{color:var(--color-ocean-deep);white-space:nowrap;font-weight:700}.hero-hours-card .card-time,.mobile-tape-wrapper .card-time{text-align:center;width:100%;display:block}.time-start{text-align:right}.time-sep{text-align:center;color:var(--color-ocean-deep);margin:0 6px;font-weight:700}.time-end{text-align:left}.card-label-mini{color:var(--color-primary);white-space:nowrap;background:#00a0e91a;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:.75rem;font-weight:700}.hero-hours-card .card-closed-message,.mobile-tape-wrapper .card-closed-message{color:#ff6b6b;letter-spacing:.05em;white-space:nowrap;align-items:center;gap:8px;font-weight:800;display:flex}.hero-hours-card .card-closed-message:before,.mobile-tape-wrapper .card-closed-message:before{content:"●";color:#ff6b6b;font-size:.8rem;animation:2s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@media (width<=768px){.todays-hours-card{width:100%;min-width:auto;max-width:400px;padding:12px 20px}.hero-hours-card .todays-hours-card,.mobile-tape-wrapper .todays-hours-card{border-radius:30px;padding:12px 20px}.hero-hours-card .card-title,.mobile-tape-wrapper .card-title,.hero-hours-card .card-date,.mobile-tape-wrapper .card-date,.hero-hours-card .card-time,.mobile-tape-wrapper .card-time,.time-start,.time-end,.time-sep,.hero-hours-card .card-closed-message,.mobile-tape-wrapper .card-closed-message{font-size:1.1rem}.card-label-mini{padding:1px 5px;font-size:.7rem}.card-time-group{height:24px}}@media (width<=500px){.hero-hours-card .card-title,.mobile-tape-wrapper .card-title,.hero-hours-card .card-date,.mobile-tape-wrapper .card-date,.hero-hours-card .card-time,.mobile-tape-wrapper .card-time,.time-start,.time-sep,.time-end{font-size:1.1rem}.card-label-mini{padding:2px 7px;font-size:.75rem}.card-time-group{gap:6px}}.news-section{z-index:1;padding:80px 0;position:relative}.news-list{background:var(--color-surface);border:1px solid #00000008;border-radius:12px;max-width:850px;margin:0 auto 50px;padding:20px;box-shadow:0 4px 15px #0000000d}.news-featured{background:#fff;border:1px solid #0068b729;border-radius:8px;max-width:850px;margin:0 auto 24px;overflow:hidden;box-shadow:0 8px 24px #0068b714}.news-featured-link{color:var(--color-text);grid-template-columns:minmax(220px,34%) 1fr;text-decoration:none;display:grid}.news-featured-image{object-fit:cover;background:#f3f7f9;width:100%;height:100%;min-height:210px}.news-featured-content{padding:24px}.news-featured-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.news-featured-label{background:var(--color-accent);color:#fff;border-radius:4px;align-items:center;min-height:28px;padding:3px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.news-featured-date{color:var(--color-secondary);font-size:.9rem;font-weight:700}.news-featured-title{color:var(--color-ocean-deep);margin:0 0 12px;font-size:1.25rem;line-height:1.5}.news-featured-summary{color:#555;margin:0;line-height:1.7}.news-item{border-bottom:1px solid #eee;border-radius:8px;transition:all .3s}.news-item:last-child{border-bottom:none}.news-item:hover{box-shadow:none;background-color:#00a0e90d;transform:translate(5px)}.news-link{color:var(--color-text);align-items:center;padding:20px;text-decoration:none;display:flex}.news-date{font-family:var(--font-sans);color:#fff;background-color:var(--color-secondary);text-align:center;border-radius:4px;min-width:100px;margin-right:20px;padding:4px 12px;font-size:.85rem;font-weight:700}.news-title{font-family:var(--font-sans);color:var(--color-text);margin:0;font-size:1.1rem;font-weight:400}.news-more{text-align:center}.btn-outline{border:1px solid var(--color-primary);color:var(--color-primary);background:0 0;border-radius:30px;padding:12px 40px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.btn-outline:hover{background-color:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #00699433}@media (width<=768px){.news-featured-link{grid-template-columns:1fr}.news-featured-image{aspect-ratio:16/9;min-height:auto}.news-featured-content{padding:20px}.news-featured-title{font-size:1.1rem}.news-link{flex-direction:column;align-items:flex-start}.news-date{margin-bottom:10px;font-size:.95rem}.news-title{font-size:1.05rem}}.hours-section{background-color:#fff9;padding:80px 0;position:relative}.hours-container{background:#fff;border:1px solid #00a0e933;border-radius:30px;max-width:900px;margin:0 auto;padding:50px;position:relative;box-shadow:0 15px 35px #00699426}.mobile-tape-wrapper{justify-content:center;width:100%;margin-bottom:20px;display:flex}.hours-table{border-collapse:separate;border-spacing:0;width:100%;font-family:var(--font-sans);margin-bottom:20px}.hours-table th,.hours-table td{text-align:center;background-color:#0000;border:none;padding:15px 10px}.hours-table th{background-color:var(--color-ocean-light);color:var(--color-ocean-deep);font-size:1.1rem;font-weight:700}.time-col{color:var(--color-ocean-deep);white-space:nowrap;background-color:#0000;font-weight:700}.tooth-icon{color:var(--color-accent);vertical-align:middle;font-size:1.4rem}.cross{color:#ccc;font-size:.9rem;font-weight:700}.hours-note{text-align:right;color:#888;margin-top:15px;font-size:.9rem}@media (width<=768px){.hours-container{border-radius:20px;flex-direction:column;align-items:center;padding:40px 15px 20px;display:flex}.hours-table-wrapper{-webkit-overflow-scrolling:touch;text-align:center;justify-content:center;width:100%;margin-bottom:10px;display:block;overflow-x:auto}.hours-table{border-spacing:0;white-space:nowrap;width:100%;margin:0 auto;display:table}.hours-table th,.hours-table td{padding:8px 2px;font-size:clamp(10px,2.8vw,1rem)}.tooth-icon{font-size:clamp(14px,4vw,1.3rem)}}@media (width>=901px){.hours-section{display:none}}.philosophy-section{padding:80px 0;position:relative;overflow:hidden}.philosophy-section:before{display:none}.philosophy-content{z-index:1;align-items:center;gap:60px;display:flex;position:relative}.philosophy-text{flex:1}.section-title-left{color:var(--color-ocean-deep);border-left:none;margin-bottom:20px;padding-left:0;font-size:2.8rem;line-height:1.2;position:relative}.section-title-left:after{content:"";background-color:var(--color-accent);opacity:.6;border-radius:4px;width:100px;height:8px;margin-top:10px;display:block}.philosophy-subtitle{color:var(--color-text);margin-bottom:30px;font-size:1.3rem;font-weight:700}.philosophy-text p{text-align:justify;margin-bottom:20px;font-size:1.05rem}.philosophy-signature{font-family:var(--font-serif);color:var(--color-ocean-deep);margin-top:30px;margin-bottom:40px;font-weight:700}.btn-primary{background-color:var(--color-accent);color:#fff;border:2px solid #0000;border-radius:255px 15px 225px/15px 225px 15px 255px;padding:15px 50px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block;box-shadow:5px 5px #0000001a}.btn-primary:hover{color:var(--color-accent);border-color:var(--color-accent);background-color:#fff;transform:translate(-2px,-2px);box-shadow:7px 7px #0000001a}.philosophy-image{background:#fff;border-radius:15px;flex:1;padding:6px;position:relative;box-shadow:12px 16px 30px #00527a1a}.philosophy-image img{width:100%;height:auto;box-shadow:none;filter:saturate(.94)contrast(1.015);border:0;border-radius:12px;display:block}@media (width<=768px){.philosophy-content{flex-direction:column}.section-title-left{font-size:2.2rem}.philosophy-subtitle{font-size:1.2rem}.philosophy-text p{font-size:1.05rem}.philosophy-image{width:100%;max-width:280px;margin-top:30px;margin-left:auto;margin-right:auto;padding:5px}}.services-section{background:0 0;padding:60px 0;position:relative}.services-page{width:100%}.services-intro-section{background:#fff;padding:80px 0 120px;position:relative;overflow:hidden}.services-intro-section--transparent{background:0 0;padding-top:0;padding-bottom:40px}.services-intro-section--transparent .services-intro{margin-bottom:40px}.services-intro-section--transparent .services-intro p{color:var(--color-text);font-size:1.1rem;line-height:2}.services-intro{text-align:center;max-width:800px;margin-bottom:60px;margin-left:auto;margin-right:auto}.services-grid{grid-template-columns:repeat(2,1fr);gap:20px;padding:0 20px;display:grid}.service-card{text-align:center;color:inherit;background:#fff;border:1px solid #00000008;border-radius:20px;flex-direction:column;align-items:center;padding:20px;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000000d}.service-card:hover{border-color:var(--color-ocean-light);transform:translateY(-10px);box-shadow:0 20px 40px #00a0e926}.service-card-icon{color:var(--color-primary);background:#f0f8ff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:15px;font-size:2.5rem;transition:transform .3s;display:flex}.service-card-icon img{width:100%;height:100%;display:block}.service-card:hover .service-card-icon{background:#e5f5fa;transform:scale(1.1)rotate(5deg)}.service-card-content{flex-direction:column;flex:1;width:100%;display:flex}.service-subtitle{font-family:var(--font-sans);color:var(--color-accent);letter-spacing:1px;text-transform:uppercase;margin-bottom:5px;font-size:.8rem;font-weight:700;display:block}.service-name{color:var(--color-ocean-deep);margin:0 0 20px;font-size:1.2rem;font-weight:700}.service-desc{color:#666;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-bottom:20px;font-size:.95rem;line-height:1.6;display:-webkit-box;overflow:hidden}.service-card-footer{border-top:1px dashed #eee;width:100%;margin-top:auto;padding-top:15px}.service-link-text{color:var(--color-primary);justify-content:center;align-items:center;gap:5px;font-weight:700;transition:gap .3s;display:flex}.service-card:hover .service-link-text{color:var(--color-secondary);gap:10px}.bubble-container{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.bubble{background:#00a0e91a;border-radius:50%;animation:10s ease-in infinite rise;position:absolute;top:0}.bubble:first-child{width:40px;height:40px;animation-duration:8s;left:10%}.bubble:nth-child(2){width:20px;height:20px;animation-duration:5s;animation-delay:1s;left:20%}.bubble:nth-child(3){width:50px;height:50px;animation-duration:7s;animation-delay:2s;left:35%}@media (width<=768px){.services-grid{grid-template-columns:repeat(2,1fr);gap:15px;padding:0 15px}.service-card{padding:15px}.service-card-icon{width:64px;height:64px;font-size:2.2rem}.service-name{margin:0 0 15px;font-size:1.15rem}.service-desc{font-size:1rem}}.access-section{background-image:radial-gradient(#f0f0f0 1px,#0000 1px);background-size:30px 30px;padding:80px 0;position:relative}.access-content{grid-template-columns:repeat(2,minmax(0,1fr));align-items:flex-start;gap:50px;width:100%;margin-top:50px;display:grid}.access-image-container{width:100%;margin-bottom:40px}.access-exterior-image{object-fit:cover;border:5px solid #fff;border-radius:20px;width:100%;max-width:none;height:auto;max-height:400px;display:block;box-shadow:0 10px 30px #0000001a}.access-info{border:2px solid var(--color-ocean-medium);background:#fff;border-radius:255px 15px 225px/15px 225px 15px 255px;width:100%;min-width:0;padding:40px;box-shadow:10px 10px #88d1ce33}.info-item{border-bottom:2px dashed #eee;margin-bottom:30px;padding-bottom:20px}.info-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.info-item h3{color:var(--color-ocean-deep);align-items:center;gap:10px;margin-bottom:15px;font-size:1.2rem;display:flex}.access-icon{color:var(--color-accent);font-size:1.4rem}.phone-number{color:var(--color-ocean-deep);letter-spacing:.05em;cursor:pointer;font-size:1.8rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.phone-number:hover{color:var(--color-accent);transform:scale(1.05)}.access-map{width:100%;min-width:0;box-shadow:15px 15px 0px var(--color-ocean-medium);z-index:1;border:5px solid #fff;border-radius:30px;height:450px;min-height:450px;position:relative;overflow:hidden}.access-map iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}@media (width<=900px){.access-content{grid-template-columns:minmax(0,1fr);gap:36px}.access-map{border-radius:20px;width:100%;min-height:300px}.access-info{padding:30px 20px}.info-item h3{font-size:1.15rem}.info-item p{font-size:1rem}.phone-number{font-size:1.6rem}}.reservation-info-section{padding:var(--section-py)0;background-color:#f5fbfd}.reservation-info-grid{grid-template-columns:repeat(2,1fr);gap:28px;display:grid}.reservation-info-card{background:#fff;border:1px solid #00a0e91a;border-radius:20px;padding:36px 32px;transition:transform .3s,box-shadow .3s;box-shadow:0 10px 30px #0069941a}.reservation-info-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #00a0e92e}.reservation-info-icon{width:56px;height:56px;color:var(--color-primary);background:#f0f8ff;border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;font-size:1.4rem;display:flex}.reservation-info-card h3{font-size:var(--text-lg);color:var(--color-ocean-deep);border-bottom:2px solid var(--color-accent);margin-bottom:8px;padding-bottom:6px;display:inline-block}.reservation-info-card p{color:#555;line-height:1.8;font-size:var(--text-base);margin-top:14px}.reservation-info-list{flex-direction:column;gap:12px;margin-top:20px;padding:0;list-style:none;display:flex}.reservation-info-list li{color:#555;line-height:1.8;font-size:var(--text-base);background:#f5fbfd;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.reservation-info-list-icon{color:var(--color-primary);flex-shrink:0;margin-top:3px;font-size:1.1rem}.reservation-info-note{color:#888;font-size:var(--text-sm);background:#f5fbfd;border-radius:10px;margin-top:16px;padding:12px 16px;line-height:1.8}@media (width<=768px){.reservation-info-grid{grid-template-columns:1fr}.reservation-info-card{padding:28px 24px}}.patient-guide-section{padding:var(--section-py)0;background:#f5fbfd}.patient-guide-intro{text-align:center;max-width:760px;margin:0 auto 28px}.patient-guide-intro a{color:var(--color-primary);text-underline-offset:4px;text-decoration:underline}.consultation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.consultation-link{color:#333;background:#fff;border:1px solid #c5dce9;border-radius:16px;align-items:center;gap:16px;padding:24px;display:flex}.consultation-icon{background:#f1f9fc;border-radius:50%;flex:0 0 80px;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.consultation-icon img{width:100%;height:100%;display:block}.consultation-content{flex-direction:column;gap:12px;min-width:0;display:flex}.consultation-link strong{color:var(--color-primary)}.consultation-link:hover{border-color:var(--color-primary);background:#edf7fd}.consultation-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}.patient-faq-list{max-width:850px;margin:0 auto 28px}.patient-faq-list details{border-bottom:1px solid #c5dce9;padding:20px 0}.patient-faq-list summary{cursor:pointer;color:#00548f;font-weight:700}.patient-faq-list details p{padding-top:14px;line-height:1.9}@media (width<=900px){.consultation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=540px){.consultation-grid{grid-template-columns:1fr;gap:12px}}@media (width<=1100px){.consultation-link{gap:12px;padding:20px}.consultation-icon{flex-basis:64px;width:64px;height:64px}}.clinic-tour-section{padding:var(--section-py)0;background-color:#fff}.tour-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;display:grid}.tour-item{text-align:center;background:#fff;border:1px solid #00a0e91a;border-radius:20px;transition:transform .3s,box-shadow .3s;overflow:hidden;box-shadow:0 10px 30px #0069941a}.tour-item:hover{transform:translateY(-4px);box-shadow:0 20px 40px #00a0e92e}.tour-image{object-fit:cover;width:100%;height:220px;display:block}.tour-item-body{padding:20px 20px 24px}.tour-item h3{font-size:var(--text-lg);color:var(--color-ocean-deep);border-bottom:2px solid var(--color-accent);margin-bottom:8px;padding-bottom:6px;display:inline-block}.tour-item p{color:#555;line-height:1.7;font-size:var(--text-base);margin-top:10px}.reservation-section{padding:var(--section-py)0;background-color:#f5fbfd}.reservation-grid{grid-template-columns:repeat(2,1fr);gap:28px;display:grid}.reservation-card{background:#fff;border:1px solid #00a0e91a;border-radius:20px;padding:36px 32px;transition:transform .3s,box-shadow .3s;box-shadow:0 10px 30px #0069941a}.reservation-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #00a0e92e}.reservation-card-icon{width:56px;height:56px;color:var(--color-primary);background:#f0f8ff;border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;font-size:1.4rem;display:flex}.reservation-card h3{font-size:var(--text-lg);color:var(--color-ocean-deep);border-bottom:2px solid var(--color-accent);margin-bottom:8px;padding-bottom:6px;display:inline-block}.reservation-card p{color:#555;line-height:1.8;font-size:var(--text-base);margin-top:14px}.reservation-list{flex-direction:column;gap:12px;margin-top:20px;padding:0;list-style:none;display:flex}.reservation-list li{color:#555;line-height:1.8;font-size:var(--text-base);background:#f5fbfd;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.reservation-list-icon{color:var(--color-primary);flex-shrink:0;margin-top:3px;font-size:1.1rem}.payment-note{color:#888;font-size:var(--text-sm);background:#f5fbfd;border-radius:10px;margin-top:16px;padding:12px 16px;line-height:1.8}@media (width<=768px){.tour-image{height:200px}.reservation-grid{grid-template-columns:1fr}.reservation-card{padding:28px 24px}}.services-page-section{padding:var(--section-py)0;background-color:#0000}.services-page-intro{text-align:center;color:#555;max-width:800px;margin:0 auto 40px;line-height:1.8}.staff-page{padding-top:80px;padding-bottom:80px}.staff-intro{text-align:center;max-width:800px;margin-bottom:60px;margin-left:auto;margin-right:auto}.staff-intro p{color:var(--color-text);font-size:1.1rem;line-height:2}.director-section{margin-bottom:100px}.director-card{background:#fff;border:1px solid #00a0e933;border-radius:30px;display:flex;overflow:hidden;box-shadow:0 10px 30px #0069941a}.director-image-container{background:#fff;flex:0 0 35%;padding:20px;position:relative}.director-image{object-fit:cover;width:100%;height:100%;max-height:500px;box-shadow:none;filter:saturate(.94)contrast(1.015);border:0;border-radius:12px;display:block}.director-content{flex-direction:column;flex:1;justify-content:center;padding:50px;display:flex}.director-title{color:var(--color-accent);letter-spacing:.1em;margin-bottom:10px;font-size:1rem;font-weight:700}.director-name{color:var(--color-ocean-deep);font-size:2rem;font-family:var(--font-serif);margin-bottom:30px}.director-name span{opacity:.7;margin-left:15px;font-size:1.2rem}.director-message{margin-bottom:30px}.director-message p{margin-bottom:15px;line-height:1.8}.director-bio h4{color:var(--color-ocean-medium);border-bottom:2px dashed #eee;margin-bottom:15px;padding-bottom:5px;font-size:1.1rem;display:inline-block}.bio-list{font-size:.95rem}.bio-list li{margin-bottom:8px;padding-left:15px;position:relative}.bio-list li:before{content:"";background-color:var(--color-accent);border-radius:50%;width:6px;height:6px;position:absolute;top:10px;left:0}.team-section{margin-bottom:20px}.team-lead{color:var(--color-text);text-align:center;margin:-8px auto 36px;line-height:1.8}.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;display:grid}.team-card{background:#fff;border:1px solid #00a0e933;border-radius:24px;position:relative;overflow:hidden;box-shadow:0 10px 26px #00699417}.team-image-wrap{aspect-ratio:4/5;background:linear-gradient(180deg,#f7fcff 0%,var(--color-ocean-light)100%);position:relative;overflow:hidden}.team-image-wrap:after{content:"";pointer-events:none;background:linear-gradient(#0000,#e1f5fe47);height:36%;position:absolute;inset:auto 0 0}.team-image{object-fit:cover;object-position:center 12%;width:100%;height:100%;display:block}.team-card-content{text-align:center;justify-content:center;align-items:center;gap:10px;min-height:76px;padding:16px 12px;display:flex}.team-card-content h3{color:var(--color-ocean-deep);font-family:var(--font-serif);letter-spacing:.06em;margin:0;font-size:1.15rem}.team-role-number{color:var(--color-ocean-medium);letter-spacing:.08em;font-size:.72rem;font-weight:700}.team-note{color:var(--color-ocean-deep);text-align:center;letter-spacing:.04em;margin-top:30px;font-size:.95rem;font-weight:600}@media (width<=960px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media (width<=768px){.staff-page{padding-top:60px}.staff-intro{margin-bottom:40px;padding:0 15px}.staff-intro p{text-align:left;font-size:.95rem;line-height:1.8}.director-section{margin-bottom:60px}.director-card{border-radius:20px;flex-direction:column}.director-image-container{width:100%;height:auto;max-height:300px;padding:14px}.director-image{object-position:top center;border-radius:10px;max-height:300px}.director-content{padding:25px 20px}.director-name{margin-bottom:20px;font-size:1.5rem}.director-name span{margin-top:5px;margin-left:0;font-size:.9rem;display:block}.director-message p{margin-bottom:10px;font-size:.9rem}.director-bio h4{margin-bottom:10px;font-size:1rem}.bio-list{font-size:.85rem}.team-lead{margin-bottom:24px;padding:0 15px;font-size:.9rem}.team-grid{gap:14px}.team-card{border-radius:18px}.team-card-content{min-height:64px;padding:12px 8px}.team-card-content h3{letter-spacing:.03em;font-size:1rem}.team-role-number{display:none}.team-note{margin-top:24px;padding:0 15px;font-size:.85rem}}@media (width<=420px){.team-grid{gap:10px}.team-card-content h3{font-size:.9rem}}.wave-divider-component{z-index:2;pointer-events:none;width:100%;margin-top:-50px;margin-bottom:-50px;line-height:0;position:relative;overflow:hidden}.wave-divider-component svg{width:calc(100% + 1.3px);height:150px;display:block;position:relative}.wave-divider-component .shape-fill{fill:#fff}.wave-bottom{transform:rotate(180deg)}.wave-flip{transform:scaleX(-1)}.wave-divider-component.wave-bottom{margin-top:-50px;margin-bottom:-50px}.service-page{background:linear-gradient(#e0f7fa 0%,#fff 100%);min-height:100vh;padding-top:80px}.service-hero{background:linear-gradient(135deg,var(--color-ocean-light)0%,#fff 100%);color:var(--color-ocean-deep);text-align:center;border-bottom:2px dashed var(--color-ocean-medium);border-radius:0 0 50% 50%/0 0 20px 20px;padding:30px 0 20px;position:relative}.service-hero-title{font-size:var(--text-3xl);margin-bottom:1rem;font-weight:700}.breadcrumb{font-size:var(--text-sm);opacity:.9;color:var(--color-ocean-medium)}.breadcrumb a{color:var(--color-ocean-medium);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .3s}.breadcrumb a:hover{border-bottom-color:#fff}.hero-wave{width:100%;line-height:0;position:absolute;bottom:0;left:0}.service-content-wrapper{padding:var(--section-py)0}.service-content{background:#fff;border-radius:20px;margin-bottom:40px;padding:40px;line-height:1.8;box-shadow:0 10px 30px #0069941a}.service-content h2{color:var(--color-primary);font-size:var(--text-2xl);margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem}.service-content h2:first-child{margin-top:0}.service-content h3{color:var(--color-text);font-size:var(--text-xl);margin-top:1.5rem;margin-bottom:.8rem}.service-content p{margin-bottom:1.5rem}.service-content ul{margin-bottom:1.5rem;padding-left:1.5rem}.service-content li{margin-bottom:.5rem}.service-navigation{text-align:center;margin-top:40px}.btn-secondary{color:var(--color-primary);border:2px solid var(--color-primary);background-color:#fff;border-radius:50px;padding:12px 30px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.btn-secondary:hover{background-color:var(--color-primary);color:#fff}@media (width<=768px){.service-content{padding:25px}}.service-breadcrumbs{margin-bottom:20px;font-size:.9rem}.service-breadcrumbs a{text-underline-offset:4px;color:inherit;text-decoration:underline}.service-booking{background:#edf7fd;border-radius:16px;margin-top:36px;padding:28px}.service-booking h2{color:#00548f;margin-bottom:12px}.service-booking p{margin:16px 0}.service-booking p a{color:#00548f;text-underline-offset:4px;text-decoration:underline}.service-detail-section{margin-bottom:60px}.service-detail-section h2{text-align:center;color:var(--color-ocean-deep);width:100%;margin-bottom:60px;position:relative}.service-detail-section h2:after{content:"";background-color:var(--color-accent);opacity:.7;border-radius:3px;width:80px;height:6px;margin:15px auto 0;display:block}.service-detail-section h3{color:var(--color-primary);margin-top:30px;margin-bottom:15px}.service-detail-section p{color:#555;margin-bottom:20px;line-height:1.8}.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:30px;display:grid}.feature-card{text-align:center;background:#f9fcff;border:1px solid #e0f7fa;border-radius:15px;padding:25px;transition:transform .3s,box-shadow .3s}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #00a0e91a}.feature-icon{background:#edf7fb;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin:0 auto 15px;display:flex}.feature-icon img{width:80px;height:80px;display:block}.feature-title{color:var(--color-ocean-deep);margin-bottom:10px;font-size:1.1rem;font-weight:700}.treatment-flow{counter-reset:flow-counter;margin-top:30px}.flow-step{background:#fff;border-radius:10px;margin-bottom:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 10px #0000000d}.flow-step:before{counter-increment:flow-counter;content:counter(flow-counter,decimal-leading-zero);background:var(--color-ocean-light);color:var(--color-ocean-deep);min-width:80px;font-size:1.8rem;font-weight:700;font-family:var(--font-sans);justify-content:center;align-items:center;padding:20px;display:flex}.flow-content{flex:1;padding:20px}.flow-title{color:var(--color-primary);margin-bottom:5px;font-size:1.1rem;font-weight:700;display:block}.related-care-link{background:#f9fcff;border:1px solid #d7ecf7;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin:22px 0;padding:18px;display:flex}.related-care-label{color:var(--color-ocean-deep);margin-bottom:6px;font-weight:700;display:block}.related-care-link p{margin:0}.related-care-button{background:var(--color-primary);color:#fff;border-radius:4px;flex:none;justify-content:center;align-items:center;min-height:42px;padding:9px 18px;font-weight:700;text-decoration:none;display:inline-flex}.related-care-button:hover{background:var(--color-ocean-deep)}.faq-list{margin-top:30px}.faq-item{border:1px solid #eee;border-radius:10px;margin-bottom:20px;overflow:hidden}.faq-question{color:var(--color-ocean-deep);background:#f0f8ff;align-items:center;gap:10px;padding:15px 20px;font-weight:700;display:flex}.faq-question:before{content:"Q.";color:var(--color-accent);font-size:1.2rem}.faq-answer{background:#fff;padding:20px;line-height:1.6}.faq-answer:before{content:"A.";color:var(--color-primary);margin-right:10px;font-size:1.2rem;font-weight:700}.comparison-table-wrapper{margin-top:30px;overflow-x:auto}.comparison-table{border-collapse:collapse;width:100%;min-width:600px}.comparison-table th,.comparison-table td{text-align:left;border:1px solid #e0e0e0;padding:15px}.comparison-table th{background:var(--color-ocean-light);color:var(--color-ocean-deep);text-align:center;font-weight:700}.comparison-table tr:nth-child(2n){background:#f9f9f9}@media (width<=768px){.flow-step{flex-direction:column}.flow-step:before{text-align:center;box-sizing:border-box;width:100%;min-height:auto;padding:10px}.service-detail-section h2{font-size:1.8rem}.service-detail-section h3{font-size:1.2rem}.flow-content{text-align:center}.related-care-link{text-align:left;flex-direction:column;align-items:stretch}}@media (width<=480px){.service-detail-section h2{font-size:1.5rem}.service-detail-section h3{font-size:1rem}}.schedule-change-container{background:#fff;border:1px solid #00a0e933;border-radius:15px;margin-bottom:40px;padding:20px;box-shadow:0 5px 15px #0000000d}.schedule-change-title{color:var(--color-accent);text-align:center;border-bottom:2px dashed #eee;margin-bottom:15px;padding-bottom:10px;font-size:1.2rem}.schedule-table-wrapper{overflow-x:auto}.schedule-change-table{border-collapse:collapse;width:100%;font-size:1.3rem}.schedule-change-table th,.schedule-change-table td{text-align:center;border-bottom:1px solid #eee;padding:12px 10px}.schedule-change-table th{color:var(--color-ocean-deep);white-space:nowrap;background-color:#f0f8ff;font-weight:700}.date-cell{color:var(--color-text);white-space:nowrap;font-weight:700}.time-cell.closed{color:#ff6b6b;font-weight:700}.note-cell{color:#666;font-size:.85rem}@media (width<=768px){.schedule-change-table{font-size:1.15rem}.schedule-change-table th,.schedule-change-table td{padding:8px 5px}}.news-detail-page{background-color:#f9fcff;min-height:80vh;padding:120px 0 80px}.news-detail-header{border-bottom:1px solid #eee;margin-bottom:40px;padding-bottom:20px}.news-detail-date{color:#888;margin-bottom:10px;font-size:.9rem;display:block}.news-detail-title{color:var(--color-ocean-deep);font-size:1.8rem;line-height:1.4}.news-detail-content{color:#444;background:#fff;border-radius:20px;margin-bottom:40px;padding:40px;line-height:1.8;box-shadow:0 5px 20px #0000000d}.news-detail-content h3{color:var(--color-primary);border-left:4px solid var(--color-accent);margin-top:30px;margin-bottom:15px;padding-left:10px;font-size:1.3rem}.news-detail-content p{margin-bottom:15px}.news-detail-footer{justify-content:center;gap:20px;display:flex}.btn-back{border:1px solid var(--color-ocean-light);color:var(--color-ocean-deep);border-radius:30px;padding:10px 30px;text-decoration:none;transition:all .3s;display:inline-block}.btn-back:hover{background-color:var(--color-ocean-light);color:#fff}.news-detail-content h4{color:var(--color-ocean-deep);align-items:center;gap:10px;margin-top:40px;margin-bottom:20px;font-size:1.2rem;display:flex}.news-detail-content h4:before{content:"";background-color:var(--color-accent);border-radius:3px;width:6px;height:24px;display:block}.info-box{background-color:#f0f7ff;border:1px solid #e1ecf4;border-radius:12px;margin-bottom:30px;padding:25px}.info-box.accent{background-color:#fff8f0;border-color:#fce8d5}.info-box h5{color:var(--color-ocean-deep);border-bottom:2px solid #0000000d;margin-bottom:15px;padding-bottom:10px;font-size:1.1rem}.check-list{padding-left:0!important;list-style:none!important}.check-list li{margin-bottom:10px;padding-left:30px;font-weight:400;position:relative}.check-list li:before{content:"✔";color:#28a745;font-weight:700;position:absolute;left:0}.step-list{counter-reset:step;padding-left:0!important;list-style:none!important}.step-list li{margin-bottom:15px;padding-left:40px;position:relative}.step-list li:before{counter-increment:step;content:counter(step);background-color:var(--color-ocean-deep);color:#fff;text-align:center;border-radius:50%;width:26px;height:26px;font-size:14px;font-weight:700;line-height:26px;position:absolute;top:2px;left:0}.highlight{color:var(--color-accent);background:linear-gradient(#0000 60%,#f39c1233 60%);font-weight:700}.contact-card{border:2px solid var(--color-ocean-light);text-align:center;background-color:#fff;border-radius:16px;max-width:500px;margin:30px auto 0;padding:15px 25px}.contact-card h5{color:var(--color-ocean-deep);margin-bottom:5px;font-size:1.1rem}.tel-link{color:var(--color-ocean-deep);letter-spacing:.05em;margin:5px 0;font-family:Helvetica Neue,Arial,sans-serif;font-size:2rem;font-weight:700;line-height:1.2;text-decoration:none;display:block}.tel-link:hover{color:var(--color-accent)}.external-link-btn{background-color:var(--color-ocean-deep);color:#fff;border-radius:50px;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:12px 25px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 4px 6px #0000001a}.external-link-btn:hover{background-color:var(--color-ocean-light);transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.note{color:#666;margin-top:15px;font-size:.9rem}.contact-card .note{margin-top:5px}@media (width<=768px){.news-detail-content{padding:20px}.news-detail-title{font-size:1.4rem}.tel-link{font-size:1.5rem}.external-link-btn{width:100%}}#root{width:100%;margin:0;padding:0}.skip-link{z-index:2000;background:var(--color-primary);color:#fff;border-radius:8px;padding:10px 16px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
