@font-face{font-family:"Cormorant Garamond";src:url(/fonts/CormorantGaramond-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/CormorantGaramond-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/CormorantGaramond-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Light.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Medium.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --hedge:#26301F;      /* clipped hedge, the ground (80%) */
  --hedge-deep:#1B2216; /* the rail, shadowed hedge */
  --hedge-lit:#34412A;  /* sunlit hedge, panel ground */
  --gravel:#F5F0E6;     /* raked-gravel cream paths (15%) */
  --gravel-2:#EAE2D2;   /* gravel in shade */
  --gilt:#B59960;       /* gilt bronze, action + axis only (5%) */
  --gilt-hi:#CDB27A;
  --ink:#26301F;        /* type on gravel */
  --ink-soft:#4A5340;   /* secondary type on gravel, tinted from hedge */
  --on-hedge:#EDE6D6;   /* type on hedge */
  --on-hedge-soft:#BFC2AE;
  --serif:"Cormorant Garamond",Garamond,"Times New Roman",serif;
  --sans:Montserrat,"Helvetica Neue",Arial,sans-serif;
  --rail:92px;
  --gap:clamp(16px,2.2vw,28px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:var(--gilt) var(--hedge-deep)}
body{margin:0;background:var(--hedge) url(/img/plaster-ground.jpg) 0 0/1024px repeat;color:var(--on-hedge);font:300 16.5px/1.7 var(--sans);text-rendering:optimizeLegibility}
::selection{background:var(--gilt);color:var(--hedge-deep)}
::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:var(--hedge-deep)}::-webkit-scrollbar-thumb{background:#5e5a3f;border:3px solid var(--hedge-deep);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--gilt)}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--gilt-hi);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:8px;z-index:50;background:var(--gravel);color:var(--ink);padding:10px 16px}
.skip:focus{left:calc(var(--rail) + 12px)}
h1,h2,h3{font-family:var(--serif);font-weight:600;text-transform:uppercase;letter-spacing:.11em;line-height:1.12;margin:0;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
.tnum{font-variant-numeric:tabular-nums lining-nums}

/* ---------- the rail: engraved garden-plan index ---------- */
.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:20;background:var(--hedge-deep);border-right:1px solid rgba(181,153,96,.55);display:flex;flex-direction:column;align-items:center;padding:18px 0 14px}
.rail::after{content:"";position:absolute;inset:6px 6px 6px 6px;border:1px solid rgba(181,153,96,.22);pointer-events:none}
.rail .mark{width:58px;margin:0 0 18px}
.rail nav{display:flex;flex-direction:column;gap:2px;width:100%}
.rail nav a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;text-decoration:none;color:var(--on-hedge-soft);font:500 11px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;position:relative;transition:color .3s var(--ease)}
.rail nav a svg{width:24px;height:24px;stroke:var(--gilt);fill:none;stroke-width:1.15;transition:transform .5s var(--ease)}
.rail nav a::after{content:"";width:26px;height:1px;background:rgba(181,153,96,.4);margin-top:8px}
.rail nav a:hover,.rail nav a[aria-current=true]{color:var(--gravel)}
.rail nav a:hover svg{transform:translateY(-2px)}
.rail .lang{margin-top:auto;font:500 11.5px/1 var(--sans);letter-spacing:.2em;color:var(--on-hedge-soft);text-decoration:none;border:1px solid rgba(181,153,96,.5);padding:9px 10px}
.rail .lang:hover{color:var(--gravel);border-color:var(--gilt)}

main{margin-left:var(--rail)}
.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(18px,3vw,44px)}

