:root{--navy:#0b2545;--navy2:#07192d;--ink:#1a2530;--muted:#65717a;--warm:#f6f4ef;--line:#d8d3c9;--gold:#b49a70;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid #e7e3db}.navrow{height:84px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{text-decoration:none;color:var(--navy);display:flex;flex-direction:column}.brand b{letter-spacing:.19em;font-size:18px}.brand span{font-size:12px;letter-spacing:.27em}.header nav{display:flex;gap:22px;align-items:center}.header nav a{text-decoration:none;color:#33404c;font-size:13px}.cta-sm{border:1px solid var(--navy);padding:9px 12px}.menu{display:none;border:0;background:none;color:var(--navy)}.hero{min-height:720px;position:relative;background:url("assets/hero-family-waterfront.png") center/cover no-repeat;color:white;display:flex;align-items:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,34,.9) 0%,rgba(4,18,34,.77) 43%,rgba(4,18,34,.2) 78%,rgba(4,18,34,.05) 100%)}.hero-copy{position:relative;z-index:1;padding:90px 0;max-width:780px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700;color:#707981;margin-bottom:17px}.light{color:#d8cfbd}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.1;margin-top:0}h1{font-size:68px;letter-spacing:-.03em;margin-bottom:22px}h2{font-size:44px;color:var(--navy);letter-spacing:-.02em;margin-bottom:23px}h3{font-size:24px;color:var(--navy);margin-bottom:12px}.white{color:#fff}.wide{max-width:880px}.hero-line{font:24px/1.45 Georgia,"Times New Roman",serif;color:#f0ece5}.hero-desc{font-size:17px;color:#e2e7ea;max-width:720px}.actions{display:flex;gap:12px;margin-top:28px}.btn{padding:12px 16px;text-decoration:none;font-size:13px;font-weight:700;border:1px solid #fff}.lightbtn{background:#fff;color:var(--navy)}.ghost{color:#fff}.section{padding:94px 0}.warm{background:var(--warm)}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:80px}.lead{font-size:18px}.values{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font:28px Georgia,"Times New Roman",serif;color:var(--navy)}.values em{font-style:normal;color:#806d4e}.grid4,.grid3,.grid5{display:grid;gap:26px}.grid4{grid-template-columns:repeat(4,1fr);margin-top:40px}.grid3{grid-template-columns:repeat(3,1fr)}.grid5{grid-template-columns:repeat(5,1fr)}.grid4 article,.insights article,.grid5 article{border-top:2px solid var(--navy);padding-top:20px}.grid4 p,.grid3 p,.grid5 p{color:var(--muted)}.questions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:38px}.questions blockquote{margin:0;padding:27px 27px 27px 0;border-bottom:1px solid var(--line);font:22px/1.4 Georgia,"Times New Roman",serif;color:#2b3945}.questions blockquote:nth-child(even){padding-left:27px;border-left:1px solid var(--line)}.practice{display:grid;grid-template-columns:320px 1fr;gap:70px}.practice aside{position:sticky;top:110px;align-self:start}.plist{border-top:1px solid #cfc9be}.plist article{display:grid;grid-template-columns:54px 1fr;gap:15px;padding:28px 0;border-bottom:1px solid #cfc9be}.plist article>span{font-size:12px;color:#8a795f;font-weight:700}.plist b{color:#3e4b55}.plist small{color:#786b59}.navy{background:var(--navy);color:#e6ecf0}.advanced-intro{color:#d5dde2}.pull{font:22px/1.5 Georgia,"Times New Roman",serif;color:#fff}.darkcards{margin-top:45px}.darkcards article{border-top:1px solid rgba(255,255,255,.25);padding-top:19px}.darkcards h3{color:#fff}.darkcards p{color:#c8d1d7}.dual{display:grid;grid-template-columns:1fr 1fr;gap:76px}.dual article+article{border-left:1px solid var(--line);padding-left:55px}.dual li{margin-bottom:4px;color:#5f6870}.quote{font:20px/1.5 Georgia,"Times New Roman",serif;color:var(--navy)}.path{font:30px Georgia,"Times New Roman",serif;color:var(--navy);display:flex;gap:13px;flex-wrap:wrap;margin:24px 0 45px}.path i{font-style:normal;color:var(--gold)}.grid5 article p,.grid5 article b{font-size:14px}.fourlines{display:grid;grid-template-columns:1fr 1fr;gap:8px 38px;margin-top:52px;border-top:1px solid var(--line);padding-top:27px;font:22px Georgia,"Times New Roman",serif;color:var(--navy)}.fourlines p{margin:0}.journey{display:grid;grid-template-columns:1.1fr 1fr;gap:75px}.big{font-size:18px;color:#dce3e7}.steps article{display:grid;grid-template-columns:38px 1fr;gap:7px 12px;border-top:1px solid rgba(255,255,255,.25);padding:17px 0}.steps span{grid-row:1/3;color:#c9b997;font-size:12px}.steps h3{color:#fff;font-size:20px;margin:0}.steps p{margin:0;color:#c7d0d6}.signature{margin-top:52px;padding-top:26px;border-top:1px solid rgba(255,255,255,.3);font:29px Georgia,"Times New Roman",serif;color:#fff}.founder{display:grid;grid-template-columns:380px 1fr;gap:68px}.portrait{background:#eee9e1;overflow:hidden}.portrait img{width:100%;display:block}.credentials{font-weight:700;color:#7d6949}.badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.badges span{border:1px solid #c9c2b6;padding:7px 10px;font-size:12px}.vision{background:var(--navy2);color:#e6ebee;text-align:center}.center{max-width:960px}.vision p{font-size:18px}.visionquote{font:25px/1.5 Georgia,"Times New Roman",serif!important;color:#fff;margin:28px auto}.vpairs{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin-top:30px;color:#d2c2a6;font:21px Georgia,"Times New Roman",serif}.insights{margin-top:38px}.insights small{color:#8a7654;font-weight:700;letter-spacing:.12em}.resources{margin-top:38px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:#69737b}.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:75px}.contactsteps{margin-top:28px}.contactsteps article{border-top:1px solid #bfb8ad;padding-top:13px}.contactsteps span{font-size:11px;color:#8e795b}.contactsteps h3{font-size:18px;margin:5px 0}.contact form{background:#fff;border:1px solid #ddd7cd;padding:32px}.contact label{display:block;font-size:12px;font-weight:700;margin-bottom:14px}.contact input,.contact textarea{width:100%;margin-top:6px;padding:11px;border:1px solid #cec7bc;font:inherit}.contact button{width:100%;background:var(--navy);color:#fff;border:0;padding:13px;font-weight:700}.contact form small{display:block;margin-top:12px;color:#727b82}footer{background:#061526;color:#bdc8cf;padding:50px 0 26px;font-size:13px}.footgrid{display:grid;grid-template-columns:1.1fr 1fr .8fr 1.25fr;gap:32px}.footgrid>div:first-child{display:flex;flex-direction:column}.footgrid>div:first-child b{color:#fff;letter-spacing:.17em}.footgrid>div:first-child span{letter-spacing:.2em}.footgrid strong{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:30px;padding-top:20px;font-size:11px}@media(max-width:1020px){.header nav{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;padding:22px;flex-direction:column;align-items:flex-start}.header nav.open{display:flex}.menu{display:block}.grid4{grid-template-columns:1fr 1fr}.grid5{grid-template-columns:1fr 1fr}.practice{grid-template-columns:1fr}.practice aside{position:static}.founder{grid-template-columns:320px 1fr}.footgrid{grid-template-columns:1fr 1fr}}@media(max-width:740px){.wrap{width:min(var(--max),calc(100% - 30px))}.section{padding:70px 0}.hero{min-height:680px}h1{font-size:44px}h2{font-size:35px}.hero-line{font-size:20px}.split,.dual,.journey,.founder,.contact{grid-template-columns:1fr;gap:32px}.grid4,.grid3,.grid5{grid-template-columns:1fr}.questions{grid-template-columns:1fr}.questions blockquote:nth-child(even){padding-left:0;border-left:0}.dual article+article{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:32px}.fourlines{grid-template-columns:1fr}.footgrid{grid-template-columns:1fr}}
.hero-secondary{max-width:700px;margin-top:-4px;color:#d6dde2}.wealth-belief{max-width:920px;margin-bottom:38px}.wealth-belief p{font-size:18px;color:#4f5b65;max-width:880px}.approach-divider{height:1px;background:var(--line);margin:42px 0 34px}.fgwi{background:#fff}.fgwi-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;font-size:18px;margin:28px 0 42px}.fgwi-grid article{border-top:1px solid var(--line);padding-top:20px}.team{background:#fff}.team-intro{font-size:18px;max-width:920px;margin-bottom:48px}.team-grid{display:grid;gap:70px}.team-profile{display:grid;grid-template-columns:340px 1fr;gap:60px;align-items:start;padding-top:34px;border-top:1px solid var(--line)}.team-profile h4{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:20px;font-weight:400;margin:18px 0 10px}.profile-tags{margin-top:22px;color:#756b5c;font-size:13px}.peter-placeholder{min-height:420px;background:var(--warm);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line)}.peter-initials{font-family:Georgia,"Times New Roman",serif;font-size:58px;color:var(--navy);letter-spacing:.08em}.peter-photo-note{font-size:12px;color:#7c858b;margin-top:10px}.professional-note{margin-top:24px;padding:20px 22px;background:var(--warm);border-left:3px solid var(--gold)}.professional-note strong{color:var(--navy)}.professional-note p{margin-bottom:0}.license-note{font-size:12px;color:#6d757b;margin-top:16px}.integration-model{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:20px;align-items:center;margin-top:62px;padding-top:32px;border-top:1px solid var(--line)}.integration-model>div:not(.plus):not(.equals){display:flex;flex-direction:column}.integration-model span{font:22px Georgia,"Times New Roman",serif;color:var(--navy)}.integration-model small{color:#6b747c;margin-top:6px}.plus,.equals{font:28px Georgia,"Times New Roman",serif;color:var(--gold)}.vision-mantra{font:28px Georgia,"Times New Roman",serif!important;color:#d4c5a8!important;margin:32px auto 20px}@media(max-width:900px){.fgwi-intro,.team-profile{grid-template-columns:1fr}.integration-model{grid-template-columns:1fr}.plus,.equals{text-align:left}}


/* V2.2 integrated three-person Team */
.team-v22 .team-intro{max-width:980px}
.team-v22 .team-grid{gap:82px}
.team-v22 .team-profile{grid-template-columns:330px minmax(0,1fr);gap:62px;padding-top:42px}
.team-v22 .portrait-wrap{
  position:sticky; top:108px; overflow:hidden; background:#f0f0ec;
  aspect-ratio:4/5; border:1px solid var(--line);
}
.team-v22 .portrait-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.team-v22 .greg-portrait img{object-position:center top}
.photo-source-note{position:absolute;left:10px;right:10px;bottom:8px;font-size:10px;letter-spacing:.04em;color:#fff;background:rgba(8,29,51,.68);padding:5px 7px;text-align:center}
.team-v22 .profile-copy>h3{font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:400;color:var(--navy);margin:30px 0 10px}
.team-v22 .bio-question{font-size:25px!important;line-height:1.3;margin-top:20px!important}
.team-quote{font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.55;color:var(--navy);margin:24px 0;padding:18px 22px;border-left:2px solid var(--gold);background:var(--warm)}
.capital-list{margin:12px 0 22px;padding-left:20px}
.capital-list li{margin:9px 0;color:#4f5960}
.integration-model-3{grid-template-columns:1fr auto 1fr auto 1fr;margin-bottom:22px}
.team-outcome{text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:28px;color:var(--navy);padding:20px 0 6px}
@media(max-width:900px){
  .team-v22 .team-profile{grid-template-columns:1fr}
  .team-v22 .portrait-wrap{position:relative;top:auto;max-width:420px}
  .integration-model-3{grid-template-columns:1fr}
}

/* V4.1 final layout corrections */
.hero h1{color:#fff;}
.hero .eyebrow{color:#d8cfbd;}
.hero{min-height:700px;}
.team-v22 .portrait-wrap{
  aspect-ratio:4/5;
  max-height:360px;
  background:#f3f1ed;
}
.team-v22 .portrait-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.team-v22 .greg-portrait img{
  object-position:center top;
}
@media(max-width:900px){
  .team-v22 .portrait-wrap{max-height:none;max-width:380px;}
}


/* =========================================================
   V5 MEETING-NOTE REVISIONS
   ========================================================= */
:root{--earth-gold:#a67c3a;--earth-gold-dark:#8b652d}

.brand span{font-size:14px;letter-spacing:.22em;font-weight:600}

/* stronger section labels per meeting note */
.eyebrow{
  font-size:14px;
  letter-spacing:.16em;
  font-weight:800;
  color:var(--earth-gold);
  margin-bottom:18px;
}
.light{color:#d2b777}

/* hero simplified: no private-client label / long descriptor */
.hero{min-height:650px}
.hero-copy{max-width:650px}
.hero h1{font-size:70px}
.hero-line{max-width:620px}
.hero .actions{margin-top:34px}

/* Philosophy + vision are one integrated early section */
.philosophy-vision{display:grid;gap:55px}
.philosophy-top{align-items:start}
.vision-inset{
  background:var(--navy2);
  color:#e6ebee;
  padding:58px 64px;
  text-align:center;
}
.vision-inset p{font-size:17px;max-width:900px;margin-left:auto;margin-right:auto}
.vision-inset .visionquote{font-size:24px!important}

/* Client */
.clients-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:42px;
}
.clients-grid article{
  border-top:2px solid var(--earth-gold);
  padding:22px 8px 4px 0;
}
.clients-grid h3{font-size:22px}
.clients-grid p{color:var(--muted)}

/* Practice */
.practice .eyebrow{font-size:15px}
.flat-fee-badge{
  display:inline-block;
  margin:0 0 12px;
  padding:5px 10px;
  border:1px solid var(--earth-gold);
  color:var(--earth-gold-dark);
  font-size:11px;
  letter-spacing:.12em;
  font-weight:800;
}
.plist article:first-child{background:rgba(166,124,58,.055);padding-left:18px;padding-right:18px}

/* Wealth Integration modules: exactly 3 + 3 */
.fgwi-grid-v5{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:42px;
}
.fgwi-grid-v5 article{
  border:1px solid #ded8cd;
  border-top:3px solid var(--earth-gold);
  padding:28px;
  background:#fff;
  min-height:210px;
}
.fgwi-grid-v5 h3{font-size:22px}
.fgwi-grid-v5 p{color:var(--muted);margin-bottom:0}

/* FamilyCare */
.familycare{background:#f7f5f0}
.familycare-hero{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:65px;
  align-items:end;
}
.familycare-lead{font-size:19px;max-width:760px}
.familycare-promise{
  border-left:3px solid var(--earth-gold);
  padding:20px 0 20px 24px;
  font:25px/1.45 Georgia,"Times New Roman",serif;
  color:var(--navy);
}
.familycare-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  margin-top:50px;
}
.familycare-two article{
  background:#fff;
  border-top:3px solid var(--navy);
  padding:30px;
}
.familycare-benefits{
  margin-top:55px;
  padding:42px;
  background:var(--navy);
  color:#e9eef1;
}
.familycare-benefits h3{color:#fff;font-size:30px}
.familycare-benefits>p{color:#d1d9de}
.benefit-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 42px;
  margin-top:22px;
}
.benefit-grid>div{
  padding:15px 0 15px 26px;
  border-top:1px solid rgba(255,255,255,.18);
  position:relative;
}
.benefit-grid>div:before{
  content:"✓";
  position:absolute;
  left:0;
  color:#d7b56d;
  font-weight:700;
}
.familycare-how{margin-top:65px}
.familycare-how>h2{max-width:850px}
.how-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:35px;
}
.how-grid article{border-top:2px solid var(--earth-gold);padding-top:18px}
.how-grid span{font-weight:800;color:var(--earth-gold);font-size:12px}
.how-grid h3{font-size:21px;margin-top:8px}
.familycare-peace{
  margin-top:58px;
  padding:38px 42px;
  background:#fff;
  border-left:4px solid var(--earth-gold);
}
.familycare-peace h3{font-size:28px}
.familycare-peace p{font:20px/1.6 Georgia,"Times New Roman",serif;color:#3b4650}
.familycare-faq{margin-top:62px}
.faq-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 42px;
}
.faq-grid article{border-top:1px solid #cfc8bd;padding:22px 0}
.faq-grid h3{font-size:20px}
.faq-grid p{color:var(--muted)}

/* Team photo proportions: professional headshot blocks, not elongated */
.team-v22 .team-profile{grid-template-columns:300px minmax(0,1fr)}
.team-v22 .portrait-wrap{
  position:sticky;
  top:108px;
  aspect-ratio:1 / 1.08;
  max-height:325px;
  overflow:hidden;
  background:#efede8;
}
.team-v22 .portrait-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.team-v22 .greg-portrait img{object-position:center 18%}
.team-v22 .credential-line{font-weight:700;color:#6e5d41}

@media(max-width:1020px){
  .clients-grid{grid-template-columns:1fr 1fr}
  .fgwi-grid-v5{grid-template-columns:1fr 1fr}
  .familycare-hero{grid-template-columns:1fr}
}
@media(max-width:740px){
  .clients-grid,.fgwi-grid-v5,.familycare-two,.benefit-grid,.how-grid,.faq-grid{grid-template-columns:1fr}
  .vision-inset{padding:42px 24px}
  .team-v22 .portrait-wrap{position:relative;top:auto;max-width:340px}
}


/* =========================================================
   V5.1 — SECOND MEETING-NOTE REVISIONS
   ========================================================= */

/* Hero image remains the approved waterfront image, but the overlay is lighter
   so the site feels warmer and the image reads more clearly. */
.shade{
  background:
    linear-gradient(
      90deg,
      rgba(4,18,34,.66) 0%,
      rgba(4,18,34,.48) 40%,
      rgba(4,18,34,.12) 76%,
      rgba(4,18,34,.02) 100%
    ) !important;
}
.hero{
  background-position:center center !important;
}

/* Section labels: larger, refined, not bold. */
.eyebrow{
  font-size:16px !important;
  letter-spacing:.14em !important;
  font-weight:400 !important;
  color:#a67c3a !important;
}
.eyebrow.light{
  color:#d8bd83 !important;
  font-weight:400 !important;
}

/* Chinese wordmark slightly more prominent. */
.brand span{
  font-size:15px !important;
  font-weight:500 !important;
}

/* Footer disclaimer */
.footer-link{
  color:#d8e0e6;
  text-decoration:none;
}
.footer-link:hover{
  text-decoration:underline;
}
.website-disclaimer{
  border-top:1px solid rgba(255,255,255,.17);
  margin-top:34px;
  padding-top:26px;
  color:#aebac2;
  font-size:11px;
  line-height:1.65;
}
.website-disclaimer strong{
  display:block;
  color:#fff;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.website-disclaimer p{
  margin:7px 0;
  max-width:1120px;
}


/* =========================================================
   V5.2 — NOTE 03: BIGLAW VISUAL REFINEMENT
   ========================================================= */

/* Hero: use the requested city-night image. The opaque left panel hides
   the text baked into the source image and gives a cleaner BigLaw treatment. */
.hero{
  min-height:560px !important;
  background:url("assets/hero-city-night.png") center center/cover no-repeat !important;
  color:#fff;
}
.shade{
  background:
    linear-gradient(
      90deg,
      rgba(5,20,37,.99) 0%,
      rgba(5,20,37,.98) 38%,
      rgba(5,20,37,.94) 50%,
      rgba(5,20,37,.45) 62%,
      rgba(5,20,37,.05) 78%,
      rgba(5,20,37,0) 100%
    ) !important;
}
.hero-copy{
  padding:68px 0 !important;
  max-width:640px !important;
}
.hero h1{
  font-size:56px !important;
  line-height:1.03 !important;
  letter-spacing:-.025em !important;
  margin-bottom:22px !important;
}
.hero-line{
  font-size:20px !important;
  line-height:1.5 !important;
  max-width:580px !important;
}
.hero .actions{margin-top:28px !important}

/* BigLaw-like hierarchy: less oversized, calmer headings. */
h2{
  font-size:38px !important;
  line-height:1.16 !important;
}
h3{
  font-size:21px !important;
  line-height:1.28 !important;
}
.wide{
  max-width:820px !important;
}
.eyebrow{
  font-size:14px !important;
  letter-spacing:.14em !important;
  font-weight:400 !important;
}

/* Reduce excessive vertical gaps between sections. */
.section{
  padding:62px 0 !important;
}
.philosophy-vision{gap:36px !important}
.vision-inset{padding:44px 52px !important}
.vision-inset .visionquote{font-size:21px !important}
.clients-grid,
.fgwi-grid-v5{margin-top:30px !important}
.team-v22 .team-grid{gap:54px !important}
.familycare-how,
.familycare-faq{margin-top:45px !important}
.familycare-benefits{margin-top:40px !important}
.familycare-peace{margin-top:40px !important}

/* Client section: remove the awkward blank band above content. */
#clients{
  padding-top:50px !important;
}
#clients .wide{
  margin-bottom:0 !important;
}
.clients-grid{
  display:grid !important;
  grid-template-columns:repeat(6,1fr) !important;
  gap:24px !important;
}
.clients-grid article{
  grid-column:span 2;
  min-height:170px;
  padding:20px 12px 10px 0 !important;
}
.clients-grid .client-bottom-left{
  grid-column:2 / span 2 !important;
}
.clients-grid .client-bottom-right{
  grid-column:4 / span 2 !important;
}

/* Practice / Approach / Wealth Integration compactness. */
.practice{gap:40px !important}
.plist article{padding:26px 0 !important}
.fgwi-grid-v5{
  gap:22px !important;
}
.fgwi-grid-v5 article{
  min-height:185px !important;
  padding:24px !important;
}

/* FamilyCare: tighter but still readable. */
.familycare-hero{gap:42px !important}
.familycare-two{margin-top:38px !important}
.familycare-two article{padding:26px !important}
.familycare-benefits{padding:34px 38px !important}
.familycare-peace{padding:30px 36px !important}

/* Team: reduce empty air around profiles. */
.team-v22 .team-profile{
  gap:46px !important;
  padding-top:30px !important;
}
.team-intro{margin-bottom:34px !important}

/* Footer: stronger contrast and centered disclaimer. */
footer{
  background:#071b2d !important;
  color:#d5dde2 !important;
}
.footgrid strong{color:#fff !important}
.website-disclaimer{
  max-width:1100px;
  margin:34px auto 0 !important;
  text-align:center !important;
  color:#c4ced5 !important;
  font-size:12px !important;
  line-height:1.7 !important;
}
.website-disclaimer strong{
  text-align:center !important;
  font-size:13px !important;
}
.website-disclaimer p{
  margin:8px auto !important;
  max-width:1040px !important;
}
.copyright{
  text-align:center !important;
  color:#aebbc4 !important;
}

@media(max-width:1020px){
  .clients-grid{
    grid-template-columns:1fr 1fr !important;
  }
  .clients-grid article,
  .clients-grid .client-bottom-left,
  .clients-grid .client-bottom-right{
    grid-column:auto !important;
  }
}

/* v05 Greg biography: preserve the existing profile design while supporting structured lists. */
.bio-details-body > h3:first-child{
  margin-top:0;
}
.greg-bio-list{
  margin:0 0 22px;
  padding-left:22px;
}
.greg-bio-list li{
  margin-bottom:6px;
}
.greg-professional-list{
  margin:12px 0 0;
}
@media(max-width:740px){
  .hero{min-height:520px !important}
  .hero h1{font-size:43px !important}
  h2{font-size:32px !important}
  .section{padding:48px 0 !important}
  .clients-grid{grid-template-columns:1fr !important}
}


/* =========================================================
   V5.3 — NOTE 04: WARMER / MORE EDITORIAL / LESS PPT-LIKE
   ========================================================= */

/* Hero rebuilt as a true two-column editorial composition. */
.hero-v53{
  min-height:560px !important;
  background:#0b3157 !important;
  display:grid !important;
  grid-template-columns:minmax(360px, 34%) 1fr !important;
  align-items:stretch !important;
  position:relative !important;
  overflow:hidden !important;
}
.hero-v53 .shade{
  display:none !important;
}
.hero-v53 .hero-copy{
  width:100% !important;
  max-width:none !important;
  padding:72px 48px 64px max(48px, calc((100vw - 1200px)/2 + 24px)) !important;
  background:#0b3157 !important;
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.hero-v53 .hero-visual{
  min-height:560px;
  background:url("assets/hero-legacy-city-family.jpg") center center/cover no-repeat;
}
.hero-v53 h1{
  font-size:46px !important;
  line-height:1.08 !important;
  color:#fff !important;
  margin-bottom:22px !important;
  max-width:360px;
}
.hero-v53 .hero-line{
  font-size:18px !important;
  line-height:1.55 !important;
  color:#e9eef2 !important;
  max-width:370px !important;
}
.hero-v53 .actions{
  flex-wrap:wrap;
  gap:10px !important;
}
.hero-v53 .btn{
  font-size:12px !important;
  padding:11px 14px !important;
}

/* Editorial rhythm — fewer "boxes", more whitespace and natural page flow. */
.section{
  padding:56px 0 !important;
}
.clients-grid article,
.fgwi-grid-v5 article,
.familycare-two article{
  box-shadow:none !important;
}
.clients-grid article{
  background:transparent !important;
  border-right:none !important;
}
.fgwi-grid-v5 article{
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  background:#fff !important;
}
.familycare-two article{
  background:#fffdf9 !important;
}
#clients,
.familycare{
  background:#f6f3ed !important;
}
#practice,
#approach,
#wealth-integration,
#kay{
  background:#fff !important;
}

/* Lifestyle visual interludes add warmth and break up dense text/modules. */
.life-interlude{
  padding:34px 0 46px;
  background:#fff;
}
.life-interlude-grid{
  display:grid;
  grid-template-columns:1.45fr .75fr;
  gap:38px;
  align-items:center;
}
.life-interlude-grid.reverse{
  grid-template-columns:.75fr 1.45fr;
}
.life-photo{
  min-height:330px;
  background-size:cover;
  background-position:center;
}
.family-life-photo{
  background-image:url("assets/lifestyle-family-waterfront.png");
  background-position:center 74%;
}
.counsel-life-photo{
  background-image:url("assets/lifestyle-private-counsel-office.png");
  background-position:center center;
}
.life-caption{
  padding:28px 12px 28px 6px;
}
.life-caption span{
  display:block;
  color:#9b7538;
  letter-spacing:.14em;
  font-size:12px;
  margin-bottom:16px;
}
.life-caption p{
  margin:0;
  font:28px/1.42 Georgia,"Times New Roman",serif;
  color:#17304a;
}

/* Slightly soften borders/rules for a more lived-in private-client feel. */
.plist article,
.faq-grid article,
.how-grid article{
  border-color:#d9d2c6 !important;
}
.vision-inset{
  box-shadow:none !important;
}
.team-v22 .team-profile{
  border-top-color:#ddd7cd !important;
}

/* Footer remains centered/legible. */
.website-disclaimer{
  max-width:1020px !important;
}

@media(max-width:980px){
  .hero-v53{
    grid-template-columns:1fr !important;
  }
  .hero-v53 .hero-copy{
    padding:56px 36px !important;
  }
  .hero-v53 .hero-visual{
    min-height:390px;
  }
  .life-interlude-grid,
  .life-interlude-grid.reverse{
    grid-template-columns:1fr !important;
  }
  .life-caption{
    padding:8px 0 20px;
  }
}
@media(max-width:650px){
  .hero-v53 h1{font-size:40px !important}
  .hero-v53 .hero-visual{min-height:300px}
  .life-photo{min-height:250px}
  .life-caption p{font-size:24px}
}


/* =========================================================
   V5.4 — BEAUTIFICATION / EDITORIAL PHOTOGRAPHY
   No substantive content changes.
   ========================================================= */

/* Replace the repeated multigenerational image with a quieter waterfront image. */
.family-life-photo-v54{
  background-image:url("assets/lifestyle-waterfront-quiet.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}

/* Replace the prior counsel image with the user's warmer private-office image. */
.counsel-life-photo-v54{
  background-image:url("assets/lifestyle-private-counsel-office-v2.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}

/* One restrained editorial photography composition between Practice and Approach.
   Asymmetric proportions intentionally avoid a slide/card-grid feel. */
.editorial-photo-band{
  background:#fff;
  padding:18px 0 50px;
}
.editorial-photo-layout{
  display:grid;
  grid-template-columns:1.72fr .78fr;
  gap:18px;
  min-height:360px;
}
.editorial-main-photo,
.editorial-small-photo{
  background-size:cover;
  background-position:center;
}
.estate-plan-photo{
  background-image:url("assets/editorial-estate-plan.png");
  min-height:360px;
}
.editorial-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:18px;
}
.global-planning-photo{
  background-image:url("assets/editorial-cross-border-globe.png");
}
.legacy-gift-photo{
  background-image:url("assets/editorial-gift-legacy.png");
}

/* Make lifestyle photography feel editorial rather than boxed. */
.life-interlude{
  padding:26px 0 44px !important;
}
.life-interlude-grid{
  gap:46px !important;
}
.life-photo{
  min-height:350px !important;
  border-radius:0 !important;
}
.life-caption{
  max-width:430px;
}
.life-caption p{
  font-size:26px !important;
  line-height:1.48 !important;
}
.life-caption span{
  font-size:11px !important;
  letter-spacing:.16em !important;
}

/* Slightly more organic page rhythm */
#practice{
  padding-bottom:40px !important;
}
#approach{
  padding-top:48px !important;
}
#wealth-integration{
  padding-top:52px !important;
}
#familycare{
  padding-top:52px !important;
}
#kay{
  padding-top:54px !important;
}

/* Keep the photography subordinate on smaller screens. */
@media(max-width:900px){
  .editorial-photo-layout{
    grid-template-columns:1fr;
  }
  .editorial-side{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }
  .editorial-small-photo{
    min-height:220px;
  }
}
@media(max-width:650px){
  .editorial-side{
    grid-template-columns:1fr;
  }
  .editorial-main-photo{
    min-height:260px;
  }
  .editorial-small-photo{
    min-height:200px;
  }
}


/* =========================================================
   V5.5 — NOTE 06: EDITORIAL FLOW / LESS PPT / COLLAPSIBLE BIOS
   ========================================================= */

/* Cleaner, full-bleed waterfront image specified in Note 06. */
.family-life-photo-v55{
  background-image:url("assets/lifestyle-waterfront-couple-clean.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}

/* Remove the 3-up financial-image collage. Use one strong estate-planning image
   and place the legacy/gift image later in the page. */
.editorial-photo-band{
  padding:20px 0 46px !important;
}
.editorial-story{
  display:grid;
  grid-template-columns:1.48fr .72fr;
  gap:44px;
  align-items:center;
}
.editorial-estate-photo{
  min-height:310px;
  background-image:url("assets/editorial-estate-and-legacy-source.png");
  background-size:auto 100%;
  background-repeat:no-repeat;
  background-position:left center;
  /* source image contains estate-plan image on left + financial icons on right;
     this crop intentionally shows only the estate-plan portion. */
  clip-path:inset(0 49% 0 0);
  width:196%;
  margin-right:-96%;
}
.editorial-story-copy span,
.legacy-copy span{
  display:block;
  color:#9b7538;
  letter-spacing:.15em;
  font-size:11px;
  margin-bottom:16px;
}
.editorial-story-copy p,
.legacy-copy p{
  font:27px/1.48 Georgia,"Times New Roman",serif;
  color:#17304a;
  margin:0;
}

/* Distribute the legacy/gift visual farther down the site. */
.legacy-photo-moment{
  background:#f7f4ee;
  padding:28px 0 50px;
}
.legacy-photo-grid{
  display:grid;
  grid-template-columns:.78fr 1.42fr;
  gap:44px;
  align-items:center;
}
.legacy-copy{padding:22px 0}
.legacy-gift-photo-v55{
  min-height:280px;
  background-image:url("assets/editorial-estate-and-legacy-source.png");
  background-size:auto 100%;
  background-repeat:no-repeat;
  background-position:right center;
  /* Crop to the gift/legacy lower-right visual and exclude globe/dollar icon as much as possible. */
  clip-path:inset(48% 0 0 67%);
  width:300%;
  height:520px;
  margin-left:-200%;
  margin-top:-120px;
  margin-bottom:-120px;
}

/* FamilyCare benefits: no more navy checklist slide. */
.familycare-benefits{
  display:grid !important;
  grid-template-columns:.72fr 1.28fr !important;
  grid-template-areas:
    "title list"
    "intro list" !important;
  gap:8px 54px !important;
  padding:38px 0 !important;
  background:transparent !important;
  color:var(--ink) !important;
  border-top:1px solid #d8d1c5;
  border-bottom:1px solid #d8d1c5;
}
.familycare-benefits h3{
  grid-area:title;
  color:var(--navy) !important;
  font-size:30px !important;
  align-self:end;
}
.familycare-benefits>p{
  grid-area:intro;
  color:var(--muted) !important;
  margin-top:0;
  align-self:start;
}
.familycare-benefits .benefit-grid{
  grid-area:list;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  margin-top:0 !important;
}
.familycare-benefits .benefit-grid>div{
  color:#36434e !important;
  border-top:1px solid #ded8ce !important;
  padding:14px 0 14px 27px !important;
}
.familycare-benefits .benefit-grid>div:first-child{
  border-top:0 !important;
}
.familycare-benefits .benefit-grid>div:before{
  color:#9b7538 !important;
}

/* Team: show concise intros; long biographies expand only when requested. */
.team-v22 .team-profile{
  align-items:start !important;
}
.bio-details{
  margin-top:22px;
  border-top:1px solid #d9d2c7;
  padding-top:14px;
}
.bio-details summary{
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--navy);
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:700;
  list-style:none;
  padding:8px 0;
}
.bio-details summary::-webkit-details-marker{display:none}
.bio-details summary:after{
  content:"+";
  font-size:18px;
  font-weight:400;
  color:#a67c3a;
}
.bio-details[open] summary:after{content:"–"}
.bio-details-body{
  padding-top:18px;
}
.bio-details-body h3{
  margin-top:28px;
}
.bio-details-body .professional-note{
  margin-top:24px;
}

/* More natural section transitions; less stacked-card rhythm. */
.life-interlude{
  background:#fff !important;
}
#approach{
  border-top:0 !important;
}
#wealth-integration{
  border-top:0 !important;
}
.familycare{
  border-top:0 !important;
}
.team{
  border-top:0 !important;
}

/* slightly varied editorial section spacing */
#clients{padding-bottom:50px !important}
#practice{padding-top:50px !important;padding-bottom:34px !important}
#approach{padding-top:38px !important;padding-bottom:48px !important}
#wealth-integration{padding-top:48px !important;padding-bottom:46px !important}
#familycare{padding-top:46px !important;padding-bottom:48px !important}
#kay{padding-top:46px !important}

/* Prevent everything from feeling centered/slide-like. */
.section-title,
.team-intro{
  max-width:900px;
}
.team-intro{
  margin-left:0 !important;
}

/* responsive */
@media(max-width:900px){
  .editorial-story,
  .legacy-photo-grid,
  .familycare-benefits{
    grid-template-columns:1fr !important;
  }
  .familycare-benefits{
    grid-template-areas:"title" "intro" "list" !important;
    gap:10px !important;
  }
  .editorial-estate-photo{
    clip-path:none;
    width:100%;
    margin-right:0;
    background-size:cover;
    background-position:left center;
  }
  .legacy-gift-photo-v55{
    clip-path:none;
    width:100%;
    height:auto;
    min-height:250px;
    margin:0;
    background-size:cover;
    background-position:right bottom;
  }
}


/* =========================================================
   V5.6 — MEETING NOTE 07 REVISIONS
   ========================================================= */
.familycare-v56{padding-top:56px !important}
.familycare-v56 .familycare-hero{align-items:start;gap:72px}
.familycare-v56 .familycare-sublead{
  font:30px/1.3 Georgia,"Times New Roman",serif;
  color:var(--navy);
  max-width:760px;
  margin:6px 0 18px;
}
.familycare-v56 .familycare-lead{
  font-size:18px;
  max-width:880px;
}
.familycare-v56 .familycare-pillars{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
  margin-top:46px;
}
.familycare-v56 .familycare-pillars article{
  background:#faf8f2;
  border-top:2px solid #d6c8b1;
  padding:22px 22px 20px;
}
.familycare-v56 .familycare-pillars span{
  display:block;
  color:#9b7538;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.familycare-v56 .familycare-pillars h3{
  font-size:24px;
  line-height:1.35;
  margin:0 0 12px;
}
.familycare-v56 .familycare-pillars p{font-size:16px;color:var(--muted)}
.familycare-v56 .familycare-two{margin-top:42px}
.familycare-v56 .familycare-two article{background:#fff;border-top:3px solid var(--navy)}
.familycare-v56 .v56-benefits{
  margin-top:56px;
  display:grid !important;
  grid-template-columns:.86fr 1.14fr !important;
  gap:40px;
  padding:0 !important;
  background:transparent !important;
  color:var(--ink) !important;
  border-top:1px solid #d9d2c7;
  border-bottom:1px solid #d9d2c7;
}
.familycare-v56 .v56-benefits>div:first-child{padding:38px 0}
.familycare-v56 .v56-benefits h3{color:var(--navy) !important;font-size:60px;line-height:1.06;max-width:560px;margin:0 0 26px}
.familycare-v56 .v56-benefits>div:first-child>p{color:var(--muted) !important;font-size:18px;margin:0}
.familycare-v56 .v56-benefits .benefit-grid{display:grid !important;grid-template-columns:1fr !important;gap:0 !important;margin:0}
.familycare-v56 .v56-benefits .benefit-grid>div{
  padding:24px 0 24px 34px !important;
  border-top:1px solid #d9d2c7 !important;
  color:#3f4b54 !important;
  position:relative;
}
.familycare-v56 .v56-benefits .benefit-grid>div:first-child{border-top:0 !important}
.familycare-v56 .v56-benefits .benefit-grid>div:before{
  content:"✓";
  position:absolute;
  left:0;
  top:24px;
  color:#b28332 !important;
  font-weight:700;
}
.familycare-v56 .familycare-how{margin-top:62px}
.familycare-v56 .familycare-how>h2{max-width:1000px;font-size:72px;line-height:1.06}
.familycare-v56 .how-grid article{border-top:1px solid #d7cdbc;padding-top:24px}
.familycare-v56 .how-grid h3{font-size:30px;line-height:1.28}
.familycare-v56 .how-grid p{font-size:16px;max-width:92%;color:var(--muted)}
.familycare-v56 .familycare-closing{
  margin-top:52px;
  max-width:760px;
  padding-top:18px;
  border-top:1px solid #d9d2c7;
}
.familycare-v56 .familycare-closing h3{font-size:30px;margin-bottom:12px}
.familycare-v56 .familycare-closing p{font-size:18px;color:var(--muted)}
.familycare-v56 .familycare-closing-lines{
  margin-top:18px;
  font:28px/1.45 Georgia,"Times New Roman",serif;
  color:var(--navy);
}
/* only show the meaningful gift image in legacy section */
.legacy-gift-photo-v55{
  background-image:url("assets/legacy-gift-only.png") !important;
  clip-path:none !important;
  width:100% !important;
  height:auto !important;
  min-height:250px !important;
  margin:0 !important;
  background-size:cover !important;
  background-position:center center !important;
}
/* team heading updated name */
#kay .team-profile h2{letter-spacing:normal}

@media(max-width:1100px){
  .familycare-v56 .familycare-pillars{grid-template-columns:1fr 1fr}
  .familycare-v56 .v56-benefits{grid-template-columns:1fr !important}
  .familycare-v56 .familycare-how>h2{font-size:54px}
}
@media(max-width:760px){
  .familycare-v56 .familycare-pillars,
  .familycare-v56 .familycare-two,
  .familycare-v56 .how-grid{grid-template-columns:1fr !important}
  .familycare-v56 .familycare-how>h2{font-size:40px}
  .familycare-v56 .v56-benefits h3{font-size:42px}
}


/* =========================================================
   V5.7 — FINAL VISUAL REFINEMENTS FROM NOTE 08
   ========================================================= */

/* 1) Hero left panel: match the deep blue in the sky behind the spire.
   This is intentionally softer and more integrated than the prior navy block. */
.hero-v53{
  background:#123e66 !important;
}
.hero-v53 .hero-copy{
  background:#123e66 !important;
}

/* 2) Estate Plan transition: remove the two small dollar-related images entirely.
   Use a clean standalone crop of the Estate Plan image. */
.editorial-estate-photo{
  background-image:url("assets/editorial-estate-plan-only.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  clip-path:none !important;
  width:100% !important;
  margin:0 !important;
  min-height:330px !important;
}
.editorial-story{
  grid-template-columns:1.42fr .72fr !important;
  gap:42px !important;
  align-items:center !important;
}
.editorial-story-copy{
  max-width:420px;
}

/* 3) Bring the philosophy statements inward; avoid the overly wide,
   empty left/right spread seen in the previous version. */
.fourlines{
  max-width:850px !important;
  margin:42px auto 0 !important;
  grid-template-columns:1fr 1fr !important;
  column-gap:72px !important;
  row-gap:12px !important;
  padding-top:24px !important;
}
.fourlines p{
  max-width:340px;
}
.fourlines p:nth-child(odd){
  justify-self:end;
}
.fourlines p:nth-child(even){
  justify-self:start;
}

/* 4) FamilyCare numbering: larger and more legible. */
.familycare-v56 .familycare-pillars span{
  font-size:16px !important;
  letter-spacing:.06em !important;
  margin-bottom:14px !important;
}
.familycare-v56 .how-grid span{
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:.05em !important;
  color:#a67c3a !important;
}

/* Keep the overall page rhythm restrained. */
#approach{padding-bottom:44px !important}
#familycare{padding-top:48px !important}

@media(max-width:820px){
  .fourlines{
    grid-template-columns:1fr !important;
    max-width:620px !important;
    row-gap:14px !important;
  }
  .fourlines p,
  .fourlines p:nth-child(odd),
  .fourlines p:nth-child(even){
    justify-self:start !important;
    max-width:none !important;
  }
  .editorial-story{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   V5.8 — NOTE 09 FINAL CORRECTIONS
   ========================================================= */

/* Hero title must remain exactly three lines on desktop. */
.hero-v53 h1{max-width:430px !important}
.hero-title-line{
  display:block;
  white-space:nowrap;
}

/* Natural FamilyCare transition after deleting the carryover blocks. */
.familycare-v56 .familycare-pillars{
  margin-bottom:14px !important;
}
.familycare-v56 .familycare-how{
  margin-top:44px !important;
}

/* Greg's newly specified professional portrait. */
.team-v22 .greg-portrait img{
  object-position:center top !important;
}

/* Footer now has three columns. */
.footgrid{
  grid-template-columns:1fr 1.2fr .9fr !important;
  gap:44px !important;
}

@media(max-width:520px){
  .hero-title-line{white-space:normal}
}

/* V5.9 EVENTS */
.events-section{background:#fff!important;padding-top:54px!important;padding-bottom:58px!important}
.events-hero{display:grid;grid-template-columns:1.12fr .88fr;gap:68px;align-items:start}
.events-hero-copy h2{max-width:760px;font-size:46px!important}.events-lead{font:24px/1.5 Georgia,"Times New Roman",serif;color:var(--navy);max-width:720px}
.events-path{border-left:2px solid #b79255;padding:18px 0 18px 26px;color:#344550;font-size:15px;line-height:1.7}
.events-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:50px;padding-top:34px;border-top:1px solid #ded8ce}.events-intro-grid p{color:var(--muted)}
.events-philosophy{background:#f7f4ee;padding:28px 32px}.events-philosophy>span{display:block;color:#735c38;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.events-purpose-path{font:25px/1.4 Georgia,"Times New Roman",serif;color:var(--navy);margin-bottom:16px}
.events-formats-intro{max-width:840px;margin-top:62px}.events-format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:34px}.event-format{padding-top:22px;border-top:2px solid #b79255}.event-format-no{display:block;color:#a67c3a;font-size:13px;letter-spacing:.12em;margin-bottom:12px}.event-format h3{font-size:30px!important;margin-bottom:8px}.event-kicker{font:18px/1.45 Georgia,"Times New Roman",serif;color:#56626a;margin-bottom:18px}.event-format p{color:#56626a;font-size:15px;line-height:1.62}
.event-topics{margin:22px 0;padding:18px 0;border-top:1px solid #e0dbd2;border-bottom:1px solid #e0dbd2}.event-topics strong{color:var(--navy);font-size:13px}.event-topics ul{margin:12px 0 0 18px;padding:0}.event-topics li{margin:6px 0;color:#56626a;font-size:14px}
.event-subblock{margin-top:24px}.event-subblock h4{color:var(--navy);font:20px/1.3 Georgia,"Times New Roman",serif;margin-bottom:8px}.event-status{color:#9b7538;font-size:12px;letter-spacing:.04em;margin-top:16px}
.events-compare{margin-top:64px;padding:34px 0;border-top:1px solid #dcd6cb;border-bottom:1px solid #dcd6cb}.events-compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.events-compare-grid h3{font-size:24px!important;margin-bottom:7px}.events-compare-grid strong{color:#9b7538;font-size:14px}.events-compare-grid p{color:#5f6a72;font-size:15px}
.events-relationship{display:grid;grid-template-columns:.85fr 1.15fr;gap:68px;margin-top:62px;align-items:start}.events-relationship h2{font-size:40px!important}.events-relationship p{color:#56626a}.events-closing-line{font:22px/1.5 Georgia,"Times New Roman",serif!important;color:var(--navy)!important;border-left:2px solid #b79255;padding-left:20px;margin-top:24px}
.events-coming{margin-top:64px;padding:38px 42px;background:#0d2e4b;color:#eef2f4}.events-coming .eyebrow{color:#d0b47e!important}.events-coming h2{color:#fff!important;max-width:820px}.events-coming p{color:#d5dde2}.events-coming-list{font-size:16px;letter-spacing:.02em;margin-top:14px}.events-final-line{margin-top:24px;font:26px/1.4 Georgia,"Times New Roman",serif;color:#fff}
@media(max-width:1000px){.events-hero,.events-intro-grid,.events-relationship{grid-template-columns:1fr;gap:34px}.events-format-grid,.events-compare-grid{grid-template-columns:1fr}}
@media(max-width:650px){.events-hero-copy h2{font-size:38px!important}.events-coming{padding:30px 24px}}

/* V5.10 — NOTE 11 DETAIL REFINEMENTS */
.hero-v53{
  grid-template-columns:minmax(410px, 40%) 1fr !important;
}
.hero-v53 .hero-copy{
  padding-left:max(28px, calc((100vw - 1200px)/2 + 4px)) !important;
  padding-right:30px !important;
}
.hero-v53 h1{
  max-width:520px !important;
}
.hero-title-line{
  white-space:nowrap !important;
}

.footgrid{
  grid-template-columns:.82fr 1.35fr 1fr !important;
  gap:54px !important;
  align-items:start !important;
}
.footer-brand-col{display:flex;flex-direction:column}
.footer-brand-col b{color:#fff;letter-spacing:.16em}
.footer-brand-col span{margin-top:5px;letter-spacing:.18em}
.footer-office-col{display:grid;gap:18px}
.office-line strong{
  display:block;color:#fff;font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:4px
}
.footer-contact-col{display:grid;gap:12px}
.footer-contact-item{display:flex;align-items:center;gap:10px;white-space:nowrap}
.footer-contact-item a{color:#d7e0e6;text-decoration:none}
.footer-contact-item a:hover{text-decoration:underline}
.footer-icon{
  display:inline-flex;width:18px;justify-content:center;
  color:#d0b47e;font-size:15px
}
.website-disclaimer{
  margin-top:34px !important;
  text-align:center !important;
}
.website-disclaimer strong{text-align:center !important}
.website-disclaimer p{
  margin-left:auto !important;
  margin-right:auto !important;
}
@media(max-width:900px){
  .footgrid{grid-template-columns:1fr !important;gap:26px !important}
  .hero-v53{grid-template-columns:1fr !important}
  .hero-v53 .hero-copy{padding-left:32px !important;padding-right:32px !important}
}

/* V5.11 footer compression */
footer{padding:30px 0 16px !important}
.footgrid{gap:36px !important;align-items:start !important}
.footer-brand-col span{margin-top:2px !important;line-height:1.25 !important}
.footer-office-col{gap:8px !important}
.office-line{line-height:1.38 !important}
.office-line strong{margin-bottom:2px !important;line-height:1.2 !important}
.footer-contact-col{gap:6px !important}
.footer-contact-item{line-height:1.25 !important}
.website-disclaimer{
  max-width:none !important;width:100% !important;
  margin-top:18px !important;padding-top:16px !important;
  font-size:10.5px !important;line-height:1.5 !important
}
.website-disclaimer strong{margin-bottom:5px !important}
.website-disclaimer p{
  max-width:none !important;width:100% !important;
  margin:4px 0 !important;padding:0 !important
}
.copyright{margin-top:14px !important;padding-top:12px !important;line-height:1.3 !important}
footer .wrap{width:min(94%,1320px) !important}
@media(max-width:900px){
  footer{padding:28px 0 16px !important}
  footer .wrap{width:min(90%,760px) !important}
  .website-disclaimer{font-size:11px !important;line-height:1.55 !important}
}


/* =========================================================
   V5.12 — FOOTER DETAIL REFINEMENTS / NOTE 13
   ========================================================= */

/* Left brand block centered. */
.footer-brand-col{
  align-items:center !important;
  text-align:center !important;
  justify-content:flex-start !important;
}
.footer-brand-col b{
  width:100%;
  text-align:center !important;
}
.footer-brand-col span{
  width:100%;
  text-align:center !important;
  color:#b79255 !important; /* muted earthy gold */
}

/* Office labels tightened to their addresses. */
.footer-office-col{
  gap:10px !important;
}
.office-line{
  line-height:1.28 !important;
}
.office-line strong{
  margin-bottom:0 !important;
  line-height:1.05 !important;
}


/* =========================================================
   V5.13 — FOOTER BRAND LEFT-EDGE ALIGNMENT / NOTE 14
   ========================================================= */
.footer-brand-col{
  align-items:flex-start !important;
  text-align:left !important;
}
.footer-brand-col b,
.footer-brand-col span{
  width:auto !important;
  text-align:left !important;
}


/* =========================================================
   V5.14 — FOOTER OFFICE LINE-SPACING COMPRESSION / NOTE 15
   ========================================================= */
.footer-office-col{
  gap:6px !important;
}
.office-line{
  line-height:1.16 !important;
}
.office-line strong{
  margin-bottom:0 !important;
  line-height:1.0 !important;
}


/* =========================================================
   V5.15 — EVENTS "COMING SOON" BEAUTIFICATION
   ========================================================= */
.events-coming{
  display:grid !important;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr) !important;
  gap:64px !important;
  align-items:center !important;
  padding:42px 48px !important;
}
.events-coming-copy h2{
  max-width:760px !important;
  margin-bottom:20px !important;
}
.events-coming-copy>p{
  margin:0 !important;
}
.events-coming .events-final-line{
  margin-top:26px !important;
  font-size:24px !important;
}
.events-coming-index{
  border-left:1px solid rgba(255,255,255,.24);
  padding-left:34px;
  display:grid;
}
.events-coming-index>div{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.16);
}
.events-coming-index>div:first-child{
  border-top:0;
}
.events-coming-index span{
  color:#d0b47e;
  font-size:12px;
  letter-spacing:.12em;
}
.events-coming-index strong{
  color:#fff;
  font:22px/1.25 Georgia,"Times New Roman",serif;
  font-weight:400;
}

@media(max-width:900px){
  .events-coming{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  .events-coming-index{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.24);
    padding-left:0;
    padding-top:12px;
  }
}


/* =========================================================
   V5.17 — FAMILYCARE SUBTITLE SINGLE-LINE REFINEMENT / NOTE 14
   ========================================================= */
.familycare-v56 .familycare-sublead{
  max-width:none !important;
  white-space:nowrap !important;
  font-size:27px !important;
  line-height:1.25 !important;
}

/* On smaller screens, allow natural wrapping for responsiveness. */
@media(max-width:900px){
  .familycare-v56 .familycare-sublead{
    white-space:normal !important;
  }
}


/* =========================================================
   V5.18 — NOTE 16: MODULE REORDERING / CLEANUP / COLOR UNITY
   ========================================================= */

/* Events introduction follows the meeting mockup: editorial left column +
   relationship quote and philosophy panel on the right. */
.events-intro-layout{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:62px;
  align-items:start;
  margin-top:4px;
  padding-bottom:54px;
  border-bottom:1px solid #ddd6ca;
}
.events-intro-left .events-hero-copy h2{
  font-size:44px !important;
  line-height:1.08 !important;
  max-width:650px;
}
.events-intro-left .events-hero-copy p{
  max-width:650px;
}
.events-intro-left .events-path{
  margin:34px 0 30px;
  border-left:2px solid #b79255;
  padding:16px 0 16px 24px;
  font-size:14px;
  line-height:1.65;
  color:#46545d;
}
.events-intro-left > p{
  color:#5c6870;
  font-size:15px;
  line-height:1.7;
  max-width:670px;
}
.events-intro-right{
  display:grid;
  gap:52px;
  padding-top:74px;
}
.events-top-relationship-quote{
  margin:0;
  border-left:2px solid #b79255;
  padding:4px 0 4px 22px;
  font:22px/1.45 Georgia,"Times New Roman",serif;
  color:var(--navy);
  max-width:500px;
}
.events-intro-right .events-philosophy{
  margin-left:44px;
  padding:28px 30px;
  background:#f5f1e9;
}
.events-intro-right .events-purpose-path{
  font-size:24px;
}
.events-formats-intro{
  margin-top:54px !important;
}

/* Deleted the redundant contact-step cards; tighten the remaining contact copy. */
#contact .contact > div:first-child > .quote{
  margin-top:28px !important;
}

/* Use the same Cedar Stream navy across Coming Soon, Vision and footer for a
   more coherent visual system. */
:root{--unified-navy:#0d2e4b}
.events-coming{
  background:var(--unified-navy) !important;
}
.vision-inset{
  background:var(--unified-navy) !important;
}
footer{
  background:var(--unified-navy) !important;
}

/* Footer office spacing per the meeting reference. */
.footer-office-col{
  gap:5px !important;
}
.office-line{
  line-height:1.13 !important;
}
.office-line strong{
  margin-bottom:1px !important;
  line-height:1.04 !important;
}

@media(max-width:960px){
  .events-intro-layout{
    grid-template-columns:1fr;
    gap:28px;
  }
  .events-intro-right{
    padding-top:0;
    gap:30px;
  }
  .events-intro-right .events-philosophy{
    margin-left:0;
  }
}


/* =========================================================
   V5.19 — NOTE 17: VISUAL POLISH / ALIGNMENT / TYPOGRAPHY
   ========================================================= */

/* 01 / 02 / 03... markers: larger, lively script treatment. */
.script-num{
  display:inline-block !important;
  font-family:"Segoe Script","Brush Script MT","Lucida Handwriting",cursive !important;
  font-style:italic !important;
  font-weight:600 !important;
  font-size:25px !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  color:#b08334 !important;
  transform:rotate(-3deg);
  margin-right:4px;
}
.plist article>span.script-num{
  font-size:27px !important;
  padding-top:2px;
}
.familycare-v56 .familycare-pillars span{
  font-size:13px !important;
  letter-spacing:.04em !important;
}
.familycare-v56 .familycare-pillars .script-num{
  font-size:26px !important;
  vertical-align:-2px;
}
.familycare-v56 .pillar-label{
  font-family:Arial,Helvetica,sans-serif;
  font-style:normal;
  font-weight:700;
  color:#9b7538;
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.event-format-no.script-num{
  font-size:28px !important;
  margin-bottom:14px !important;
}
.events-coming-index .script-num{
  font-size:23px !important;
  color:#d6b978 !important;
}

/* Our Approach: editorial two-column composition to remove the large empty right side. */
#approach .wealth-belief{
  max-width:none !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr) !important;
  gap:58px !important;
  align-items:stretch !important;
  margin-bottom:42px !important;
}
#approach .wealth-belief-copy{
  align-self:center;
  padding:10px 0;
}
#approach .wealth-belief-copy p{
  max-width:690px !important;
}
#approach .approach-image{
  min-height:300px;
  background-image:url("assets/lifestyle-private-counsel-office.png");
  background-size:cover;
  background-position:61% center;
}

/* Disclaimer: two balanced columns rather than jagged centered line endings. */
.website-disclaimer{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  column-gap:34px !important;
  row-gap:6px !important;
  align-items:start !important;
  text-align:left !important;
}
.website-disclaimer>strong{
  grid-column:1 / -1 !important;
  text-align:center !important;
  margin-bottom:4px !important;
}
.website-disclaimer .disclaimer-paragraph{
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  text-align:justify !important;
  text-align-last:left !important;
  hyphens:auto;
}

/* Contact: left narrative and right form end on the same horizontal line. */
#contact .contact{
  align-items:stretch !important;
}
#contact .contact > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
#contact .contact > div:first-child > .quote{
  margin-top:auto !important;
  padding-top:24px !important;
}
#contact .contact form{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  padding:26px 28px !important;
}
#contact .contact form label{
  margin-bottom:9px !important;
}
#contact .contact form input,
#contact .contact form textarea{
  margin-top:4px !important;
  padding:9px !important;
}
#contact .contact form textarea{
  min-height:90px !important;
  height:90px !important;
}
#contact .contact form button{
  margin-top:auto !important;
}
.contact-disclaimer{
  grid-column:1 / -1;
  display:block;
  color:#727b82;
  font-size:11px;
  line-height:1.45;
  margin-top:10px;
  text-align:right;
}

@media(max-width:980px){
  #approach .wealth-belief{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  #approach .approach-image{
    min-height:300px;
  }
  .website-disclaimer{
    grid-template-columns:1fr !important;
  }
  .website-disclaimer>strong{
    grid-column:auto !important;
  }
}
@media(max-width:740px){
  .script-num{
    font-size:23px !important;
  }
  #contact .contact > div:first-child > .quote{
    margin-top:24px !important;
  }
  .contact-disclaimer{
    text-align:left;
  }
}


/* =========================================================
   V5.20 — CONTACT-FORM NOTICE / NOTE 18
   ========================================================= */

/* Put the confidentiality / no-attorney-client notice inside the form,
   immediately before submission, where it clearly applies to the user's entry. */
.contact-form-notice{
  display:block;
  margin:10px 0 14px !important;
  padding:12px 14px;
  background:#f4efe5;
  border-left:3px solid #b08334;
  color:#4c5861;
  font-size:13px !important;
  line-height:1.48 !important;
  text-align:left !important;
}
.contact-form-notice strong{
  color:#17304a;
  font-size:12px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
#contact .contact form button{
  margin-top:0 !important;
}

/* Preserve bottom alignment of the two contact columns after moving the notice. */
#contact .contact form{
  justify-content:flex-start !important;
}


/* =========================================================
   V5.21 — NOTE 19: HEADER LOGO + CONTACT REBALANCE
   ========================================================= */

/* Header logo + wordmark */
.header .brand{
  flex-direction:row !important;
  align-items:center !important;
  gap:11px !important;
  flex:0 0 auto;
}
.header-logo{
  width:46px;
  height:46px;
  object-fit:contain;
  flex:0 0 46px;
}
.brand-wordmark{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:max-content;
}
.brand-wordmark b{
  letter-spacing:.18em !important;
  font-size:17px !important;
  line-height:1.05 !important;
}
.brand-wordmark > span{
  font-size:12px !important;
  letter-spacing:.24em !important;
  line-height:1.15 !important;
  margin-top:5px;
}

/* Align the graphic logo's LEFT EDGE with the Hero headline's left edge. */
.hero-v53 .hero-copy{
  padding-left:max(24px, calc((100vw - 1200px)/2)) !important;
}

/* Give the full desktop navigation enough room after adding the logo. */
.header nav{
  gap:16px !important;
}
.header nav a{
  font-size:12px !important;
}
.navrow{
  gap:20px !important;
}

/* Contact: use Option 2 from the note.
   Left copy is compact; the important warning sits directly below it.
   Right form is flatter so both columns terminate on approximately the same line. */
#contact .contact{
  grid-template-columns:1.08fr .92fr !important;
  gap:58px !important;
  align-items:stretch !important;
}
#contact .contact > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
#contact .contact > div:first-child > p:not(.quote){
  margin-bottom:14px !important;
}
#contact .contact > div:first-child > .quote{
  margin-top:14px !important;
  padding-top:12px !important;
  margin-bottom:14px !important;
}
.contact-left-notice{
  margin-top:auto !important;
  padding:12px 14px;
  background:#f4efe5;
  border-left:3px solid #b08334;
  color:#4c5861;
  font-size:13px !important;
  line-height:1.45 !important;
  text-align:left !important;
}
.contact-left-notice strong{
  display:block;
  color:#17304a;
  font-size:11px;
  letter-spacing:.07em;
  text-transform:uppercase;
  margin-bottom:4px;
}

/* Flatten the consultation form while keeping fields comfortable. */
#contact .contact form{
  height:100% !important;
  padding:22px 24px !important;
  display:flex !important;
  flex-direction:column !important;
}
#contact .contact form label{
  margin-bottom:7px !important;
}
#contact .contact form input{
  margin-top:3px !important;
  padding:8px !important;
}
#contact .contact form textarea{
  margin-top:3px !important;
  padding:8px !important;
  min-height:76px !important;
  height:76px !important;
}
#contact .contact form button{
  margin-top:auto !important;
  padding:12px !important;
}

