@font-face{font-family:Display;src:url('fonts/display.woff2') format('woff2');font-display:swap}@font-face{font-family:Text;src:url('fonts/text.woff2') format('woff2');font-display:swap}
:root{--wine:#9E1C44;--orchid:#C343F0;--paper:#FAFAF7;--ink:#151515;--line:#c4bcbf;--rail:174px}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--wine) var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 Text,Arial,sans-serif}::selection{background:var(--orchid);color:#000}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a,button,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,.view:focus-visible{outline:3px solid currentColor;outline-offset:5px}button,input{font:inherit;accent-color:var(--wine)}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Display,Georgia,serif;font-weight:400;line-height:1.12;text-wrap:balance}h1{font-size:clamp(2.8rem,5.15vw,5.6rem);letter-spacing:-.025em}h2{font-size:clamp(2rem,3.3vw,3.8rem);letter-spacing:-.02em}h3{font-size:1.15rem;line-height:1.4}p{max-width:70ch}p+p{margin-top:1em}img{display:block;max-width:100%;height:auto}svg{display:block}button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}button{min-width:48px;min-height:48px;border:1px solid currentColor;background:transparent;color:inherit}button:hover:not(:disabled){background:var(--orchid);color:#000}.skip{position:fixed;z-index:20;left:16px;top:-100px;padding:12px 18px;background:var(--paper);color:var(--ink)}.skip:focus{top:16px}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);background:var(--wine);color:#fff;padding:32px 20px;border-right:1px solid #fff5;z-index:5;display:flex;flex-direction:column}.brand{font-family:Display,Georgia,serif;line-height:1.12;font-size:1.85rem;text-decoration:none}.brand span{display:block;font:400 .8rem/1.4 Text,Arial,sans-serif;margin-top:12px}.menu{margin-top:44px}.menu summary{display:none}.menu nav{display:flex;flex-direction:column;gap:2px}.menu nav a{display:flex;align-items:center;min-height:46px;text-decoration:none;border-bottom:1px solid #fff4;font-size:.94rem}.menu nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}.rail-note{margin-top:auto;padding-top:32px;font-size:.8rem;line-height:1.5}.page{margin-left:var(--rail)}.opening{background:var(--wine);color:#fff}.opening-title{display:grid;grid-template-columns:1.7fr 1fr;align-items:end;gap:32px;padding:48px 42px 42px;min-height:288px}.opening-title p{font-size:.94rem;max-width:32ch}.opening-title strong{display:inline-block;margin-top:14px;font-weight:400}.view-directory{display:grid;grid-template-columns:minmax(0,1fr) 220px}.panorama{background:var(--paper);color:var(--ink);min-width:0}.panorama .view{overflow:hidden;background:#e3d9cf}.panorama .view img{width:100%;height:auto;max-width:none}.panorama.enhanced .view{height:440px;overflow-x:auto;scrollbar-width:none}.panorama.enhanced .view::-webkit-scrollbar{display:none}.panorama.enhanced .view img{height:100%;width:auto;min-width:100%;object-fit:cover}.panorama figcaption{padding:12px 22px;font-size:.78rem;line-height:1.5;max-width:100%;min-height:71px}.pan-tip{display:none}.enhanced .pan-tip{display:inline}.pan-controls{display:flex;align-items:center;gap:20px;padding:12px 22px;background:var(--wine);color:#fff;min-height:95px}.pan-controls[hidden]{display:none}.pan-controls button{display:grid;place-items:center;flex:none}.pan-map{flex:1;min-width:0}.pan-map svg{height:20px;width:100%;max-width:300px;margin:auto}.map-ground{fill:#6b0e2b}.map-window{fill:var(--orchid);stroke:#fff;stroke-width:2}.pan-map label{display:flex;justify-content:space-between;font-size:.75rem;margin-top:3px}.pan-map input{display:block;width:100%;height:20px;min-height:24px;accent-color:#fff;margin:0}.room-directory{background:var(--orchid);color:#000;padding:25px 22px;display:flex;flex-direction:column}.room-directory h2{font-size:1.75rem;margin-bottom:20px}.room-directory a{padding:14px 0;border-top:1px solid #0005;display:block;text-decoration:none;min-height:72px}.room-directory a:hover span:first-child{text-decoration:underline}.room-directory span{display:block}.room-directory span:first-child{font-size:1.12rem}.room-directory span+span{font-size:.78rem;margin-top:4px}.room-directory .directory-contact{margin-top:auto;font-size:.95rem;min-height:48px;text-decoration:underline}.section{padding:64px 42px}.section>*{min-width:0}.section>h2{margin-bottom:26px}.section>p{margin-bottom:24px}.matrix-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;border-top:1px solid var(--line);padding:22px 0}.practical{padding-top:56px}.offerings{background:#eee7e8}.stay-table>div{display:grid;grid-template-columns:150px minmax(0,1fr) 100px;gap:22px;padding:24px 0;border-top:1px solid #15151566;align-items:start}.stay-table .table-labels{font-size:.8rem;padding:12px 0;border-top:0}.stay-table a{min-height:44px;display:flex;align-items:flex-start}.stay-table>div>a:first-child{font-family:Display,Georgia,serif;font-size:1.6rem}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:var(--wine);color:#fff}.editorial h2{margin:0}.text-link{display:inline-flex;align-items:center;min-height:48px;margin-top:16px}.questions details,.faq-list details{border-top:1px solid var(--line)}summary{cursor:pointer;min-height:58px;padding:17px 0;font-weight:600}details>p{padding-bottom:24px}details[open]>summary{padding-bottom:12px}.contact-band,.purple{background:var(--orchid);color:#000}.contact-band{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-band h2{grid-row:span 2;margin:0}.contact-band p{margin:0}.button{display:inline-flex;width:fit-content;max-width:100%;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border:1px solid currentColor;text-decoration:none;background:transparent}.button:hover{background:var(--paper);color:var(--ink)}.site-footer{padding:38px 42px;background:var(--paper);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:24px;font-size:.85rem}.footer-name{font-family:Display,Georgia,serif;font-size:1.5rem}.identity-lines p{margin:0}.identity-lines span{display:block;font-size:.75rem}.sample{grid-column:1/-1;font-size:.75rem;max-width:80ch}.page-heading{padding:52px 42px 46px;background:var(--wine);color:#fff;display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:36px;min-height:290px}.page-heading p{font-size:.95rem}.room-long{display:grid;grid-template-columns:1fr 2fr;gap:36px;border-top:1px solid var(--line);padding:35px 0}.room-long h3{font-family:Display,Georgia,serif;font-size:2rem}.room-long h3+p{font-size:.85rem;margin-top:12px}.room-long dl,.contact-details dl,.profiles dl{margin:24px 0 0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px 28px}.room-long dt,.contact-details dt,.profiles dt{font-weight:600}.room-long dd,.contact-details dd,.profiles dd{margin:0}.owner-section{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:start}.owner-intro h2{margin-bottom:20px}.owner-intro p{margin-top:18px}.photo-slot figcaption{font-size:.82rem;line-height:1.65;margin-top:14px}.photo-space{width:100%;min-width:0;background:var(--orchid);color:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px solid #151515;aspect-ratio:3/4;padding:24px;text-align:center}.photo-space span:first-child{font-family:Display,Georgia,serif;font-size:1.8rem}.photo-space span+span{font-size:.8rem}.photo-space.team{aspect-ratio:7/4;background:var(--wine);color:#fff}.photo-space.work{aspect-ratio:16/9;background:#eee7e8}.team-section{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;border-top:1px solid var(--line)}.team-section>div>p{margin-bottom:24px}.reviews{background:#eee7e8}.review-slot{display:grid;grid-template-columns:1fr 2fr;gap:16px 32px;border-top:1px solid var(--ink);padding:26px 0}.review-slot h3{grid-row:span 3}.review-slot p{margin:0}.faq-list h2:not(:first-child){margin-top:50px}.enquiry{background:var(--orchid);color:#000}.enquiry ol{padding-left:22px;max-width:70ch}.enquiry li{padding:8px 0}.credentials{border-bottom:1px solid var(--line)}.credentials p{overflow-wrap:anywhere}.profiles dd{overflow-wrap:anywhere}
@media(min-width:768px){.menu>nav{display:flex!important}.menu:not([open])>nav{display:flex!important}}
@media(max-width:1100px) and (min-width:768px){:root{--rail:154px}.rail{padding:28px 16px}.opening-title,.page-heading{grid-template-columns:1fr;padding:35px 28px;gap:25px}.opening-title p,.page-heading p{max-width:60ch}.view-directory{grid-template-columns:minmax(0,1fr) 180px}.room-directory{padding:20px 16px}.panorama.enhanced .view{height:310px}.section{padding:48px 28px}.matrix-row{grid-template-columns:130px 1fr;gap:20px}.stay-table>div{grid-template-columns:110px 1fr;gap:16px}.stay-table>div>a:last-child{grid-column:2}.table-labels span:last-child{display:none}.site-footer{padding:32px 28px}.owner-section,.team-section{gap:24px}.room-long dl{grid-template-columns:1fr;gap:5px}.room-long dd{margin-bottom:16px}.review-slot{grid-template-columns:1fr}.review-slot h3{grid-row:auto}}
@media(max-width:767px){:root{--rail:0px}.rail{position:relative;width:auto;padding:22px;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:20px;border:0}.brand{font-size:1.6rem}.brand span{font-size:.75rem}.menu{margin:0;align-self:start}.menu summary{display:block;text-align:right;font-size:.85rem;min-height:48px;padding:8px 0;text-decoration:underline}.menu:not([open]) nav{display:none}.menu[open]{grid-column:1/-1}.menu[open] summary{text-align:left}.menu nav{padding-top:12px}.rail-note{display:none}.page{margin:0}.opening-title,.page-heading{grid-template-columns:1fr;gap:24px;padding:32px 22px;min-height:0}.opening-title p,.page-heading p{max-width:65ch}.view-directory{display:block}.panorama.enhanced .view{height:280px}.panorama figcaption{padding:14px 22px;min-height:94px}.pan-controls{gap:16px}.room-directory{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:26px 22px}.room-directory h2{grid-column:1/-1;margin-bottom:18px}.room-directory a{min-height:85px}.room-directory .directory-contact{margin:0}.section{padding:42px 22px}.matrix-row{grid-template-columns:1fr;gap:9px;padding:21px 0}.stay-table>div{grid-template-columns:1fr;gap:12px;padding:24px 0}.stay-table .table-labels{display:none}.stay-table a{min-height:44px}.stay-table>div>a:last-child{align-items:center}.editorial,.contact-band{grid-template-columns:1fr;gap:24px}.contact-band h2{grid-row:auto}.site-footer{padding:30px 22px;grid-template-columns:1fr;gap:18px}.sample{grid-column:auto}.room-long{grid-template-columns:1fr;gap:20px;padding:28px 0}.room-long dl,.contact-details dl,.profiles dl{grid-template-columns:1fr;gap:7px}.room-long dd,.contact-details dd,.profiles dd{margin-bottom:18px}.owner-section,.team-section{grid-template-columns:1fr;gap:30px}.owner-section .photo-slot{max-width:380px}.review-slot{grid-template-columns:1fr}.review-slot h3{grid-row:auto}.photo-space{padding:20px}.photo-space span:first-child{font-size:1.5rem}.photo-space.team,.photo-space.work{min-height:180px}.pan-map label{font-size:.73rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{.rail,.pan-controls,.skip{display:none!important}.page{margin:0}.panorama.enhanced .view{height:auto;overflow:visible}.panorama.enhanced .view img{width:100%;height:auto}.section,.site-footer{break-inside:avoid}body{font-size:11pt}}

.pan-map input{min-height:44px;height:44px}

.site-footer a[href^="tel:"],.site-footer a[href^="mailto:"]{display:inline-flex;align-items:center;min-width:44px;min-height:44px}