/* ---------- framed plates (gravel panels) ---------- */
.plate{position:relative;background:var(--gravel);color:var(--ink);border:1px solid var(--gilt);outline:1px solid rgba(181,153,96,.55);outline-offset:-7px;}
.plate .fl{position:absolute;width:30px;height:30px;stroke:var(--gilt);fill:none;stroke-width:1.1}
.plate .fl.tl{top:-1px;left:-1px}.plate .fl.tr{top:-1px;right:-1px;transform:scaleX(-1)}.plate .fl.bl{bottom:-1px;left:-1px;transform:scaleY(-1)}.plate .fl.br{bottom:-1px;right:-1px;transform:scale(-1)}
.photo{position:relative;border:1px solid var(--gilt);outline:1px solid rgba(181,153,96,.4);outline-offset:-8px;overflow:hidden;background:var(--hedge-deep)}
.photo img{width:100%;height:100%;object-fit:cover}

/* ---------- buttons: gilt is for action ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;font:500 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:1px solid var(--gilt);outline:1px solid rgba(181,153,96,.5);outline-offset:3px;transition:background .35s var(--ease),color .35s var(--ease),outline-offset .35s var(--ease)}
.btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.3}
.btn.book{background:var(--hedge);color:var(--gilt-hi)}
.btn.book:hover{background:var(--hedge-deep);color:var(--gravel);outline-offset:5px}
.btn.quiet{background:transparent;color:var(--ink)}
.btn.quiet:hover{background:var(--gravel-2)}
.on-hedge .btn.quiet{color:var(--on-hedge)}
.on-hedge .btn.quiet:hover{background:rgba(255,255,255,.06)}
.btn.book.solid{background:var(--gilt);color:var(--hedge-deep)}
.btn.book.solid:hover{background:var(--gilt-hi);color:var(--hedge-deep)}

/* ---------- hero: the terrace view ---------- */
.hero{padding:clamp(18px,3vw,40px) 0 0}
.hero .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap);align-items:stretch;min-height:min(86vh,820px)}
.hero .grid>.plate{padding:clamp(28px,4vw,58px) clamp(26px,4vw,60px) clamp(26px,3.4vw,46px);display:flex;flex-direction:column;justify-content:center}
.hero .logo{width:min(112px,28%);margin:0 auto 4px}
.hero .rule,.rule{display:flex;align-items:center;gap:12px;color:var(--gilt);margin:12px auto 26px;width:min(340px,88%)}
.rule::before,.rule::after{content:"";flex:1;height:1px;background:currentColor;opacity:.75}
.rule svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.1}
.hero h1{font-size:clamp(26px,2.55vw,37px);letter-spacing:.09em;color:var(--hedge);text-align:left}
.hero h1 span{display:block;font-weight:400;font-size:.62em;letter-spacing:.2em;color:var(--ink-soft);margin-top:.7em}
.hero .lede{font-size:clamp(15.5px,1.15vw,17.5px);color:var(--ink-soft);max-width:52ch;margin:22px 0 30px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:16px}
.hero .facts{display:flex;flex-wrap:wrap;gap:6px 22px;margin:26px 0 0;padding:16px 0 0;border-top:1px solid rgba(181,153,96,.55);font:500 11px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);list-style:none}
.hero .facts li{display:flex;gap:8px;align-items:center}
.hero .facts svg{width:14px;height:14px;stroke:var(--gilt);fill:none;stroke-width:1.2}
.hero .view{position:relative;min-height:420px}
.hero .view .photo{position:absolute;inset:0}
.hero .view .photo img{object-position:62% 50%}
.inset{position:absolute;right:clamp(14px,2vw,26px);top:clamp(14px,2vw,26px);width:min(270px,60%);padding:18px 20px 16px;z-index:2}
.inset .ih{font:600 15px/1.2 var(--serif);text-transform:uppercase;letter-spacing:.16em;margin:0 0 6px;color:var(--hedge)}
.inset p{font-size:13.5px;color:var(--ink-soft);margin:0 0 10px;line-height:1.55}
.inset .status{display:flex;align-items:center;gap:8px;font:500 13px/1.4 var(--sans);letter-spacing:.01em;color:var(--ink);border-top:1px solid rgba(181,153,96,.55);padding-top:10px}
.inset .dot{width:8px;height:8px;border-radius:50%;background:#8a8a6a;box-shadow:0 0 0 3px rgba(138,138,106,.18)}
.inset .status.open .dot{background:#6f9a4a;box-shadow:0 0 0 3px rgba(111,154,74,.22)}
.caption{margin:0;position:absolute;left:clamp(14px,2vw,26px);bottom:clamp(14px,2vw,26px);z-index:2;display:flex;align-items:center;gap:10px;padding:10px 16px;font:500 11px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.caption svg{width:15px;height:15px;stroke:var(--gilt);fill:none;stroke-width:1.2}

/* ---------- the axis: one gilt line walked down the page ---------- */
.axis-walk{position:relative;padding-bottom:40px}
.axis{position:absolute;left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%);pointer-events:none;z-index:0}
.axis::before{content:"";position:absolute;inset:0;background:rgba(181,153,96,.18)}
.axis i{position:absolute;inset:0;background:linear-gradient(var(--gilt),var(--gilt-hi));transform-origin:top;transform:scaleY(var(--p,0))}
.node{position:relative;z-index:1;width:46px;height:46px;margin:0 auto;display:grid;place-items:center}
.node svg{width:46px;height:46px;stroke:var(--gilt);fill:var(--hedge);stroke-width:1.1;transition:transform .9s var(--ease),fill .9s var(--ease),stroke .9s var(--ease)}
.node.lit svg{transform:rotate(45deg) scale(1.08);fill:var(--hedge-deep);stroke:var(--gilt-hi)}
.room{position:relative;z-index:1;padding:clamp(56px,7vw,96px) 0 clamp(28px,4vw,48px)}
.room .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center}
.room h2{font-size:clamp(24px,2.3vw,34px);margin-bottom:16px}
.room .panel{padding:clamp(26px,3vw,44px)}
.room .panel p{color:var(--ink-soft)}
.room .who{font:500 11.5px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:-4px 0 18px;display:flex;gap:10px;align-items:center}
.room .who svg{width:16px;height:16px;stroke:var(--gilt);fill:none;stroke-width:1.2}
.left .panel{grid-column:1/7}.left .pics{grid-column:7/13}
.right .panel{grid-column:7/13;grid-row:1}.right .pics{grid-column:1/7;grid-row:1}
.pics{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:clamp(440px,48vw,620px)}
.pics .photo:first-child{grid-row:1/3}
.right .pics{grid-template-columns:1fr 1.25fr}.right .pics .photo:first-child{grid-column:2;grid-row:1/3}.right .pics .photo:nth-child(2){grid-column:1;grid-row:1}.right .pics .photo:nth-child(3){grid-column:1;grid-row:2}

/* price rows on dotted leaders, like plan legends */
.prices{list-style:none;margin:6px 0 24px;padding:0}
.prices li{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid rgba(181,153,96,.28)}
.prices .n{font:400 15px/1.35 var(--serif);font-size:18px;letter-spacing:.02em;color:var(--ink)}
.prices .n small{display:block;font:300 13px/1.45 var(--sans);color:var(--ink-soft);letter-spacing:0}
.prices .d{flex:1;border-bottom:1px dotted rgba(74,83,64,.55);transform:translateY(-4px);min-width:16px}
.prices .p{font:500 13.5px/1 var(--sans);letter-spacing:.02em;color:var(--hedge);white-space:nowrap}
.more{display:inline-flex;align-items:center;gap:10px;font:500 11.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--hedge);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--gilt)}
.more svg{width:13px;height:13px;stroke:var(--gilt);fill:none;stroke-width:1.3;transition:transform .35s var(--ease)}
.more:hover svg{transform:translateX(4px)}
.actions{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center}