/* Remove any styling from the prior in-form notice if it lingers in cached CSS. */
.contact-form-notice{
  display:none !important;
}

@media(max-width:1140px){
  .header nav{
    gap:12px !important;
  }
  .header nav a{
    font-size:11.5px !important;
  }
  .header-logo{
    width:42px;
    height:42px;
    flex-basis:42px;
  }
  .brand-wordmark b{
    font-size:16px !important;
  }
}
@media(max-width:1020px){
  .header .brand{
    gap:9px !important;
  }
  .header-logo{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
}
@media(max-width:740px){
  #contact .contact{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .contact-left-notice{
    margin-top:14px !important;
  }
}


/* =========================================================
   V5.22 — NOTE 21 FINAL POLISH
   ========================================================= */

/* Hero left panel tuned to the deep blue sky in the upper-left of the hero image. */
.hero-v53{
  background:#0c2848 !important;
}
.hero-v53 .hero-copy{
  background:#0c2848 !important;
}

/* Enlarge the Brief description of matter field so it visually fills the form
   down toward the Request a Consultation button. */
#contact .contact form label:has(textarea){
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  margin-bottom:10px !important;
}
#contact .contact form textarea{
  flex:1 1 auto !important;
  min-height:150px !important;
  height:auto !important;
  resize:vertical;
}
#contact .contact form button{
  margin-top:0 !important;
}

