:root{--pink:#c82f72;--pink-dark:#a91b59;--pink-soft:#fff0f6;--blue:#0875b7;--blue-dark:#064a76;--blue-soft:#eaf6fc;--ink:#192f43;--muted:#526371;--line:#dce5ea;--white:#fff;--radius:24px;--shadow:0 18px 50px #192f430b}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:"Trebuchet MS",Arial,sans-serif;font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-underline-offset:4px}img{max-width:100%;display:block}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.1;letter-spacing:-.04em}h1,h2{font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;font-weight:900}h1{font-size:clamp(3.7rem,6.7vw,6.7rem);line-height:.99;letter-spacing:-.065em}h1 em{font-style:normal;color:var(--pink)}h2{font-size:clamp(2.3rem,4vw,3.65rem)}h3{font-size:1.7rem}p{color:var(--muted)}.wrap{width:min(1160px,calc(100% - 72px));margin-inline:auto}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.13em;color:var(--pink);margin-bottom:24px}.topline{background:var(--pink);color:white;min-height:36px;display:flex;justify-content:space-between;align-items:center;padding:6px max(36px,calc((100% - 1160px)/2));font-size:.8rem;gap:12px}.topline a{text-decoration:none}.site-header{background:#ffffffed;backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid #edf0f3}.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:900;font-size:1.3rem;line-height:1.2;letter-spacing:-.035em}.brand img{width:64px;height:64px;border-radius:50%}.brand small{display:block;font-size:.75rem;letter-spacing:.2em;color:var(--pink);margin-top:7px}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav>a{text-decoration:none;font-size:.9rem;font-weight:700}.site-header nav>a:hover{color:var(--pink)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 24px;border:1px solid var(--pink);border-radius:10px;background:var(--pink);color:white;text-decoration:none;font-weight:800;font-size:.94rem;line-height:1.4;transition:background .18s,transform .18s;gap:9px}.button:hover{background:var(--pink-dark);border-color:var(--pink-dark);transform:translateY(-2px);color:white!important}.button.outline{background:white;color:var(--ink);border-color:#cdd9e0}.button.outline:hover{background:var(--pink-soft);color:var(--pink)!important}.button.small{min-height:44px;padding:11px 19px}.button.blue{background:var(--blue);border-color:var(--blue)}.button.blue:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.actions{display:flex;flex-wrap:wrap;gap:12px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;padding-top:66px;padding-bottom:74px}.hero-copy{padding:8px 0}.hero-intro{max-width:465px;font-size:1.1rem;line-height:1.8;margin:28px 0 30px}.hero-note{display:flex;align-items:center;gap:12px;font-size:.85rem;margin-top:32px;color:var(--muted)}.hero-note>span:first-child{font-size:1.8rem;color:var(--pink);line-height:1}.hero-note b{padding:0 6px;color:var(--pink)}.hero-art{position:relative;padding:14px 0 25px 10px}.photo-frame{background:white;border:12px solid var(--pink-soft);border-radius:46% 46% 16px 16px;overflow:hidden;aspect-ratio:.93;transform:rotate(3deg);box-shadow:var(--shadow)}.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:left center;max-width:none}.photo-label{position:absolute;bottom:0;left:-12px;background:var(--blue);color:white;border:5px solid white;border-radius:17px;display:flex;align-items:center;gap:15px;padding:16px 23px;transform:rotate(-5deg);font-size:.9rem;line-height:1.5;box-shadow:var(--shadow)}.photo-label>span{font-size:3rem;line-height:1}.photo-label strong{font-size:1.05rem}.floating-tag{position:absolute;right:-6px;top:25px;background:var(--pink);color:white;font-size:.75rem;letter-spacing:.1em;font-weight:800;padding:11px 16px;border-radius:6px;transform:rotate(8deg)}.service-ribbon{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,64px);background:var(--blue-soft);color:var(--blue-dark);border-top:1px solid #d5eaf5;border-bottom:1px solid #d5eaf5;padding:22px 20px;font-size:.9rem;letter-spacing:.13em;font-weight:800}.service-ribbon span:nth-child(even){color:var(--pink);font-size:1.2rem}.site-footer{background:var(--ink);color:#fff;padding:35px 0}.site-footer .wrap{display:flex;justify-content:space-between;gap:24px}.site-footer p{color:#fff}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:#fff;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.menu-toggle{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:8px;color:var(--ink)}[hidden]{display:none!important}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.topline{padding-inline:20px}.site-header nav{gap:16px}.brand{font-size:1.05rem}.brand img{width:52px;height:52px}.hero{gap:26px;padding-block:48px 60px}h1{font-size:4.6rem}.hero-intro{font-size:1rem}.floating-tag{font-size:.75rem;right:-4px;padding:8px 10px}.service-ribbon{gap:22px;font-size:.75rem}.hero .actions .button{padding-inline:16px}}
@media(max-width:700px){html{scroll-padding-top:90px}.topline{justify-content:center;text-align:center;font-size:.75rem}.topline>span:first-child{display:none}.header-inner{min-height:80px;flex-wrap:wrap;gap:0}.brand{font-size:1.05rem}.brand img{width:52px;height:52px}.brand small{font-size:.75rem}.site-header nav{width:100%;padding:10px 0 20px;flex-wrap:wrap;justify-content:center;gap:18px}.js .menu-toggle{display:block}.js .site-header nav{display:none}.js .site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:40px;gap:30px}.hero-copy{text-align:center}.hero .eyebrow{font-size:.75rem;margin-bottom:22px}h1{font-size:clamp(3.3rem,13vw,5.4rem)}.hero-intro{margin:24px auto;max-width:440px}.hero .actions,.hero-note{justify-content:center}.hero-note{margin-top:24px;font-size:.8rem}.hero-art{width:min(410px,90%);margin-inline:auto}.photo-frame{aspect-ratio:1.03}.photo-label{padding:12px 18px;font-size:.78rem}.photo-label strong{font-size:.94rem}.floating-tag{font-size:.75rem}.service-ribbon{gap:16px;flex-wrap:wrap;padding:18px 12px;font-size:.75rem}.service-ribbon span:nth-last-child(-n+2){display:none}.site-footer .wrap{flex-direction:column;gap:12px}.actions .button{min-height:50px}}
.menu-toggle{display:none}.photo-frame img{transform:scale(1.09);transform-origin:left center}.section{padding-block:92px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:42px}.section-head>p{max-width:380px}.section-head .eyebrow{margin-bottom:17px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{padding:30px 28px;border-radius:var(--radius);border:1px solid var(--line);display:flex;flex-direction:column}.service-card.shop{background:var(--blue-soft);border-color:#d9edf8}.service-card.salon{background:var(--pink-soft);border-color:#f6dce8}.service-card.boarding{background:#faf9fd;border-color:#e5e1ed}.card-top{display:flex;gap:13px;align-items:center;margin-bottom:36px}.service-symbol{font-size:2.2rem;font-weight:800;line-height:1;color:var(--blue);letter-spacing:-.06em}.salon .service-symbol{color:var(--pink)}.boarding .service-symbol{color:#765a9e}.category{font-size:.75rem;font-weight:800;letter-spacing:.075em;line-height:1.5;max-width:130px}.service-card h3{margin-bottom:16px}.service-card>p{margin-bottom:25px;font-size:.97rem}.card-detail{font-size:.85rem;border-top:1px solid #192f4318;padding-top:22px;margin-top:auto;color:var(--muted)}.text-link{font-weight:800;font-size:.91rem;text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:26px;color:var(--blue-dark)}.text-link span{font-size:1.35rem}.text-link:hover{text-decoration:underline}.salon .text-link{color:var(--pink-dark)}.hotel-section{background:var(--blue-dark);padding:80px 0;color:white}.hotel-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:100px}.hotel-section .eyebrow{color:#abdffa}.hotel-section h2{font-size:clamp(3rem,5vw,4.8rem);line-height:1.05}.hotel-section h2 em{font-style:normal;color:#ffafd0}.hotel-intro{color:#d9eaf4;margin:25px 0 28px;max-width:375px}.button.white{background:white;border-color:white;color:var(--blue-dark)}.button.white:hover{background:var(--blue-soft);color:var(--blue-dark)!important}.hotel-details{padding-top:6px}.hotel-kicker{color:#b7d7eb;font-size:.75rem;letter-spacing:.13em;font-weight:800}.care-item{display:flex;gap:24px;padding:26px 0;border-bottom:1px solid #ffffff30}.care-item>span{font-size:.9rem;color:#a9d8f3;font-weight:800;padding-top:4px}.care-item h3{font-size:1.3rem;letter-spacing:-.02em;line-height:1.3;margin-bottom:8px}.care-item p{color:#d9eaf4;font-size:.94rem}.hotel-note{color:#b7d7eb;font-size:.82rem;margin-top:23px}.inquiry-section{background:#fff5f9}.inquiry-grid{display:grid;grid-template-columns:.9fr 1fr;gap:80px;align-items:start}.inquiry-copy{padding-top:18px}.inquiry-copy>p:not(.eyebrow){margin-top:25px;max-width:400px}.steps{padding:0;list-style:none;display:grid;gap:25px;margin:37px 0}.steps li{display:flex;gap:16px}.steps li>span{flex-shrink:0;border-radius:50%;background:white;border:1px solid #f0c7d9;color:var(--pink);font-size:.85rem;font-weight:800;width:36px;height:36px;display:grid;place-items:center}.steps strong{font-size:.98rem}.steps p{font-size:.89rem;margin-top:3px}.direct-chat{border-top:1px solid #edcfdb;padding-top:25px;font-size:.91rem;display:grid;gap:6px}.direct-chat a{color:var(--pink-dark);font-weight:700}.inquiry-panel{background:#fff;padding:32px;border:1px solid #f0dee5;border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.form-title h3{font-size:1.5rem;margin-bottom:8px}.form-title p{font-size:.78rem;margin-bottom:22px}label{display:block;font-size:.875rem;font-weight:800;margin-top:17px;margin-bottom:6px}label span{color:var(--muted);font-weight:400}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #bccbd4;border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink);font-size:1rem;line-height:1.5}input,select{min-height:48px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#75838e;font-size:.88rem}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #b02055}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row>div{min-width:0}.field-hint{font-size:.76rem;margin-top:7px;line-height:1.55}.form-submit{width:100%;margin-top:23px}.form-disclaimer{font-size:.76rem;line-height:1.6;margin-top:13px}.form-error{border-left:3px solid #b02055;padding:10px 12px;background:#fff0f5;color:#a3164b;margin-top:18px;font-size:.88rem}.message-result>.eyebrow{font-size:.75rem;margin-bottom:16px}.message-result h3{font-size:1.6rem}.message-result>p:not(.eyebrow){margin-top:15px}.message-result textarea{background:#f8fafc;font-size:.9rem;min-height:260px}.message-result .actions{margin-top:20px}.message-result .actions>*{flex:1}.edit-button{border:0;background:none;color:var(--pink-dark);font-weight:800;text-decoration:underline;text-underline-offset:4px;font-size:.9rem;padding:10px 0;margin-top:10px}.notice{background:var(--pink-soft);padding:20px}.visit-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;align-items:start}.address-card{background:var(--blue-soft);border:1px solid #d8ebf6;border-radius:var(--radius);padding:38px}.location-label{color:var(--blue-dark);font-size:.75rem;letter-spacing:.13em;font-weight:800}.address-card h3{font-size:2rem;margin-top:10px}.address-card address{font-style:normal;margin:22px 0 28px;color:var(--muted);font-size:1.06rem;line-height:1.8}.contact-list>div{border-bottom:1px solid var(--line);padding:21px 0}.contact-list>div:first-child{padding-top:0}.contact-list a{font-size:1.3rem;display:block;text-decoration:none;font-weight:700;line-height:1.8}.contact-list a:hover{text-decoration:underline;color:var(--pink)}.contact-label{display:block;font-size:.75rem;letter-spacing:.11em;font-weight:800;color:var(--muted);margin-bottom:10px}.contact-list a.email{font-size:1rem;overflow-wrap:anywhere}.contact-list .social-links{display:flex;gap:24px;flex-wrap:wrap}.contact-list .social-links a{font-size:.95rem;color:var(--blue-dark)}.faq-section{display:grid;grid-template-columns:.85fr 1.3fr;gap:60px;border-top:1px solid var(--line);padding-top:66px}.faq-section h2{font-size:2.8rem}.faq-section .eyebrow{margin-bottom:18px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;position:relative;font-size:1rem;font-weight:800;list-style:none;padding:22px 35px 22px 0;line-height:1.5}summary::-webkit-details-marker{display:none}summary::after{content:'+';color:var(--pink);position:absolute;right:3px;top:17px;font-size:1.4rem;font-weight:400}details[open]>summary::after{content:'−'}.faq-list details p{padding:0 25px 22px 0;font-size:.93rem}.closing-strip{background:var(--pink);color:white;padding:47px 0}.closing-strip .wrap{display:flex;justify-content:space-between;gap:35px;align-items:center}.closing-strip p{color:white;font-size:.75rem;letter-spacing:.16em;font-weight:800;margin-bottom:10px}.closing-strip h2{font-size:2.25rem}.closing-strip .button{flex-shrink:0;color:var(--pink-dark)}.footer-top{align-items:center;padding-bottom:35px}.site-footer .brand small{color:#ffaacc}.site-footer .brand{font-size:1.15rem}.site-footer .footer-top>p{color:#c4d2de;font-size:.9rem}.site-footer .footer-top>a:last-child{font-size:.9rem;color:#ffbdd7}.site-footer .footer-bottom{font-size:.75rem;border-top:1px solid #ffffff26;padding-top:23px}.site-footer .footer-bottom p{color:#c4d2de}.mobile-contact{display:none}
@media(max-width:1000px){.hotel-grid{gap:55px}.inquiry-grid{gap:45px}.service-card{padding:25px 22px}.category{font-size:.75rem}.visit-grid{gap:40px}.inquiry-panel{padding:25px}.section{padding-block:72px}.faq-section{gap:40px}.hotel-section{padding-block:68px}}
@media(max-width:700px){.section{padding-block:58px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:20px;max-width:none}.section-head .eyebrow{font-size:.75rem}.service-grid{grid-template-columns:1fr;gap:17px}.service-card{padding:26px}.card-top{margin-bottom:23px}.category{max-width:none;font-size:.75rem}.service-card h3{font-size:1.85rem}.card-detail{padding-top:18px}.service-card>p{margin-bottom:22px}.hotel-grid,.inquiry-grid,.visit-grid,.faq-section{grid-template-columns:1fr;gap:38px}.hotel-section{padding-block:58px}.hotel-section h2{font-size:3.5rem}.hotel-intro{max-width:450px}.hotel-grid{gap:42px}.inquiry-copy{padding-top:0}.inquiry-copy>p:not(.eyebrow){max-width:none}.inquiry-grid{gap:32px}.inquiry-panel{padding:23px 20px}.form-row{gap:12px}.form-row label{font-size:.875rem}.form-title h3{font-size:1.35rem}.form-disclaimer{font-size:.8rem}.address-card{padding:28px}.address-card .button{padding-inline:16px}.contact-list .social-links{gap:20px}.faq-section h2{font-size:2.5rem}.faq-section{gap:28px}.closing-strip .wrap{display:block}.closing-strip h2{font-size:2.1rem;line-height:1.15}.closing-strip .button{margin-top:23px}.footer-top{align-items:flex-start}.site-footer{padding-bottom:108px}.mobile-contact{position:fixed;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));bottom:0;left:0;right:0;z-index:19}.mobile-contact a{font-size:.86rem;font-weight:800;text-decoration:none;text-align:center;padding:10px 8px;border-radius:8px;border:1px solid var(--pink);background:white;color:var(--pink-dark)}.mobile-contact a:last-child{background:var(--pink);color:#fff}.message-result .actions{flex-direction:column}.photo-frame img{transform:scale(1.19)}}
@media(max-width:360px){.form-row{grid-template-columns:1fr;gap:0}.brand{font-size:.94rem}.brand img{width:44px;height:44px}.menu-toggle{padding:8px}.hero .actions{flex-direction:column}.service-ribbon{gap:9px}.hero-note b{padding:0 3px}.wrap{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
