/* ============================================================
   DR. SHAUN GREGORY MORGAN — MOBILE-APP STYLESHEET v4
   True mobile-first · App-like UX · Aggressive SEO support
   ============================================================ */

/* ─── TOKENS ─────────────────────────────────────────────── */
:root {
  --ink:#0c0c0c; --ink-mid:#2a2a2a; --ink-light:#6b6b6b;
  --platinum:#b8b0a0;
  --warm:#fdfcfa; --off:#f5f3ef; --paper:#ede9e3;
  --gold:#8b6914; --gold-lt:#c49a2a;
  --black:#050505;
  --rule:rgba(12,12,12,.10);
  --rule-inv:rgba(255,255,255,.08);
  --nav-h:60px;
  --page-x:5vw;         /* side padding — adapts to screen */
  --radius:3px;
  --trans:.25s cubic-bezier(.4,0,.2,1);
}

/* ─── RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--warm);color:var(--ink);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  cursor:auto; /* NEVER hide on mobile */
}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button,input,textarea,select{font-family:inherit;font-size:inherit;}
ul{list-style:none;}

/* ─── CURSOR (desktop pointer only) ─────────────────────── */
.cursor,.cursor-ring{display:none;pointer-events:none;}
@media(hover:hover)and(pointer:fine){
  body{cursor:none;}
  .cursor{
    display:block;position:fixed;z-index:9999;
    width:8px;height:8px;border-radius:50%;
    background:var(--ink);transform:translate(-50%,-50%);transition:opacity .15s;
  }
  .cursor-ring{
    display:block;position:fixed;z-index:9998;
    width:36px;height:36px;border-radius:50%;
    border:1px solid rgba(12,12,12,.25);
    transform:translate(-50%,-50%);
    transition:width .22s,height .22s,border-color .22s;
  }
}

/* ─── NAV ────────────────────────────────────────────────── */
nav{
  position:fixed;inset:0 0 auto 0;z-index:900;
  height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--page-x);
  background:rgba(253,252,250,.96);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--rule);
  transition:box-shadow var(--trans);
}
.nav-logo{display:flex;flex-direction:column;gap:1px;min-width:0;}
.nav-logo-name{
  font-family:'Playfair Display',serif;font-weight:700;
  font-size:clamp(.78rem,3vw,.95rem);
  color:var(--ink);letter-spacing:.01em;line-height:1.1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.nav-logo-sub{
  font-size:.55rem;font-weight:300;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-light);
  display:none; /* hide on small phones */
}
@media(min-width:380px){.nav-logo-sub{display:block;}}
.nav-center{display:none;}
.nav-consult{display:none;}
.hamburger{
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  background:none;border:none;cursor:pointer;
  width:44px;height:44px;padding:10px;
  -webkit-tap-highlight-color:transparent;
  border-radius:var(--radius);
}
.hamburger span{
  display:block;height:1.5px;border-radius:1px;
  background:var(--ink);transition:transform .3s,opacity .3s;
}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px);}

/* ─── MOBILE MENU — full-screen app drawer ──────────────── */
.mob-menu{
  display:flex;flex-direction:column;
  position:fixed;inset:0;z-index:800;
  background:var(--black);
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;
  padding:calc(var(--nav-h) + 1.5rem) var(--page-x) 3rem;
}
.mob-menu.open{transform:translateX(0);}
.mob-menu a{
  display:flex;align-items:center;justify-content:space-between;
  font-family:'Playfair Display',serif;
  font-size:clamp(1.5rem,7vw,2.2rem);font-weight:400;font-style:italic;
  color:rgba(255,255,255,.85);
  padding:1rem 0;
  border-bottom:1px solid var(--rule-inv);
  -webkit-tap-highlight-color:transparent;
}
.mob-menu a::after{content:'→';font-size:.6em;font-style:normal;color:var(--gold-lt);opacity:0;transition:opacity .2s;}
.mob-menu a:active::after{opacity:1;}
.mob-menu a:active{color:var(--gold-lt);}
.mob-menu-cta{
  margin-top:2rem !important;
  display:block !important;
  background:var(--gold) !important;
  color:#fff !important;
  font-family:'DM Sans',sans-serif !important;
  font-style:normal !important;
  font-size:.78rem !important;
  font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;
  text-align:center;
  padding:1.1rem 2rem !important;
  border:none !important;
  border-bottom:none !important;
  border-radius:var(--radius);
}
.mob-close{
  position:absolute;top:1rem;right:var(--page-x);
  background:none;border:none;cursor:pointer;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.5);font-size:1.4rem;
  -webkit-tap-highlight-color:transparent;
}
.mob-menu-meta{
  margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--rule-inv);
  display:flex;flex-direction:column;gap:.6rem;
}
.mob-menu-meta a{
  font-family:'DM Sans',sans-serif !important;
  font-style:normal !important;
  font-size:.72rem !important;font-weight:300;
  color:rgba(255,255,255,.35) !important;
  letter-spacing:.1em;
  border:none !important;padding:.25rem 0 !important;
}