/* the way in */
.wayin .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center}
.wayin .photo{grid-column:2/6;aspect-ratio:1056/992}
.wayin .txt{grid-column:7/12}
.wayin h2{font-size:clamp(24px,2.3vw,34px);margin-bottom:16px;color:var(--gravel)}
.wayin p{color:var(--on-hedge-soft);max-width:46ch}
.steps{list-style:none;margin:22px 0 0;padding:0;counter-reset:s}
.steps li{display:flex;gap:16px;align-items:flex-start;padding:12px 0;border-top:1px solid rgba(181,153,96,.3);color:var(--on-hedge)}
.steps svg{flex:none;width:22px;height:22px;stroke:var(--gilt);fill:none;stroke-width:1.15;margin-top:2px}

/* full menu parterre */
.menu .plate{padding:clamp(28px,3.6vw,56px)}
.menu h2{font-size:clamp(24px,2.3vw,34px);text-align:center;color:var(--hedge)}
.menu .intro{text-align:center;color:var(--ink-soft);max-width:60ch;margin:14px auto 30px}
.menu .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.menu h3{font-size:17px;letter-spacing:.16em;color:var(--hedge);padding-bottom:10px;border-bottom:1px solid var(--gilt);margin:0 0 4px}
.menu .prices .n{font-size:16.5px}
.menu .foot{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:26px}

