:root{--ink:#26382f;--green:#245a4d;--muted:#68756d;--line:#dce3dc;--paper:#f5f7f3;--serif:'Noto Serif JP','Hiragino Mincho ProN',serif;--sans:'Noto Sans JP',sans-serif;--en:'EB Garamond',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:var(--ink);font:16px/2 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}img{display:block;max-width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bb965d;outline-offset:5px}.header{height:86px;display:flex;align-items:center;gap:50px;padding:0 4.5%;border-bottom:1px solid var(--line)}.header img{width:150px;height:auto}.header nav{display:flex;gap:30px;margin-left:auto;font-size:13px;letter-spacing:.04em}.header nav a:hover{color:#609077}.header-reserve{font-size:13px;border-left:1px solid var(--line);padding-left:35px;display:flex;gap:30px;align-items:center}.header-reserve span{font-size:23px}.hero{display:grid;grid-template-columns:44% 56%;padding:65px 4.5% 0;max-width:1600px;margin:auto}.hero-title{grid-row:1;grid-column:1;padding-right:20px;align-self:center}.eyebrow{font:12px/1.5 var(--en);letter-spacing:.19em;color:var(--green)}.location{font-size:12px;color:var(--muted);margin-top:30px;letter-spacing:.06em}h1{font-size:clamp(34px,3.6vw,55px);line-height:1.65;letter-spacing:.035em;margin-top:14px}h1 em{font-style:normal;color:var(--green)}.hero-lead{font-size:15px;line-height:2;margin-top:23px}.hero-lead strong{font-weight:500}.hero-photos{grid-row:1/3;grid-column:2;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-left:10px}.hero-photos figure{min-width:0;position:relative}.hero-photos figure:nth-child(2){padding-top:55px}.hero-photos img{width:100%;height:480px;object-position:center}.hero-photos figcaption{display:flex;align-items:baseline;gap:9px;font:18px var(--serif);padding:17px 2px}.hero-photos figcaption>span{font:italic 21px var(--en);color:#87988b}.hero-photos small{margin-left:auto;font:10px var(--en);letter-spacing:.1em;color:var(--muted)}.photo-seal{position:absolute;top:360px;bottom:auto;left:-30px;width:106px;height:106px;border-radius:50%;background:white;border:1px solid var(--green);outline:5px solid #fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font:11px/1.6 var(--en);letter-spacing:.12em;transform:rotate(-12deg)}.photo-seal i{font-size:25px;letter-spacing:0}.hero-booking{grid-row:2;grid-column:1;margin-top:27px;max-width:360px;padding-right:10px}.button{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--green);color:#fff;padding:16px 23px;min-height:60px;font-size:14px;letter-spacing:.04em;transition:background .2s}.button:hover{background:#377560}.button b{font-size:25px;line-height:1;font-weight:400}.meta{font-size:11px;color:var(--muted);margin-top:10px;text-align:center}.hero-gift{display:flex;gap:13px;align-items:center;margin-top:22px;border-top:1px solid var(--line);padding:17px 0 0;font-size:12px}.hero-gift svg{width:29px;height:29px;stroke:#6e846c;stroke-width:1.3;fill:none;flex-shrink:0}.hero-gift small{display:block;font-size:10px;letter-spacing:.07em;color:var(--muted)}.hero-gift b{margin-left:auto;font-weight:400}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:43px;padding:18px 0;color:var(--muted)}.hero-foot>span{font:italic 18px var(--en)}.hero-foot a{font-size:11px}.hero-foot a span{margin-left:22px}.section{max-width:1120px;margin:auto;padding:105px 40px}.section h2{font-size:38px;line-height:1.65;letter-spacing:.035em;margin-top:18px}.section-heading{margin-bottom:45px}.section-heading>p:last-child:not(.eyebrow){font-size:15px;line-height:2;color:var(--muted);margin-top:24px}.intro{text-align:center;padding:105px 40px 90px}.intro h2{font-size:38px;line-height:1.9}.intro-copy{margin-top:33px}.intro-copy p{font-size:15px;line-height:2.2}.intro-copy p+p{margin-top:21px}.intro-detail{display:flex;justify-content:center;gap:0;margin-top:40px}.intro-detail span{font-size:12px;border-right:1px solid var(--line);padding:0 25px}.intro-detail span:last-child{border:0}.intro-detail span:before{content:'✓';margin-right:10px;color:#6d9279}.day{padding-bottom:100px}.day-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;border-top:1px solid var(--line);padding-top:75px;padding-bottom:55px}.day-heading>div:last-child{max-width:420px;font-size:15px;color:var(--muted)}.note{font-size:12px;line-height:1.9;color:var(--muted);margin-top:17px}.day-story{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:7%;max-width:1360px;margin:0 auto;padding:0 5% 0 0}.story-image{position:relative}.story-image>img:first-child{width:100%;height:580px}.photo-label{position:absolute;bottom:22px;left:30px;font:11px var(--en);letter-spacing:.16em;background:#ffffffed;padding:9px 15px;color:var(--green)}.story-copy{padding:35px 0}.chapter{display:flex;gap:21px;align-items:center;margin-bottom:27px}.chapter>span{font:italic 75px/1 var(--en);color:#9faf9c}.chapter>p{font-size:13px;letter-spacing:.04em}.chapter small{display:block;font:10px/2 var(--en);letter-spacing:.16em;color:var(--muted)}.story-copy h3{font-size:32px;line-height:1.8;margin-bottom:25px;letter-spacing:.03em}.story-copy>p{font-size:15px;line-height:2.1;color:#57665c}.story-copy>p+p{margin-top:21px}.look-point{border-top:1px solid var(--line);padding-top:18px;margin-top:27px}.look-point>span{font-size:11px;color:#779178}.look-point>p{font-size:12px;margin-top:7px;line-height:1.9}.text-link{display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid #8ca28d;padding:12px 0 8px;margin-top:20px;font-size:13px}.text-link b{font-size:20px;font-weight:400}.walk-note{display:flex;align-items:center;justify-content:center;gap:24px;margin:70px auto;color:var(--green)}.walk-note>span{width:80px;border-top:1px dashed #a7b7a5}.walk-note svg{width:36px;height:36px;stroke:currentColor;fill:none;stroke-width:1.5}.walk-note p{font-family:var(--serif);font-size:17px}.walk-note small{display:block;font:12px/1.8 var(--sans);color:var(--muted);margin-top:5px}.story-two{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);padding:0 0 0 7%}.story-two .story-image{grid-column:2;grid-row:1}.story-two .story-copy{grid-column:1;grid-row:1}.story-two .story-image>img{height:660px;object-position:center 46%}.story-cafe{margin-top:100px;padding-top:80px;border-top:1px solid var(--line)}.cafe-image{padding:0 50px 100px 0}.cafe-image>img:first-child{height:420px}.cafe-image .lunch-inset{position:absolute;width:60%;height:210px;bottom:0;right:0;border:10px solid white}.gift-ticket{margin-top:25px;display:flex;align-items:center;border:1px solid #c1bca7;background:#fbfaf4;padding:20px 0 20px 17px;position:relative}.ticket-icon{font:40px var(--en);color:#afa381;margin-right:14px}.gift-ticket small{font-size:10px;color:#776e53;letter-spacing:.04em}.gift-ticket p{font:23px var(--en);color:#74694f;margin:3px 0 7px}.gift-ticket strong{font-family:var(--serif);font-weight:500;font-size:20px}.ticket-end{align-self:stretch;writing-mode:vertical-rl;border-left:1px dashed #b8b197;margin-left:auto;padding:0 15px;font:11px var(--en);letter-spacing:.15em;display:flex;align-items:center;justify-content:center}.story-copy .gift-terms{font-size:11px;line-height:1.8;margin-top:12px;color:#7d7c6f}.cafe-info{margin-top:22px}.cafe-info>span{font-size:12px;font-weight:500}.cafe-info>p{font-size:11px;color:var(--muted);line-height:1.9;margin-top:6px}.comparison-section{padding-top:65px;border-top:1px solid var(--line)}.comparison{width:100%;table-layout:fixed;border-collapse:collapse;text-align:left}.comparison th,.comparison td{border-bottom:1px solid var(--line);padding:22px;vertical-align:top;font-weight:400;font-size:15px}.comparison th:first-child{width:22%;font-size:12px;color:var(--muted);padding-left:0}.comparison td:nth-child(2){background:#f6f8f3}.comparison thead th{font-family:var(--serif);font-size:23px;border-top:1px solid var(--line)}.compare-note{text-align:center;margin-top:42px;font-size:15px;line-height:2.1}.compare-note strong{font:23px/2 var(--serif);font-weight:400}.plans{background:#f6f8f5}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.plan-title{border-top:1px solid #b7c6b6;padding-top:22px}.plan-title>span{font:12px var(--en);letter-spacing:.12em;color:#759072}.plan-title h3{font-size:25px;line-height:1.7;margin:15px 0 26px}.plan-open{padding:18px;background:white;border:1px solid var(--line);color:var(--green);width:100%;cursor:zoom-in}.plan-open img{height:320px;width:100%;object-fit:contain;filter:invert(1);opacity:.85}.plan-open>span{display:flex;justify-content:space-between;margin-top:14px;padding-top:8px;border-top:1px solid var(--line);font-size:13px}.plan-open b{font-size:19px;font-weight:400}.two-plans{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-plans .plan-open{padding:12px}.two-plans .plan-open img{height:332px}.plan-card>p{font-size:15px;line-height:2;margin-top:25px}.plan-card .plan-focus{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:19px}.plan-focus strong{font-size:14px;color:var(--green);font-weight:400;display:block;margin-top:9px}.before{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px}.before h2{font-size:30px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:15px}.faq summary::-webkit-details-marker{display:none}.faq summary>span{color:#759072;font-size:20px}.faq details[open] summary>span{transform:rotate(45deg)}.faq details p{font-size:14px;line-height:2.1;padding:0 22px 25px 0;color:var(--muted)}.access{border-top:1px solid var(--line)}.access-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.address{font-size:18px}.access dl{margin-top:24px}.access dl>div{display:flex;gap:20px;font-size:14px;border-bottom:1px solid var(--line);padding:12px 0}.access dt{color:var(--muted);min-width:70px}.access dd{margin:0}.access iframe{width:100%;height:350px;border:0;background:var(--paper)}.closing{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.closing-photo img{height:100%;min-height:640px;width:100%}.closing-copy{padding:75px 13%;align-self:center}.closing-copy h2{font-size:34px;line-height:1.8;margin:22px 0}.closing-copy>p{font-size:14px;line-height:2}.closing-copy .button{margin-top:28px}.closing-copy .meta{font-size:11px}.phone{text-align:center;margin-top:30px}.phone span,.phone small{display:block;font-size:11px;color:var(--muted)}.phone a{font:34px/1.5 var(--en);letter-spacing:.03em}footer{display:flex;align-items:center;gap:35px;padding:40px 5%;font-size:11px;color:var(--muted)}footer img{width:140px;height:auto}footer>span{font-family:var(--serif);margin-right:auto}.sticky{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#ffffffed;border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom))}.sticky .button{max-width:440px;margin:auto}.sticky[hidden]{display:none}dialog{background:white;color:var(--ink);border:0;box-shadow:0 20px 90px #0003;width:min(850px,94vw);max-height:92dvh;padding:28px}dialog::backdrop{background:#23372ed9}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-top h2{font-size:19px}.dialog-close{border:1px solid var(--line);background:white;color:var(--green);font-size:13px;padding:10px 17px;cursor:pointer;flex-shrink:0}.dialog-image{margin-top:25px;max-height:68dvh;overflow:auto}.dialog-image img{margin:auto;object-fit:contain;max-height:68dvh;filter:invert(1)}dialog>p{font-size:12px;color:var(--muted);margin-top:17px}.sr-only,.skip:not(:focus){position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;overflow:hidden;white-space:nowrap}.skip:focus{position:fixed;background:white;padding:12px;z-index:50}
@media(min-width:761px){.sticky{display:none}}
@media(max-width:1000px) and (min-width:761px){.hero-photos img{height:430px}.photo-seal{top:310px}.hero-gift{font-size:11px}.header nav{gap:15px}.header{gap:22px}.story-copy h3{font-size:26px}.story-copy>p{font-size:14px}.story-image>img:first-child{height:530px}.day-story{gap:5%}.before{gap:35px}.closing-copy{padding:50px 8%}.closing-copy h2{font-size:28px}}
@media(max-width:760px){.header{height:62px;padding:0 22px;gap:15px}.header img{width:127px}.header nav{display:none}.header-reserve{margin-left:auto;padding-left:20px;gap:17px;font-size:12px}.hero{display:flex;flex-direction:column;padding:24px 22px 0}.hero-title{width:100%;padding:0}.eyebrow{font-size:10px;letter-spacing:.16em}.location{font-size:11px;margin-top:14px}h1{font-size:31px;line-height:1.55;margin-top:8px;letter-spacing:.03em}.hero-lead{font-size:13px;line-height:1.9;margin-top:13px}.hero-photos{margin:21px -22px 0;padding:0;gap:5px;display:grid}.hero-photos img{height:175px;object-position:center 59%}.hero-photos figure:nth-child(2){padding:0}.hero-photos figcaption{font-size:15px;padding:9px 15px;gap:8px;line-height:1.5}.hero-photos small{font-size:9px}.hero-photos figcaption>span{font-size:19px}.photo-seal{width:60px;height:60px;bottom:50px;left:calc(50% - 30px);outline-width:3px;font-size:7px;line-height:1.3}.photo-seal i{font-size:16px}.hero-booking{margin-top:15px;max-width:none;padding:0}.button{min-height:53px;padding:13px 19px;font-size:14px}.meta{margin-top:7px;font-size:10px}.hero-gift{margin-top:12px;padding-top:10px;font-size:11px;line-height:1.7}.hero-gift small{font-size:9px}.hero-gift svg{width:25px;height:25px}.hero-foot{margin-top:22px;padding:14px 0;justify-content:flex-end}.hero-foot>span{display:none}.hero-foot a{font-size:10px}.section{padding:70px 24px}.section h2{font-size:28px;line-height:1.75;margin-top:14px;letter-spacing:.015em}.section-heading{margin-bottom:30px}.section-heading>p:last-child:not(.eyebrow){font-size:14px;margin-top:20px}.intro{padding-top:65px;padding-bottom:65px}.intro h2{font-size:25px;line-height:1.9}.intro-copy{margin-top:26px}.intro-copy p{font-size:14px;line-height:2.15}.intro-detail{flex-wrap:wrap;gap:10px;margin-top:29px}.intro-detail span{padding:0 10px;font-size:10px}.intro-detail span:before{margin-right:5px}.day{padding-bottom:60px}.day-heading{display:block;padding-top:50px;padding-bottom:35px;margin:0 24px;padding-left:0;padding-right:0}.day-heading>div:last-child{margin-top:20px;font-size:14px}.day-heading .note{font-size:11px;line-height:1.8;max-width:310px}.day-story{display:flex;flex-direction:column;padding:0;gap:0;align-items:stretch}.story-image{width:calc(100% - 24px)}.story-image>img:first-child{height:330px}.photo-label{left:20px;bottom:18px;font-size:9px;padding:8px 12px}.story-copy{padding:28px 26px 0}.chapter{gap:17px;margin-bottom:20px}.chapter>span{font-size:61px}.chapter>p{font-size:13px}.chapter small{font-size:9px}.story-copy h3{font-size:27px;line-height:1.8;margin-bottom:21px}.story-copy>p{font-size:15px;line-height:2.1}.story-copy>p+p{margin-top:19px}.look-point{padding-top:17px;margin-top:22px}.look-point>p{font-size:12px;line-height:1.9}.text-link{font-size:12px;margin-top:16px;padding-top:10px}.walk-note{margin:45px 24px;gap:13px;justify-content:flex-start}.walk-note>span{display:none}.walk-note svg{width:32px;height:32px;flex-shrink:0}.walk-note p{font-size:16px}.walk-note small{font-size:10px;margin-top:4px}.story-two .story-image{margin-left:24px}.story-two .story-image>img{height:390px;object-position:center 46%}.story-cafe{margin:62px 0 0;padding-top:52px}.cafe-image{padding:0 40px 65px 0;width:100%}.cafe-image>img:first-child{height:255px}.cafe-image .lunch-inset{height:145px;width:53%;right:22px;border:7px solid white}.story-cafe .story-copy{padding-top:26px}.story-cafe h3{font-size:25px}.gift-ticket{padding:18px 0 18px 14px;margin-top:24px}.ticket-icon{font-size:28px;margin-right:10px}.gift-ticket small{font-size:9px}.gift-ticket p{font-size:21px}.gift-ticket strong{font-size:18px}.ticket-end{font-size:9px;padding:0 12px}.story-copy .gift-terms{font-size:11px}.cafe-info>p{font-size:11px}.comparison-section{padding-top:60px}.comparison th,.comparison td{padding:15px 10px;font-size:14px;line-height:2}.comparison thead{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.comparison tbody{display:block}.comparison tr{display:grid;grid-template-columns:1fr 1fr}.comparison th:first-child{width:auto;grid-column:1/-1;padding:15px 0 8px;font-size:11px;border:0;border-top:1px solid var(--line)}.comparison td{border:0}.comparison tr:first-child td:before{display:block;font:20px var(--serif);margin-bottom:13px}.comparison tr:first-child td:nth-child(2):before{content:'平屋'}.comparison tr:first-child td:nth-child(3):before{content:'2階建て'}.comparison tr:last-child{border-bottom:1px solid var(--line)}.compare-note{font-size:12px;margin-top:29px}.compare-note strong{font-size:19px;line-height:1.9;display:block;margin-top:9px}.plan-grid{display:block}.plan-card+.plan-card{margin-top:40px}.plan-title h3{font-size:24px}.plan-open img{height:315px}.two-plans .plan-open{padding:9px}.two-plans .plan-open img{height:165px}.plan-card>p{font-size:14px;line-height:2.05}.plan-focus strong{font-size:14px}.plans .note{font-size:11px}.before{display:block}.before h2{font-size:25px}.faq summary{font-size:14px;line-height:1.8;padding:20px 0}.faq summary>span{flex-shrink:0}.faq details p{font-size:14px;padding-right:10px}.access-grid{display:flex;flex-direction:column;gap:28px}.address{font-size:16px}.access dl>div{font-size:13px}.access iframe{height:270px}.access .note{font-size:11px}.closing{display:flex;flex-direction:column}.closing-photo img{height:250px;min-height:0}.closing-copy{width:100%;padding:43px 26px 48px}.closing-copy h2{font-size:28px;line-height:1.85}.closing-copy>p{font-size:14px}.phone{margin-top:28px}footer{flex-wrap:wrap;gap:19px;padding:30px 24px 110px}footer img{width:125px}footer>span{font-size:11px;margin:0}footer>a{font-size:10px}footer small{font-size:10px}.sticky{padding:9px 18px calc(9px + env(safe-area-inset-bottom))}.sticky .button{min-height:48px;font-size:13px}dialog{padding:18px}.dialog-top h2{font-size:15px}.dialog-close{font-size:11px;padding:9px 12px}.dialog-image img{max-width:100%;height:auto}dialog>p{font-size:11px}}
@media(max-width:360px){.hero{padding-top:20px}h1{font-size:28px}.hero-photos img{height:150px}.hero-photos{margin-top:16px}.hero-lead{font-size:12px}.hero-photos small{display:none}.intro-copy p{font-size:13px}.section h2{font-size:25px}.story-copy h3{font-size:25px}.story-cafe h3{font-size:23px}.gift-ticket strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:760px){.hero{padding-top:20px}.location{margin-top:10px}h1{margin-top:6px}.hero-lead{margin-top:10px}.hero-photos{margin-top:17px}.hero-photos img{height:145px}.hero-gift{margin-top:10px;padding-top:9px}.hero-gift small{font-size:10px}.hero-gift{font-size:12px}}
@media(max-width:760px) and (min-height:740px){.hero-photos img{height:195px}.hero{padding-top:25px}.hero-photos{margin-top:22px}}

/* Inline reservation */
.reservation{padding:105px 5%;background:#f6f8f4;scroll-margin-top:20px}.reservation-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.reservation-intro h2{font-size:34px;line-height:1.9;margin:20px 0}.reservation-intro>p{font-size:14px;line-height:2}.reserved-homes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-top:32px}.reserved-homes>span{display:block;font-size:11px;color:var(--muted)}.reserved-homes strong{display:block;font:22px/1.8 var(--serif);margin:5px 0}.reserved-homes p{font-size:12px}.reservation-facts{list-style:none;padding:0;margin:23px 0;font-size:13px}.reservation-facts li:before{content:'✓';color:var(--green);margin-right:12px}.reservation-intro .note{font-size:11px}.reservation-panel{background:#fff;padding:36px 38px;border:1px solid var(--line)}.form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.form-heading>span{font:24px var(--serif)}.form-heading p{font:16px var(--en);letter-spacing:.12em;color:var(--muted)}.form-heading b{color:var(--green);font-weight:400}.form-preview{font-size:11px;color:var(--muted);background:var(--paper);padding:10px 12px;margin-bottom:26px}.reservation fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}.reservation legend{font-size:15px;font-weight:500;width:100%;padding:0 0 14px;border-bottom:1px solid var(--line);margin-bottom:20px;display:flex;align-items:baseline;gap:12px}.reservation legend>span{font:italic 23px var(--en);color:#8b9e8f}.reservation legend small{font:11px var(--sans);color:var(--muted);margin-left:auto}.field{margin-top:18px;min-width:0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-pair .field{margin-top:0}.field label{display:flex;align-items:center;gap:12px;font-size:13px;margin-bottom:8px}.required{font-size:10px;font-weight:400;letter-spacing:.08em;color:#537061}.reservation input:not([type=checkbox]),.reservation select,.reservation textarea{width:100%;min-width:0;border:1px solid #cbd5cd;border-radius:0;background:#fff;color:var(--ink);font:16px/1.5 var(--sans);padding:13px 12px;min-height:51px;box-shadow:none}.reservation input[type=date]{appearance:none;-webkit-appearance:none}.reservation input[type=date]::-webkit-date-and-time-value{text-align:left}.reservation textarea{resize:vertical;min-height:105px}.reservation input::placeholder,.reservation textarea::placeholder{font-size:13px;color:#89948c}.reservation input:focus-visible,.reservation select:focus-visible,.reservation textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}.field-hint{font-size:11px;line-height:1.9;color:var(--muted);margin-top:12px}.consent{border-top:1px solid var(--line);padding-top:22px;text-align:center}.consent label{display:flex;justify-content:center;align-items:center;gap:10px;font-size:13px;cursor:pointer;min-height:44px}.consent input{width:20px;height:20px;accent-color:var(--green);flex-shrink:0}.consent>a{font-size:11px;text-decoration:underline;text-underline-offset:4px}.form-next{width:100%;margin-top:25px;border:0;cursor:pointer}.form-bottom-note{font-size:11px;color:var(--muted);text-align:center;margin-top:12px}.reservation .field-error,.form-error-summary{font-size:12px;color:#a23329;line-height:1.8;margin-top:8px}.reservation [aria-invalid=true]{border-color:#a23329!important}.reservation [hidden]{display:none!important}.reservation-review{scroll-margin-top:25px}#review-title{font:24px/1.8 var(--serif);margin-top:28px}.review-lead{font-size:13px;margin:8px 0 22px}#review-values{margin:0}#review-values>div{border-top:1px solid var(--line);padding:16px 0}#review-values dt{font-size:11px;color:var(--muted)}#review-values dd{font-size:15px;margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.review-preview{padding:17px;background:var(--paper);font-size:12px;margin:20px 0}.reservation button:disabled{opacity:.5;cursor:not-allowed;width:100%;border:0;font-size:13px}.form-back{display:block;margin:22px auto 0;background:none;border:0;border-bottom:1px solid var(--line);color:var(--green);font-size:13px;padding:10px;cursor:pointer}.hero-foot:empty{display:none}
@media(max-width:960px){.reservation-inner{gap:30px;grid-template-columns:.8fr 1.2fr}.reservation-panel{padding:28px 24px}.reservation-intro h2{font-size:28px}}
@media(max-width:760px){.hero-title>.eyebrow{display:none}.hero{padding-top:16px}.hero-title .location{margin-top:0}.hero-foot{display:none}.reservation{padding:58px 22px;scroll-margin-top:0}.reservation-inner{display:block}.reservation-intro h2{font-size:28px;margin-top:13px}.reservation-intro .eyebrow{font-size:10px}.reserved-homes{margin-top:24px;padding:17px 0}.reserved-homes strong{font-size:22px}.reservation-facts{margin:18px 0}.reservation-intro .phone{margin:22px 0 30px}.reservation-panel{padding:25px 18px}.field-pair{grid-template-columns:1fr;gap:18px}.reservation legend{font-size:14px}.form-heading>span{font-size:23px}.form-preview{font-size:10px}.reservation input:not([type=checkbox]),.reservation select,.reservation textarea{font-size:16px;padding:13px 10px}.consent label{font-size:12px;gap:8px}.form-next{font-size:14px;padding:16px 14px}.reservation .phone a{font-size:26px}.form-bottom-note{font-size:10px}}

/* Progressive reservation steps and clearer contrast */
:root{--muted:#536158}.reservation-panel{border-color:#bdc9c0}.form-heading p{font:13px/1.6 var(--sans);letter-spacing:0;color:var(--ink)}.form-heading b{font-weight:600}.form-preview{font-size:12px;color:#536158;padding:9px 10px;margin-bottom:18px}.accordion-guide{font-size:14px;margin:0 0 18px;color:var(--ink)}.form-section{border:1px solid #b8c6bd;margin-top:12px;background:#fff}.form-section h3{margin:0}.step-toggle{display:flex;align-items:center;gap:13px;width:100%;min-height:80px;padding:16px;text-align:left;border:0;background:#f2f5f1;color:var(--ink);cursor:pointer}.step-number{font:22px/1 var(--en);color:var(--green);min-width:26px}.step-label{flex:1;min-width:0}.step-label strong{display:block;font:500 16px/1.6 var(--sans)}.step-summary{display:block;font:12px/1.7 var(--sans);color:#4d6053;overflow-wrap:anywhere;margin-top:3px}.step-symbol{font:22px var(--sans);color:var(--green)}.step-toggle[aria-expanded=true]{background:#eaf1ea;border-bottom:1px solid #b8c6bd}.step-toggle[aria-expanded=true] .step-summary{color:var(--green);font-weight:500}.reservation .step-toggle:disabled{opacity:1;width:100%;border:0;font-size:inherit;cursor:default;background:#f8f9f7}.step-toggle:disabled .step-number,.step-toggle:disabled .step-summary{color:#626c65}.step-panel{padding:20px 17px}.step-panel fieldset{margin:0}.reservation .step-panel legend.sr-only{width:1px;display:block;margin:0;padding:0;border:0}.step-panel .field:first-of-type{margin-top:0}.step-panel .consent{margin-top:20px}.step-next{border:0;width:100%;margin-top:22px;font-size:14px;cursor:pointer;padding:16px}.step-next[hidden]{display:none}.reservation .field label{font-size:14px;font-weight:500}.reservation .required{font-size:11px;background:#edf2ee;color:#30543e;padding:1px 5px}.reservation input:not([type=checkbox]),.reservation select,.reservation textarea{border:1px solid #8d9f92}.reservation input::placeholder,.reservation textarea::placeholder{color:#647269;font-size:14px}.field-hint{font-size:12px}.form-bottom-note{font-size:12px}.step-toggle:focus-visible{outline:2px solid var(--green);outline-offset:3px}.reservation legend.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.step-panel .form-next{font-size:14px;padding:16px 12px}.step-panel .consent label{font-size:13px;line-height:1.7}.step-panel .consent>a{font-size:12px}.reservation-intro .note{font-size:12px}
@media(max-width:760px){.reservation{padding-left:18px;padding-right:18px}.reservation-panel{padding:24px 14px}.step-toggle{padding:15px 12px;gap:10px}.step-label strong{font-size:15px}.step-panel{padding:18px 12px}.field-pair{gap:15px}.step-panel .consent label{align-items:flex-start;text-align:left}.step-panel .consent input{margin-top:3px}.form-preview{font-size:11px}.reservation .field label{font-size:14px}.form-heading>span{font-size:24px}.form-bottom-note{font-size:11px}.note{color:#536158}.sticky{border-top:1px solid #bfcec2;box-shadow:0 -3px 16px #20382c12}.sticky .button{font-size:14px;font-weight:500}}
@media(max-width:760px){.hero-gift{display:none}}

/* Connect the two-home promise to the reader's decision. */
.intro-question{font-size:15px;line-height:2.1;margin-top:22px}.home-thoughts{max-width:800px;margin:40px auto 0;display:grid;grid-template-columns:1fr 1fr;text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-thought{padding:28px 32px 30px}.home-thought+.home-thought{border-left:1px solid var(--line)}.home-thought>span{font-size:12px;color:var(--green);letter-spacing:.08em}.home-thought h3{font:24px/1.8 var(--serif);margin:12px 0 15px}.home-thought p{font-size:14px;line-height:2}.intro-bridge{margin-top:35px}.intro-bridge p{font-size:14px;line-height:2.1}.intro-bridge p+p{font:23px/1.9 var(--serif);margin-top:18px;color:var(--green)}
@media(max-width:760px){.intro{padding-left:24px;padding-right:24px}.intro h2{font-size:25px;letter-spacing:0}.intro-question{font-size:14px;margin-top:19px}.home-thoughts{margin-top:29px}.home-thought{padding:20px 14px 22px 0}.home-thought+.home-thought{padding-left:14px;padding-right:0}.home-thought>span{font-size:11px}.home-thought h3{font-size:18px;line-height:1.85;margin:10px 0 13px;letter-spacing:-.025em}.home-thought p{font-size:13px;line-height:1.95}.home-thought p br{display:none}.intro-bridge{margin-top:26px}.intro-bridge p{font-size:13px}.intro-bridge p+p{font-size:18px;line-height:1.9;margin-top:16px}.intro-detail{margin-top:23px}}
@media(max-width:360px){.intro{padding-left:20px;padding-right:20px}.intro h2{font-size:23px}.home-thought h3{font-size:17px}.intro-bridge p+p{font-size:17px}}

/* A quieter header and one clear reservation action. */
.header{border-bottom:0}.hero-booking>.button{min-height:76px;font-size:16px;padding:20px 25px}.hero-booking{max-width:410px}.reservation .step-next,.reservation .form-next{min-height:64px}.hero{padding-top:45px}
@media(max-width:760px){.header{height:66px;padding:0 22px}.header img{width:132px}.hero{padding-top:6px}.hero-lead{font-size:14px;line-height:1.9;margin-top:14px}.hero-photos{margin:22px 0 0;gap:9px;width:100%}.hero-photos img{height:168px}.hero-photos figcaption{padding:10px 0 0;font-size:15px;line-height:1.6}.hero-photos figcaption>span,.hero-photos figcaption small,.photo-seal{display:none}.hero-booking{width:100%;max-width:none;margin-top:21px}.hero-booking>.button{min-height:70px;font-size:15px;justify-content:center;position:relative;padding:20px 39px 20px 20px;letter-spacing:.03em}.hero-booking>.button>b{position:absolute;right:20px;font-size:24px}.hero-booking>.meta{font-size:11px;margin-top:10px;line-height:1.7}.sticky{padding:10px 18px calc(10px + env(safe-area-inset-bottom))}.sticky .button{min-height:60px;justify-content:center;position:relative;padding:17px 40px 17px 20px;font-size:14px}.sticky .button>b{position:absolute;right:20px}.intro{padding-top:58px}}
@media(max-width:760px) and (min-height:740px){.hero-photos img{height:205px}.hero{padding-top:12px}}
@media(max-width:360px){.hero-lead{font-size:13px}.hero-booking>.button{font-size:14px}.hero-photos img{height:152px}}

/* One field at a time; previously entered values remain editable. */
.header-logo{flex-shrink:0}.form-guidance{font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 24px}.reveal-field+.reveal-field{margin-top:25px}.reveal-field .field{margin-top:0}.reveal-field.is-revealed{animation:field-reveal .45s ease-out both}.reveal-field .optional{font-size:11px;font-weight:400;color:var(--muted);margin-left:4px}.reveal-field>.consent{margin-top:28px}.reservation .form-next{min-height:66px}.mobile-break{display:none}.compare-note{max-width:760px;margin:36px auto 0;padding:29px 0 0;border-top:1px solid var(--line)}.compare-note>p{font-size:14px;line-height:1.95}.compare-note .compare-takeaway{font:24px/1.9 var(--serif);margin-top:16px;color:var(--green)}.compare-takeaway span{display:inline-block}.compare-takeaway span+span{margin-left:.35em}footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:28px;row-gap:23px;max-width:1280px;margin:auto;padding:42px 5% 28px}footer img{width:140px}footer>span{margin:0;font-size:13px}footer>a{font-size:12px;justify-self:end}footer small{grid-column:1/-1;text-align:center;border-top:1px solid var(--line);padding-top:20px;font-size:11px;letter-spacing:.04em}
@keyframes field-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.reservation-panel{padding:27px 20px}.form-heading{margin-bottom:12px}.form-guidance{font-size:13px;margin-bottom:25px}.reveal-field+.reveal-field{margin-top:26px}.reveal-field .field-hint{font-size:12px;line-height:1.9}.reveal-field .consent label{font-size:12px}.reveal-field .consent>a{font-size:12px}.compare-note{margin-top:28px;padding:24px 0 0}.compare-note>p{font-size:13px;line-height:1.9}.mobile-break{display:block}.compare-note .compare-takeaway{font-size:19px;line-height:1.85;margin-top:16px;letter-spacing:0}.compare-takeaway span{display:block}.compare-takeaway span+span{margin:0}footer{display:flex;flex-direction:column;align-items:center;gap:0;padding:42px 22px 28px;text-align:center}footer img{width:140px}footer>span{margin:16px 0 0;font-size:13px;line-height:1.8}footer>a{font-size:12px;margin-top:25px}footer small{width:100%;font-size:10px;padding-top:19px;margin-top:25px}}
@media(prefers-reduced-motion:reduce){.reveal-field.is-revealed{animation:none}}

footer.minimal-footer{display:block;max-width:none;margin:0;padding:24px 22px;text-align:center;background:#fff}footer.minimal-footer small{display:block;margin:0;padding:0;border:0;font-size:11px;line-height:1.8;letter-spacing:.04em;color:var(--muted)}

#reservation-complete{padding:20px 0}#complete-title{font:26px/1.8 var(--serif);color:var(--green);margin-bottom:20px}#reservation-complete p{font-size:14px;line-height:2}.reservation [aria-busy=true]{opacity:.75}@media(max-width:760px){#complete-title{font-size:23px}}

/* Compact consent: policy link lives in the agreement text. */
.reveal-field>.consent{border-top:0;padding-top:0;margin-top:14px}.reveal-field .consent label{min-height:36px;gap:8px;font-size:13px;line-height:1.6}.consent label a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.consent label a:hover{color:var(--green)}.reveal-field .form-next{margin-top:16px}.reveal-field textarea{min-height:88px}.reveal-field[data-reveal="5"]{margin-top:20px}
@media(max-width:360px){.reveal-field .consent label{font-size:12px}}

/* Desktop: complete form, and phone aligned with the left-hand information. */
@media(min-width:761px){.reservation-intro .phone{text-align:left;margin:28px 0 0;padding-top:22px;border-top:1px solid var(--line)}.reservation-intro .phone span{font-size:12px;line-height:1.8}.reservation-intro .phone a{display:inline-block;font-size:34px;line-height:1.5;margin:5px 0 3px}.reservation-intro .phone small{font-size:11px}.reservation .reveal-field.is-revealed{animation:none}}