/* Fallback for browsers without :has() support. */
#contact .contact form textarea{
  min-height:150px !important;
}

/* V5.23 — hero color refinement */
.hero-v53{background:#012449 !important;}
.hero-v53 .hero-copy{background:#012449 !important;}


/* =========================================================
   V5.24 — NOTE 23: PRIMARY NAV FONT ENLARGEMENT
   ========================================================= */

/* Enlarge first-level navigation for readability,
   while keeping it visibly smaller than the CEDAR STREAM LAW wordmark. */
.header nav{
  gap:14px !important;
}
.header nav a{
  font-size:14px !important;
  line-height:1.2 !important;
}
.header nav .cta-sm{
  font-size:13.5px !important;
  padding:9px 11px !important;
}

/* Keep the law-firm wordmark dominant. */
.brand-wordmark b{
  font-size:17px !important;
}

@media(max-width:1180px){
  .header nav{
    gap:11px !important;
  }
  .header nav a{
    font-size:13.5px !important;
  }
  .header nav .cta-sm{
    font-size:13px !important;
    padding:8px 10px !important;
  }
}

@media(max-width:1080px){
  .header nav{
    gap:9px !important;
  }
  .header nav a{
    font-size:13px !important;
  }
}


/* =========================================================
   V5.25 — NOTE 24: OUR APPROACH IMAGE REPLACEMENT
   ========================================================= */

#approach .approach-image{
  background-image:url("assets/approach-private-counsel-waterfront.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}


/* =========================================================
   V5.26 — NOTE 25: OUR APPROACH IMAGE / TOP ALIGNMENT
   ========================================================= */

/* Align the top of the right-side image with the OUR APPROACH label. */
#approach .wealth-belief{
  align-items:start !important;
}
#approach .wealth-belief-copy{
  align-self:start !important;
  padding-top:0 !important;
}

/* Use the exact replacement image and preserve its original aspect ratio (1088:567). */
#approach .approach-image{
  align-self:start !important;
  width:100% !important;
  aspect-ratio:1088 / 567 !important;
  min-height:0 !important;
  background-image:url("assets/approach-private-counsel-waterfront-v2.png") !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* =========================================================
   V5.27 — NOTE 26: REMOVE AI-LIKE MODULE SEPARATOR LINES
   ========================================================= */

/* Major-section separators removed. Use spacing and background changes instead. */
.events-intro-layout,
.events-intro-grid,
.events-compare,
.familycare-v56 .familycare-closing,
.editorial-photo-band,
.life-interlude,
#approach,
#wealth-integration,
#familycare,
#events,
#kay,
#contact{
  border-top:none !important;
  border-bottom:none !important;
}