/* sisters */
.sisters .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center}
.sisters .photo{grid-column:2/6;aspect-ratio:825/1100}
.sisters .txt{grid-column:7/12}
.sisters h2{font-size:clamp(24px,2.3vw,34px);margin-bottom:18px;color:var(--gravel)}
.sisters p{color:var(--on-hedge-soft)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:22px}
.duo div{border-top:1px solid var(--gilt);padding-top:14px}
.duo h3{font-size:17px;letter-spacing:.16em;color:var(--gravel);margin-bottom:8px}
.duo p{font-size:14.5px;margin:0}

/* reviews: statuary quotes */
.reviews .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:start}
.reviews h2{font-size:clamp(24px,2.3vw,34px);text-align:center;margin-bottom:10px;color:var(--gravel)}
.reviews .sum{text-align:center;color:var(--on-hedge-soft);margin:0 0 34px;font:400 15px/1.5 var(--sans);letter-spacing:.01em}
.reviews .sum a{color:var(--gilt-hi)}
.reviews figure{margin:0;padding:30px 28px 24px;display:flex;flex-direction:column}
.reviews blockquote{margin:0 0 18px;font:italic 400 21px/1.42 var(--serif);color:var(--ink)}
.reviews figcaption{margin-top:auto;font:500 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.stars{display:flex;gap:4px;margin-bottom:14px}.stars svg{width:13px;height:13px;fill:var(--gilt);stroke:none}

/* visit: the canal terminus */
.visit .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.visit .plate{grid-column:1/8;padding:clamp(28px,3.4vw,52px)}
.visit .side{grid-column:8/13;display:grid;gap:var(--gap);grid-template-rows:1fr auto}
.visit h2{font-size:clamp(24px,2.3vw,34px);margin-bottom:18px;color:var(--hedge)}
.visit .addr{font:400 21px/1.4 var(--serif);color:var(--ink);margin:0 0 14px}
.hours{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:14.5px}
.hours th{text-align:left;font-weight:500;color:var(--ink);padding:8px 0;border-bottom:1px solid rgba(181,153,96,.3)}
.hours td{text-align:right;color:var(--ink-soft);padding:8px 0;border-bottom:1px solid rgba(181,153,96,.3)}
.hours tr.today th,.hours tr.today td{color:var(--hedge);font-weight:500}
.visit .side .photo{min-height:300px}
.visit .side a.photo{display:block}
.visit .side .tag{position:absolute;left:16px;bottom:16px;margin:0;display:flex;gap:10px;align-items:center;padding:10px 16px;font:500 11px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.visit .side .tag svg{width:15px;height:15px;stroke:var(--gilt);fill:none;stroke-width:1.2}

/* service page */
.crumbs{font:500 11.5px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--on-hedge-soft);padding:22px 0 0}
.crumbs a{color:var(--on-hedge-soft);text-decoration:none}.crumbs a:hover{color:var(--gravel)}
.svc-hero .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap);align-items:center;padding-top:18px}
.svc-hero .plate{padding:clamp(28px,4vw,56px)}
.svc-hero h1{font-size:clamp(26px,2.5vw,37px);color:var(--hedge);margin-bottom:18px}
.svc-hero .lede{color:var(--ink-soft);font-size:16.5px;max-width:48ch;margin:0 0 26px}
.svc-hero .photo{aspect-ratio:5/4}
.svc-body .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:start}
.svc-body .plate{grid-column:1/8;padding:clamp(28px,3.4vw,52px)}
.svc-body aside{grid-column:8/13;display:grid;gap:var(--gap)}
.svc-body h2{font-size:clamp(20px,1.9vw,27px);color:var(--hedge);margin:30px 0 12px}
.svc-body h2:first-child{margin-top:0}
.svc-body p{color:var(--ink-soft)}
.svc-body aside .photo{aspect-ratio:3/4}
.faq details{border-bottom:1px solid rgba(181,153,96,.35);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:14px 0;font:400 18px/1.35 var(--serif);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;width:16px;height:16px;stroke:var(--gilt);fill:none;stroke-width:1.3;transition:transform .4s var(--ease);margin-top:4px}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{margin:0 0 14px}
.others{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:8px}
.others a{font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--on-hedge);border:1px solid rgba(181,153,96,.6);padding:12px 14px}
.others a:hover{border-color:var(--gilt);color:var(--gravel)}

