/* PH Capital Advisory — brand system */
:root{
  --navy:#223651;
  --navy-deep:#1b2c43;
  --gold:#B8892A;
  --charcoal:#2D2D2D;
  --white:#FFFFFF;
  --light:#F8F8F6;
  --line:rgba(34,54,81,0.14);
  --line-soft:rgba(34,54,81,0.09);
  --on-navy:rgba(255,255,255,0.74);
  --on-navy-line:rgba(255,255,255,0.16);
  --maxw:1140px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--white);
  color:var(--charcoal);
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:300;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--navy);color:var(--white)}
a{color:inherit}

h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;color:var(--navy);letter-spacing:0;line-height:1.12}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 36px}
@media(max-width:600px){.wrap{padding:0 24px}}

.eyebrow{
  font-size:11.5px;letter-spacing:0.24em;text-transform:uppercase;
  color:var(--charcoal);opacity:0.55;font-weight:500;
  display:flex;align-items:center;gap:16px;margin-bottom:30px;
}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--gold);display:inline-block}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:60;background:rgba(248,248,246,0.9);backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--line-soft)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.wordmark{font-family:'DM Sans',sans-serif;font-weight:500;font-size:15px;letter-spacing:0.22em;text-transform:uppercase;color:var(--navy);text-decoration:none;white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none}
.nav-links a{font-size:13.5px;letter-spacing:0.02em;text-decoration:none;color:var(--charcoal);opacity:0.82;transition:opacity .2s,color .2s;padding-bottom:2px;border-bottom:1px solid transparent}
.nav-links a:hover{opacity:1;color:var(--navy)}
.nav-links a.active{opacity:1;color:var(--navy);border-bottom-color:var(--gold)}
.nav-cta{font-size:13px !important;letter-spacing:0.04em;border:1px solid var(--navy);padding:11px 19px;opacity:1 !important;border-radius:0;transition:background .25s,color .25s}
.nav-cta:hover{background:var(--navy);color:var(--white) !important;border-bottom-color:var(--navy) !important}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:var(--navy)}
@media(max-width:940px){
  .nav-links{position:fixed;inset:78px 0 auto 0;flex-direction:column;align-items:flex-start;gap:0;background:var(--light);border-bottom:1px solid var(--line);padding:8px 36px 24px;transform:translateY(-120%);transition:transform .32s ease;height:auto}
  .nav-links.open{transform:translateY(0)}
  .nav-links li{width:100%;border-top:1px solid var(--line-soft)}
  .nav-links a{display:block;padding:18px 0;font-size:15px}
  .nav-links .nav-cta{border:0;padding:18px 0;color:var(--gold)}
  .nav-toggle{display:block}
}

/* ---------- sections ---------- */
section{padding:128px 0}
@media(max-width:760px){section{padding:80px 0}}
.bg-light{background:var(--light)}
.bg-white{background:var(--white)}
.bg-navy{background:var(--navy);color:var(--on-navy)}
.bg-navy h1,.bg-navy h2,.bg-navy h3{color:var(--white)}
.bg-navy .eyebrow{color:rgba(255,255,255,0.6)}
.bg-navy .eyebrow::before{background:var(--gold)}
.divider-top{border-top:1px solid var(--line-soft)}

/* ---------- hero ---------- */
.hero{padding:152px 0 132px}
.hero .gold-rule{width:46px;height:2px;background:var(--gold);margin-bottom:38px}
.hero h1{font-size:clamp(42px,6.6vw,82px);max-width:15ch;line-height:1.06}
.hero .lede{margin-top:34px;max-width:50ch;font-size:clamp(16.5px,1.7vw,19px);color:var(--charcoal);opacity:0.86}
.hero .actions{margin-top:50px;display:flex;gap:26px;align-items:center;flex-wrap:wrap}
@media(max-width:760px){.hero{padding:96px 0 84px}}

/* page hero (interior) */
.page-hero{padding:120px 0 96px}
.page-hero .gold-rule{width:40px;height:2px;background:var(--gold);margin-bottom:30px}
.page-hero h1{font-size:clamp(38px,5.4vw,68px);max-width:18ch}
.page-hero .sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:clamp(19px,2.2vw,25px);color:var(--navy);opacity:0.8;margin-top:18px}
.page-hero .lede{margin-top:28px;max-width:54ch;font-size:18px;color:var(--charcoal);opacity:0.86}
@media(max-width:760px){.page-hero{padding:80px 0 64px}}

