@import url('https://fonts.googleapis.com/css2?family=Yomogi&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');
:root{--cream:#fcf8ed;--ink:#334d3f;--green:#536e50;--pink:#efb5a2;--line:#d9decd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Zen Maru Gothic',sans-serif;font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a25034;outline-offset:5px}.proposal{text-align:center;background:#e9eddf;font-size:11px;padding:4px;letter-spacing:.15em}header{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 44px}.logo{font-weight:900;font-size:29px;letter-spacing:.07em;line-height:1.2}.logo span{display:block;font-family:sans-serif;font-size:8px;font-weight:500;letter-spacing:.21em;margin-top:9px}nav{display:flex;gap:30px;font-size:13px}.button,.outline{display:inline-flex;align-items:center;justify-content:center;gap:35px;border:1px solid var(--green);border-radius:100px;padding:15px 28px;background:var(--green);color:white;font-weight:700;font-size:14px}.button:hover{background:#344d39}.button.small{font-size:12px;padding:11px 23px}.outline{background:transparent;color:var(--ink)}.outline:hover{background:#e8ecdF}.hero{max-width:1280px;padding:45px 70px 100px;margin:auto;display:grid;grid-template-columns:1fr 1.2fr;gap:35px;min-height:670px;align-items:center}.eyebrow{font:11px sans-serif;letter-spacing:.19em;font-weight:600}.tag{font-size:12px;letter-spacing:.1em;margin-top:27px}h1{font-size:clamp(40px,4.5vw,65px);line-height:1.43;letter-spacing:.06em;margin:18px 0 25px;font-weight:700}h1 span{color:#ce8a70}.intro{font-size:14px;line-height:2.2;margin-bottom:25px}.tiny{font-size:10px;margin-top:18px}.hero-photos{height:530px;position:relative}.big-photo{position:absolute;inset:0 0 50px 45px;transform:rotate(4deg);background:white;padding:13px 13px 37px;border-radius:46% 46% 7px 7px;box-shadow:0 12px 30px #334d3f0d}.big-photo img{height:100%;width:100%;object-fit:cover;border-radius:47% 47% 2px 2px}.big-photo span{display:block;text-align:center;font-size:11px;letter-spacing:.1em}.little-photo{position:absolute;bottom:-10px;left:-15px;width:185px;padding:8px 8px 22px;background:white;transform:rotate(-10deg);box-shadow:0 8px 25px #334d3f16}.little-photo img{width:100%;aspect-ratio:1;object-fit:cover}.little-photo span{font-size:11px;display:block;text-align:center}.seal{position:absolute;right:-20px;bottom:6px;background:var(--pink);width:120px;height:120px;border-radius:50%;display:grid;place-content:center;text-align:center;font-weight:700;transform:rotate(12deg);font-size:16px}.ribbon{padding:21px;background:#e9eddf;text-align:center;font:12px sans-serif;letter-spacing:.2em;overflow:hidden;white-space:nowrap}.ribbon span{margin:0 60px;font-family:'Zen Maru Gothic',sans-serif;font-size:13px}.album,.menu{max-width:1200px;margin:auto;padding:90px 45px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}h2{font-size:35px;line-height:1.6;letter-spacing:.07em;margin:14px 0}p{margin:12px 0}.section-head p:not(.eyebrow){font-size:13px}.flower{font-size:35px;color:#c68f55;margin-left:20px}.album-note{font-size:18px;transform:rotate(5deg);border-bottom:2px dashed #b5bba9;padding:15px}.album-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px;font-size:12px}.pill{background:#e5eadb;padding:7px 20px;border-radius:30px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px 23px}.photo{min-width:0;border:0;padding:0;background:transparent;color:var(--ink);text-align:left}.photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px;transition:transform .2s}.photo:hover img{transform:translateY(-5px)}.photo-caption{display:flex;justify-content:space-between;font-size:11px;padding:11px 3px}.photo-caption span:last-child{color:#6b7c61}.album>#more{display:flex;margin:35px auto 15px;min-width:230px}.source-note{font-size:11px;color:#657360;line-height:1.9}.album>.source-note{text-align:center}.archives{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:40px;padding:20px 0}.archives summary{cursor:pointer;font-size:14px;display:flex;justify-content:space-between}.archives p{font-size:12px}.archives #months{display:flex;gap:12px;flex-wrap:wrap}.archives a{border:1px solid var(--line);border-radius:25px;font-size:12px;padding:6px 18px}.about{background:#e9eddf;padding:80px max(6vw,calc((100vw - 1100px)/2));display:grid;grid-template-columns:1fr 1.2fr;gap:60px}.about>div>p{font-size:13px}.promises article{display:flex;gap:25px;padding:20px 0;border-bottom:1px solid #cad3bf}.promises article>span{font:italic 25px Georgia;color:#829477}h3{font-size:18px;line-height:1.8;margin:0 0 9px}.promises p{font-size:12px}.text-link{font-size:12px;border-bottom:1px solid #94a18c;padding-bottom:5px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.menu-grid article{border-top:1px solid var(--ink);padding:28px 0}.menu-grid article>span{font:10px sans-serif;letter-spacing:.15em}.menu-grid h3{font-size:23px;margin-top:15px}.menu-grid p{font-size:13px}.contact{text-align:center;padding:75px 20px 85px;background:#f2e7d6;border-radius:100px 100px 0 0}.contact p{font-size:13px}.contact-buttons{display:flex;justify-content:center;gap:14px;margin:30px 0 25px}.contact h2{font-size:36px}footer{max-width:1200px;margin:auto;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer>a:last-child{font-size:10px}dialog{border:0;border-radius:20px;padding:18px;background:var(--cream);max-width:90vw;color:var(--ink)}dialog::backdrop{background:#1e3029d9}dialog>img{display:block;max-width:80vw;max-height:70vh;border-radius:10px}#close{position:absolute;right:22px;top:22px;width:40px;height:40px;border:0;border-radius:50%;font-size:28px;background:white}.viewer-controls{display:flex;justify-content:space-between;align-items:center;padding-top:10px}.viewer-controls button{background:transparent;border:1px solid var(--line);border-radius:50%;width:40px;height:40px}@media(max-width:760px){header{padding:22px}.logo{font-size:24px}nav{display:none}.button.small{padding:10px 16px}.hero{padding:25px 25px 65px;grid-template-columns:1fr;gap:30px}.hero h1{font-size:44px}.hero-copy{padding:0 7px}.hero-photos{height:430px;margin:0 20px}.big-photo{inset:0 0 35px 30px}.little-photo{width:145px;bottom:-5px}.seal{width:95px;height:95px;font-size:14px;right:-15px}.ribbon span{margin:0 25px}.album,.menu{padding:60px 22px}h2{font-size:28px}.album-note{display:none}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.photo-caption{font-size:10px}.section-head{align-items:flex-start;gap:20px;flex-direction:column}.about{padding:55px 25px;grid-template-columns:1fr;gap:15px}.menu-grid{gap:20px;grid-template-columns:1fr}.contact{border-radius:45px 45px 0 0;padding:55px 20px}.contact h2{font-size:28px}.contact-buttons{flex-direction:column;max-width:300px;margin:25px auto}.contact p{font-size:12px}footer{padding:35px 22px;align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.photo img{object-fit:contain;background:#eee8da}.photo-caption{font-size:12px;gap:8px}.photo-caption span:last-child{white-space:normal;overflow-wrap:anywhere}.big-photo{border-radius:28px;inset:25px 0 50px 30px;padding-bottom:35px}.big-photo img{object-fit:contain;border-radius:16px;background:#f4eee2}.little-photo img{object-fit:contain}.viewer-controls{gap:12px;font-size:12px}.viewer-controls button{flex-shrink:0}

.welcome{text-align:center;padding:45px 0 55px;overflow:hidden}.welcome h1{font-size:clamp(32px,4.4vw,58px);margin:18px 15px;line-height:1.5}.mobile-break{display:none}.welcome-copy{font-size:14px;line-height:2.1}.friends-heading{margin-top:38px}.friends-heading>span{font:10px sans-serif;letter-spacing:.2em;color:#73816c}.friends-heading h2{font-size:24px;margin:8px 0 23px}.friends-heading h2 span{color:#c48a75;margin-left:12px}.portrait-rail{display:flex;gap:18px;overflow-x:auto;padding:12px max(22px,calc((100vw - 1120px)/2)) 22px;scrollbar-width:thin;scrollbar-color:#a6b29a transparent}.portrait-card{flex:0 0 clamp(180px,22vw,275px);margin:0;background:white;padding:9px;border-radius:18px;box-shadow:0 6px 16px #334d3f0a}.portrait-card img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:12px}.portrait-card figcaption{font-size:10px;color:#6e7b64;padding:7px 0 0;letter-spacing:.13em}.rail-controls{display:flex;justify-content:center;align-items:center;gap:10px;margin:16px 18px 24px;flex-wrap:wrap}.rail-controls button{border:1px solid #bbc6af;background:transparent;color:var(--ink);border-radius:30px;padding:6px 14px;font-size:12px}.rail-controls span{font-size:11px;margin-left:12px}.salon-intro{max-width:1180px;margin:0 auto;padding:65px 45px;display:grid;grid-template-columns:1fr 1.1fr;gap:65px;align-items:center;border-top:1px solid var(--line)}.salon-photo{padding:10px 10px 17px;background:white;transform:rotate(-2deg);border-radius:8px}.salon-photo img{display:block;width:100%;height:300px;object-fit:contain;background:#f0ece3}.salon-photo span{display:block;text-align:center;font-size:11px;margin-top:10px}.salon-intro h2{font-size:28px}.salon-intro p:not(.eyebrow){font-size:13px;line-height:2.2}.salon-intro .text-link{display:inline-block;margin-top:15px}@media(max-width:760px){.welcome{padding-top:25px}.welcome h1{font-size:36px}.welcome>.eyebrow{font-size:10px;letter-spacing:.1em}.welcome-copy{font-size:12px}.mobile-break{display:block}.friends-heading h2{font-size:21px}.portrait-card{flex-basis:190px}.portrait-rail{gap:13px}.rail-controls span{width:100%;margin:0}.salon-intro{grid-template-columns:1fr;gap:25px;padding:40px 25px}.salon-intro h2{font-size:25px}.salon-photo img{height:240px}}


.welcome h1,.handnote,.friends-heading h2,.album-note{font-family:'Yomogi','Zen Maru Gothic',cursive}.welcome h1{font-weight:400;position:relative}.welcome h1:after{content:'⌁';display:block;color:#cd9c72;font-size:38px;line-height:.6}.handnote{font-size:23px!important;line-height:1.6!important;color:#956c4d;transform:rotate(-2deg);margin-bottom:24px}.welcome{background:radial-gradient(#b49d7414 .8px,transparent .8px);background-size:7px 7px}.portrait-card:nth-child(3n+1){transform:rotate(-2deg)}.portrait-card:nth-child(3n+2){transform:rotate(2deg)}.salon-photo{position:relative}.salon-photo:before{content:'';position:absolute;top:-13px;left:35%;width:95px;height:28px;transform:rotate(-6deg);background:#e1c58ca8}.friends-heading h2{font-size:30px}.quick-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:13px;padding:10px 20px;border-top:1px dashed #d7d4c2;border-bottom:1px dashed #d7d4c2;font-size:12px}.quick-nav a{padding:3px 10px}header nav{gap:16px;font-size:12px}.paper{background:#fffdf7;border-radius:8px 19px 7px 14px;box-shadow:0 5px 0 #e6dec9;border:1px solid #e4ddca;max-width:1060px;margin:65px auto;padding:55px 45px}.course-notes{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:13px}.price-wrap{margin-top:24px}table{width:100%;border-collapse:collapse;font-size:15px}caption{text-align:left;font-size:12px;padding:10px 0;color:#6b775d}th,td{padding:13px 16px;border-bottom:1px dashed #c7cebb;text-align:right}thead{background:#e7eddb}th:first-child{text-align:left}tbody th{font-weight:500}tbody tr:nth-child(even){background:#f6f4e9}td{white-space:nowrap;font-variant-numeric:tabular-nums}.options-note{margin-top:30px;background:#f3e7cc;padding:25px;border-radius:5px 20px 10px 8px}.options-note h3{font-family:'Yomogi',cursive;font-size:25px}.options-note p,.care-notes{font-size:12px}.options-note dl>div,.access dl>div{display:grid;grid-template-columns:1fr auto;gap:20px;padding:12px 0;border-bottom:1px dashed #c5c4ae}dd{margin:0}dt{font-size:13px}.care-notes{margin-top:25px}.care-notes summary{cursor:pointer;font-weight:bold}.care-notes li{margin-bottom:10px}.everyday,.access{max-width:1180px;margin:auto;padding:60px 40px}.care-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.care-card{position:relative;padding:35px;border:1px solid #d6d7c4;border-radius:35px 8px 30px 8px}.care-card.food{background:#eef0df}.care-card.dental{background:#f6e8df}.care-card h3{font-size:27px}.care-card p,.care-card li{font-size:13px}.care-card .small-note{font-size:11px;color:#64715a}.care-card .text-link{display:block;margin-top:20px;width:fit-content}.care-card .button{font-size:12px;gap:10px}.test-price{font-size:30px!important;font-weight:bold}.test-price small{font-size:12px;font-weight:normal}.sketch{float:right;font-family:'Yomogi',cursive;font-size:45px;color:#aa8964;transform:rotate(12deg)}.access{padding-bottom:90px}.access-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px}.access dl>div{grid-template-columns:90px 1fr}.access dd{font-size:14px}.access iframe{width:100%;height:390px;border:7px solid white;border-radius:18px;box-shadow:0 4px 12px #334d3f14}.source-note a{text-decoration:underline}.contact{border-top:3px dashed #d4b996}@media(max-width:760px){.friends-heading h2{font-size:24px}.paper{margin:40px 14px;padding:30px 16px}.paper h2{font-size:25px}.course-notes{grid-template-columns:1fr;gap:0}th,td{padding:12px 6px;font-size:13px}thead th{font-size:12px}th:first-child{width:46%}.options-note{padding:18px}.options-note dl>div{gap:10px}.options-note dt{font-size:12px}.options-note dd{white-space:nowrap;font-size:13px}.everyday,.access{padding:45px 23px}.care-grid,.access-grid{grid-template-columns:1fr}.care-card{padding:27px}.handnote{font-size:21px!important}.access iframe{height:300px}.quick-nav{gap:4px;font-size:11px}}

#k9-story{scroll-margin-top:25px}#k9-story h3{margin-top:32px}#k9-story>p{line-height:2.2}#k9-story>.text-link{display:block;margin-top:22px;width:fit-content}

.reservation{background:#fffaf0;border:2px dashed #d9b596;position:relative}.reservation:before{content:'♡';position:absolute;right:25px;top:15px;color:#c88d72;font-size:45px}.booking-news{font-weight:700;color:#8b573c}.booking-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.booking-grid article{background:#edf0df;padding:20px;border-radius:20px 9px 18px 12px}.booking-grid article:nth-child(even){background:#f5e1d5}.booking-grid h3{font-family:'Yomogi',cursive;font-size:27px}.booking-grid p{font-size:14px}.original-copy{white-space:pre-line;line-height:2;font-size:14px}.policy-original img{display:block;width:100%;max-width:760px;margin:25px auto;border-radius:12px}.salon-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.salon-pair img{width:100%;height:260px;object-fit:contain;border-radius:20px}.staff-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.staff-grid img{width:100%;height:300px;object-fit:contain;background:#f1eadc;border-radius:35px 12px}.staff-section .outline{margin-top:25px}.bubble-note{max-width:980px;margin:30px auto;padding:30px;background:#e9eee0;border-radius:30px}.bubble-note img{width:260px;max-width:100%;float:right;margin:15px}.bubble-note:after{content:'';display:block;clear:both}.care-grid{grid-template-columns:1fr}.care-card.food{max-width:850px;margin:auto}.care-card.food .sketch{font-size:65px}#album-select{font:inherit;color:inherit;background:#fffdf7;border:1px solid #b8c4ab;border-radius:12px;padding:8px}.inquiry label{display:block;margin:18px 0;font-size:13px}.inquiry input,.inquiry textarea{display:block;width:100%;margin-top:6px;border:1px solid #c2c9b7;background:#fffefb;border-radius:12px;padding:12px;font:inherit}.original-copy+h3{margin-top:25px}header nav{flex-wrap:wrap;max-width:650px}.reservation .contact-buttons{flex-wrap:wrap}.paper h2{font-family:'Yomogi','Zen Maru Gothic',cursive}.about-letter .original-copy{max-width:760px;margin:25px auto}.about-letter h3{text-align:center}@media(max-width:760px){.booking-grid{grid-template-columns:1fr 1fr}.booking-grid article{padding:15px}.staff-grid{grid-template-columns:1fr}.salon-pair{grid-template-columns:1fr}.bubble-note{margin:25px 14px;padding:22px}.bubble-note img{float:none}.album-toolbar{align-items:flex-start;gap:12px}.album-toolbar .pill{padding:7px 10px}.album-toolbar label{display:block}#count{white-space:nowrap}.policy-original img{border-radius:5px}.reservation .button,.reservation .outline{padding:12px 18px}.quick-nav{display:flex;flex-wrap:wrap}}

/* A closer, warmer reading rhythm. */
body{line-height:1.7}.welcome{padding:24px 0 30px;position:relative}.welcome h1{font-size:clamp(48px,6.4vw,80px);line-height:1.3;margin:10px 15px 18px;font-weight:700}.welcome h1:after{display:none}.welcome-copy{line-height:1.7}.friends-heading{margin-top:24px}.handnote{margin-bottom:12px}.paper{margin:30px auto;padding:32px 38px}.salon-intro{padding:32px 40px;gap:35px}.salon-intro p:not(.eyebrow){line-height:1.75}.original-copy,#k9-story>p{line-height:1.75;white-space:pre-line}.about-letter .original-copy{margin:15px auto}.original-copy{margin:10px 0}.about-letter h2{font-size:30px}.album,.menu{padding:38px 40px}.everyday,.access{padding:34px 40px}.section-head{margin-bottom:22px}.policy-original img{margin:18px auto}.salon-pair{gap:16px;margin:18px 0}.contact{padding:38px 20px 44px}.staff-grid{gap:24px}.photo-caption{justify-content:center;font-size:13px;padding:8px 3px}.paw-print{display:inline-block;width:32px;height:32px;fill:#be9475;transform:rotate(15deg);vertical-align:middle;margin-left:12px}.welcome>.paw-print{width:40px;height:40px;margin:8px 0 0;fill:#c19a7f;transform:rotate(-18deg)}.portrait-card{padding:8px}.rail-controls{margin:12px 18px 16px}.booking-grid{margin:18px 0}.contact-buttons{margin:20px 0}.about-letter .original-copy{font-size:15px}#k9-story .original-copy{font-size:14px}footer{padding:28px 35px}
@media(max-width:760px){.welcome h1{font-size:clamp(46px,9vw,62px)}.paper{margin:22px 14px;padding:24px 18px}.paper h2{font-size:26px;line-height:1.4}.salon-intro{padding:26px 22px;gap:18px}.album,.menu,.everyday,.access{padding:28px 22px}.original-copy,#k9-story>p,.salon-intro p:not(.eyebrow){line-height:1.7}.about-letter .original-copy{font-size:14px}.handnote{font-size:19px!important}.section-head{margin-bottom:18px}.contact-buttons{margin:18px auto}.paw-print{width:27px;height:27px}}
.policy-original img{height:auto}
.bubble-note img{height:auto}

/* Sunny colours and small, playful movements. */
:root{--cream:#fffaf0;--pink:#f2b3a0}.welcome{background:radial-gradient(ellipse at 8% 18%,#ffdf9b70,transparent 46%),radial-gradient(ellipse at 91% 65%,#ffd4cb70,transparent 48%),#fffaf0}.welcome>.paw-print{display:none}.welcome-play{height:74px;display:flex;justify-content:center;align-items:center;gap:35px;color:#926544}.hello-dog{width:110px;height:74px;overflow:visible}.wag-tail{transform-box:fill-box;transform-origin:bottom left;animation:tail-wag .7s ease-in-out infinite alternate}.sun-doodle{color:#dfaa3e;font-size:38px;animation:sun-turn 18s linear infinite}.spark-doodle{font-size:36px;color:#dc987f;animation:spark-bob 3.5s ease-in-out infinite}.welcome h1{margin-top:6px}.portrait-card{box-shadow:0 5px 0 #efd8bc66;animation:photo-sway 6s ease-in-out infinite}.portrait-card:nth-child(2n){animation-delay:-3s}.portrait-card:nth-child(3n){animation-delay:-1.5s}.photo img{border:4px solid white;box-shadow:0 3px 0 #e8d8bd}.photo:nth-child(3n+1) img{background:#fff0ce}.photo:nth-child(3n+2) img{background:#ffe7de}.photo:hover img{transform:translateY(-5px) rotate(1deg)}.about-letter{background:#fffef9;border-top:5px solid #efc476}.reservation{background:#fff9e7}.booking-grid article{background:#e9efd5}.booking-grid article:nth-child(even){background:#ffe3d5}.album{background:radial-gradient(ellipse at 95% 5%,#ffe0aa55,transparent 45%);border-radius:36px}.guide-link{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 0;padding:16px 20px;border:1px dashed #c5ad88;border-radius:18px;background:#fff3d7;transition:background .2s,transform .2s}.guide-link:hover{background:#ffe7b8;transform:translateY(-2px)}.guide-link span{font-weight:700;font-size:15px}.guide-link small{font-size:11px}.document-sheet{max-width:920px;margin:20px auto 45px;padding:25px}.document-sheet h1{font-size:clamp(26px,4vw,40px);font-family:'Yomogi',cursive}.document-sheet img{display:block;width:100%;height:auto;margin:25px 0;border-radius:12px}.document-sheet>.outline{margin-top:15px}.will-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.will-reveal.is-visible{opacity:1;transform:translateY(0)}.motion-paused .portrait-card,.motion-paused .wag-tail,.motion-paused .sun-doodle,.motion-paused .spark-doodle{animation-play-state:paused}
@keyframes tail-wag{from{transform:rotate(-16deg)}to{transform:rotate(16deg)}}@keyframes photo-sway{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-5px) rotate(1.5deg)}}@keyframes sun-turn{to{transform:rotate(360deg)}}@keyframes spark-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(max-width:760px){.guide-link{align-items:flex-start;flex-direction:column;gap:4px;padding:14px}.welcome-play{height:65px;gap:27px}.hello-dog{width:95px;height:65px}.document-page header{padding:18px;gap:15px}.document-page header .outline{padding:8px 14px;font-size:12px}.document-sheet{padding:18px;margin-top:0}}
@media(prefers-reduced-motion:reduce){.portrait-card,.wag-tail,.sun-doodle,.spark-doodle{animation:none!important}.will-reveal{opacity:1;transform:none;transition:none}}

/* A single navigation and a separate photographic interlude. */
.salon-moments{max-width:1060px;margin:20px auto 32px;padding:0 28px}.salon-moments .salon-pair{gap:26px;margin:0}.salon-moments img{height:auto;aspect-ratio:4/3;object-fit:contain;background:#fffdf7;border:9px solid white;border-radius:22px;box-shadow:0 5px 0 #eadbc6}.salon-moments .will-reveal{transform:translateY(28px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.3,1)}.salon-moments .will-reveal:nth-child(2){transition-delay:.18s}.salon-moments .is-visible{transform:translateY(0)}
@media(max-width:760px){.salon-moments{margin:16px auto 24px;padding:0 22px}.salon-moments .salon-pair{gap:18px}.salon-moments img{max-height:360px}}
@media(prefers-reduced-motion:reduce){.salon-moments .will-reveal{transform:none;transition:none}}

/* Tilted photo keepsakes: salon first, grooming second. */
.salon-moments{padding:20px 42px 40px}.salon-moments .salon-pair{align-items:start;gap:38px}.salon-moments img:first-child{--photo-tilt:-4deg}.salon-moments img:nth-child(2){--photo-tilt:4deg;margin-top:55px}.salon-moments img{transform:rotate(var(--photo-tilt));border-radius:8px;box-shadow:0 9px 22px #334d3f18}.salon-moments .will-reveal{transform:translateY(35px) rotate(var(--photo-tilt));transition:opacity .9s ease,transform .9s ease}.salon-moments .will-reveal:nth-child(2){transition-delay:.7s}.salon-moments .is-visible{transform:translateY(0) rotate(var(--photo-tilt))}
.k9-disclosure{margin-top:24px;border-top:1px dashed #b8c4ab;padding-top:20px}.k9-disclosure>summary{cursor:pointer;font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:5px}.k9-story-content{padding:22px 0 0}.k9-story-content h2{font-size:27px}.k9-story-content .original-copy{white-space:pre-line;font-size:14px;line-height:1.85}
footer{flex-wrap:wrap}.registration{flex-basis:100%;width:100%;border-top:1px solid var(--line);padding-top:24px;margin-top:12px}.registration h2{font-size:16px;letter-spacing:.04em}.registration img{display:block;width:599px;max-width:100%;height:auto;background:white}
@media(max-width:760px){.salon-moments{padding:18px 35px 30px}.salon-moments .salon-pair{gap:28px}.salon-moments img:nth-child(2){margin-top:0}.k9-story-content h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.salon-moments .will-reveal,.salon-moments .is-visible{opacity:1;transform:rotate(var(--photo-tilt));transition:none}}

.registration dl{max-width:760px;font-size:14px;line-height:1.8}.registration dl>div{display:grid;grid-template-columns:235px 1fr;gap:20px;padding:7px 0}.registration dd{margin:0}@media(max-width:600px){.registration dl>div{grid-template-columns:1fr;gap:1px;padding:8px 0}.registration dd{padding-left:1.5em}.registration dt{font-weight:700}}

/* Compact course prices and aligned owner chronology. */
.price-wrap{max-width:720px}.price-wrap table{table-layout:fixed}.price-wrap th:first-child{width:38%}.price-wrap th,.price-wrap td{padding:12px 14px}.price-wrap thead th:not(:first-child){white-space:nowrap}
.owner-history{margin:14px 0;font-size:14px;line-height:1.8}.owner-history>div{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px dashed #dedfcf}.owner-history dt{font-size:inherit;white-space:nowrap;font-variant-numeric:tabular-nums}.owner-history dd{margin:0;overflow-wrap:anywhere}
@media(max-width:760px){.price-wrap th:first-child{width:36%}.price-wrap th,.price-wrap td{padding:11px 5px}.price-wrap thead th{font-size:11px;letter-spacing:0}.owner-history{font-size:13px}.owner-history>div{grid-template-columns:8.5em minmax(0,1fr);gap:10px}}

.instagram-note{border-top:1px dashed #d6c7ae;margin-top:28px;padding-top:20px;text-align:center}.instagram-note .handnote{font-size:20px!important}.instagram-link{gap:16px;background:#fff1e7;border-color:#c8a28a}.instagram-link small{display:block;font-size:11px;font-weight:400}.staff-section .instagram-link{margin-top:5px}

/* Keep breed and both course prices close and evenly balanced. */
.price-wrap{max-width:560px}.price-wrap th:first-child{width:36%;text-align:left}.price-wrap thead th:not(:first-child),.price-wrap td{text-align:center}.price-wrap th,.price-wrap td{padding:11px 8px}@media(max-width:760px){.price-wrap th,.price-wrap td{padding:11px 4px}.price-wrap thead th{white-space:normal!important;overflow-wrap:normal}}
.price-wrap th:first-child{text-align:center}

/* A soft welcome, cloud-shaped friends and gently blurred photo edges. */
.welcome h1{animation:welcome-arrive 1.7s cubic-bezier(.16,.7,.25,1) both;animation-delay:.15s}
@keyframes welcome-arrive{from{opacity:0;transform:translate(-22px,18px);filter:blur(7px)}to{opacity:1;transform:translate(0,0);filter:blur(0)}}
.portrait-card{border-radius:44% 56% 47% 53% / 55% 43% 57% 45%;padding:7px;background:#fffdf7;box-shadow:none;overflow:hidden}.portrait-card:nth-child(2n){border-radius:55% 45% 58% 42% / 45% 56% 44% 55%}.portrait-card:nth-child(3n){border-radius:47% 53% 41% 59% / 59% 44% 56% 41%}.portrait-card img{border-radius:inherit;object-fit:cover}
.salon-moments .soft-portrait{position:relative;isolation:isolate;border-radius:24px;overflow:hidden;--photo-tilt:-4deg;transform:rotate(var(--photo-tilt));background:#fffaf0}.salon-moments .soft-portrait:nth-child(2){--photo-tilt:4deg;margin-top:55px}.salon-moments .soft-portrait img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;transform:none;border:0;border-radius:0;box-shadow:none;margin:0}.soft-portrait:after{content:'';position:absolute;inset:0;pointer-events:none;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);background:rgba(255,250,240,.28);mask-image:radial-gradient(ellipse at center,transparent 40%,#000 80%);-webkit-mask-image:radial-gradient(ellipse at center,transparent 40%,#000 80%)}.salon-moments .soft-portrait{mask-image:radial-gradient(ellipse at center,#000 53%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse at center,#000 53%,transparent 76%)}.salon-moments .soft-portrait.will-reveal{transform:translateY(35px) rotate(var(--photo-tilt))}.salon-moments .soft-portrait.is-visible{transform:translateY(0) rotate(var(--photo-tilt))}
.bubble-photo{position:relative;float:right;width:300px;max-width:100%;margin:12px;background:white;border-radius:25px;overflow:hidden}.bubble-photo img{display:block;width:100%;height:auto;float:none;margin:0}.bubble-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,#ffffff99 65%,white 83%);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);mask-image:radial-gradient(ellipse at center,transparent 35%,#000 75%);-webkit-mask-image:radial-gradient(ellipse at center,transparent 35%,#000 75%)}
@media(max-width:760px){.salon-moments .soft-portrait:nth-child(2){margin-top:0}.bubble-photo{float:none;margin:15px auto;width:300px}}
@media(prefers-reduced-motion:reduce){.welcome h1{animation:none}.salon-moments .soft-portrait.will-reveal{opacity:1;transform:rotate(var(--photo-tilt));transition:none}}
.motion-paused .welcome h1{animation-play-state:paused}

.soft-portrait:after{backdrop-filter:none;-webkit-backdrop-filter:none;background-image:var(--photo-url);background-size:100% 100%;filter:blur(6px);mask-image:radial-gradient(ellipse at center,transparent 45%,#000 85%);-webkit-mask-image:radial-gradient(ellipse at center,transparent 45%,#000 85%)}.salon-moments .soft-portrait{mask-image:radial-gradient(ellipse at center,#000 60%,transparent 88%);-webkit-mask-image:radial-gradient(ellipse at center,#000 60%,transparent 88%)}.bubble-photo:after{backdrop-filter:none;-webkit-backdrop-filter:none}

/* Three floating prints introduce the salon before its service story. */
.salon-collage{max-width:1040px;margin:24px auto 0;padding:32px 35px 22px;display:flex;align-items:center;isolation:isolate}.salon-snapshot{position:relative;flex:1;min-width:0;margin:0 -7px;padding:9px 9px 12px;background:#fff;border-radius:5px;box-shadow:0 12px 26px #493b2826;--tilt:-5deg;transform:rotate(var(--tilt));z-index:1}.salon-snapshot:nth-child(2){--tilt:3deg;margin-top:42px;z-index:2}.salon-snapshot:nth-child(3){--tilt:-3deg;margin-top:12px;z-index:3}.salon-snapshot img{display:block;width:100%;height:255px;object-fit:contain;background:#fff;filter:none;mask:none;border-radius:2px}.salon-snapshot:first-child img{height:315px}.salon-snapshot figcaption{text-align:center;font-family:'Yomogi',cursive;font-size:14px;padding-top:9px}.salon-snapshot.will-reveal{transform:translateY(22px) rotate(var(--tilt))}.salon-snapshot.is-visible{transform:translateY(0) rotate(var(--tilt))}.salon-snapshot:nth-child(2){transition-delay:.2s}.salon-snapshot:nth-child(3){transition-delay:.4s}.salon-intro{display:block;max-width:950px;border-top:0;padding:22px 40px 28px}.salon-intro>div{max-width:820px;margin:auto}
@media(max-width:760px){.salon-collage{display:flex;flex-direction:column;align-items:flex-start;max-width:520px;padding:24px 34px 12px;margin-top:8px}.salon-snapshot{flex:none;width:83%;margin:0;padding:7px 7px 10px;--tilt:-4deg}.salon-snapshot:nth-child(2){align-self:flex-end;margin-top:-22px;--tilt:5deg}.salon-snapshot:nth-child(3){margin-top:-18px;--tilt:-3deg;width:88%}.salon-snapshot img,.salon-snapshot:first-child img{height:auto;max-height:280px;object-fit:contain}.salon-snapshot figcaption{font-size:12px;padding-top:5px}.salon-intro{padding:20px 24px}.salon-intro h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.salon-snapshot.will-reveal{opacity:1;transform:rotate(var(--tilt));transition:none}}

.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{min-height:1.9em;margin:12px 0 0;font-size:13px}
.form-status.is-success{color:#315d3c;font-weight:700}
.form-status.is-error{color:#a04438;font-weight:700}
#inquiry-form button:disabled{opacity:.65;cursor:wait}

/* A single fixed frame with only the isolated forepaw animated. */
.komaro-welcome{height:126px;gap:30px;margin:6px 0 8px}.komaro-wave{display:block;width:126px;height:126px;flex:none;overflow:hidden}.komaro-hand{transform-origin:265px 423px;animation:komaro-hand-wave 1.9s ease-in-out infinite}.komaro-paw{width:28px;height:28px;fill:#c49774;flex:none;transform-box:fill-box;transform-origin:center;animation:komaro-paw-left 5.6s ease-in-out infinite}.komaro-paw:last-child{animation-name:komaro-paw-right;animation-delay:-2.8s}
@keyframes komaro-hand-wave{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(6deg)}}
@keyframes komaro-paw-left{0%,100%{transform:translateY(3px) rotate(-18deg)}50%{transform:translateY(-4px) rotate(-7deg)}}
@keyframes komaro-paw-right{0%,100%{transform:translateY(3px) rotate(18deg)}50%{transform:translateY(-4px) rotate(7deg)}}
.motion-paused .komaro-hand,.motion-paused .komaro-paw{animation-play-state:paused}
@media(max-width:760px){.komaro-welcome{height:112px;gap:24px}.komaro-wave{width:112px;height:112px}.komaro-paw{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.komaro-hand,.komaro-paw{animation:none}}

/* Paragraphs flow normally. Only headings have editorial wrap points. */
.guide-reading{margin:30px 0}.guide-reading section{padding:22px 26px;margin:20px 0;border:1px solid var(--line);border-radius:18px;background:#fffef9}.guide-reading h2{font-size:23px;margin:0 0 14px;line-height:1.6}.guide-reading p{line-height:1.95}.original-guide{margin:24px 0}.original-guide summary{cursor:pointer;font-size:14px}
.heading-unit{display:inline;color:inherit;margin:0}
@media(max-width:760px){
 body{line-break:strict;word-break:normal;overflow-wrap:normal}
 p,dd,dt,li,summary,figcaption{word-break:normal;line-break:strict;text-wrap:wrap;white-space:normal;overflow-wrap:normal}
 .original-copy,#k9-story>p,.k9-story-content .original-copy{white-space:normal;line-height:1.95;text-align:left;text-wrap:wrap;word-break:normal;overflow-wrap:normal}
 .guide-reading p{white-space:normal;text-align:left;text-wrap:wrap}
 h1,h2,h3{text-align:center;line-break:strict;word-break:normal;text-wrap:balance}
 .heading-unit{display:inline-block;max-width:100%;color:inherit;margin:0;vertical-align:baseline}
 .friends-heading h2 .heading-unit{color:inherit;margin:0}
 .welcome h1{font-size:clamp(34px,9.2vw,62px);letter-spacing:.02em;line-height:1.5}
 .welcome-copy{font-size:13px;line-height:2}.welcome-copy br{display:block}
 .friends-heading h2{font-size:clamp(22px,6.2vw,30px);letter-spacing:.02em}
 .document-sheet h1{font-size:clamp(25px,7vw,36px);letter-spacing:.01em;line-height:1.65}
 .document-sheet>.handnote{text-align:center}.document-sheet>.outline{margin-bottom:20px}
 .document-page header{flex-wrap:wrap}.document-page header>.outline{white-space:nowrap}
 .guide-reading section{padding:20px 18px}.guide-reading h2{font-size:21px;letter-spacing:.02em}
 .owner-history>div{grid-template-columns:1fr;gap:3px}.owner-history dd{padding-left:.6em}
 .contact-buttons{flex-wrap:wrap}.button,.outline{max-width:100%}
 .eyebrow{line-height:1.9;letter-spacing:.1em}
 #inquiry>p a{overflow-wrap:anywhere}
 .registration h2{font-size:clamp(20px,5.6vw,26px);letter-spacing:.02em}
 .guide-link small{line-height:1.8}
}
@media(max-width:360px){
 .friends-heading h2{font-size:20px}
}
@media(max-width:360px){header .button.small{font-size:10px;padding:10px 13px;white-space:nowrap}.logo span{letter-spacing:.12em}}
@media(max-width:760px){.about-letter h3{font-size:15px;letter-spacing:0;line-height:1.8;margin:26px 0 14px}.about-letter .heading-unit{max-width:none}.k9-story-content h2{font-size:24px}.care>h2{font-size:26px}}
@media(max-width:760px){.price-wrap tbody th{white-space:nowrap;font-size:11px;letter-spacing:0}p,.original-copy,.guide-reading p{ text-wrap:pretty}}
@media(max-width:360px){.price-wrap tbody th{font-size:10px}}

.mobile-copy-break{display:none}@media(max-width:760px){.mobile-copy-break{display:block}}
.keep-word{display:inline;font:inherit;color:inherit;margin:0;letter-spacing:inherit}
@media(max-width:760px){.keep-word{display:inline-block;white-space:nowrap;vertical-align:baseline}}

/* Smartphone welcome: centered copy, balanced margins and intentional wrap points. */
/* Three salon introductions stay comfortably separated on small screens. */
@media(max-width:760px){
 .salon-collage{width:100%;max-width:440px;padding:28px 28px 20px;align-items:center;gap:34px}
 .salon-collage>.salon-snapshot,.salon-collage>.salon-snapshot:nth-child(2),.salon-collage>.salon-snapshot:nth-child(3){width:100%;max-width:360px;min-width:0;margin:0;align-self:center}
 .salon-collage>.salon-snapshot figcaption{font-size:15px;line-height:1.8;letter-spacing:0;padding:10px 2px 2px;text-align:center;white-space:nowrap;word-break:normal}
}

@media(max-width:760px){
 .welcome>h1,.welcome>.welcome-copy,.welcome>.friends-heading{box-sizing:border-box;width:calc(100% - 40px);margin-left:auto;margin-right:auto;text-align:center}
 .welcome>h1{max-width:430px}
 .welcome>h1 .mobile-break,.welcome>.welcome-copy br{display:block}
 .welcome>.welcome-copy{max-width:420px;text-wrap:pretty}
 .welcome>.friends-heading{max-width:430px;margin-top:24px}
 .friends-heading>span{display:block;text-align:center}
 .friends-heading h2{box-sizing:border-box;position:relative;width:100%;max-width:420px;margin:8px auto 23px;padding:0 34px;text-align:center;text-wrap:pretty}
 .friends-heading h2 .heading-unit{display:block;max-width:none;margin:0;color:inherit}
 .friends-heading h2>span:last-child{position:absolute;left:calc(50% + min(5em,38%));top:72%;margin:0;line-height:1;transform:translateY(-50%)}
}

/* Wider mobile reading areas for the service introduction and salon philosophy. */
@media(max-width:760px){
 .salon-intro{width:100%;padding-left:16px;padding-right:16px}
 .salon-intro>div{width:100%;max-width:none;min-width:0}
 .about-letter.paper{width:calc(100% - 16px);max-width:none;margin-left:8px;margin-right:8px;padding-left:14px;padding-right:14px}
 .salon-intro h2,.about-letter h2,.about-letter h3{width:100%;margin-left:auto;margin-right:auto;text-align:center}
 .salon-intro .handnote,.about-letter>.handnote{text-align:center;transform:none}
 .salon-intro p.original-copy,.about-letter .original-copy{width:100%;max-width:none;text-align:left;white-space:normal;word-break:normal;line-break:strict;overflow-wrap:normal;text-wrap:pretty;line-height:1.95}
 .salon-intro .original-copy .keep-word,.about-letter .original-copy .keep-word{display:inline-block;white-space:nowrap}
 .about-letter h3 .heading-unit{max-width:100%}
}

/* Natural Japanese text flow in the mobile service introduction. */
/* Consistent number columns and natural paragraphs in the mobile philosophy. */
@media(max-width:760px){
 .about-letter.paper{width:calc(100% - 16px);margin-left:8px;margin-right:8px;padding-left:14px;padding-right:14px}
 .about-letter h2,.about-letter h3{text-align:center;letter-spacing:normal;word-spacing:normal;line-break:strict;word-break:normal}
 .about-letter p.original-copy{width:100%;max-width:none;margin:14px 0;text-align:left;text-align-last:auto;letter-spacing:normal;word-spacing:normal;line-height:1.8;line-break:strict;word-break:normal;overflow-wrap:normal;white-space:normal;text-wrap:wrap}
 .about-letter .original-copy .keep-word{display:inline;white-space:normal;letter-spacing:inherit;word-spacing:inherit}
 .about-letter h3.philosophy-point{display:grid;grid-template-columns:1.6em minmax(0,1fr) 1.6em;align-items:baseline;gap:0;margin:26px 0 12px;line-height:1.8}
 .about-letter .point-number{grid-column:1;text-align:left;white-space:nowrap}
 .about-letter .point-title{grid-column:2;min-width:0;text-align:center;text-wrap:balance}
 .about-letter .point-title .heading-unit{display:block;white-space:normal;max-width:100%;text-wrap:wrap}
}

@media(max-width:760px){
 .salon-intro p.original-copy{text-align:left;text-align-last:auto;letter-spacing:normal;word-spacing:normal;line-height:1.75;line-break:strict;word-break:normal;overflow-wrap:normal;white-space:normal;text-wrap:wrap}
 .salon-intro .original-copy .keep-word{display:inline;white-space:normal;letter-spacing:inherit;word-spacing:inherit}
}

/* Keep the philosophy title and sentence endings together on phones. */
@media(max-width:760px){
 .about-letter .philosophy-name{display:block;max-width:100%;font-size:clamp(16px,4.5vw,21px);line-height:1.7;letter-spacing:0;white-space:nowrap;text-align:center}
 .about-letter .philosophy-name .heading-unit{display:inline;white-space:inherit}
 .about-letter>.handnote{font-size:clamp(15px,4vw,18px)!important;letter-spacing:0;white-space:nowrap}
 .about-letter p.original-copy{text-wrap:pretty}
 .about-letter .sentence-ending{white-space:nowrap}
}

/* Center the mobile philosophy frame independently from text alignment. */
.philosophy-content{display:contents}
@media(max-width:760px){
 .about-letter.paper{box-sizing:border-box;width:calc(100% - 16px);max-width:100%;margin-left:auto;margin-right:auto;padding-left:10px;padding-right:10px}
 .about-letter .philosophy-content{display:block;box-sizing:border-box;width:100%;max-width:none;min-width:0;margin-left:auto;margin-right:auto;padding:0;text-align:left}
 .about-letter .philosophy-content>h2,.about-letter .philosophy-content>h3,.about-letter .philosophy-content>p{box-sizing:border-box;width:100%;max-width:100%;margin-left:auto;margin-right:auto}
 .about-letter .philosophy-content>p.original-copy{text-align:left;text-align-last:auto}
 .about-letter .philosophy-content>h2,.about-letter .philosophy-content>h3{text-align:center}
 .about-letter .philosophy-name{width:100%;margin-left:auto;margin-right:auto}
}

/* Match items 2 and 3 to item 1 without paragraph-wide line rebalancing. */
@media(max-width:760px){
 .about-letter>.handnote{display:none}
 .about-letter .philosophy-point~.philosophy-point,
 .about-letter .philosophy-point~.philosophy-point+p.original-copy{box-sizing:border-box;width:100%;max-width:none;min-width:0;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0;float:none}
 .about-letter .philosophy-point~.philosophy-point+p.original-copy{text-align:left;text-align-last:auto;text-wrap:wrap}
}