/* ─── HERO — mobile-first ────────────────────────────────── */
.hero-mobile{
  /* Full-bleed image hero for mobile */
  position:relative;
  min-height:100svh;/* safe viewport height for iOS */
  display:flex;flex-direction:column;justify-content:flex-end;
  padding-top:var(--nav-h);
  overflow:hidden;
}
.hero-mobile-img{
  position:absolute;inset:0;
  background:var(--ink);
}
.hero-mobile-img img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  opacity:.65;
}
.hero-mobile-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(5,5,5,.95) 0%,rgba(5,5,5,.4) 50%,rgba(5,5,5,.1) 100%);
}
.hero-mobile-content{
  position:relative;z-index:2;
  padding:3rem var(--page-x) calc(var(--page-x) + env(safe-area-inset-bottom,0px));
}
.hero-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--gold);color:#fff;
  font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  padding:.4rem .9rem;border-radius:2px;
  margin-bottom:1.5rem;
}
.hero-mobile-content h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.4rem,10vw,5rem);
  font-weight:900;line-height:.92;letter-spacing:-.02em;
  color:#fff;margin-bottom:.4em;
}
.hero-mobile-content h1 em{
  display:block;font-style:italic;font-weight:400;
  color:var(--gold-lt);font-size:.68em;
}
.hero-mobile-sub{
  font-size:clamp(.72rem,3vw,.82rem);font-weight:300;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.55);
  border-top:1px solid var(--rule-inv);padding-top:1rem;margin:1rem 0 2rem;
  line-height:1.8;
}
.hero-stats-row{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1px;background:var(--rule-inv);
  border:1px solid var(--rule-inv);
  margin-bottom:2rem;
}
.hero-stat{
  background:rgba(5,5,5,.7);padding:1rem;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.hero-stat-n{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.6rem,6vw,2.2rem);font-weight:700;
  color:#fff;line-height:1;margin-bottom:.15rem;
}
.hero-stat-n sup{font-size:.55em;}
.hero-stat-l{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.35);}
.hero-btns{display:flex;flex-direction:column;gap:.75rem;}
.hero-loc{
  margin-top:1.25rem;
  font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.4);
}

/* ─── PAGE INNER HERO ────────────────────────────────────── */
.page-hero{
  padding:calc(var(--nav-h) + 2.5rem) var(--page-x) 2.5rem;
  background:var(--ink);position:relative;overflow:hidden;
}
.page-hero-geo{
  position:absolute;inset:0;opacity:.04;
  background-image:repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 0,transparent 50%),
                   repeating-linear-gradient(-45deg,#fff 0,#fff 1px,transparent 0,transparent 50%);
  background-size:32px 32px;
}
.page-hero-inner{position:relative;z-index:2;}
.page-breadcrumb{
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.3);margin-bottom:1.25rem;
}
.page-breadcrumb a{color:rgba(255,255,255,.3);transition:color var(--trans);}
.page-breadcrumb a:active{color:var(--gold-lt);}
.page-breadcrumb span{color:rgba(255,255,255,.15);}
.page-hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.9rem,8vw,4rem);
  font-weight:400;line-height:1.05;color:#fff;letter-spacing:-.01em;margin-bottom:.75rem;
}
.page-hero h1 em{font-style:italic;color:var(--gold-lt);}
.page-hero p.hero-sub{
  font-size:clamp(.82rem,3vw,.95rem);font-weight:300;
  line-height:1.8;color:rgba(255,255,255,.5);margin-top:.75rem;
}