/* Events: remove the long pale horizontal rules between major editorial blocks. */
.events-intro-layout{
  padding-bottom:42px !important;
}
.events-formats-intro{
  margin-top:50px !important;
  padding-top:0 !important;
  border-top:none !important;
}
.events-compare{
  margin-top:58px !important;
  padding:20px 0 26px !important;
  border-top:none !important;
  border-bottom:none !important;
}
.events-coming{
  margin-top:54px !important;
}

/* Philosophy / FamilyCare: remove isolated long rules that read like slide separators. */
.fourlines,
.familycare-v56 .familycare-closing,
.familycare-v56 .v56-benefits{
  border-top:none !important;
  border-bottom:none !important;
}

/* Team/contact section transitions should be created by whitespace, not rules. */
.team-v22 .team-profile{
  border-top:none !important;
}
.resources{
  border-top:none !important;
}

/* Keep only local, functional dividers inside content groups:
   form fields, topic lists, numbered cards, and footer copyright remain intact. */


/* =========================================================
   V5.28 — NOTE 27: IMAGE REPLACEMENT + RESTORE LIGHT DIVIDERS
   ========================================================= */

/* Our Approach image: use the newly supplied rectangular image,
   preserve its aspect ratio, and keep clean straight edges. */
#approach .approach-image{
  background-image:url("assets/approach-private-counsel-waterfront-v3.png") !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  border-radius:0 !important;
  overflow:hidden !important;
}