/* footer */
.foot{position:relative;z-index:1}
footer.site{margin-top:40px;border-top:1px solid rgba(181,153,96,.5);background:var(--hedge-deep);padding:40px 0 40px}
footer.site .grid{display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:28px 40px;align-items:start}
footer.site img{width:84px}
footer.site .fh{font:600 14px/1.2 var(--serif);text-transform:uppercase;letter-spacing:.2em;color:var(--gilt-hi);margin:0 0 10px}
footer.site p,footer.site a{font-size:14px;color:var(--on-hedge-soft)}
footer.site a:hover{color:var(--gravel)}
footer.site .legal{grid-column:1/-1;font-size:12px;color:#8f937f;border-top:1px solid rgba(181,153,96,.2);padding-top:18px;margin:0}

/* mobile action bar */
.bar{display:none}

/* ---------- the one authored moment: each room unfolds from the axis ---------- */
.room .panel,.room .pics{transition:clip-path 1.5s var(--ease)}
.js .room.left .panel{clip-path:inset(0 0 0 40%)}
.js .room.left .pics{clip-path:inset(0 40% 0 0)}
.js .room.right .panel{clip-path:inset(0 40% 0 0)}
.js .room.right .pics{clip-path:inset(0 0 0 40%)}
.js .room.open .panel,.js .room.open .pics{clip-path:inset(0 0 0 0)}
.js .room .pics img{transform:scale(1.05);transition:transform 2s var(--ease)}
.js .room.open .pics img{transform:none}
/* the cross-axis: a gilt line runs out from each node as its room opens */
.node::before,.node::after{content:"";position:absolute;top:50%;height:1px;width:min(36vw,560px);transform:scaleX(0);transition:transform 1.3s var(--ease)}
.node::before{right:100%;transform-origin:right;background:linear-gradient(90deg,rgba(181,153,96,0),var(--gilt))}
.node::after{left:100%;transform-origin:left;background:linear-gradient(90deg,var(--gilt),rgba(181,153,96,0))}
.open>.node::before,.open>.node::after{transform:scaleX(1)}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .menu .cols{grid-template-columns:1fr 1fr}
  .reviews .grid{grid-template-columns:1fr 1fr}
  .reviews figure:last-child{grid-column:1/-1}
}
@media (max-width:980px){
  :root{--rail:0px}
  .rail{inset:0 0 auto 0;width:auto;height:60px;flex-direction:row;padding:0 14px;border-right:0;border-bottom:1px solid rgba(181,153,96,.55)}
  .rail::after{display:none}
  .rail .mark{width:34px;margin:0}
  .rail nav{display:none}
  .rail .lang{margin:0 0 0 auto}
  main{padding-top:60px}
  .hero .grid,.svc-hero .grid{grid-template-columns:1fr;min-height:0}
  .hero .view{min-height:0;aspect-ratio:4/3.4}
  .svc-hero .photo{min-height:0;aspect-ratio:4/3.2}
  .axis{left:22px}
  .node{margin:0 0 0 0;width:46px}
  .room .grid,.wayin .grid,.sisters .grid,.visit .grid,.svc-body .grid{grid-template-columns:1fr}
  .left .panel,.left .pics,.right .panel,.right .pics,.wayin .photo,.wayin .txt,.sisters .photo,.sisters .txt,.visit .plate,.visit .side,.svc-body .plate,.svc-body aside{grid-column:1;grid-row:auto}
  .pics,.right .pics{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .pics .photo,.right .pics .photo{aspect-ratio:3/4;grid-column:auto!important;grid-row:auto!important}
  .pics .photo:first-child,.right .pics .photo:first-child{grid-column:1/3!important;aspect-ratio:4/3.2}
  .wayin .photo,.sisters .photo{max-width:520px}
  .axis-walk .wrap{padding-left:40px}
  footer.site{padding-bottom:110px}
  .bar{display:grid;grid-template-columns:1.4fr 1fr 1fr;position:fixed;inset:auto 0 0 0;z-index:30;background:var(--hedge-deep);border-top:1px solid var(--gilt);padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:8px}
  .bar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--on-hedge);border:1px solid rgba(181,153,96,.55)}
  .bar a.b{background:var(--gilt);color:var(--hedge-deep);border-color:var(--gilt)}
  .bar svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.3}
}
@media (max-width:640px){
  body{font-size:16px}
  .menu .cols,.reviews .grid,.duo{grid-template-columns:1fr}
  .reviews figure:last-child{grid-column:auto}
  .inset{position:relative;inset:auto;width:auto;margin:-46px 14px 0;}
  .hero .view{aspect-ratio:auto;display:flex;flex-direction:column}
  .hero .view .photo{position:relative;aspect-ratio:4/3.4}
  .caption{display:none}
  footer.site .grid{grid-template-columns:1fr 1fr}
  footer.site .grid>div:first-child{grid-column:1/-1}
  .hero .ctas .btn{flex:1 1 100%}
  .axis-walk .wrap{padding-left:30px;padding-right:14px}
  .prices li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;align-items:start}
  .prices .d{display:none}
  .prices .p{white-space:normal;text-align:right;max-width:9.5em;line-height:1.45;padding-top:3px}
  .axis{left:8px}
  .node{margin-left:-15px}
}
.fill,.fill picture,.fill img{display:block;width:100%;height:100%;object-fit:cover}

