@font-face{font-family:Jubilat;src:url('/assets/fonts/jubilat-regular.woff') format('woff');font-weight:400 500;font-display:swap}@font-face{font-family:Jubilat;src:url('/assets/fonts/jubilat-semibold.woff') format('woff');font-weight:600 800;font-display:swap}
:root{--ink:#000000;--sky:#b7d9e8;--paper:#fffaf1;--line:#0000002b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--sky);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #874b2a;outline-offset:4px}h1,h2{font-family:Jubilat,Georgia,serif;font-weight:500;line-height:1.2}h2{font-size:clamp(28px,4vw,42px)}.sky{position:relative;min-height:100svh;background:#b7d9e8 url('/assets/dom-clouds.webp') center/cover no-repeat;display:flex;flex-direction:column;isolation:isolate}.sky:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#d2e8ec12,#d2e8ec2b 65%,var(--sky));z-index:-1}.topbar{padding:26px 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}.topbar>a{text-decoration:none}.topbar span{font-size:12px;letter-spacing:.13em}.small-brand{font:700 27px Jubilat,Georgia,serif;letter-spacing:.05em}.introduction{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:60px 20px 70px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.2em;margin:0 0 20px}.wordmark{font-size:clamp(112px,18vw,236px);font-weight:800;letter-spacing:-.065em;line-height:1;margin:0 0 26px;padding-right:.055em}.tagline{font:500 clamp(23px,3vw,34px)/1.35 Jubilat,Georgia,serif;margin:0 0 34px}.reserve-button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:13px 30px;background:var(--ink);color:var(--paper);text-decoration:none;border:1px solid var(--ink);border-radius:2px;font-size:14px;transition:background .2s}.reserve-button:hover{background:#242424}.quiet-link{font-size:13px;margin-top:18px;text-decoration:none}.scroll-link{display:flex;align-items:center;flex-direction:column;gap:12px;text-align:center;font-size:13px;text-decoration:none;padding:0 20px 28px}.scroll-link span{font-size:24px}.house{text-align:center;padding:60px 0 0;background:var(--sky)}.house-caption{padding:0 24px 34px}.house-caption h2{margin:0}.house-caption .eyebrow{margin-bottom:14px}.facade-image{display:block;width:min(100%,760px);height:auto;margin:auto;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%,#000)}.visit{padding:40px 24px 55px}.visit>p{margin:0 0 22px}.contact-links{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;font-size:14px;margin-top:30px}footer{border-top:1px solid var(--line);padding:20px 5vw;font-size:12px;display:flex;justify-content:space-between;gap:15px}footer a{opacity:.7}dialog{border:0;border-radius:5px;background:var(--paper);color:var(--ink);width:620px;max-width:calc(100vw - 28px);max-height:92svh;padding:30px;box-shadow:0 20px 80px #17262b40}dialog::backdrop{background:#162e3e70;backdrop-filter:blur(6px)}body:has(dialog[open]){overflow:hidden}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.dialog-header .eyebrow{margin:0 0 8px}.dialog-header h2{font-size:32px;margin:0}.close{min-width:44px;min-height:44px;border:1px solid var(--line);background:none;color:inherit;font-size:28px;line-height:1}.dialog-intro{font-size:14px;margin:18px 0 24px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;font-size:14px;gap:6px}input,select,textarea{background:#fffdf8;border:1px solid #00000040;border-radius:2px;color:var(--ink);padding:10px;min-height:46px;width:100%;min-width:0}textarea{resize:vertical;min-height:84px}.optional{font-size:12px;opacity:.7}.extra-fields{margin-top:18px}.extra-fields summary{cursor:pointer;font-size:14px;padding:10px 0}.extra-fields .fields{padding-top:12px}.form-note{font-size:12px;line-height:1.6;opacity:.8;margin:20px 0 0}.error{font-size:14px;color:#a51a20;white-space:pre-wrap}.error:empty{display:none}.submit{width:100%;margin-top:20px}.reserve-button:disabled{opacity:.6;cursor:wait}.success h2{font-size:28px}.summary{white-space:pre-wrap;font:14px/1.7 'DM Sans',sans-serif;overflow-wrap:anywhere;background:#00000008;padding:18px}.success>a:last-child{display:block;font-size:14px;margin-top:18px}[hidden]{display:none!important}.standalone{background:var(--paper)}.standalone-form{width:min(100%,620px);margin:auto;padding:25px 24px 60px}.standalone-form h1{font-size:40px;margin:0}@media(max-width:600px){.topbar{padding:20px 6vw}.topbar span{display:none}.introduction{padding:65px 22px 70px}.wordmark{font-size:clamp(105px,28vw,170px)}.sky{background-position:50% 50%}.house{padding-top:38px}.house-caption{padding-bottom:15px}.contact-links{gap:15px}.visit{padding:30px 20px 40px}dialog{padding:22px 18px}.fields{gap:13px}.fields label:nth-child(4),.fields label:nth-child(5){grid-column:1/-1}.dialog-header h2{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.sky{overflow:hidden}.topbar,.introduction,.scroll-link{position:relative;z-index:1}.small-brand img{display:block}.wordmark{width:min(72vw,510px);margin:0 0 30px;padding:0;line-height:0}.wordmark img{display:block;width:100%;height:auto}.cloud-layers{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.cloud{position:absolute;width:76vw;max-width:none;height:auto;will-change:transform;animation:cloud-drift 48s ease-in-out infinite alternate}.cloud-one{top:9%;left:-37%;opacity:.88}.cloud-two{top:39%;right:-43%;width:85vw;opacity:.78;animation-duration:62s;animation-direction:alternate-reverse}.cloud-three{bottom:-8%;left:-10%;width:110vw;opacity:.68;animation-duration:72s}.clouds-paused .cloud{animation-play-state:paused}@keyframes cloud-drift{from{transform:translate3d(-3%,0,0)}to{transform:translate3d(13%,-12px,0)}}@media(max-width:600px){.wordmark{width:min(82vw,420px)}.cloud{width:120vw}.cloud-one{left:-80%;top:13%}.cloud-two{right:-82%;top:48%;width:140vw}.cloud-three{width:160vw;bottom:0;left:-32%}.scroll-link{padding-bottom:62px}}@media(prefers-reduced-motion:reduce){.cloud{animation:none;will-change:auto}}

/* Continuous illustrated sky, with a cloud veil across the section boundary. */
main{overflow:hidden}.sky{mask-image:linear-gradient(to bottom,#000 calc(100% - 130px),transparent);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 130px),transparent);padding-bottom:65px}.sky:before{background:linear-gradient(180deg,#d2e8ec12,#d2e8ec1a 65%,#b7d9e880)}.cloud-one{animation-duration:15s}.cloud-two{animation-duration:21s}.cloud-three{animation-duration:26s}.house{position:relative;padding-top:20px}.cloud-bridge{position:absolute;top:-165px;left:-15%;width:130%;height:320px;pointer-events:none;opacity:.85;mask-image:linear-gradient(transparent,#000 30%,#000 60%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 30%,#000 60%,transparent)}.cloud-bridge img{width:100%;height:100%;object-fit:cover;animation:bridge-drift 19s ease-in-out infinite alternate}.house-caption{position:relative;z-index:1;padding:20px 24px 32px}.house-caption h2{font-size:clamp(34px,5vw,48px)}.house-scene{position:relative;width:min(100%,760px);margin:auto}.facade-image{width:100%;mask-image:linear-gradient(to bottom,transparent,#000 13%,#000);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 13%,#000)}.topbar>a:last-of-type{margin-left:auto}.topbar span{margin-right:auto}.motion-paused .cloud,.motion-paused .cloud-bridge img{animation-play-state:paused}@keyframes bridge-drift{from{transform:translateX(-7%) scale(1.12)}to{transform:translateX(7%) scale(1.12)}}@media(max-width:600px){.cloud-bridge{top:-125px;height:250px;left:-40%;width:180%}.sky{padding-bottom:35px}.scroll-link{padding-bottom:50px}.topbar{gap:14px}.house-caption{padding-top:12px}}@media(prefers-reduced-motion:reduce){.cloud-bridge img{animation:none}}

.reserve-button{border-radius:8px}

.scroll-link{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:400;letter-spacing:.2em;text-transform:uppercase}.scroll-link span{letter-spacing:0}.menu-links{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.menu-button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:54px;padding:12px 32px;border:1px solid var(--ink);border-radius:8px;background:#fffaf170;color:var(--ink);text-decoration:none;font-family:Jubilat,Georgia,serif;font-size:24px;line-height:1.2;transition:background .2s}.menu-button span{font-family:'DM Sans',sans-serif;font-size:20px}.menu-button:hover{background:var(--paper)}

/* A continuous tower reveal, with its crest visible in the opening viewport. */
.sky{min-height:calc(100svh - clamp(170px,35vw,300px));padding-bottom:0;mask-image:none;-webkit-mask-image:none}.introduction{padding:30px 20px 35px}.wordmark{width:min(72vw,430px)}.scroll-link{padding-bottom:25px;gap:6px}.house{padding-top:0}.facade-image{mask-image:linear-gradient(to bottom,transparent,#000 3%,#000);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 3%,#000)}.cloud-bridge{z-index:2;top:-35px;height:160px;opacity:.62}.house-caption{padding-top:35px}.visit{padding-top:5px}@media(max-width:600px){.sky{min-height:calc(100svh - clamp(145px,48vw,250px));padding-bottom:0}.topbar{padding-top:16px;padding-bottom:16px}.introduction{padding:20px 20px 28px}.wordmark{width:72vw;margin-bottom:22px}.tagline{margin-bottom:25px}.scroll-link{padding:0 18px 22px;font-size:12px}.house{padding-top:0}.cloud-bridge{top:30px;height:120px;left:-35%;width:170%;opacity:.65}.house-caption{padding-top:28px}}
/* Fade both sky layers to the same base before the illustration begins. */
.sky:before{background:linear-gradient(to bottom,transparent 45%,#b7d9e820 65%,#b7d9e880 83%,var(--sky) 100%)}
.cloud-layers{mask-image:linear-gradient(to bottom,#000 calc(100% - 180px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 180px),transparent 100%)}
.cloud-bridge{top:-100px;height:220px;opacity:.65;mask-image:linear-gradient(to bottom,transparent,#000 40%,#000 55%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 40%,#000 55%,transparent)}
@media(max-width:600px){.cloud-bridge{top:-70px;height:160px;opacity:.6}}

/* White branding across the illustrated public landing page. */
body:not(.standalone){color:#fff}body:not(.standalone)>main,body:not(.standalone)>footer{text-shadow:0 1px 4px #183b5c99}.wordmark img{filter:drop-shadow(0 2px 5px #183b5c55)}.small-brand img{filter:brightness(0) invert(1) drop-shadow(0 1px 3px #183b5c66)}body:not(.standalone)>main .reserve-button,body:not(.standalone)>main .menu-button{color:#fff;background:#25495bd9;border-color:#fff9;text-shadow:none}body:not(.standalone)>main .reserve-button:hover,body:not(.standalone)>main .menu-button:hover{background:#25495b}body:not(.standalone)>footer{border-color:#ffffff50}dialog{text-shadow:none}

/* DOM's black identity and a tighter, proportionate view of its illustrated façade. */
body:not(.standalone){color:#000}body:not(.standalone)>main,body:not(.standalone)>footer{text-shadow:none}.wordmark img{filter:none}.small-brand img{filter:none}body:not(.standalone)>main .reserve-button,body:not(.standalone)>main .menu-button{color:#000;background:#fffaf1d9;border-color:#000;text-shadow:none}body:not(.standalone)>main .reserve-button:hover,body:not(.standalone)>main .menu-button:hover{background:#fffaf1}body:not(.standalone)>footer{border-color:#0003}
.house-scene{width:min(100%,760px);overflow:hidden}.facade-image{display:block;width:133%;max-width:none;height:auto;margin-left:-16.5%}
body:not(.standalone)>main .reserve-button,body:not(.standalone)>main .menu-button{color:#fff;background:#000;border-color:#000}body:not(.standalone)>main .reserve-button:hover,body:not(.standalone)>main .menu-button:hover{background:#252525}

/* Compact opening, 13% smaller wordmark, and a more relaxed reservation gap. */
.introduction{justify-content:flex-start;padding:16px 20px 28px}
.wordmark{width:min(62.64vw,374.1px)}
.tagline{margin-bottom:74px}
.scroll-link{min-height:44px;justify-content:center}
@media(max-width:600px){
  .introduction{padding:8px 20px 20px}
  .wordmark{width:62.64vw}
  .tagline{margin-bottom:65px}
}

/* Edge-to-edge sky, including mobile safe areas, and a lower opening lockup. */
html{min-height:100%;background:#b7d9e8 url('/assets/dom-clouds.webp') center top/cover no-repeat}
body:not(.standalone){width:100%;min-height:100svh;margin:0;padding:0;background:transparent}
body:not(.standalone)>main{width:100%;margin:0;padding:0}
.sky{width:100%;margin:0;background-position:center top}
.topbar{padding-top:max(26px,env(safe-area-inset-top))}
.introduction{padding-top:40px;padding-bottom:52px}
.tagline{font-size:clamp(22px,2.8vw,32px);font-weight:400;letter-spacing:-.025em}
.reserve-button{font-family:Jubilat,Georgia,serif;font-weight:400;font-size:16px}
@media(max-width:600px){
  .topbar{padding-top:max(16px,env(safe-area-inset-top))}
  .introduction{padding-top:32px;padding-bottom:44px}
  .tagline{font-size:22px}
}

/* Consistent Jubilat location lines and a clean Menu button. */
.introduction>.eyebrow,.visit-address{font-family:Jubilat,Georgia,serif;font-weight:400;letter-spacing:.2em;text-transform:uppercase}
.visit>.visit-address{font-size:clamp(12px,2.6vw,16px);line-height:1.5;margin:0 0 22px}
.menu-button{gap:0}

/* Jubilat throughout the public site and a location line sized like the tagline. */
body{font-family:Jubilat,Georgia,serif}
button,input,textarea,select{font-family:inherit}
.introduction>.eyebrow{font-size:clamp(22px,2.8vw,32px);line-height:1.35;letter-spacing:0;text-transform:uppercase;margin-bottom:20px}
.visit>.visit-address{font-family:Jubilat,Georgia,serif}
.scroll-link,.menu-button span,.summary{font-family:Jubilat,Georgia,serif}
@media(max-width:600px){.introduction>.eyebrow{font-size:22px;line-height:1.35;letter-spacing:0}}

/* White and sky blue reservation surfaces, both on the page and in the dialog. */
body.standalone{background:#fff;color:#111}
.standalone .topbar{background:#b7d9e8}
.standalone-form{background:#fff}
.standalone .reserve-button,dialog .reserve-button{background:#000;color:#fff;border-color:#000}
.standalone .reserve-button:hover,dialog .reserve-button:hover{background:#252525}
.standalone input,.standalone select,.standalone textarea,dialog input,dialog select,dialog textarea{background:#fff;border-color:#7596a6;color:#111;color-scheme:light}
dialog{background:#fff;border:2px solid #b7d9e8}
dialog .dialog-header{background:#b7d9e8;margin:-30px -30px 0;padding:24px 30px}
dialog .success,.standalone .success{background:#e3f3fa;border-color:#7596a6}
@media(max-width:600px){dialog .dialog-header{margin:-22px -18px 0;padding:20px 18px}}

/* White hero lettering and a muted blue primary reservation button. */
.sky{color:#fff}
.introduction>.eyebrow{text-transform:none}
.sky .wordmark img,.sky .small-brand img{filter:brightness(0) invert(1)}
.sky .tagline,.sky .eyebrow,.sky .topbar a{text-shadow:0 1px 5px #24445b88}
body:not(.standalone)>main .sky .reserve-button{background:#4b7390;border-color:#4b7390;color:#fff;text-shadow:none}
body:not(.standalone)>main .sky .reserve-button:hover{background:#385e79;border-color:#385e79}

/* DOM blue identity across public pages and calls to action. */
:root{--ink:#4b7390;--dom-blue:#4b7390}
body,body:not(.standalone),body.standalone,.sky,dialog{color:var(--dom-blue)}
.sky .wordmark img,.sky .small-brand img,.small-brand img{filter:none}
.sky .tagline,.sky .eyebrow,.sky .topbar a{text-shadow:none}
body:not(.standalone)>main .reserve-button,body:not(.standalone)>main .menu-button,body.standalone .reserve-button,dialog .reserve-button{background:var(--dom-blue);border-color:var(--dom-blue);color:#fff}
body:not(.standalone)>main .reserve-button:hover,body:not(.standalone)>main .menu-button:hover,body.standalone .reserve-button:hover,dialog .reserve-button:hover{background:#385e79;border-color:#385e79}
body.standalone input,body.standalone select,body.standalone textarea,dialog input,dialog select,dialog textarea{color:var(--dom-blue);border-color:var(--dom-blue)}
body.standalone input::placeholder,body.standalone textarea::placeholder,dialog input::placeholder,dialog textarea::placeholder{color:#6c8ba2}

/* White DOM marks; the blue favicon and existing text/button palette remain. */
.sky .wordmark img,.sky .small-brand img{filter:brightness(0) invert(1)}

/* Desktop panorama: reveal the full illustration and dissolve its side edges.
   The approved phone composition (600px and below) is left intact. */
@media(min-width:601px){
  .house-scene{
    width:min(100%,1100px);
    -webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);
    mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);
  }
  .facade-image{width:100%;margin-left:0}
}

/* White lettering throughout DOM, with blue form surfaces for readability. */
body,body:not(.standalone),body.standalone,.sky,dialog{color:#fff}
body:not(.standalone)>main,body:not(.standalone)>footer{color:#fff}
.sky .tagline,.sky .eyebrow,.sky .topbar a,.visit-address,.contact-links,footer{text-shadow:0 1px 4px #24445b88}
body.standalone,.standalone-form,dialog{background:#4b7390;color:#fff}
.standalone .topbar,dialog .dialog-header{background:#385e79}
body.standalone input,body.standalone select,body.standalone textarea,dialog input,dialog select,dialog textarea{background:#385e79;color:#fff;border-color:#ffffff80;color-scheme:dark}
body.standalone input::placeholder,body.standalone textarea::placeholder,dialog input::placeholder,dialog textarea::placeholder{color:#fff;opacity:.8}
.close,.error{color:#fff}
dialog .success,.standalone .success{background:#385e79;color:#fff;border-color:#fff}