/* ─── ABOUT / BIO HERO ───────────────────────────────────── */
.bio-hero{display:flex;flex-direction:column;padding-top:var(--nav-h);}
.bio-hero-img{
  position:relative;overflow:hidden;
  height:auto !important;
}
.bio-hero-img img{width:100%;height:auto !important;}
.bio-hero-img-cap{
  position:absolute;bottom:0;left:0;right:0;
  padding:1.25rem var(--page-x);
  background:linear-gradient(to top,rgba(5,5,5,.9),transparent);
}
.cap-name{
  font-family:'Playfair Display',serif;
  font-size:clamp(.95rem,4vw,1.2rem);color:#fff;font-style:italic;
}
.cap-sub{
  font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-top:.15rem;
}
.bio-hero-content{
  background:var(--off);
  padding:clamp(2rem,6vw,5rem) var(--page-x);
}

/* ─── CREDENTIALS GRID ───────────────────────────────────── */
.cred-block{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1.5px;background:var(--rule);border:1px solid var(--rule);
  margin-top:2rem;
}
.cb{background:var(--warm);padding:1.1rem;}
.cb-tag{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem;}
.cb-val{font-family:'Playfair Display',serif;font-size:.88rem;color:var(--ink);margin-bottom:.1rem;line-height:1.2;}
.cb-sub{font-size:.7rem;font-weight:300;color:var(--ink-light);line-height:1.4;}

/* ─── LAYOUT UTILITIES ───────────────────────────────────── */
.s-pad{padding:clamp(3rem,10vw,6rem) var(--page-x);}
.s-pad-sm{padding:clamp(2rem,6vw,4rem) var(--page-x);}
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.58rem;font-weight:400;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem;
}
.eyebrow::after{content:'';width:28px;height:1px;background:var(--gold);}
.eyebrow-inv{color:var(--gold-lt);}
.eyebrow-inv::after{background:var(--gold-lt);}

h2.display{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.65rem,6vw,3.2rem);
  font-weight:400;line-height:1.08;letter-spacing:-.01em;color:var(--ink);
}
h2.display em{font-style:italic;color:var(--gold);}
h2.display-inv{color:#fff;}
h2.display-inv em{color:var(--gold-lt);}

.body-lg{font-size:clamp(.88rem,3vw,.98rem);font-weight:300;line-height:1.85;color:var(--ink-light);}
.body-md{font-size:clamp(.83rem,2.5vw,.92rem);font-weight:300;line-height:1.85;color:var(--ink-light);}

/* ─── BUTTONS — 48px tap targets ─────────────────────────── */
.btn-ink,.btn-line,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-size:clamp(.68rem,2.5vw,.72rem);font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  padding:.9rem 1.6rem;min-height:48px;
  transition:all var(--trans);cursor:pointer;
  border-radius:var(--radius);
  -webkit-tap-highlight-color:transparent;
  width:100%; /* full-width on mobile */
}
.btn-ink{background:var(--ink);color:#fff;border:2px solid var(--ink);}
.btn-ink:active,.btn-ink:hover{background:var(--gold);border-color:var(--gold);}
.btn-line{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
.btn-line:active,.btn-line:hover{background:var(--off);border-color:var(--ink);}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.3);}
.btn-ghost:active,.btn-ghost:hover{background:var(--gold);border-color:var(--gold);}
.btn-group{display:flex;flex-direction:column;gap:.75rem;}
.btn-sm{min-height:40px;padding:.6rem 1.2rem;font-size:.65rem;width:auto;}

/* ─── STATS GRID ─────────────────────────────────────────── */
.stat-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1.5px;background:var(--rule);border:1px solid var(--rule);
}
.stat-cell{
  background:var(--warm);
  padding:clamp(1.25rem,4vw,2.25rem) clamp(1rem,3vw,1.75rem);
  position:relative;overflow:hidden;
  transition:background var(--trans);
}
.stat-cell::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .4s;}
.stat-cell:active::after{transform:scaleX(1);}
.stat-n{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,7vw,2.8rem);font-weight:700;color:var(--ink);line-height:1;margin-bottom:.2rem;}
.stat-n sub{font-size:.5em;font-weight:400;vertical-align:baseline;}
.stat-l{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-light);}
.stat-d{font-size:.72rem;font-weight:300;color:var(--platinum);margin-top:.3rem;line-height:1.5;}

