:root { --navy:#142b3d; --navy-deep:#0b1b28; --gold:#e6a52a; --gold-light:#f5c766; --cream:#f8f6f1; --ink:#25313a; --muted:#68747c; --white:#fff; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { color:var(--ink); background:var(--cream); font:400 1.05rem/1.65 "Source Sans 3",Arial,sans-serif; }
h1,h2,h3,.brand { font-family:Montserrat,Arial,sans-serif; line-height:1.18; }
.site-header { min-height:78px; padding:10px 8%; display:flex; justify-content:space-between; align-items:center; background:var(--white); box-shadow:0 2px 14px rgba(11,27,40,.08); position:sticky; top:0; z-index:10; }
.brand { display:flex; align-items:center; gap:10px; color:var(--navy); text-decoration:none; font-weight:700; font-size:1.1rem; text-transform:uppercase; letter-spacing:.04em; }
.brand strong { color:var(--gold); }.brand img { width:47px; height:47px; object-fit:cover; border-radius:50%; }
nav ul { display:flex; list-style:none; gap:28px; } nav a { color:var(--ink); text-decoration:none; font:600 .85rem Montserrat,Arial,sans-serif; text-transform:uppercase; letter-spacing:.04em; padding:8px 0; border-bottom:2px solid transparent; } nav a:hover,nav a.active { color:var(--gold); border-color:var(--gold); }
.hero { min-height:650px; display:grid; align-items:center; padding:100px 8%; color:var(--white); background:linear-gradient(90deg,rgba(7,22,34,.92),rgba(7,22,34,.61)),url("../images/logo.jpeg") center/cover; }
.hero-content { max-width:760px; }.eyebrow { color:var(--gold); font:700 .77rem Montserrat,Arial,sans-serif; text-transform:uppercase; letter-spacing:.14em; margin-bottom:16px; }.hero h1 { font-size:clamp(2.5rem,6vw,4.8rem); max-width:780px; }.hero-copy { font-size:1.25rem; max-width:600px; margin:25px 0 34px; color:#edf1f3; }.hero-actions { display:flex; align-items:center; gap:25px; }
.btn { display:inline-flex; align-items:center; gap:10px; background:var(--gold); color:var(--navy-deep); text-decoration:none; font:700 .82rem Montserrat,Arial,sans-serif; text-transform:uppercase; letter-spacing:.04em; padding:15px 22px; border:2px solid var(--gold); transition:.2s ease; }.btn:hover { background:transparent; color:var(--gold); }.text-link { color:var(--white); font-weight:600; text-decoration:none; border-bottom:1px solid currentColor; }.text-link.dark { color:var(--navy); }.text-link:hover { color:var(--gold); }
.section { padding:88px 8%; }.section-heading { max-width:680px; margin-bottom:44px; }.section-heading h2,.commitment h2,.page-banner h1 { color:var(--navy); font-size:clamp(2rem,4vw,3.1rem); margin-bottom:16px; }.section-heading p:not(.eyebrow) { color:var(--muted); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.card { padding:34px 28px; background:var(--white); border-bottom:4px solid transparent; box-shadow:0 8px 28px rgba(11,27,40,.08); transition:.25s ease; }.card:hover { transform:translateY(-7px); border-color:var(--gold); }.card i { color:var(--gold); font-size:2rem; margin-bottom:22px; }.card h3 { color:var(--navy); margin-bottom:12px; font-size:1.2rem; }.card p { color:var(--muted); }.center-link { text-align:center; margin-top:38px; }
.commitment { padding:72px 8%; background:var(--navy); color:#e9eff2; display:grid; grid-template-columns:1.3fr 1fr auto; align-items:center; gap:45px; }.commitment h2 { color:var(--white); }.commitment .eyebrow { color:var(--gold-light); }.btn-light { background:transparent; color:var(--white); border-color:var(--gold); white-space:nowrap; }.btn-light:hover { background:var(--gold); color:var(--navy-deep); }
.page-banner { padding:80px 8%; background:linear-gradient(110deg,var(--navy-deep),var(--navy)); color:var(--white); }.page-banner h1 { color:var(--white); }.page-banner p { max-width:640px; color:#d5e0e5; font-size:1.15rem; }.two-column { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:start; }.content-copy h2 { color:var(--navy); font-size:2.1rem; margin:0 0 20px; }.content-copy p { margin-bottom:18px; color:var(--muted); }.feature-list { list-style:none; margin-top:25px; }.feature-list li { padding:12px 0; border-bottom:1px solid #dedfdc; font-weight:600; }.feature-list i { color:var(--gold); margin-right:12px; }.values { display:grid; gap:16px; }.value { background:var(--white); padding:24px; border-left:4px solid var(--gold); box-shadow:0 5px 16px rgba(11,27,40,.06); }.value h3 { color:var(--navy); margin-bottom:6px; }
.founder-section { padding:72px 8%; background:var(--white); display:grid; grid-template-columns:300px minmax(0,620px); justify-content:center; align-items:center; gap:55px; }.founder-photo { aspect-ratio:1/1; overflow:hidden; background:#e7ecec; border:5px solid var(--gold); box-shadow:0 10px 28px rgba(11,27,40,.16); }.founder-photo img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }.founder-copy h2 { color:var(--navy); font-size:clamp(2rem,4vw,3rem); margin-bottom:8px; }.founder-copy h3 { color:var(--gold); font-size:1.35rem; margin-bottom:4px; }.founder-copy p { color:var(--muted); margin-bottom:15px; }
.service-list { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }.service-item { background:var(--white); padding:30px; display:grid; grid-template-columns:44px 1fr; gap:18px; box-shadow:0 5px 18px rgba(11,27,40,.07); }.service-item i { color:var(--gold); font-size:1.7rem; }.service-item h3 { color:var(--navy); margin-bottom:8px; }.service-item p { color:var(--muted); }
.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:45px; }.contact-details { background:var(--navy); color:#dce7ec; padding:38px; }.contact-details h2 { color:var(--white); margin-bottom:24px; }.contact-details p { margin:18px 0; }.contact-details i { color:var(--gold); width:28px; }.contact-form { background:var(--white); padding:38px; box-shadow:0 8px 28px rgba(11,27,40,.08); }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; } label { font-weight:600; display:block; margin:0 0 7px; } input,textarea { width:100%; padding:13px; border:1px solid #d3d9dc; font:inherit; margin-bottom:18px; } textarea { min-height:135px; resize:vertical; } button.btn { cursor:pointer; }
.contact-details a { color:inherit; text-decoration:none; }.contact-details a:hover { color:var(--gold-light); }
.form-status { min-height:1.5em; margin-top:14px; color:var(--muted); }.form-status.error { color:#a22525; }.thank-you { min-height:calc(100vh - 146px); display:grid; place-items:center; padding:70px 7%; background:linear-gradient(135deg,#eef1f1,var(--cream)); }.thank-you-card { max-width:690px; background:var(--white); text-align:center; padding:clamp(38px,7vw,72px); box-shadow:0 12px 38px rgba(11,27,40,.12); }.thank-you-card > i { color:var(--gold); font-size:4rem; margin-bottom:24px; }.thank-you-card h1 { color:var(--navy); font-size:clamp(2rem,5vw,3.4rem); margin-bottom:19px; }.thank-you-card p:not(.eyebrow) { color:var(--muted); margin-bottom:14px; }.thank-you-card .btn { margin-top:18px; }
footer { background:var(--navy-deep); color:#b9c7ce; text-align:center; padding:23px 8%; font-size:.9rem; }
@media (max-width:850px) { .cards,.commitment,.two-column,.contact-grid { grid-template-columns:1fr; }.commitment { gap:22px; }.service-list { grid-template-columns:1fr; }.founder-section { grid-template-columns:230px 1fr; gap:35px; } }
@media (max-width:620px) {
  body { font-size:1rem; }
  .site-header { padding:10px 5%; flex-direction:column; gap:9px; position:static; }
  .brand { font-size:.82rem; }.brand img { width:36px; height:36px; }
  nav { width:100%; overflow-x:auto; scrollbar-width:none; } nav::-webkit-scrollbar { display:none; }
  nav ul { width:max-content; min-width:100%; justify-content:center; gap:0; }
  nav a { display:block; padding:10px 11px 8px; font-size:.66rem; white-space:nowrap; }
  .hero { min-height:540px; padding:65px 7%; background-position:center; }
  .hero h1 { font-size:clamp(2.25rem,11vw,3.25rem); }.hero-copy { font-size:1.08rem; margin:20px 0 28px; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:17px; }.hero-actions .btn { justify-content:center; }.text-link { align-self:center; }
  .section,.page-banner { padding:55px 7%; }.page-banner h1 { font-size:clamp(2rem,9vw,2.7rem); }
  .section-heading { margin-bottom:30px; }.cards { gap:16px; }.card { padding:27px 23px; }
  .founder-section { padding:52px 7%; grid-template-columns:1fr; gap:28px; }.founder-photo { width:min(100%,280px); justify-self:center; }.founder-copy { text-align:center; }
  .commitment { padding:52px 7%; gap:19px; }.commitment .btn { justify-content:center; }
  .two-column,.contact-grid { gap:28px; }.service-list { gap:14px; }.service-item { padding:23px; grid-template-columns:36px 1fr; gap:13px; }
  .form-row { grid-template-columns:1fr; gap:0; }.contact-form,.contact-details { padding:25px 21px; }
  input,textarea { font-size:16px; } /* Prevents automatic zoom when fields are selected on iPhone. */
}
@media (max-width:360px) { nav a { padding-left:8px; padding-right:8px; font-size:.61rem; }.brand { font-size:.74rem; }.hero { min-height:510px; } }
