:root{
  --navy:#0B2840; --navy-soft:#12354F; --teal:#1A8FA8; --teal-pale:#EDF5F7;
  --gold:#C49030; --white:#FFFFFF; --pearl:#F7F9FA;
  --teal-dk:#146B7E; --teal-br:#5FC2D6;
  --slate:#1F3346; --slate-mid:#4E6274; --ink:#1A2430; --line:#E1E8ED;
  --read:730px; --wide:1180px; --r:6px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--slate);background:var(--white);
  line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

/* ---------- HEADER ---------- */
#hdr{position:sticky;top:0;z-index:900;background:var(--white);border-bottom:1px solid var(--line);
  padding:0 3rem;height:118px;display:flex;align-items:center;justify-content:space-between;transition:box-shadow .25s}
#hdr.scrolled{box-shadow:0 1px 18px rgba(11,40,64,.07)}
.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}
.brand img{height:82px;width:auto}
.brand-name{font-family:'Playfair Display',serif;font-size:2.05rem;font-weight:600;
  color:var(--navy);letter-spacing:-.015em;display:block;line-height:1}
.brand-sub{font-size:.82rem;letter-spacing:.26em;text-transform:uppercase;color:#8B5E34;
  font-weight:600;margin-top:8px;display:block}
.nav{display:flex;align-items:center;gap:1.75rem;list-style:none;margin-left:auto;margin-right:2.5rem}
.nav>li>a{font-size:.96rem;font-weight:600;color:var(--navy);letter-spacing:.005em;
  transition:color .2s;white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent;display:block}
.nav>li>a:hover{color:var(--teal-dk)}
.nav>li>a.on{color:var(--teal-dk);border-bottom-color:var(--teal-dk)}
.dd{position:relative}
.dd>a::after{content:' \25BE';font-size:.66rem;opacity:.65}
.dd-menu{position:absolute;top:calc(100% + 30px);left:50%;transform:translateX(-50%);
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:4px 0;min-width:340px;
  box-shadow:0 12px 30px rgba(11,40,64,.09);opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible}
.dd-menu a{display:block;padding:14px 22px;font-size:.9rem;font-weight:500;color:var(--navy);transition:background .15s,color .15s}
.dd-menu a:hover{background:var(--pearl);color:var(--navy)}
.hdr-cta{background:var(--gold);color:var(--white);border:none;padding:.8rem 1.7rem;border-radius:var(--r);
  font-family:'Inter',sans-serif;font-weight:600;font-size:.92rem;letter-spacing:.04em;
  cursor:pointer;transition:background .2s;white-space:nowrap;flex-shrink:0;display:inline-block}
.hdr-cta:hover{background:#A87824}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--navy)}
.burger span{display:block;width:22px;height:1.5px;background:var(--navy);margin:5px 0;transition:.25s}
#mnav{display:none;background:var(--white);border-bottom:1px solid var(--line);padding:1rem 1.75rem 1.75rem}
#mnav.open{display:block}
#mnav a{display:block;padding:.9rem 0;font-size:1rem;font-weight:600;color:var(--navy);border-bottom:1px solid var(--line)}
#mnav a:last-child{border-bottom:none}
#mnav .sub{padding-left:1.25rem;font-size:.92rem;font-weight:500;color:var(--slate-mid)}

/* ---------- TYPE ---------- */
.eyebrow{font-size:.88rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--teal-dk);display:block;margin-bottom:1.5rem}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.7rem,5.4vw,4.05rem);
  font-weight:600;color:var(--white);line-height:1.11;letter-spacing:-.022em}
.h1{font-family:'Playfair Display',serif;font-size:clamp(2.1rem,4.2vw,3.05rem);font-weight:600;
  color:var(--navy);line-height:1.16;letter-spacing:-.018em}
.h2{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,3.2vw,2.45rem);font-weight:600;
  color:var(--navy);line-height:1.22;letter-spacing:-.012em}
.h3{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:500;color:var(--navy);line-height:1.32}
.h4{font-size:1.1rem;font-weight:600;color:var(--navy);line-height:1.4;letter-spacing:-.005em}
.lead{font-size:1.27rem;color:var(--ink);line-height:1.78;font-weight:400}
.body{font-size:1.15rem;color:var(--ink);line-height:1.8;font-weight:400}
.small{font-size:1.06rem;color:var(--ink);line-height:1.76;font-weight:400}
.mt1{margin-top:1rem}.mt2{margin-top:2rem}.mt3{margin-top:3rem}.mt4{margin-top:4rem}
.mb2{margin-bottom:2rem}.mb3{margin-bottom:3rem}
.rule{width:44px;height:1px;background:var(--gold);margin:2.25rem 0}

