:root{--navy:#102b3f;--navy-2:#173d55;--gold:#d8a73f;--cream:#f5f1e8;--paper:#fffdf8;--ink:#18313f;--muted:#66737a;--line:#d8d5cc;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"DM Serif Display",serif;font-weight:400;line-height:1.04;letter-spacing:-.02em}h1{font-size:clamp(3.2rem,7vw,6.5rem);max-width:900px;margin-bottom:1.7rem}h1 em{color:var(--gold);font-style:normal}h2{font-size:clamp(2.4rem,4.4vw,4.25rem);margin-bottom:1.5rem}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.17em;color:#8a651e;margin-bottom:1rem}.site-header{height:88px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18);position:absolute;width:100%;z-index:10;color:var(--white)}.brand{display:flex;align-items:center;gap:.8rem;font-weight:700;letter-spacing:.08em;font-size:.87rem}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-family:"DM Serif Display",serif;font-size:1rem}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.83rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.nav-cta{border:1px solid var(--gold);padding:.65rem 1.1rem}.menu-button{display:none}.hero{min-height:760px;background:var(--navy);color:var(--white);padding:180px max(24px,calc((100vw - var(--max))/2)) 95px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.7fr);gap:5rem;align-items:end;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to right,transparent,black 65%);pointer-events:none}.hero-copy,.ledger-card{position:relative}.hero .eyebrow{color:#efc86e}.hero-text{max-width:700px;color:#d2dde2;font-size:1.2rem;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:1.8rem;margin-top:2.5rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.9rem 1.25rem;border:0;font:inherit;font-weight:700;font-size:.89rem;cursor:pointer}.button-primary{background:var(--gold);color:#1d2930}.text-link{font-weight:700;border-bottom:1px solid rgba(255,255,255,.35)}.ledger-card{background:var(--paper);color:var(--ink);padding:1.4rem;box-shadow:18px 18px 0 rgba(216,167,63,.16);transform:rotate(1deg)}.ledger-topline,.ledger-row{display:flex;justify-content:space-between;gap:1rem;padding:.9rem .2rem;border-bottom:1px solid var(--line)}.ledger-topline{font-size:.7rem;letter-spacing:.13em;font-weight:700}.status{color:#557348}.ledger-row strong{color:#557348}.ledger-summary{padding:2rem .2rem .5rem;display:grid;gap:.35rem}.ledger-summary span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.ledger-summary strong{font-family:"DM Serif Display",serif;font-size:1.8rem;line-height:1.2}.band{background:var(--cream)}.recognition{padding:110px max(24px,calc((100vw - var(--max))/2))}.recognition-grid{display:grid;grid-template-columns:1fr 1fr;gap:8rem}.check-list p{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #c8c4b9;margin:0}.check-list span{color:#9a6d18;font-size:.78rem;font-weight:700}.services,.about,.contact{max-width:var(--max);margin:auto;padding:120px 24px}.section-heading{max-width:740px;margin-bottom:4.5rem}.section-heading>p:last-child{font-size:1.1rem;color:var(--muted);max-width:620px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.service-grid article{padding:2.2rem;min-height:460px}.service-grid article+article{border-left:1px solid var(--line)}.featured-service{background:var(--navy);color:var(--white);transform:translateY(-18px);box-shadow:0 18px 0 var(--gold)}.service-number{font-size:.74rem;color:#9a6d18;font-weight:700;letter-spacing:.12em}.featured-service .service-number{color:#efc86e}.service-grid h3{font-family:"DM Serif Display",serif;font-size:2rem;margin:1.7rem 0 .8rem}.service-grid p{color:var(--muted)}.featured-service p{color:#d2dde2}.service-grid ul{padding-left:1.2rem;margin-top:1.5rem}.service-grid li{margin:.45rem 0}.pricing-note{max-width:800px;margin:3.5rem auto 0;text-align:center}.process{padding:110px max(24px,calc((100vw - var(--max))/2))}.compact{margin-bottom:3rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem}.steps article{border-top:3px solid var(--navy);padding-top:1.5rem}.steps span{display:block;color:#9a6d18;font-weight:700;font-size:.8rem}.steps h3{font-family:"DM Serif Display",serif;font-size:1.7rem;margin:.8rem 0}.steps p{color:var(--muted)}.about{display:grid;grid-template-columns:.72fr 1.28fr;gap:8rem;align-items:center}.about-stamp{aspect-ratio:1;max-width:360px;background:var(--gold);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:18px 18px 0 var(--cream);transform:rotate(-4deg)}.about-stamp span{font-size:.75rem;letter-spacing:.19em;font-weight:700}.about-stamp strong{font-family:"DM Serif Display",serif;font-size:8rem;line-height:.83;color:var(--navy)}.about>div:last-child>p:not(.eyebrow){font-size:1.1rem;color:var(--muted)}.nonprofit-callout{background:var(--navy-2);color:var(--white);padding:80px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1.2fr .8fr;gap:6rem;align-items:center}.nonprofit-callout .eyebrow{color:#efc86e}.nonprofit-callout h2{font-size:clamp(2.2rem,3.8vw,3.7rem);margin-bottom:0}.nonprofit-callout p:not(.eyebrow){color:#d2dde2}.button-light{background:var(--paper);color:var(--navy);margin-top:.6rem}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:8rem}.contact>div>p:not(.eyebrow){color:var(--muted);font-size:1.1rem}.fit-note{margin-top:2rem;padding:1.3rem;border-left:4px solid var(--gold);background:var(--cream)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;background:var(--cream);padding:2rem}.contact-form label{font-size:.8rem;font-weight:700;letter-spacing:.04em}.contact-form label:nth-child(4),.contact-form .button,.form-message{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #aaa69e;background:transparent;padding:.8rem 0;font:inherit;border-radius:0;color:var(--ink)}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--gold);outline-offset:4px}.contact-form .button{width:fit-content}.form-message{font-size:.85rem;margin:0;color:var(--muted)}footer{background:#0b202f;color:#c6d1d6;padding:48px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:3rem;font-size:.82rem}footer p{margin:0}.footer-brand{color:var(--white)}
@media(max-width:850px){.site-header{height:74px}.menu-button{display:block;background:transparent;border:1px solid rgba(255,255,255,.5);color:white;padding:.5rem .75rem;font:inherit}.site-header nav{display:none;position:absolute;left:0;right:0;top:74px;background:var(--navy);padding:1.5rem 24px;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:145px;gap:3.5rem}.recognition-grid,.about,.nonprofit-callout,.contact{grid-template-columns:1fr;gap:3rem}.recognition-grid{gap:2rem}.service-grid,.steps{grid-template-columns:1fr}.service-grid article+article{border-left:0;border-top:1px solid var(--line)}.featured-service{transform:none;box-shadow:none}.service-grid article{min-height:0}.about-stamp{max-width:230px}.about-stamp strong{font-size:5.2rem}.contact-form{grid-template-columns:1fr}.contact-form label{grid-column:1/-1}footer{grid-template-columns:1fr;gap:1.5rem}.hero-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){h1{font-size:3rem}.brand>span:last-child{font-size:.72rem}.ledger-card{transform:none}.recognition,.services,.process,.about,.contact{padding-top:80px;padding-bottom:80px}.contact-form{padding:1.3rem}}

/* Hero photography */
.hero{min-height:790px;display:flex;align-items:flex-end;position:relative;isolation:isolate}
.hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.hero:before{z-index:-1;background:linear-gradient(90deg,rgba(8,30,44,.94) 0%,rgba(8,30,44,.84) 31%,rgba(8,30,44,.42) 54%,rgba(8,30,44,.05) 76%);mask-image:none}
.hero-copy{position:relative;width:min(720px,62vw);text-shadow:0 2px 18px rgba(5,19,29,.32)}
.hero h1{font-size:clamp(3.2rem,6.2vw,5.8rem)}
.hero .eyebrow{color:#f5cf7e}
.hero-text{max-width:670px;color:#eef3f5}
.text-link{border-bottom-color:rgba(255,255,255,.5)}

@media(max-width:850px){.hero{min-height:780px;padding-top:145px}.hero-image{object-position:68% center}.hero:before{background:linear-gradient(90deg,rgba(8,30,44,.96) 0%,rgba(8,30,44,.82) 55%,rgba(8,30,44,.25) 100%)}.hero-copy{width:min(620px,88vw)}}
@media(max-width:520px){.hero{min-height:720px}.hero-image{object-position:63% center}.hero:before{background:rgba(8,30,44,.68)}.hero-copy{width:100%}}

/* Preserve the complete hero photograph at every screen size. */
.site-header{background:linear-gradient(180deg,rgba(8,30,44,.82),rgba(8,30,44,.22))}
.hero{display:block;min-height:0;padding:0;background:var(--navy)}
.hero-image{position:relative;z-index:auto;display:block;width:100%;height:auto;object-fit:contain;object-position:center}
.hero:before{display:none}
.hero-copy{width:100%;padding:64px max(24px,calc((100vw - var(--max))/2)) 72px;text-shadow:none}

@media(min-width:1440px){
  .site-header{background:transparent}
  .hero{height:calc(100vw * 821 / 1915);max-height:821px;display:flex;align-items:flex-end;padding:140px max(24px,calc((100vw - var(--max))/2)) 60px}
  .hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:contain}
  .hero:before{display:block;z-index:-1;background:linear-gradient(90deg,rgba(8,30,44,.94) 0%,rgba(8,30,44,.84) 31%,rgba(8,30,44,.42) 54%,rgba(8,30,44,.05) 76%)}
  .hero-copy{width:min(720px,54vw);padding:0;text-shadow:0 2px 18px rgba(5,19,29,.32)}
}

@media(max-width:1439px){
  .hero h1{font-size:clamp(3rem,8vw,5rem)}
  .hero-copy{color:var(--white)}
}

@media(max-width:520px){
  .hero{min-height:0}
  .hero-copy{padding-top:48px;padding-bottom:58px}
}

/* About portrait */
.about-photo{width:100%;max-width:400px;margin:0}
.about-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;box-shadow:18px 18px 0 var(--gold)}

@media(max-width:850px){
  .about-photo{max-width:340px;margin-bottom:18px}
}

/* Brand logo */
.brand-logo{display:block;width:clamp(230px,24vw,300px);height:auto}
.footer-brand .brand-logo{width:260px}

@media(max-width:850px){
  .brand-logo{width:200px}
  .footer-brand .brand-logo{width:230px}
}

/* Content refinements */
.site-header{background:rgba(8,30,44,.86);backdrop-filter:blur(3px)}
.brand-logo{width:clamp(245px,25vw,315px)}
.hero-image{margin-top:26px}
.check-list p{grid-template-columns:32px 1fr;align-items:start}
.check-list span{width:24px;height:24px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:#8a651e;font-size:.82rem;line-height:1}
.service-grid h3{margin-top:.35rem}
.steps h3{margin-top:0}

@media(min-width:1440px){
  .site-header{background:rgba(8,30,44,.86)}
  .hero-image{top:26px;height:calc(100% - 26px);margin-top:0}
}

@media(max-width:850px){
  .brand-logo{width:210px}
}

/* Compact referral, process icons, and contact fit list */
.site-header{background:rgba(8,30,44,.72);backdrop-filter:blur(1px)}
.nonprofit-callout{background:#e6d9b8;color:var(--navy);padding:44px max(24px,calc((100vw - var(--max))/2));gap:4rem}
.nonprofit-callout .nonprofit-title{font-size:clamp(1.7rem,2.4vw,2.45rem);margin:0 0 .45rem}
.nonprofit-callout .nonprofit-subtitle{font-size:1rem;line-height:1.45;margin:0;color:#405664}
.nonprofit-callout p:not(.eyebrow){color:#405664}
.nonprofit-callout .button-light{background:var(--navy);color:var(--white);margin-top:.35rem}
.steps h3{display:flex;align-items:center;gap:.75rem}
.steps .step-icon{width:30px;height:30px;display:inline-grid;place-items:center;flex:0 0 30px;border-radius:50%;background:var(--gold);color:var(--navy);font-family:"DM Sans",sans-serif;font-size:1rem;line-height:1}
.fit-note ol{margin:.75rem 0 0;padding-left:1.35rem}
.fit-note li{margin:.4rem 0;padding-left:.2rem}
.contact-form .fit-note{grid-column:1/-1;margin:0 0 .4rem;background:var(--paper)}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form button[disabled]{cursor:wait;opacity:.68}
.form-message.is-success{color:#315f3b;font-weight:600}
.form-message.is-error{color:#9a2f2f;font-weight:600}
.contact-form label:nth-child(4){grid-column:auto}
.contact-form .message-field{grid-column:1/-1}
.process .section-heading{max-width:none}

@media(min-width:851px){.process .section-heading h2{white-space:nowrap}}

@media(min-width:1440px){.site-header{background:rgba(8,30,44,.72)}}
@media(max-width:850px){.nonprofit-callout{padding-top:36px;padding-bottom:36px;gap:2rem}}
