/* Jaya's approved September 2026 palette and final artwork. */
:root {
  --navy: #0c2840;
  --navy-light: #12344c;
  --gold: #d2a24f;
  --ink: #0c2840;
  --muted: #5a6673;
  --silver: #f7f3ec;
  --line: #e6e1d8;
}
.header { min-height: 136px; padding: 14px max(5%, calc((100vw - 1400px)/2)); gap: 36px; }
.brand { flex-shrink: 0; }
.logo-window { display: block; position: relative; overflow: hidden; width: 180px; aspect-ratio: 1.52; background: #fff; }
.logo-window img { display: block; position: absolute; width: 122%; max-width: none; height: auto; left: -11%; top: -42%; object-fit: contain; }
.brand .logo-window { margin: 0; }
.header nav { gap: clamp(24px,3vw,48px); }
.header nav a { font-size: 14px; }
.header nav .nav-cta { padding: 13px 23px; border: 1px solid var(--navy); }
.header nav .nav-cta:hover { background: var(--navy); color: #fff; }
.hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); min-height: 700px; }
.hero-copy { width: 100%; max-width: 750px; justify-self: end; padding: 78px clamp(36px,5vw,88px); }
.hero h1 { font-size: clamp(3.6rem,5.1vw,6rem); line-height: 1.02; letter-spacing: -.035em; }
.hero h1 em, .page-intro em, .statement h2 em { color: var(--gold); }
.hero .lede { font-size: 17px; line-height: 1.85; margin: 30px 0 36px; max-width: 430px; }
.hero-note { padding-top: 24px; margin-top: 34px; border-top: 1px solid #456078; font-size: 12px; line-height: 1.7; color: #b9c2cb; }
.hero-photo img { object-position: 50% 30%; }
.hero-photo:after { background: linear-gradient(transparent,rgba(12,40,64,.78)); }
.hero-photo figcaption { bottom: 35px; left: 40px; }
.eyebrow { letter-spacing: .17em; }
.section { padding-block: 110px; }
.intro { grid-template-columns: .8fr 1.5fr; gap: 80px; }
.intro h2 { max-width: 650px; }
.intro > .eyebrow { border-top: 1px solid var(--gold); padding-top: 22px; max-width: 260px; }
.intro > div { max-width: 760px; }
.support { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.support h2 { max-width: 780px; }
.service-grid { gap: 46px; }
.service-grid article { border-color: var(--gold); }
.service-grid h3 { font-size: 2rem; }
.service-grid p { font-size: 16px; line-height: 1.85; }
.number { color: #76531a; letter-spacing: .14em; }
.six-pillars { row-gap: 60px; }
.six-pillars .pillar-intro { color: var(--navy); font-weight: 600; font-size: 15px; }
.founder { gap: 9%; }
.founder-image { height: 640px; }
.founder h2 { font-size: clamp(3rem,4.2vw,4.8rem); }
.founder p { max-width: 590px; }
.text-link { border-color: var(--gold); padding-bottom: 9px; }
.text-link:hover { color: #76531a; }
.button { gap: 0; padding-inline: 28px; border-radius: 0; }
.button:hover { background: #e3bd7b; }
.statement { padding-block: 120px; }
.statement p:last-child { max-width: 650px; }
.invitation { padding: 90px max(6%,calc((100vw - 1320px)/2)); gap: 8%; }
.invitation h2 { font-size: clamp(3rem,4.3vw,4.8rem); }
.invitation>div:last-child { max-width: 470px; }
footer { padding: 65px max(6%,calc((100vw - 1320px)/2)) 30px; }
.footer-brand .logo-window { width: 240px; }
.logo-textured img { width: 117%; left: -8.5%; top: -40%; }
.footer-top { align-items: center; }
.footer-bottom, .scope { font-size: 13px; }
.page-intro { padding-block: 95px 105px; }
.page-intro h1 { font-size: clamp(3.4rem,5.5vw,6rem); }
.page-intro .lede { max-width: 630px; }
.experience-body { grid-template-columns: minmax(0,.85fr) minmax(0,1.25fr); }
.steps h3 { font-size: 2rem; }
.steps article { padding-block: 30px; }
.steps p { font-size: 16px; }
.faq { width: 100%; max-width: none; margin: 0; }
.faq>h2 { max-width: 850px; }
.faq details { max-width: 1040px; }
.faq summary { padding-block: 28px; gap: 30px; }
.faq summary span { flex-shrink: 0; color: #76531a; }
.faq details p { max-width: 850px; }
.contact-layout { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.contact-layout form { background: var(--silver); border-top: 2px solid var(--gold); padding: 44px; }
.contact-note { padding-top: 25px; border-top: 1px solid var(--line); color: var(--muted); }
.credential { color: #76531a; }
.film:after { background: rgba(12,40,64,.48); }
@media (min-width: 1900px) {
  .hero-copy { max-width: 800px; padding-inline: 70px 95px; }
  .hero { min-height: 800px; }
}
@media (max-width: 1000px) {
  .header { padding-inline: 5%; gap: 22px; }
  .logo-window { width: 155px; }
  .header nav { gap: 22px; }
  .header nav .nav-cta { padding-inline: 16px; }
  .hero-copy { padding: 58px 8%; }
  .hero h1 { font-size: clamp(3.3rem,6vw,4.8rem); }
  .hero { min-height: 650px; }
  .section { padding-block: 80px; }
  .intro { gap: 45px; }
  .service-grid { gap: 28px; }
  .founder-image { height: 540px; }
  .contact-layout form { padding: 30px; }
}
@media (max-width: 760px) {
  .header { min-height: 100px; padding: 10px 6%; justify-content: space-between; }
  .logo-window { width: 125px; }
  .header nav { gap: 10px; padding-bottom: 20px; }
  .header nav .nav-cta { text-align: center; margin-top: 8px; }
  .hero { grid-template-columns: minmax(0,1fr); min-height: 0; }
  .hero-copy { max-width: none; padding: 34px 7%; }
  .hero h1 { font-size: clamp(2.6rem,11.3vw,3.5rem); }
  .hero .lede { font-size: 16px; line-height: 1.75; margin-block: 22px 26px; }
  .hero-note { display: none; }
  .hero-photo { height: 470px; }
  .hero-photo figcaption { left: 7%; bottom: 25px; }
  .section { padding-block: 65px; }
  .intro,.founder,.experience-body,.contact-layout { grid-template-columns: minmax(0,1fr); gap: 35px; }
  .intro>.eyebrow { max-width: 100%; padding-top: 18px; }
  .service-grid { gap: 35px; }
  .six-pillars { row-gap: 36px; }
  .founder-image { height: 480px; }
  .founder h2 { font-size: clamp(2.8rem,9vw,4rem); }
  .statement { padding: 75px 7%; }
  .invitation { padding: 65px 7%; gap: 25px; }
  .invitation h2 { font-size: clamp(2.9rem,9vw,4rem); }
  .page-intro { padding: 65px 7%; }
  .page-intro h1 { font-size: clamp(3rem,9.8vw,4.4rem); }
  .contact-layout form { padding: 28px 22px; }
  .footer-top { align-items: flex-start; gap: 28px; }
  .footer-brand .logo-window { width: 210px; }
  .faq summary { font-size: 15px; }
}
