/* Full-bleed room hero. Live text enables the requested sequential reveal. */
.site-header:not(.is-scrolled){color:var(--ink);background:rgba(242,240,233,.82);border-bottom-color:rgba(17,20,16,.16);backdrop-filter:blur(12px)}
.hero-room{position:relative;isolation:isolate;min-height:100svh;background:#d3cec5;color:var(--ink);overflow:hidden}
.hero-room-photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;animation:room-arrive 1.25s cubic-bezier(.16,1,.3,1) both}
.hero-room:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(242,240,233,.13),transparent 54%),linear-gradient(0deg,rgba(17,20,16,.44),transparent 24%);pointer-events:none}
.hero-room-copy{position:absolute;left:var(--hero-x,clamp(28px,4.4vw,75px));top:var(--hero-y,50%);width:48vw;transform:translateY(-50%)}
.hero-title-plane{position:relative;z-index:2;width:max-content;max-width:100%;transform-origin:left center;transform:perspective(min(93.9vw,187.8vh)) rotateY(10deg) rotateZ(var(--hero-rotate,0deg)) scaleX(var(--hero-scale-x,1)) scaleY(var(--hero-scale-y,1)) var(--hero-warp,matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1))}
.hero-room h1{display:grid;gap:.01em;margin:0;font-family:var(--sans);font-size:min(9vw,18vh);font-weight:600;line-height:.94;letter-spacing:-.055em;text-transform:uppercase}
.hero-word{display:block;width:max-content;max-width:100%;opacity:1;clip-path:inset(0 0 0 0);transform:none}
.hero-word-first{animation:word-reveal .72s .18s cubic-bezier(.16,1,.3,1) both}
.hero-word-second{animation:word-reveal .72s .52s cubic-bezier(.16,1,.3,1) both}
.hero-room-following-label,.hero-room-copy-spacer{font-size:max(11px,min(.86vw,1.72vh));font-weight:700;letter-spacing:.21em}
.hero-room-following-label{position:absolute;left:0;top:calc(100% + min(2.03vw,4.06vh));width:max-content;max-width:100%;margin:0;animation:detail-reveal .55s .95s cubic-bezier(.16,1,.3,1) both}
.hero-room-copy-spacer{visibility:hidden;pointer-events:none;margin:min(2.03vw,4.06vh) 0 0}
.hero-room-bottom{position:absolute;left:var(--pad);right:var(--pad);bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:13px;border-top:1px solid rgba(255,255,255,.55);color:#fff;font-size:9px;font-weight:700;letter-spacing:.14em}
.hero-room-bottom a{display:inline-flex;align-items:center;gap:13px;text-transform:uppercase}
.hero-room-bottom a:hover{color:#d0b08c}
.hero-room a:focus-visible{outline:3px solid #d7a83c;outline-offset:4px}
.hero-room [hidden]{display:none!important}
.hero-room.hero-editing .hero-room-copy{cursor:grab;touch-action:none;user-select:none}
.hero-room.hero-editing .hero-room-copy.is-dragging{cursor:grabbing}
.hero-room.hero-editing .hero-title-plane{outline:1px dashed rgba(17,20,16,.7);outline-offset:10px}
.hero-rotate-handle{position:absolute;top:-61px;right:-12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--ink);border-radius:50%;background:var(--chalk);color:var(--ink);cursor:grab;touch-action:none}
.hero-rotate-handle:active{cursor:grabbing}
.hero-rotate-handle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hero-resize-handle{position:absolute;z-index:2;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;background:transparent;touch-action:none}
.hero-resize-handle:after{content:"";width:12px;height:12px;border:1px solid var(--ink);background:var(--chalk);box-shadow:0 1px 4px rgba(17,20,16,.28)}
.hero-resize-nw{top:-18px;left:-18px;cursor:nwse-resize}
.hero-resize-ne{top:-18px;right:-18px;cursor:nesw-resize}
.hero-resize-sw{bottom:-18px;left:-18px;cursor:nesw-resize}
.hero-resize-se{bottom:-18px;right:-18px;cursor:nwse-resize}
.hero-rotate-handle:focus-visible,.hero-resize-handle:focus-visible,.hero-editor button:focus-visible,.hero-editor input:focus-visible{outline:3px solid #d7a83c;outline-offset:3px}
.hero-editor{position:fixed;z-index:150;top:108px;right:18px;width:min(320px,calc(100vw - 36px));padding:20px;background:rgba(242,240,233,.96);color:var(--ink);box-shadow:0 12px 40px rgba(17,20,16,.23);font-family:var(--sans)}
.hero-editor strong{font-size:11px;letter-spacing:.14em}
.hero-editor p{margin:10px 0 18px;font-size:12px;line-height:1.5}
.hero-editor-size{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px}
.hero-editor-size label{font-size:9px}
.hero-editor-size input{margin:7px 0 5px}
.hero-editor label{display:flex;justify-content:space-between;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.hero-editor input{width:100%;margin:14px 0 18px;accent-color:var(--ink)}
.hero-editor-actions{display:flex;flex-wrap:wrap;gap:7px}
.hero-editor button:not(.hero-rotate-handle){padding:9px 11px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:10px;font-weight:700;cursor:pointer}
.hero-editor [data-hero-save]{background:var(--ink)!important;color:#fff!important}
.hero-editor small{display:block;margin-top:12px;font-size:10px;line-height:1.5}
@keyframes room-arrive{from{opacity:.65;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@keyframes word-reveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-16px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
@keyframes detail-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.hero-room-copy{width:60vw}.hero-title-plane{transform:perspective(1200px) rotateY(10deg) rotateZ(var(--hero-rotate,0deg)) scaleX(var(--hero-scale-x,1)) scaleY(var(--hero-scale-y,1)) var(--hero-warp,matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1))}.hero-room h1{font-size:clamp(4rem,9vw,7rem)}.hero-room-following-label,.hero-room-copy-spacer{font-size:11px}.hero-room-following-label{top:calc(100% + 26px)}.hero-room-copy-spacer{margin-top:26px}}
@media(max-width:650px){.hero-room-photo{object-position:47% center}.hero-room:after{background:linear-gradient(90deg,rgba(242,240,233,.38),rgba(242,240,233,.03) 72%),linear-gradient(0deg,rgba(17,20,16,.57),transparent 29%)}.hero-room-copy{left:var(--hero-x,20px);top:var(--hero-y,35%);width:calc(100% - 40px)}.hero-room h1{font-size:clamp(3.4rem,16vw,5.3rem);letter-spacing:-.055em}.hero-room-following-label,.hero-room-copy-spacer{max-width:27ch;font-size:9px;line-height:1.6;letter-spacing:.13em}.hero-room-following-label{top:calc(100% + 17px)}.hero-room-copy-spacer{margin-top:17px}.hero-room-bottom{bottom:20px;font-size:8px}.hero-editor{top:auto;bottom:12px;right:12px;padding:14px;width:min(290px,calc(100vw - 24px))}.hero-editor p{margin:7px 0 10px}.hero-editor input{margin:8px 0 10px}}
@media(prefers-reduced-motion:reduce){.hero-room-photo,.hero-word-first,.hero-word-second,.hero-room-following-label{animation:none}}