/* Restore the restrained pale separators that were removed in V5.27.
   These are intentionally light and sparse, not heavy section rules. */
.events-intro-layout{
  border-bottom:1px solid #e4dfd6 !important;
  padding-bottom:50px !important;
}
.events-formats-intro{
  border-top:1px solid #e7e2d9 !important;
  padding-top:34px !important;
}
.events-compare{
  border-top:1px solid #e7e2d9 !important;
  border-bottom:1px solid #e7e2d9 !important;
  padding-top:30px !important;
  padding-bottom:30px !important;
}
.events-coming{
  border-top:1px solid #e7e2d9 !important;
  padding-top:38px !important;
}

/* Restore a few quiet editorial separators in other long-form areas
   to keep the page visually organized. */
.familycare-v56 .familycare-closing{
  border-top:1px solid #e5dfd6 !important;
  padding-top:20px !important;
}
.resources{
  border-top:1px solid #e5dfd6 !important;
  padding-top:20px !important;
}


/* =========================================================
   V5.29 — NOTE 28: OUR APPROACH IMAGE REPLACEMENT
   ========================================================= */

/* Replace the repeated office/waterfront visual with the exact
   multigenerational family image supplied in 网站建议修改28.docx.
   Preserve the source aspect ratio (1268:714) without cropping or distortion. */
