:root{--ink:#2f2826;--muted:#746a66;--rose:#8e5b63;--light:#f8f4f0;--blush:#f1e5e3;--line:#d9c9c7;--gutter:clamp(1rem,4.7vw,4.5rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--light);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}img{display:block;max-width:100%}.wrap{width:min(100% - 2*var(--gutter),1320px);margin-inline:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.045em}em{font-weight:400;color:var(--rose)}.eyebrow,.top-cta,.button,.hero-foot,.ribbon,.underlink,.service-list article>span,.visit-tags,.small-label,.footer{font-size:.72rem;font-weight:700;letter-spacing:.16em}.eyebrow{display:block;color:var(--rose)}.header{background:#fdfbfa;position:relative;z-index:2;border-bottom:1px solid #e7ded8}.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.logo{width:165px;height:72px;object-fit:contain}.header nav{display:flex;gap:clamp(1rem,2.4vw,2.4rem);font-size:.7rem;font-weight:700;letter-spacing:.12em}.top-cta{background:var(--ink);color:#fff;padding:.9rem 1.1rem;white-space:nowrap}.hero{position:relative;min-height:max(660px,calc(100svh - 80px));overflow:hidden;background:#e9dad1}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(249,245,240,.95) 0%,rgba(249,245,240,.86) 26%,rgba(249,245,240,.35) 50%,transparent 72%)}.hero-layout,.hero-foot{position:relative;z-index:1}.hero-layout{min-height:inherit;display:flex;align-items:center}.hero-copy{width:min(650px,56%);padding:5rem 0 7rem}h1{font-size:clamp(4.1rem,7.1vw,7.4rem);line-height:1.02;margin:1.3rem 0 1.5rem}h1 em{font-style:italic}.hero-copy p{font-size:clamp(1rem,1.55vw,1.3rem);line-height:1.6;max-width:465px;color:#4c4441;margin-bottom:2rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--ink);color:#fff;padding:.9rem 1.2rem;min-height:48px;width:max-content}.button b{color:#e5bcc1;font-size:1.1rem}.hero-foot{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;color:#554743}.ribbon{overflow:hidden;background:var(--rose);color:#fff;white-space:nowrap}.ribbon-track{display:flex;width:max-content;animation:marquee 34s linear infinite}.ribbon-set{flex:none;display:flex;align-items:center;gap:3rem;padding:1rem 1.5rem}.ribbon-set i{font-style:normal;color:#e4b6b9}@keyframes marquee{to{transform:translateX(-50%)}}.full{min-height:100svh;padding:clamp(4.5rem,7vw,7rem) 0;display:flex;flex-direction:column;justify-content:center}.statement{background:#fff}.statement-inner{display:grid;grid-template-columns:1fr 2.3fr;gap:3rem;align-items:start}.statement h2{font-size:clamp(3rem,5.7vw,6.1rem);line-height:1.18}.statement p{grid-column:2;max-width:540px;margin-top:2rem;color:var(--muted);font-size:1.15rem;line-height:1.65}.section-head{display:flex;justify-content:space-between;gap:4rem;align-items:end;margin-bottom:3rem}.section-head h2,.experience h2,.visit h2{font-size:clamp(3rem,5vw,5.3rem);line-height:1.1;margin-top:1rem}.section-head>p,.experience p,.visit p,.closing p{max-width:390px;color:var(--muted);font-size:1.05rem;line-height:1.65}.services{background:#f2e9e5}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:4rem 1fr 1.1fr 2rem;gap:2rem;align-items:center;padding:1.45rem .2rem;border-bottom:1px solid var(--line)}.service-list article>span{color:var(--rose)}.service-list h3{font-size:clamp(1.7rem,2.8vw,2.7rem)}.service-list p{color:var(--muted);line-height:1.5}.service-list b{font-size:1.3rem;color:var(--rose)}.experience{background:#fff}.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center}.experience p{margin:1.6rem 0}.underlink{border-bottom:1px solid var(--rose);display:inline-block;color:var(--rose);padding-bottom:.6rem}.placeholder{min-height:440px;display:grid;place-content:center;text-align:center;position:relative;overflow:hidden;border:1px solid #d8c8c2;background:#eee7e2;color:#8c7674}.placeholder:before,.placeholder:after{content:"";position:absolute;width:140%;height:1px;left:-20%;top:50%;background:#d6c6c1;transform:rotate(31deg)}.placeholder:after{transform:rotate(-31deg)}.placeholder strong,.placeholder small,.map-placeholder strong,.map-placeholder small{position:relative;z-index:1;background:#eee7e2;padding:.3rem 1rem;letter-spacing:.13em}.placeholder strong{font-size:1.2rem}.placeholder small{font-size:.63rem}.inspiration{background:#f8f4f0}.gallery{display:grid;grid-template-columns:1.15fr .9fr .9fr;gap:1rem}.gallery .placeholder{min-height:350px}.visit{background:#eadcd6}.visit-grid{display:grid;grid-template-columns:1fr .82fr;gap:8vw;align-items:center}.visit-grid>div>p{margin:1.7rem 0 2.5rem}.visit-tags{display:grid;gap:1rem;color:var(--rose);border-top:1px solid #cbb8b2;padding-top:1.3rem}.visit aside{background:#fcf9f6;padding:2.2rem}.small-label{color:var(--rose)}.visit aside h3{font-size:2.3rem;margin:1rem 0 .4rem}.visit aside p{font-size:.95rem}.map-placeholder{height:180px;position:relative;display:grid;place-content:center;text-align:center;background:#eee7e2;margin-top:1.6rem;color:#8c7674;border:1px solid #d8c8c2}.map-placeholder strong,.map-placeholder small{display:block}.map-placeholder strong{font-size:1rem}.map-placeholder small{font-size:.53rem}.closing{background:var(--rose);color:#fff;padding:clamp(3rem,5vw,4.5rem) 0}.closing-inner{display:flex;justify-content:space-between;align-items:center;gap:4rem}.closing .eyebrow,.closing em{color:#f6d9d9}.closing h2{font-size:clamp(2.7rem,4.4vw,4.5rem);line-height:1.12;margin-top:.6rem}.closing p{color:#f9eaea;margin-bottom:1.3rem}.closing .button{background:#fff;color:var(--ink)}.closing .button b{color:var(--rose)}.footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:1.5rem;padding-bottom:1.5rem;color:var(--muted)}.footer img{width:110px;height:66px;object-fit:contain}.footer small{font-size:.63rem;letter-spacing:0}
@media(max-width:1050px){.header nav span:nth-child(3){display:none}.hero-copy{width:60%}.statement-inner{grid-template-columns:1fr 2fr}.gallery .placeholder{min-height:290px}}
@media(max-width:760px){.header-inner{height:70px}.header nav{display:none}.logo{width:120px;height:60px}.top-cta{font-size:.6rem;padding:.8rem}.hero{min-height:calc(100svh - 70px)}.hero-image{object-position:62% center}.hero:after{background:linear-gradient(90deg,rgba(249,245,240,.94),rgba(249,245,240,.7) 57%,rgba(249,245,240,.12))}.hero-copy{width:72%}.full{min-height:0;padding:5rem 0}.statement-inner,.exp-grid,.visit-grid{grid-template-columns:1fr}.statement p{grid-column:1}.section-head,.closing-inner{display:block}.section-head>p{margin-top:1.3rem}.service-list article{grid-template-columns:2.5rem 1fr 1.5rem;gap:1rem}.service-list article p{grid-column:2;grid-row:2}.service-list article b{grid-column:3;grid-row:1}.gallery{grid-template-columns:1fr 1fr}.gallery .placeholder:first-child{grid-row:span 2}.gallery .placeholder{min-height:230px}.closing-inner>div+div{margin-top:1.5rem}.footer{flex-wrap:wrap}.footer small{width:100%}}
@media(max-width:500px){.hero{min-height:730px}.hero-image{object-position:69% center}.hero:after{background:linear-gradient(90deg,rgba(249,245,240,.96),rgba(249,245,240,.83) 55%,rgba(249,245,240,.19))}.hero-copy{width:100%;padding:4rem 0 6rem}h1{font-size:clamp(3.4rem,13vw,5rem)}.hero-copy p{max-width:300px;font-size:1rem}.hero-foot{font-size:.55rem}.hero-foot span:last-child{display:none}.statement h2,.section-head h2,.experience h2,.visit h2{font-size:clamp(2.7rem,10vw,3.6rem)}.statement p{font-size:1rem}.service-list article{padding:1.15rem 0}.service-list h3{font-size:1.7rem}.service-list p{font-size:.9rem}.gallery{grid-template-columns:1fr}.gallery .placeholder:first-child{grid-row:auto}.gallery .placeholder{min-height:250px}.visit aside{padding:1.5rem}.placeholder{min-height:300px}.closing h2{font-size:2.8rem}.footer{font-size:.57rem}}
@media(max-width:345px){.logo{width:100px}.top-cta{font-size:.51rem;padding:.68rem}.button{font-size:.6rem;gap:.7rem}h1{font-size:3.05rem}.hero-copy p{max-width:260px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ribbon-track{animation:none}}
