@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#142c3a;--navy2:#1e3b4a;--teal:#8bd5ca;--teal-dark:#1e8b83;--ink:#1b303b;--muted:#657780;--paper:#f6f8f7;--line:#dce5e3;--white:#fff;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65;background:#fff}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 44px));margin-inline:auto}.site-header{height:82px;background:#fff;border-bottom:1px solid #edf1f0;position:sticky;top:0;z-index:20}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:48px;height:43px;background:var(--navy);color:var(--teal);display:grid;place-items:center;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-1px;border-radius:4px}.brand-text{display:flex;flex-direction:column;line-height:1.15;letter-spacing:1.2px}.brand-text strong{font-family:Manrope,sans-serif;font-size:14px}.brand-text small{font-size:10px;letter-spacing:2px;margin-top:5px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.main-nav a:not(.nav-cta):hover,.text-link:hover{color:var(--teal-dark)}.nav-cta{background:var(--navy);color:white;padding:11px 20px;border-radius:4px}.menu-toggle{display:none}.hero{background:var(--navy);color:#fff;overflow:hidden;position:relative}.hero-grid{min-height:565px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px;padding-block:70px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:var(--teal-dark);margin:0 0 18px}.hero .eyebrow{color:var(--teal)}.eyebrow span{padding-inline:5px;color:#fff}.hero h1,.section-heading h2,.about-copy h2,.contact-grid h2{font-family:Manrope,sans-serif;letter-spacing:-2px;line-height:1.12;font-size:clamp(40px,5vw,64px);margin:0 0 24px;font-weight:700}.hero h1 em,.section-heading h2 em,.about-copy h2 em,.contact-grid h2 em{font-style:normal;color:var(--teal)}.hero-lead{font-size:17px;max-width:590px;color:#d5e0e4;line-height:1.8}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:4px;padding:14px 19px;font:700 13px "DM Sans",sans-serif;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--teal);color:var(--navy)}.button-ghost{border:1px solid #617783;color:white}.hero-note{margin-top:35px;font-size:12px;color:#b6c7cd;display:flex;gap:9px;align-items:center}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #8bd5ca20}.hero-art{height:360px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #55727c70;border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:330px;height:270px}.orbit-two{width:440px;height:350px;transform:rotate(30deg)}.node{position:absolute;z-index:2;background:#244451;border:1px solid #56737e;padding:13px 17px;border-radius:6px;font-size:12px;box-shadow:0 12px 35px #071a2480}.node-main{width:150px;height:110px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#8bd5ca;color:var(--navy);font:800 25px Manrope;border:0}.node-main span{font:700 9px "DM Sans";letter-spacing:2px;margin-top:4px}.node-a{top:38px;left:15px}.node-b{right:5px;top:100px}.node-c{bottom:34px;left:80px}.node-icon{color:var(--teal);font-size:18px;margin-right:7px}.circuit{height:1px;background:#6b9b9c;position:absolute;transform-origin:left}.circuit-a{width:145px;top:125px;left:115px;transform:rotate(24deg)}.circuit-b{width:140px;top:178px;left:260px;transform:rotate(-25deg)}.circuit-c{width:140px;top:245px;left:150px;transform:rotate(-40deg)}.trust-strip{background:#edf5f3;border-bottom:1px solid #dce9e5}.trust-items{display:flex;justify-content:space-between;gap:20px;padding-block:18px;font-size:12px;font-weight:700;color:#47616a}.trust-items span:before{content:"✓";color:var(--teal-dark);margin-right:9px}.section{padding-block:100px}.section-heading{max-width:670px;margin-bottom:42px}.section-heading h2,.about-copy h2,.contact-grid h2{font-size:clamp(35px,4vw,48px);color:var(--navy)}.section-heading h2 em,.about-copy h2 em{color:var(--teal-dark)}.section-heading>p:last-child,.about-copy p,.contact-grid>div>p:not(.eyebrow){color:var(--muted);max-width:620px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{border:1px solid var(--line);padding:26px;min-height:250px;display:flex;flex-direction:column;align-items:flex-start;transition:border-color .2s,transform .2s,box-shadow .2s}.service-card:hover{border-color:#8bcfc4;transform:translateY(-3px);box-shadow:0 15px 40px #1633420b}.card-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:26px}.service-number{font:700 13px Manrope;color:var(--teal-dark)}.service-tag{background:#eef7f5;color:#3b7772;padding:5px 9px;border-radius:3px;font-size:10px;font-weight:700}.service-card h3{font:700 19px Manrope;margin:0 0 10px;color:var(--navy)}.service-card p{font-size:13px;color:var(--muted);margin:0 0 22px}.text-link{font-size:12px;font-weight:700;color:var(--teal-dark);margin-top:auto}.text-link span{padding-left:5px}.about-section{background:var(--paper);padding-block:90px}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}.about-visual{min-height:370px;background:linear-gradient(145deg,#1b3947,#102733);display:grid;place-items:center;padding:35px;position:relative;overflow:hidden}.about-visual:before,.about-visual:after{content:"";position:absolute;border:1px solid #729b9a40;border-radius:50%;width:350px;height:350px}.about-visual:after{width:450px;height:450px}.about-panel{position:relative;z-index:1;width:min(100%,350px);padding:24px;background:#f8fbfa;border-radius:5px;box-shadow:0 25px 60px #06192260}.panel-kicker{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--teal-dark)}.panel-line{height:1px;background:var(--line);margin:18px 0}.panel-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf1f0;font-size:13px}.panel-row b{color:var(--teal-dark)}.panel-footer{margin-top:20px;font-size:10px;color:var(--muted);display:flex;align-items:center;gap:10px}.about-copy p{font-size:14px}.about-copy .text-link{display:inline-block;margin-top:12px}.approach-section{padding-block:90px}.centered{text-align:center;margin-inline:auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps article{border-top:2px solid var(--line);padding-top:22px}.steps article>span{font:700 13px Manrope;color:var(--teal-dark)}.steps h3{font:700 20px Manrope;color:var(--navy);margin:13px 0 7px}.steps p{font-size:13px;color:var(--muted);margin:0}.contact-section{background:#eaf3f1;padding-block:90px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.contact-grid h2 em{color:var(--teal-dark)}.contact-note{font-size:12px;border-left:2px solid var(--teal-dark);padding-left:14px;margin-top:30px}.contact-card{background:#fff;padding:30px;box-shadow:0 15px 45px #1835410b;display:flex;flex-direction:column}.contact-card label{font-size:12px;font-weight:700;margin:0 0 7px}.contact-card input,.contact-card select,.contact-card textarea{width:100%;border:1px solid #d8e2df;border-radius:3px;padding:12px;font:14px "DM Sans",sans-serif;margin-bottom:17px;background:#fff;color:var(--ink)}.contact-card input:focus,.contact-card select:focus,.contact-card textarea:focus{outline:2px solid #8bd5ca;outline-offset:1px}.contact-card textarea{resize:vertical}.submit-button{align-self:flex-start}.form-small{font-size:10px;color:var(--muted);margin-bottom:0}.honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.site-footer{background:#102733;color:#d3dfe2;padding-top:34px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:27px}.brand-footer .brand-mark{background:var(--teal);color:var(--navy)}.brand-footer .brand-text small{color:#a8bdc4}.footer-main p{font-size:11px;color:#a8bdc4}.back-top{font-size:11px}.footer-bottom{border-top:1px solid #ffffff1c;display:flex;justify-content:space-between;padding-block:16px;font-size:10px;color:#9cb0b7}
@media(max-width:850px){.hero-grid{grid-template-columns:1fr;padding-block:65px}.hero-art{height:320px;max-width:550px;width:100%;margin:auto}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:40px}.contact-grid{gap:40px}.trust-items{flex-wrap:wrap;justify-content:flex-start}.main-nav{gap:18px}}
@media(max-width:620px){.container{width:min(var(--max),calc(100% - 32px))}.site-header{height:72px}.menu-toggle{display:block;background:white;border:1px solid var(--line);padding:8px 12px;border-radius:4px;color:var(--navy)}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;background:#fff;padding:18px 22px 22px;box-shadow:0 14px 20px #10273318;flex-direction:column;align-items:stretch;gap:17px}.main-nav.is-open{display:flex}.nav-cta{text-align:center}.hero-grid{padding-block:52px 35px}.hero h1{font-size:43px;letter-spacing:-1.5px}.hero-lead{font-size:15px}.hero-art{height:280px;transform:scale(.88);transform-origin:center}.orbit-one{width:270px;height:220px}.orbit-two{width:350px;height:290px}.node-a{left:0}.node-b{right:0}.node-c{left:25px}.trust-items{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:10px}.section,.about-section,.approach-section,.contact-section{padding-block:65px}.section-heading h2,.about-copy h2,.contact-grid h2{font-size:36px;letter-spacing:-1.3px}.service-grid{grid-template-columns:1fr}.service-card{min-height:220px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.about-visual{min-height:310px;padding:22px}.steps{grid-template-columns:1fr;gap:24px}.steps article{padding-top:17px}.contact-card{padding:22px}.footer-main{align-items:flex-start;flex-direction:column}.footer-main p{margin:0}.footer-bottom{gap:10px}}

/* JPA Projects logo */
.brand-logo{display:block;width:auto;height:58px;max-width:270px;object-fit:contain}
@media(max-width:620px){.brand-logo{height:48px;max-width:220px}}
