
:root{
  --navy:#14243A;
  --navy-2:#1D3557;
  --gold:#B08A45;
  --gold-light:#D1B36A;
  --cream:#F7F4ED;
  --paper:#FFFFFF;
  --text:#14243A;
  --muted:#656B76;
  --line:rgba(176,138,69,.32);
  --shadow:0 24px 80px rgba(20,36,58,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  color:var(--text);
  background:var(--paper);
  line-height:1.6;
}
h1,h2,h3,.serif{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:600;
  line-height:1.05;
  color:var(--navy);
}
h1{font-size:clamp(3rem,7vw,6.8rem); letter-spacing:-.055em; margin:0}
h2{font-size:clamp(2.35rem,4.5vw,4.6rem); letter-spacing:-.035em; margin:0 0 1rem}
h3{font-size:1.72rem; margin:.3rem 0 .75rem; letter-spacing:-.02em}
p{margin:0 0 1.05rem}
a{color:inherit;text-decoration:none}
img{max-width:100%; display:block}
.container{width:min(1180px, calc(100% - 40px)); margin:0 auto}
.small{font-size:.88rem; color:var(--muted)}
.eyebrow{
  text-transform:uppercase; letter-spacing:.18em; font-size:.73rem; font-weight:700; color:var(--gold); margin-bottom:1rem;
}
.header{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.86);
  backdrop-filter: blur(14px); border-bottom:1px solid rgba(20,36,58,.08);
}
.nav{height:74px; display:flex; align-items:center; justify-content:space-between; gap:24px}
.brand{display:flex; align-items:center; gap:12px; min-width:210px}
.brand img{width:46px;height:46px; object-fit:contain}
.brand span{font-family:"Cormorant Garamond", Georgia, serif; font-size:1.42rem; letter-spacing:-.02em; color:var(--navy); white-space:nowrap}
.navlinks{display:flex; align-items:center; gap:28px; font-size:.92rem; color:var(--navy)}
.navlinks a{opacity:.82}
.navlinks a:hover{opacity:1; color:var(--gold)}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  background:var(--navy); color:#fff; border:1px solid var(--navy);
  padding:13px 18px; border-radius:999px; font-weight:700; font-size:.9rem;
  box-shadow:0 12px 30px rgba(20,36,58,.12); transition:.2s ease;
}
.btn:hover{transform:translateY(-1px); background:#14243A}
.btn.secondary{background:transparent;color:var(--navy); border-color:var(--line); box-shadow:none}
.btn.secondary:hover{border-color:var(--gold); color:var(--gold)}
.mobile-toggle{display:none}

.hero{
  position:relative; overflow:hidden;
  min-height:720px; display:grid; align-items:center;
  background:
    radial-gradient(circle at 84% 18%, rgba(209,179,106,.25), transparent 25%),
    linear-gradient(180deg, #fff 0%, var(--cream) 100%);
}
.hero::before{
  content:""; position:absolute; inset:0;
  background-image: linear-gradient(to right, rgba(176,138,69,.12) 1px, transparent 1px),
                    linear-gradient(to bottom, rgba(176,138,69,.09) 1px, transparent 1px);
  background-size:72px 72px; mask-image:linear-gradient(90deg,transparent,black 15%,black 70%,transparent);
}
.hero-grid{position:relative; display:grid; grid-template-columns:1.08fr .92fr; gap:54px; align-items:center; padding:86px 0}
.hero-copy{padding-top:28px}
.hero-copy .lead{font-size:clamp(1.1rem,1.7vw,1.45rem); color:#3d4350; max-width:710px; margin:1.5rem 0 2rem}
.ctas{display:flex; gap:14px; flex-wrap:wrap}
.hero-card{position:relative}
.logo-panel{
  background:rgba(255,255,255,.74); border:1px solid rgba(176,138,69,.26); border-radius:34px;
  padding:42px; box-shadow:var(--shadow); backdrop-filter: blur(10px); position:relative; overflow:hidden;
}
.logo-panel::after{content:""; position:absolute; width:240px; height:240px; border:1px solid var(--line); border-radius:50%; right:-80px; bottom:-80px}
.logo-panel img{width:min(420px,90%); margin:0 auto}
.vertical-note{
  position:absolute; right:-24px; top:28px; writing-mode:vertical-rl;
  color:var(--gold); font-weight:700; letter-spacing:.16em; text-transform:uppercase; font-size:.75rem;
}
.stats-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(176,138,69,.2); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.stat{background:var(--navy); color:#fff; padding:28px 18px; text-align:center}
.stat b{display:block; font-family:"Cormorant Garamond"; font-size:2.2rem; color:var(--gold-light); line-height:1}
.stat span{font-size:.83rem; opacity:.82}

.section{padding:96px 0}
.section.alt{background:var(--cream)}
.split{display:grid; grid-template-columns:.82fr 1.18fr; gap:58px; align-items:start}
.section-intro{max-width:690px; color:var(--muted); font-size:1.08rem}
.practice-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px}
.practice-card{
  background:#fff; border:1px solid rgba(20,36,58,.09); padding:28px; border-radius:24px; min-height:250px;
  box-shadow:0 10px 40px rgba(20,36,58,.045); position:relative; overflow:hidden;
}
.practice-card::before{content:""; position:absolute; top:0; left:0; width:100%; height:4px; background:linear-gradient(90deg,var(--gold),transparent)}
.practice-card p{color:var(--muted)}
.card-number{font-family:"Cormorant Garamond"; color:rgba(176,138,69,.45); font-size:3rem; line-height:1}
.image-band{display:grid; grid-template-columns:1fr 1.1fr; gap:24px; align-items:stretch}
.photo-card{border-radius:32px; min-height:420px; overflow:hidden; position:relative; box-shadow:var(--shadow)}
.photo-card img{width:100%; height:100%; object-fit:cover}
.photo-card.small-photo{min-height:300px; margin-top:90px}
.caption-card{
  border:1px solid var(--line); border-radius:32px; padding:38px;
  background:rgba(255,255,255,.70); margin-top:20px;
}
.list{display:grid; gap:14px; padding:0; margin:24px 0 0; list-style:none}
.list li{padding-left:26px; position:relative}
.list li:before{content:""; position:absolute; left:0; top:.7em; width:8px; height:8px; border-radius:50%; background:var(--gold)}

.dark-section{background:var(--navy); color:#f5f2eb; position:relative; overflow:hidden}
.dark-section h2,.dark-section h3{color:#fff}
.dark-section .eyebrow{color:var(--gold-light)}
.dark-section p{color:rgba(255,255,255,.72)}
.dark-section::before{content:"";position:absolute; inset:0; background:radial-gradient(circle at 75% 20%, rgba(209,179,106,.18), transparent 32%)}
.dark-grid{position:relative; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center}
.dark-panel{border:1px solid rgba(209,179,106,.22); border-radius:30px; padding:32px; background:rgba(255,255,255,.04)}
.step{border-top:1px solid rgba(209,179,106,.25); padding:20px 0}
.step:last-child{border-bottom:1px solid rgba(209,179,106,.25)}

.bio-card{display:grid; grid-template-columns:.72fr 1.28fr; gap:34px; align-items:center; background:#fff; border:1px solid rgba(20,36,58,.09); border-radius:34px; padding:30px; box-shadow:var(--shadow)}
.portrait-placeholder{
  aspect-ratio:4/5; border-radius:26px; background:linear-gradient(135deg,var(--navy),#374050);
  position:relative; overflow:hidden;
}
.portrait-placeholder::before{content:""; position:absolute; inset:24px; border:1px solid rgba(209,179,106,.45); border-radius:22px}
.portrait-placeholder::after{content:"SSC"; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font-family:"Cormorant Garamond"; font-size:4rem; color:var(--gold-light)}
.credentials{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}
.pill{border:1px solid var(--line); border-radius:999px; padding:8px 12px; color:var(--navy); font-size:.86rem; background:#fff}

.page-hero{padding:88px 0 52px; background:linear-gradient(180deg,#fff,var(--cream)); border-bottom:1px solid rgba(176,138,69,.22)}
.page-hero h1{font-size:clamp(3rem,6vw,5.3rem)}
.content-narrow{max-width:860px}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:28px}
.service-block{padding:28px 0; border-top:1px solid rgba(176,138,69,.25)}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px}
input,textarea{
  width:100%; border:1px solid rgba(20,36,58,.16); border-radius:16px; padding:14px 16px; font:inherit; background:#fff;
}
textarea{min-height:150px; grid-column:1/-1}
.form-grid .full{grid-column:1/-1}
.footer{background:#14243A; color:rgba(255,255,255,.72); padding:58px 0 32px}
.footer-grid{display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:38px}
.footer h3{color:#fff}
.footer a{display:block; margin:.35rem 0; color:rgba(255,255,255,.74)}
.footer a:hover{color:var(--gold-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); margin-top:34px; padding-top:22px; font-size:.84rem}

@media (max-width:900px){
  .navlinks{display:none}
  .mobile-toggle{display:block}
  .hero{min-height:auto}
  .hero-grid,.split,.image-band,.dark-grid,.bio-card,.footer-grid,.two-col{grid-template-columns:1fr}
  .hero-grid{padding:52px 0}
  .vertical-note{display:none}
  .practice-grid{grid-template-columns:1fr}
  .photo-card.small-photo{margin-top:0}
  .section{padding:72px 0}
  .stats-strip{grid-template-columns:1fr}
}
@media (max-width:560px){
  .container{width:min(100% - 28px,1180px)}
  .nav{height:64px}
  .brand span{font-size:1.2rem}
  .brand img{width:38px;height:38px}
  .logo-panel{padding:24px;border-radius:24px}
  h1{font-size:3rem}
  .form-grid{grid-template-columns:1fr}
}


/* v2 refinements: retainer-first, upmarket, portrait integration */
.portrait-photo{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center;
  border-radius:26px;
  box-shadow:0 18px 60px rgba(20,36,58,.18);
  border:1px solid rgba(176,138,69,.24);
}
.model-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:26px;
}
.model-card{
  border:1px solid rgba(209,179,106,.28);
  border-radius:28px;
  padding:30px;
  background:rgba(255,255,255,.055);
}
.model-card.featured{
  background:linear-gradient(145deg, rgba(209,179,106,.16), rgba(255,255,255,.045));
  border-color:rgba(209,179,106,.58);
}
.model-card .tag{
  display:inline-block;
  color:var(--gold-light);
  text-transform:uppercase;
  font-size:.68rem;
  letter-spacing:.16em;
  font-weight:800;
  margin-bottom:14px;
}
.model-card p{font-size:.96rem}
.discreet-note{
  margin-top:24px;
  color:rgba(255,255,255,.62);
  font-size:.92rem;
  max-width:820px;
}
.upmarket-callout{
  margin-top:34px;
  border-left:3px solid var(--gold);
  padding:18px 0 18px 24px;
  color:var(--muted);
}
@media (max-width:900px){
  .model-grid{grid-template-columns:1fr}
}


/* v4 refinements: subtle, simple, sophisticated; actual logo assets */
.hero.v4{
  min-height:760px;
  background:
    radial-gradient(circle at 80% 12%, rgba(176,138,69,.12), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fbfaf7 54%, #f7f4ed 100%);
}
.hero.v4::before{
  background-image:
    linear-gradient(120deg, rgba(176,138,69,.12) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(20,36,58,.035) 1px, transparent 1px);
  background-size:110px 110px, 80px 80px;
  mask-image:linear-gradient(90deg,transparent,black 12%,black 72%,transparent);
}
.hero.v4 .hero-grid{
  grid-template-columns:1.02fr .98fr;
  gap:62px;
  padding:88px 0 72px;
}
.hero-logo-card{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(176,138,69,.24);
  border-radius:32px;
  padding:38px 34px;
  box-shadow:0 24px 80px rgba(20,36,58,.08);
  position:relative;
  overflow:hidden;
}
.hero-logo-card::after{
  content:"";
  position:absolute;
  inset:auto -18% -55% auto;
  width:360px;
  height:360px;
  border:1px solid rgba(176,138,69,.20);
  border-radius:50%;
}
.hero-logo-card img{
  width:min(520px, 100%);
  margin:0 auto;
  position:relative;
  z-index:1;
}
.refined-panel{
  margin-top:22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.refined-note{
  background:#fff;
  border:1px solid rgba(176,138,69,.20);
  border-radius:20px;
  padding:18px;
  color:var(--navy);
  box-shadow:0 10px 30px rgba(20,36,58,.035);
}
.refined-note b{
  display:block;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.68rem;
  margin-bottom:8px;
}
.refined-note span{font-size:.95rem; color:#3d4350}
.brand-line{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(176,138,69,.45), transparent);
  margin:22px 0;
}
.no-filler .photo-card{min-height:360px}
.portrait-photo{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center;
  border-radius:26px;
  box-shadow:0 18px 60px rgba(20,36,58,.18);
  border:1px solid rgba(176,138,69,.24);
}
.bio-rich p{margin-bottom:1rem}
.bio-rich ul{margin:0 0 1rem 1.1rem; padding:0; color:var(--muted)}
.bio-rich li{margin-bottom:.48rem}
.education-list{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.education-item{
  border-top:1px solid rgba(176,138,69,.25);
  padding-top:12px;
}
.education-item b{display:block;color:var(--navy)}
.education-item span{display:block;color:var(--muted)}
.support-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:28px;
}
.support-card{
  border:1px solid rgba(209,179,106,.26);
  border-radius:28px;
  padding:28px;
  background:rgba(255,255,255,.05);
}
.support-card.primary{
  background:linear-gradient(145deg, rgba(209,179,106,.15), rgba(255,255,255,.04));
  border-color:rgba(209,179,106,.52);
}
.support-card .tiny{
  display:inline-block;
  color:var(--gold-light);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.68rem;
  font-weight:800;
  margin-bottom:12px;
}
.service-note{
  margin-top:24px;
  color:rgba(255,255,255,.64);
  font-size:.92rem;
  max-width:860px;
}
@media (max-width:900px){
  .hero.v4 .hero-grid,.refined-panel,.support-grid{grid-template-columns:1fr}
  .hero.v4{min-height:auto}
  .hero-logo-card{padding:24px;border-radius:24px}
}


/* v5: white/navy/gold, sport-elegant crest energy, actual logo lockup */
:root{
  --navy:#14243A;
  --navy-2:#1D3557;
  --blue-deep:#14243A;
  --gold:#C9A34E;
  --gold-light:#E4C978;
  --cream:#FAF8F2;
  --paper:#FFFFFF;
  --text:#14243A;
  --muted:#596274;
  --line:rgba(201,163,78,.35);
}

/* Replace text nav with actual logo styling */
.header{
  background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(20,36,58,.08);
}
.brand{
  gap:10px;
  min-width:260px;
}
.brand img{
  width:42px;
  height:42px;
  object-fit:contain;
}
.brand span{
  font-family:"Inter", system-ui, sans-serif;
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--navy);
}
.brand span::after{
  content:"STRATEGY";
  display:block;
  color:var(--gold);
  font-size:.66rem;
  letter-spacing:.35em;
  margin-top:-2px;
}

/* Hero: crisper, brighter, more navy/gold */
.hero.v5{
  min-height:780px;
  background:
    radial-gradient(circle at 82% 16%, rgba(201,163,78,.12), transparent 25%),
    linear-gradient(180deg, #ffffff 0%, #fbfaf6 56%, #f6f1e8 100%);
  position:relative;
  overflow:hidden;
}
.hero.v5::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, transparent 0 56%, rgba(20,36,58,.07) 56% 56.3%, transparent 56.3%),
    linear-gradient(135deg, transparent 0 72%, rgba(201,163,78,.18) 72% 72.16%, transparent 72.16%),
    linear-gradient(to right, rgba(20,36,58,.04) 1px, transparent 1px);
  background-size:100% 100%,100% 100%,92px 92px;
  mask-image:linear-gradient(90deg, transparent, black 10%, black 82%, transparent);
}
.hero.v5::after{
  content:"";
  position:absolute;
  right:-140px;
  top:80px;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(201,163,78,.22);
}
.hero.v5 .hero-grid{
  position:relative;
  z-index:1;
  grid-template-columns:1fr 1fr;
  gap:58px;
  padding:82px 0 72px;
  align-items:center;
}
.hero-logo-lockup{
  background:#fff;
  border:1px solid rgba(201,163,78,.32);
  border-radius:34px;
  padding:44px 42px;
  box-shadow:0 28px 90px rgba(20,36,58,.10);
  position:relative;
  overflow:hidden;
}
.hero-logo-lockup::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(201,163,78,.18);
  border-radius:24px;
  pointer-events:none;
}
.hero-logo-lockup::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-120px;
  width:310px;
  height:310px;
  background:radial-gradient(circle, rgba(20,36,58,.08), transparent 68%);
}
.hero-logo-lockup img{
  width:min(620px,100%);
  margin:0 auto;
  position:relative;
  z-index:1;
}
.crest-side{
  display:grid;
  grid-template-columns:98px 1fr;
  gap:22px;
  align-items:center;
  margin-top:24px;
}
.crest-side .crest-box{
  background:var(--navy);
  border:2px solid var(--gold);
  border-radius:20px;
  padding:14px;
  min-height:98px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.crest-side .crest-box img{
  width:68px;
  height:68px;
  object-fit:contain;
}
.crest-side .crest-copy{
  border-top:1px solid rgba(201,163,78,.34);
  border-bottom:1px solid rgba(201,163,78,.34);
  padding:16px 0;
}
.crest-side .crest-copy b{
  color:var(--navy);
  display:block;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.55rem;
  line-height:1;
}
.crest-side .crest-copy span{
  color:var(--muted);
  font-size:.95rem;
}
.hero.v5 .lead{
  color:#3c4657;
}
.hero.v5 h1{
  color:var(--navy);
}
.eyebrow{
  color:var(--gold);
}
.btn{
  background:var(--navy);
  border-color:var(--navy);
}
.btn:hover{
  background:var(--blue-deep);
}
.btn.secondary{
  color:var(--navy);
  border-color:rgba(201,163,78,.45);
}
.btn.secondary:hover{
  color:var(--gold);
  border-color:var(--gold);
}

/* Blue/gold cards rather than black */
.stats-strip.v5{
  background:rgba(201,163,78,.28);
}
.stats-strip.v5 .stat{
  background:linear-gradient(145deg, var(--navy), #1d3557);
}
.stats-strip.v5 .stat b{
  color:var(--gold-light);
}
.dark-section{
  background:linear-gradient(145deg, #14243A, #1d3557);
}
.dark-section::before{
  background:
    radial-gradient(circle at 75% 20%, rgba(201,163,78,.18), transparent 32%),
    linear-gradient(135deg, transparent 0 58%, rgba(255,255,255,.035) 58% 58.2%, transparent 58.2%);
}
.practice-card::before{
  background:linear-gradient(90deg,var(--gold),transparent);
}
.card-number{
  color:rgba(201,163,78,.50);
}
.support-card.primary{
  background:linear-gradient(145deg, rgba(201,163,78,.18), rgba(255,255,255,.04));
  border-color:rgba(201,163,78,.58);
}
.pill{
  border-color:rgba(201,163,78,.36);
}
.education-item{
  border-top-color:rgba(201,163,78,.30);
}

@media (max-width:900px){
  .hero.v5 .hero-grid{grid-template-columns:1fr}
  .crest-side{grid-template-columns:1fr}
  .crest-side .crest-box{width:98px}
}
@media (max-width:560px){
  .brand{min-width:0}
  .brand span{font-size:.72rem; letter-spacing:.12em}
  .brand span::after{font-size:.58rem; letter-spacing:.22em}
  .hero-logo-lockup{padding:24px 18px}
}


/* v6 final refinements */
.hero-logo-lockup{
  padding:28px 30px;
  border-radius:30px;
  background:#fff;
}
.hero-logo-lockup::before{
  inset:10px;
  border-radius:22px;
}
.hero-logo-lockup img{
  width:min(760px,100%);
}
.hero.v5 .hero-grid{
  grid-template-columns:.96fr 1.04fr;
  gap:54px;
}
.hero.v5{
  min-height:720px;
}
.hero.v5 .hero-copy h1{
  font-size:clamp(3rem,6.2vw,6.2rem);
}
.crest-side{
  display:none !important;
}
.stat-one{
  font-family: Georgia, "Times New Roman", serif;
  font-size:2.55rem !important;
  font-weight:700;
  letter-spacing:0;
}
.footer-logo{
  max-width:360px;
  width:100%;
  margin-bottom:18px;
  background:#fff;
  border-radius:16px;
  padding:14px 18px;
}
.footer-logo img{
  width:100%;
  height:auto;
}
.footer h3.logo-title{
  display:none;
}
@media (max-width:900px){
  .hero.v5 .hero-grid{
    grid-template-columns:1fr;
  }
  .hero-logo-lockup{
    padding:18px;
  }
}


/* v7 final polish */
.footer{
  background:#14243A;
}
.footer-bottom{
  border-top:1px solid rgba(228,201,120,.22);
}
.footer a:hover{
  color:#E4C978;
}
.footer-logo{
  border:1px solid rgba(201,163,78,.25);
}
.header{
  box-shadow:0 6px 26px rgba(20,36,58,.04);
}
.page-hero{
  background:linear-gradient(180deg,#fff,#FAF8F2);
}
.service-block h2{
  max-width:900px;
}


/* v8 final portrait and spacing polish */
.portrait-photo{
  object-position:center;
  background:#14243A;
}
.bio-card{
  border-color:rgba(201,163,78,.18);
}
.hero-logo-lockup{
  box-shadow:0 24px 78px rgba(20,36,58,.09);
}
.footer{
  background:#14243A !important;
}
.footer-logo{
  background:#fff;
}


/* v9 final logo quality fix */
.hero-logo-lockup{
  padding:20px 22px !important;
}
.hero-logo-lockup img{
  width:min(820px,100%) !important;
  image-rendering:auto;
}
.footer-logo{
  max-width:390px;
}
.footer-logo img{
  image-rendering:auto;
}


/* v10 hero badge refinement */
.hero-logo-lockup{
  text-align:center;
}
.hero-badge-wrap{
  margin-top:14px;
  display:flex;
  justify-content:center;
}
.hero-badge-wrap img{
  width:108px;
  height:auto;
  display:block;
  filter:drop-shadow(0 10px 22px rgba(20,36,58,.12));
}
@media (max-width:560px){
  .hero-badge-wrap img{
    width:88px;
  }
}


/* v13 hero badge using PNG asset */
.hero-logo-lockup{ text-align:center; }
.hero-badge-wrap{ margin-top:14px; display:flex; justify-content:center; }
.hero-badge-wrap img{ width:104px; height:auto; display:block; filter:drop-shadow(0 10px 22px rgba(20,36,58,.10)); }
@media (max-width:560px){ .hero-badge-wrap img{ width:86px; } }


/* v14 final hero badge + favicon correction */
.hero-badge-wrap{
  margin-top:8px !important;
  display:flex !important;
  justify-content:center !important;
}
.hero-badge-wrap img{
  width:38px !important;
  height:auto !important;
  display:block !important;
  filter:drop-shadow(0 5px 12px rgba(20,36,58,.08)) !important;
}
@media (max-width:560px){
  .hero-badge-wrap img{
    width:32px !important;
  }
}


/* v15 hero + footer badge refinement */
.hero-badge-wrap{
  margin-top:10px !important;
  display:flex !important;
  justify-content:center !important;
}
.hero-badge-wrap img{
  width:58px !important;
  height:auto !important;
  display:block !important;
  filter:drop-shadow(0 6px 14px rgba(20,36,58,.10)) !important;
}
@media (max-width:560px){
  .hero-badge-wrap img{
    width:48px !important;
  }
}

.footer-brand-block{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.footer-badge{
  width:66px;
  height:66px;
  border-radius:18px;
  display:block;
  flex:0 0 auto;
}
.footer-badge img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
@media (max-width:700px){
  .footer-brand-block{
    gap:14px;
  }
  .footer-badge{
    width:58px;
    height:58px;
  }
}


/* v16 footer redesign */
.footer{
  background:#14243A !important;
  color:rgba(255,255,255,.76);
  padding:62px 0 32px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.35fr .8fr .8fr;
  gap:28px;
  align-items:start;
}
.footer-brand-panel{
  display:flex;
  align-items:center;
  gap:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(228,201,120,.20);
  border-radius:24px;
  padding:18px 20px;
  margin-bottom:18px;
  box-shadow:0 16px 40px rgba(0,0,0,.12);
}
.footer-badge{
  width:74px;
  height:74px;
  flex:0 0 74px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  border-radius:18px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(228,201,120,.16);
}
.footer-badge img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.footer-logo{
  max-width:none;
  width:auto;
  margin:0;
  background:transparent;
  border:0;
  padding:0;
  flex:1;
}
.footer-logo img{
  width:min(100%, 360px);
  height:auto;
  display:block;
}
.footer-summary{
  max-width:52ch;
  margin:0;
  color:rgba(255,255,255,.76);
}
.footer-links-card{
  min-height:100%;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(228,201,120,.14);
  border-radius:22px;
  padding:18px 20px;
}
.footer-links-card strong{
  display:block;
  color:#E4C978;
  font-size:.76rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.footer-links-stack{
  display:grid;
  gap:0;
}
.footer-link{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  margin:0 !important;
  padding:11px 0;
  color:#fff !important;
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:color .2s ease, transform .2s ease;
}
.footer-link:last-child{
  border-bottom:0;
}
.footer-link::after{
  content:"↗";
  font-size:.82rem;
  color:rgba(228,201,120,.70);
  transform:translateX(0);
  transition:transform .2s ease, color .2s ease, opacity .2s ease;
  opacity:.8;
}
.footer-link:hover{
  color:#E4C978 !important;
  transform:translateX(1px);
}
.footer-link:hover::after{
  color:#fff;
  transform:translateX(3px);
  opacity:1;
}
.footer-bottom{
  border-top:1px solid rgba(228,201,120,.20);
  margin-top:34px;
  padding-top:18px;
  text-align:center;
  font-size:.84rem;
  color:rgba(255,255,255,.64);
}
@media (max-width:900px){
  .footer-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .footer-brand-panel{
    padding:16px 18px;
  }
  .footer-badge{
    width:66px;
    height:66px;
    flex-basis:66px;
  }
}


/* v17 footer uses supplied horizontal logo with badge/tagline */
.footer-brand-panel{
  display:block !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(228,201,120,.26) !important;
  border-radius:24px !important;
  padding:20px 24px !important;
  margin-bottom:18px !important;
  box-shadow:0 16px 40px rgba(0,0,0,.12) !important;
}
.footer-horizontal-logo{
  width:min(100%, 560px);
  height:auto;
  display:block;
}
.footer-logo,
.footer-badge{
  display:none !important;
}
@media (max-width:700px){
  .footer-brand-panel{
    padding:16px 18px !important;
  }
}


/* v18 final brand-color polish: no black; Stinson navy throughout */
:root{
  --navy:#14243A;
  --navy-2:#1D3557;
  --blue-deep:#14243A;
  --text:#14243A;
}
body{
  color:#14243A;
}
h1,h2,h3,.serif{
  color:#14243A;
}
.page-hero h1,
.page-hero .section-intro,
.content-narrow,
.service-block,
.service-block p,
.content-narrow p,
.content-narrow h3,
.bio-rich,
.bio-rich p,
.bio-rich li,
.privacy-policy,
.disclaimer-terms{
  color:#14243A;
}
.small,
.small-muted,
.section-intro,
.service-block p,
.bio-rich ul,
.education-item span{
  color:#4E5A6B;
}
a{
  color:#14243A;
}
.footer,
.dark-section{
  background:#14243A !important;
}
.footer p,
.footer-bottom,
.dark-section p{
  color:rgba(255,255,255,.74);
}
.footer-link{
  color:#fff !important;
}
