/* ============================================
   STAY UNITED CONNECT — DESIGN SYSTEM v1.2
   Polish Pass: Visual hierarchy, spacing,
   trust signals, conversion optimization
   ============================================ */

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

/* ── TOKENS ──────────────────────────────── */
:root {
  --navy:        #0D1F3C;
  --navy-deep:   #060f1f;
  --navy-mid:    #132848;
  --navy-light:  #1a3360;
  --navy-faint:  #0d1f3c08;
  --gold:        #C9A84C;
  --gold-light:  #dfc278;
  --gold-faint:  rgba(201,168,76,0.08);
  --off-white:   #F4F2EE;
  --warm-white:  #FDFCFA;
  --muted:       #7a8ea8;
  --muted-light: #a8bdd4;
  --text-body:   #243550;
  --text-light:  #44607a;
  --border-gold: rgba(201,168,76,0.18);
  --border-navy: rgba(13,31,60,0.09);
  --font-serif:  'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-sans:   'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --nav-h:       72px;
  --r-sm:        4px;
  --r-md:        8px;
  --r-lg:        12px;
  --shadow-xs:   0 1px 4px rgba(13,31,60,0.06);
  --shadow-sm:   0 2px 16px rgba(13,31,60,0.08);
  --shadow-md:   0 6px 32px rgba(13,31,60,0.11);
  --shadow-lg:   0 16px 56px rgba(13,31,60,0.15);
  --transition:  0.22s cubic-bezier(0.4,0,0.2,1);
}

/* ── RESET ───────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-body);
  background: var(--warm-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; }

/* ── NAVIGATION ──────────────────────────── */
.nav {
  position: sticky; top:0; z-index:900;
  height: var(--nav-h);
  background: var(--navy);
  border-bottom: 1px solid var(--border-gold);
  display: flex; align-items: center;
  backdrop-filter: blur(12px);
}
.nav-inner {
  width:100%; max-width:1200px; margin:0 auto; padding:0 32px;
  display:flex; align-items:center; justify-content:space-between;
}
.nav-brand { display:flex; align-items:center; }
.nav-logo   { height:38px; width:auto; display:block; }

.nav-links { display:flex; align-items:center; gap:4px; list-style:none; }
.nav-links a {
  font-size: 0.78rem; font-weight:500; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--muted-light);
  padding: 7px 14px; border-radius:var(--r-sm);
  transition: color var(--transition), background var(--transition);
}
.nav-links a:hover { color:var(--off-white); background:rgba(255,255,255,0.07); }
.nav-links a.active { color:var(--gold); }

.nav-cta {
  font-size:0.76rem; font-weight:600; letter-spacing:0.07em; text-transform:uppercase;
  color:var(--navy-deep); background:var(--gold);
  padding:9px 22px; border-radius:var(--r-sm);
  transition: background var(--transition), box-shadow var(--transition), transform var(--transition);
  white-space:nowrap; box-shadow:0 2px 8px rgba(201,168,76,0.3);
}
.nav-cta:hover { background:var(--gold-light); transform:translateY(-1px); box-shadow:0 4px 16px rgba(201,168,76,0.4); }

.nav-toggle {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:6px; background:none; border:none;
}
.nav-toggle span { display:block; width:22px; height:1.5px; background:var(--off-white); transition:all 0.25s; border-radius:2px; }
.nav-toggle.open span:nth-child(1) { transform:rotate(45deg) translate(4.5px,4.5px); }
.nav-toggle.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-toggle.open span:nth-child(3) { transform:rotate(-45deg) translate(4.5px,-4.5px); }

/* ── BREADCRUMB ──────────────────────────── */
.breadcrumb { background:var(--navy-deep); padding:10px 32px; border-bottom:1px solid rgba(201,168,76,0.08); }
.breadcrumb-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; gap:10px; font-size:0.74rem; color:var(--muted); letter-spacing:0.04em; }
.breadcrumb a { color:var(--muted); transition:color var(--transition); }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb .sep { color:rgba(201,168,76,0.3); font-size:0.65rem; }
.breadcrumb .current { color:var(--gold-light); }

