/* ============================================================
   McKenzie Risk Advisors — Shared Stylesheet v3
   style.css
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --black:#0a0a08;
  --dark:#111110;
  --surface:#1a1a18;
  --surface2:#222220;
  --gold:#c9a84c;
  --gold-light:#e8c97a;
  --gold-dim:rgba(201,168,76,0.12);
  --white:#f5f3ee;
  --white-dim:rgba(245,243,238,0.65);
  --white-faint:rgba(245,243,238,0.38);
  --white-vf:rgba(245,243,238,0.18);
  --border:rgba(201,168,76,0.2);
  --border-sub:rgba(245,243,238,0.08);

  /* TYPOGRAPHY SYSTEM — safer clamp values */
  --t-hero:clamp(2rem,3vw,2.8rem);
  --t-hero-sub:clamp(1.4rem,2vw,1.8rem);
  --t-interior:clamp(2rem,3vw,2.8rem);
  --t-section:clamp(1.2rem,1.8vw,1.6rem);
  --t-card:1.2rem;
  --t-body:0.95rem;
  --t-label:0.62rem;
  --t-small:0.76rem;
}

html{scroll-behavior:smooth}
body{
  background:var(--black);
  color:var(--white);
  font-family:'DM Sans',sans-serif;
  font-weight:300;
  line-height:1.7;
  overflow-x:hidden;
}
a{text-decoration:none}
img{display:block;max-width:100%}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:0.9rem 3rem;
  display:flex;justify-content:space-between;align-items:center;
  background:rgba(10,10,8,0.96);
  backdrop-filter:blur(12px);
  border-bottom:0.5px solid var(--border);
}
.nav-logo img{height:64px;width:auto;filter:brightness(1.15)}
.nav-links{display:flex;gap:2.2rem;align-items:center;list-style:none}
.nav-links a{
  font-size:var(--t-label);letter-spacing:0.12em;text-transform:uppercase;
  color:var(--white-dim);transition:color 0.3s;
}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-cta{
  border:0.5px solid var(--gold);
  padding:0.5rem 1.3rem;
  color:var(--gold) !important;
  transition:all 0.3s !important;
  white-space:nowrap;
}
.nav-cta:hover{background:var(--gold) !important;color:var(--black) !important}

/* ── HAMBURGER ── */
.hamburger{
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;padding:4px;
}
.hamburger span{
  display:block;width:24px;height:1.5px;
  background:var(--gold);transition:all 0.3s;
}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}

/* ── MOBILE MENU ── */
.mobile-menu{
  display:none;
  position:fixed;top:70px;left:0;right:0;bottom:0;
  background:rgba(10,10,8,0.98);
  z-index:99;
  flex-direction:column;
  align-items:center;justify-content:center;
  gap:2.5rem;
}
.mobile-menu.open{display:flex}
.mobile-menu a{
  font-size:1.2rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--white-dim);transition:color 0.3s;
}
.mobile-menu a:hover{color:var(--gold)}
.mobile-menu .mob-cta{
  border:0.5px solid var(--gold);
  padding:0.8rem 2rem;
  color:var(--gold) !important;
}

/* ── STICKY MOBILE CTA ── */
.sticky-cta{
  display:none;
  position:fixed;bottom:0;left:0;right:0;z-index:98;
  background:var(--gold);
  color:var(--black);
  text-align:center;
  padding:1rem;
  font-size:0.75rem;font-weight:500;
  letter-spacing:0.16em;text-transform:uppercase;
  font-family:'DM Sans',sans-serif;
}

/* ── BUTTONS ── */
.btn-primary{
  display:inline-block;
  background:var(--gold);color:var(--black);
  padding:1rem 2.5rem;
  font-size:0.75rem;font-weight:500;
  letter-spacing:0.16em;text-transform:uppercase;
  border:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;
  transition:all 0.3s;
}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px)}
.btn-ghost{
  font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--white-dim);
  border-bottom:0.5px solid rgba(245,243,238,0.25);
  padding-bottom:2px;transition:all 0.3s;
}
.btn-ghost:hover{color:var(--white);border-color:rgba(245,243,238,0.5)}

/* ── CTA BRIDGE ── */
.cta-bridge{
  font-size:var(--t-body);
  color:var(--white-dim);
  margin-bottom:1.5rem;
  font-style:italic;
}

