/* ════════════════════════════════════════
   LONGEVITY WORLD GROUP — Global CSS
   Palette: Charcoal Black · Soft Gold · Warm Ivory · Sage Green
   ════════════════════════════════════════ */
:root {
  /* Palette */
  --ivory:   #F5F0E8;
  --ivory2:  #FAF8F4;
  --charcoal:#1C1C1E;
  --char2:   #2A2A2D;
  --char3:   #3A3A3E;
  --gold:    #C9A84C;
  --gold2:   #E2C97E;
  --gold3:   #F0E0A8;
  --sage:    #5A7A65;
  --sage2:   #7A9E87;
  --sage3:   #D4E4DA;
  --muted:   #6B6B70;
  --muted2:  #9A9A9F;
  --bd:      rgba(201,168,76,.18);
  --bdi:     rgba(245,240,232,.10);
  --nav:     76px;
}
*, *::before, *::after { box-sizing:border-box;margin:0;padding:0 }
html { scroll-behavior:smooth }
body { font-family:'DM Sans',sans-serif;background:var(--ivory);color:var(--charcoal);font-size:16px;line-height:1.7;overflow-x:hidden }

/* ── NAV ── */
nav {
  position:fixed;top:0;left:0;right:0;height:var(--nav);z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 56px;
  background:rgba(28,28,30,.92);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(201,168,76,.15);
  transition:background .3s;
}
nav.scrolled { background:rgba(28,28,30,.98); }
.nlogo { display:flex;align-items:center;gap:0;text-decoration:none }
.nlogo img { height:30px;width:auto;display:block }
.nlinks { display:flex;align-items:center;list-style:none }
.nlinks>li { position:relative }
.nlinks>li>a {
  display:block;font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(245,240,232,.65);text-decoration:none;padding:8px 13px;transition:color .2s;
}
.nlinks>li>a:hover,.nlinks>li>a.act { color:var(--gold2) }
.nlinks li.hdrop:hover .drop { display:block }
.drop {
  display:none;position:absolute;top:100%;left:0;
  background:var(--char2);border:1px solid rgba(201,168,76,.2);
  border-top:2px solid var(--gold);min-width:200px;
  box-shadow:0 16px 48px rgba(0,0,0,.4);
}
.drop a {
  display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(245,240,232,.6);text-decoration:none;padding:11px 18px;transition:all .15s;
}
.drop a:hover { background:rgba(201,168,76,.08);color:var(--gold2) }
.ncta {
  background:var(--gold)!important;color:var(--charcoal)!important;
  padding:8px 20px!important;border-radius:1px!important;margin-left:8px;
  font-weight:500!important;letter-spacing:.08em!important;
}
.ncta:hover { background:var(--gold2)!important;color:var(--charcoal)!important }
.hbg { display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px }
.hbg span { display:block;width:22px;height:1.5px;background:var(--ivory) }
.mnav {
  display:none;position:fixed;top:var(--nav);left:0;right:0;
  background:var(--char2);border-bottom:1px solid rgba(201,168,76,.15);
  padding:18px 28px;z-index:999;flex-direction:column;
}
.mnav.open { display:flex }
.mnav a {
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(245,240,232,.65);text-decoration:none;padding:12px 0;
  border-bottom:1px solid rgba(245,240,232,.06);
}
.mnav a:last-child { border:none }

/* ── COMMON TOKENS ── */
.slbl {
  display:inline-flex;align-items:center;gap:10px;
  font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:14px;
}
.slbl::before { content:'';width:24px;height:1px;background:var(--gold) }
.slbl.light { color:var(--gold2) }
.slbl.light::before { background:var(--gold2) }
.slbl.sage { color:var(--sage2) }
.slbl.sage::before { background:var(--sage2) }

.stitle {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(32px,4vw,54px);font-weight:300;
  line-height:1.12;color:var(--charcoal);letter-spacing:-.01em;
}
.stitle em { font-style:italic;color:var(--sage) }
.stitle.light { color:var(--ivory) }
.stitle.light em { color:var(--gold2) }

.btnp {
  display:inline-flex;align-items:center;gap:8px;
  background:var(--gold);color:var(--charcoal);
  font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;padding:13px 26px;border-radius:1px;
  transition:background .2s,transform .2s;cursor:pointer;border:none;
  font-family:'DM Sans',sans-serif;
}
.btnp:hover { background:var(--gold2);transform:translateY(-1px) }
.btno {
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:rgba(245,240,232,.75);
  font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;padding:13px 26px;
  border:1px solid rgba(245,240,232,.25);border-radius:1px;
  transition:all .2s;cursor:pointer;font-family:'DM Sans',sans-serif;
}
.btno:hover { border-color:rgba(245,240,232,.6);color:var(--ivory);transform:translateY(-1px) }
.btns {
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--charcoal);
  font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;padding:12px 24px;
  border:1.5px solid var(--sage);border-radius:1px;
  transition:all .2s;cursor:pointer;font-family:'DM Sans',sans-serif;
}
.btns:hover { background:var(--sage);color:var(--ivory) }
.larr {
  display:inline-flex;align-items:center;gap:7px;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--sage);text-decoration:none;transition:gap .2s;cursor:pointer;
}
.larr:hover { gap:12px }
.larr::after { content:'→' }