/* ─── CARDS ──────────────────────────────────────────────── */
.card{
  background:var(--warm);border:1px solid var(--rule);
  padding:clamp(1.25rem,4vw,2rem);
  transition:transform var(--trans),box-shadow var(--trans);
  -webkit-tap-highlight-color:transparent;
  border-radius:var(--radius);
}
.card:active{transform:scale(.99);box-shadow:0 8px 24px rgba(0,0,0,.08);}
.card-tag{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;display:block;}
.card-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:400;color:var(--ink);margin-bottom:.4rem;line-height:1.3;}
.card-body{font-size:.82rem;font-weight:300;color:var(--ink-light);line-height:1.75;}

/* ─── IMAGES ─────────────────────────────────────────────── */
.img-frame{position:relative;overflow:hidden;border-radius:var(--radius);}
.img-frame img{width:100%;height:auto !important;transition:transform .5s;}
.img-frame:active img{transform:scale(1.02);}
.img-frame-cap{
  position:absolute;bottom:0;left:0;right:0;
  padding:.85rem 1rem;
  background:linear-gradient(to top,rgba(5,5,5,.85),transparent);
  font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8);
}
.img-h-sm{height:clamp(180px,48vw,260px);}
.img-h-md{height:clamp(220px,56vw,340px);}
.img-h-lg{height:clamp(260px,65vw,440px);}
.img-h-hero{height:clamp(300px,80vw,520px);}
.img-2col{display:grid;grid-template-columns:1fr;gap:1.25rem;}
.img-3col{display:grid;grid-template-columns:1fr;gap:1.25rem;}

/* ─── LIST ITEMS ─────────────────────────────────────────── */
.list-item{display:grid;grid-template-columns:52px 1fr;gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--rule);}
.list-item:first-child{border-top:1px solid var(--rule);}
.list-n{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;font-style:italic;color:rgba(12,12,12,.07);line-height:1;}
.list-tag{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem;display:block;}
.list-h{font-family:'Playfair Display',serif;font-size:.98rem;font-weight:400;color:var(--ink);margin-bottom:.35rem;line-height:1.3;}
.list-p{font-size:.82rem;font-weight:300;color:var(--ink-light);line-height:1.75;}

/* ─── FAQ ────────────────────────────────────────────────── */
.faq-item{border-bottom:1px solid var(--rule);}
.faq-item:first-child{border-top:1px solid var(--rule);}
.faq-q{
  width:100%;background:none;border:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;
  padding:1.25rem 0;gap:1rem;text-align:left;
  font-family:'Playfair Display',serif;
  font-size:clamp(.88rem,3vw,1rem);font-weight:400;color:var(--ink);
  min-height:52px;-webkit-tap-highlight-color:transparent;
}
.faq-q span{
  font-family:'DM Sans',sans-serif;font-size:1.1rem;
  color:var(--gold);flex-shrink:0;transition:transform .3s;
  width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--gold);border-radius:50%;
}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1);}
.faq-a.open{max-height:600px;}
.faq-a-inner{padding:.25rem 0 1.5rem;font-size:clamp(.82rem,2.5vw,.88rem);font-weight:300;color:var(--ink-light);line-height:1.85;}