/* ── HERO ────────────────────────────────── */
.hero {
  background: var(--navy);
  padding: 88px 32px 80px;
  position: relative; overflow:hidden;
}
.hero::before {
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 80% 20%, rgba(201,168,76,0.07) 0%, transparent 55%),
    radial-gradient(ellipse at 5% 90%, rgba(19,40,72,0.7) 0%, transparent 45%);
  pointer-events:none;
}
.hero::after {
  content:'';
  position:absolute; bottom:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent, var(--border-gold), transparent);
}
.hero-inner { max-width:1200px; margin:0 auto; position:relative; z-index:1; }
.hero-label {
  display:inline-flex; align-items:center; gap:10px;
  font-size:0.7rem; font-weight:500; color:var(--gold);
  letter-spacing:0.2em; text-transform:uppercase;
  margin-bottom:22px;
}
.hero-label::before {
  content:''; width:24px; height:1px; background:var(--gold); opacity:0.6;
}
.hero h1 {
  font-family:var(--font-serif); font-size:clamp(2.4rem,5vw,3.8rem);
  font-weight:600; color:var(--off-white); line-height:1.1;
  max-width:720px; margin-bottom:22px; letter-spacing:-0.015em;
}
.hero h1 em { font-style:italic; color:var(--gold-light); }
.hero-lead {
  font-size:1.05rem; color:var(--muted-light);
  max-width:540px; line-height:1.75; font-weight:300;
}

/* Homepage hero with hierarchy panel */
.hero-home { padding:108px 32px 96px; }
.hero-home .hero-inner { display:grid; grid-template-columns:1fr 420px; gap:72px; align-items:center; }

/* Hierarchy panel */
.hero-hierarchy {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border-gold);
  border-radius:var(--r-md);
  padding:28px 24px;
  backdrop-filter:blur(8px);
}
.hier-row {
  padding:12px 16px;
  border-left:2px solid rgba(201,168,76,0.15);
  margin-left:14px; margin-bottom:3px;
  position:relative;
}
.hier-row::before {
  content:''; position:absolute; left:-8px; top:50%; transform:translateY(-50%);
  width:12px; height:12px; border-radius:50%;
  border:1.5px solid rgba(201,168,76,0.25); background:var(--navy);
}
.hier-row.top { margin-left:0; border-left:none; }
.hier-row.top::before { display:none; }
.hier-row.active { border-color:var(--gold); background:rgba(201,168,76,0.05); border-radius:0 var(--r-sm) var(--r-sm) 0; }
.hier-row.active::before { border-color:var(--gold); background:var(--gold); }
.hier-indent { margin-left:28px; }
.hier-label  { font-size:0.62rem; font-weight:500; text-transform:uppercase; letter-spacing:0.16em; color:var(--muted); display:block; margin-bottom:2px; }
.hier-name   { font-family:var(--font-serif); font-size:0.98rem; font-weight:600; color:var(--off-white); display:block; line-height:1.2; }
.hier-row.active .hier-name { color:var(--gold-light); }
.hier-sub    { font-size:0.67rem; color:var(--muted); display:block; margin-top:2px; }

/* ── LAYOUT ──────────────────────────────── */
.main    { max-width:1200px; margin:0 auto; padding:0 32px; }
.section    { padding:80px 0; }
.section-sm { padding:52px 0; }
.section-lg { padding:104px 0; }
.divider    { border:none; border-top:1px solid var(--border-navy); }

/* ── TYPOGRAPHY ──────────────────────────── */
.eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-size:0.7rem; font-weight:500; color:var(--gold);
  letter-spacing:0.2em; text-transform:uppercase; margin-bottom:14px;
}
.eyebrow::before { content:''; width:20px; height:1px; background:var(--gold); opacity:0.6; }

/* Legacy alias */
.section-label { font-size:0.7rem; font-weight:500; color:var(--gold); letter-spacing:0.2em; text-transform:uppercase; margin-bottom:14px; display:block; }

h2.section-title {
  font-family:var(--font-serif); font-size:clamp(1.9rem,3.2vw,2.7rem);
  font-weight:600; color:var(--navy); line-height:1.15;
  letter-spacing:-0.012em; margin-bottom:18px;
}
h2.section-title em { font-style:italic; color:var(--navy-light); }

h3.sub-title {
  font-family:var(--font-serif); font-size:1.35rem;
  font-weight:600; color:var(--navy); margin-bottom:10px; line-height:1.25;
}

.lead {
  font-size:1.05rem; color:var(--text-light);
  max-width:600px; line-height:1.75; margin-bottom:44px;
}
/* legacy alias */
.section-lead { font-size:1.05rem; color:var(--text-light); max-width:600px; line-height:1.75; margin-bottom:44px; }

