:root{--ink:#293e35;--green:#304f41;--cream:#f8f6ef;--sand:#e9e4d7;--muted:#65736a;--accent:#a77850}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.9 'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ac764a;outline-offset:5px}a:hover{opacity:.76}header{display:flex;justify-content:space-between;align-items:center;padding:26px 5%;background:#fffdf8;gap:20px}.brand{display:flex;gap:13px;align-items:center;line-height:1.5}.brand img{height:51px;width:39px;object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:.12em;margin-bottom:4px}.brand strong{font-size:17px;font-weight:500}.brand b{font-size:28px;letter-spacing:.13em}.head-right{display:flex;align-items:center;gap:28px}.head-tel{font-size:23px;letter-spacing:.04em;line-height:1.4}.head-tel small{font-size:11px;display:block}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--green);color:white;border-radius:7px;padding:17px 26px;font-size:14px}.button.small{padding:15px 23px}nav{display:flex;justify-content:center;gap:48px;padding:18px 20px;border-top:1px solid var(--sand);background:#fffdf8;font-size:13px}#menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:43% 57%;align-items:center;max-width:1600px;margin:auto;padding:40px 3% 60px 8%;min-height:590px;overflow:hidden}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:bold}.hero .eyebrow{font-size:12px;letter-spacing:.09em;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:500}h1{font-size:clamp(40px,4.3vw,68px);line-height:1.5;letter-spacing:.12em;margin:25px 0 24px}h1 span{white-space:nowrap}h2{font-size:36px;line-height:1.7;letter-spacing:.07em;margin:15px 0 28px}h3{font-size:20px;font-weight:500}.hero-copy>p{line-height:2.1;font-size:15px}.text-link{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid #819284;padding:12px 0;font-size:13px}.text-link span{font-size:21px}.hero-bottom{display:flex;gap:17px;align-items:center;margin-top:32px;font-size:11px;color:var(--muted)}.round-label{border:1px solid #8b9a83;border-radius:50%;width:69px;height:69px;display:flex;flex-direction:column;justify-content:center;text-align:center;line-height:1.7;font-size:11px;color:var(--green)}.hero-art{margin:0;position:relative}.hero-art img{width:100%;display:block;border-radius:48% 45% 12% 25%;aspect-ratio:1.2;object-fit:cover}.hero-art figcaption{font-size:9px;color:var(--muted);text-align:right;margin-top:12px}.hero-caption{position:absolute;right:7%;bottom:26px;font-family:Georgia,serif;font-style:italic;font-size:20px;color:#81927b}.quick-links{max-width:1180px;margin:12px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cfd6ca;border-bottom:1px solid #cfd6ca}.quick-links a{position:relative;padding:25px 28px;margin:12px 0;border-right:1px solid #cfd6ca}.quick-links a:last-child{border:0}.quick-links small{display:block;font-size:11px;color:var(--muted)}.quick-links b{font-size:14px;font-weight:500}.quick-links span{position:absolute;right:20px;top:41px}.section{max-width:1180px;margin:auto;padding:100px 25px}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px}.lead{font-size:14px;line-height:2.2}.about-copy{padding-top:28px;line-height:2.2}.about-copy p{margin-bottom:24px}.facts{display:flex;gap:60px;padding-top:15px}.facts b{display:block;font:52px Georgia,serif;line-height:1.3}.facts b small{font-size:17px;margin-left:8px}.facts span{font-size:11px;color:var(--muted)}.services{border-top:1px solid var(--sand)}.section-top{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:30px}.section-top p{font-size:13px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-grid article{padding:35px 25px;background:#efeee5;border-radius:60px 6px 6px 6px}.service-grid article:nth-child(2){background:#e8ede5}.service-grid article:nth-child(3){background:#eee5db}.number{font:11px Georgia,serif;letter-spacing:.1em;color:var(--accent)}.service-grid h3{margin:28px 0 18px}.service-grid p{font-size:14px;line-height:2}.tag{font-size:10px;border-top:1px solid #c4cabb;padding-top:17px;display:block}.day{padding-top:45px}.timeline{padding:0;margin:35px 0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:32px 20px}.timeline li{border-top:1px solid #aab8a3;padding:20px 8px 0;position:relative}.timeline li:before{content:'';position:absolute;top:-4px;left:9px;border-radius:50%;height:7px;width:7px;background:var(--green)}time{font:25px Georgia,serif;color:#688267}.timeline h3{font-size:16px;margin:13px 0 6px}.timeline p{font-size:12px;color:var(--muted)}.note{font-size:11px;color:var(--muted)}.stay{background:#304b40;color:#fffdf5;margin:0 3%;border-radius:10px 90px 10px 10px}.stay-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:32% 68%;align-items:center;padding:65px 35px;gap:20px}.stay h2{font-size:34px}.stay .eyebrow{color:#dfcba3}.stay p{font-size:14px;line-height:2}.stay .note{color:#d1d9d0;font-size:11px;margin:20px 0 0}.moon{font:180px Georgia,serif;text-align:center;color:#e6d8ac;transform:rotate(-16deg)}.moon span{display:block;font:italic 25px Georgia,serif;letter-spacing:10px}.light{background:#f2eee2;color:var(--ink)}.start{text-align:center}.start>p{font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);text-align:left;gap:40px;margin-top:55px}.steps article{border-top:1px solid #bec9ba;padding-top:25px}.steps span{font:italic 32px Georgia,serif;color:#9caa90}.steps h3{margin:15px 0}.steps p{font-size:14px;color:var(--muted)}.faq{max-width:950px;padding-top:0}.faq h2{font-size:30px}details{border-bottom:1px solid #ced4c6}summary{padding:24px 0;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:15px;list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:'Q';font:21px Georgia,serif;color:var(--accent);margin-right:4px}summary span{margin-left:auto}details[open] summary span{transform:rotate(45deg)}details>p{font-size:14px;line-height:2;padding:0 30px 20px}details a{text-decoration:underline}.contact{background:#e9ede3;max-width:none;display:grid;grid-template-columns:1fr 1fr;padding:75px max(6%,calc((100vw - 1130px)/2));gap:60px}.contact h2{font-size:32px}.contact p{font-size:14px}.contact-box{align-self:center}.contact-box>span{font-size:12px}.phone{display:block;font:36px Georgia,serif;letter-spacing:.03em;margin:10px 0}.phone small{font-size:21px}.contact-box .button{width:100%;max-width:380px}.contact-box>small{display:block;font-size:11px;margin-top:8px;color:var(--muted)}footer{padding:45px 5% 25px;background:#fffdf8}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-top>a:last-child{font-size:13px}.footer-bottom{border-top:1px solid var(--sand);margin-top:35px;padding-top:25px;font-size:10px;color:var(--muted)}.skip{position:absolute;left:10px;top:-100px;z-index:30;background:white;padding:10px}.skip:focus{top:10px}@media(min-width:1600px){.hero{padding-left:100px}}@media(max-width:1000px){nav{gap:23px;font-size:12px}.head-tel{display:none}.hero{padding-left:5%}.hero .eyebrow{font-size:10px}h1{font-size:45px}.quick-links{margin:0 25px}.quick-links a{padding:20px 18px}.quick-links b{font-size:12px}.quick-links span{right:8px}.about{gap:40px}.section{padding:75px 35px}.contact{padding:60px 5%;gap:35px}.phone{font-size:30px}.service-grid{gap:15px}.service-grid article{padding:30px 20px}}@media(max-width:700px){header{padding:18px 20px}.brand img{height:42px;width:30px}.brand small{font-size:8px}.brand strong{font-size:12px}.brand b{font-size:23px}.head-right{gap:0}.head-right>.button{display:none}#menu-toggle{display:block;border:1px solid #cfd6ca;background:none;border-radius:6px;padding:8px;font-size:11px}nav{display:none;padding:15px 25px}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:0}nav a{padding:12px 0}.hero{display:flex;flex-direction:column;align-items:stretch;padding:32px 25px 55px;min-height:auto}.hero .eyebrow{font-size:10px}h1{font-size:44px;line-height:1.5;margin:20px 0}.hero-copy>p{font-size:13px}.hero-art{margin:28px -10px 0 10px}.hero-art img{aspect-ratio:1.4}.hero-art figcaption{font-size:8px}.hero-bottom{position:absolute;right:30px;top:260px}.hero-bottom>span:last-child{display:none}.hero-caption{font-size:15px;bottom:20px}.quick-links{grid-template-columns:1fr;margin:0 25px}.quick-links a{margin:0;border:0;border-bottom:1px solid #cfd6ca;padding:18px 10px}.quick-links b{font-size:14px}.quick-links span{top:29px;right:10px}.section{padding:60px 25px}h2{font-size:29px}.about{grid-template-columns:1fr;gap:0}.about-copy{padding-top:0;font-size:14px}.facts{gap:60px}.facts b{font-size:44px}.section-top{display:block;margin-bottom:25px}.service-grid{grid-template-columns:1fr;gap:15px}.service-grid article{padding:26px}.service-grid h3{margin:15px 0}.service-grid p{font-size:14px}.day{padding-top:0}.timeline{grid-template-columns:1fr 1fr;gap:22px 15px}.timeline h3{font-size:14px}.timeline p{font-size:11px}.stay{margin:0 15px;border-radius:6px 55px 6px 6px}.stay-inner{display:block;padding:40px 25px}.moon{font-size:70px;float:right;line-height:1;margin-top:25px}.moon span{font-size:13px;letter-spacing:3px}.stay h2{font-size:27px}.stay p{font-size:13px}.stay .button{font-size:12px;padding:15px;gap:15px}.steps{grid-template-columns:1fr;gap:20px;margin-top:30px}.steps article{position:relative;padding-left:45px;padding-top:20px}.steps span{position:absolute;left:0;top:22px;font-size:25px}.steps h3{font-size:18px;margin:0 0 10px}.steps p{font-size:13px}.start{text-align:left}.faq{padding-top:0}summary{font-size:13px;padding:20px 0;gap:10px}details>p{padding-left:20px;font-size:13px}.contact{grid-template-columns:1fr;gap:15px}.contact h2{font-size:29px}.phone{font-size:34px}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column;gap:22px}.footer-bottom{gap:12px}footer{padding:35px 25px}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Gentle motion and real moments */
.hero{grid-template-columns:40% 60%;padding-left:6%;padding-right:4%}.hero-art{min-width:0}.hero-slides{position:relative;aspect-ratio:1.42;overflow:hidden;border-radius:30px 75px 30px 75px;background:#e9e4d7}.hero-art .hero-slide{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;object-fit:contain;opacity:0;transition:opacity 1.4s ease;transform:none}.hero-art .hero-slide.active{opacity:1}.slide-controls{display:flex;align-items:center;gap:15px;padding:15px 0 0}.slide-controls button,.dialog-caption>button{border:1px solid #bac7b5;background:transparent;color:var(--ink);border-radius:50%;width:36px;height:36px;cursor:pointer}.slide-controls span{font:12px Georgia,serif;letter-spacing:.1em}.slide-controls #slide-pause{margin-left:auto;border-radius:20px;width:auto;padding:0 15px;font-size:11px}.hero-art figcaption{font-size:10px;margin-top:9px}.hero-caption{bottom:22px}.moments{border-top:1px solid var(--sand);padding-top:70px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 24px}.photo-card{min-width:0}.photo-open{display:block;position:relative;width:100%;padding:0;background:#e9e4d7;border:0;border-radius:14px;overflow:hidden;cursor:zoom-in;aspect-ratio:1.08}.photo-open img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .6s ease}.photo-open:hover img{transform:scale(1.035)}.photo-zoom{position:absolute;bottom:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#fffdf1e6;font-size:23px;color:var(--ink)}.photo-caption{padding:13px 4px 0}.photo-caption time{font-size:11px;letter-spacing:.1em}.photo-caption h3{font-size:16px;margin:7px 0}.photo-card:nth-child(n+7){display:none}.photo-grid.expanded .photo-card{display:block}.more-photos{display:flex;margin:30px auto 15px;border:0;cursor:pointer}.moments>.note{text-align:center}.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal-ready.is-visible{opacity:1;transform:none}.photo-card:nth-child(3n+2){transition-delay:.1s}.photo-card:nth-child(3n+3){transition-delay:.2s}.hero-copy{animation:arrival 1.2s ease both}@keyframes arrival{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}#photo-dialog{border:0;border-radius:15px;background:#fffdf7;color:var(--ink);padding:45px 20px 20px;width:min(900px,94vw);max-height:94vh}#photo-dialog::backdrop{background:#17271ee6}#dialog-image{display:block;width:100%;height:65vh;object-fit:contain}.dialog-close{position:absolute;right:10px;top:5px;font-size:30px;border:0;background:none;cursor:pointer;color:var(--ink)}.dialog-caption{display:flex;justify-content:space-between;align-items:center;text-align:center;gap:15px;margin-top:15px}.dialog-caption p{margin:0;font-size:16px}.dialog-caption a{font-size:12px;text-decoration:underline}.dialog-caption>button{flex-shrink:0}nav{gap:30px}@media(max-width:1000px){nav{gap:18px}.hero{grid-template-columns:40% 60%;padding-left:4%}h1{font-size:40px}}@media(max-width:700px){.hero{padding:32px 25px 55px}.hero-art{margin:32px -10px 0}.hero-slides{border-radius:18px 40px 18px 40px}.hero-art figcaption{font-size:9px}.hero-art .hero-slide{aspect-ratio:auto}.slide-controls{gap:10px}.slide-controls #slide-pause{font-size:10px;padding:0 10px}.photo-grid{grid-template-columns:1fr 1fr;gap:22px 12px}.photo-caption h3{font-size:13px}.photo-caption time{font-size:10px}.moments{padding-top:50px}#dialog-image{height:55vh}.dialog-caption p{font-size:14px}nav.open{gap:0}.hero-copy{animation:none}.hero-bottom{top:250px}}
@media(prefers-reduced-motion:reduce){.hero-copy{animation:none}.hero-art .hero-slide,.photo-open img,.reveal-ready{transition:none}.reveal-ready{opacity:1;transform:none}}
body>header{position:absolute;inset:0 0 auto;z-index:20;background:transparent;color:white;padding:25px 4%;text-shadow:0 1px 6px #0006}body>header .button{background:#ffffff20;border:1px solid #ffffff80;color:white;backdrop-filter:blur(6px)}body>nav{position:absolute;top:109px;left:4%;right:4%;z-index:20;background:transparent;color:white;border-top:1px solid #ffffff50;padding:17px 0;gap:30px;text-shadow:0 1px 6px #0009}.fullscreen-hero{display:block;position:relative;max-width:none;margin:0;padding:0;width:100%;height:100svh;min-height:650px;overflow:hidden;background:#24362c}.full-slides,.full-slide,.hero-shade{position:absolute;inset:0}.full-slide{opacity:0;transition:opacity 1.8s ease;overflow:hidden}.full-slide.active{opacity:1}.full-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.full-slide .slide-backdrop{filter:blur(35px) brightness(.65);transform:scale(1.15)}.full-slide .slide-photo{object-position:center 40%}.full-slide.portrait .slide-photo{object-fit:contain;object-position:75% center}.full-slide.garden .slide-photo{object-position:center 45%}.hero-shade{background:linear-gradient(180deg,#10291eaa 0%,#15281d08 30%,#10221810 45%,#0f241e70 76%,#10271ed9 100%);pointer-events:none}.fullscreen-hero .hero-copy{position:absolute;left:8%;bottom:145px;z-index:2;color:white;animation:none;text-shadow:0 2px 18px #0007}.fullscreen-hero h1{margin:0;width:clamp(360px,42vw,650px);font-size:inherit;line-height:1}.handwriting{width:100%;height:auto;display:block;overflow:visible;filter:drop-shadow(0 2px 5px #0006)}.hand-letter{stroke:white;stroke-width:7;fill:white;fill-opacity:0;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;stroke-linejoin:round;animation:ink 1.1s ease forwards;animation-delay:var(--delay)}@keyframes ink{0%{stroke-dashoffset:1;fill-opacity:0}75%{stroke-dashoffset:0;fill-opacity:.3}100%{stroke-dashoffset:0;fill-opacity:1}}.fullscreen-hero .hero-intro{font-size:13px;letter-spacing:.22em;margin-bottom:22px}.fullscreen-hero .hero-subtitle{font-size:17px;letter-spacing:.25em;margin:22px 0 0}.hero-edge{position:absolute;z-index:3;bottom:35px;left:5%;right:5%;display:flex;align-items:flex-end;justify-content:space-between;color:white}.scroll-cue{font:10px Georgia,serif;letter-spacing:.18em;display:flex;align-items:center;gap:18px}.scroll-cue span{font-size:27px;animation:scrollHint 2s ease-in-out infinite}@keyframes scrollHint{50%{transform:translateY(7px)}}.full-controls{text-align:right}.full-controls #slide-caption{font-size:12px;letter-spacing:.08em;margin:0 0 12px}.full-controls .slide-controls{padding:0;gap:18px}.full-controls .slide-controls button{color:white;border-color:#ffffff80;background:#0002}.full-controls .slide-controls #slide-pause{margin-left:15px}.quick-links{margin-top:35px}header .brand img{background:#fff8;border-radius:50%;padding:4px}#menu-toggle{color:inherit}
@media(max-width:1000px){body>nav{gap:18px;font-size:11px}.fullscreen-hero .hero-copy{left:6%}.fullscreen-hero h1{width:450px}}
@media(max-width:700px){body>header{padding:20px;align-items:center}body>header .brand small{font-size:8px}body>header .brand b{font-size:22px}#menu-toggle{background:#173a2b70;border-color:#ffffff70}body>nav{top:90px;left:15px;right:15px;border:0;background:#244536f5;border-radius:12px;padding:0 16px}body>nav.open{padding:15px 16px}.fullscreen-hero{height:100svh;min-height:640px;display:block;padding:0}.full-slide.group .slide-photo{object-fit:contain;object-position:center 30%}.full-slide.portrait .slide-photo{object-fit:cover;object-position:center}.fullscreen-hero .hero-copy{left:7%;right:7%;bottom:160px}.fullscreen-hero h1{width:100%;max-width:420px}.fullscreen-hero .hero-intro{font-size:11px;margin:0 0 15px}.fullscreen-hero .hero-subtitle{font-size:13px;margin:16px 0 0}.hero-edge{bottom:25px;left:7%;right:7%}.full-controls #slide-caption{font-size:9px;max-width:230px}.full-controls .slide-controls{gap:10px}.full-controls .slide-controls #slide-pause{font-size:9px;margin-left:0;padding:0 10px}.full-controls .slide-controls button{width:30px;height:30px}.scroll-cue{font-size:8px;flex-direction:column;gap:7px}.hero-shade{background:linear-gradient(180deg,#10291eaa,#10221805 26%,#10221820 40%,#10271eb0 75%,#10271ee0)}.quick-links{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.hand-letter{animation:none;fill-opacity:1;stroke-dashoffset:0}.full-slide{transition:none}.scroll-cue span{animation:none}}