/* ---------- LAYOUT ---------- */
.sec{padding:4.75rem 3rem}
.pearl{background:var(--pearl)}
.navy{background:var(--navy)}
.wrap{max-width:var(--wide);margin:0 auto}
.read{max-width:var(--read)}

/* ---------- HERO ---------- */
.hero{background:var(--navy);padding:7rem 3rem 6rem;position:relative;overflow:hidden}
.hero-inner{max-width:var(--wide);margin:0 auto;position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 380px;gap:5rem;align-items:center}
.hero .eyebrow{color:var(--teal-br);opacity:.95}
.hero-sig{font-family:'Playfair Display',serif;font-size:clamp(1.15rem,2vw,1.45rem);
  color:var(--gold);line-height:1.5;margin-top:1.9rem;font-weight:500}
.hero-body{font-size:1.03rem;color:rgba(255,255,255,.6);line-height:1.9;max-width:600px;margin-top:2.25rem}
.hero-viz{opacity:.92}

/* ---------- PAGE HEAD ---------- */
.phead{padding:5rem 3rem 3.25rem;border-bottom:1px solid var(--line)}
.phead .lead{margin-top:2rem}

/* ---------- PRACTICE AREAS ---------- */
.pa{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.pa-item{padding:4.25rem 3.5rem;border-bottom:1px solid var(--line);transition:background .3s;position:relative;display:block}
.pa-item:first-child{border-right:1px solid var(--line)}
.pa-item:hover{background:var(--pearl)}
.pa-num{font-family:'Playfair Display',serif;font-size:2.7rem;color:var(--line);
  line-height:1;display:block;margin-bottom:1.75rem;transition:color .3s}
.pa-item:hover .pa-num{color:var(--teal)}
.pa-meta{font-size:1rem;color:var(--ink);letter-spacing:.02em;margin-top:1.35rem}
.pa-arw{position:absolute;right:3.5rem;bottom:4.25rem;color:var(--teal);font-size:1.1rem;
  opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s}
.pa-item:hover .pa-arw{opacity:1;transform:translateX(0)}

/* ---------- VISION ---------- */
.vision{background:var(--teal-pale);border-left:2px solid var(--teal);border-radius:0 var(--r) var(--r) 0;
  padding:3rem 3.25rem;max-width:var(--read)}
.vision p{font-family:'Playfair Display',serif;font-size:clamp(1.3rem,2.4vw,1.72rem);
  color:var(--navy);line-height:1.5;font-weight:500;letter-spacing:-.01em}

/* ---------- NUMBERED LIST ---------- */
.nlist{border-top:1px solid var(--line)}
.nitem{display:grid;grid-template-columns:70px 1fr;gap:2.5rem;padding:2.75rem 0;border-bottom:1px solid var(--line)}
.nitem-n{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--teal);line-height:1.2;font-weight:500}
.nitem .h4{font-size:1.24rem;margin-bottom:.7rem}

/* ---------- QUIET GRID ---------- */
.qlist{display:grid;grid-template-columns:1fr 1fr;gap:0 4.5rem}
.qitem{padding:2.4rem 0;border-bottom:1px solid var(--line)}
.qitem .h4{margin-bottom:.6rem}
.qitem:first-child,.qitem:nth-child(2){border-top:1px solid var(--line)}

/* ---------- PROCESS ---------- */
.proc{display:grid;gap:2.5rem;margin-top:3.5rem}
.proc-5{grid-template-columns:repeat(5,1fr)}
.proc-4{grid-template-columns:repeat(4,1fr)}
.proc-i{border-top:1px solid var(--line);padding-top:1.5rem}
.proc-n{font-size:.72rem;color:var(--teal);letter-spacing:.18em;display:block;margin-bottom:.75rem}
.proc-i .h4{font-size:1.08rem;margin-bottom:.6rem}
.proc-i p{font-size:1.04rem;line-height:1.7;color:var(--ink)}

/* ---------- ECOSYSTEM ---------- */
.eco{max-width:620px;margin:0 auto}
.eco-t{padding:2.2rem 2.5rem;border:1px solid rgba(255,255,255,.2);border-radius:var(--r);text-align:center}
.eco-c{padding:3.25rem 2.5rem;border:1px solid var(--gold);border-radius:var(--r);
  text-align:center;background:var(--navy-soft)}
.eco-lbl{font-size:.92rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--white);margin-bottom:.9rem}
.eco-c .eco-lbl{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:600;
  letter-spacing:.01em;text-transform:none;color:var(--white);margin-bottom:1.25rem}
.eco-sub{font-size:.95rem;color:rgba(255,255,255,.62);line-height:1.8}
.eco-c .eco-sub{font-size:1.05rem;color:rgba(255,255,255,.88);line-height:1.9}
.eco-arw{text-align:center;color:var(--teal-br);font-size:1.6rem;padding:1.4rem 0;line-height:1;opacity:.65}