p { margin-bottom:18px; line-height:1.72; color:var(--text-body); }
p:last-child { margin-bottom:0; }
.prose { max-width:680px; }

.gold-rule { width:40px; height:2px; background:var(--gold); border-radius:2px; margin:16px 0 22px; }
.separator  { width:40px; height:2px; background:var(--gold); border-radius:2px; margin:18px 0; }
.separator-center { margin:18px auto; }

/* ── BUTTONS ─────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-sans); font-size:0.8rem; font-weight:600;
  letter-spacing:0.07em; text-transform:uppercase;
  padding:14px 28px; border-radius:var(--r-sm);
  border:none; cursor:pointer;
  transition: all var(--transition);
  white-space:nowrap;
}
.btn-gold {
  background:var(--gold); color:var(--navy-deep);
  box-shadow:0 2px 12px rgba(201,168,76,0.28);
}
.btn-gold:hover { background:var(--gold-light); transform:translateY(-2px); box-shadow:0 6px 20px rgba(201,168,76,0.38); }

.btn-outline {
  background:transparent; color:var(--off-white);
  border:1.5px solid rgba(244,242,238,0.22);
}
.btn-outline:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,0.06); }

.btn-outline-navy {
  background:transparent; color:var(--navy);
  border:1.5px solid rgba(13,31,60,0.18);
}
.btn-outline-navy:hover { border-color:var(--gold); color:var(--gold); }

.btn-sm { padding:10px 20px; font-size:0.75rem; }

/* ── CARDS ───────────────────────────────── */
.card {
  background:#fff;
  border:1px solid var(--border-navy);
  border-radius:var(--r-md);
  padding:36px;
  box-shadow:var(--shadow-sm);
  transition:transform var(--transition), box-shadow var(--transition);
}
.card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }

.card-navy {
  background:var(--navy); border-color:var(--border-gold); color:var(--off-white);
}
.card-navy h3.sub-title { color:var(--off-white); }
.card-navy p { color:var(--muted-light); }

/* Feature card — gold top accent */
.card-feature {
  background:#fff; border:1px solid var(--border-navy);
  border-top:3px solid var(--gold);
  border-radius:0 0 var(--r-md) var(--r-md);
  padding:32px; box-shadow:var(--shadow-sm);
  transition:transform var(--transition), box-shadow var(--transition);
}
.card-feature:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }

/* Inset panel */
.panel      { background:var(--off-white); border:1px solid var(--border-navy); border-radius:var(--r-md); padding:40px; }
.panel-gold { background:var(--gold-faint); border:1px solid var(--border-gold); border-radius:var(--r-md); padding:32px; }

/* Gold left-border callout */
.callout {
  border-left:3px solid var(--gold); background:#fff;
  padding:24px 28px; border-radius:0 var(--r-md) var(--r-md) 0;
  box-shadow:var(--shadow-sm);
}