#approach .approach-image{
  background-image:url("assets/approach-family-generations.png") !important;
  width:100% !important;
  aspect-ratio:1268 / 714 !important;
  min-height:0 !important;
  height:auto !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  border-radius:0 !important;
}

/* V5.30 — remove unregistered Irvine footer address */
.footer-office-col{gap:0 !important}
.footgrid{grid-template-columns:.82fr 1.15fr 1fr !important}


/* =========================================================
   V5.31 — NOTE 30: MICRO-SPACING REFINEMENTS
   ========================================================= */

/* 1) EVENTS: keep only the longer separator above "THREE WAYS TO LEARN".
   Remove the shorter duplicate rule and pull the content upward slightly. */
.events-formats-intro{
  border-top:none !important;
  padding-top:0 !important;
  margin-top:36px !important;
}
.events-intro-layout{
  padding-bottom:42px !important;
}

/* 2) Bring EVENTS slightly closer to the preceding image section. */
.life-interlude-counsel{
  padding-bottom:36px !important;
}
.events-section{
  padding-top:44px !important;
}

/* 3) Bring FAMILYCARE PROGRAM and its content slightly upward. */
.legacy-photo-moment{
  padding-bottom:42px !important;
}
#familycare.familycare-v56{
  padding-top:40px !important;
}

