/* Marquis Holdings | site chrome v4
   Header, mobile menu, footer and photographic page header, shared by every page.
   Tokens and classes are namespaced (mq, sh, sf, ph) so page level styles never collide. */

:root{
  --mq-green-975:#041A18;
  --mq-green-950:#06211E;
  --mq-green-900:#0A302C;
  --mq-green-800:#0A403B;
  --mq-green-700:#0F5A53;
  --mq-gold-300:#E2C48A;
  --mq-gold-400:#D2AA5F;
  --mq-gold-500:#B2924B;
  --mq-gold-ink:#7B612D;
  --mq-bone:#F0EBD8;
  --mq-cream-50:#FBF8F1;
  --mq-cream-100:#F6F1E6;
  --mq-cream-200:#EEE7D7;
  --mq-ink:#12251F;
  --mq-ink-muted:#55635D;
  --mq-line:rgba(18,37,31,.14);
  --mq-line-dark:rgba(240,235,216,.16);
  --mq-display:'Fraunces','Georgia',serif;
  --mq-body:'Inter','Helvetica Neue','Arial',sans-serif;
  --mq-wrap:1360px;
  --mq-gutter:clamp(1.25rem,4vw,4.5rem);
  --mq-ease:cubic-bezier(.16,1,.3,1);
}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:.75rem;left:1rem;z-index:2001;padding:.75rem 1.1rem;background:var(--mq-gold-400);color:var(--mq-green-950);font:500 .875rem/1.2 var(--mq-body);text-decoration:none;transform:translateY(-220%);transition:transform .2s ease}
.skip-link:focus{transform:none}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;display:block;height:auto;margin:0;padding:0;background:transparent;color:var(--mq-bone);font-family:var(--mq-body);line-height:1.4;border-bottom:1px solid transparent;transition:background-color .45s var(--mq-ease),border-color .45s var(--mq-ease)}
.site-header.is-solid{position:sticky;background:var(--mq-green-950);border-bottom-color:rgba(210,170,95,.16)}
.site-header.is-scrolled,.site-header.is-open{background:rgba(6,33,30,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:rgba(210,170,95,.16)}
.sh-inner{display:flex;align-items:center;gap:2.5rem;width:100%;max-width:var(--mq-wrap);height:92px;margin:0 auto;padding:0 var(--mq-gutter);transition:height .45s var(--mq-ease)}
.site-header.is-solid .sh-inner{height:80px}
.site-header.is-scrolled .sh-inner{height:70px}
.sh-logo{display:inline-flex;align-items:center;flex:none;min-height:44px;text-decoration:none}
.sh-logo img{display:block;width:auto;max-width:none;height:34px;aspect-ratio:1571/191;transition:height .45s var(--mq-ease)}
.site-header.is-solid .sh-logo img{height:30px}
.site-header.is-scrolled .sh-logo img{height:28px}
.sh-nav{display:flex;align-items:center;gap:2.1rem;margin-left:auto}
.sh-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(240,235,216,.8);text-decoration:none;white-space:nowrap;transition:color .3s}
.sh-nav a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--mq-gold-400);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--mq-ease)}
.sh-nav a:hover,.sh-nav a[aria-current]{color:var(--mq-bone)}
.sh-nav a:hover::after,.sh-nav a[aria-current]::after{transform:scaleX(1)}
.sh-actions{display:flex;align-items:center;gap:1.25rem;flex:none}
.sh-lang{display:inline-flex;align-items:center;min-height:44px;font-size:.75rem;font-weight:500;letter-spacing:.16em;color:var(--mq-gold-400);text-decoration:none}
.sh-lang:hover{color:var(--mq-bone)}
.sh-pill{display:inline-flex;align-items:center;min-height:42px;padding:0 1.25rem;border:1px solid rgba(240,235,216,.38);border-radius:999px;font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mq-bone);text-decoration:none;white-space:nowrap;transition:background-color .3s,border-color .3s,color .3s}
.sh-pill:hover,.sh-pill[aria-current]{background:var(--mq-bone);border-color:var(--mq-bone);color:var(--mq-green-950)}
.sh-menu{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--mq-bone);cursor:pointer;font:inherit;letter-spacing:normal;text-transform:none}
.sh-menu:hover{background:none;color:var(--mq-gold-400)}
.sh-menu svg{display:block;width:24px;height:24px}
.sh-menu .i-close{display:none}
.site-header.is-open .sh-menu .i-open{display:none}
.site-header.is-open .sh-menu .i-close{display:block}