/* ── PAGE HERO (interior pages) ── */
.page-hero{
  padding:8rem 3rem 5rem;
  border-bottom:0.5px solid var(--border);
  position:relative;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;top:-20%;right:-10%;
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(201,168,76,0.05) 0%,transparent 70%);
  pointer-events:none;
}
.page-hero-label{
  font-size:var(--t-label);letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.5rem;
}
.page-hero h1{
  font-family:'Cormorant Garamond',serif;
  font-size:var(--t-interior);
  font-weight:300;line-height:1.2;
  max-width:900px;margin-bottom:0.5rem;
}
.page-hero h1 em{font-style:italic;color:var(--gold-light)}
.page-hero-h2{
  font-family:'Cormorant Garamond',serif;
  font-size:var(--t-hero-sub);font-weight:300;font-style:italic;
  color:var(--gold-light);line-height:1.2;
  max-width:900px;margin-top:0.5rem;margin-bottom:1.5rem;
}
.page-hero-sub{
  font-size:var(--t-body);color:var(--white-dim);
  max-width:660px;line-height:1.85;
}

/* ── SECTION LABEL ── */
.section-label{
  font-size:var(--t-label);letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.2rem;
}

/* ── VIDEO EMBED ── */
.video-embed{
  width:100%;max-width:880px;aspect-ratio:16/9;
  background:var(--dark);border:0.5px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:1rem;padding:2.5rem;
}
.video-play{
  width:60px;height:60px;
  border:0.5px solid rgba(201,168,76,0.4);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.video-placeholder-text{
  font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--white-vf);text-align:center;
}
.video-placeholder-sub{
  font-size:0.66rem;color:rgba(245,243,238,0.15);
  text-align:center;max-width:400px;line-height:1.6;
}

/* ── FOOTER ── */
footer{
  background:var(--surface);
  border-top:0.5px solid var(--border);
  padding:4rem 3rem 2rem;
}
.ft-top{
  display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;
  gap:4rem;margin-bottom:2.5rem;padding-bottom:2.5rem;
  border-bottom:0.5px solid var(--border-sub);
}
.ft-brand img{height:56px;margin-bottom:1.2rem;filter:brightness(1.15)}
.ft-tag{font-size:var(--t-body);color:var(--white-dim);line-height:1.7;margin-bottom:1.2rem}
.ft-email-btn{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:none;border:0.5px solid var(--border);
  padding:0.55rem 1.1rem;cursor:pointer;
  font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--gold);font-family:'DM Sans',sans-serif;
  transition:all 0.3s;text-decoration:none;
}
.ft-email-btn:hover{background:var(--gold-dim);border-color:var(--gold)}
.ft-col-title{
  font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1rem;
}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:0.5rem}
.ft-links a{font-size:var(--t-body);color:var(--white-dim);transition:color 0.3s}
.ft-links a:hover{color:var(--gold)}
.ft-bottom{
  display:flex;justify-content:space-between;
  align-items:flex-start;gap:2rem;flex-wrap:wrap;
}
.ft-disc{font-size:var(--t-small);color:var(--white-faint);line-height:1.8;max-width:580px}
.ft-legal{display:flex;gap:1.5rem}
.ft-legal a{font-size:var(--t-small);color:var(--white-faint);transition:color 0.3s}
.ft-legal a:hover{color:var(--gold)}
.ft-copy{
  font-size:0.72rem;color:var(--white-faint);
  margin-top:1.5rem;padding-top:1.5rem;
  border-top:0.5px solid var(--border-sub);
}

/* ── ANIMATIONS ── */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── SHARED SCRIPT ── */
/* Hamburger + reveal logic included in each page's script block */

/* ── MOBILE ── */
@media(max-width:768px){
  nav{padding:0.9rem 1.5rem}
  .nav-links{display:none}
  .hamburger{display:flex}
  .sticky-cta{display:block}
  .page-hero{padding:7rem 1.5rem 4rem}
  footer{padding:3rem 1.5rem 4rem}
  .ft-top{grid-template-columns:1fr;gap:2.5rem}
  .ft-bottom{flex-direction:column}
}

/* ============================================================
   CONSULTANT ADDITIONS — Merged April 2026
   ============================================================ */

/* Hero + page header sizing override */
.hero-h1,
.page-hero h1 {
  font-size: clamp(2.4rem, 3vw, 3rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.hero-h2,
.page-hero-h2 {
  font-size: clamp(1.3rem, 2vw, 1.8rem);
  line-height: 1.3;
}

.page-hero-sub {
  font-size: 0.95rem;
  max-width: 650px;
}

/* Logo size bump */
.nav-logo img { height: 72px; width: auto; filter: brightness(1.15); }

@media(max-width:900px){
  .nav-logo img { height: 55px; }
  .hero-h1 { font-size: 2rem; }
  .hero-h2 { font-size: 1.3rem; }
}

/* Global paragraph max-width — scoped to content only */
article p, section p, .sit-body p, .mission-body p, .for-you-body p { max-width: 680px; }
