
:root{--forest:#073d25;--deep:#082f20;--leaf:#8bc63f;--lime:#a5d94f;--pale:#f2f6e9;--ink:#153c29;--muted:#607568;--paper:#fbfcf8;--line:#dfe8da}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);line-height:1.55}.wrap{width:min(1240px,calc(100% - 64px));margin:auto}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between}.brand{width:170px;height:58px;overflow:hidden;display:flex;align-items:center}.brand img{width:100%;height:auto;display:block}.nav{display:flex;align-items:center;gap:34px}.nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:650;letter-spacing:.01em}.nav a:hover{color:#5c9b22}.nav-cta{border:1px solid #adc69f;border-radius:4px;padding:11px 17px}.menu{display:none}.hero{min-height:690px;position:relative;color:white;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 78% 45%,rgba(126,190,63,.28),transparent 34%),linear-gradient(115deg,#062f20 0%,#0a472c 56%,#0e5734 100%)}.hero:before{content:"";position:absolute;width:640px;height:640px;border:1px solid rgba(210,239,181,.17);border-radius:50%;right:4%;top:50%;transform:translateY(-50%);box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.02),0 0 0 144px rgba(255,255,255,.015);z-index:-1}.hero:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;right:13%;top:50%;transform:translateY(-50%);background:radial-gradient(circle at 38% 34%,rgba(173,226,97,.24),rgba(120,175,66,.08) 48%,transparent 72%);filter:blur(8px);z-index:-1}.hero .wrap{min-height:690px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:35px;padding:54px 0}.hero-copy{max-width:670px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.19em;font-weight:750;color:#c6e89b;margin-bottom:22px}.hero h1{font-size:clamp(44px,5.1vw,72px);line-height:1.01;letter-spacing:-.055em;max-width:730px;margin:0 0 25px;font-weight:760}.hero h1 em{font-style:normal;color:#a6d85d}.hero p{font-size:18px;line-height:1.65;max-width:530px;margin:0 0 30px;color:rgba(255,255,255,.78)}.hero-art{height:490px;position:relative;display:grid;place-items:center}.hero-art svg{width:min(100%,520px);height:auto;overflow:visible;filter:drop-shadow(0 28px 52px rgba(0,0,0,.24))}.hero-stamp{position:absolute;right:2%;bottom:5%;padding:17px 20px;background:rgba(244,249,235,.94);color:#104329;border-left:3px solid var(--lime);font-size:12px;line-height:1.4;letter-spacing:.04em;box-shadow:0 15px 35px rgba(0,0,0,.18)}.hero-stamp strong{display:block;font-size:20px;letter-spacing:-.03em}.action{display:inline-flex;align-items:center;gap:24px;padding:14px 19px;border-radius:4px;background:var(--lime);color:var(--deep);text-decoration:none;font-weight:750;font-size:16px;transition:.2s}.action:hover{transform:translateY(-2px);background:#b2e85e}.arrow{font-size:19px;line-height:1}.note{font-size:13px!important;font-style:italic;margin-top:15px!important;color:rgba(255,255,255,.66)!important}.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.kicker{font-size:11px;font-weight:750;letter-spacing:.18em;text-transform:uppercase;color:#4e752b;margin:0 0 10px}.section h2,.center-copy h2,.software-box h2{font-size:42px;line-height:1.1;letter-spacing:-.035em;font-weight:750;margin:0;color:var(--forest)}.section-intro{color:var(--muted);max-width:480px;margin:0;font-size:15px}.courses{display:grid;grid-template-columns:1fr 1fr;gap:18px}.course{padding:34px 36px 30px;border:1px solid var(--line);background:white;min-height:310px;display:flex;flex-direction:column;align-items:flex-start;position:relative}.course:before{content:"";width:32px;height:3px;background:var(--leaf);position:absolute;left:36px;top:0}.course .index{font-size:11px;letter-spacing:.13em;color:#586b5c;font-weight:750}.course h3{font-size:26px;line-height:1.18;letter-spacing:-.025em;margin:27px 0 15px;max-width:420px}.course p{color:#5a6c60;font-size:14px;line-height:1.65;margin:0 0 25px;max-width:520px}.text-link{margin-top:auto;text-decoration:none;color:var(--forest);font-weight:750;font-size:14px;border-bottom:1px solid #a8c295;padding-bottom:4px}.text-link span{padding-left:8px}.center-panel{padding:66px 0 86px;background:var(--pale);position:relative;overflow:hidden}.center-panel .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.big-mark{font-size:clamp(150px,24vw,310px);font-weight:800;line-height:.72;letter-spacing:-.1em;color:rgba(9,66,38,.08);position:absolute;left:-8px;top:15px;pointer-events:none}.center-copy{position:relative;z-index:1}.center-copy p{color:#50685a;font-size:15px;line-height:1.72}.center-copy strong{color:var(--forest)}.center-side{border-left:1px solid #b8cda9;padding:13px 0 13px 28px}.center-side .stat{font-size:15px;color:#607568;margin-bottom:16px}.center-side .stat strong{font-size:20px;color:var(--forest);display:block}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.feature{background:white;border:1px solid var(--line);padding:31px 32px 28px;min-height:255px}.feature h3{margin:0 0 15px;font-size:22px;line-height:1.2;letter-spacing:-.02em}.feature p{margin:0 0 22px;color:#5a6c60;font-size:14px;line-height:1.65}.software{padding:0 0 88px}.software-box{display:grid;grid-template-columns:1.1fr .9fr;background:var(--forest);color:white;align-items:center;padding:46px 54px;gap:45px}.software-box h2{color:white}.software-box p{color:rgba(255,255,255,.78);font-size:14px;line-height:1.7}.software-box .action{background:white;color:var(--forest);margin-top:10px}.software-meta{border-left:1px solid rgba(255,255,255,.25);padding-left:30px}.software-meta strong{font-size:14px;color:#c7ed9d}.footer{background:#062e20;color:white;padding:36px 0 20px}.footer-top{display:grid;grid-template-columns:170px 1fr 1fr 1.4fr;gap:26px;align-items:center}.footer .brand{background:transparent;border-radius:0}.contact{font-size:12px;color:rgba(255,255,255,.82)}.contact b{display:block;color:white;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:28px;padding-top:16px;text-align:center;font-size:11px;color:rgba(255,255,255,.65)}
@media(max-width:800px){.wrap{width:min(100% - 40px,620px)}.topbar{height:75px}.brand{width:140px}.nav{display:none}.menu{display:block;font-size:13px;font-weight:700}.hero,.hero .wrap{min-height:760px}.hero:before{width:480px;height:480px;right:-21%;top:67%}.hero:after{width:340px;height:340px;right:-2%;top:67%}.hero .wrap{grid-template-columns:1fr;align-content:center;gap:4px;padding:48px 0}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(43px,9vw,60px)}.hero p{font-size:16px}.hero-art{height:300px;margin-top:-8px}.hero-art svg{height:330px}.hero-stamp{right:0;bottom:0}.section{padding:66px 0}.section h2,.center-copy h2,.software-box h2{font-size:34px}.section-head{display:block}.section-intro{margin-top:14px}.courses,.feature-grid,.center-panel .wrap,.software-box{grid-template-columns:1fr}.course{min-height:270px;padding:28px}.course:before{left:28px}.center-panel .wrap{gap:25px}.center-side{padding-left:20px}.software-box{padding:34px 27px;gap:22px}.software-meta{border-left:0;border-top:1px solid rgba(255,255,255,.25);padding:20px 0 0}.footer-top{grid-template-columns:1fr 1fr}.footer .brand{grid-column:1/-1}.footer{padding-top:28px}}
@media(max-width:440px){.hero,.hero .wrap{min-height:700px}.hero h1{font-size:41px}.hero-art{height:265px}.hero-art svg{height:285px}.section h2,.center-copy h2,.software-box h2{font-size:31px}.footer-top{grid-template-columns:1fr}.footer .brand{grid-column:auto}.action{font-size:14px}}


