:root{--paper:#fbf8f1;--ink:#534638;--brown:#785c47;--rule:#d8cfc1;--serif:'Yu Mincho','Hiragino Mincho ProN',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}a:hover{opacity:.78}a:focus-visible{outline:3px solid #28664d;outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin-top:0}h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(26px,3vw,39px);line-height:1.65;letter-spacing:.08em}h3{font-size:23px;line-height:1.65}.wrap{width:min(1160px,90%);margin:auto}header{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:26px 5%;border-bottom:1px solid var(--rule)}.brand{font-family:Georgia,serif;font-style:italic;font-size:31px;line-height:1.2}.brand span{display:block;font-family:sans-serif;font-style:normal;font-size:12px;margin-top:10px;letter-spacing:.1em}.header-contact{font-size:14px;border-bottom:1px solid var(--brown);padding:8px 0}.hero{display:grid;grid-template-columns:36% 64%;align-items:center;padding:65px 0 48px}.eyebrow{font-size:13px;letter-spacing:.13em;color:var(--brown);font-weight:600}.hero h1{font-family:Georgia,serif;font-style:italic;font-size:100px;font-weight:400;line-height:1.1;margin:24px 0}.hero h1 span{font-family:sans-serif;font-size:15px;font-style:normal;display:inline-block;margin-left:20px;letter-spacing:.2em}.hero h2{font-size:30px}.hero-image img{mix-blend-mode:multiply}.image-note{display:block;text-align:right;font-size:12px;color:#766d60}.text-link{display:inline-block;border-bottom:1px solid var(--brown);font-size:14px;padding:8px 0}.facts{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:22px 10px;gap:20px;font-size:14px}.facts strong{font-size:22px;margin-left:12px;font-weight:500}.facts a{font-weight:600}.intro{padding-top:110px;text-align:center}.intro p{line-height:2.2}.wide{margin-top:38px}.caption{text-align:left;padding:22px 0}.caption p{color:#776b5e}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:30px 0 100px}.gallery article>img{max-height:590px;object-fit:cover;object-position:center}.gallery .eyebrow{margin-top:25px;margin-bottom:12px}.gallery p:not(.eyebrow){color:#756858}.gallery .offset{padding-top:110px}.lighting{grid-column:1/-1;display:grid;grid-template-columns:55% 1fr;align-items:center;gap:50px;margin-top:15px}.plan-section{background:#efeee5;padding:85px 0}.plan{display:grid;grid-template-columns:44% 56%;gap:30px;align-items:center}.plan figure{margin:0;padding:24px}.plan figcaption{text-align:right;font-size:13px;margin-top:15px}.plan-size{font-size:20px;letter-spacing:.06em}dt{font-family:var(--serif);font-size:19px;margin-top:24px}dd{margin:6px 0 0;font-size:15px;max-width:360px}.spec{padding:90px 0}.price{text-align:center}.amount{font-family:Georgia,serif;font-size:clamp(50px,7vw,82px);line-height:1.3;margin:15px 0;color:var(--brown)}.amount span{font-family:var(--serif);font-size:23px;margin-left:12px}.small{font-size:13px;color:#786b5e;line-height:1.9}.performance{display:flex;justify-content:center;gap:0;margin:45px 0 55px;padding:24px;background:#e7ebdc}.performance span{padding:0 35px;font-size:20px;border-right:1px solid #b9c1ab}.performance span:last-child{border:0}.spec h2{font-size:28px}.spec ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 45px;margin:25px 0}.spec li{padding:16px 0;border-bottom:1px solid var(--rule);font-size:15px}.spec li:before{content:'✓';margin-right:12px;color:#5f6f4f}.contact{text-align:center;background:#554737;color:#fffaf0;padding:85px 0}.contact .eyebrow{color:#e1cbae}.contact .small{color:#e0d7c8}.contact-buttons{display:flex;justify-content:center;gap:20px;margin:32px 0 24px}.button{padding:20px 28px;background:#fffaf0;color:#514332;min-width:300px;font-size:16px;font-weight:600}.button.line{background:#28714b;color:white}footer{padding:45px 0 100px;display:flex;align-items:center;justify-content:space-between;gap:25px}footer>a:not(.brand){font-size:14px}footer small{font-size:12px}.sticky{display:none}.mobile{display:none}@media(max-width:700px){header{padding:20px 5%}.brand{font-size:26px}.header-contact{font-size:12px}.hero{display:flex;flex-direction:column;padding:35px 0 25px;align-items:stretch}.hero-copy{position:relative}.hero h1{font-size:78px;margin:15px 0}.hero h2{font-size:26px;margin-bottom:14px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-image{margin-top:18px}.hero .text-link{margin:0}.facts{flex-wrap:wrap;gap:8px 16px;padding:15px 0;font-size:12px}.facts strong{font-size:19px;margin-left:6px}.facts a{width:100%;text-align:center;border-top:1px solid var(--rule);padding-top:10px;margin-top:5px;font-size:14px}.intro{padding-top:65px}.intro p{font-size:14px}.mobile{display:block}.caption h3{font-size:20px}.gallery{gap:30px;padding:15px 0 55px}.gallery article{grid-column:1/-1}.gallery article>img{max-height:none}.gallery .offset{padding-top:0}.gallery h3{font-size:22px}.gallery .lighting{display:block;margin-top:0}.gallery .eyebrow{margin-top:20px}.gallery p{font-size:15px}.plan-section{padding:50px 0}.plan{grid-template-columns:1fr;gap:20px}.plan figure{padding:0}.plan h2{font-size:26px}.plan dl{margin-bottom:10px}.spec{padding:55px 0}.amount span{font-size:18px}.performance{margin:28px 0 38px;padding:18px 5px;justify-content:space-around}.performance span{padding:0 9px;font-size:14px}.spec h2{font-size:24px}.spec ul{grid-template-columns:1fr}.contact{padding:55px 0}.contact p{font-size:14px}.contact-buttons{flex-direction:column;gap:13px}.button{min-width:0;padding:18px 12px}.contact .small{font-size:12px}footer{flex-wrap:wrap;padding-bottom:110px}footer small{width:100%}.sticky{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1.35fr;box-shadow:0 -2px 14px #0001;padding-bottom:env(safe-area-inset-bottom);background:#554737;z-index:10}.sticky a{padding:15px 5px;text-align:center;color:white;font-size:14px;font-weight:600}.sticky a:first-child{background:#28714b}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep price numerals on a common baseline; avoid old-style serif figures. */
.amount{display:flex;justify-content:center;align-items:baseline;flex-wrap:nowrap;gap:12px;font-family:Arial,"Helvetica Neue","Yu Gothic",sans-serif;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;line-height:1.2}
.amount .price-number{font:inherit;font-size:clamp(50px,7vw,82px);font-weight:500;letter-spacing:0;margin:0;white-space:nowrap}
.amount .price-unit{font-family:"Yu Gothic",sans-serif;font-size:26px;margin:0;white-space:nowrap;line-height:1.2}
.amount .price-tax{font:inherit;font-size:16px;margin:0;white-space:nowrap}
.plan{grid-template-columns:minmax(0,44fr) minmax(0,56fr)}
.plan figure{min-width:0}.plan img{width:100%;height:auto}
@media(max-width:700px){.plan{grid-template-columns:minmax(0,1fr)}.amount{gap:8px}.amount .price-number{font-size:clamp(40px,12vw,64px)}.amount .price-unit{font-size:22px}.amount .price-tax{font-size:14px}}

header .brand-logo{display:block;width:250px;flex-shrink:0;line-height:0}header .brand-logo img{width:100%;height:auto;object-fit:contain}header{gap:18px}@media(max-width:700px){header .brand-logo{width:clamp(160px,46vw,220px)}header .header-contact{max-width:125px;text-align:center}}

/* Wrap headings at phrase boundaries, keeping room names and endings together. */
h2,h3{line-break:strict;overflow-wrap:normal;word-break:normal;text-wrap:pretty}
h2 .phrase,h3 .phrase{display:inline-block;max-width:100%;white-space:normal;word-break:keep-all;overflow-wrap:normal}
.plan h2{font-size:28px;letter-spacing:.04em}
@media(max-width:1000px) and (min-width:701px){.plan{grid-template-columns:minmax(0,1fr)}.plan figure{max-width:660px;margin:auto}.hero{grid-template-columns:42% 58%}.hero h2{font-size:26px}}
@media(max-width:700px){.plan h2{font-size:24px;letter-spacing:.02em}}
@media(max-width:360px){.plan h2{font-size:22px}.hero h2{font-size:24px}.gallery h3{font-size:20px}.intro h2,.contact h2{font-size:24px}}

/* First-screen contact choices, matching the existing contact colors. */
.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.top-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;font-size:14px;line-height:1.5;font-weight:600;text-align:center;border-radius:3px}
.top-line{background:#28714b;color:#fff}.top-contact{background:#554737;color:#fffaf0}
.spec li.download-item{display:flex;align-items:center;border-bottom:0;padding:10px 0}
.spec li.download-item:before{content:none}
.download-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--brown);padding:12px 20px;border-radius:3px;font-size:15px;line-height:1.6;background:#f5eee2}
.download-button span{font-size:21px}
@media(max-width:700px){header{flex-direction:column;align-items:center;gap:16px;padding:16px 5% 20px}header .brand-logo{width:180px}.header-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:9px;width:100%}.top-button{min-height:48px;padding:12px 6px;font-size:13px}.spec li.download-item{padding:20px 0 5px}.download-button{width:100%;font-size:14px}}

