.mobile-contact{display:none}
@media(max-width:700px){
html{scroll-padding-top:20px;-webkit-text-size-adjust:100%}body{padding-bottom:calc(70px + env(safe-area-inset-bottom));font-size:15px;line-height:1.9}main{overflow:clip}button,a,summary{touch-action:manipulation}
body>header{top:12px;left:12px;right:12px;padding:12px;gap:8px;min-height:70px}header .brand{gap:7px;min-width:0}header .brand small{letter-spacing:0;font-size:7px}body>header .brand b{font-size:24px;letter-spacing:.02em}header .brand strong{font-size:10px}header .brand img{width:24px;height:34px}#menu-toggle{min-width:65px;min-height:44px;font-size:11px;white-space:nowrap;padding:8px}body>nav{position:fixed;top:94px;left:12px;right:12px;max-height:calc(100dvh - 185px);overflow:auto;z-index:30}body>nav.open{grid-template-columns:1fr 1fr;padding:14px;gap:10px}body>nav a{min-height:50px;font-size:12px;display:flex;align-items:center;justify-content:center}
.illustrated-home{height:auto;min-height:max(760px,100svh);padding:112px 20px 72px;display:grid;grid-template-columns:1fr 110px;grid-template-rows:auto auto 160px;align-content:center;gap:25px 12px}.home-message{position:relative;top:auto;left:auto;transform:rotate(-1deg);width:100%;grid-column:1/-1;padding:18px 10px;align-self:start}.home-message p{font-size:clamp(15px,4.2vw,19px);line-height:1.85;text-wrap:balance}.home-message small{font-size:10px;display:block;line-height:1.7;max-width:25em;margin:auto}.home-brand{position:relative;top:auto;left:auto;transform:none;width:100%;grid-column:1/-1;align-self:center;padding:8px 0 4px}.home-brand:before{inset:-15px -12px}.home-service{font-size:24px}.home-name{font-size:clamp(65px,20vw,100px);line-height:1.25;letter-spacing:.02em}.home-bean{width:25px;height:32px}.home-caption{font-size:13px;margin:8px 0 14px}.home-about{min-height:46px;min-width:230px;font-size:13px}.home-underline{width:83%}.illustrated-home .hero-copy{position:relative;left:auto;right:auto;top:auto;bottom:auto;grid-column:1;grid-row:3;width:100%;align-self:center;padding:0;z-index:2}.illustrated-home .hero-copy:before{inset:-16px -7px}.illustrated-home .hero-intro{font-size:8px;margin-bottom:13px;white-space:nowrap}.illustrated-home h1{width:100%;max-width:none}.illustrated-home .handwriting{width:100%}.home-dog{position:relative;right:auto;bottom:auto;width:110px;grid-column:2;grid-row:3;align-self:center}.home-dog img{height:120px}.home-dog span{font-size:11px;padding:6px 8px;margin-bottom:0;white-space:nowrap}.illustrated-home .hero-edge{left:50%;bottom:25px;transform:translateX(-50%)}.scroll-cue{flex-direction:row;gap:10px}.scroll-cue span{font-size:20px}.room-note{bottom:30px;right:12px;font-size:7px}.leaf-left{bottom:10px;width:55px}.leaf-right{top:240px;width:55px;right:-14px}
.quick-links{margin:24px 18px 0;gap:12px}.quick-links a{padding:18px 42px 18px 18px;min-height:80px}.quick-links b{font-size:14px;line-height:1.65;display:block}.quick-links small{font-size:11px}.quick-links span{right:17px;top:32px}.section{padding:56px 22px}.section-top{margin-bottom:25px}.section-top p,.lead{font-size:14px;line-height:1.9}.eyebrow{font-size:10px}main h2,.about h2,.moments h2,.day h2,.start h2,.faq h2,.contact h2,.stay h2{font-size:clamp(23px,6.4vw,29px);line-height:1.65;letter-spacing:0;margin:12px 0 22px;overflow-wrap:anywhere;text-wrap:pretty}.rolling-heading{padding-left:34px}.heading-bean{width:24px;height:33px;top:.35em}.heading-words{min-width:0;text-wrap:balance}.stay .heading-words{white-space:normal}h2 .phrase{display:inline-block;white-space:nowrap}
.about-copy{padding-top:0;font-size:15px;line-height:2}.about-scene{padding-left:24px;margin:26px auto}.about-moment{height:auto;aspect-ratio:1.3}.about-shiba{width:90px;height:115px;left:-8px}.scene-caption{font-size:12px}.facts{gap:12px;display:grid;grid-template-columns:1fr 1fr}.facts>div{min-width:0;padding:18px 8px}.facts b{font-size:44px}.hand-note{font-size:17px}.services{margin:0 12px;padding:40px 18px}.service-grid article{padding:24px 21px}.service-grid p{font-size:14px}.tag{font-size:11px}.service-grid h3{font-size:23px}
.photo-grid{gap:20px 12px}.photo-card{rotate:0!important;padding:7px;border-radius:10px 10px 18px 10px}.photo-caption h3{font-size:15px;line-height:1.6;text-wrap:pretty;overflow-wrap:anywhere}.photo-phrase{display:inline-block;white-space:nowrap}.photo-caption time{font-size:10px;letter-spacing:0}.photo-open{aspect-ratio:1}.photo-zoom{width:30px;height:30px}.more-photos{font-size:13px;min-height:48px;padding:14px 20px;gap:15px}.moments>.note{font-size:11px;line-height:1.8}
#day{padding:48px 22px}.day>.note{line-height:1.9}.day>.garden-sprig{opacity:.2}#day .timeline{max-width:430px;gap:28px}#day .timeline li{display:grid;grid-template-columns:68px 1fr;column-gap:14px;padding:20px 16px;text-align:left;align-items:center;border-radius:22px}#day .timeline li:before{display:none}#day .timeline time{grid-column:1;grid-row:1/3;font-size:25px;align-self:center;text-align:center}#day .timeline h3{grid-column:2;font-size:19px;display:block;margin:0 0 6px;line-height:1.5}#day .timeline h3 .day-line{display:inline;white-space:normal}#day .timeline p{grid-column:2;font-size:12px;line-height:1.85}#day .day-arrow{bottom:-26px;width:24px;height:24px}
.stay{margin:40px 14px;border-radius:30px}.stay-inner{padding:32px 22px;gap:18px;width:100%}.stay-inner>div{min-width:0;max-width:100%}.sleep-scene{width:220px;align-self:center}.stay .button{min-height:48px;font-size:12px;width:100%;gap:10px;padding:14px}.stay p{font-size:14px}.stay .note{font-size:11px}.steps{gap:14px}.steps article{padding:22px 20px 18px 58px}.steps p{font-size:14px;margin-bottom:0}.steps h3{font-size:21px}.faq{padding-top:16px}.faq summary{font-size:14px;line-height:1.75;padding:18px 0;gap:8px}.faq details>p{padding:0 8px 18px;font-size:14px}.contact{gap:10px;padding:48px 22px}.contact-box{padding:22px 18px;min-width:0}.contact .phone{font-size:30px;white-space:nowrap}.contact-box>small{overflow-wrap:anywhere;font-size:11px}.contact-box .button{font-size:13px;min-height:48px}.contact p{font-size:14px}footer{padding:32px 22px}.footer-bottom{font-size:11px;line-height:1.9}.footer-top .brand small{font-size:9px}.footer-top .brand b{font-size:27px}
#photo-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:52px 12px 20px}#dialog-image{height:55dvh}.dialog-close{width:44px;height:44px}.dialog-caption>button{width:44px;height:44px}.dialog-caption{gap:8px}.dialog-caption p{font-size:14px}.dialog-caption a{display:inline-block;padding:8px 0;font-size:11px}
.mobile-contact{display:flex;position:fixed;z-index:25;bottom:0;left:0;right:0;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fffdf4f5;border-top:1px solid #dfe6d2;box-shadow:0 -4px 20px #304f4110;backdrop-filter:blur(12px)}.mobile-contact a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:25px;font-size:13px;font-weight:600;background:#e9f0db;color:#426c40}.mobile-contact a:last-child{background:#426c40;color:white}
}
@media(max-width:360px){.illustrated-home{padding-left:16px;padding-right:16px;grid-template-columns:1fr 90px;column-gap:9px}.home-dog{width:90px}.home-dog img{height:108px}.home-dog span{font-size:10px}.home-caption{font-size:12px}.home-message small{font-size:9px}body>header .brand b{font-size:21px}header .brand strong{font-size:9px}.section{padding-left:18px;padding-right:18px}.photo-grid{grid-template-columns:1fr}.contact .phone{font-size:27px}#day .timeline li{grid-template-columns:58px 1fr;gap:10px;padding:20px 12px}#day .timeline h3{font-size:18px}#day .timeline p{font-size:11px}}