/* ── ANIMATIONS ── */
.fu { opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease }
.fu.vis { opacity:1;transform:translateY(0) }
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

/* ── PAGE HERO BANNER ── */
.phero { padding-top:var(--nav);position:relative;overflow:hidden;height:320px;display:flex;align-items:flex-end }
.phero-bg { position:absolute;inset:0 }
.phero-bg img { width:100%;height:100%;object-fit:cover;filter:brightness(.2) saturate(.7) }
.phero-bg::after { content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(28,28,30,.9) 0%,rgba(90,122,101,.25) 100%) }
.phero-cnt { position:relative;z-index:2;padding:40px 56px 52px }
.phero-ey { font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px }
.phero h1 { font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5vw,64px);font-weight:300;color:var(--ivory);line-height:1.08 }
.phero h1 em { font-style:italic;color:var(--gold2) }

/* ── TICKER ── */
.ticker { background:var(--char2);padding:11px 0;overflow:hidden;white-space:nowrap;border-top:1px solid rgba(201,168,76,.12) }
.tinner { display:inline-flex;gap:56px;animation:tick 34s linear infinite;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,240,232,.38) }
.tinner span { display:inline-flex;align-items:center;gap:14px }
.tinner span::before { content:'◆';color:var(--gold);font-size:7px }
@keyframes tick { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── FOUNDERS (shared) ── */
.fsec { background:var(--ivory);padding:108px 56px }
.fhd { text-align:center;margin-bottom:64px }
.fgrid { display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:rgba(201,168,76,.12);max-width:960px;margin:0 auto }
.fcard { background:var(--ivory2);padding:52px 48px;transition:background .3s }
.fcard:hover { background:var(--sage3) }
.fav {
  width:68px;height:68px;border-radius:50%;
  background:var(--sage3);border:1.5px solid var(--sage2);
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--sage);margin-bottom:22px;
}
.frole { font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:6px }
.fname { font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:400;color:var(--charcoal);line-height:1.2;margin-bottom:18px }
.fdiv { width:32px;height:1px;background:var(--gold);margin-bottom:18px }
.fbio { font-size:13px;color:var(--muted);line-height:1.88 }

/* ── FOOTER ── */
footer { background:var(--charcoal);padding:72px 56px 36px;border-top:1px solid rgba(201,168,76,.12) }
.ftop { display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;padding-bottom:52px;border-bottom:1px solid rgba(245,240,232,.06);margin-bottom:36px }
.fbname { height:26px }
.fbname img { height:24px;width:auto;display:block;opacity:.9 }
.ftagline { font-size:13px;color:rgba(245,240,232,.35);line-height:1.78;margin-top:18px;max-width:270px }
.fcol h4 { font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:rgba(245,240,232,.3);margin-bottom:18px }
.fcol ul { list-style:none }
.fcol li { margin-bottom:10px }
.fcol a { font-size:13px;color:rgba(245,240,232,.45);text-decoration:none;transition:color .2s }
.fcol a:hover { color:var(--gold2) }
.fbot { display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(245,240,232,.22);letter-spacing:.04em }
.fsoc { display:flex;gap:14px;align-items:center }
.fsoc a { display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(245,240,232,.12);color:rgba(245,240,232,.38);text-decoration:none;transition:color .2s,border-color .2s,background .2s }
.fsoc a:hover { color:var(--gold2);border-color:rgba(201,168,76,.45);background:rgba(201,168,76,.07) }
.fsoc a svg { display:block;flex-shrink:0 }

/* ── RESPONSIVE ── */
@media(max-width:1080px){
  nav { padding:0 28px }
  .nlinks>li>a { padding:8px 9px;font-size:10.5px }
  .ftop { grid-template-columns:1fr 1fr;gap:36px }
  .fgrid { grid-template-columns:1fr;max-width:520px }
  .phero-cnt { padding:32px 32px 44px }
}
@media(max-width:768px){
  :root { --nav:62px }
  nav { padding:0 18px }
  .nlinks { display:none }
  .hbg { display:flex }
  .phero { height:240px }
  .phero h1 { font-size:32px }
  .phero-cnt { padding:24px 18px 32px }
  footer { padding:48px 18px 28px }
  .ftop { grid-template-columns:1fr }
  .fbot { flex-direction:column;gap:12px;text-align:center }
  .fcard { padding:36px 24px }
  .fsec { padding:64px 18px }
}

/* ══ MOBILE TOUCH IMPROVEMENTS ══ */
@media(max-width:768px){
  /* Larger tap targets */
  .nlinks>li>a,.ncta { min-height:44px;display:flex;align-items:center }
  .btnp,.btno { min-height:44px;justify-content:center }
  .nfbtn { min-height:40px }
  /* Prevent horizontal overflow */
  img,video,iframe { max-width:100%;height:auto }
  /* Improve readability */
  body { font-size:15px }
  /* Footer stack */
  .fbot { flex-direction:column;gap:16px;text-align:center }
  .fsoc { justify-content:center }
  /* Hero text */
  .hero-headline { font-size:clamp(36px,10vw,72px) }
}
@media(max-width:480px){
  .hcnt { padding:0 20px 80px }
  .phero-cnt { padding:0 18px 28px }
  .nfbtn { padding:8px 12px;font-size:9px }
}
