/* Local presentation and interactions for the private design preview. */
#hero .image-wrapper img{display:block;width:100%;height:auto;position:relative;max-width:none}
.preview-gallery{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin:0!important;height:auto!important;position:static!important}
.preview-gallery .sqs-gallery-design-grid-slide{width:auto!important;height:auto!important;float:none!important;position:relative!important;opacity:1!important;visibility:visible!important;margin:0!important;padding:0!important}
.preview-gallery .margin-wrapper{margin:0!important;position:relative!important}
.preview-gallery .image-slide-anchor{display:block;position:relative;aspect-ratio:1;overflow:hidden}
.preview-gallery img{display:block!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:1!important;visibility:visible!important}
.preview-gallery .sqs-video-wrapper{display:none!important}
.sqs-image-shape-container-element img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.menu-select-labels{cursor:pointer}.menu-select-labels:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #667f7b;outline-offset:5px}
.preview-notice{font-size:12px;line-height:1.7;color:#667775;margin:0 0 24px;padding:12px 0;border-bottom:1px solid #c7cece}
.demo-form>label,.demo-form fieldset{display:block;margin:0 0 20px;padding:0;border:0;font:300 16px/1.6 'Source Sans Pro',sans-serif}
.demo-form label>span,.demo-form legend>span{font-size:12px}.demo-form small{display:block;font:300 12px/1.6 'Source Sans Pro',sans-serif;margin:4px 0 10px;white-space:pre-line}
.demo-form input:not([type=checkbox]):not([type=radio]),.demo-form textarea{box-sizing:border-box;display:block;width:100%;padding:12px;background:#fafafa;border:1px solid #aaa;border-radius:0;color:#263333;font:inherit;margin:4px 0 0}
.demo-form textarea{min-height:130px;resize:vertical}.demo-form input[type=checkbox],.demo-form input[type=radio]{margin-right:9px;accent-color:#263333}.demo-form .check-option{display:block;font-size:13px;margin:4px 0}.demo-form legend{padding:0}
.preview-submit{border:0;border-radius:0;background:#fff;color:#263333;font:300 15px 'Source Sans Pro',sans-serif;letter-spacing:3px;padding:21px 34px;cursor:pointer}.preview-submit:hover{background:#e4e9e9}.form-feedback{font-size:13px}.original-reservation{display:inline-block;margin-top:18px;font-size:13px;border-bottom:1px solid #8f9c9a}
.sqs-block-map .sqs-block-content{height:420px}.collection-622b2d17c5b21d05cd130a0a .sqs-block-map .sqs-block-content{height:310px}
@media(max-width:640px){.preview-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.sqs-block-map .sqs-block-content{height:340px}#mobileMenuLink a{cursor:pointer}#mobileNav.menu-open{height:auto!important}body{overflow-wrap:break-word}.demo-form input,.demo-form textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.preview-gallery .content-wrapper{position:relative!important;width:auto!important;height:auto!important}
.preview-gallery .reel-thumbnail::after{content:'▶';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:white;font-size:25px;text-shadow:0 1px 6px #0008;z-index:2}
/* Preserve the quiet layout at small screen widths without logo/navigation collision. */
@media(max-width:640px){
 #canvas{position:relative;padding:32px 24px 0}
 #header{min-height:68px;margin:0 0 30px;padding:0}
 #upper-logo{display:none!important}#lower-logo{float:none!important;width:auto!important}
 #lower-logo h1.logo{margin:0!important;line-height:1}#lower-logo img{width:150px!important;max-width:calc(100vw - 130px);height:auto}
 #topNav{display:none!important}
 #mobileMenuLink{display:block;visibility:visible;position:absolute;right:24px;top:43px;margin:0;z-index:4}
 #mobileMenuLink a{font:400 11px/1.4 'Source Sans Pro',sans-serif;text-transform:uppercase;letter-spacing:2px;padding:12px 0 12px 14px}
 #mobileNav.menu-open{padding-top:86px;padding-bottom:24px}#mobileNav ul{list-style:none;padding:0;margin:0}#mobileNav a{display:block;padding:10px 0}
 #hero{margin-top:30px}.collection-type-page #page{margin-top:50px}
 .preview-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
 .collection-622b2d17c5b21d05cd130a0a h1{font-size:2.2em}
}
.preview-gallery .image-slide-anchor{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;padding:0!important;aspect-ratio:1!important}
/* Reels use the same square cover geometry as other gallery items. */
.preview-gallery .content-wrapper{padding:0!important;aspect-ratio:1}
@media(max-width:640px){
 #mobileNav.menu-open{position:absolute;top:105px;left:24px;right:24px;padding:14px 0 18px;margin:0;background:#f0f4f4;z-index:5}
 #mobileNav ul li{display:block!important;float:none!important;clear:both!important;margin:0!important;width:auto!important}
 #mobileNav a{display:block!important;padding:11px 0!important}
}

.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.ord-empty-information{padding:40px 0 100px}.ord-empty-information h1{margin-bottom:40px}.ord-empty-news{margin:16px 0 32px}

/* Keep the long-page desktop geometry when navigating to short pages. */
@media (min-width:641px) {
  /* Existing 12px navigation width with the bundled Source Sans Pro font.
     Reserve it before font decoding, so the floated header never reflows. */
  #topNav { width:93.4375px!important; }
  html { overflow-y:scroll; }
  @supports (scrollbar-gutter:stable) {
    html { overflow-y:auto; scrollbar-gutter:stable; }
  }
}
/* The dot occupies a fixed, out-of-flow slot; hover changes opacity only. */
@media (min-width:641px) and (hover:hover) and (pointer:fine) {
  #topNav .main-nav a { position:relative; }
  #topNav .main-nav a::before {
    content:'・';
    position:absolute;
    right:100%;
    margin-right:.12em;
    width:1em;
    text-align:center;
    top:50%;
    transform:translateY(-50%);
    opacity:0;
    pointer-events:none;
  }
  #topNav .main-nav a:hover::before { opacity:1; }
}

[data-contact-form] [hidden]{display:none!important}
.form-note{font-size:13px;line-height:1.8}

/* Form copy is informational; only editable fields use the text cursor. */
.demo-form>label{cursor:default}
.demo-form input:not([type=checkbox]):not([type=radio]),.demo-form textarea{cursor:text}
.demo-form .message-help{white-space:normal;text-wrap:balance}
.demo-form .form-note{text-wrap:balance}

.demo-form .message-help>span,.demo-form .form-note>span{display:inline-block;max-width:100%}

.ord-profile-name{display:inline-flex;align-items:center;gap:0;vertical-align:middle;white-space:nowrap}
.ord-profile-instagram{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:inherit;border:0!important;line-height:1;text-decoration:none}
.ord-profile-instagram svg{display:block;flex:none}
.ord-profile-instagram:hover{opacity:.7}

/* Give the reservation introduction its own full-width row above the columns. */
.ord-reservation-intro{margin-bottom:0}
@media(min-width:641px){
 #page-622b2d17c5b21d05cd130a0a>.sqs-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}
 #page-622b2d17c5b21d05cd130a0a>.sqs-row>.sqs-col-6{display:contents}
 #block-4f927e53f9c6ef7ed84a{grid-column:1/-1}
 #page-622b2d17c5b21d05cd130a0a>.sqs-row>.sqs-col-6>.sqs-block:not(#block-4f927e53f9c6ef7ed84a){grid-column:1/span 6}
 #page-622b2d17c5b21d05cd130a0a>.sqs-row>.sqs-col-2{grid-column:7/span 2;grid-row:2;width:auto}
 #page-622b2d17c5b21d05cd130a0a>.sqs-row>.sqs-col-4{grid-column:9/span 4;grid-row:2;width:auto}
}
@media(min-width:900px){.ord-reservation-intro>span{display:block}.ord-intro-first{white-space:nowrap}}
@media(min-width:641px){
 #page-622b2d17c5b21d05cd130a0a>.sqs-row::before,#page-622b2d17c5b21d05cd130a0a>.sqs-row::after{display:none}
 #block-4f927e53f9c6ef7ed84a{grid-row:1}
 #page-622b2d17c5b21d05cd130a0a>.sqs-row>.sqs-col-6>.sqs-block:not(#block-4f927e53f9c6ef7ed84a){grid-row:2}
 #page-622b2d17c5b21d05cd130a0a>.sqs-row>.sqs-col-4>.spacer-block{display:none}
}

.demo-form .form-email-note{font-size:13px;line-height:1.8;margin:12px 0 4px;color:#263333;text-wrap:pretty}
.demo-form .form-note{margin:4px 0 0}
.demo-form .form-feedback{margin:16px 0 0;line-height:1.8;color:#263333}
.demo-form .form-error{color:#8b1e1e;font-weight:600;border-left:3px solid currentColor;padding:8px 12px;background:#fff7f7}
.demo-form .form-feedback[data-state=success]{color:#254c40;font-weight:600}

/* A little more finger room, preserving the existing mobile menu typography. */
@media(max-width:640px){
 .demo-form .check-option{padding:4px 0}
}

/* Semantic mobile menu control; desktop navigation keeps its existing geometry. */
#mobileNav[hidden],#ref-mobile-nav[hidden]{display:none!important}
@media(max-width:640px){
 #mobileMenuLink button{appearance:none;border:0;background:none;color:inherit;border-radius:0;cursor:pointer;font:400 11px/1.4 'Source Sans Pro',sans-serif;text-transform:uppercase;letter-spacing:2px;padding:12px 0 12px 14px}
 .ref-header{position:relative}
 .ref-menu-button{appearance:none;border:0;background:none;color:inherit;border-radius:0;cursor:pointer;font:400 11px/1.4 'Source Sans Pro',sans-serif;letter-spacing:2px;padding:8px 0 8px 14px}
 .ref-header #ref-mobile-nav{position:absolute;top:42px;left:0;right:0;z-index:6;display:flex;flex-direction:column;background:#f0f4f4;padding:12px 0;font:400 12px/1.4 'Source Sans Pro',sans-serif;letter-spacing:2px}
 .ref-header #ref-mobile-nav a{display:block;padding:11px 0}
}
/* One body typeface, with a restrained hierarchy for form labels and supporting copy. */
.collection-622b2d17c5b21d05cd130a0a{font-family:'Source Sans Pro',sans-serif}
.collection-622b2d17c5b21d05cd130a0a .ord-reservation-intro,
.demo-form,.demo-form label,.demo-form legend,.demo-form small,
.demo-form input,.demo-form textarea,.demo-form button,.demo-form p{font-family:'Source Sans Pro',sans-serif;font-style:normal}
.demo-form>label,.demo-form legend{font-weight:300;font-size:16px;line-height:1.6}
.demo-form small,.demo-form .check-option,.demo-form .form-note,.demo-form .form-email-note,.ord-reservation-intro{font-size:14px;line-height:1.6;font-weight:300}
.demo-form input:not([type=checkbox]):not([type=radio]),.demo-form textarea{font-size:16px;font-weight:300}
.ord-contact-address{font:300 14px/1.6 'Source Sans Pro',sans-serif;margin:12px 0 0;user-select:text}

.demo-form .form-feedback{font-size:14px}

/* Preserve the requested paragraph and sentence boundaries, with natural mobile wrapping. */
.demo-form .form-email-note{margin:16px 0 16px;text-wrap:wrap}
.demo-form .form-note{text-wrap:wrap}
.demo-form .form-note>span{display:block}
@media(min-width:641px){
 .demo-form .form-email-note,.demo-form .form-note{width:calc(200% + 34px);max-width:none}
}

/* Give desktop links a little breathing room, within the 100px logo height. */
@media(min-width:641px){
 #topNav .main-nav ul{display:flex;flex-direction:column;gap:2.5px}
 #topNav .main-nav li{margin:0;padding:0}
 #topNav .main-nav a{padding:0;white-space:nowrap}
}

.ord-email-display{display:inline-flex;align-items:center;gap:6px;white-space:normal;vertical-align:middle}
.ord-email-icon{display:block;flex:none;width:16px;height:16px;color:inherit}

@media(min-width:641px){#topNav nav.main-nav ul li a{padding:0!important}}
.ord-email-action{display:inline-flex;align-items:center;justify-content:center;width:20px;height:24px;flex:none;color:inherit;border:0!important;text-decoration:none}

/* Approved mobile menu treatment: borderless with a subtle shadow. */
@media(max-width:640px){
 #mobileNav.menu-open,.ref-header #ref-mobile-nav.menu-open{border:0;outline:none;box-shadow:0 10px 22px -10px rgba(35,65,63,.32)}
}

/* Match the existing Reservation title: 48px desktop / 35.2px mobile. */
#page .ord-page-heading{font-family:'Source Sans Pro',sans-serif;font-size:48px;font-weight:300;font-style:normal;line-height:1.3;letter-spacing:1px;text-transform:none;margin:0 0 .3em}
#page .ord-information-list{margin:0}
#page .ord-empty-information{padding-top:0}
@media(max-width:640px){#page .ord-page-heading{font-size:35.2px}}
@media(max-width:640px){
 .collection-622b2e37c07e7c6fda21d4af #page{margin-top:50px}
 #page .ord-information-list .ord-empty-information{padding-top:17px}
}

/* Balanced inner space for both mobile dropdown variants. */
@media(max-width:640px){
 #mobileNav a,.ref-header #ref-mobile-nav a{padding-inline:16px!important}
}

/* VOGUE JAPAN announcement: local official thumbnail, linked without an embed. */
.ord-works-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start;max-width:1000px;margin-top:24px}
.ord-works-item h2,.ord-works-item h3{margin:0 0 16px}
.ord-works-item p{margin:0 0 16px}
.ord-works-item p a{text-decoration:underline;text-underline-offset:3px}
.ord-works-thumbnail{display:block;width:100%;max-width:480px;margin:0}
.ord-works-thumbnail img{display:block;width:100%;height:auto}
@media(max-width:640px){
 .ref-information .ord-works-item{margin-top:16px;font-size:16px;line-height:1.6}
 .ref-information .ord-works-item h3{font:300 20px/1.4 "Source Sans Pro",sans-serif;text-align:left;margin-bottom:16px}
 .ref-information .ord-works-item p{margin-bottom:16px}
 .ref-information .ord-works-thumbnail{margin:0}
}

.ord-works-date{color:#667775;font-size:.875em}

@media(max-width:767px){.ord-works-item{grid-template-columns:minmax(0,1fr);gap:24px}}

.ord-works-item + .ord-works-item{margin-top:64px}

/* Match the approved Home image width on phones; let an open menu push Works below it. */
@media(max-width:640px){
 .ord-works-page .ord-works-thumbnail{max-width:283px;margin-inline:auto}
 .ord-works-page:has(#mobileNav.menu-open) #page{margin-top:calc(50px + 320px)}
}
