:root{
  --navy: #0f2a4d;
  --navy-deep: #0a1f3a;
  --navy-mid: #1c4573;
  --gold: #f0b940;
  --gold-deep: #a97a1f;
  --paper: #eef1f6;
  --ink: #132a4d;
  --ink-soft: #2a3648;
  --sub: #5a6478;
  --line: rgba(19,42,77,.15);
  --line-on-dark: rgba(240,185,64,.25);
  --serif: Cambria, Georgia, "Times New Roman", serif;
  --sans: "Segoe UI", system-ui, -apple-system, sans-serif;
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
.container{ max-width:1140px; margin:0 auto; padding:0 24px; }
section[id]{ scroll-margin-top: 76px; }

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12.5px;
  font-weight:700;
  color: var(--gold-deep);
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 26px;
  font-weight:700;
  font-size:14.5px;
  letter-spacing:.02em;
  border:none;
  cursor:pointer;
  text-decoration:none;
  font-family: var(--sans);
}
.btn-small{ padding:11px 20px; font-size:13.5px; }
.btn-primary{ background: var(--gold); color: var(--navy); }
.btn-primary:hover{ background:#f7c968; }
.btn-ghost{ background:transparent; border:1px solid rgba(238,241,246,.4); color:#eef1f6; }
.btn-ghost:hover{ border-color: var(--gold); color: var(--gold); }
:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* ---------- HEADER ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background: rgba(15,42,77,.96);
  backdrop-filter: blur(6px);
  border-bottom:1px solid var(--line-on-dark);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  height:68px;
}
.logo-link{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-mark{
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  background: var(--gold);
  color: var(--navy);
  font-family: var(--serif);
  font-weight:700;
  font-size:14px;
}
.logo-word{ color:#eef1f6; font-family: var(--serif); font-weight:700; font-size:15.5px; }
.main-nav{ display:flex; gap:28px; }
.main-nav a{ color:#c3cbd8; text-decoration:none; font-size:14.5px; }
.main-nav a:hover{ color: var(--gold); }
.header-phone{
  color:#eef1f6;
  font-weight:700;
  font-size:14.5px;
  text-decoration:none;
  white-space:nowrap;
}
.header-phone:hover{ color: var(--gold); }
@media (max-width:820px){ .main-nav{ display:none; } }
@media (max-width:560px){
  .header-inner{ gap:10px; }
  .logo-word{ display:none; }
  .header-phone{ font-size:13px; }
}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  background: radial-gradient(ellipse at 15% 20%, rgba(240,180,64,.12), transparent 55%), var(--navy);
  color:#eef1f6;
  overflow:hidden;
}
.hero-watermark{
  position:absolute;
  inset:0;
  z-index:0;
  background-repeat:no-repeat;
  background-position:left center;
  background-size:auto 100%;
  opacity:.09;
  mix-blend-mode:luminosity;
  pointer-events:none;
}
.hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:center;
  gap:40px;
  padding:76px 24px;
  min-height:520px;
}
.hero-copy{ display:flex; flex-direction:column; gap:20px; max-width:520px; }
.hero-eyebrow{
  font-family: var(--serif);
  font-style:italic;
  font-size:15px;
  letter-spacing:.06em;
  color: var(--gold);
}
.hero-name{
  font-family: var(--serif);
  font-size:clamp(34px,4.4vw,46px);
  line-height:1.08;
  font-weight:700;
  margin:0;
  text-wrap:balance;
}
.hero-role{
  font-family: var(--serif);
  font-size:18px;
  color: var(--gold);
  border-top:1px solid rgba(240,185,64,.4);
  padding-top:14px;
  max-width:420px;
}
.hero-text{ font-size:15px; color:#c3cbd8; line-height:1.65; max-width:440px; margin:0; }
.hero-badge{ display:flex; align-items:center; gap:9px; font-size:13px; font-weight:700; letter-spacing:.03em; color: var(--gold); text-transform:uppercase; }
.hero-badge::before{ content:""; width:7px; height:7px; background: var(--gold); flex:none; }
.hero-badge-strong{
  font-size:1.55em;
  font-weight:800;
  color:#f7c968;
  letter-spacing:.01em;
  text-shadow:0 1px 0 rgba(0,0,0,.35), 0 0 18px rgba(240,185,64,.35);
}
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:6px; }
.hero-photo{
  position:relative;
  aspect-ratio:3/4;
  overflow:hidden;
  border-radius:2px;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.hero-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 15%; }
@media (max-width:820px){
  .hero-inner{ grid-template-columns:1fr; padding:56px 24px 40px; }
  .hero-photo{ max-width:320px; margin:0 auto; }
}

/* ---------- ABOUT ---------- */
.about-section{ background: var(--paper); color: var(--ink); padding:72px 24px; }
.about-inner{
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:.8fr 1.2fr;
  gap:56px; align-items:center;
}
.about-photo{ position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:2px; box-shadow:0 18px 40px rgba(15,42,77,.18); }
.about-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 15%; }
.about-name{ font-family: var(--serif); font-size:32px; margin:10px 0 4px; font-weight:700; }
.about-role{ font-family: var(--serif); font-size:16px; color:#3a4a63; margin-bottom:20px; }
.about-bio{ font-size:15.5px; line-height:1.75; color: var(--ink-soft); max-width:56ch; margin:0 0 32px; }
.about-stats{ display:flex; gap:28px; border-top:1px solid var(--line); padding-top:20px; flex-wrap:wrap; }
.about-stat{ flex:1; min-width:120px; }
.about-stat .num{ font-family: var(--serif); font-size:21px; font-weight:700; color: var(--navy); display:block; }
.about-stat .label{ font-size:12.5px; color: var(--sub); line-height:1.4; margin-top:4px; }
@media (max-width:820px){
  .about-inner{ grid-template-columns:1fr; gap:32px; }
  .about-photo{ max-width:320px; margin:0 auto; }
}

/* ---------- SERVICES ---------- */
.services-section{ background: var(--navy); color:#eef1f6; padding:72px 24px; }
.services-head{ max-width:620px; margin-bottom:40px; }
.services-title{ font-family: var(--serif); font-size:28px; margin:10px 0 12px; font-weight:700; }
.services-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background: var(--line-on-dark); border:1px solid var(--line-on-dark);
}
.service-card{ background: var(--navy); padding:30px 26px; }
.service-mark{ width:26px; height:3px; background: var(--gold); margin-bottom:16px; }
.service-title{ font-family: var(--serif); font-size:18px; font-weight:700; margin-bottom:8px; }
.service-desc{ font-size:14px; color:#b9c4d6; line-height:1.55; margin:0; }
.services-cta{ margin-top:36px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.services-cta p{ font-size:14.5px; color:#c3cbd8; margin:0; }
@media (max-width:820px){ .services-grid{ grid-template-columns:1fr; } }

/* ---------- PROCESS ---------- */
.process-section{ background: var(--paper); color: var(--ink); padding:72px 24px; }
.process-inner{
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:.85fr 1.15fr;
  gap:56px; align-items:center;
}
.process-photo{ position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:2px; box-shadow:0 18px 40px rgba(15,42,77,.18); }
.process-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.process-title{ font-family: var(--serif); font-size:28px; margin:10px 0 28px; font-weight:700; }
.process-steps{ list-style:none; margin:0; padding:0; }
.process-step{ display:grid; grid-template-columns:40px 1fr; gap:16px; padding:18px 0; border-top:1px solid var(--line); }
.process-step:first-child{ border-top:none; }
.step-num{ font-family: var(--serif); font-size:20px; font-weight:700; color: var(--gold); -webkit-text-stroke:.5px var(--navy); }
.step-title{ font-family: var(--serif); font-size:17px; font-weight:700; margin-bottom:4px; }
.step-desc{ font-size:14.5px; color:#3a4a63; line-height:1.6; margin:0; }
@media (max-width:820px){
  .process-inner{ grid-template-columns:1fr; gap:32px; }
  .process-photo{ max-width:320px; margin:0 auto; }
}

/* ---------- CONTACT ---------- */
.contact-section{ background: var(--navy); color:#eef1f6; padding:72px 24px; }
.contact-inner{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start; }
.contact-title{ font-family: var(--serif); font-size:30px; margin:10px 0 24px; font-weight:700; max-width:16ch; }
.contact-facts{ list-style:none; margin:0 0 28px; padding:0; font-size:15px; line-height:1.7; color:#c3cbd8; }
.contact-facts li{ padding:10px 0; border-top:1px solid var(--line-on-dark); }
.contact-facts li:first-child{ border-top:none; }
.contact-facts b{ color:#a9b6c9; display:block; font-size:13px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:3px; }
.contact-facts a{ color:#eef1f6; text-decoration:none; }
.contact-facts a:hover{ color: var(--gold); }
.contact-chips{ display:flex; gap:12px; flex-wrap:wrap; }
.contact-chip{ display:flex; align-items:center; gap:9px; text-decoration:none; color:#eef1f6; border:1px solid rgba(238,241,246,.35); padding:11px 18px; font-size:14px; font-weight:600; }
.contact-chip:hover{ border-color: var(--gold); color: var(--gold); }
.contact-chip::before{ content:""; width:7px; height:7px; background: var(--gold); flex:none; }
.contact-card{ background: var(--navy-mid); border:1px solid rgba(240,185,64,.3); padding:32px; }
.contact-card h3{ font-family: var(--serif); font-size:19px; margin:0 0 6px; font-weight:700; }
.contact-card-sub{ font-size:13.5px; color:#b9c4d6; margin-bottom:22px; line-height:1.5; }
.contact-field{ margin-bottom:14px; }
.contact-field label{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:#a9b6c9; margin-bottom:6px; }
.contact-field input{
  width:100%; background: var(--navy); border:1px solid rgba(238,241,246,.25);
  color:#eef1f6; padding:12px 14px; font-size:14.5px; font-family: var(--sans);
}
.contact-field input::placeholder{ color:#6b7d97; }
.contact-submit{
  width:100%; background: var(--gold); color: var(--navy); border:none;
  padding:14px 22px; font-weight:700; font-size:14.5px; cursor:pointer; margin-top:6px;
}
.contact-submit:hover{ background:#f7c968; }
.contact-note{ font-size:12.5px; color:#8fa0b8; margin-top:12px; line-height:1.5; }
.contact-success{
  margin-top:14px; padding:12px 14px; background:rgba(240,185,64,.12);
  border:1px solid rgba(240,185,64,.4); color:#f0b940; font-size:13.5px; line-height:1.5;
}
@media (max-width:820px){ .contact-inner{ grid-template-columns:1fr; gap:36px; } }

/* ---------- FOOTER ---------- */
.site-footer{ background: var(--navy-deep); color:#8fa0b8; padding:22px 24px; font-size:13px; }
.footer-inner{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
}