/* Mobile menu */
.mobile-nav{position:fixed;inset:0;z-index:999;display:flex;flex-direction:column;gap:.25rem;padding:7rem var(--mq-gutter) 3rem;overflow-y:auto;background:var(--mq-green-950);color:var(--mq-bone);font-family:var(--mq-body)}
.mobile-nav[hidden]{display:none}
.mobile-nav a{display:flex;align-items:center;min-height:56px;border-bottom:1px solid var(--mq-line-dark);font-family:var(--mq-display);font-size:2rem;font-weight:300;line-height:1.2;color:var(--mq-bone);text-decoration:none}
.mobile-nav a:hover,.mobile-nav a[aria-current]{color:var(--mq-gold-400)}
.mobile-nav a.mn-lang{min-height:44px;margin-top:1.5rem;border-bottom:0;font-family:var(--mq-body);font-size:.8125rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mq-gold-400)}
body.menu-open{overflow:hidden}

/* Photographic page header */
.page-hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(560px,78vh,800px);overflow:hidden;isolation:isolate;background:var(--mq-green-950);color:var(--mq-bone);font-family:var(--mq-body)}
.page-hero.is-compact{min-height:clamp(460px,62vh,640px)}
.ph-bg{position:absolute;inset:0;z-index:-2}
.ph-bg img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--pos,50%) 50%;animation:mq-drift 14s ease-out both}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(4,26,24,.62) 0%,rgba(4,26,24,0) 28%),linear-gradient(0deg,rgba(4,26,24,.9) 0%,rgba(4,26,24,.34) 46%,rgba(4,26,24,0) 72%),linear-gradient(90deg,rgba(4,26,24,.74) 0%,rgba(4,26,24,0) 62%)}
.ph-inner{width:100%;max-width:var(--mq-wrap);margin:0 auto;padding:calc(92px + 2.5rem) var(--mq-gutter) clamp(3.5rem,7vw,5.5rem)}
.ph-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 2rem;font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(240,235,216,.66)}
.ph-crumbs a{color:inherit;text-decoration:none;transition:color .3s}
.ph-crumbs a:hover{color:var(--mq-gold-400)}
.ph-eyebrow{display:flex;align-items:center;gap:.9rem;margin:0;font-size:.8125rem;font-weight:500;letter-spacing:.22em;line-height:1.4;text-transform:uppercase;color:var(--mq-gold-400)}
.ph-eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.page-hero h1{max-width:14ch;margin:1.5rem 0 0;text-wrap:balance;font-family:var(--mq-display);font-size:clamp(2.5rem,1.4rem + 3.8vw,5rem);font-weight:300;line-height:1.02;letter-spacing:-.02em;color:var(--mq-bone)}
.page-hero h1 em{display:block;font-style:italic;font-weight:300;color:var(--mq-gold-400)}
.page-hero h1:lang(fr){max-width:22ch}
.ph-lede{max-width:36rem;margin:1.5rem 0 0;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);font-weight:400;line-height:1.55;color:rgba(240,235,216,.84)}
@keyframes mq-drift{from{transform:scale(1.04)}to{transform:scale(1)}}

