/* Final eight-section homepage: mobile-first, scoped to preserve other pages. */
.home-final{font-size:17px;line-height:1.65}
.home-final .wrap{width:min(calc(100% - 40px),1120px)}
.home-final .mobile-book{display:none}
.home-final .footer{padding-bottom:30px}
.home-final h1,.home-final h2{font-weight:400;text-wrap:pretty}
.home-final h2{font-size:clamp(1.95rem,4.5vw,2.9rem);line-height:1.13;letter-spacing:-.035em;margin-bottom:22px}
.home-final h3{font-size:1.13rem;line-height:1.35;margin-bottom:10px}
.home-final p{max-width:65ch}
.home-final .button{min-height:48px;padding:14px 23px;font-size:.94rem}
.home-final .text-link{font-size:.94rem;line-height:1.6;display:inline-block;text-underline-offset:5px}
.home-final .home-section{padding-block:56px}
.home-final .home-reading{max-width:730px}
.home-hero{--muted:#d1dcd4;padding:30px 0 42px;background:var(--deep);color:var(--paper);border-bottom:1px solid var(--deep)}
.home-hero-grid{display:grid;gap:30px}
.home-hero-copy .eyebrow{font-size:.65rem;letter-spacing:.08em;line-height:1.65;margin-bottom:19px}
.home-hero-copy .eyebrow span{display:block;font-weight:400;letter-spacing:.035em;text-transform:none;font-size:.8rem;margin-top:3px}
.home-hero h1{font-size:clamp(1.95rem,7.3vw,3.6rem);line-height:1.13;letter-spacing:-.04em;max-width:18ch;margin-bottom:22px}
.home-hero h1 span{color:var(--paper)}
.home-hero-copy .eyebrow{color:var(--gold)}
.home-hero .button{background:var(--paper);color:var(--deep);border-color:var(--paper)}
.home-hero .button:hover{background:var(--gold);color:var(--deep);border-color:var(--gold)}
.home-hero :focus-visible{outline-color:var(--gold)}
.home-hero-copy p{font-size:1rem;line-height:1.65}
.home-hero-copy .hero-intro{font-size:1.0625rem}
.home-actions{margin-top:25px;display:flex;align-items:flex-start;flex-direction:column;gap:12px}
.home-final .booking-meta{font-size:.81rem;color:var(--muted);margin:0;line-height:1.6}
.home-hero-copy .gentle-note{font-size:.875rem;color:var(--muted);margin-top:24px;padding-left:15px;border-left:2px solid #c7cbbf;max-width:51ch}
.home-portrait{margin:0;max-width:420px;width:100%;justify-self:center}
.home-portrait img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:3px}
.home-portrait figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 15px;font-size:.82rem;padding-top:12px}
.home-portrait figcaption span{color:var(--muted)}
.home-three{display:grid;gap:24px;margin:30px 0}
.home-three article{border-top:1px solid #c8cfc4;padding-top:21px}
.home-final .context-note{border-left:2px solid #b78a70;padding-left:18px;font-size:.94rem;margin-top:24px}
.work-section{background:white}
.home-work-grid{display:grid;gap:28px;margin-top:30px}
.work-blocks article{padding:23px 0;border-top:1px solid var(--line)}
.work-blocks article:first-child{padding-top:0;border-top:0}
.work-note{padding:20px;background:var(--soft);font-size:.875rem;margin-top:3px}
.home-room{margin:0;max-width:460px;width:100%;justify-self:center;align-self:start}
.home-room img{width:100%;height:auto;border-radius:3px}
.home-room figcaption{font-size:.8rem;color:var(--muted);margin-top:9px}
.changes-section{background:#e9ede5}
.home-split{display:grid;gap:24px}
.change-list{padding:0;margin:20px 0 0;list-style:none}
.change-list li{padding:13px 0 13px 24px;border-bottom:1px solid #ced6c8;position:relative}
.change-list li:before{content:'•';position:absolute;left:2px;color:#8e614c}
.change-list li+li{margin:0}
.changes-note{font-size:.94rem;align-self:center}
.testimonial-section{background:var(--deep);color:var(--paper)}
.home-final .testimonial-section h2{font-family:var(--sans);font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);font-weight:700}
.home-quote{margin:0 0 26px}
.home-quote blockquote{font-family:var(--serif);font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.5;letter-spacing:-.015em}
.home-quote figcaption{margin-top:24px;font-size:.9rem}
.home-quote figcaption span{display:block;font-size:.75rem;color:#ced8cf;margin-top:4px}
.home-offer-grid{display:grid;gap:30px}
.offer-lead{font-size:1.13rem}
.home-price{background:#fff;border:1px solid #ccd2c7;padding:28px;align-self:start}
.home-price .home-price-number{font:2.6rem/1.2 var(--serif);margin:15px 0}
.home-price>p:not(.home-price-number){font-size:.9rem}
.home-price .button{margin-top:26px}
.continuation{border-top:1px solid var(--line);padding-top:26px;max-width:730px}
.continuation .text-link,.about-section .text-link{margin-top:22px}
.about-section{background:var(--soft)}
.home-about-grid{display:grid;gap:27px}
.home-about-grid>img{width:150px;height:180px;object-fit:cover;object-position:center 25%;border-radius:3px}
.home-final .faq{margin:26px 0}
.home-final .faq summary{font-size:1rem;line-height:1.5;padding-block:20px}
.home-final .faq details p{font-size:.94rem}
.home-booking{border-top:1px solid var(--line);margin-top:45px;padding-top:40px}
.home-booking .booking-meta{margin:18px 0}
.home-booking .question-link{font-size:.875rem;margin-top:22px}
@media(min-width:760px){
 .home-final .wrap{width:min(calc(100% - 80px),1120px)}
 .home-final .home-section{padding-block:80px}
 .home-hero{padding-block:56px}
 .home-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:55px;align-items:center}
 .home-hero h1{font-size:clamp(2.6rem,4.1vw,3.6rem);max-width:19ch}
 .home-portrait{max-width:450px}
 .home-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-block:38px}
 .home-work-grid{grid-template-columns:1.05fr .85fr;gap:65px;margin-top:40px;align-items:center}
 .home-room{align-self:center}
 .home-split{grid-template-columns:1.1fr .9fr;gap:70px}
 .home-offer-grid{grid-template-columns:1.2fr .8fr;gap:40px 70px}
 .continuation{grid-column:1/-1}
 .home-about-grid{grid-template-columns:260px minmax(0,1fr);gap:65px;align-items:center}
 .home-about-grid>img{width:260px;height:320px}
 .home-booking{margin-top:60px;padding-top:52px}
}
@media(max-width:360px){.home-final .wrap{width:calc(100% - 32px)}.home-hero h1{font-size:1.85rem}.home-price{padding:22px}.home-final{font-size:16px}}

/* Framed homepage opening; all changes scoped to the hero. */
.home-hero{--muted:#59665e;color:var(--ink);padding:14px 0 22px}
.home-final .home-hero-grid{width:min(calc(100% - 24px),1200px);gap:0;background:var(--paper)}
.home-hero-heading{padding:27px 22px 24px;min-width:0}
.home-hero-heading .eyebrow{font-size:.65rem;letter-spacing:.08em;line-height:1.65;margin-bottom:19px;color:var(--ink)}
.home-hero-heading .eyebrow span{display:block;font-weight:400;letter-spacing:.035em;text-transform:none;font-size:.8rem;margin-top:3px}
.home-hero h1{margin-bottom:0;max-width:19ch}
.home-hero h1 span{color:var(--ink)}
.home-hero-copy{padding:26px 22px 30px;min-width:0}
.home-hero .button{background:var(--deep);color:var(--paper);border-color:var(--deep)}
.home-hero .button:hover{background:#284c3f;color:var(--paper);border-color:#284c3f}
.home-hero :focus-visible{outline-color:var(--accent)}
.home-hero .home-portrait{max-width:none;align-self:stretch;justify-self:stretch;position:relative;background:var(--deep)}
.home-hero .home-portrait img{height:270px;aspect-ratio:auto;object-fit:cover;object-position:center 32%;border-radius:0}
.home-hero .home-portrait figcaption{position:relative;padding:10px 18px;color:var(--paper);font-size:.78rem}
.home-hero .home-portrait figcaption span{color:#d1dcd4}
@media(min-width:760px){
 .home-hero{padding:32px 0}
 .home-final .home-hero-grid{width:min(calc(100% - 64px),1200px);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto 1fr;align-items:stretch}
 .home-hero-heading{grid-column:1;grid-row:1;padding:40px 36px 0}
 .home-hero-copy{grid-column:1;grid-row:2;padding:25px 36px 40px}
 .home-hero .home-portrait{grid-column:2;grid-row:1 / span 2;min-height:520px}
 .home-hero .home-portrait img{position:absolute;inset:0;height:100%;width:100%;object-position:center 35%}
 .home-hero .home-portrait figcaption{position:absolute;bottom:0;left:0;right:0;background:rgba(23,55,46,.94);padding:15px 20px}
}