/* ---------- buttons ---------- */
.btn{display:inline-block;text-decoration:none;font-family:'DM Sans',sans-serif;font-size:14px;letter-spacing:0.04em;padding:16px 30px;border-radius:0;transition:all .25s ease;cursor:pointer}
.btn-navy{background:var(--navy);color:var(--white);border:1px solid var(--navy)}
.btn-navy:hover{background:transparent;color:var(--navy)}
.btn-light{background:var(--white);color:var(--navy);border:1px solid var(--white)}
.btn-light:hover{background:transparent;color:var(--white)}
.link-arrow{font-size:14px;letter-spacing:0.03em;text-decoration:none;color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:3px;transition:opacity .2s}
.link-arrow:hover{opacity:0.65}
.link-arrow::after{content:" \2192";color:var(--gold)}
.bg-navy .link-arrow{color:var(--white)}

/* ---------- statement / prose ---------- */
.stmt h2{font-size:clamp(28px,3.8vw,46px);max-width:22ch}
.stmt .body{margin-top:34px;max-width:58ch;font-size:17.5px;color:var(--charcoal);opacity:0.86}
.stmt .body p+p{margin-top:20px}

.section-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:28px;margin-bottom:58px}
.section-head h2{font-size:clamp(26px,3.4vw,40px);max-width:20ch}
.section-head .note{max-width:36ch;font-size:15px;color:var(--charcoal);opacity:0.7}

/* ---------- decision triggers ---------- */
.triggers{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.trigger{display:flex;gap:22px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--line-soft)}
.trigger .n{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--gold);min-width:30px}
.trigger .t{font-size:18px;color:var(--navy);font-weight:400}
.triggers .trigger:nth-child(odd){padding-right:52px;border-right:1px solid var(--line-soft)}
.triggers .trigger:nth-child(even){padding-left:52px}
@media(max-width:680px){
  .triggers{grid-template-columns:1fr}
  .triggers .trigger:nth-child(odd){padding-right:0;border-right:none}
  .triggers .trigger:nth-child(even){padding-left:0}
}
.section-foot{margin-top:48px;max-width:60ch;font-size:17px;color:var(--charcoal);opacity:0.82}

/* ---------- review feature ---------- */
.keyline-gold{border-top:2px solid var(--gold)}
.review{display:grid;grid-template-columns:1.05fr 0.95fr;gap:80px;align-items:start;padding-top:64px}
@media(max-width:860px){.review{grid-template-columns:1fr;gap:46px;padding-top:48px}}
.review h2{font-size:clamp(34px,4.4vw,56px)}
.review .sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:clamp(20px,2.3vw,26px);color:var(--navy);opacity:0.82;margin-top:14px}
.review .body{margin-top:30px;font-size:16.5px;color:var(--charcoal);opacity:0.86}
.review .body p+p{margin-top:18px}
.review .actions{margin-top:34px}
.meta{border-top:1px solid var(--navy)}
.meta-row{display:grid;grid-template-columns:104px 1fr;gap:22px;padding:21px 0;border-bottom:1px solid var(--line-soft)}
.meta-row .k{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--charcoal);opacity:0.55;padding-top:4px}
.meta-row .v{font-size:16px;color:var(--navy)}
.meta-row.fee .v{font-family:'Cormorant Garamond',serif;font-size:24px}

/* ---------- stacked services list ---------- */
.stack{border-top:1px solid var(--line)}
.stack a{display:grid;grid-template-columns:0.9fr 2fr auto;gap:40px;align-items:baseline;padding:34px 0;border-bottom:1px solid var(--line-soft);text-decoration:none;transition:padding-left .25s ease}
.stack a:hover{padding-left:10px}
.stack h3{font-size:24px}
.stack p{font-size:15.5px;color:var(--charcoal);opacity:0.78}
.stack .go{font-size:18px;color:var(--gold)}
@media(max-width:680px){.stack a{grid-template-columns:1fr;gap:8px;padding:26px 0}.stack .go{display:none}}