/* ── GRIDS ───────────────────────────────── */
.grid-2   { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.grid-3   { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-1-2 { display:grid; grid-template-columns:1fr 2fr; gap:48px; }
.grid-2-1 { display:grid; grid-template-columns:2fr 1fr; gap:48px; }

/* ── BADGES ──────────────────────────────── */
.badge {
  display:inline-flex; align-items:center; gap:6px;
  font-size:0.66rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  padding:4px 12px; border-radius:100px;
}
.badge::before { content:''; width:6px; height:6px; border-radius:50%; flex-shrink:0; }
.badge-active { background:rgba(34,197,94,0.09); color:#166534; border:1px solid rgba(34,197,94,0.25); }
.badge-active::before { background:#22c55e; }
.badge-soon   { background:rgba(201,168,76,0.1); color:#7a5a10; border:1px solid rgba(201,168,76,0.28); }
.badge-soon::before { background:var(--gold); }

/* ── MARKET CARDS ────────────────────────── */
.market-card {
  background:#fff;
  border:1px solid var(--border-navy);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform var(--transition), box-shadow var(--transition);
  display:flex; flex-direction:column;
}
.market-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }

.market-card-header {
  background:var(--navy);
  padding:32px 32px 28px;
  position:relative; overflow:hidden;
}
.market-card-header::after {
  content:'';
  position:absolute; bottom:0; left:32px; right:32px; height:1px;
  background:linear-gradient(90deg, var(--border-gold), transparent);
}
.market-card-header::before {
  content:'';
  position:absolute; top:-60px; right:-60px;
  width:180px; height:180px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,168,76,0.08) 0%, transparent 70%);
  pointer-events:none;
}
.market-card-body  { padding:28px 32px 32px; flex:1; display:flex; flex-direction:column; }
.market-location   { font-size:0.7rem; color:rgba(201,168,76,0.7); letter-spacing:0.14em; text-transform:uppercase; margin-bottom:10px; }
.market-name       { font-family:var(--font-serif); font-size:1.65rem; font-weight:600; color:var(--off-white); margin-bottom:12px; line-height:1.1; }
.market-desc       { font-size:0.88rem; color:var(--text-light); line-height:1.7; margin-bottom:24px; flex:1; }
.market-link {
  display:inline-flex; align-items:center; gap:8px;
  font-size:0.78rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase;
  padding:11px 22px; border-radius:var(--r-sm); align-self:flex-start;
  transition:all var(--transition);
}
.market-link.primary { background:var(--gold); color:var(--navy-deep); box-shadow:0 2px 10px rgba(201,168,76,0.25); }
.market-link.primary:hover { background:var(--gold-light); transform:translateY(-1px); box-shadow:0 4px 16px rgba(201,168,76,0.35); }
.market-link.muted  { background:var(--off-white); color:var(--text-light); border:1px solid var(--border-navy); }
.market-link.muted:hover { background:rgba(13,31,60,0.04); color:var(--navy); }

/* ── FOUNDER ─────────────────────────────── */
.founder-section {
  display:grid; grid-template-columns:360px 1fr;
  gap:64px; align-items:center;
}
.founder-photo-wrap {
  position:relative; flex-shrink:0;
}
.founder-photo-wrap img {
  width:100%; border-radius:var(--r-md);
  display:block; object-fit:cover;
  box-shadow:var(--shadow-md);
}
.founder-photo-wrap::after {
  content:''; position:absolute;
  bottom:-12px; right:-12px;
  width:75%; height:75%;
  border:2px solid var(--gold);
  border-radius:var(--r-md);
  z-index:-1; opacity:0.35;
}
.founder-avatar {
  width:76px; height:76px; border-radius:50%; object-fit:cover;
  border:2.5px solid var(--gold); flex-shrink:0;
  box-shadow:0 0 0 4px rgba(201,168,76,0.1);
}
.founder-inline {
  display:flex; align-items:center; gap:18px;
  padding:20px 24px; background:#fff;
  border:1px solid var(--border-navy);
  border-radius:var(--r-md); box-shadow:var(--shadow-sm);
}
.founder-inline-text .name {
  font-family:var(--font-serif); font-size:1.1rem; font-weight:600;
  color:var(--navy); display:block; margin-bottom:2px;
}
.founder-inline-text .role {
  font-size:0.72rem; color:var(--muted);
  letter-spacing:0.07em; text-transform:uppercase;
}
.about-founder {
  display:grid; grid-template-columns:1fr 1.65fr;
  gap:64px; align-items:start;
}

/* ── STOREFRONT ──────────────────────────── */
.storefront-img {
  width:100%; border-radius:var(--r-md);
  object-fit:cover; display:block;
  box-shadow:var(--shadow-md);
}
.storefront-caption {
  font-size:0.72rem; color:var(--muted);
  margin-top:10px; text-align:center;
  letter-spacing:0.05em;
}

/* ── LOGO ────────────────────────────────── */
.nav-logo { height:38px; width:auto; display:block; }

/* ── CTA STRIP ───────────────────────────── */
.cta-strip {
  background:var(--navy); padding:80px 32px;
  text-align:center; position:relative; overflow:hidden;
}
.cta-strip::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 0%, rgba(201,168,76,0.07) 0%, transparent 60%);
  pointer-events:none;
}
.cta-strip-inner { position:relative; z-index:1; max-width:560px; margin:0 auto; }
.cta-strip h2 {
  font-family:var(--font-serif); font-size:clamp(1.7rem,3vw,2.3rem);
  font-weight:600; color:var(--off-white); margin-bottom:14px; line-height:1.2;
}
.cta-strip p { color:var(--muted-light); font-size:1rem; margin-bottom:32px; }
.cta-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ── TRUST BAR ───────────────────────────── */
.trust-bar {
  background:var(--navy-deep);
  border-top:1px solid var(--border-gold);
  border-bottom:1px solid var(--border-gold);
  padding:18px 32px;
}
.trust-bar-inner {
  max-width:1200px; margin:0 auto;
  display:flex; align-items:center; justify-content:center;
  gap:40px; flex-wrap:wrap;
}
.trust-item {
  display:flex; align-items:center; gap:10px;
  font-size:0.75rem; color:var(--muted-light);
  letter-spacing:0.06em; text-transform:uppercase; white-space:nowrap;
}
.trust-item .t-dot { width:4px; height:4px; border-radius:50%; background:var(--gold); flex-shrink:0; }

