:root{--ink:#182436;--muted:#586678;--line:#d8e0e6;--paper:#f7f9f9;--white:#fff;--navy:#11283b;--accent:#19a9a3;--pale:#d7f1ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}p{line-height:1.7}.shell{width:min(1200px,calc(100% - 64px));margin:auto}.skip{position:absolute;top:-100px;left:20px;background:var(--white);padding:12px;z-index:20}.skip:focus{top:12px}.header{background:var(--white);border-bottom:1px solid var(--line)}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-weight:700}.brand-mark{font-size:30px;font-weight:850;letter-spacing:-.1em;color:var(--navy)}.brand-mark span{color:var(--accent)}.brand-name{font-size:14px;letter-spacing:.02em}.header nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.header nav a:hover,.footer a:hover{color:#087b79}.nav-contact{padding:12px 17px;border:1px solid var(--line);border-radius:5px}.nav-contact span{margin-left:8px;color:#087b79}.hero{background:linear-gradient(135deg,#f7f9f9 0%,#edf4f4 100%);padding:100px 0 105px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8%}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 24px;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#087b79}.eyebrow-line{height:2px;width:24px;background:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.055em;line-height:1.06}h1{font-size:clamp(48px,5.6vw,82px);margin-bottom:27px}h1 em{font-style:normal;color:#137e7d}.hero-lead{max-width:620px;font-size:19px;color:#435569}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:27px;margin:34px 0 53px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:17px 22px;border-radius:5px;font-size:14px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--navy);color:var(--white)}.button-primary:hover{background:#20455b}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid #90a8aa;padding-bottom:5px}.text-link span{margin-left:8px}.hero-footnote{font-size:12px;color:#718091}.hero-panel{min-height:440px;background:var(--navy);color:#fff;box-shadow:18px 18px 0 #d6e8e5;padding:32px;display:flex;flex-direction:column}.panel-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;color:#9bb4c1;padding-bottom:35px}.panel-item{display:flex;align-items:center;gap:24px;padding:26px 0;border-top:1px solid #426073}.panel-number{align-self:flex-start;color:#69c9c0;font-size:13px}.panel-item div{flex:1}.panel-item strong{display:block;font-size:clamp(28px,3vw,43px);letter-spacing:-.04em}.panel-item small{display:block;margin-top:6px;color:#b1c5cc;font-size:14px}.panel-arrow{font-size:22px;color:#69c9c0}.panel-bottom{margin-top:auto;border-top:1px solid #426073;padding-top:22px;font-size:12px;letter-spacing:.08em;color:#b1c5cc}.section{padding:108px 0}.light{background:var(--white)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:48px}.section-head h2,.experience-grid h2,.about h2,.contact h2{font-size:clamp(40px,4.4vw,64px);margin:0}.section-head>p{max-width:390px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{background:var(--paper);padding:38px 40px 42px;border:1px solid #e2e8eb;min-height:400px}.card-top{display:flex;align-items:center;justify-content:space-between;color:#5d7e8a;font-size:11px;letter-spacing:.15em;font-weight:800}.card-icon{height:48px;width:48px;border-radius:50%;display:grid;place-items:center;background:var(--pale);font-size:21px;color:#0b7b76;letter-spacing:0}.service-card h3{font-size:clamp(28px,3vw,40px);letter-spacing:-.045em;line-height:1.12;margin:40px 0 17px}.service-card p{color:var(--muted);max-width:470px}.service-card ul{padding:22px 0 0;margin:20px 0 0;border-top:1px solid var(--line);list-style:none;display:flex;flex-wrap:wrap;gap:10px}.service-card li{font-size:12px;font-weight:650;background:#e5eeee;padding:8px 11px;border-radius:3px}.dark{background:var(--navy);color:var(--white)}.dark .eyebrow{color:#73d4ca}.experience-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.experience-grid p:not(.eyebrow){max-width:390px;color:#bed0d6;margin-top:25px}.experience-list>div{display:grid;grid-template-columns:105px 1fr;column-gap:20px;padding:22px 0;border-bottom:1px solid #426073}.experience-list>div:first-child{border-top:1px solid #426073}.experience-list span{color:#77d4cb;font-size:12px}.experience-list strong{font-size:16px}.experience-list small{grid-column:2;color:#aabfc8;font-size:13px;margin-top:6px}.topic-list{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}.topic-list span{border:1px solid var(--line);border-radius:30px;padding:9px 14px;color:#365269;font-size:12px;font-weight:650}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article{display:flex;min-height:235px;flex-direction:column;align-items:start;justify-content:space-between;border:1px solid var(--line);padding:27px;transition:border-color .2s,transform .2s}.article:hover{border-color:#18a6a0;transform:translateY(-3px)}.article span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#087b79}.article strong{font-size:19px;line-height:1.35;letter-spacing:-.02em}.article small{color:#637588;font-size:12px;font-weight:700}.about{background:#eaf3f1}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-grid>div:last-child{font-size:18px;color:#425567}.contact{padding:90px 0;background:#147f7a;color:#fff}.contact-grid{display:flex;align-items:center;justify-content:space-between;gap:48px}.contact .eyebrow{color:#d6f5ee}.contact p:not(.eyebrow){margin:20px 0 0;color:#e1f5f1}.button-light{background:#fff;color:var(--navy);white-space:nowrap}.footer{background:#0d2233;color:#c9d9dd;padding:36px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer .brand-mark{color:#fff}.footer p{font-size:12px;margin:0}.footer div>div{display:flex;gap:20px;font-size:12px}
@media(max-width:950px){.header-inner{align-items:flex-start;padding:22px 0;flex-wrap:wrap}.header nav{flex-wrap:wrap;gap:14px 22px}.hero-grid,.experience-grid{gap:45px}.hero-panel{min-height:390px}.hero{padding:70px 0}.section{padding:80px 0}}
@media(max-width:720px){.shell{width:min(100% - 36px,1200px)}.header nav{font-size:12px}.hero-grid,.experience-grid,.about-grid,.service-grid,.article-grid{grid-template-columns:1fr}.hero-grid{gap:48px}.hero-panel{min-height:330px;box-shadow:10px 10px 0 #d6e8e5}.section-head,.contact-grid{display:block}.section-head>p{margin-top:24px}.service-card{min-height:0;padding:28px}.experience-grid{gap:35px}.article{min-height:190px}.about-grid{gap:20px}.button-light{margin-top:28px;white-space:normal}.footer-grid{flex-wrap:wrap}.footer-grid p{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* WordPress/Kadence integration */
body.home #inner-wrap{display:block;width:100%;max-width:none;margin:0;padding:0}
body.home #inner-wrap>.wp-block-group,body.home #inner-wrap>.hero,body.home #inner-wrap>.section,body.home #inner-wrap>.contact{width:100%}
body:not(.home) #inner-wrap{padding-top:48px;padding-bottom:72px}
body:not(.home) #inner-wrap h1{font-size:clamp(36px,4vw,56px)}
body:not(.home) #inner-wrap h2{font-size:clamp(28px,2.5vw,38px)}
body:not(.home) #inner-wrap .entry-content{line-height:1.75}
body:not(.home) #inner-wrap pre{overflow:auto;border-radius:4px}
body:not(.home) #inner-wrap a:not(.button){text-decoration-thickness:1px;text-underline-offset:3px}
.home .hero,.home .section,.home .contact{margin:0}
.jr-page{max-width:1100px;margin:0 auto;padding:25px 28px 55px}.jr-page.jr-narrow{max-width:800px}.jr-page .jr-intro{font-size:clamp(22px,2.4vw,32px);line-height:1.4;color:#30485a;letter-spacing:-.025em;margin-bottom:45px}.jr-page>p:not(.eyebrow):not(.jr-intro){font-size:17px;color:#475e6e}.jr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:70px}.jr-card{border:1px solid var(--line);background:#fff;padding:35px}.jr-card>span{font-size:11px;font-weight:800;letter-spacing:.14em;color:#087b79}.jr-card h2{margin:26px 0 16px!important}.jr-card p{color:#52677a}.jr-card li{margin-bottom:8px}.jr-section{border-top:1px solid var(--line);padding-top:40px}.jr-section p{max-width:680px}.jr-timeline{border-top:1px solid var(--line);margin-bottom:35px}.jr-timeline>div{display:grid;grid-template-columns:150px 1fr;column-gap:25px;border-bottom:1px solid var(--line);padding:25px 0}.jr-timeline span{grid-row:1/3;font-weight:750;color:#087b79}.jr-timeline h2{font-size:23px!important;margin:0 0 5px!important}.jr-timeline p{margin:0;color:#52677a}.jr-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:35px 0 50px}.jr-topic-grid a{display:flex;justify-content:space-between;gap:18px;border:1px solid var(--line);padding:20px;font-weight:750;min-height:90px;align-items:center}.jr-topic-grid a:hover{border-color:#17a6a0;background:#f2f8f7}.jr-topic-grid span{color:#087b79}.jr-contact-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:60px;padding:20px 0}.jr-contact-box a{color:#087b79;font-weight:750}
@media(max-width:720px){.jr-page{padding:10px 0 40px}.jr-grid,.jr-topic-grid{grid-template-columns:1fr}.jr-timeline>div{grid-template-columns:1fr}.jr-timeline span{grid-row:auto;margin-bottom:8px}.jr-contact-box{display:block}}
.dark h2,.contact h2{color:#fff}
.dark p:not(.eyebrow){color:#bed0d6}
.mobile-menu{display:none}
@media(max-width:720px){.header-inner{align-items:center;flex-wrap:nowrap;min-height:72px;padding:14px 0;position:relative}.header nav.desktop-nav{display:none}.mobile-menu{display:block;margin-left:auto}.mobile-menu summary{list-style:none;border:1px solid var(--line);border-radius:5px;padding:10px 13px;font-size:13px;font-weight:750;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{margin-left:10px;color:#087b79}.mobile-menu nav{display:flex;position:absolute;z-index:20;right:0;top:calc(100% - 4px);min-width:210px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--line);box-shadow:0 14px 30px #14293a25}.mobile-menu nav a{padding:13px 16px;border-bottom:1px solid var(--line);font-size:14px}.mobile-menu nav a:last-child{border-bottom:0}}
/* Article archives: compact, scannable cards for long technical titles. */
body.archive #inner-wrap h1.page-title{font-size:clamp(36px,3.8vw,54px);line-height:1.1}
body.archive #inner-wrap .loop-entry h2.entry-title{font-size:clamp(20px,1.75vw,26px)!important;line-height:1.22;margin:12px 0}
body.archive .loop-entry{border:1px solid #e0e7eb;box-shadow:none;border-radius:4px}
body.archive .loop-entry .entry-content-wrap{padding:26px}
body.archive .entry-summary{font-size:15px;line-height:1.6;max-height:6.4em;overflow:hidden}
body.archive .entry-summary p{margin:0}
body.archive .loop-entry .entry-meta{font-size:12px;color:#627687}
body.archive .loop-entry .more-link-wrap{margin-top:17px}
body.archive .loop-entry .more-link{font-size:12px;font-weight:800;letter-spacing:.08em;color:#087b79}
body.single-post #inner-wrap h1.entry-title{font-size:clamp(32px,3.4vw,48px);line-height:1.14}
/* Reserve space without clipping a responsive ad that grows beyond it. */
.jr-article-ad{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);min-height:300px;max-width:100%;}
.jr-article-ad-label{margin:0 0 12px;font-size:11px;letter-spacing:.08em;color:#627687;}
.jr-article-ad-preview{min-height:250px;display:flex;align-items:center;justify-content:center;text-align:center;background:#f5f8fa;color:#627687;font-size:13px;padding:20px;}
@media(max-width:720px){.jr-article-ad{margin-top:28px;}}
