
:root{
  --ink:#14181b;
  --navy:#142a3a;
  --navy-2:#0d1d29;
  --accent:#8fa5b4;
  --accent-dark:#5f7889;
  --light:#e9eef1;
  --light-2:#dbe3e8;
  --card:#f4f6f7;
  --paper:#eef2f4;
  --muted:#56636c;
  --line:#c6d0d6;
  --black:#000000;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(var(--max), calc(100% - 40px)); margin:0 auto}

.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(241,244,246,.97);
  border-bottom:1px solid rgba(20,42,58,.14);
  backdrop-filter:blur(8px);
}
.nav-wrap{
  min-height:118px;
  display:flex;
  align-items:center;
  gap:34px;
  justify-content:space-between;
}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{
  width:390px;
  max-width:38vw;
  height:auto;
}
nav{display:flex; align-items:center; gap:24px; font-size:.95rem}
nav a{text-decoration:none}
nav a:hover{color:var(--accent-dark)}

.button{
  display:inline-block;
  text-decoration:none;
  padding:13px 20px;
  border:1px solid var(--navy);
  background:var(--navy);
  color:#fff;
  font-weight:700;
  letter-spacing:.01em;
}
.button:hover{background:#0b1c28;border-color:#0b1c28}
.button.secondary{
  background:transparent;
  color:white;
  border-color:rgba(255,255,255,.8)
}
.button.secondary:hover{background:rgba(255,255,255,.09)}
.button.light{
  background:transparent;
  color:var(--navy);
  border-color:var(--navy)
}
.button.light:hover{background:var(--navy);color:white}

.hero{
  background:
    linear-gradient(90deg, rgba(7,18,26,.96), rgba(20,42,58,.74)),
    url("assets/jennifer-headshot.jpg") center 32%/cover no-repeat;
  min-height:700px;
  display:flex;
  align-items:center;
  color:white;
}
.hero-copy{width:min(720px, 94%); padding:90px 0}

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.78rem;
  font-weight:700;
  color:#c3d0d8;
  margin-bottom:14px;
}
h1,h2,h3{
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  font-weight:400;
  line-height:1.1;
  margin-top:0;
}
h1{font-size:clamp(3rem, 7vw, 5.7rem); margin-bottom:22px}
h2{font-size:clamp(2.2rem, 4vw, 3.6rem); margin-bottom:20px}
h3{font-size:1.5rem}
.hero p{font-size:1.22rem; max-width:640px; color:#f4f5f6}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

.section{
  padding:90px 0;
  background:var(--light);
}
.section.alt{background:var(--light-2)}
.section.dark{background:var(--navy-2); color:white}

.intro-grid,.split{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:70px;
  align-items:center;
}
.kicker{font-size:1.13rem;color:#27343d}
.gold-rule{
  width:84px;
  height:3px;
  background:var(--accent);
  margin:20px 0 28px;
}
.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:38px;
}
.card{
  padding:32px;
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:0 8px 24px rgba(13,29,41,.06);
}
.card h3{margin-bottom:10px}
.card p{color:#47545d}

.statements{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:45px;
}
.statement{
  border-top:2px solid var(--accent);
  padding-top:20px;
}
.portrait{
  border:1px solid rgba(20,42,58,.14);
  box-shadow:0 18px 45px rgba(13,29,41,.16);
}
.quote-block{
  padding:44px;
  background:var(--card);
  border-left:5px solid var(--accent);
}
.quote-block p{
  font-family:"Palatino Linotype",Palatino,serif;
  font-size:1.45rem;
  line-height:1.45;
  margin:0
}

.page-hero{
  padding:90px 0 72px;
  background:var(--navy-2);
  color:white;
}
.page-hero p{max-width:760px;font-size:1.15rem;color:#e8edf0}
.content-narrow{max-width:820px}
.service-block{padding:34px 0;border-bottom:1px solid #b8c5cc}
.service-block:last-child{border-bottom:0}

.footer{
  background:var(--black);
  color:#dce2e5;
  padding:50px 0 28px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr .7fr .7fr;
  gap:35px
}
.footer img{
  width:300px;
  height:auto;
  margin-bottom:16px;
}
.footer a{text-decoration:none;color:#fff}
.footer small{
  display:block;
  border-top:1px solid rgba(255,255,255,.14);
  margin-top:38px;
  padding-top:20px;
  color:#aeb8be
}

.mobile-toggle{display:none;border:0;background:none;font-size:1.6rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{font-weight:700;font-size:.92rem}
input,textarea{
  width:100%;
  padding:13px;
  border:1px solid #aebbc3;
  background:#f7f8f9;
  font:inherit;
  margin-top:6px;
}
textarea{min-height:160px}
.form-note{font-size:.9rem;color:var(--muted)}

@media(max-width:900px){
  nav{
    display:none;
    position:absolute;
    left:0;right:0;top:118px;
    background:#f1f4f6;
    padding:22px 20px;
    border-bottom:1px solid #cbd4d9;
    flex-direction:column;
    align-items:flex-start
  }
  nav.open{display:flex}
  .mobile-toggle{display:block}
  .brand img{width:300px;max-width:72vw}
  .intro-grid,.split,.footer-grid{grid-template-columns:1fr}
  .cards,.statements{grid-template-columns:1fr}
  .hero{min-height:620px;background-position:60% 30%}
  .hero-copy{padding:70px 0}
  .form-grid{grid-template-columns:1fr}
}