/* ── STAT ROW ────────────────────────────── */
.stat-row { display:flex; gap:0; border:1px solid var(--border-navy); border-radius:var(--r-md); overflow:hidden; background:#fff; box-shadow:var(--shadow-xs); }
.stat-item { flex:1; padding:24px 20px; text-align:center; border-right:1px solid var(--border-navy); }
.stat-item:last-child { border-right:none; }
.stat-num { font-family:var(--font-serif); font-size:2rem; font-weight:600; color:var(--navy); line-height:1; display:block; margin-bottom:4px; }
.stat-label { font-size:0.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.1em; }

/* ── CONTACT FORM ────────────────────────── */
.form-wrap { background:#fff; border:1px solid var(--border-navy); border-radius:var(--r-lg); padding:44px; box-shadow:var(--shadow-sm); }
.form-group { margin-bottom:22px; }
.form-group label {
  display:block; font-size:0.76rem; font-weight:600;
  color:var(--navy); letter-spacing:0.05em; text-transform:uppercase; margin-bottom:8px;
}
.form-group input,
.form-group select,
.form-group textarea {
  width:100%; font-family:var(--font-sans); font-size:0.95rem;
  color:var(--text-body); background:#fff;
  border:1.5px solid rgba(13,31,60,0.14);
  border-radius:var(--r-sm); padding:12px 16px;
  transition:border-color var(--transition), box-shadow var(--transition);
  outline:none; -webkit-appearance:none;
  line-height:1.5;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,168,76,0.14);
}
.form-group input::placeholder,
.form-group textarea::placeholder { color:rgba(13,31,60,0.28); }
.form-group textarea { min-height:130px; resize:vertical; }
.form-note { font-size:0.76rem; color:var(--muted); margin-top:8px; line-height:1.5; }
.form-submit { width:100%; justify-content:center; font-size:0.82rem; padding:15px 28px; }
.form-success {
  display:none; background:rgba(34,197,94,0.07);
  border:1px solid rgba(34,197,94,0.25); border-radius:var(--r-md);
  padding:22px 26px; color:#166534; font-size:0.95rem; line-height:1.6;
}

/* ── FOOTER ──────────────────────────────── */
.footer { background:var(--navy-deep); border-top:1px solid var(--border-gold); padding:64px 32px 36px; }
.footer-inner { max-width:1200px; margin:0 auto; }
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:48px; margin-bottom:52px; }

.footer-logo { height:34px; width:auto; margin-bottom:16px; opacity:0.9; }
.footer-brand p { font-size:0.84rem; color:var(--muted); line-height:1.75; max-width:260px; }
.footer-brand .f-tagline { font-size:0.65rem; color:rgba(201,168,76,0.6); letter-spacing:0.16em; text-transform:uppercase; margin-top:4px; display:block; margin-bottom:14px; }

.footer-col h4 { font-size:0.66rem; font-weight:600; color:rgba(201,168,76,0.65); letter-spacing:0.18em; text-transform:uppercase; margin-bottom:18px; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:11px; }
.footer-col a { font-size:0.84rem; color:var(--muted); transition:color var(--transition); }
.footer-col a:hover { color:var(--off-white); }

.footer-divider { border:none; border-top:1px solid rgba(201,168,76,0.1); margin-bottom:24px; }
.footer-bottom { display:flex; flex-direction:column; gap:8px; }
.footer-entity { font-size:0.78rem; color:rgba(138,155,181,0.65); line-height:1.7; }
.footer-entity a { color:rgba(138,155,181,0.85); text-decoration:underline; text-underline-offset:3px; }
.footer-entity a:hover { color:var(--gold); }
.footer-legal { font-size:0.72rem; color:rgba(138,155,181,0.4); }
.footer-legal a { color:rgba(138,155,181,0.4); transition:color var(--transition); }
.footer-legal a:hover { color:var(--muted); }

