@import url('entrance.css?v=3');

/* A single fixed camera window; the route itself has no beginning or end. */
html,body.entrance-page{height:100%;overflow:hidden;overscroll-behavior:none}
.e-gallery,.is-entered .e-gallery,.e-static.is-entered .e-gallery{height:100svh}
.e-viewport{position:relative;height:100%;min-height:0;overflow:clip;touch-action:pinch-zoom}
.e-approach{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.has-approach:not(.is-entered) .e-approach{opacity:1}
body:not(.is-entered) .e-journey{opacity:0}
.e-static .e-approach{opacity:0!important}
.entrance-page:not(.is-entered){color:#eee7dd}
.entrance-page:not(.is-entered) .e-brand img{filter:none}
.entrance-page:not(.is-entered) .e-action{border-bottom-color:#eee7dd66}
.e-skip{color:#252321}
.e-room-track i{transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.e-travel-controls{position:absolute;left:var(--e-gutter);bottom:29px;display:flex;align-items:center;gap:14px;opacity:0;visibility:hidden;transition:opacity .6s}
.is-entered .e-travel-controls{opacity:1;visibility:visible}
.e-travel-controls button{display:grid;place-items:center;width:auto;min-width:44px;height:44px;padding:0 7px;font-size:11px;line-height:1.2;text-underline-offset:5px}



.e-travel-controls span{font-size:10px}
.is-crossing .e-travel-controls,.is-crossing .e-web-canvas,.is-crossing .e-canvas-controls{opacity:0!important;pointer-events:none}
.e-room[data-room="2"] .e-room-heading h2{font-size:clamp(64px,6.4vw,114px)}
.e-room[data-room="2"] .e-room-heading{top:23%}

/* Real type is projected onto the physical canvas, never baked into an image. */
.e-web-canvas{position:absolute;left:0;top:0;width:1200px;height:754px;transform-origin:0 0;z-index:4;opacity:0;overflow:hidden;color:#272a28;contain:layout style;will-change:transform;pointer-events:auto}
.e-web-canvas[inert]{pointer-events:none}
.e-canvas-panel{position:absolute;inset:0;padding:55px 64px;overflow:hidden}
.e-canvas-panel[hidden]{display:none}
.e-canvas-kicker{font-size:26px;letter-spacing:.06em}
.e-canvas-panel h3{font:400 125px/.94 var(--e-serif);letter-spacing:-.032em;margin:60px 0 0}
.e-canvas-panel h3 em{font-weight:400}
.e-canvas-design h3{max-width:640px}
.e-canvas-small{font-size:32px;line-height:1.45;margin-top:48px}
.e-canvas-baseline{position:absolute;left:64px;right:64px;bottom:40px;display:flex;justify-content:space-between;align-items:center;border-top:1.5px solid #30352e55;padding-top:25px;font-size:25px;letter-spacing:.01em}
.e-canvas-baseline i{font-size:44px;font-style:normal;line-height:1}
.e-canvas-growth{background:#deddd7}
.e-canvas-growth h3{font-size:107px;margin-top:32px}
.e-search-study{position:absolute;left:585px;right:55px;top:151px}
.e-search-study label{display:block;font-size:29px;line-height:1.35;margin-bottom:24px}
.e-search-study>div{display:flex;border-bottom:2px solid #404840;align-items:center;gap:10px}
.e-search-study input{width:calc(100% - 122px);border:0;background:transparent;font:38px/1.4 var(--e-sans);padding:18px 0;color:#272a28;outline-offset:6px;min-height:95px}
.e-search-study button{font-size:25px;width:122px;height:95px;flex:none;text-underline-offset:7px}
.e-search-result{position:absolute;left:64px;right:64px;top:445px;transition:transform .5s}
.e-search-result.is-visible{transform:translateX(10px)}
.e-search-result span{display:block;font-size:23px;opacity:.65}
.e-search-result strong{display:block;font-weight:450;font-size:42px;letter-spacing:-.025em;margin-top:10px}
.e-search-result p{font-size:29px;line-height:1.35;margin-top:10px;max-width:980px}
.e-search-result strong,.e-search-result p{overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.e-canvas-growth .e-canvas-baseline{font-size:21px}
.e-canvas-automation{background:#272c2a;color:#e6e2d8}
.e-canvas-automation h3{font-size:111px;margin-top:34px}
.e-workflow-steps{list-style:none;display:flex;gap:0;padding:0;margin:50px 0 0}
.e-workflow-steps li{flex:1;position:relative;border-top:2px solid #e6e2d842;padding-top:24px;font-size:32px;transition:border-color .4s,color .4s;color:#9b9e94}
.e-workflow-steps li:before{content:'';position:absolute;left:0;top:-5px;width:8px;height:8px;border-radius:50%;background:#9b9e94;transition:background .4s,box-shadow .4s}
.e-workflow-steps li.is-connected{border-color:#ded7bc;color:#eee9dc}
.e-workflow-steps li.is-connected:before{background:#eee9dc;box-shadow:0 0 0 7px #eee9dc16}
.e-workflow-steps li span{display:block;font-size:21px;margin-bottom:8px}
.e-workflow-run{font-size:33px;border-bottom:1px solid #e6e2d866;padding:15px 0;margin-top:37px;min-height:74px}
.e-workflow-run:disabled{opacity:.6}
.e-workflow-status{font-size:25px;position:absolute;left:610px;top:585px;right:60px}
.e-canvas-automation .e-canvas-baseline{border-color:#e6e2d842;font-size:21px}
.e-canvas-controls{position:absolute;left:50%;bottom:125px;transform:translateX(-50%);z-index:6;opacity:0;visibility:hidden;text-align:center;transition:opacity .45s;white-space:nowrap}
.is-entered[data-gallery-room="2"]:not(.is-travelling) .e-canvas-controls{opacity:1;visibility:visible}
.e-canvas-controls [role=tablist]{display:flex;justify-content:center;gap:29px}
.e-canvas-controls button{position:relative;min-height:44px;font-size:12px;opacity:.6}
.e-canvas-controls button[aria-selected=true]{opacity:1}
.e-canvas-controls button:after{content:'';height:1px;background:currentColor;position:absolute;left:0;right:0;bottom:5px;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.e-canvas-controls button[aria-selected=true]:after,.e-canvas-controls button:hover:after{transform:scaleX(1)}
.e-canvas-description{font-size:10px;margin-top:8px;opacity:.82}
.is-entered[data-gallery-room="2"]{color:#ede6da}
.is-entered[data-gallery-room="2"] .e-brand img{filter:none}
.is-entered[data-gallery-room="2"] .e-contact{color:#252321}
.is-entered[data-gallery-room="2"] .e-action{border-bottom-color:#ede6da66}
.is-entered[data-gallery-room="2"] .e-room-track{background:#ede6da44}
.is-entered[data-gallery-room="1"] .e-shade,.is-entered[data-gallery-room="2"] .e-shade{background:linear-gradient(0deg,#0f14122b,transparent 30%)}
.is-entered[data-gallery-room="1"] .e-room-foot,.is-entered[data-gallery-room="2"] .e-room-foot,.is-entered[data-gallery-room="1"] .e-room-nav,.is-entered[data-gallery-room="2"] .e-room-nav{color:#fff}
.is-travelling .e-room-nav,.is-travelling .e-travel-controls,.is-travelling .e-motion{color:#eee7dd}
.is-travelling .e-brand img{filter:none}
.is-travelling .e-contact{color:#eee7dd}
.is-overlooking .e-brand img{filter:brightness(0)}
.is-overlooking .e-contact{color:#252321}
.is-entered[data-gallery-room="0"] .e-travel-controls{color:#252321}
@media(min-aspect-ratio:2/1){.e-canvas-controls{bottom:86px}.e-canvas-description{display:none}.e-room[data-room="2"] .e-room-heading h2{font-size:13vh}}
@media(max-width:1100px) and (min-aspect-ratio:1/1){.e-travel-controls span{display:none}.e-canvas-description{display:none}.e-canvas-controls{bottom:125px}}
@media(max-aspect-ratio:1/1){
  .entrance-page:not(.is-entered) .e-enter,.entrance-page:not(.is-entered) .e-opening-note,.entrance-page:not(.is-entered) .e-motion{color:#252321}
  .entrance-page:not(.is-entered) .e-enter{border-bottom-color:#25232166}
  .entrance-page:not(.is-entered) .e-shade:after{content:'';position:absolute;inset:75% 0 0;background:linear-gradient(0deg,#e4d7c6ad,transparent)}
  .is-overlooking .e-brand img{filter:none}
  .is-overlooking .e-contact{color:#eee7dd}
  .e-room[data-room="2"] .e-room-heading{top:15.5%;color:#f2e9db}
  .e-room[data-room="2"] .e-room-heading h2{font-size:clamp(60px,8vw,84px)}
  .e-canvas-controls{bottom:120px;color:#f1e9db}
  .e-canvas-description{display:none}
  .e-travel-controls{left:auto;right:var(--e-gutter);bottom:72px;gap:8px;color:#f1e9db}
  .e-travel-controls span{display:none}
}
@media(max-width:600px){
  .entrance-page:not(.is-entered) .e-header{color:#252321}
  .entrance-page:not(.is-entered) .e-brand img{filter:brightness(0)}
  .is-entered .e-room-nav,.is-entered .e-motion,.is-entered .e-travel-controls{color:#252321}
  .e-room[data-room="2"] .e-room-heading{top:15%}
  .e-room[data-room="2"] .e-room-heading h2{font-size:17vw}
  .e-room[data-room="2"] .e-room-foot{bottom:95px}
  .e-canvas-controls{bottom:166px;left:24px;right:24px;transform:none;color:#eee7db}
  .e-canvas-controls [role=tablist]{gap:28px}
  .e-canvas-controls button{font-size:12px}
  .e-travel-controls{right:22px;bottom:99px;gap:5px}
  .e-travel-controls button{min-width:44px;height:44px;font-size:10px;padding-inline:5px}
  
  .is-entered[data-gallery-room="2"] .e-header,.is-entered[data-gallery-room="2"] .e-room-foot,.is-entered[data-gallery-room="2"] .e-room-nav,.is-entered[data-gallery-room="2"] .e-motion,.is-entered[data-gallery-room="2"] .e-travel-controls{color:#252321}
  .is-entered[data-gallery-room="1"] .e-room-foot,.is-entered[data-gallery-room="1"] .e-room-nav{color:#252321}
  .is-entered[data-gallery-room="2"] .e-room-foot .e-action{border-bottom-color:#25232166}
  .is-entered[data-gallery-room="2"] .e-brand img{filter:brightness(0)}
  .is-travelling .e-header .e-contact{color:#252321}
  .is-travelling .e-brand img{filter:brightness(0)}
  .e-search-study{left:575px;right:35px;top:112px}
  .e-search-study label{font-size:38px}
  .e-search-study input{font-size:47px;min-height:158px;width:calc(100% - 144px)}
  .e-search-study button{width:144px;height:158px;font-size:30px}
  .e-workflow-run{font-size:46px;min-height:128px;margin-top:5px}
  .e-workflow-status{top:616px;left:580px;font-size:30px}
}
@media(max-height:650px) and (max-width:600px){.e-canvas-controls{bottom:135px}.e-room[data-room="2"] .e-room-foot{bottom:76px}.e-travel-controls{bottom:79px}.e-room[data-room="2"] .e-room-heading h2{font-size:13vw}}
@media(prefers-reduced-motion:reduce){.e-canvas-panel *,.e-room-track i,.e-canvas-controls,.e-travel-controls{transition:none!important}}

/* Keep the doorway header legible against the shaded courtyard piers. */
@media(min-width:601px) and (min-aspect-ratio:1/1){
 .is-entered:not(.is-overlooking) .e-header .e-contact{color:#f1e9dd}
 .is-entered:not(.is-overlooking) .e-header .e-brand img{filter:none}
}

/* High-resolution stills remain visible whenever the Y camera is at rest. */
.e-still{z-index:1;pointer-events:none;transition:opacity .14s linear}
.has-film.is-entered .e-still,.has-approach.is-approaching .e-still{opacity:0}
.has-film.is-entered.is-detail-ready .e-still{opacity:var(--e-detail-opacity,1)}
.e-static .e-still{opacity:1;transition:none}
.is-travelling[data-gallery-room="0"] .e-still{transition:none}
@media(prefers-reduced-motion:reduce){.e-still{transition:none}}

/* Place the invitation on the room's axis, keeping its original dimensions. */
.e-welcome{--e-copy-top:33svh;--e-entry-bottom:clamp(140px,20svh,200px);top:var(--e-copy-top)}
.e-welcome .e-enter{
  position:absolute;
  left:calc(50vw - var(--e-gutter));
  top:calc(100svh - var(--e-copy-top) - var(--e-entry-bottom));
  margin-top:0;
  transform:translate(-50%,-100%);
}
.entrance-page:not(.is-entered) .e-welcome .e-enter{color:#211f1c;border-bottom-color:#211f1c80}
@media(min-aspect-ratio:2/1){.e-welcome{--e-copy-top:30svh}}
@media(max-aspect-ratio:1/1){.e-welcome{--e-copy-top:18svh;--e-entry-bottom:92px}}
@media(max-width:600px){.e-welcome{--e-copy-top:16.5svh;--e-entry-bottom:97px}}
@media(max-height:650px) and (max-width:600px){.e-welcome{--e-copy-top:17svh;--e-entry-bottom:82px}}

.e-travel-controls button:is(:hover,:focus-visible),.e-search-study button:is(:hover,:focus-visible){text-decoration:underline}