/* ─── FORM ───────────────────────────────────────────────── */
.form-wrap{background:var(--ink);padding:clamp(1.5rem,6vw,3rem);border-radius:var(--radius);}
.form-wrap h3{font-family:'Playfair Display',serif;font-size:clamp(1.3rem,5vw,1.6rem);font-weight:400;color:#fff;margin-bottom:.3rem;line-height:1.2;}
.form-sub{font-size:.75rem;font-weight:300;color:rgba(255,255,255,.35);margin-bottom:1.75rem;}
.fg{margin-bottom:1.1rem;}
.fg label{display:block;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.4rem;}
.fg input,.fg textarea,.fg select{
  width:100%;background:rgba(255,255,255,.06);
  border:none;border-bottom:1.5px solid rgba(255,255,255,.14);
  color:#fff;padding:.75rem 0;
  font-size:clamp(.88rem,3vw,.95rem);font-weight:300;
  outline:none;transition:border-color var(--trans);
  -webkit-appearance:none;appearance:none;border-radius:0;
}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,.2);}
.fg select option{background:#1a1a1a;}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-bottom-color:var(--gold-lt);}
.fg textarea{resize:vertical;min-height:100px;}
.fg-row{display:grid;grid-template-columns:1fr;gap:0;}
.form-btn{
  width:100%;background:var(--gold);border:none;
  color:#fff;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  padding:1rem;min-height:52px;cursor:pointer;border-radius:var(--radius);
  transition:background var(--trans),transform var(--trans);
  -webkit-tap-highlight-color:transparent;margin-top:.5rem;
}
.form-btn:active,.form-btn:hover{background:var(--gold-lt);transform:translateY(-1px);}
.form-note{font-size:.65rem;color:rgba(255,255,255,.2);margin-top:.9rem;line-height:1.6;}

/* ─── PULLQUOTE ──────────────────────────────────────────── */
.pullquote{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.05rem,4vw,1.45rem);font-weight:400;font-style:italic;
  line-height:1.55;color:var(--ink);
  border-left:2px solid var(--gold);padding-left:1.25rem;margin:2rem 0;
}
.pullquote-inv{color:#fff;border-color:var(--gold-lt);}

/* ─── MEDIA / PRESS LIST ─────────────────────────────────── */
.media-item{display:grid;grid-template-columns:52px 1fr;gap:1.25rem;padding:1.75rem 0;border-bottom:1px solid var(--rule);}
.media-item:first-child{border-top:1px solid var(--rule);}
.media-yr{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--platinum);padding-top:3px;}
.media-src{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem;}
.media-h{font-family:'Playfair Display',serif;font-size:.98rem;font-weight:400;color:var(--ink);margin-bottom:.35rem;line-height:1.35;}
.media-p{font-size:.8rem;font-weight:300;color:var(--ink-light);line-height:1.7;}

/* ─── INSIGHTS CARDS ─────────────────────────────────────── */
.ins-card{background:var(--warm);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;transition:transform var(--trans),box-shadow var(--trans);}
.ins-card:active{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.08);}
.ins-card-tag{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;display:block;}
.ins-card-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:400;color:var(--ink);margin-bottom:.4rem;line-height:1.3;}
.ins-card-body{font-size:.82rem;font-weight:300;color:var(--ink-light);line-height:1.75;}
.ins-card-inner{padding:clamp(1.25rem,4vw,1.75rem);}

/* ─── DARK SECTION ───────────────────────────────────────── */
.dark-section{background:var(--ink);padding:clamp(3rem,10vw,6rem) var(--page-x);}