/* ── UTILITIES ───────────────────────────── */
.text-center { text-align:center; }
.text-gold   { color:var(--gold); }
.text-navy   { color:var(--navy); }
.text-muted  { color:var(--muted); }
.text-white  { color:var(--off-white); }
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-48{margin-top:48px}
.mb-0{margin-bottom:0!important}
.flex{display:flex}.flex-center{display:flex;align-items:center}
.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.gap-32{gap:32px}

/* Internal link style */
.link-gold { color:var(--gold); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.link-gold:hover { color:var(--gold-light); }

/* ── RESPONSIVE ──────────────────────────── */
@media (max-width:1024px) {
  .hero-home .hero-inner { grid-template-columns:1fr 340px; gap:48px; }
  .hero-home { padding:88px 32px 76px; }
}

@media (max-width:900px) {
  .nav-links  { display:none; flex-direction:column; }
  .nav-toggle { display:flex; }
  .nav-links.open {
    display:flex; position:absolute; top:var(--nav-h);
    left:0; right:0; background:var(--navy-deep);
    padding:16px 24px 28px; border-bottom:1px solid var(--border-gold);
    flex-direction:column; align-items:flex-start; gap:2px;
  }
  .nav-links.open a { font-size:0.88rem; padding:11px 6px; width:100%; }
  .nav-cta { display:none; }

  .hero-home .hero-inner { grid-template-columns:1fr; gap:40px; }
  .hero-hierarchy { display:none; }
  .hero-home { padding:64px 24px 56px; }
  .hero { padding:64px 24px 56px; }

  .grid-2,.grid-3,.grid-1-2,.grid-2-1 { grid-template-columns:1fr; }
  .grid-3 { gap:20px; }

  .founder-section { grid-template-columns:1fr; gap:36px; }
  .founder-photo-wrap { max-width:300px; margin:0 auto; }
  .about-founder { grid-template-columns:1fr; gap:36px; }
  .about-founder .founder-photo-wrap { max-width:260px; }

  .footer-grid { grid-template-columns:1fr 1fr; gap:36px; }
  .stat-row { flex-direction:column; }
  .stat-item { border-right:none; border-bottom:1px solid var(--border-navy); }
  .stat-item:last-child { border-bottom:none; }
  .trust-bar-inner { gap:24px; }
}

@media (max-width:768px) {
  .grid-2.market-grid { grid-template-columns:1fr !important; }
  .main { padding:0 20px; }
  .breadcrumb { padding:10px 20px; }
}

@media (max-width:600px) {
  :root { --nav-h:64px; }
  .nav-inner { padding:0 20px; }
  .hero { padding:52px 20px 44px; }
  .section { padding:52px 0; }
  .section-sm { padding:36px 0; }
  .card { padding:24px; }
  .card-feature { padding:24px; }
  .form-wrap { padding:28px 22px; }
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .footer { padding:48px 20px 28px; }
  .cta-strip { padding:56px 20px; }
  .founder-inline { flex-direction:column; text-align:center; gap:12px; }
  .trust-bar-inner { gap:16px; }
  .trust-item { font-size:0.69rem; gap:7px; }
}

/* ============================================
   FAMILY VALUES SECTION — About page
   ============================================ */

.family-values-section {
  background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%);
  margin: 0 -32px;
  padding: 80px 32px;
  position: relative;
  overflow: hidden;
}
/* Decorative background texture */
.family-values-section::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 420px; height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,0.07) 0%, transparent 70%);
  pointer-events: none;
}
.family-values-section::after {
  content: '';
  position: absolute;
  bottom: -60px; left: -40px;
  width: 280px; height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,0.04) 0%, transparent 70%);
  pointer-events: none;
}

.family-values-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 64px;
  align-items: center;
  position: relative;
  z-index: 1;
}

/* Photo column */
.family-values-photo-col { flex-shrink: 0; }

.family-values-photo-wrap {
  position: relative;
  display: inline-block;
  width: 100%;
}
.family-values-photo-wrap img {
  width: 100%;
  border-radius: var(--r-md);
  display: block;
  object-fit: cover;
  box-shadow: 0 12px 40px rgba(0,0,0,0.35);
  /* Subtle warm filter to soften harsh shadows in the original */
  filter: brightness(1.06) contrast(0.97) saturate(0.94);
}
/* Gold frame accent */
.family-values-photo-wrap::before {
  content: '';
  position: absolute;
  top: -8px; left: -8px;
  right: 8px; bottom: 8px;
  border: 1.5px solid rgba(201,168,76,0.3);
  border-radius: var(--r-md);
  pointer-events: none;
}
/* Name caption below photo */
.family-values-photo-wrap::after {
  content: 'Jennifer Davis';
  display: block;
  position: absolute;
  bottom: -36px;
  left: 0; right: 0;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(201,168,76,0.65);
  font-family: var(--font-sans);
}