/* ---------- prose pages ---------- */
.prose{max-width:64ch}
.prose h2{font-size:clamp(24px,3vw,34px);margin:0 0 22px}
.prose h2:not(:first-child){margin-top:56px}
.prose p{font-size:17px;color:var(--charcoal);opacity:0.88;margin-bottom:18px}
.prose .lead{font-size:19px;opacity:0.92}
.prose ul{list-style:none;margin:6px 0 8px}
.prose li{position:relative;padding-left:26px;margin-bottom:14px;font-size:16.5px;color:var(--charcoal);opacity:0.88}
.prose li::before{content:"";position:absolute;left:0;top:13px;width:12px;height:1px;background:var(--gold)}

/* ---------- contact band ---------- */
.contact h2{font-size:clamp(32px,4.6vw,58px);max-width:18ch}
.contact p{margin-top:26px;max-width:52ch;font-size:17.5px;color:var(--on-navy)}
.contact .actions{margin-top:42px}
.contact-details{margin-top:64px;padding-top:34px;border-top:1px solid var(--on-navy-line);display:grid;grid-template-columns:repeat(2,auto);gap:10px 80px;justify-content:start;font-size:15px;color:var(--on-navy)}
.contact-details a{color:var(--white);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
.contact-details .label{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;opacity:0.5}
@media(max-width:560px){.contact-details{grid-template-columns:1fr;gap:8px}}

/* ---------- footer ---------- */
footer{background:var(--navy-deep);color:rgba(255,255,255,0.55);border-top:1px solid var(--on-navy-line)}
footer .wrap{padding:54px 36px 46px}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;padding-bottom:34px;border-bottom:1px solid var(--on-navy-line)}
.foot-brand .wordmark{color:var(--white)}
.foot-brand p{margin-top:14px;font-size:13.5px;max-width:34ch;opacity:0.7}
.foot-nav{display:flex;gap:48px;flex-wrap:wrap}
.foot-col h4{font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.45);font-weight:500;margin-bottom:16px}
.foot-col a{display:block;font-size:14px;color:rgba(255,255,255,0.72);text-decoration:none;margin-bottom:11px;transition:color .2s}
.foot-col a:hover{color:var(--white)}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:28px;font-size:12.5px;letter-spacing:0.02em;opacity:0.7}
.foot-bottom a{color:rgba(255,255,255,0.8);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:1px}

/* ---------- load reveal ---------- */
.reveal{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.d1{animation-delay:.05s}.d2{animation-delay:.18s}.d3{animation-delay:.32s}
@keyframes rise{from{transform:translateY(16px)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.reveal{animation:none}}

/* ---------- insights ---------- */
.insight-item{padding:36px 0;border-bottom:1px solid var(--line-soft)}
.insight-item:first-child{border-top:1px solid var(--line-soft)}
.insight-item h3{font-family:'Cormorant Garamond',serif;font-size:clamp(19px,2.1vw,24px);font-weight:500;color:var(--navy);margin-bottom:14px}
.insight-item p{font-size:16px;color:var(--charcoal);opacity:0.84;max-width:68ch}
.insight-themes{background:var(--light);border-radius:0;padding:44px 48px;margin-top:60px}
.insight-themes h3{font-size:22px;margin-bottom:22px}
.insight-themes ul{list-style:none}
.insight-themes li{position:relative;padding-left:26px;margin-bottom:14px;font-size:16px;color:var(--charcoal);opacity:0.88}
.insight-themes li::before{content:"";position:absolute;left:0;top:12px;width:12px;height:1px;background:var(--gold)}
@media(max-width:680px){.insight-themes{padding:32px 24px}}

/* ---------- legal pages ---------- */
.legal-date{font-size:13px;letter-spacing:0.06em;color:var(--charcoal);opacity:0.55;margin-top:16px}
.prose h2.legal-section{font-size:clamp(17px,1.8vw,21px);font-weight:500;margin-top:48px;margin-bottom:14px;color:var(--navy)}
.prose h2.legal-section:first-of-type{margin-top:0}