/* ---------- the green plate: gold logo on hedge (Juan, 2026-10-06) ---------- */
.plate.verdant{background:#2C3824 url(/img/plaster-plate.jpg) 0 0/1024px repeat;color:var(--on-hedge);border-color:var(--gilt);outline-color:rgba(181,153,96,.6);overflow:hidden}
.plate.verdant>*:not(.fl):not(.orn):not(.spot){position:relative}
.plate.verdant .orn{position:absolute;right:-16px;bottom:-20px;width:min(250px,44%);aspect-ratio:1;transform:scaleX(-1);background:var(--gilt);-webkit-mask:url(/img/orn-botanical.webp) center/contain no-repeat;mask:url(/img/orn-botanical.webp) center/contain no-repeat;opacity:.5;pointer-events:none}
.plate.verdant .orn.tr{bottom:auto;right:-18px;top:-22px;transform:rotate(180deg);width:min(210px,38%);opacity:.34}
@media (max-width:640px){.plate.verdant .orn{opacity:.22}}
.hero .verdant h1{color:var(--gravel)}
.hero .verdant h1 span{color:var(--gilt-hi)}
.hero .verdant .lede{color:var(--on-hedge-soft)}
.hero .verdant .facts{color:var(--on-hedge-soft);border-top-color:rgba(181,153,96,.5)}
.hero .verdant .facts a{color:var(--on-hedge)}
.verdant .btn.quiet{color:var(--on-hedge)}
.verdant .btn.quiet:hover{background:rgba(255,255,255,.06)}
.verdant .btn.book{background:var(--gilt);color:var(--hedge-deep)}
.verdant .btn.book:hover{background:var(--gilt-hi);color:var(--hedge-deep)}
.hero .verdant .logo{width:min(132px,30%)}
.svc-hero .verdant h1{color:var(--gravel)}
.svc-hero .verdant .lede{color:var(--on-hedge-soft)}
.menu .plate .orn{position:absolute;right:-10px;bottom:-14px;width:240px;aspect-ratio:1;background:var(--gilt);-webkit-mask:url(/img/orn-botanical.webp) center/contain no-repeat;mask:url(/img/orn-botanical.webp) center/contain no-repeat;transform:scaleX(-1);opacity:.42;pointer-events:none}
.svc-body .oh,.oh{font:600 15px/1.2 var(--serif);text-transform:uppercase;letter-spacing:.2em;color:var(--gilt-hi);margin:6px 0 12px}
.svc-status{margin:22px 0 0;display:flex;gap:9px;align-items:center;font:400 14px/1.4 var(--sans);color:var(--on-hedge-soft)}
.svc-status .dot{width:8px;height:8px;border-radius:50%;background:#8a8a6a;box-shadow:0 0 0 3px rgba(138,138,106,.18)}
.svc-status.open .dot{background:#6f9a4a;box-shadow:0 0 0 3px rgba(111,154,74,.22)}

/* ---------- green plates carry the rooms, menu and service text (80/15/5) ---------- */
.plate.verdant p,.plate.verdant li{color:var(--on-hedge-soft)}
.plate.verdant h2{color:var(--gravel)}
.plate.verdant h3{color:var(--gilt-hi);border-bottom-color:var(--gilt)}
.plate.verdant .who{color:var(--gilt-hi)}
.plate.verdant .prices li{border-bottom-color:rgba(181,153,96,.3)}
.plate.verdant .prices .n{color:var(--gravel)}
.plate.verdant .prices .n small{color:var(--on-hedge-soft)}
.plate.verdant .prices .d{border-bottom-color:rgba(181,153,96,.5)}
.plate.verdant .prices .p{color:var(--gilt-hi)}
.plate.verdant .more{color:var(--gravel)}
.plate.verdant .faq details{border-bottom-color:rgba(181,153,96,.35)}
.plate.verdant .faq summary{color:var(--gravel)}
.plate.verdant .intro{color:var(--on-hedge-soft)}
.plate.verdant a:not(.btn):not(.more){color:var(--gravel)}
.rule.l{margin:2px 0 18px;width:170px}
.room .panel h2{padding-right:clamp(76px,9vw,132px)}
.spot{position:absolute;top:clamp(22px,2.4vw,34px);right:clamp(24px,2.6vw,40px);height:clamp(60px,6.2vw,92px);width:auto;aspect-ratio:var(--ar);background:var(--gilt);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;opacity:.6;pointer-events:none}
@media (max-width:980px){
  .js .room.left .panel,.js .room.right .panel,.js .room.left .pics,.js .room.right .pics{clip-path:inset(0 40% 0 0)}
  .js .room.open .panel,.js .room.open .pics{clip-path:inset(0 0 0 0)}
  .node::before{display:none}
  .node::after{width:70vw}
}
.pics.two{grid-template-columns:1.25fr 1fr;grid-template-rows:1fr}
.pics.two .photo:first-child{grid-row:1}
@media (max-width:980px){.pics.two .photo:first-child{grid-column:1/3!important}}
@media (max-width:640px){
  .hero .ctas,.hero .facts{display:none}
  .hero .lede{margin-bottom:6px}
  .hero .verdant .logo{width:92px}
  .hero .rule{margin:8px auto 18px}
  .axis{left:15px}
  .node,.node svg{width:30px;height:30px}
  .node{margin-left:0}
  .axis-walk .wrap{padding-left:38px;padding-right:14px}
}