/* Content column */
.family-values-content-col { padding-bottom: 0; }

.family-values-section .section-label { color: var(--gold); }

.family-values-section h2.section-title {
  color: var(--off-white);
}
.family-values-section h2.section-title em {
  color: var(--gold-light);
}

.family-values-section .gold-rule {
  background: rgba(201,168,76,0.5);
}

.family-values-section p {
  color: var(--muted-light);
  font-size: 0.97rem;
  line-height: 1.78;
}

/* Pull quote */
.family-values-quote {
  margin-top: 28px;
  padding: 20px 24px;
  border-left: 3px solid var(--gold);
  background: rgba(255,255,255,0.04);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
}
.family-values-quote p {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-style: italic;
  color: var(--gold-light);
  margin: 0;
  line-height: 1.6;
}

/* Mobile stacking */
@media (max-width: 900px) {
  .family-values-section {
    margin: 0 -20px;
    padding: 60px 20px;
  }
  .family-values-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .family-values-photo-wrap {
    max-width: 240px;
    margin: 0 auto 36px;
  }
  .family-values-photo-wrap::after {
    bottom: -30px;
  }
  .family-values-content-col {
    padding-top: 4px;
  }
}

@media (max-width: 600px) {
  .family-values-section {
    padding: 52px 20px;
  }
  .family-values-photo-wrap {
    max-width: 200px;
  }
  .family-values-quote p {
    font-size: 1rem;
  }
}

/* ============================================
   V1.3 — FAMILY DUO LAYOUT (About page)
   & HOMEPAGE FOUNDER PHOTO MOBILE REDUCTION
   ============================================ */

/* Homepage: smaller founder photo on mobile */
@media (max-width: 768px) {
  .founder-photo-home img {
    max-width: 180px;
    margin: 0 auto;
  }
  .founder-photo-home::after { display: none; }
}

/* ── FAMILY DUO GRID ─────────────────────── */
.family-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-bottom: 32px;
}

.family-duo-card {
  background: #fff;
  border: 1px solid var(--border-navy);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
}

/* Subtle left accent for Demerus card */
.family-duo-card {
  border-top: 3px solid var(--gold);
}
/* Slightly lighter accent for Jennifer card */
.family-duo-card-alt {
  border-top: 3px solid rgba(201,168,76,0.45);
}

.family-duo-photo {
  width: 100%;
  height: 280px;
  overflow: hidden;
  flex-shrink: 0;
}
.family-duo-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 0.4s ease;
}
.family-duo-card:hover .family-duo-photo img {
  transform: scale(1.02);
}

.family-duo-content {
  padding: 28px 28px 32px;
  flex: 1;
}

.family-duo-name-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.family-duo-name {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--navy);
  display: block;
  margin-bottom: 3px;
  line-height: 1.2;
}
.family-duo-title {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  display: block;
}

/* ── FAMILY STORY CALLOUT ────────────────── */
.family-story-callout {
  background: var(--gold-faint);
  border: 1px solid var(--border-gold);
  border-radius: var(--r-lg);
  padding: 28px 32px;
}
.family-story-callout-inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.family-story-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: rgba(201,168,76,0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}

/* ── RESPONSIVE ──────────────────────────── */
@media (max-width: 900px) {
  .family-duo {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .family-duo-photo {
    height: 240px;
  }
  .family-story-callout-inner {
    flex-direction: column;
    gap: 14px;
  }
}

@media (max-width: 600px) {
  .family-duo-photo { height: 200px; }
  .family-duo-content { padding: 22px 20px 24px; }
  .family-story-callout { padding: 22px 20px; }
  .family-duo-name { font-size: 1.15rem; }
}

/* ============================================
   V1.3.1 — Jennifer portrait photo adjustments
   ============================================ */

/* Jennifer card photo: taller panel, face positioned correctly */
.family-duo-card-alt .family-duo-photo {
  height: 320px;
}
.family-duo-card-alt .family-duo-photo img {
  object-position: center 12%;
}

/* Square headshot available as alternative via class */
.jen-sq { object-position: center top; }