/* 4) Tighten the lower part of Our Approach and bring
   WEALTH INTEGRATION & FAMILY GOVERNANCE slightly upward. */
#approach .fourlines{
  margin-top:32px !important;
  padding-top:18px !important;
}
#approach{
  padding-bottom:38px !important;
}
#wealth-integration{
  padding-top:40px !important;
}


/* =========================================================
   V5.32 — FINAL COMPLIANCE REVIEW / NOTE 31
   ========================================================= */

/* Greg license disclosure: same visual weight as surrounding bio copy, navy. */
.license-note-prominent{
  font-size:15px !important;
  line-height:1.55 !important;
  color:var(--navy) !important;
  margin-top:18px !important;
}

/* Peter: prominent nonlegal advisory disclosure. */
.nonlegal-advisory-note{
  margin:18px 0 22px;
  padding:16px 18px;
  background:#f6f4ef;
  border-left:3px solid #b49a70;
  color:var(--navy);
}
.nonlegal-advisory-note strong{
  display:block;
  color:var(--navy);
  font-size:15px;
  line-height:1.4;
  margin-bottom:8px;
}
.nonlegal-advisory-note p{
  margin:0;
  color:var(--navy);
  font-size:15px;
  line-height:1.58;
}

/* Footer identity/compliance lines. */
.responsible-attorney{
  margin-top:7px !important;
  color:#d7e0e6 !important;
  font-size:12px !important;
  letter-spacing:0 !important;
  line-height:1.35 !important;
  text-transform:none !important;
}
.appointment-only{
  display:inline-block;
  margin-top:3px;
  color:#d0b47e;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Small line-art globe icon for website link. */
.footer-globe{
  position:relative;
  width:15px !important;
  height:15px !important;
  border:1.4px solid currentColor;
  border-radius:50%;
  color:#d0b47e;
  flex:0 0 15px;
}
.footer-globe::before{
  content:"";
  position:absolute;
  left:3px;
  right:3px;
  top:6px;
  border-top:1px solid currentColor;
}
.footer-globe::after{
  content:"";
  position:absolute;
  top:2px;
  bottom:2px;
  left:6px;
  width:2px;
  border-left:1px solid currentColor;
  border-right:1px solid currentColor;
  border-radius:50%;
}

/* Disclaimer: larger and easier to read, two balanced horizontal paragraphs. */
.website-disclaimer{
  grid-template-columns:1fr 1fr !important;
  column-gap:36px !important;
  row-gap:8px !important;
  font-size:12.5px !important;
  line-height:1.58 !important;
  text-align:left !important;
}
.website-disclaimer>strong{
  grid-column:1 / -1 !important;
  font-size:13px !important;
  margin-bottom:4px !important;
}
.website-disclaimer .disclaimer-paragraph{
  font-size:12.5px !important;
  line-height:1.58 !important;
  text-align:justify !important;
  text-align-last:left !important;
  margin:0 !important;
}

@media(max-width:900px){
  .website-disclaimer{
    grid-template-columns:1fr !important;
  }
  .website-disclaimer>strong{
    grid-column:auto !important;
  }
}


/* =========================================================
   V5.33 — FINAL COMPLIANCE / LAYOUT REVISIONS FROM NOTE 32
   ========================================================= */

/* Remove the white band below the navy Vision panel so the next warm section
   begins immediately at its bottom edge. */
#vision{
  padding-bottom:0 !important;
}
#clients{
  margin-top:0 !important;
  padding-top:44px !important;
}