/* ---------- PATHWAY ---------- */
.path{position:relative;margin-top:3.5rem}
.path-line{position:absolute;top:7px;left:6%;right:6%;height:1px;background:var(--line)}
.path-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}
.path-i{text-align:center;padding:0 .5rem}
.path-dot{width:15px;height:15px;border-radius:50%;background:var(--white);
  border:1.5px solid var(--teal);margin:0 auto 1.75rem;position:relative;z-index:1}
.path-i .h4{font-size:1.05rem;line-height:1.45}
.path-bridge{margin-top:3.25rem;border-top:1px solid var(--line);padding-top:1.6rem;
  display:flex;align-items:baseline;gap:1.25rem;flex-wrap:wrap}
.path-bridge-l{font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--teal-dk);white-space:nowrap}
.path-bridge p{font-size:.98rem;color:var(--slate-mid);line-height:1.75;flex:1;min-width:260px}

/* ---------- STAT ---------- */
.stat{border-left:2px solid var(--gold);padding:.4rem 0 .4rem 2rem;margin:2.5rem 0}
.statement{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,2.9vw,2.05rem);
  font-weight:600;color:var(--navy);line-height:1.4;letter-spacing:-.012em;
  border-top:1px solid var(--line);padding-top:2.5rem}
.stat-v{font-family:'Playfair Display',serif;font-size:2.6rem;color:var(--navy);line-height:1;display:block}
.stat-l{font-size:1.04rem;color:var(--ink);margin-top:.6rem;display:block}

/* ---------- FOUNDER ---------- */
.f-grid{display:grid;grid-template-columns:400px 1fr;gap:5.5rem;align-items:start}
.f-img{width:100%;border-radius:4px;filter:grayscale(10%)}
.f-name{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:600;
  color:var(--navy);line-height:1.15;letter-spacing:-.02em}
.f-role{font-size:1.02rem;color:var(--ink);letter-spacing:.03em;margin-top:.85rem}
.f-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:5rem}
.f-s{padding:2.4rem 1.75rem;border-right:1px solid var(--line)}
.f-s:last-child{border-right:none}
.f-s-v{font-family:'Playfair Display',serif;font-size:1.55rem;color:var(--navy);
  line-height:1.15;display:block;margin-bottom:.55rem}
.f-s-l{font-size:.94rem;color:var(--ink);line-height:1.6;display:block}
.f-link{font-size:.9rem;color:var(--teal);border-bottom:1px solid transparent;transition:border-color .2s}
.f-link:hover{border-bottom-color:var(--teal)}

/* ---------- CONTACT ---------- */
.cwrap{max-width:640px;margin:0 auto}
.fg{margin-bottom:2rem}
.fg label{display:block;font-size:.72rem;font-weight:500;color:var(--navy);
  margin-bottom:.7rem;letter-spacing:.16em;text-transform:uppercase}
.fg input,.fg select,.fg textarea{width:100%;padding:.85rem 0;border:none;border-bottom:1px solid var(--line);
  font-family:'Inter',sans-serif;font-size:1rem;color:var(--slate);background:transparent;outline:none;transition:border-color .2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-bottom-color:var(--teal)}
.fg textarea{height:100px;resize:vertical}
.fg select{cursor:pointer}
.send{background:var(--gold);color:var(--white);border:none;padding:1rem 2.6rem;border-radius:var(--r);
  font-family:'Inter',sans-serif;font-weight:500;font-size:.88rem;letter-spacing:.05em;
  cursor:pointer;transition:background .2s;margin-top:1.5rem}
.send:hover{background:#A87824}
.cmeta{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--line);font-size:.95rem;color:var(--slate-mid)}
.cmeta a{color:var(--teal)}

/* ---------- FOOTER ---------- */
footer{background:var(--navy);padding:3.25rem 3rem 2.25rem}
.f-in{max-width:var(--wide);margin:0 auto;text-align:center}
.f-logo{height:92px;width:auto;margin:0 auto 1.1rem}
.f-brand{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:600;color:var(--white);display:block}
.f-prom{font-family:'Playfair Display',serif;font-style:italic;font-size:1rem;
  color:var(--gold);margin-top:.5rem;display:block}
.f-nav{display:flex;flex-wrap:wrap;gap:1.75rem;justify-content:center;margin:2rem 0 1.75rem;
  padding:1.6rem 0;border-top:1px solid rgba(196,144,48,.28);border-bottom:1px solid rgba(196,144,48,.28)}
