:root{--df-sage:#B6C9AE;--df-brass:#C7B183;--df-ink:#2E2C2B;--df-paper:#fff;--df-width:680px}
html{margin:0;scroll-padding-top:72px}
body.dogfirst-site{margin:0;padding:0 0 108px;background:#FAF8F3;color:var(--df-ink);font-family:'Hiragino Mincho ProN','Yu Mincho','Shippori Mincho',serif}
.dogfirst-site *{-webkit-font-smoothing:antialiased;text-wrap:pretty}
/* Tower only: normal wrapping for the introduction and four facility descriptions. */
.dogfirst-site .df-main[data-page="09"] .df-tower-intro > .df-readable-copy,
.dogfirst-site .df-main[data-page="09"] [data-section="7"] > div > div > span + span{text-wrap:wrap}
/* First stay: only the description directly below the first-stay heading. */
.dogfirst-site .df-main[data-page="11"] [data-section="5"] .df-readable-copy{text-wrap:wrap}
.df-main,.df-site-footer{max-width:var(--df-width);margin:0 auto;background:#fff;overflow:hidden}
/* PLAN02: preserve three columns on wide layouts, use meal + two times on mobile. */
.df-main[data-page="11"]{container-type:inline-size;container-name:df-first-page}
@container df-first-page (max-width:500px){
  .df-plan02-times{grid-template-columns:max-content max-content!important;justify-content:space-evenly;row-gap:8px!important}
  .df-plan02-times>div:first-child{grid-column:1/-1}
  .df-plan02-times>div:nth-child(2){border-left:0!important}
  .df-plan02-times span{white-space:nowrap}
  .df-plan02-times>div:first-child>span:empty{display:none}
}
.df-main h1{margin:0;font-weight:inherit}
.df-site-header{box-sizing:border-box;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:12px 18px;max-width:var(--df-width);margin:auto;background:rgba(255,255,255,.97);border-bottom:1px solid #E9E4D8;backdrop-filter:blur(8px)}
.admin-bar .df-site-header{top:32px}
.df-brand{color:inherit;text-decoration:none}
.df-menu-toggle,.df-slide-control{border:0;cursor:pointer;padding:0;font:inherit;color:inherit;appearance:none}
.df-menu-toggle{background:transparent;min-height:24px;flex-shrink:0}
.df-action{color:inherit;text-decoration:none;cursor:pointer}
.df-action[aria-disabled=true]{cursor:default}
.df-action:focus-visible,.df-brand:focus-visible,button:focus-visible,.df-navigation a:focus-visible{outline:2px solid #665431;outline-offset:4px}
.df-action:hover:not([aria-disabled=true]){filter:brightness(.96)}
.df-booking-bar{box-sizing:border-box;z-index:35;max-width:var(--df-width);margin:auto;padding-bottom:max(16px,env(safe-area-inset-bottom))!important}
.df-skip{position:fixed;left:12px;top:-80px;padding:12px 18px;background:#fff;z-index:100;color:#222}
.df-skip:focus{top:12px}
.df-navigation[hidden]{display:none}
.df-navigation{position:fixed;inset:0;z-index:60;background:rgba(30,28,23,.35);overflow:auto;overscroll-behavior:contain}
.df-navigation-inner{box-sizing:border-box;margin-left:auto;width:min(100%,480px);min-height:100%;padding:24px 28px 60px;background:#FAF8F3}
.df-navigation-inner p{font:28px 'Cormorant Garamond',serif;color:#97886B;margin:24px 0}
.df-navigation ul{list-style:none;padding:0;margin:0}
.df-navigation li{border-bottom:1px solid #E9E4D8}
.df-navigation a{display:block;padding:15px 2px;text-decoration:none;color:#2E2C2B;font-size:15px}
.df-navigation a[aria-current=page]{color:#72623F;font-weight:bold}
.df-nav-close{display:block;margin-left:auto;border:0;background:transparent;font:16px/2 sans-serif;cursor:pointer;color:#555}
.df-instagram-feed{padding:0 18px;min-width:0}
.df-media-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
/* Keep the entire room floor plan visible, including ShortPixel picture images. */
.dogfirst-site .df-main[data-page="05"] [data-df-media="df_p05_i008"] .df-media-image{object-fit:contain}
.dogfirst-site .df-main[data-page="05"] [data-df-media="df_p05_i008"]:has(.df-media-image){background:#fff!important}
.df-media-image[hidden]{display:none}
.df-room-thumb{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.df-room-thumb[aria-pressed="true"]::after{content:"";position:absolute;inset:0;border:2px solid var(--df-brass);pointer-events:none;z-index:1}
.df-room-thumb:focus-visible{outline:3px solid var(--df-ink);outline-offset:-3px;z-index:2}
.df-photo picture:has(.df-media-image){position:absolute;inset:0;display:block;width:100%;height:100%;z-index:0}
.df-photo picture[hidden]:has(.df-media-image){display:none}
.df-photo:has(.df-media-image)>.df-photo-caption{display:none}
.df-carousel .df-slide-control{z-index:3}
.df-carousel>.df-photo-caption{z-index:2}
.df-carousel>.df-media-image~span,.df-carousel>picture:has(.df-media-image)~span{z-index:2}
.df-slide-control:disabled{opacity:.45;cursor:default}
.df-photo{touch-action:pan-y}
.df-stay-rail,.df-stay-rail .df-photo{touch-action:pan-x pan-y pinch-zoom}
.df-stay-rail{cursor:grab}
.df-stay-rail.is-dragging{cursor:grabbing;user-select:none}
.df-stay-rail img{-webkit-user-drag:none;user-select:none}
.df-stay-time{display:block;text-align:left;font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:18px;font-weight:700;line-height:1.4;color:#2E2C2B;margin:0 0 5px}
.df-standard-page{box-sizing:border-box;padding:36px 24px;min-height:50vh;font-size:16px;line-height:1.9}
#df-booking-dialog{box-sizing:border-box;width:calc(100% - 36px);max-width:520px;padding:30px 24px;border:1px solid #C7B183;background:#FAF8F3;color:#2E2C2B;line-height:1.8;border-radius:8px}
#df-booking-dialog::backdrop{background:rgba(25,22,18,.45)}
#df-booking-dialog h2{font-size:23px;margin-top:10px}
#df-booking-dialog p,#df-booking-dialog label{font-size:15px}
#df-booking-dialog label{display:block;margin:22px 0}
#df-booking-dialog input{width:20px;height:20px;vertical-align:middle}
#df-booking-dialog a{color:#756239}
.df-dialog-close{position:absolute;right:12px;top:6px;font-size:28px;background:none;border:0;cursor:pointer}
#df-booking-continue{width:100%;font-size:16px;line-height:1.6;padding:12px;background:#B6C9AE;color:#2E2C2B;border:0;border-radius:5px;cursor:pointer}
#df-booking-continue:disabled{opacity:.45;cursor:default}
@media(min-width:768px){.df-site-header{padding:20px 26px}.df-brand{font-size:18px!important}.df-main,.df-site-footer{border-left:1px solid #f1eee6;border-right:1px solid #f1eee6}.df-readable-copy{font-size:13px!important;line-height:1.85!important}.df-page-heading{font-size:30px!important}.df-booking-bar{padding-left:24px!important;padding-right:24px!important}.df-main>[data-section]{scroll-margin-top:84px}}
@media(max-width:782px){.admin-bar .df-site-header{top:46px}}
@media(max-width:359px){.df-site-header{padding-left:12px;padding-right:12px}.df-brand{letter-spacing:.14em!important;font-size:12.5px!important}.df-booking-bar{padding-left:10px!important;padding-right:10px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Keep the four room specification tables above the adjacent gold decoration.
   Do not change the decoration, typography, cell colours, or table geometry. */
.df-main[data-page="04"] > :is([data-section="5"],[data-section="11"],[data-section="17"],[data-section="23"]){position:relative;z-index:1;isolation:isolate}
