/* Office59 reference footer. Scoped independently of the page color preference. */
#colophon.o59-reference-footer {
  --footer-gold: #efbd69;
  --footer-coral: #ff8a6b;
  --footer-white: #f5f4f0;
  --footer-muted: #b9c0c6;
  width: calc(100% - 48px);
  max-width: 1240px;
  margin: 20px auto 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #02090f url('../images/footer-reference-art.svg') center / 100% 100% no-repeat;
  color: var(--footer-white);
  border-top: 1px solid #253039;
  box-shadow: none;
  font-family: 'Times New Roman', Georgia, serif;
}
#colophon.o59-reference-footer .site-container {
  width: calc(100% - 48px);
  max-width: none;
  padding: 0;
}
#colophon.o59-reference-footer .footer-luxury-main { padding: 26px 0 0; }
#colophon.o59-reference-footer .footer-luxury-container {
  display: grid;
  grid-template-columns: minmax(0,1.78fr) 1px minmax(0,1fr) 1px minmax(0,1fr) 1px minmax(0,1.9fr);
  align-items: stretch;
  gap: 18px;
}
#colophon.o59-reference-footer .footer-lux-col { min-width: 0; max-width: none; }
#colophon.o59-reference-footer .footer-lux-brand { margin: 0 0 16px; }
#colophon.o59-reference-footer .brand-link { display: inline-flex; flex-direction: column; align-items: flex-start; }
#colophon.o59-reference-footer .brand-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 46px;
  font-weight: 600;
  line-height: .98;
  letter-spacing: -1.8px;
  color: var(--footer-white);
  white-space: nowrap;
}
#colophon.o59-reference-footer .coral-59 { color: var(--footer-coral); }
#colophon.o59-reference-footer .brand-sub {
  margin-top: 5px;
  color: #f5d9a3;
  font: 500 10px/1.25 Arial, Helvetica, sans-serif;
  letter-spacing: 3px;
}
#colophon.o59-reference-footer .footer-brand-underline { width: 40px; height: 2px; margin: 10px 0 0; background: var(--footer-gold); }
#colophon.o59-reference-footer .footer-lux-tagline { margin: 0 0 16px; font: 400 18px/1.2 'Times New Roman', Georgia, serif; color: var(--footer-white); }
#colophon.o59-reference-footer .footer-lux-socials { display: flex; gap: 12px; flex-wrap: wrap; }
#colophon.o59-reference-footer .lux-social-btn {
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 auto; width: 36px; height: 36px;
  border: 1px solid #ce984c; border-radius: 50%;
  background: radial-gradient(circle at 50% 22%,#1b2329,#050c12 72%);
  box-shadow: inset 0 0 0 3px rgba(239,189,105,.035);
  color: #fff; transition: color .2s, border-color .2s, transform .2s;
}
#colophon.o59-reference-footer .lux-social-btn svg { width: 43%; height: 43%; }
#colophon.o59-reference-footer .lux-social-btn:hover { color: var(--footer-gold); border-color: #ffda9c; transform: translateY(-2px); }
#colophon.o59-reference-footer .footer-brand-divider { display: flex; align-items: center; gap: 10px; margin: 18px 0 16px; }
#colophon.o59-reference-footer .footer-brand-divider::before,
#colophon.o59-reference-footer .footer-brand-divider::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg,#bc8942,#725025); }
#colophon.o59-reference-footer .footer-brand-divider::after { background: linear-gradient(90deg,#bc8942,transparent); }
#colophon.o59-reference-footer .footer-diamond { width: 10px; height: 10px; border: 2px solid var(--footer-gold); transform: rotate(45deg); flex: 0 0 auto; }
#colophon.o59-reference-footer .footer-lux-v-sep { display: flex; align-self: stretch; padding: 0; gap: 13px; }
#colophon.o59-reference-footer .v-sep-line { width: 1px; background: linear-gradient(180deg,transparent,#76522a 45%,#f3c476); }
#colophon.o59-reference-footer .v-sep-line:last-child { background: linear-gradient(180deg,#f3c476,#76522a 55%,transparent); }
#colophon.o59-reference-footer .v-sep-diamond { font-size: 0; margin: 0; width: 12px; height: 12px; border: 2px solid var(--footer-gold); transform: rotate(45deg); opacity: 1; }
#colophon.o59-reference-footer .footer-lux-col-explore,
#colophon.o59-reference-footer .footer-lux-col-about { padding-top: 4px; }
#colophon.o59-reference-footer .footer-lux-heading-wrap { margin: 0 0 10px; }
#colophon.o59-reference-footer .footer-lux-heading {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 23px; font-weight: 700; line-height: 1.15;
  letter-spacing: -.4px; color: var(--footer-coral); margin: 0 0 14px;
}
#colophon.o59-reference-footer .footer-lux-heading-line { width: 32px; height: 2px; background: var(--footer-gold); }
#colophon.o59-reference-footer .footer-lux-nav { display: block; margin: 0; padding: 0; list-style: none; }
#colophon.o59-reference-footer .footer-lux-nav li { padding: 0; margin: 0; }
#colophon.o59-reference-footer .footer-lux-nav a {
  position: relative; display: flex; align-items: center;
  min-height: 32px; padding: 6px 18px 6px 0;
  border-bottom: 1px solid rgba(189,177,150,.13);
  font: 400 15px/1.25 'Times New Roman',Georgia,serif;
  color: var(--footer-white); transform: none;
}
#colophon.o59-reference-footer .footer-lux-nav li:last-child a { border: 0; }
#colophon.o59-reference-footer .footer-lux-nav a::after { content: ''; position: absolute; right: 4px; width: 8px; height: 8px; border-top: 1.5px solid var(--footer-gold); border-right: 1.5px solid var(--footer-gold); transform: rotate(45deg); }
#colophon.o59-reference-footer .footer-lux-nav a:hover { color: var(--footer-gold); }
#colophon.o59-reference-footer .footer-lux-newsletter-desc { margin: 0 0 16px; font: 400 14px/1.4 'Times New Roman',Georgia,serif; color: var(--footer-white); }
#colophon.o59-reference-footer .footer-lux-newsletter-box { display: flex; padding: 0; min-width: 0; background: linear-gradient(130deg,#071018,#0c1821); border: 1px solid #c29b60; border-radius: 10px; box-shadow: none; }
#colophon.o59-reference-footer .footer-email-label { display: flex; flex: 1; align-items: center; min-width: 0; gap: 9px; padding: 0 12px; }
#colophon.o59-reference-footer .footer-email-label svg { width: 18px; height: 18px; color: #f3cd8d; flex: 0 0 auto; }
#colophon.o59-reference-footer .lux-newsletter-input { padding: 0; height: 42px; width: 100%; min-width: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; outline: none; color: var(--footer-white); font: 400 13px/1.2 'Times New Roman',Georgia,serif; }
#colophon.o59-reference-footer .lux-newsletter-input::placeholder { color: var(--footer-muted); opacity: 1; }
#colophon.o59-reference-footer .lux-newsletter-submit { align-self: stretch; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 14px; border: 1px solid #ffba91; border-radius: 9px; background: linear-gradient(120deg,#ff9a80,#ffc185); box-shadow: 0 0 28px #ff784a40,inset 0 1px 1px #ffe3bd; color: #081019; font: 700 14px/1.2 'Times New Roman',Georgia,serif; white-space: nowrap; }
#colophon.o59-reference-footer .lux-newsletter-submit svg { width: 18px; height: 18px; }
#colophon.o59-reference-footer .lux-newsletter-submit:hover { filter: brightness(1.08); transform: none; }
#colophon.o59-reference-footer .footer-lux-newsletter-box:focus-within { outline: 2px solid var(--footer-gold); outline-offset: 4px; box-shadow: none; }
#colophon.o59-reference-footer .footer-daily-card {
  position: relative; isolation: isolate; align-self: start; margin-top: 8px;
  padding: 22px 20px 28px;
  overflow: hidden; border: 1px solid #eec185; border-radius: 18px;
  background: radial-gradient(ellipse at 94% 0,rgba(152,99,36,.17),transparent 38%),linear-gradient(145deg,#07131e,#02090f 70%);
  box-shadow: inset 0 0 20px rgba(218,156,72,.04),0 12px 35px rgba(0,0,0,.25);
  text-align: center;
}
#colophon.o59-reference-footer .footer-daily-card::before { content: ''; position: absolute; z-index: -1; top: -1px; right: 1%; width: 32%; height: 2px; background: linear-gradient(90deg,transparent,#fff3c5,transparent); box-shadow: 0 0 15px 3px #f7a54c8a; }
#colophon.o59-reference-footer .footer-daily-card::after { content:''; position:absolute; top:-5px; right:12%; width:70px; height:8px; border-radius:50%; background:radial-gradient(ellipse,#fff1c9,transparent 70%); box-shadow:0 0 22px 6px #f3a24d4d; filter:blur(2px); pointer-events:none; }
#colophon.o59-reference-footer .footer-daily-waves { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; opacity: .5; }
#colophon.o59-reference-footer .footer-daily-icon { position: relative; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin: 8px auto 24px; border: 1px solid #f0bf75; border-radius: 50%; color: #ffca7f; background: radial-gradient(circle at 33% 12%,#776042,#2a2117 40%,#151517 72%); box-shadow: inset 0 1px 3px #ffe3a9,0 0 24px #bd853225; }
#colophon.o59-reference-footer .footer-daily-icon::before,
#colophon.o59-reference-footer .footer-daily-icon::after { content: ''; position: absolute; inset: -7px; border: 1px solid #d2a04c78; border-radius: 50%; }
#colophon.o59-reference-footer .footer-daily-icon::after { inset: -11px; border-color: #d2a04c32; }
#colophon.o59-reference-footer .footer-daily-icon svg { width: 45%; height: 45%; }
#colophon.o59-reference-footer .footer-daily-title { color: var(--footer-white); font: 700 22px/1.2 'Playfair Display',Georgia,serif; letter-spacing: -.8px; margin: 0 0 12px; white-space: normal; }
#colophon.o59-reference-footer .footer-daily-title span { color: #ffc073; }
#colophon.o59-reference-footer .footer-daily-desc { color: var(--footer-white); margin: 0 0 18px; font: 400 14px/1.5 'Times New Roman',Georgia,serif; }
#colophon.o59-reference-footer .footer-daily-form { display: grid; gap: 12px; }
#colophon.o59-reference-footer .footer-daily-form .footer-email-label { min-height: 44px; padding: 0 14px; border: 1px solid #d4a96a; border-radius: 12px; background: linear-gradient(120deg,#111a23,#0b141c); text-align: left; }
#colophon.o59-reference-footer .footer-daily-form .lux-newsletter-submit { min-height: 46px; padding: 12px 8px; border-color: #fbd497; border-radius: 12px; background: linear-gradient(120deg,#f7d397,#ffa34e); font-family: Arial,Helvetica,sans-serif; font-size: 15px; box-shadow: 0 8px 34px #ef8b3635,inset 0 1px 2px #ffecd0; }
#colophon.o59-reference-footer .footer-form-status { margin-top: 12px; font: 400 14px/1.4 Arial,Helvetica,sans-serif; color: #ffcf9e; }
#colophon.o59-reference-footer .footer-form-status:empty { display: none; }
#colophon.o59-reference-footer .footer-lux-rosette-divider { padding: 18px 0 12px; }
#colophon.o59-reference-footer .rosette-divider-container { gap: 14px; position: relative; }
#colophon.o59-reference-footer .rosette-line-left,
#colophon.o59-reference-footer .rosette-line-right { height: 1px; background: linear-gradient(90deg,#a56f2d,#8d6130 70%,#f4c16b); }
#colophon.o59-reference-footer .rosette-line-right { background: linear-gradient(90deg,#f4c16b,#8d6130 30%,#a56f2d); }
#colophon.o59-reference-footer .rosette-divider-container::before,
#colophon.o59-reference-footer .rosette-divider-container::after { content: ''; position: absolute; top: calc(50% - 3px); left: 0; width: 6px; height: 6px; background: #ffc873; transform: rotate(45deg); }
#colophon.o59-reference-footer .rosette-divider-container::after { left: auto; right: 0; background: #02090f; border: 1px solid #ffc873; }
#colophon.o59-reference-footer .moroccan-rosette-glyph svg { width: 44px; height: 26px; color: var(--footer-gold); }
#colophon.o59-reference-footer .footer-lux-bottom-bar { padding: 0 0 16px; }
#colophon.o59-reference-footer .footer-lux-bottom-inner { color: #b5b8bb; font: 400 11px/1.4 Arial,Helvetica,sans-serif; gap: 14px; }
#colophon.o59-reference-footer :is(.footer-copyright-text,.footer-legal-nav a) { color: #b5b8bb; }
#colophon.o59-reference-footer .footer-legal-sep { color: #7e858b; }
#colophon.o59-reference-footer .footer-legal-nav a:hover { color: var(--footer-gold); }
#colophon.o59-reference-footer :is(a,button):focus-visible { outline: 2px solid var(--footer-gold); outline-offset: 5px; }
@media (max-width:1050px) {
  #colophon.o59-reference-footer .footer-luxury-container { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
  #colophon.o59-reference-footer .footer-lux-v-sep { display:none; }
  #colophon.o59-reference-footer .footer-lux-col-brand { grid-column:1; grid-row:1; }
  #colophon.o59-reference-footer .footer-daily-card { grid-column:2; grid-row:1; margin-top:0; }
  #colophon.o59-reference-footer .footer-lux-col-explore { grid-column:1; grid-row:2; }
  #colophon.o59-reference-footer .footer-lux-col-about { grid-column:2; grid-row:2; }
}
@media (max-width:760px) {
  #colophon.o59-reference-footer { width:calc(100% - 28px); }
  #colophon.o59-reference-footer .site-container { width:calc(100% - 32px); }
}
@media (max-width:600px) {
  #colophon.o59-reference-footer .footer-luxury-main { padding-top:22px; }
  #colophon.o59-reference-footer .footer-luxury-container { gap:26px 20px; }
  #colophon.o59-reference-footer .footer-lux-col-brand { grid-column:1 / -1; grid-row:auto; }
  #colophon.o59-reference-footer .footer-lux-col-explore { grid-column:1; grid-row:auto; }
  #colophon.o59-reference-footer .footer-lux-col-about { grid-column:2; grid-row:auto; }
  #colophon.o59-reference-footer .footer-daily-card { grid-column:1 / -1; grid-row:auto; }
  #colophon.o59-reference-footer .brand-title { font-size:42px; }
  #colophon.o59-reference-footer .footer-lux-tagline { font-size:18px; }
  #colophon.o59-reference-footer .lux-social-btn { width:44px; height:44px; }
  #colophon.o59-reference-footer .footer-lux-nav a { min-height:44px; font-size:15px; }
  #colophon.o59-reference-footer .footer-lux-heading { font-size:22px; }
  #colophon.o59-reference-footer .footer-daily-card { padding:22px 18px 26px; }
  #colophon.o59-reference-footer .footer-daily-title { font-size:23px; }
  #colophon.o59-reference-footer .footer-lux-bottom-inner { flex-direction:column; text-align:center; gap:10px; }
  #colophon.o59-reference-footer .footer-legal-nav { flex-wrap:wrap; gap:8px; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { #colophon.o59-reference-footer :is(a,button) { transition:none; } }

#colophon.o59-reference-footer .footer-brand-newsletter .footer-lux-heading-wrap { margin-bottom:14px; }
#colophon.o59-reference-footer .footer-brand-newsletter .footer-lux-heading { margin-bottom:10px; }
#colophon.o59-reference-footer .footer-honeypot { display:none; }

/* Shared, accessible newsletter feedback for footer and sidebar forms. */
[data-office59-newsletter] .footer-honeypot{display:none}
[data-office59-newsletter] button:disabled{opacity:.65;cursor:wait}
.o59-signup-fallback{display:block;font:400 11px/1.5 Arial,Helvetica,sans-serif;color:#b9c9d5!important;margin-top:7px;text-underline-offset:3px}
.o59-newsletter-ready .o59-signup-fallback{display:none}
.o59-newsletter-ready .footer-form-status[data-state="error"]+.o59-signup-fallback{display:block}
#colophon.o59-reference-footer .footer-form-status[data-state="success"],.newsletter-card .footer-form-status[data-state="success"]{color:#94e9b2}
#colophon.o59-reference-footer .footer-form-status[data-state="error"],.newsletter-card .footer-form-status[data-state="error"]{color:#ffb19a}
.newsletter-card .footer-form-status{font:400 13px/1.5 Arial,Helvetica,sans-serif;margin-top:12px}
.newsletter-card .footer-form-status:empty{display:none}