.spec{padding-bottom:35px}.spec ul{margin-bottom:0}.spec li.image-note-item{display:flex;align-items:center;border-bottom:0;padding:16px 0}.spec li.image-note-item:before{content:none}.image-note-item p{margin:0}@media(max-width:700px){.spec{padding-bottom:25px}.spec li.image-note-item{justify-content:flex-end;padding:14px 0 0}}

.price{display:flex;flex-direction:column;align-items:center;text-align:center}.limited-badge{display:block;width:140px;margin:0 auto 14px;padding:7px 12px;background:#e7ebdc;color:#5c694e;font-size:20px;font-weight:600;line-height:1.5;letter-spacing:0}.price-label{width:100%;margin:0;text-align:center;font-size:14px;line-height:1.5;letter-spacing:0;color:var(--brown)}.price .amount{width:100%;margin:12px 0 22px}.price>.small{margin:0;max-width:100%}@media(max-width:700px){.limited-badge{width:126px;font-size:18px;margin-bottom:12px}.price .amount{margin:12px 0 18px}}

.price .amount{gap:14px}.amount .price-label{display:inline-block;flex:0 0 auto;width:auto;margin:0 4px 0 0;font-family:"Yu Gothic",sans-serif;font-size:16px;line-height:1.5;letter-spacing:0;white-space:nowrap}.price .limited-badge{margin-bottom:16px}@media(max-width:700px){.price .amount{gap:7px}.amount .price-label{font-size:13px;margin-right:2px}.price .amount .price-number{font-size:clamp(38px,10vw,64px)}.price .amount .price-unit{font-size:19px}.price .amount .price-tax{font-size:12px}}

footer .footer-logo{display:block;width:220px;max-width:100%;flex-shrink:0}footer .footer-logo img{display:block;width:100%;height:auto}@media(max-width:700px){footer .footer-logo{width:190px}}
