@font-face{font-family:Cormorant;src:url(serif.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:Cormorant;src:url(italic.woff2) format("woff2");font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:DM;src:url(sans.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--ink:#202d4e;--blue:#26375d;--muted:#526078;--line:#cbd1db;--paper:#fbfaf6;--lav:#e6e9f4;--white:#fff;--leaf:#8492ad;--serif:Cormorant,Georgia,serif;--sans:DM,Arial,sans-serif;color:var(--ink);font-family:var(--sans);line-height:1.55;background:var(--paper);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3,blockquote,dl,dd{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:.99}h1{font-size:clamp(3.4rem,6.8vw,7.1rem)}h2{font-size:clamp(2.8rem,4.8vw,5rem)}h3{font-size:clamp(1.85rem,2.7vw,3rem)}h1 em,h2 em{font-weight:400;color:#54698c}p{color:var(--muted)}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #786332;outline-offset:5px}.skip{position:absolute;top:-8rem;left:1rem;background:white;padding:1rem;z-index:20}.skip:focus{top:1rem}.wrap{max-width:1390px;margin-inline:auto;padding-inline:clamp(1.25rem,5.3vw,5.25rem)}.utility{background:var(--blue);font-size:.74rem;letter-spacing:.045em;color:white}.utility .wrap,.nav,.utility span,.nav nav,.actions,.button,.quiet,.meta,.line,.footlinks,.arrowlink,.service-foot,.crumb{display:flex;align-items:center}.utility .wrap{min-height:32px;justify-content:space-between}.utility span,.meta{gap:8px}.utility a{color:white;text-decoration:none}.ico{display:inline-block;flex-shrink:0;vertical-align:middle;width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}header{background:#fffefb;border-bottom:1px solid var(--line)}.nav{justify-content:space-between;gap:1.3rem;min-height:86px}.brand img{width:184px}.nav nav{gap:clamp(1rem,2.3vw,2.35rem)}.nav nav a,.mobnav a{font-size:.87rem;text-decoration:none}.nav nav a[aria-current=page],.nav nav a:hover,.footlinks a:hover{border-bottom:1px solid currentColor}.button{display:inline-flex;justify-content:center;gap:14px;text-align:center;min-height:48px;padding:.85rem 1.45rem;background:var(--blue);border:1px solid var(--blue);color:#fff;text-decoration:none;font-size:.9rem;font-weight:600;line-height:1.25;border-radius:4px;transition:.18s}.button:hover{background:#41567d}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.light:hover{background:#e7eafa}.button.plain{background:transparent;color:var(--ink);border-color:#8390aa}.button.plain:hover{background:#eef0f7}.headerbtn{min-height:43px;padding:.7rem 1.15rem}.mobnav{display:none}.label{display:block;font-size:.7rem;line-height:1.5;letter-spacing:.2em;font-weight:700;text-transform:uppercase;color:#506183}.line{gap:12px}.line:before{content:"";height:1px;width:34px;background:#8493af}.hero{display:grid;grid-template-columns:1fr 1.03fr;align-items:stretch;max-width:1640px;margin:auto;background:#f5f4ef;border-bottom:1px solid var(--line)}.hero-text{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(3.1rem,6.3vw,7.1rem) clamp(1.85rem,4.3vw,5rem) clamp(3.1rem,6.3vw,6.75rem) max(calc((100vw - 1250px)/2),5.3vw);overflow:hidden}.hero-text:after,.softleaf:after{content:"";position:absolute;z-index:-1;pointer-events:none;width:40%;height:55%;bottom:-12%;right:-9%;background:url(top-right-flower.png) no-repeat right top / contain;opacity:.32;transform:rotate(-90deg);filter:grayscale(1)}.hero h1{font-size:clamp(4rem,6.7vw,7.25rem);margin:1.6rem 0 1.2rem}.lead{font-size:clamp(1.03rem,1.35vw,1.23rem);line-height:1.55;max-width:53ch}.hero-text>.lead{max-width:40ch}.actions{flex-wrap:wrap;gap:1rem 1.4rem;margin-top:1.75rem}.quiet,.arrowlink{display:inline-flex;gap:8px;font-size:.89rem;text-underline-offset:5px;text-decoration-thickness:1px}.hero-photo{position:relative;min-height:530px;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:42% 50%}.photo-note{position:absolute;bottom:1.45rem;right:1.55rem;padding:.55rem .8rem;border-radius:2px;background:#fcfaf2ed;font-size:.72rem;color:var(--ink);letter-spacing:.02em}.bar{background:var(--lav);border-bottom:1px solid var(--line)}.bar .wrap{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;min-height:77px}.bar a,.bar span.item{display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-size:.84rem;color:#354869}.bar a:hover{text-decoration:underline}.bar .ico{width:17px;height:17px}.bar .item+.item{border-left:1px solid #acb5c8}.section{padding-block:clamp(4rem,7.3vw,7.4rem)}.section.small{padding-block:clamp(3rem,5vw,5rem)}.sectionhead{display:flex;gap:1.5rem;align-items:flex-end;justify-content:space-between;margin-bottom:2.35rem}.sectionhead .label,.twocol .label,.intro .label,.cta .label,.booking .label{margin-bottom:1.05rem}.sectionhead p{max-width:40ch}.sectionhead a{white-space:nowrap}.servicegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem}.service{position:relative;display:flex;flex-direction:column;color:inherit;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1.1rem}.service .frame{overflow:hidden;margin-bottom:1.15rem;background:var(--lav)}.service img{width:100%;aspect-ratio:1.36;object-fit:cover;transition:transform .35s}.service:hover img{transform:scale(1.035)}.service h3{font-size:clamp(1.65rem,2.35vw,2.5rem)}.service p{font-size:.89rem;margin-top:.5rem}.service-foot{justify-content:space-between;gap:.5rem}.service-foot>.ico{width:1.2rem}.twocol,.split,.booking{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6.5vw,7rem);align-items:center}.tonal{background:#eff0eb}.twocol figure img,.split>figure>img{width:100%;aspect-ratio:1.24;object-fit:cover}.twocol h2,.split h2,.booking h2{margin-bottom:1.2rem}.twocol p+p,.copy p+p{margin-top:1rem}.twocol .quiet{margin-top:1.45rem}.intro{padding-block:clamp(2.5rem,5.5vw,6.2rem);background:var(--lav);position:relative;isolation:isolate;overflow:hidden}.intro h1{max-width:18ch}.intro .lead{margin-top:1.2rem;max-width:62ch}.crumb{gap:9px;font-size:.77rem;color:var(--muted);margin-bottom:1.8rem}.crumb a{text-underline-offset:3px}.softleaf:after{height:120%;width:31%;right:-2%;bottom:-25%;opacity:.5}.catalog{row-gap:2.4rem}.rates{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--paper)}.rate{padding:clamp(1.2rem,2.6vw,2.5rem)}.rate+.rate{border-left:1px solid var(--line)}.rate h3{font-family:var(--sans);letter-spacing:.02em;font-weight:500;font-size:1.1rem}.rate strong{display:block;font:500 3.65rem var(--serif);letter-spacing:-.07em;margin:8px 0 10px}.rate small{font-size:1.8rem}.rate p{font-size:.88rem}.rate a{margin-top:15px}.faq{max-width:790px}.faq details{border-top:1px solid var(--line);padding:.95rem 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:550;padding:.25rem 0}.faq p{margin:.6rem 0 .35rem}.detail{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.detail h1{margin:.9rem 0 1.35rem}.detail figure img{width:100%;aspect-ratio:1.22;object-fit:cover}.copysplit{display:grid;grid-template-columns:.65fr 1fr;gap:3rem}.copy{max-width:63ch}.copy h3{margin:1.9rem 0 .65rem}.copy h3:first-child{margin-top:0}.booking{align-items:start}.contactlist>div{padding:1.15rem 0;border-bottom:1px solid var(--line)}.contactlist>div:first-child{border-top:1px solid var(--line)}.contactlist dt{font-weight:600;font-size:.88rem}.contactlist dd{font-size:1.04rem;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.contactlist a{text-underline-offset:4px}.bookbox{background:var(--lav);padding:clamp(1.6rem,4vw,3.7rem)}.bookbox p{margin:1rem 0}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.review{background:white;border-top:2px solid #91a1bb;padding:clamp(1.35rem,2.8vw,2.5rem);display:flex;flex-direction:column}.review blockquote{font:500 clamp(1.65rem,2.7vw,2.5rem)/1.12 var(--serif);margin:1.5rem 0;flex:1}.review cite{font-style:normal;font-weight:650;color:var(--ink)}.review small{display:block;color:var(--muted)}.stars{display:flex;gap:2px;color:#785c2c}.stars .ico{width:15px;fill:currentColor;stroke-width:.5}.cta{background:var(--blue);color:#fff}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:clamp(2.6rem,4.8vw,5.1rem)}.cta h2{font-size:clamp(2.35rem,3.6vw,4rem)}.cta .label{color:#d0d7e7}.foot{padding-block:2.7rem;background:var(--paper)}.foot .wrap{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;flex-wrap:wrap}.foot img{width:147px}.foot p{font-size:.84rem}.footlinks{gap:1rem 1.4rem;flex-wrap:wrap}.footlinks a{font-size:.82rem;text-underline-offset:4px}.foot .sig{border-top:1px solid var(--line);padding-top:1.4rem;margin-top:1.6rem}.foot .sig p{font-size:.72rem}
@media(min-width:1640px){.hero-text{padding-left:12%}}@media(max-width:1030px){.nav nav{gap:.95rem}.brand img{width:150px}.headerbtn{padding:.6rem .8rem}.hero-text{padding-left:5.3vw}.hero-photo{min-height:460px}.servicegrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:810px){.nav{min-height:74px}.nav>nav,.nav>.headerbtn{display:none}.mobnav{display:block;position:relative}.mobnav summary{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.6rem .85rem;border:1px solid var(--line);border-radius:3px;font-size:.85rem}.mobnav summary::-webkit-details-marker{display:none}.mobnav .menubox{position:absolute;right:0;top:calc(100% + 8px);width:min(240px,80vw);z-index:10;padding:10px;background:var(--white);border:1px solid var(--line);box-shadow:0 15px 32px #1f305129}.mobnav .menubox a{display:block;padding:.65rem}.hero h1{font-size:clamp(3.3rem,7.1vw,5rem)}.reviews{grid-template-columns:1fr 1fr}.rates{grid-template-columns:1fr 1fr}.rate:nth-child(3){border-left:0}.rate:nth-child(n+3){border-top:1px solid var(--line)}.hero-photo{min-height:425px}.bar a,.bar span.item{font-size:.75rem;gap:6px}.hero .actions{gap:1rem}.hero .lead{font-size:1rem}}
@media(max-width:650px){.utility .wrap{min-height:28px;justify-content:center}.utility span:first-child{display:none}.nav{min-height:67px}.brand img{width:146px}.hero{display:flex;flex-direction:column}.hero-text{padding:2.4rem 1.25rem 2.15rem}.hero h1{font-size:clamp(3.5rem,14vw,5.25rem);margin:1rem 0}.hero-text:after{width:32%;height:54%;opacity:.47}.hero .actions{margin-top:1.2rem}.hero-photo{min-height:0;aspect-ratio:1.65}.hero-photo img{object-position:50% 49%}.photo-note{bottom:.75rem;right:.85rem}.bar .wrap{min-height:58px;grid-template-columns:1fr 1fr;padding-inline:10px}.bar .item:last-child{display:none}.sectionhead,.cta .wrap{align-items:flex-start;flex-direction:column}.sectionhead{gap:1rem}.servicegrid{gap:1.2rem .78rem}.service h3{font-size:clamp(1.35rem,5.6vw,2rem);overflow-wrap:anywhere}.service p{font-size:.84rem}.twocol,.split,.detail,.booking,.copysplit{grid-template-columns:1fr;gap:1.9rem}.reviews{grid-template-columns:1fr}.foot .wrap{align-items:flex-start}.foot .sig{display:block}.softleaf:after{width:40%;height:70%;opacity:.25}.detail figure img{max-height:360px}.rate{padding:1rem}.rate h3{font-size:.98rem}.rate strong{font-size:3rem}.rate a{font-size:.79rem}.bar .ico{width:15px}.button{padding:.8rem 1.05rem}.faq summary{font-size:.99rem}.cta .wrap{gap:1.25rem}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
