:root{--blue:#2554f4;--green:#2b7f31;--yellow:#ffc31f;--dark:#102c23;--ink:#151716;--soft:#f3f5f3;--line:#d8dedb;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 80px),var(--max));margin:auto}
header{height:88px;border-bottom:1px solid #ececec;background:#fff;position:sticky;top:0;z-index:30}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.logo{width:220px}nav{display:flex;align-items:center;gap:28px;font:500 14px/1 var(--sans)}nav>a,.nav-group>button{padding:33px 0 29px;border:0;border-bottom:3px solid transparent;background:transparent;font:inherit;cursor:pointer}nav>a:hover,.nav-group>button:hover{color:var(--green)}.nav-group{position:relative}.nav-group>button{display:flex;align-items:center}.nav-group.active>button,nav>a.active{border-bottom-color:var(--yellow)}.dropdown{display:none;position:absolute;top:69px;left:-24px;width:220px;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 45px rgba(16,44,35,.13)}.dropdown a{display:block;padding:13px 14px}.dropdown a:hover{background:var(--soft);color:var(--green)}.nav-group:hover .dropdown,.nav-group:focus-within .dropdown,.nav-group.open .dropdown{display:block}.menu{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font:700 12px var(--sans);text-transform:uppercase;letter-spacing:.12em}
.eyebrow{font:700 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}.hero{min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--dark);color:#fff;overflow:hidden}.hero-copy{padding:112px max(40px,calc((100vw - var(--max))/2 + 40px));display:flex;flex-direction:column;justify-content:center}.hero h1{margin:26px 0 30px;font:700 clamp(76px,9vw,150px)/.82 var(--sans);letter-spacing:-.075em}.hero p{max-width:720px;margin:0;font:400 clamp(21px,2vw,29px)/1.45 var(--serif)}.hero-art{position:relative;background:var(--yellow);min-height:560px}.hero-art:before{content:"";position:absolute;width:64%;height:78%;right:-8%;top:0;background:var(--blue);border-radius:0 0 0 56%}.hero-art:after{content:"";position:absolute;width:62%;height:62%;left:-9%;bottom:-17%;background:var(--green);border-radius:50% 50% 0 0}.hero-line{position:absolute;width:68%;height:14px;left:14%;top:48%;background:var(--dark);transform:rotate(-11deg);z-index:2}
.why{padding:110px 0}.why-head{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px;align-items:start;margin-bottom:55px}.why h2,.framework h2,.contact-main h2{margin:12px 0 0;font:400 clamp(54px,5.5vw,84px)/.95 var(--serif);letter-spacing:-.05em;white-space:nowrap}.why-head p{margin:0;max-width:780px;font:400 24px/1.52 var(--serif)}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.partner-card{min-height:430px;padding:30px 28px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);transition:transform .25s ease,box-shadow .25s ease}.partner-card:hover,.partner-card:focus-within{transform:translateY(-8px);box-shadow:0 22px 50px rgba(16,44,35,.12)}.partner-card:nth-child(1){border-top:9px solid var(--blue)}.partner-card:nth-child(2){border-top:9px solid var(--green)}.partner-card:nth-child(3){border-top:9px solid var(--yellow)}.partner-card:nth-child(4){border-top:9px solid var(--dark)}.partner-number{font:700 12px/1 var(--sans);letter-spacing:.16em}.partner-card h3{margin:0 0 22px;font:400 35px/1.02 var(--serif);letter-spacing:-.035em}.partner-card ul{margin:0;padding:0;list-style:none}.partner-card li{padding:13px 0;border-top:1px solid var(--line);font:400 16px/1.42 var(--sans)}
.framework{padding:110px 0;background:var(--soft)}.framework-head{display:block}.framework h2{font:700 clamp(44px,4.2vw,62px)/.95 var(--sans);letter-spacing:-.055em}.framework-copy{max-width:920px;margin-top:36px;font:400 19px/1.68 var(--sans);color:#343735}.framework-copy p:first-child{margin-top:0}.framework-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:60px}.framework-card{min-height:360px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.framework-card:nth-child(1){background:#c5192d}.framework-card:nth-child(2){background:#00689d}.framework-card:nth-child(3){background:var(--blue)}.framework-card small{font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.framework-card strong{display:block;font:700 clamp(54px,5vw,78px)/.9 var(--sans);letter-spacing:-.06em}.framework-card h3{margin:16px 0 0;font:400 30px/1.08 var(--serif)}.framework-card a{width:max-content;border-bottom:1px solid rgba(255,255,255,.75);padding-bottom:5px;font:700 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}.disclaimer{margin-top:34px;padding-top:22px;border-top:1px solid #bfc8c3;font:400 14px/1.55 var(--sans);color:#545a57}
.cta{padding:90px 0;background:var(--yellow)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{margin:0;font:700 clamp(46px,5.2vw,82px)/.95 var(--sans);letter-spacing:-.055em;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 28px;background:var(--dark);color:#fff;font:700 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--dark);transition:.2s ease}.btn:hover{background:transparent;color:var(--dark)}
.contact-hero{min-height:570px;display:grid;grid-template-columns:.82fr 1.18fr;background:var(--blue);color:#fff;overflow:hidden}.contact-hero-copy{padding:105px max(38px,calc((100vw - var(--max))/2 + 28px));display:flex;flex-direction:column;justify-content:center}.contact-hero h1{margin:25px 0 0;font:700 clamp(68px,6.7vw,108px)/.88 var(--sans);letter-spacing:-.07em;white-space:nowrap}.contact-visual{min-height:570px}.contact-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.contact-main{padding:105px 0}.contact-intro{display:grid;grid-template-columns:minmax(430px,.82fr) minmax(0,1.18fr);column-gap:84px;align-items:start}.contact-intro .eyebrow{grid-column:1}.contact-intro h2{grid-column:1;margin-top:16px;font-size:clamp(52px,4.4vw,70px);line-height:.98}.contact-intro p{grid-column:2;grid-row:1/3;margin:0;max-width:760px;font:400 23px/1.52 var(--serif)}.form-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:32px;margin-top:58px;align-items:start}.contact-form{padding:44px;background:var(--soft);border-top:8px solid var(--blue)}.contact-form label{display:block;margin-bottom:25px}.contact-form label>span{display:block;margin-bottom:10px;font:700 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #bcc6c1;border-radius:0;background:#fff;color:var(--ink);font:400 17px/1.4 var(--sans);outline:none}.contact-form input,.contact-form select{height:58px;padding:0 16px}.contact-form textarea{padding:16px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,84,244,.12)}.form-actions{display:flex;align-items:center;gap:22px}.form-status{margin:0;max-width:430px;font:400 14px/1.45 var(--sans);color:#505653}.contact-notes{display:grid;grid-template-rows:repeat(3,minmax(132px,1fr));gap:12px}.note{min-height:132px;padding:26px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#fff}.note span{font:700 12px/1 var(--sans);letter-spacing:.12em}.note strong{max-width:220px;font:700 18px/1.25 var(--sans);text-align:right}.note.blue{background:var(--blue)}.note.green{background:var(--green)}.note.yellow{background:var(--yellow);color:var(--dark)}.location{padding:25px;border:1px solid var(--line)}.location small{display:block;margin-bottom:8px;font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.location strong{font:400 24px/1.2 var(--serif)}
footer{background:var(--dark);color:#fff;padding:56px 0 34px;position:relative}footer:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,var(--blue) 0 33.333%,var(--green) 33.333% 66.666%,var(--yellow) 66.666%)}.footer-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:56px}.footer-brand{display:flex;align-items:center;gap:32px}.footer-logo{width:280px;background:#fff}.footer-tag{border-left:1px solid rgba(255,255,255,.35);padding-left:32px;font:700 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase}.footer-copy{border-top:1px solid rgba(255,255,255,.25);margin-top:32px;padding-top:26px;max-width:850px;font:400 16px/1.6 var(--sans)}.footer-contact{display:flex;flex-direction:column;gap:22px;align-items:flex-start}.footer-contact .label{color:var(--yellow);font:700 12px/1 var(--sans);letter-spacing:.15em;text-transform:uppercase}.footer-contact a{border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:5px;font-size:17px}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);margin-top:12px;padding-top:25px;color:#c9d1cd;font-size:13px}
@media(max-width:1100px){.wrap{width:min(calc(100% - 48px),var(--max))}nav{gap:18px}.logo{width:195px}.partner-grid{grid-template-columns:1fr 1fr}.cta h2{font-size:54px}.contact-intro{grid-template-columns:1fr;gap:24px}.contact-intro .eyebrow,.contact-intro h2,.contact-intro p{grid-column:1;grid-row:auto}.form-layout{grid-template-columns:1fr}.contact-notes{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}.location{grid-column:1/-1}.footer-grid{grid-template-columns:1fr}}
@media(max-width:820px){header{height:80px;position:relative}.header-inner{width:min(calc(100% - 30px),var(--max))}.logo{width:175px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:18px 24px 26px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}nav.open{display:flex}nav>a,.nav-group>button{padding:10px 0;border:0}.nav-group{width:100%}.dropdown{position:static;width:100%;box-shadow:none;border:0;border-left:2px solid var(--yellow);margin:4px 0 4px 8px}.menu{display:block}.hero,.contact-hero{grid-template-columns:1fr}.hero-copy,.contact-hero-copy{padding:70px 24px}.hero-art{min-height:360px}.contact-visual{min-height:430px}.why,.framework,.contact-main{padding:78px 0}.why-head{grid-template-columns:1fr;gap:34px}.why h2,.framework h2,.contact-main h2,.cta h2{white-space:normal}.framework-grid{grid-template-columns:1fr}.framework-card{min-height:300px}.cta-inner{align-items:flex-start;flex-direction:column}.contact-notes{grid-template-columns:1fr}.location{grid-column:auto}.footer-brand{flex-direction:column;align-items:flex-start}.footer-tag{border-left:0;padding-left:0}}
@media(max-width:560px){.wrap{width:min(calc(100% - 30px),var(--max))}.partner-grid{grid-template-columns:1fr}.partner-card{min-height:360px}.hero h1,.contact-hero h1{font-size:64px}.contact-form{padding:30px 22px}.field-row{grid-template-columns:1fr;gap:0}.form-actions{align-items:flex-start;flex-direction:column}.footer-logo{width:230px}}

/* Contact routes: each note is now a real mailto destination */
.note{text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
a.note:hover,a.note:focus-visible{transform:translateY(-4px);box-shadow:0 16px 34px rgba(16,44,35,.18)}
.note-body{display:flex;flex-direction:column;align-items:flex-end;gap:7px;text-align:right}
.note-body strong{max-width:240px;font:700 18px/1.25 var(--sans)}
.note-body em{max-width:100%;font:500 12px/1.35 var(--sans);font-style:normal;opacity:.92;word-break:break-word}
.inline-mail{border-bottom:2px solid var(--blue);white-space:nowrap}
.inline-mail:hover{color:var(--blue)}
@media(max-width:560px){.note-body strong{font-size:16px}.note-body em{font-size:11.5px}.inline-mail{white-space:normal;word-break:break-word}}

.cta-mail{margin:14px 0 0;font:500 17px/1.5 var(--sans);color:var(--dark)}
.cta-mail a{border-bottom:2px solid var(--dark)}
@media(max-width:560px){.cta-mail{font-size:15px;word-break:break-word}}

/* Contact form: honeypot + submit states */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status.is-ok{color:#1f6d2a;font-weight:600}
.form-status.is-error{color:#9a2a1f}
.form-status.is-error a{border-bottom:1px solid currentColor}
.contact-form button[disabled]{opacity:.6;cursor:progress}

/* trailing letter-space on the note numbers */
.note span{padding-right:3px}