/* Increase all small section-level eyebrow headings consistently. */
.eyebrow{
  font-size:15.5px !important;
  line-height:1.2 !important;
  letter-spacing:.14em !important;
}

/* Peter's nonlegal-advisory disclosure remains prominent and readable. */
.nonlegal-advisory-note strong,
.nonlegal-advisory-note p{
  font-size:15px !important;
  color:var(--navy) !important;
}
.nonlegal-advisory-note p{
  line-height:1.58 !important;
}

/* Footer: unified navy background; previously pale blue-green text becomes white.
   Earth-gold accents remain earth-gold. */
footer{
  background:#0b2a45 !important;
}
.footer-brand-col b,
.responsible-attorney,
.footer-office-col,
.office-line,
.office-line strong,
.footer-contact-item a,
.website-disclaimer,
.website-disclaimer .disclaimer-paragraph,
.copyright{
  color:#ffffff !important;
}
.footer-brand-col > span:not(.responsible-attorney),
.footer-icon,
.footer-globe,
.appointment-only{
  color:#d0b47e !important;
}

/* Appointment-only line should be regular weight, not bold. */
.appointment-only{
  font-weight:400 !important;
}

/* Disclaimer: two paragraphs stacked vertically, using the full footer width.
   Larger type improves public readability while the wide measure keeps the
   overall navy footer relatively flat. */
.website-disclaimer{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-top:18px !important;
  padding-top:16px !important;
  font-size:13px !important;
  line-height:1.56 !important;
  text-align:left !important;
}
.website-disclaimer>strong{
  display:block !important;
  text-align:center !important;
  font-size:13.5px !important;
  margin-bottom:7px !important;
  color:#ffffff !important;
}
.website-disclaimer .disclaimer-paragraph{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 8px !important;
  font-size:13px !important;
  line-height:1.56 !important;
  text-align:justify !important;
  text-align-last:left !important;
  color:rgba(255,255,255,.94) !important;
}
.website-disclaimer .disclaimer-paragraph:last-child{
  margin-bottom:0 !important;
}

/* Keep footer compact after the disclaimer becomes stacked. */
footer{
  padding-top:26px !important;
  padding-bottom:14px !important;
}
.copyright{
  margin-top:10px !important;
  padding-top:10px !important;
}

@media(max-width:900px){
  .eyebrow{font-size:14.5px !important}
  .website-disclaimer .disclaimer-paragraph{
    text-align:left !important;
  }
}
/* Fix the legacy gift image */
.legacy-gift-photo-v55 {
  background-image: url("assets/editorial-gift-legacy.png") !important;
}

/* Fix the mobile team layout */
@media (max-width: 900px) {
  .team-v22 .team-profile {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    width: 100% !important;
  }

  .team-v22 .portrait-wrap {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    max-width: 420px !important;
    max-height: none !important;
    margin: 0 auto !important;
    aspect-ratio: 1 / 1.08 !important;
  }

  .team-v22 .profile-copy {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* v03 mobile footer overflow fix */
@media(max-width:740px){
  .footgrid{
    grid-template-columns:1fr !important;
    gap:24px !important;
    min-width:0 !important;
  }
  .footer-brand-col,
  .footer-office-col,
  .footer-contact-col{
    width:100% !important;
    min-width:0 !important;
  }
  .footer-contact-item{
    width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
  }
  .footer-contact-item a{
    overflow-wrap:anywhere;
  }
}