:root{--teal:#3fc5b0;--blue:#79aef5;--charcoal:#252b2c}
.utility-bar{height:38px;background:var(--charcoal);color:#f0f2ef;font-size:11px;letter-spacing:.02em}.utility-inner{width:min(1240px,calc(100% - 64px));height:100%;margin:auto;display:flex;align-items:center;justify-content:flex-end;gap:28px}.utility-inner a{color:#f0f2ef;text-decoration:none}.utility-inner a:first-of-type:before{content:"☎";color:var(--teal);margin-right:8px}
.topbar{height:88px}.nav{gap:24px}.nav a{text-transform:uppercase;font-size:11px;letter-spacing:.055em;font-weight:750}.nav-cta{border-radius:0;background:var(--forest);color:white!important;border-color:var(--forest);padding:12px 17px}.brand{width:155px}
.hero{min-height:650px;background:linear-gradient(90deg,rgba(4,43,31,.88) 0%,rgba(5,47,35,.72) 43%,rgba(6,50,42,.15) 100%),none}.hero:before{display:none}.hero:after{width:38%;height:100%;right:0;top:0;transform:none;border-radius:0;filter:none;background:linear-gradient(90deg,transparent,rgba(65,175,172,.12),rgba(112,155,231,.12));z-index:-1}.hero .wrap{min-height:650px;display:block;padding:0;position:relative}.hero-copy{max-width:900px;padding:100px 0 76px 34px;position:relative}.hero-copy:before{content:"";position:absolute;left:0;top:105px;bottom:88px;width:3px;background:linear-gradient(180deg,var(--teal) 0 55%,var(--blue) 100%)}.hero-art{display:none}.eyebrow{color:#a8e7dc;font-size:11px;letter-spacing:.16em;margin-bottom:22px}.hero h1{text-transform:uppercase;font-size:clamp(44px,5.25vw,72px);line-height:1.02;letter-spacing:-.045em;max-width:840px}.hero h1 em{color:#c9e0ff;font-style:normal}.hero p{font-size:17px;max-width:560px;color:#f0f3ef}.action{border-radius:0;background:#42c89f;color:#082f20;text-transform:uppercase;font-size:13px;letter-spacing:.025em;padding:16px 19px}.action:hover{background:#72ddbd}.note{font-size:12px!important;color:#e0e9e4!important}
.section h2,.center-copy h2,.software-box h2{font-size:42px;line-height:1.1;letter-spacing:-.035em;font-weight:750;color:var(--forest);margin:0}.section-head>div:before,.center-copy:before,.software-box>div:first-child:before{content:"";display:block;width:30px;height:3px;margin-bottom:17px;background:linear-gradient(90deg,var(--teal) 0 55%,var(--blue) 55%)}.software-box h2{color:#fff}.software-box .action{background:#fff;color:var(--forest)}
@media(max-width:800px){.utility-inner{width:calc(100% - 40px);justify-content:space-between;gap:8px;font-size:9px}.utility-inner span{display:none}.topbar{height:72px}.hero,.hero .wrap{min-height:650px}.hero-copy{padding:82px 0 66px 23px}.hero-copy:before{left:0;top:86px;bottom:75px}.hero h1{font-size:clamp(40px,8.5vw,58px)}.section h2,.center-copy h2,.software-box h2{font-size:34px}.section-head>div:before,.center-copy:before,.software-box>div:first-child:before{margin-bottom:13px}}
@media(max-width:440px){.utility-inner{font-size:8px}.hero,.hero .wrap{min-height:620px}.hero-copy{padding-top:70px}.hero h1{font-size:39px}.section h2,.center-copy h2,.software-box h2{font-size:31px}}


.hero{color:var(--forest);background:linear-gradient(90deg,rgba(250,251,248,.98) 0%,rgba(250,251,248,.96) 34%,rgba(250,251,248,.77) 48%,rgba(250,251,248,.08) 69%),none}
.hero:after{display:none}.hero h1{text-transform:none;color:var(--forest);font-size:clamp(42px,5vw,64px);letter-spacing:-.05em;line-height:1.05}.hero h1 em{color:#668f30}.hero p{color:#34493d}.hero .eyebrow{color:#527a39}.hero-copy:before{background:linear-gradient(180deg,#8bc63f 0 65%,#3fc5b0 100%)}.hero .action{background:#8bc63f;color:#123b25}.hero .action:hover{background:#a7d95c}
@media(max-width:800px){.hero{background-position:57% center}.hero h1{font-size:clamp(40px,8vw,56px)}.hero p{color:#2d4237}}
@media(max-width:440px){.hero{min-height:620px;background-position:58% center}.hero h1{font-size:39px}}


/* Inline vector hero: no background bitmap */
.hero{background:linear-gradient(118deg,#fbfcf8 0%,#f4f6ef 68%,#eef3e7 100%);color:var(--forest)}
.hero:after{display:none}.hero .wrap{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);align-items:center;gap:28px;padding:60px 0;min-height:650px}
.hero-copy{padding:34px 0 34px 30px;max-width:720px}.hero-copy:before{left:0;top:38px;bottom:38px;width:3px;background:linear-gradient(180deg,#8bc63f,#3fc5b0)}
.hero h1{font-size:clamp(42px,4.6vw,62px);line-height:1.04;letter-spacing:-.05em;color:var(--forest);text-transform:none}.hero h1 em{color:#668f30}.hero p{color:#34493d}.hero .eyebrow{color:#527a39}.hero .note{color:#718075!important}
.hero .action{background:#8bc63f;color:#123b25}.hero .action:hover{background:#a7d95c}.hero-art{display:grid;place-items:center;position:relative;width:100%;height:430px;margin:0;z-index:0}.hero-art:before{content:"";position:absolute;right:1%;bottom:4%;width:78%;height:24%;border-radius:50%;background:linear-gradient(90deg,rgba(139,198,63,.12),rgba(63,197,176,.1));transform:skewX(-18deg)}.hero-art svg{display:block;width:100%;height:100%;max-width:570px;filter:drop-shadow(0 18px 20px rgba(9,54,32,.08))}
@media(max-width:800px){.hero .wrap{grid-template-columns:1fr;gap:0;padding:35px 0 22px;min-height:660px}.hero-copy{padding:35px 0 25px 22px}.hero-copy:before{top:38px;bottom:32px}.hero-art{height:280px;margin-top:-14px}.hero-art svg{max-width:430px}.hero h1{font-size:clamp(39px,8vw,54px)}}
@media(max-width:440px){.hero .wrap{min-height:640px;padding-top:22px}.hero-copy{padding-top:30px}.hero-art{height:250px}.hero-art svg{max-width:350px}}


/* Solid-color accents only */
.hero-copy:before,.section-head>div:before,.center-copy:before,.software-box>div:first-child:before{background:#8bc63f!important}
.hero:after,.hero-art:before{display:none!important}
.services{padding:82px 0;background:#f2f6e9}.services-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.services h2{font-size:42px;line-height:1.1;letter-spacing:-.035em;font-weight:750;color:var(--forest);margin:0}.services-detail{border-left:3px solid #8bc63f;padding:5px 0 5px 28px}.services-detail p{font-size:16px;line-height:1.65;color:#40594a;margin:0 0 16px}.services-detail ul{margin:0 0 24px;padding-left:18px;color:#40594a;font-size:14px;line-height:1.9}.services-detail li::marker{color:#6f9f36}.services .text-link{display:inline-block}
@media(max-width:800px){.services{padding:62px 0}.services-layout{grid-template-columns:1fr;gap:24px}.services h2{font-size:34px}.services-detail{padding-left:20px}}
@media(max-width:440px){.services h2{font-size:31px}}


.partners{padding:62px 0;background:#f2f6e9}
.partners .section-head{margin-bottom:24px}
.partners-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.partner{display:flex;align-items:center;gap:22px;min-height:132px;padding:18px 24px;background:#fff;border:1px solid #dfe8da}
.partner img{width:82px;height:82px;object-fit:contain;flex:none}
.partner h3{font-size:16px;line-height:1.35;margin:0;font-weight:700;letter-spacing:-.01em;color:#153c29}
@media(max-width:800px){.partners{padding:48px 0}.partners-grid{grid-template-columns:1fr}.partner{min-height:116px}}


/* Unified typography for all section-level headings */
.section h2,.center-copy h2,.software-box h2,.services h2,.partners h2{font-size:42px!important;line-height:1.1!important;letter-spacing:-.035em!important;font-weight:750!important}
@media(max-width:800px){.section h2,.center-copy h2,.software-box h2,.services h2,.partners h2{font-size:34px!important}}
@media(max-width:440px){.section h2,.center-copy h2,.software-box h2,.services h2,.partners h2{font-size:31px!important}}


/* Match every section overline and keep a consistent gap to its heading */
.kicker{display:block;font-family:inherit;font-size:11px!important;line-height:1.3!important;font-weight:750!important;letter-spacing:.18em!important;text-transform:uppercase!important;margin:0 0 10px!important}
.section h2,.center-copy h2,.software-box h2,.services h2,.partners h2{font-family:inherit;margin:0!important}

.hero{background:#f8f9f3 url("hero.svg") center/cover no-repeat}.hero .wrap{display:flex;min-height:650px}.hero-copy{max-width:680px}.hero-art{display:none}.hero:before,.hero:after{display:none}.hero-copy:before{background:var(--leaf)}
a:focus-visible,button:focus-visible{outline:3px solid #55892a;outline-offset:5px}.skip-link{position:absolute;left:16px;top:-80px;background:white;padding:12px;z-index:10}.skip-link:focus{top:10px}.menu{font:inherit;border:1px solid var(--line);background:white;padding:10px;cursor:pointer}.brand img{object-fit:contain}.partner img{height:82px}.contact a{color:inherit}.hero .note{color:#52644f!important}
@media(max-width:1050px){.nav{gap:14px}.nav a{font-size:10px}}
@media(max-width:800px){.topbar{position:relative}.nav.is-open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;padding:24px;background:var(--paper);z-index:5;box-shadow:0 12px 20px #153c2920}.hero{background:#f8f9f3}.hero .wrap{display:block;min-height:0;padding:28px 0 0}.hero-copy{padding:28px 0 24px 22px}.hero-art{display:none}.hero-copy:before{top:30px;bottom:28px}.hero h1{font-size:clamp(35px,8vw,54px)}.hero,.hero .wrap{min-height:0}.utility-inner{font-size:11px;flex-wrap:wrap}.utility-bar{height:auto;min-height:38px;padding:8px 0}.partner{padding:18px;gap:16px}.partner h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.action:hover{transform:none}}

/* Keep the architectural illustration on desktop only. */
@media(max-width:1024px){.hero{background:#f8f9f3}.hero .wrap{min-height:0;padding:48px 0}.hero-copy{max-width:720px}.hero-art{display:none}}

/* Center the logo and address around a shared row of contact links. */
@media(max-width:800px){
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px;align-items:start;text-align:center}
  .footer .brand{grid-column:1/-1;justify-self:center;height:auto;margin:0}
  .footer .contact{min-width:0;font-size:clamp(10px,2.8vw,14px);line-height:1.6}
  .footer .contact b{font-size:clamp(9px,2.3vw,11px);margin-bottom:4px}
  .footer .contact:last-child{grid-column:1/-1;justify-self:center;font-size:13px}
  .footer .contact a{text-underline-offset:3px}
  .footer .contact a[href^="tel:"],.footer .contact a[href^="mailto:"]{white-space:nowrap}
  .footer .copyright{margin-top:24px;line-height:1.6}
}
