:root {
  --fs-night: #091229;
  --fs-gold-readable: #7a531d;
  --fs-gold: #c79a5e;
  --fs-terra: #a9513b;
  --fs-aqua: #5fe6e3;
}

.nav-logo { height:3rem !important; width:auto !important; }
footer { font-family:"Cormorant Garamond",serif; }
footer img[src*="logo-color"],
footer img[src*="logo.png"] { width:auto; max-height:3.5rem; }
footer a, footer li, footer span { line-height:1.45; }

.fs-mobile-menu-button,
.fs-mobile-drawer { display: none; }

/* Home desktop: an editorial private-navigation room, not a conventional menu. */
.fs-services-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147482999;
  display: flex;
  align-items: stretch;
  padding: 1.15rem;
  color: #fff;
  background: rgba(3,8,22,.82);
  backdrop-filter: blur(10px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease;
}
.fs-services-overlay.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.fs-services-overlay__panel {
  position: relative;
  width: min(100%, 92rem);
  max-height: calc(100vh - 2.3rem);
  margin: auto;
  overflow-y: auto;
  padding: 1.5rem 2rem 1.35rem;
  border: 1px solid rgba(199,154,94,.58);
  background:
    radial-gradient(circle at 95% 2%, rgba(95,230,227,.14), transparent 25%),
    radial-gradient(circle at 4% 98%, rgba(169,81,59,.24), transparent 31%),
    var(--fs-night);
  box-shadow: 0 2rem 6rem rgba(0,0,0,.42);
  transform: translateY(1rem) scale(.99);
  transition: transform .38s ease;
}
.fs-services-overlay.is-open .fs-services-overlay__panel { transform: translateY(0) scale(1); }
.fs-services-overlay__topbar { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.fs-services-overlay__brand img { display:block; width:auto; height:3.4rem; }
.fs-services-overlay__close { display:flex; align-items:center; gap:.75rem; min-height:2.8rem; padding:.4rem .2rem; border:0; color:#fff; background:transparent; font-size:.83rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.fs-services-overlay__close svg { width:1.8rem; height:1.8rem; fill:none; stroke:currentColor; stroke-width:1.35; }
.fs-services-overlay__close:hover, .fs-services-overlay__close:focus-visible { color:#e8c48f; }
.fs-services-overlay__intro { display:grid; grid-template-columns:minmax(12rem,.45fr) 1fr; align-items:end; gap:2rem; margin:1rem 0 1.35rem; }
.fs-services-overlay__intro p { margin:0 0 .35rem; color:#e8c48f; font-size:.86rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.fs-services-overlay__intro h2 { margin:0; font-family:"Cormorant Garamond",serif; font-size:clamp(2.5rem,4.1vw,4.7rem); font-weight:400; line-height:.95; }
.fs-services-overlay__grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:.75rem; }
.fs-services-card { position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:end; gap:1rem; min-height:9.4rem; padding:1.15rem; border:1px solid rgba(255,255,255,.2); color:#fff; background:rgba(255,255,255,.045); text-decoration:none; overflow:hidden; transition:transform .25s ease, border-color .25s ease, background .25s ease; }
.fs-services-card::before { content:""; position:absolute; inset:auto 0 0; height:3px; background:var(--fs-gold); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.fs-services-card:hover, .fs-services-card:focus-visible { z-index:1; border-color:rgba(199,154,94,.8); background:rgba(255,255,255,.085); transform:translateY(-3px); }
.fs-services-card:hover::before, .fs-services-card:focus-visible::before { transform:scaleX(1); }
.fs-services-card--travel { grid-column:span 5; }
.fs-services-card--villas { grid-column:span 4; }
.fs-services-card--events { grid-column:span 3; }
.fs-services-card--relocation { grid-column:span 7; }
.fs-services-card--documents { grid-column:span 5; }
.fs-services-card__number { align-self:start; color:#e8c48f; font-family:"Cormorant Garamond",serif; font-size:1.15rem; font-style:italic; }
.fs-services-card__copy { display:flex; flex-direction:column; gap:.3rem; }
.fs-services-card__copy strong { font-family:"Cormorant Garamond",serif; font-size:clamp(1.65rem,2.2vw,2.45rem); font-weight:500; line-height:1; }
.fs-services-card__copy small { color:rgba(255,255,255,.78); font-size:.88rem; line-height:1.35; }
.fs-services-card__arrow { color:var(--fs-aqua); font-size:1.45rem; }
.fs-services-overlay__private { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-top:.75rem; }
.fs-services-membership, .fs-services-member-access { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:4.6rem; padding:.85rem 1.15rem; text-decoration:none; transition:filter .2s ease, transform .2s ease; }
.fs-services-membership { color:#fff; background:var(--fs-terra); }
.fs-services-member-access { color:var(--fs-night); background:var(--fs-aqua); }
.fs-services-membership:hover, .fs-services-membership:focus-visible, .fs-services-member-access:hover, .fs-services-member-access:focus-visible { filter:brightness(1.06); transform:translateY(-2px); }
.fs-services-membership small, .fs-services-member-access small { display:block; margin-bottom:.15rem; font-size:.73rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.fs-services-membership strong, .fs-services-member-access strong { display:block; font-family:"Cormorant Garamond",serif; font-size:1.55rem; line-height:1; }
.fs-services-overlay__footer { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-top:1rem; font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.fs-services-overlay__footer div { display:flex; flex-wrap:wrap; gap:1.25rem; }
.fs-services-overlay__footer a { color:#fff; text-decoration:none; }
.fs-services-overlay__footer a:hover, .fs-services-overlay__footer a:focus-visible { color:#e8c48f; }
.fs-services-overlay__footer .fs-services-overlay__creative { color:rgba(255,255,255,.62); }
.fs-services-overlay__footer .fs-services-overlay__contact { color:#e8c48f; }

@media (max-width: 767px) {
  .fs-services-overlay { display:none; }
}

@media (min-width:768px) and (max-width:1023px) {
  .fs-services-overlay__panel { padding:1.35rem; }
  .fs-services-overlay__intro { grid-template-columns:1fr; gap:.3rem; }
  .fs-services-overlay__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fs-services-card--travel,
  .fs-services-card--villas,
  .fs-services-card--events,
  .fs-services-card--relocation { grid-column:span 1; }
  .fs-services-card--documents { grid-column:span 2; }
  .fs-services-overlay__footer { align-items:flex-start; flex-direction:column; }
}

@media (min-width:768px) and (max-height:760px) {
  .fs-services-overlay__panel { padding-top:1rem; }
  .fs-services-overlay__brand img { height:2.6rem; }
  .fs-services-overlay__intro { margin:.4rem 0 .8rem; }
  .fs-services-overlay__intro h2 { font-size:2.65rem; }
  .fs-services-card { min-height:7.2rem; padding:.85rem; }
  .fs-services-card__copy strong { font-size:1.65rem; }
  .fs-services-card__copy small { display:none; }
  .fs-services-overlay__private { margin-top:.55rem; }
  .fs-services-membership, .fs-services-member-access { min-height:3.8rem; }
}

@media (max-width: 767px) {
  .nav-logo { height:2.75rem !important; }
  body.fs-v20-nav > nav > a:not(:first-child),
  body.fs-v20-nav > header nav > a:not(:first-child) { display: none !important; }

  .fs-mobile-menu-button {
    position: fixed;
    top: 1.1rem;
    right: 1rem;
    z-index: 2147483000;
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border: 1px solid rgba(199,154,94,.7);
    background: rgba(9,18,41,.96);
    color: #fff;
    box-shadow: 0 8px 24px rgba(5,10,25,.25);
  }
  .fs-mobile-menu-button span { display:block; width:1.45rem; height:1px; margin:.23rem 0; background:currentColor; }

  .fs-mobile-drawer {
    position: fixed;
    inset: 0;
    z-index: 2147483001;
    display: block;
    overflow-y: auto;
    padding: 5.6rem 1.25rem 2rem;
    color: #fff;
    background:
      radial-gradient(circle at 85% 8%, rgba(95,230,227,.16), transparent 28%),
      radial-gradient(circle at 8% 86%, rgba(169,81,59,.28), transparent 34%),
      var(--fs-night);
    transform: translateX(100%);
    visibility: hidden;
    transition: transform .35s ease, visibility .35s;
  }
  .fs-mobile-drawer.is-open { transform: translateX(0); visibility: visible; }
  .fs-mobile-drawer__logo { position:absolute; top:1.25rem; left:1.25rem; width:auto; height:3rem; }
  .fs-mobile-drawer__close { position:absolute; top:1.25rem; right:1.15rem; width:3rem; height:3rem; border:0; background:transparent; color:#fff; font-size:2.35rem; line-height:1; }
  .fs-mobile-drawer__eyebrow { margin:0 0 .55rem; color:#e8c48f; font-size:.88rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
  .fs-mobile-drawer h2 { margin:0 0 1.4rem; color:#fff; font-family:"Cormorant Garamond",serif; font-size:2.45rem; line-height:1.05; }
  .fs-mobile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .fs-mobile-tile { display:flex; min-height:7rem; flex-direction:column; justify-content:space-between; padding:1rem; border:1px solid rgba(255,255,255,.24); color:#fff; background:rgba(255,255,255,.055); text-decoration:none; }
  .fs-mobile-tile[aria-current="page"] { border-color:var(--fs-gold); background:rgba(199,154,94,.14); }
  .fs-mobile-number { color:#e8c48f; font-family:"Cormorant Garamond",serif; font-size:1.15rem; font-style:italic; }
  .fs-mobile-label { font-family:"Cormorant Garamond",serif; font-size:1.45rem; line-height:1.05; }
  .fs-mobile-member { display:flex; align-items:center; justify-content:space-between; min-height:4.7rem; margin-top:.8rem; padding:1rem 1.15rem; color:var(--fs-night); background:var(--fs-aqua); font-weight:700; text-decoration:none; }
  .fs-mobile-member small { display:block; margin-top:.2rem; font-family:"Cormorant Garamond",serif; font-size:1.15rem; font-weight:600; }
  .fs-mobile-secondary { display:flex; justify-content:space-between; gap:1rem; margin-top:1.25rem; }
  .fs-mobile-secondary a { color:#fff; font-size:.9rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
  .fs-mobile-secondary a:last-child { color:#e8c48f; }
}

@media (prefers-reduced-motion: reduce) {
  .fs-mobile-drawer,
  .fs-services-overlay,
  .fs-services-overlay__panel,
  .fs-services-card { transition:none; }
}

/* Gold remains decorative on white; readable text uses the darker brand variant. */
body .bg-white .text-gold,
body .bg-cream .text-gold { color: var(--fs-gold-readable) !important; }
body .bg-gold.text-white,
body .bg-gold.text-cream { color: var(--fs-night) !important; }

.fs-related-services { padding: 3.5rem 1.5rem; color: #fff; background: var(--fs-night); text-align:center; }
.fs-related-services__inner { max-width: 64rem; margin:0 auto; }
.fs-related-services p { margin:0 0 .65rem; color:#e8c48f; font-size:.9rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.fs-related-services h2 { margin:0 0 1.5rem; color:#fff; font-family:"Cormorant Garamond",serif; font-size:2.2rem; }
.fs-related-services__links { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; }
.fs-related-services__links a { padding:.8rem 1.05rem; border:1px solid rgba(199,154,94,.75); color:#fff; background:transparent; font-weight:700; text-decoration:none; }
.fs-related-services__links a:hover,
.fs-related-services__links a:focus { color:var(--fs-night); background:var(--fs-aqua); border-color:var(--fs-aqua); }

.fs-answers { padding:4rem 1.5rem; color:var(--fs-night); background:#fff; }
.fs-answers__inner { max-width:64rem; margin:0 auto; }
.fs-answers__eyebrow { margin:0 0 .55rem; color:var(--fs-gold-readable); font-size:.9rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.fs-answers h2 { margin:0 0 1.75rem; font-family:"Cormorant Garamond",serif; font-size:2.35rem; line-height:1.1; }
.fs-answers__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.fs-answer { padding:1.35rem; border-left:3px solid var(--fs-terra); background:#f7fbfb; }
.fs-answer h3 { margin:0 0 .55rem; font-family:"Cormorant Garamond",serif; font-size:1.45rem; font-weight:700; }
.fs-answer p { margin:0; font-size:1.05rem; line-height:1.65; }
@media (max-width:767px) { .fs-answers__grid { grid-template-columns:1fr; } }