/* ─── SCROLL REVEAL ──────────────────────────────────────── */
.sr{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.sr.vis{opacity:1;transform:none;}
.sr-d1{transition-delay:.08s;} .sr-d2{transition-delay:.16s;}
.sr-d3{transition-delay:.24s;} .sr-d4{transition-delay:.34s;}

/* ─── BREADCRUMB ─────────────────────────────────────────── */
.breadcrumb-bar{
  padding:.6rem var(--page-x);background:var(--off);
  border-bottom:1px solid var(--rule);
}
.breadcrumb-bar ol{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;}
.breadcrumb-bar li{display:flex;align-items:center;gap:.35rem;font-size:.62rem;color:var(--ink-light);}
.breadcrumb-bar a{color:var(--gold);transition:color var(--trans);}
.breadcrumb-bar a:active{color:var(--gold-lt);}
.breadcrumb-bar .sep{color:var(--platinum);}

/* ─── FOOTER ─────────────────────────────────────────────── */
footer{background:var(--black);padding:clamp(2.5rem,8vw,5rem) var(--page-x) calc(2rem + env(safe-area-inset-bottom,0px));}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--rule-inv);}
.footer-brand{grid-column:1/-1;}
.f-brand-name{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:400;font-style:italic;color:#fff;margin-bottom:.2rem;}
.f-brand-sub{font-size:.55rem;letter-spacing:.17em;text-transform:uppercase;color:var(--platinum);margin-bottom:1rem;}
.f-brand-desc{font-size:.75rem;font-weight:300;color:rgba(255,255,255,.28);line-height:1.75;}
.f-col-title{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:.85rem;}
.f-col ul{display:flex;flex-direction:column;gap:.55rem;}
.f-col ul li a{font-size:.76rem;font-weight:300;color:rgba(255,255,255,.3);transition:color var(--trans);padding:1px 0;display:block;}
.f-col ul li a:active,.f-col ul li a:hover{color:rgba(255,255,255,.75);}
.footer-bottom{display:flex;flex-direction:column;gap:.4rem;}
.footer-bottom p,.footer-bottom a{font-size:.65rem;color:rgba(255,255,255,.18);line-height:1.7;}
.footer-bottom a:active,.footer-bottom a:hover{color:rgba(255,255,255,.5);}
.footer-call{
  display:flex;align-items:center;justify-content:center;gap:.75rem;
  background:var(--gold);color:#fff;
  font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  padding:1rem;margin-bottom:2rem;border-radius:var(--radius);
  min-height:52px;-webkit-tap-highlight-color:transparent;
}

/* ─── TABLET ≥ 600px ─────────────────────────────────────── */
@media(min-width:600px){
  .img-2col{grid-template-columns:1fr 1fr;}
  .img-3col{grid-template-columns:1fr 1fr;}
  .fg-row{grid-template-columns:1fr 1fr;gap:1.25rem;}
  .btn-ink,.btn-line,.btn-ghost{width:auto;}
  .btn-group{flex-direction:row;}
  .footer-brand{grid-column:auto;}
  .footer-grid{grid-template-columns:1fr 1fr 1fr;}
}

/* ─── LARGE TABLET ≥ 768px ───────────────────────────────── */
@media(min-width:768px){
  :root{--nav-h:68px;}
  .nav-consult{
    display:block;
    font-size:.65rem;font-weight:500;letter-spacing:.14em;
    text-transform:uppercase;text-decoration:none;
    color:#fff;background:var(--ink);
    padding:.55rem 1.2rem;border-radius:var(--radius);
    transition:background var(--trans);white-space:nowrap;
  }
  .nav-consult:hover{background:var(--gold);}
  .hamburger{display:none;}
  .nav-center{
    display:flex;gap:1.6rem;
    position:absolute;left:50%;transform:translateX(-50%);
  }
  .nav-center a{
    font-size:.63rem;font-weight:400;letter-spacing:.12em;
    text-transform:uppercase;color:var(--ink-light);transition:color var(--trans);
    position:relative;padding:4px 0;white-space:nowrap;
  }
  .nav-center a::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s;}
  .nav-center a:hover,.nav-center a.active{color:var(--ink);}
  .nav-center a:hover::after,.nav-center a.active::after{transform:scaleX(1);}
  .img-3col{grid-template-columns:repeat(3,1fr);}
  .hero-btns{flex-direction:row;}
  .hero-stats-row{grid-template-columns:repeat(4,1fr);}
}

/* ─── DESKTOP ≥ 1024px ───────────────────────────────────── */
@media(min-width:1024px){
  :root{--page-x:4vw;}
  .bio-hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - var(--nav-h));}
  .bio-hero-img{height:auto;max-height:none;min-height:calc(100vh - var(--nav-h));}
  .bio-hero-content{padding:5rem 4rem;}
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;}
  .three-col{display:grid;grid-template-columns:repeat(3,1fr);}
  .four-col{display:grid;grid-template-columns:repeat(4,1fr);}
  .stat-grid{grid-template-columns:repeat(4,1fr);}
  .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;}
  .footer-brand{grid-column:auto;}
  .footer-bottom{flex-direction:row;justify-content:space-between;}
  .hero-mobile{display:none;} /* desktop shows split hero in index.html */
}

/* ─── ACCESSIBILITY ──────────────────────────────────────── */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}
  .sr{opacity:1!important;transform:none!important;}
  html{scroll-behavior:auto;}
}
@media(prefers-color-scheme:dark){
  /* intentional no-op — design is intentionally light */
}