/* Footer */
.site-footer{display:block;position:relative;overflow:hidden;isolation:isolate;padding:clamp(4.5rem,8vw,6.5rem) 0 0;background:var(--mq-green-950);color:var(--mq-bone);font-family:var(--mq-body);font-size:1rem;line-height:1.6}
.site-footer::before{content:"";position:absolute;right:-4%;bottom:-18%;z-index:-1;width:min(62vw,860px);aspect-ratio:454/191;background:url('/assets/logo/marquis-monogram-bone.svg') center/contain no-repeat;opacity:.03;pointer-events:none}
.sf-inner{max-width:var(--mq-wrap);margin:0 auto;padding:0 var(--mq-gutter)}
.sf-top{display:grid;grid-template-columns:1.2fr .9fr 1.5fr;gap:3rem;padding-bottom:4rem}
.sf-brand a{display:inline-block}
.sf-brand img{display:block;width:auto;max-width:100%;height:30px}
.sf-brand p{max-width:21rem;margin:1.5rem 0 0;font-size:.9375rem;color:rgba(240,235,216,.7)}
.sf-brand .sf-mail{display:inline-block;margin-top:1.25rem;font-size:.9375rem;color:var(--mq-gold-400);text-decoration:none;border-bottom:1px solid rgba(210,170,95,.45);padding-bottom:2px}
.sf-brand .sf-mail:hover{color:var(--mq-bone);border-color:var(--mq-bone)}
.sf-heading{margin:0 0 1.25rem;font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--mq-gold-400)}
.sf-links{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(6,auto);grid-auto-flow:column;gap:.2rem 2rem}
.sf-links a{display:flex;align-items:center;min-height:36px;font-size:.9375rem;color:rgba(240,235,216,.78);text-decoration:none;transition:color .3s}
.sf-links a:hover{color:var(--mq-gold-400)}
.sf-offices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 2rem}
.sf-offices address{margin:0;font-style:normal;font-size:.8125rem;line-height:1.6;color:rgba(240,235,216,.66)}
.sf-offices strong{display:block;margin-bottom:.35rem;font-family:var(--mq-display);font-size:1.25rem;font-weight:400;color:var(--mq-bone)}
.sf-note{margin:1.5rem 0 0;font-size:.8125rem;color:rgba(240,235,216,.6)}
.sf-note b{font-weight:500;color:rgba(240,235,216,.85)}
.sf-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.75rem 0;border-top:1px solid var(--mq-line-dark);font-size:.8125rem;color:rgba(240,235,216,.6)}
.sf-bottom a{color:inherit;text-decoration:none}
.sf-bottom a:hover{color:var(--mq-gold-400)}

/* Wide content grid on pages with a photographic header */
body.v4-wide .wrap{max-width:var(--mq-wrap);padding-inline:var(--mq-gutter)}
body.v4-wide .quarterly-signup-wrap{max-width:var(--mq-wrap);padding-inline:var(--mq-gutter)}

@media (max-width:1320px){
  .sh-nav{gap:1.5rem}
  .sh-nav a{letter-spacing:.13em}
  .sh-inner{gap:2rem}
}
@media (max-width:1200px){
  .sh-nav{display:none}
  .sh-menu{display:inline-flex}
  .sh-actions{margin-left:auto}
}
@media (max-width:980px){
  .sh-actions .sh-lang{display:none}
  .sf-top{grid-template-columns:1fr 1fr}
  .sf-brand{grid-column:1/-1}
}
@media (max-width:640px){
  .sh-inner,.site-header.is-solid .sh-inner{height:76px;gap:1rem}
  .site-header.is-scrolled .sh-inner{height:68px}
  .sh-logo img,.site-header.is-solid .sh-logo img{height:26px}
  .site-header.is-scrolled .sh-logo img{height:24px}
  .sh-actions .sh-pill{display:none}
  .mobile-nav{padding-top:6.5rem}
  .page-hero{min-height:560px}
  .page-hero.is-compact{min-height:480px}
  .page-hero::after{background:linear-gradient(180deg,rgba(4,26,24,.66) 0%,rgba(4,26,24,0) 30%),linear-gradient(0deg,rgba(4,26,24,.92) 0%,rgba(4,26,24,.5) 55%,rgba(4,26,24,.2) 100%)}
  .ph-inner{padding-top:calc(76px + 1.75rem)}
  .ph-crumbs{margin-bottom:1.5rem}
  .sf-top{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .ph-bg img{animation:none}
  .site-header,.sh-inner,.sh-logo img,.sh-nav a::after{transition:none}
}

/* Legacy content fixes */
.release-card img{align-self:start;height:auto}
