:root{--detail-red:#c51f2f;--detail-paper:#f8f7f3;--detail-ink:#111;--detail-muted:#686861}
*{box-sizing:border-box}
body{margin:0;background:var(--detail-paper);color:var(--detail-ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
.detail-header{height:76px;background:#080909;color:#fff;display:flex;align-items:center}
.detail-header-inner{width:min(calc(100% - 64px),1220px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.detail-logo{display:block;width:210px;max-width:48%}
.detail-back-top{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.detail-back-top:hover{color:var(--detail-red)}
.detail-main{padding:82px 0 110px}
.detail-container{width:min(calc(100% - 64px),930px);margin:auto}
.detail-eyebrow{margin:0 0 16px;color:var(--detail-red);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.detail-title-row{display:flex;align-items:end;justify-content:space-between;gap:30px;border-bottom:1px solid rgba(17,17,17,.18);padding-bottom:28px}
.detail-title{margin:0;font-size:clamp(4rem,10vw,8rem);line-height:.82;letter-spacing:-.08em}
.detail-price{margin:0;color:var(--detail-red);font-size:1.25rem;font-weight:800;white-space:nowrap}
.detail-content{padding-top:46px;font-size:1.05rem;line-height:1.75}
.detail-content .lead{font-weight:800}
.detail-content h2{margin:54px 0 10px;color:var(--detail-red);font-size:1.3rem;line-height:1.15;letter-spacing:.02em;text-transform:uppercase}
.detail-content h2:after{content:"";display:block;width:48px;height:4px;margin-top:14px;background:var(--detail-red)}
.detail-content p{margin:0;color:#3f3f3a}
.detail-content .oriental{font-style:italic}
.detail-notice{margin-top:58px;color:var(--detail-red);font-weight:800;font-size:1.05rem}
.detail-bottom{text-align:center;padding-top:58px}
.detail-back-button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;background:var(--detail-red);color:#fff;border-radius:7px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.detail-back-button:hover{background:#a71926}
@media(max-width:600px){.detail-header-inner,.detail-container{width:calc(100% - 38px)}.detail-main{padding:54px 0 76px}.detail-title-row{display:block}.detail-price{margin-top:20px}.detail-content{padding-top:34px;font-size:1rem}.detail-logo{width:175px}}
.detail-content ul{margin:20px 0 0;padding-left:24px;color:#3f3f3a}
.detail-content li{margin:7px 0}
.detail-footnote{margin-top:22px!important;font-size:.9rem;color:var(--detail-muted)!important}
.break-mobile{display:none}
@media(max-width:600px){.break-mobile{display:block}}
.spa-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:42px 0 8px}.spa-gallery img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover}.extra-discover-link{display:block;margin:15px 0 0;color:#c51f2f;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.extra-discover-link:hover{text-decoration:underline}@media(max-width:600px){.spa-gallery{grid-template-columns:1fr;gap:10px}}

.velo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center}

.breakfast-gallery{grid-template-columns:minmax(0,780px);justify-content:center}
.detail-back-button{color:#fff!important}

/* Extra booking deadline notices. */
.booking-notice {
  color: #c51f2f !important;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}


/* Keep extra-detail header logo identical to all other page headers. */
.detail-logo { width: 220px !important; max-width: 100%; height: auto; }
@media(max-width:600px) { .detail-logo { width: 170px !important; } }


/* Spa page copy spacing. */
.spa-page .detail-content > p + p:not(.booking-notice) {
  margin-top: 24px;
}
.spa-page .detail-content > p.booking-notice {
  margin-top: 38px;
}

/* Breakfast page deadline spacing. */
.breakfast-page .detail-content > p.booking-notice {
  margin-top: 32px;
}

/* Consistent extra-page typography and booking spacing. */
.detail-content .oriental {
  font-style: normal;
}
.detail-content > p.booking-notice {
  margin-top: 38px !important;
}
