:root{--ink:#133b50;--teal:#007e91;--gold:#8b5b0b;--sans:AmuleSans,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--serif:AmuleSerif,'Hiragino Mincho ProN','Yu Mincho',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#eaf3f5;color:var(--ink);font:400 16px/1.85 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}p,h1,h2,figure{margin:0}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #935b00;outline-offset:4px}.svg-library{width:0;height:0;position:absolute;overflow:hidden}.icon{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip-link{position:fixed;left:12px;top:-100px;background:white;padding:8px 16px;z-index:90}.skip-link:focus{top:8px}.site-shell{position:relative;max-width:520px;margin:auto;background:white;box-shadow:0 0 60px #17445016}
.header{position:sticky;top:0;z-index:30;height:94px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px 0 4px;background:#fff;border-bottom:1px solid #d7e9ed;box-shadow:0 3px 16px #174a5510}.brand{display:block;width:132px;flex-shrink:0}.brand img{width:132px;height:auto}.header-tools{display:flex;align-items:center;gap:12px}.header-phone{font-size:12px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:0;white-space:nowrap;color:#006b7c;line-height:1.8}.header-phone .icon{display:none}.header-phone small{font-size:11px;color:#385560;font-weight:400}.menu-toggle{min-height:52px;min-width:48px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;border:1px solid #cbe1e5;border-radius:8px;background:linear-gradient(#fff,#f2f8f9);color:#076778;box-shadow:inset 0 1px #fff,0 2px 0 #d6e4e6,0 4px 8px #10465010;padding:5px}.menu-toggle span{font-size:10px;font-weight:600}.menu-toggle .icon{width:24px;height:24px}.navigation{position:sticky;top:94px;z-index:29;max-height:calc(100dvh - 180px);overflow:auto;background:white;padding:8px 24px;box-shadow:0 16px 26px #163c5529}.navigation a{display:block;padding:14px 0;border-bottom:1px solid #deebee;font-size:15px;font-weight:600}.navigation a:last-child{border:0}
.hero{position:relative;isolation:isolate;aspect-ratio:4/5;min-height:440px;background:#c0e8ff;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#f4fbfff7 0%,#f1faffeb 31%,#eff9ffbd 43%,#effaff18 55%,transparent 64%)}.hero-copy{position:relative;width:49%;padding:32px 0 65px 20px}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:600;color:#007285}.hero-eyebrow{font-size:12px;letter-spacing:.02em;line-height:1.6;margin-bottom:16px}h1{font-family:var(--serif);font-weight:600;letter-spacing:.02em;line-height:1.5}.intro{display:block;font-size:clamp(23px,6.4vw,32px);line-height:1.5;margin-bottom:6px}.key-line{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.key-line em{font-style:normal;color:var(--gold);font-size:clamp(46px,13.3vw,68px);letter-spacing:.025em;line-height:1.35;text-shadow:0 1px 0 #fff}.join{font-size:25px}.ending{display:block;font-size:clamp(25px,6.7vw,34px);line-height:1.5;margin-top:2px}.gold-rule{display:block;width:70px;height:2px;background:linear-gradient(90deg,#9b7022,#d6bc7c);margin:16px 0 12px}.hero-sub{font-size:13px;line-height:1.9;font-weight:600;letter-spacing:0}.hero-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;background:linear-gradient(90deg,#fffffff2,#ffffffe0);border-top:1px solid #fffc;font-size:13px;font-weight:600;letter-spacing:.04em;padding:9px 8px;color:#1c495b}
.booking-strip{position:relative;padding:19px 12px 25px;background:linear-gradient(#fff,#effafa)}.reservation-label{display:flex;justify-content:center;align-items:center;gap:9px;font-size:13px;font-weight:600;margin-bottom:13px;color:#315b68}.booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.phone{--base:#082e49;background:linear-gradient(145deg,#2c668b,#113f63 56%,#092e4c)}.web{--base:#705019;background:linear-gradient(145deg,#a47a31,#875e1b 56%,#775010)}.line{--base:#005724;background:linear-gradient(145deg,#168947,#087235 56%,#00632a)}.reserve-button{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;min-height:119px;padding:13px 3px 15px;border:1px solid #ffffffb8;border-radius:10px;color:#fff;text-align:center;box-shadow:inset 0 1px 0 #ffffffb3,inset 0 -1px 0 #0003,0 4px 0 var(--base),0 8px 12px #123b5529;transition:transform .15s,box-shadow .15s}.reserve-button>.icon:first-child{width:27px;height:27px;margin-bottom:7px;stroke-width:1.9}.reserve-button strong{font-size:clamp(14px,3.95vw,20px);font-weight:600;line-height:1.5;white-space:nowrap}.button-sub{font-size:13px;font-weight:600;line-height:1.65;white-space:nowrap;margin-top:4px}.phone .button-sub{font-size:11.5px;letter-spacing:-.02em}.reserve-button .button-arrow{position:absolute;right:5px;top:9px;width:13px;height:13px}.reserve-button:active,.contact-link:active,.outline-button:active{transform:translateY(3px);box-shadow:inset 0 1px 0 #fff7,0 1px 0 var(--base),0 2px 5px #143b4920}
.features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:4px 12px 10px;background:#effafa}.feature{aspect-ratio:1;border:1.5px solid #ba9751;border-radius:50%;background:linear-gradient(145deg,#fff,#fbf7ec);box-shadow:inset 0 0 0 3px white,0 4px 9px #175c6817;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;text-align:center}.feature .icon{width:25px;height:25px;color:#17465a}.feature p{font-size:clamp(11px,3.15vw,16px);font-weight:600;line-height:1.45}.feature b{font-weight:600}.feature:first-child b{color:#835b13}.mark{font-size:9px}.insurance-note{font-size:12px;line-height:1.7;padding:0 16px 18px;background:#effafa;color:#415c64;text-align:center}.exterior img{width:100%;height:auto}.exterior figcaption{display:flex;align-items:center;justify-content:center;gap:6px;background:#066c7d;color:#fff;padding:11px;font-size:13px}.exterior .icon{width:18px;height:18px}
.section{padding:43px 25px}.section .eyebrow{margin-bottom:14px}h2{font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.65;letter-spacing:.03em}.about{text-align:center;background:linear-gradient(#edf8f9,#fff)}.about h2{margin-bottom:23px}.section p:not(.eyebrow){font-size:15px;line-height:2.1}.about p+p{margin-top:15px}.outline-button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;margin-top:25px;padding:13px 15px;border:1px solid #8bb5bd;border-radius:7px;background:linear-gradient(#fff,#f1f8f9);font-size:14px;font-weight:600;color:#005b6d;box-shadow:inset 0 1px white,0 3px 0 #c9dfe3,0 6px 10px #1644530d}.outline-button .icon{width:18px;height:18px}.access{border-top:1px solid #deebed}.access h2{margin-bottom:20px}.access dl{margin:0}.access dl>div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;padding:16px 0;border-bottom:1px solid #e0edef;font-size:14px}.access dt{color:#006b7d;font-weight:600}.access dd{margin:0;line-height:1.9}.access small{font-size:12px}.consultation{text-align:center;background:#eff8f8}.consultation h2{font-size:23px;margin-bottom:15px}.large-phone{display:flex;justify-content:center;align-items:center;gap:10px;color:#006176;font-size:28px;font-weight:600;margin:20px 0}.large-phone .icon{width:25px;height:25px}.contact-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-link{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 6px;border:1px solid #ffffffb0;border-radius:7px;font-size:16px;font-weight:600;color:white;box-shadow:inset 0 1px #fff9,0 3px 0 var(--base),0 6px 10px #143b4920;transition:transform .15s,box-shadow .15s}.contact-link .icon{width:16px;height:16px}footer{text-align:center;background:#075b6b;color:white;padding:28px 16px calc(103px + env(safe-area-inset-bottom));font-size:13px}footer p{font-size:11px;margin-top:12px;letter-spacing:.02em}
.bottom-dock{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:520px;margin:auto;z-index:35;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #d6e7eb;background:#fff;box-shadow:0 -5px 22px #163c5518}.bottom-dock a{display:flex;justify-content:center;align-items:center;gap:5px;min-height:48px;border:1px solid #ffffff91;border-radius:7px;color:white;font-size:12px;font-weight:600;box-shadow:inset 0 1px #fff9,0 3px 0 var(--base),0 5px 8px #103c5015}.bottom-dock .icon{width:19px;height:19px}.bottom-dock a:active{transform:translateY(2px)}
@media(min-width:440px){.header{padding-right:20px}.brand,.brand img{width:138px}.header-phone{font-size:14px}.hero-copy{padding-top:42px;padding-left:26px}.hero-sub{font-size:15px}.hero-eyebrow{font-size:14px}.reserve-button{min-height:128px}.button-sub{font-size:15px}.phone .button-sub{font-size:14px}.feature .icon{width:30px;height:30px}.bottom-dock a{font-size:14px}}
@media(max-width:359px){.header{height:86px;padding-right:9px}.brand,.brand img{width:119px}.header-tools{gap:7px}.header-phone{font-size:11px}.header-phone small{font-size:10px}.menu-toggle{min-width:44px}.navigation{top:86px}.hero-copy{padding:27px 0 62px 15px;width:50%}.hero-eyebrow{font-size:11px;margin-bottom:16px}.intro{font-size:22px}.key-line em{font-size:44px}.ending{font-size:24px}.hero-sub{font-size:12px}.hero-caption{font-size:11px}.booking-strip{padding-left:9px;padding-right:9px}.booking-grid{gap:6px}.reserve-button{min-height:115px}.reserve-button strong{font-size:13px}.button-sub{font-size:12px}.phone .button-sub{font-size:10.5px}.features{padding-left:9px;padding-right:9px;gap:5px}.feature .icon{width:21px;height:21px}.feature{gap:3px}.feature p{font-size:10.5px}.insurance-note{font-size:11px}.section{padding-left:20px;padding-right:20px}.section p:not(.eyebrow){font-size:14px}.access dl>div{grid-template-columns:48px minmax(0,1fr);font-size:13px}.consultation h2{font-size:21px}.large-phone{font-size:25px}.bottom-dock{gap:6px;padding-left:8px;padding-right:8px}.bottom-dock a{font-size:11px;gap:3px}.bottom-dock .icon{width:17px;height:17px}}
@media(hover:hover){.reserve-button:hover,.contact-link:hover{filter:brightness(1.06)}.outline-button:hover{background:#eaf4f6}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