.f-nav a{font-size:.85rem;color:rgba(255,255,255,.8);transition:color .2s;letter-spacing:.02em}
.f-nav a:hover{color:var(--gold)}
.f-sig{font-size:1rem;color:var(--gold);letter-spacing:.09em;font-weight:500}
.f-copy{font-size:.8rem;color:rgba(255,255,255,.5);margin-top:.7rem;letter-spacing:.04em}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1150px){
  .nav{display:none}.burger{display:block}
  #hdr{padding:0 1.75rem;height:96px}
  .brand img{height:64px}.brand-name{font-size:1.55rem}
  .hero-inner{grid-template-columns:1fr;gap:3rem}
  .hero-viz{max-width:340px}
}
@media(max-width:900px){
  .sec{padding:3.25rem 1.75rem}
  .phead{padding:3.25rem 1.75rem 2.5rem}
  .hero{padding:5rem 1.75rem 4.5rem}
  .pa{grid-template-columns:1fr}
  .pa-item{padding:3rem 1.75rem}
  .pa-item:first-child{border-right:none}
  .pa-arw{right:1.75rem;bottom:3rem;opacity:1;transform:none}
  .qlist{grid-template-columns:1fr;gap:0}
  .qitem:nth-child(2){border-top:none}
  .proc-5,.proc-4{grid-template-columns:1fr 1fr;gap:2rem}
  .path-row{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem}
  .path-line{display:none}
  .f-grid{grid-template-columns:1fr;gap:2.75rem}
  .f-strip{grid-template-columns:1fr 1fr}
  .f-s{border-bottom:1px solid var(--line)}
  .f-s:nth-child(2){border-right:none}
  .vision{padding:2.25rem}
  .nitem{grid-template-columns:1fr;gap:.75rem}
  footer{padding:2.75rem 1.75rem 2rem}
  .f-logo{height:74px}
}
@media(max-width:600px){
  .proc-5,.proc-4,.path-row,.f-strip{grid-template-columns:1fr}
  .f-s{border-right:none}
  .f-nav{gap:1.25rem}
}

/* ---------- LINK EMPHASIS ---------- */
.head-row{display:flex;align-items:baseline;justify-content:space-between;gap:2rem 3rem;flex-wrap:wrap;margin-bottom:0}
.head-link{font-size:.95rem;font-weight:600;color:var(--teal-dk);letter-spacing:.02em;
  border-bottom:1px solid rgba(20,107,126,.35);transition:border-color .2s;white-space:nowrap}
.head-link:hover{border-bottom-color:var(--teal-dk)}
.knowmore{font-size:1.12rem;font-weight:500;color:var(--slate);margin-top:3.5rem}
.knowmore a{color:var(--teal-dk);font-weight:600;border-bottom:1px solid rgba(20,107,126,.4);transition:border-color .2s}
.knowmore a:hover{border-bottom-color:var(--teal-dk)}
.knowmore-link{font-size:1.1rem;font-weight:600;color:var(--teal-dk);
  border-bottom:1px solid rgba(20,107,126,.4);transition:border-color .2s;display:inline-block}
.knowmore-link:hover{border-bottom-color:var(--teal-dk)}
.email-link{display:inline-flex;align-items:center;gap:.7rem;font-size:1.22rem;font-weight:600;
  color:var(--teal-dk);letter-spacing:.01em}
.email-link svg{width:22px;height:22px;flex-shrink:0}
.email-link:hover{color:var(--navy)}
.contact-item{display:flex;align-items:flex-start;gap:1rem;font-size:1.1rem;font-weight:600;
  color:var(--teal-dk);letter-spacing:.01em;margin-bottom:1.15rem;line-height:1.55}
.contact-item svg{width:30px;height:30px;flex-shrink:0;margin-top:1px;color:var(--teal-dk)}
.contact-item:hover{color:var(--navy)}
.contact-addr{font-weight:400;color:var(--ink);cursor:default}
.contact-addr:hover{color:var(--ink)}
.contact-addr svg{color:var(--teal-dk)}

/* ---------- DIAGNOSTICS HEADINGS ---------- */
.page-kicker{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,2.6vw,1.95rem);
  font-weight:600;color:var(--teal-dk);line-height:1.2;letter-spacing:-.01em}
.h2-teal{font-family:'Playfair Display',serif;font-size:clamp(2.1rem,3.6vw,2.75rem);
  font-weight:600;color:var(--teal-dk);line-height:1.2;letter-spacing:-.012em}
/* header link coffee */
.head-link-coffee{font-size:1.1rem;font-weight:600;color:#8B5E34;letter-spacing:.01em;
  border-bottom:1px solid rgba(139,94,52,.4);transition:border-color .2s,color .2s;white-space:nowrap}
.head-link-coffee:hover{color:#6E4926;border-bottom-color:#6E4926}

.h1-black{color:#111820}
