.illustrated-home{isolation:isolate;min-height:820px;background:#e5d5ac}.room-backdrop,.room-shade{position:absolute;inset:0;z-index:-2}.room-backdrop{background:url('assets/home-room.png') center/cover no-repeat}.room-shade{z-index:-1;background:linear-gradient(90deg,#263d2aaa 0%,#263d2a55 23%,transparent 45%),linear-gradient(0deg,#e5dfbb99,transparent 24%)}
.home-message{position:absolute;top:185px;left:50%;transform:translateX(-50%) rotate(-1deg);width:min(680px,57%);padding:22px 30px;text-align:center;border:2px solid #8ba864;background:#fffef2ed;border-radius:47% 48% 43% 46% / 28% 36% 32% 35%;box-shadow:0 3px 0 #f0d67580}.home-message p{font:25px/1.65 Yomogi,sans-serif;font-weight:600;margin:0 0 6px;color:#433929}.home-message p span:first-child{color:#c7765b}.home-message p span:nth-child(2){color:#4c803f}.home-message small{font-size:11px;color:#6a735a;letter-spacing:.07em}
.home-brand{position:absolute;left:50%;top:54%;transform:translate(-50%,-18%);text-align:center;width:43%;color:#2d3725;z-index:2}.home-brand:before{content:'';position:absolute;inset:-35px -40px -25px;background:radial-gradient(ellipse,#fffef5f5 20%,#fffef5bf 55%,#fffef500 73%);z-index:-1;pointer-events:none}.home-bean{width:37px;height:48px;object-fit:contain;margin-bottom:5px;rotate:-9deg}.home-service{font:29px/1.5 Yomogi,sans-serif;letter-spacing:.2em;margin:0}.home-name{font-family:Yomogi,'Yu Mincho',serif;font-size:clamp(78px,8.2vw,130px);font-weight:600;line-height:1.35;letter-spacing:.04em;margin:0;white-space:nowrap}.home-underline{display:block;width:85%;height:16px;border-top:4px solid #719c4e;border-radius:50%;margin:0 auto;rotate:-2deg}.home-caption{font:17px/1.8 Yomogi,sans-serif;letter-spacing:.02em;margin:8px 0 18px}.home-about{font-size:12px;padding:12px 24px;min-width:220px;box-shadow:0 4px 0 #35562e25}
.illustrated-home .hero-copy{left:3.5%;right:auto;top:46%;bottom:auto;width:26%;padding:0}.illustrated-home .hero-copy:before{inset:-35px -10px -35px -20px;border-color:#ffffff60}.illustrated-home h1{width:100%;max-width:none}.illustrated-home .hero-intro{font-size:10px;letter-spacing:.07em;line-height:1.8;margin-bottom:22px}.illustrated-home .handwriting{filter:drop-shadow(0 2px 5px #15351cc9)}
.home-dog{position:absolute;right:5%;bottom:95px;width:190px;text-align:center}.home-dog img{display:block;width:100%;height:220px;object-fit:contain}.home-dog span{display:inline-block;font:17px/1.7 Yomogi,sans-serif;background:#fffdf1ee;border:1px solid #cad9b1;border-radius:55% 48% 50% 50%;padding:13px 25px;rotate:5deg;color:#5f7748;margin-bottom:9px}.home-leaf{position:absolute;width:120px;height:170px;object-fit:contain;pointer-events:none;z-index:3}.leaf-left{bottom:5px;left:1%;transform:rotate(-20deg)}.leaf-right{top:185px;right:1%;transform:rotate(18deg)}.illustrated-home .hero-edge{bottom:65px;left:15%;right:auto}.room-note{position:absolute;bottom:43px;right:3%;font-size:9px;color:#51604a}.illustrated-home .hero-wave{z-index:4}
@media(min-width:1600px){.home-brand{top:50%}.home-dog{right:8%;bottom:100px}}
@media(max-width:1100px){.home-message{padding:20px;width:62%}.home-message p{font-size:22px}.home-dog{right:2%;width:150px}.home-dog img{height:180px}.home-name{font-size:86px}.home-caption{font-size:14px}.home-service{font-size:25px}.illustrated-home .hero-copy{width:27%;left:3%}.home-brand{width:43%}.home-dog span{font-size:14px;padding:12px 18px}}
@media(max-width:700px){.illustrated-home{height:100svh;min-height:850px}.room-backdrop{background-position:55% center}.room-shade{background:linear-gradient(0deg,#294332a8 0%,#29433260 35%,transparent 60%),linear-gradient(90deg,#35553630,transparent 80%)}.home-message{top:118px;left:50%;width:88%;padding:18px 12px;border-radius:32% 35% 30% 36% / 20% 26% 22% 24%}.home-message p{font-size:17px;line-height:1.7}.home-message small{font-size:9px;letter-spacing:0}.home-brand{left:50%;top:288px;transform:translateX(-50%);width:86%}.home-brand:before{inset:-20px -10px -25px}.home-bean{width:25px;height:34px;margin-bottom:2px}.home-service{font-size:23px}.home-name{font-size:77px;line-height:1.3;letter-spacing:.04em}.home-underline{width:78%;border-top-width:3px;height:10px}.home-caption{font-size:13px;margin:5px 0 12px}.home-about{font-size:11px;padding:10px 20px;min-width:200px}.illustrated-home .hero-copy{top:auto;bottom:145px;left:7%;width:53%;padding:0}.illustrated-home .hero-copy:before{inset:-20px -3px -18px -12px}.illustrated-home .hero-intro{font-size:8px;letter-spacing:0;margin:0 0 12px}.illustrated-home h1{width:100%}.home-dog{right:4%;bottom:112px;width:110px}.home-dog img{height:135px}.home-dog span{font-size:11px;padding:8px 14px;margin:0 0 4px}.home-leaf{width:70px;height:100px}.leaf-left{bottom:8px;left:0}.leaf-right{top:228px;right:-10px}.illustrated-home .hero-edge{left:20%;bottom:43px}.room-note{bottom:40px;right:4%;font-size:8px}.home-brand p{text-shadow:none}}
@media(max-width:360px){.home-name{font-size:68px}.home-message p{font-size:15px}.home-caption{font-size:12px}.home-dog{width:90px}.home-dog img{height:120px}}
@media(max-width:700px){.home-dog{bottom:90px}}
/* Meaningful line breaks and clear directional markers. */
#day .timeline{gap:34px 28px}
#day .timeline li{padding:25px 8px 22px}
#day .timeline li::after{display:none}
#day .timeline h3{font-size:18px;line-height:1.65;min-height:3.3em;display:flex;flex-direction:column;justify-content:center;margin:16px 0 10px}
#day .timeline p{font-size:11px;line-height:1.9;margin:0}
#day .day-line{display:block;white-space:nowrap}
#day .day-arrow{position:absolute;right:-26px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dce9c8;z-index:1}
#day .day-arrow::before{content:'';width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #547a39;margin-left:2px}
@media(min-width:1101px) and (max-width:1450px){#day .timeline{gap:28px 24px}#day .timeline h3{font-size:16px}#day .timeline p{font-size:10px}#day .day-arrow{right:-23px;width:22px;height:22px}}
@media(min-width:701px) and (max-width:1100px){#day .timeline li:nth-child(4) .day-arrow{display:none}}
@media(max-width:700px){#day .timeline{grid-template-columns:1fr;gap:34px;max-width:400px;margin:30px auto}#day .timeline li{padding:23px 20px}#day .timeline h3{font-size:20px;min-height:0;margin:12px 0 8px}#day .timeline p{font-size:13px}#day .day-arrow{right:auto;left:50%;top:auto;bottom:-29px;transform:translateX(-50%) rotate(90deg);width:25px;height:25px}}
@media(min-width:701px) and (max-width:1200px){#day .timeline{grid-template-columns:repeat(4,minmax(0,1fr))}#day .timeline li:nth-child(4) .day-arrow{display:none}}
