:root{--green:#0a8f49;--green-dark:#056e37;--ink:#101610;--paper:#f2f2ec;--white:#fff;--line:#cfd4cc;--muted:#667066;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);line-height:1.5}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.topbar{background:var(--ink);color:#fff;font-size:13px;letter-spacing:.04em}.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding:10px 0}.site-header{position:sticky;top:0;z-index:50;background:rgba(242,242,236,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{height:88px;display:flex;align-items:center;justify-content:space-between}.brand img{width:120px;height:70px;object-fit:contain}.navlinks{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.navlinks a{padding:34px 0 30px;border-bottom:4px solid transparent}.navlinks a:hover,.navlinks a.active{border-bottom-color:var(--green)}.cta{background:var(--green);color:#fff!important;padding:14px 18px!important;border-bottom:none!important}.mobile-toggle{display:none;background:none;border:0;font-size:30px}.hero{min-height:690px;display:grid;grid-template-columns:1.05fr .95fr}.hero-copy{padding:90px max(40px,calc((100vw - var(--max))/2)) 80px calc((100vw - var(--max))/2);padding-left:max(40px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--green)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(58px,7vw,108px);line-height:.91;letter-spacing:-.055em;margin:18px 0 28px;font-weight:500}.hero h1 em{color:var(--green);font-style:normal}.hero-copy p{font-size:20px;max-width:620px;color:#3f4940}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 20px;border:1px solid var(--ink);font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.06em}.button.primary{background:var(--ink);color:#fff}.button.green{background:var(--green);border-color:var(--green);color:#fff}.hero-media{position:relative;background:#d9ddd7;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-label{position:absolute;left:24px;bottom:24px;background:var(--paper);padding:14px 16px;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.stat-strip{background:var(--green);color:#fff}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:31px 24px;border-right:1px solid rgba(255,255,255,.25)}.stat:last-child{border-right:0}.stat b{display:block;font-family:Georgia,serif;font-size:34px;font-weight:500}.stat span{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.section{padding:100px 0}.section.tight{padding:70px 0}.section-head{display:grid;grid-template-columns:260px 1fr;gap:50px;margin-bottom:55px}.section-head h2,.page-intro h1{font-family:Georgia,serif;font-weight:500;letter-spacing:-.035em}.section-head h2{font-size:54px;line-height:1}.section-head p{font-size:20px;max-width:760px;color:#465047}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:90px 1.2fr 1.8fr 24px;gap:26px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}.service-row .num{font-size:13px;color:var(--muted)}.service-row h3{font-size:27px;margin:0}.service-row p{margin:0;color:#586159}.arrow{font-size:26px}.feature-split{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.feature-photo img{width:100%;height:100%;object-fit:cover}.feature-copy{background:var(--ink);color:#fff;padding:80px;display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font:500 56px/1 Georgia,serif;letter-spacing:-.04em}.feature-copy p{color:#c9d0c9;font-size:19px}.feature-copy .button{border-color:#fff;color:#fff;width:max-content}.band{background:#e3e5de;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote{padding:90px 0;font:500 clamp(36px,5vw,70px)/1.05 Georgia,serif;letter-spacing:-.04em;max-width:1000px}.quote span{color:var(--green)}.page-intro{padding:90px 0 65px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(58px,8vw,110px);line-height:.9;margin-bottom:24px}.page-intro p{font-size:21px;max-width:760px;color:#485149}.page-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:end}.page-intro-photo img{width:100%;max-height:360px;object-fit:cover;border:1px solid var(--line)}.subnav{display:flex;gap:24px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px}.prose h2{font:500 46px/1.05 Georgia,serif;letter-spacing:-.03em}.prose p{font-size:18px;color:#444d45}.timeline{border-left:2px solid var(--green);padding-left:30px}.timeline-item{margin-bottom:38px}.timeline-item b{color:var(--green);font-size:13px;letter-spacing:.1em;text-transform:uppercase}.timeline-item h3{font-size:27px;margin:5px 0 8px}.service-detail{display:grid;grid-template-columns:160px 1fr 1fr;gap:40px;padding:50px 0;border-bottom:1px solid var(--line)}.service-detail h2{font:500 42px/1 Georgia,serif}.service-detail p{font-size:18px;color:#4b544c}.team-group{margin-bottom:90px}.team-group-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.team-group-head h2{font:500 52px/1 Georgia,serif;margin:0}.team-group-head p{max-width:500px;margin:0;color:#59625a}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.person{background:var(--paper)}.person img{width:100%;aspect-ratio:4/5;object-fit:cover}.person-info{padding:17px}.person-info strong{display:block;font-size:18px}.person-info span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:300px;gap:8px}.gallery-grid img{width:100%;height:100%;object-fit:cover}.gallery-grid .tall{grid-row:span 2}.gallery-grid .wide{grid-column:span 2}.steps{counter-reset:step}.step{counter-increment:step;display:grid;grid-template-columns:100px 1fr;gap:40px;padding:44px 0;border-bottom:1px solid var(--line)}.step:before{content:"0" counter(step);font:500 44px Georgia,serif;color:var(--green)}.step h3{font-size:30px;margin-bottom:8px}.step p{font-size:18px;color:#505951;max-width:750px}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.contact-card{border-top:4px solid var(--green);padding-top:24px;margin-bottom:44px}.contact-card h3{font-size:28px}.contact-card p{font-size:18px}.contact-form{background:#fff;border:1px solid var(--line);padding:40px}.field{display:grid;gap:8px;margin-bottom:18px}.field label{font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.field input,.field textarea,.field select{width:100%;padding:14px 12px;border:1px solid #bfc6bd;background:#fafaf7;font:inherit}.field textarea{min-height:150px}.footer{background:var(--ink);color:#fff;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}.footer img{width:145px}.footer p,.footer a{color:#cbd1cb}.footer h4{text-transform:uppercase;font-size:12px;letter-spacing:.1em}.footer-bottom{margin-top:50px;padding-top:20px;border-top:1px solid #303730;font-size:12px;color:#9ea79f;display:flex;justify-content:space-between;gap:20px}.notice{background:#dfe8df;border-left:4px solid var(--green);padding:18px 20px;margin:24px 0}.yearbook-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.yearbook-pair figure{margin:0}.yearbook-pair figcaption{font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.07em;padding-top:10px}@media(max-width:900px){.topbar{display:none}.nav{height:72px}.brand img{width:90px;height:56px}.mobile-toggle{display:block}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.navlinks a{padding:10px 0}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:70px 24px}.hero-media{height:520px}.stat-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.section-head,.two-col,.feature-split,.contact-layout,.footer-grid,.page-intro-grid{grid-template-columns:1fr}.section-head{gap:14px}.service-row{grid-template-columns:50px 1fr 24px}.service-row p{display:none}.feature-copy{padding:55px 28px}.service-detail{grid-template-columns:80px 1fr}.service-detail>p{grid-column:2}.team-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .wide{grid-column:span 2}.yearbook-pair{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}@media(max-width:560px){.wrap{width:min(var(--max),calc(100% - 28px))}.hero h1{font-size:58px}.hero-media{height:400px}.stat-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}.section{padding:72px 0}.section-head h2,.team-group-head h2{font-size:42px}.team-grid{grid-template-columns:1fr 1fr}.gallery-grid{display:block}.gallery-grid img{margin-bottom:8px;height:auto}.step{grid-template-columns:60px 1fr;gap:18px}.contact-form{padding:25px}.service-detail{grid-template-columns:1fr;gap:12px}.service-detail>p{grid-column:auto}}

/* Gallery images are shown uncropped so every person remains fully visible. */
.gallery-grid.gallery-natural{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:18px;align-items:start;background:transparent}
.gallery-grid.gallery-natural img{width:100%;height:auto;object-fit:contain;background:#fff;border:1px solid var(--line)}
.gallery-grid.gallery-natural .tall,.gallery-grid.gallery-natural .wide{grid-row:auto;grid-column:auto}
@media(max-width:700px){.gallery-grid.gallery-natural{grid-template-columns:1fr}.gallery-grid.gallery-natural img{margin-bottom:0}}

/* Final motion polish */
html.motion-enabled body{opacity:0;transform:translateY(8px);transition:opacity .55s ease,transform .55s ease}
html.motion-enabled body.is-ready{opacity:1;transform:none}

.motion-enabled .site-header{transition:box-shadow .3s ease,background-color .3s ease}
.motion-enabled .brand img{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.motion-enabled .brand:hover img{transform:scale(1.035)}
.motion-enabled .navlinks a:not(.cta){transition:color .25s ease,border-color .25s ease,transform .25s ease}
.motion-enabled .navlinks a:not(.cta):hover{transform:translateY(-2px)}
.motion-enabled .cta,.motion-enabled .button{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,background-color .28s ease,color .28s ease,border-color .28s ease}
.motion-enabled .cta:hover,.motion-enabled .button:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(16,22,16,.14)}

.motion-enabled .hero-copy>*{opacity:0;transform:translateY(20px);animation:heroRise .75s cubic-bezier(.2,.7,.2,1) forwards}
.motion-enabled .hero-copy>.eyebrow{animation-delay:.12s}
.motion-enabled .hero-copy>h1{animation-delay:.2s}
.motion-enabled .hero-copy>p{animation-delay:.31s}
.motion-enabled .hero-copy>.hero-actions{animation-delay:.42s}
.motion-enabled .hero-media{overflow:hidden}
.motion-enabled .hero-media img{transform:scale(1.035) translateY(var(--depth-y,0));animation:heroImageIn 1.15s cubic-bezier(.2,.7,.2,1) both;transition:transform .12s linear}
.motion-enabled .hero-label{opacity:0;transform:translateY(10px);animation:labelIn .6s .7s ease forwards}

.motion-enabled .stat{transition:background-color .3s ease,transform .3s ease}
.motion-enabled .stat:hover{background:rgba(255,255,255,.07);transform:translateY(-3px)}
.motion-enabled .service-row{transition:background-color .28s ease,padding-left .28s ease,padding-right .28s ease}
.motion-enabled .service-row:hover{background:rgba(10,143,73,.045);padding-left:12px;padding-right:12px}
.motion-enabled .service-row .arrow{transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.motion-enabled .service-row:hover .arrow{transform:translate(4px,-4px)}

.motion-enabled .feature-photo{overflow:hidden}
.motion-enabled .feature-photo img,.motion-enabled .page-intro-photo img{transform:scale(1.02) translateY(var(--depth-y,0));transition:transform .12s linear}
.motion-enabled .person img,.motion-enabled .gallery-natural img{transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.motion-enabled .person{overflow:hidden}
.motion-enabled .person:hover img{transform:scale(1.025)}
.motion-enabled .gallery-natural img:hover{transform:translateY(-4px);filter:brightness(1.02)}

.motion-enabled .reveal{opacity:0;transform:translateY(24px);transition:opacity .72s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),transform .72s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.motion-enabled .reveal.in-view{opacity:1;transform:none}

@keyframes heroRise{to{opacity:1;transform:none}}
@keyframes heroImageIn{from{opacity:.35;transform:scale(1.08) translateY(var(--depth-y,0))}to{opacity:1;transform:scale(1.035) translateY(var(--depth-y,0))}}
@keyframes labelIn{to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.motion-enabled body{opacity:1!important;transform:none!important;transition:none!important}
  .motion-enabled *{animation:none!important;transition:none!important;transform:none!important}
  .motion-enabled .reveal{opacity:1!important}
}

.form-status{margin:16px 0 0;font-size:14px;min-height:21px}.form-status.success{color:var(--green-dark);font-weight:700}.form-status.error{color:#a42b2b;font-weight:700}.contact-form button[disabled]{opacity:.65;cursor:wait}

/* Sponsors */
.sponsors-section{padding:82px 0 90px;background:#fff;border-top:1px solid var(--line)}
.sponsors-head{max-width:1040px;margin:0 auto 44px;text-align:center}
.sponsors-head h2{font:700 54px/1.05 Inter,Arial,sans-serif;letter-spacing:-.03em;color:var(--green);margin:0 0 22px}
.sponsors-copy{max-width:1080px;margin:0 auto}
.sponsors-copy p{margin:0 0 22px;color:#586159;font-size:18px;line-height:1.6}
.sponsors-copy p:last-child{margin-bottom:0}
.sponsor-logos{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.sponsor-logo{display:flex;align-items:center;justify-content:center;padding:0;min-height:unset;background:transparent;border:0;box-shadow:none}
.sponsor-logo img{width:100%;height:auto;object-fit:contain;display:block}
.sponsor-logo-pathways img{max-width:860px}
.sponsor-logo-peak img{max-width:860px}
.clean-sponsors{margin-top:20px}
.motion-enabled .sponsor-logo{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.motion-enabled .sponsor-logo:hover{transform:translateY(-4px)}
@media(max-width:900px){.sponsors-head{margin-bottom:30px}.sponsor-logos{grid-template-columns:1fr;gap:28px}.sponsors-head h2{font-size:44px}.sponsors-copy p{font-size:17px}}
@media(max-width:560px){.sponsors-section{padding:65px 0}.sponsors-head h2{font-size:38px}.sponsors-copy p{font-size:16px;line-height:1.55}}
