@import "tailwindcss";

:root{--green:#289683;--green-dark:#187866;--green-pale:#eaf5f2;--ink:#26313a;--charcoal:#394047;--muted:#66727a;--line:#dce3e1;--white:#fff;--blue:#2878b9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-manrope),Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}main{overflow:hidden}.section{padding:110px max(5vw,40px)}
.site-header{height:92px;padding:0 max(4vw,32px);display:flex;align-items:center;gap:42px;background:#fff;position:relative;z-index:10;border-bottom:1px solid #edf0ef}.brand{margin-right:auto}.brand img{width:128px;height:auto;display:block}.desktop-nav{display:flex;gap:36px;font-weight:700;font-size:14px}.desktop-nav a{transition:.2s}.desktop-nav a:hover{color:var(--green)}.header-cta{background:var(--green);color:#fff;padding:15px 22px;border-radius:4px;font-weight:800;font-size:14px}.header-cta span{margin-left:12px}.mobile-menu{display:none}
.hero{min-height:700px;display:grid;grid-template-columns:1.05fr .95fr;background:#f7f9f8}.hero-copy{padding:105px 7vw 72px max(5vw,48px);display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--green-dark);font-size:12px;font-weight:800;margin:0 0 22px}.hero h1,.section h2{font-size:clamp(46px,5.4vw,78px);line-height:1.02;letter-spacing:-.055em;margin:0;font-weight:800}.hero h1 span,.section h2 span{color:var(--green)}.hero-text{font-size:18px;line-height:1.75;color:var(--muted);max-width:630px;margin:28px 0 34px}.hero-actions{display:flex;gap:12px}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:17px 24px;border-radius:4px;font-size:14px;font-weight:800;border:1px solid transparent;cursor:pointer}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green-dark)}.secondary{border-color:#aeb9b6;background:#fff}.white{background:#fff;color:var(--ink)}.hero-proof{display:flex;gap:34px;margin-top:64px;padding-top:28px;border-top:1px solid var(--line)}.hero-proof div{display:flex;flex-direction:column}.hero-proof strong{font-size:16px}.hero-proof span{font-size:12px;color:var(--muted);margin-top:5px}.hero-visual{position:relative;min-height:650px;overflow:hidden}.hero-visual>img{object-fit:cover;object-position:center}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(25,40,38,.46))}.visual-card{position:absolute;z-index:2;bottom:36px;left:36px;background:#fff;padding:22px 26px;min-width:255px;border-left:4px solid var(--green)}.visual-card span{display:block;color:var(--green-dark);text-transform:uppercase;font-size:10px;letter-spacing:.15em;font-weight:800;margin-bottom:8px}.visual-card strong{font-size:18px;line-height:1.45}.trust-strip{height:76px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;gap:6.4vw;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}.trust-strip i{opacity:.45}
.about{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start}.about h2,.services h2,.why h2,.process h2,.contact h2{font-size:clamp(38px,4vw,60px)}.about-copy{padding-top:30px}.about-copy p{font-size:17px;line-height:1.8;color:var(--muted);margin:0 0 20px}.text-link{display:inline-block;margin-top:14px;color:var(--green-dark);font-weight:800;border-bottom:1px solid var(--green);padding-bottom:5px}.text-link span{margin-left:18px}
.services{background:#f3f6f5}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:80px;margin-bottom:55px}.section-heading>p{max-width:430px;color:var(--muted);font-size:16px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d7dfdd;border:1px solid #d7dfdd}.service-card{background:#fff;padding:42px;min-height:270px;transition:.25s}.service-card:hover{background:var(--green);color:#fff;transform:translateY(-4px)}.service-number{font-size:11px;color:var(--green);font-weight:800;letter-spacing:.12em}.service-card:hover .service-number,.service-card:hover p{color:#fff}.service-card h3{font-size:21px;margin:46px 0 13px;text-transform:capitalize}.service-card p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.why{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:stretch}.why-visual{background:var(--charcoal);color:#fff;padding:64px;min-height:500px;display:flex;flex-direction:column;justify-content:center;position:relative}.why-visual:before{content:"";position:absolute;right:0;top:0;width:110px;height:110px;background:var(--green)}.quote-mark{font-size:110px;line-height:.6;color:var(--green);font-family:Georgia,serif}.why-visual blockquote{font-size:clamp(28px,3vw,44px);line-height:1.24;letter-spacing:-.03em;margin:30px 0}.why-visual p{text-transform:uppercase;letter-spacing:.16em;font-size:11px}.why-copy{padding:36px 0}.why-copy ul{list-style:none;padding:0;margin:48px 0 0}.why-copy li{display:flex;gap:25px;padding:24px 0;border-top:1px solid var(--line)}.why-copy li b{color:var(--green);font-size:12px}.why-copy li div{display:flex;flex-direction:column;gap:6px}.why-copy li strong{font-size:17px}.why-copy li span{color:var(--muted);font-size:14px;line-height:1.6}
.process{background:#f8faf9}.section-heading.compact{margin-bottom:48px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.process-grid article{border-top:3px solid var(--green);padding:32px 12px 12px 0}.process-grid span{font-size:12px;color:var(--green);font-weight:800}.process-grid h3{font-size:24px;margin:42px 0 12px}.process-grid p{color:var(--muted);font-size:15px;line-height:1.7;max-width:330px}
.jobs-banner{margin:0 max(5vw,40px);padding:68px 6vw;background:var(--green);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:50px}.jobs-banner h2{font-size:clamp(30px,4vw,52px);max-width:780px;line-height:1.15;letter-spacing:-.04em;margin:0}.eyebrow.light{color:#d8f4ed}.jobs-banner .button{flex-shrink:0}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.contact-copy>p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.7;max-width:500px}.contact-details{margin-top:44px;display:grid;gap:22px}.contact-details a,.contact-details p{font-weight:800;margin:0}.contact-details small{display:block;color:var(--green-dark);text-transform:uppercase;letter-spacing:.14em;font-size:10px;margin-bottom:6px}.contact-form{background:#f3f6f5;padding:44px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:800;color:var(--charcoal);margin-bottom:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid #aeb9b6;background:transparent;padding:10px 2px;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green);box-shadow:0 1px var(--green)}.contact-form .button{margin-top:10px;border:0}
footer{background:#212a30;color:#fff;padding:60px max(5vw,40px) 34px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:34px}.footer-brand{display:flex;align-items:center;gap:22px}.footer-brand img{width:120px;height:auto;background:#fff;padding:6px;border-radius:3px}.footer-brand p{color:#aeb9b6;font-size:13px}footer nav{display:flex;justify-content:flex-end;gap:28px;font-size:13px;font-weight:700}.copyright{grid-column:1/-1;border-top:1px solid #3a464d;padding-top:25px;margin:10px 0 0;color:#87949a;font-size:11px}
@media(max-width:900px){.site-header{height:78px}.brand img{width:105px}.desktop-nav,.header-cta{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;font-weight:800;font-size:13px;cursor:pointer;border:1px solid var(--line);padding:10px 14px}.mobile-menu nav{position:absolute;right:0;top:48px;background:#fff;box-shadow:0 14px 35px #26313a2e;padding:12px;width:190px;display:flex;flex-direction:column}.mobile-menu nav a{padding:11px}.hero{grid-template-columns:1fr}.hero-copy{padding:80px 6vw 58px}.hero-visual{min-height:520px}.hero-proof{flex-wrap:wrap}.about,.why,.contact{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:start;flex-direction:column;gap:12px}.why{gap:36px}.contact{gap:50px}.jobs-banner{align-items:flex-start;flex-direction:column}.section{padding:80px 6vw}}
@media(max-width:600px){.section{padding:68px 22px}.site-header{padding:0 20px}.hero-copy{padding:66px 22px 50px}.hero h1{font-size:48px}.hero-text{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.hero-proof{gap:22px}.hero-proof div{min-width:120px}.hero-visual{min-height:440px}.visual-card{left:20px;right:20px;bottom:20px}.trust-strip{gap:14px;height:62px;font-size:9px;letter-spacing:.08em}.trust-strip i{display:none}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:32px}.service-card h3{margin-top:32px}.why-visual{padding:44px 30px;min-height:420px}.why-visual:before{width:70px;height:70px}.process-grid{grid-template-columns:1fr}.jobs-banner{margin:0 22px;padding:48px 28px}.field-row{grid-template-columns:1fr;gap:0}.contact-form{padding:30px 24px}footer{grid-template-columns:1fr;padding:48px 22px 30px}footer nav{justify-content:flex-start;flex-wrap:wrap}.copyright{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}
.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.graduates{display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw;background:var(--charcoal);color:#fff}.graduates-intro h2{font-size:clamp(38px,4vw,60px)}.graduates-intro>p:not(.eyebrow){color:#bcc6ca;font-size:16px;line-height:1.75;max-width:520px}.graduates-intro ol{list-style:none;padding:0;margin:44px 0 0}.graduates-intro li{display:flex;gap:20px;border-top:1px solid #536067;padding:22px 0}.graduates-intro li b{font-size:11px;color:#60c7b5}.graduates-intro li span{display:flex;flex-direction:column;gap:5px;color:#b9c3c7;font-size:13px;line-height:1.5}.graduates-intro li strong{color:#fff;font-size:15px}.graduate-form{background:#fff;color:var(--ink);padding:44px}.graduate-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:800;margin-bottom:20px}.graduate-form input,.graduate-form select,.graduate-form textarea{width:100%;border:0;border-bottom:1px solid #aeb9b6;background:transparent;padding:10px 2px;outline:none;color:var(--ink);resize:vertical}.graduate-form input:focus,.graduate-form select:focus,.graduate-form textarea:focus{border-color:var(--green);box-shadow:0 1px var(--green)}.optional{color:var(--muted);font-weight:500;margin-left:5px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.graduate-form .upload-field{border:1px dashed #aeb9b6;padding:18px;background:#f8faf9}.upload-field span{font-size:12px}.upload-field b{color:var(--green-dark)}.upload-field small{color:var(--muted);font-weight:500}.upload-field input{border:0;padding:8px 0 0;font-size:11px}.graduate-form .consent{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500;line-height:1.5}.consent input{width:auto;margin-top:3px}.graduate-form button:disabled{opacity:.65;cursor:wait}.form-message{padding:13px 15px;margin:18px 0 0;font-size:13px;line-height:1.5}.form-message.success{background:var(--green-pale);color:var(--green-dark)}.form-message.error{background:#fff0ee;color:#9b3027}
@media(max-width:900px){.graduates{grid-template-columns:1fr}.desktop-nav{gap:24px}.upload-grid{grid-template-columns:1fr}}
@media(max-width:600px){.graduate-form{padding:30px 24px}}
.graduate-page{min-height:100vh;background:var(--charcoal)}.graduate-header{height:92px;padding:0 max(5vw,40px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #edf0ef}.graduate-header .brand img{width:120px;height:auto;display:block}.back-link{font-size:13px;font-weight:800;color:var(--green-dark);display:flex;align-items:center;gap:10px}.graduate-page .graduates{min-height:calc(100vh - 164px);padding-top:80px;padding-bottom:80px}.graduates-intro h1{font-size:clamp(38px,4vw,60px);line-height:1.05;letter-spacing:-.05em;margin:0}.graduates-intro h1 span{color:var(--green)}.graduate-email{border-left:3px solid var(--green);padding-left:16px;margin-top:28px!important;font-size:12px!important}.graduate-email strong{color:#fff}.form-back-link{display:block;text-align:center;margin-top:20px;color:var(--green-dark);font-size:12px;font-weight:800}.graduate-footer{background:#212a30;color:#9caaaf;padding:25px max(5vw,40px);display:flex;justify-content:space-between;font-size:11px}.graduate-footer p{margin:0}.graduate-footer a{color:#fff;font-weight:700}
@media(max-width:600px){.graduate-header{height:78px;padding:0 22px}.graduate-header .brand img{width:100px}.back-link{font-size:11px}.graduate-page .graduates{padding-top:55px}.graduate-footer{flex-direction:column;gap:12px;padding:24px 22px}}
.roles-band{background:var(--charcoal);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:30px 8vw;align-items:end}.roles-heading h2{font-size:clamp(38px,4vw,60px);line-height:1.05;letter-spacing:-.05em;margin:0}.roles-heading h2 span{color:var(--green)}.role-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #5b666c}.role-list span{padding:18px 4px;border-bottom:1px solid #5b666c;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.roles-note{grid-column:2;color:#b9c3c7;font-size:14px;line-height:1.7;margin:0;max-width:560px}.service-deep-dive{margin-top:70px;display:grid;grid-template-columns:.65fr 1.35fr;gap:7vw}.deep-dive-heading h3{font-size:32px;letter-spacing:-.04em;margin:0 0 15px}.deep-dive-heading>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7}.service-accordions{border-top:1px solid #bfc9c6}.service-accordions details{border-bottom:1px solid #bfc9c6}.service-accordions summary{list-style:none;cursor:pointer;padding:24px 2px;display:flex;align-items:center;gap:20px;font-size:17px;font-weight:800}.service-accordions summary::-webkit-details-marker{display:none}.service-accordions summary span{color:var(--green);font-size:10px}.service-accordions summary b{margin-left:auto;color:var(--green);font-size:22px;font-weight:400}.service-accordions details[open] summary b{transform:rotate(45deg)}.service-accordions details>div{padding:0 10px 28px 34px}.service-accordions details p{color:var(--muted);line-height:1.7;font-size:14px}.service-accordions ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;padding:0;list-style:none}.service-accordions li{position:relative;padding-left:17px;color:#4f5b62;font-size:13px;line-height:1.5}.service-accordions li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;background:var(--green)}.purpose{background:var(--green-pale);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background-color:#c9ddd8}.purpose-heading{grid-column:1/-1;background:var(--green-pale);padding-bottom:40px;display:grid;grid-template-columns:1fr 1fr;gap:10px 8vw}.purpose-heading .eyebrow{grid-column:1/-1}.purpose-heading h2{font-size:clamp(38px,4vw,60px)}.purpose-heading>p:last-child{color:var(--muted);font-size:15px;line-height:1.75;align-self:end}.purpose article{background:var(--green-pale);padding:44px 38px}.purpose article span{color:var(--green-dark);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800}.purpose article h3{font-size:21px;line-height:1.35;margin:34px 0 14px}.purpose article p{color:var(--muted);font-size:14px;line-height:1.75}
@media(max-width:900px){.roles-band{grid-template-columns:1fr}.roles-note{grid-column:1}.service-deep-dive{grid-template-columns:1fr}.purpose{grid-template-columns:1fr}.purpose-heading{grid-template-columns:1fr}.purpose-heading .eyebrow{grid-column:1}.service-accordions ul{grid-template-columns:1fr}}
@media(max-width:600px){.roles-band{padding-left:22px;padding-right:22px}.role-list{grid-template-columns:1fr}.service-deep-dive{margin-top:50px}.service-accordions details>div{padding-left:0}.purpose article{padding:34px 24px}}
.photo-credit{position:absolute;z-index:3;right:16px;bottom:12px;color:#fff;font-size:9px;letter-spacing:.03em;opacity:.72;text-shadow:0 1px 3px #000}.photo-credit:hover{opacity:1;text-decoration:underline}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
