:root { --ink:#263940; --teal:#3e73a9; --aqua:#4fc391; --mint:#4ead96; --mist:#eef7f4; --cream:#f5f8fa; --line:#d8e3e7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:104px; display:flex; align-items:center; gap:28px; padding:0 clamp(24px,5vw,80px); border-bottom:1px solid rgba(38,57,64,.1); background:rgba(255,255,255,.96); position:relative; z-index:20; }
.brand { display:flex; align-items:center; gap:12px; margin-right:auto; }
.brand-mark { width:53px; height:53px; border-radius:50%; display:grid; place-items:center; color:white; background:var(--ink); font-size:16px; letter-spacing:-1px; font-weight:800; }
.brand-name { font-size:12px; line-height:1.18; letter-spacing:.05em; text-transform:uppercase; font-weight:700; }
.brand-logo-image img,.bundled-logo { display:block; width:clamp(245px,24vw,335px); height:auto; }
.desktop-nav { display:flex; gap:34px; font-size:13px; font-weight:600; }
.desktop-nav a { padding:10px 0; }
.desktop-nav a:hover { color:var(--teal); }
.header-cta { background:var(--teal); color:#fff; padding:15px 19px; border-radius:3px; font-size:12px; font-weight:700; display:flex; gap:16px; }
.mobile-nav { display:none; }
.hero { min-height:700px; display:grid; grid-template-columns:1.05fr .95fr; background:var(--cream); overflow:hidden; }
.hero-copy { padding:clamp(70px,9vw,132px) clamp(32px,7vw,108px); padding-right:35px; }
.eyebrow,.section-label { color:var(--teal); text-transform:uppercase; font-size:11px; letter-spacing:.17em; font-weight:800; margin:0 0 26px; }
.eyebrow span { width:28px; height:1px; display:inline-block; background:var(--aqua); vertical-align:middle; margin-right:10px; }
h1,h2 { margin:0; letter-spacing:-.045em; font-weight:500; font-family:Georgia, 'Times New Roman', serif; }
h1 { max-width:780px; font-size:clamp(56px,6.1vw,94px); line-height:.97; }
h1 em,.why h2 em { font-weight:400; color:var(--teal); }
.hero-lede { font-size:18px; line-height:1.7; max-width:620px; color:#486066; margin:35px 0; }
.hero-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; gap:34px; padding:18px 22px; font-size:12px; font-weight:800; border-radius:2px; }
.primary { background:var(--teal); color:white; }
.button:hover,.header-cta:hover { background:#13434d; }
.text-link { display:inline-flex; gap:18px; padding-bottom:5px; border-bottom:1px solid currentColor; font-size:12px; font-weight:700; }
.hero-visual { min-height:620px; position:relative; background:linear-gradient(145deg,#263940 0%,#3e73a9 58%,#4fc391 140%); overflow:hidden; }
.hero-visual:before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(to bottom,black,transparent 90%); }
.orbit { position:absolute; border:1px solid rgba(255,255,255,.16); border-radius:50%; }
.orbit-one { width:520px; height:520px; right:-40px; top:85px; }
.orbit-two { width:310px; height:310px; left:85px; bottom:-60px; }
.signal-dot { position:absolute; width:9px; height:9px; border-radius:50%; background:#a8fff3; box-shadow:0 0 0 9px rgba(168,255,243,.12); }
.dot-one { top:105px; right:195px; }.dot-two { bottom:105px; left:118px; }
.visual-card { background:rgba(255,255,255,.96); box-shadow:0 25px 70px rgba(2,26,31,.22); position:absolute; }
.card-main { width:min(390px,64%); left:15%; top:19%; padding:32px; }
.micro-label { display:block; color:var(--teal); font-size:9px; letter-spacing:.18em; font-weight:800; margin-bottom:14px; }
.card-main>strong { font-family:Georgia,serif; font-size:29px; font-weight:500; display:block; margin-bottom:32px; }
.progress-row { display:grid; grid-template-columns:65px 1fr; align-items:center; font-size:10px; font-weight:700; margin:15px 0; }
.progress-row i { height:5px; background:#e3ece9; position:relative; }
.progress-row i:after { content:""; display:block; width:78%; height:100%; background:var(--aqua); }
.progress-row:nth-child(4) i:after { width:55%; }.progress-row:nth-child(5) i:after { width:38%; }
.card-small { left:7%; bottom:16%; padding:20px 25px; display:grid; }
.card-small span { color:var(--aqua); font-size:11px; font-weight:800; }.card-small strong { font-family:Georgia,serif; font-size:19px; margin:6px 0; }.card-small small,.card-badge small { color:#698084; font-size:9px; }
.card-badge { right:7%; bottom:13%; padding:18px 20px; display:flex; align-items:center; gap:13px; }
.card-badge strong { display:block; font-size:11px; margin-bottom:3px; }.check { border-radius:50%; width:27px; height:27px; display:grid; place-items:center; background:var(--mist); color:var(--teal); }
.trust-strip { padding:24px clamp(24px,5vw,80px); display:flex; align-items:center; gap:45px; border-bottom:1px solid var(--line); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.trust-strip p { color:#668086; margin-right:auto; }.trust-strip div { display:flex; gap:34px; font-weight:700; }.trust-strip span:before { content:"+"; color:var(--aqua); margin-right:7px; }
.section { padding:clamp(80px,10vw,150px) clamp(24px,7vw,110px); }
.intro { display:grid; grid-template-columns:1fr 1fr; gap:12%; }
h2 { font-size:clamp(44px,5.3vw,76px); line-height:1.03; }
.intro-copy { padding-top:34px; }
.intro-copy p { color:#526a70; font-size:17px; line-height:1.75; max-width:610px; margin:0 0 24px; }
.text-link.dark { color:var(--teal); margin-top:15px; }
.services { background:var(--mist); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:60px; }
.section-heading>p { max-width:390px; color:#60767a; line-height:1.7; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card { background:#fff; padding:38px 32px 32px; min-height:480px; display:flex; flex-direction:column; border-top:3px solid transparent; transition:.25s ease; }
.service-card:hover { transform:translateY(-6px); border-top-color:var(--aqua); box-shadow:0 20px 50px rgba(19,76,83,.1); }
.service-number { color:#819496; font-size:10px; letter-spacing:.1em; }
.service-icon { width:68px; height:68px; margin:28px 0; border-radius:50%; background:var(--mist); display:flex; justify-content:center; align-items:end; gap:4px; padding-bottom:21px; }
.service-icon span { width:5px; background:var(--teal); }.service-icon span:nth-child(1){height:12px}.service-icon span:nth-child(2){height:24px;background:var(--aqua)}.service-icon span:nth-child(3){height:18px}
.service-card h3 { font-family:Georgia,serif; font-size:25px; font-weight:500; margin:0 0 15px; }
.service-card p { color:#60767a; font-size:14px; line-height:1.7; }
.service-card ul { list-style:none; padding:0; margin:18px 0 24px; font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:#526a70; }
.service-card li { border-top:1px solid var(--line); padding:9px 0; }.service-card a { margin-top:auto; font-size:11px; font-weight:800; display:flex; justify-content:space-between; color:var(--teal); }
.industries { background:var(--ink); color:white; display:grid; grid-template-columns:.9fr 1.1fr; gap:11%; }
.section-label.light { color:#78e0d6; }.industries-copy>p:not(.section-label) { color:#b7c8cb; line-height:1.8; margin:30px 0; max-width:500px; }
.light-button { background:#fff; color:var(--ink); }.light-button:hover { background:#d9fffa; }
.industry-list { border-top:1px solid rgba(255,255,255,.15); }
.industry-list div { display:grid; grid-template-columns:50px 1fr; gap:20px; padding:22px 4px; border-bottom:1px solid rgba(255,255,255,.15); align-items:center; }
.industry-list span { color:#6f9297; font-size:10px; }.industry-list strong { font-family:Georgia,serif; font-size:20px; font-weight:400; }
.process { display:grid; grid-template-columns:.8fr 1.2fr; gap:12%; }
.process-intro>p:last-child { color:#60767a; line-height:1.7; max-width:440px; margin-top:28px; }
.process-steps { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.process-steps li { display:grid; grid-template-columns:55px 1fr; border-bottom:1px solid var(--line); padding:24px 0; }.process-steps span { color:var(--aqua); font-size:10px; }.process-steps h3 { font-family:Georgia,serif; font-size:22px; font-weight:500; margin:0 0 6px; }.process-steps p { color:#60767a; margin:0; font-size:13px; line-height:1.6; }
.why { background:var(--cream); }.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:11%; }.why h2 em { display:block; }.why-grid>div { border-top:1px solid #d8d6ce; }.why article { display:grid; grid-template-columns:35px 1fr; column-gap:16px; border-bottom:1px solid #d8d6ce; padding:25px 0; }.why article span { color:var(--teal); font-size:10px; grid-row:1/3; }.why article h3 { margin:0 0 7px; font-size:16px; }.why article p { color:#60767a; margin:0; line-height:1.6; font-size:13px; }
.cta-section { background:var(--teal); color:#fff; text-align:center; padding:clamp(85px,11vw,150px) 24px; position:relative; overflow:hidden; }.cta-section>*:not(.cta-grid) { position:relative; z-index:2; }.cta-section h2 { max-width:780px; margin:auto; }.cta-section>p:not(.section-label) { color:#c4e0df; max-width:560px; margin:25px auto 32px; line-height:1.7; }.cta-section>div:not(.cta-grid) { display:flex; justify-content:center; align-items:center; gap:26px; flex-wrap:wrap; }.email-link { font-size:12px; border-bottom:1px solid rgba(255,255,255,.7); padding-bottom:5px; }.cta-grid { position:absolute; inset:0; display:grid; grid-template-columns:repeat(4,1fr); opacity:.12; }.cta-grid span { border-left:1px solid white; }
footer { padding:55px clamp(24px,5vw,80px) 25px; background:#263940; color:white; }.footer-top { display:grid; grid-template-columns:1.1fr 1fr 1fr; align-items:start; gap:40px; padding-bottom:50px; }.footer-brand { margin:0; }.footer-brand .brand-mark { background:#fff; color:var(--ink); }.footer-logo-plate { background:#fff; border-radius:5px; padding:10px 14px; width:max-content; max-width:100%; }.footer-logo-plate img { width:min(315px,70vw); }.footer-top>p { color:#b8c5c9; font-size:13px; line-height:1.6; max-width:290px; }.footer-top>div { display:grid; grid-template-columns:1fr 1fr; gap:15px; font-size:12px; }.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:22px; display:flex; gap:30px; font-size:10px; color:#9fb0b5; }.footer-bottom span:first-child { margin-right:auto; }
@media (max-width:1120px) { .desktop-nav,.header-cta { display:none; }.mobile-nav { display:block; position:relative; }.mobile-nav summary { list-style:none; font-size:12px; font-weight:800; cursor:pointer; }.mobile-nav div { position:absolute; right:0; top:35px; background:white; padding:20px; width:190px; box-shadow:0 12px 35px rgba(0,0,0,.14); display:grid; gap:16px; }.hero { grid-template-columns:1fr; }.hero-visual { min-height:550px; }.trust-strip { display:block; }.trust-strip div { flex-wrap:wrap; margin-top:15px; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:0; }.industries,.process { grid-template-columns:1fr; }.footer-top { grid-template-columns:1fr 1fr; } }
@media (max-width:700px) { .site-header { height:82px; padding:0 20px; }.brand-logo-image img,.bundled-logo { width:min(245px,68vw); }.brand-mark { width:45px;height:45px }.hero-copy { padding:70px 24px; }.hero-visual { min-height:480px; }.card-main { left:9%; width:76%; }.card-badge { right:4%; }.trust-strip div { display:grid; gap:10px; }.intro,.why-grid { grid-template-columns:1fr; gap:45px; }.section-heading { display:block; }.section-heading>p { margin-top:24px; }.footer-top { grid-template-columns:1fr; }.footer-bottom { flex-direction:column; gap:12px; }.footer-bottom span:first-child { margin:0; } }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}

/* WordPress integration */
.skip-link { position:absolute; left:-9999px; top:8px; background:#fff; color:var(--ink); padding:12px 16px; z-index:9999; }
.skip-link:focus { left:8px; }
.custom-logo-link { display:block; }
.custom-logo { display:block; width:auto; max-width:230px; max-height:60px; }
.desktop-nav ul,.footer-top ul,.mobile-menu ul { display:flex; list-style:none; padding:0; margin:0; gap:34px; }
.desktop-nav li { margin:0; }
.footer-top ul { display:grid; grid-template-columns:1fr 1fr; gap:15px; font-size:12px; }
.menu-toggle,.mobile-menu { display:none; }
.content-shell { min-height:65vh; padding:clamp(70px,9vw,130px) clamp(24px,7vw,110px); }
.content-header { max-width:930px; margin-bottom:58px; }
.content-header h1 { font-size:clamp(48px,6vw,82px); }
.entry-content,.prose-page { max-width:900px; }
.entry-content { color:#405b61; font-size:17px; line-height:1.85; }
.entry-content h2,.entry-content h3 { color:var(--ink); font-family:Georgia,serif; font-weight:500; }
.entry-content h2 { font-size:38px; margin-top:55px; }.entry-content h3 { font-size:27px; margin-top:38px; }
.entry-content a { color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
.entry-content img,.prose-page>img { max-width:100%; height:auto; }
.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.post-card { background:var(--mist); padding:28px; }
.post-card img { width:100%; height:220px; object-fit:cover; margin:-28px -28px 25px; max-width:calc(100% + 56px); }
.post-card h2 { font-size:28px; margin:8px 0 15px; }.post-card h2 a:hover { color:var(--teal); }
.post-card p { color:#5d7479; line-height:1.7; }.post-date { font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.error-page { text-align:center; max-width:850px; margin:auto; }.error-page p { color:#60767a; font-size:17px; margin:25px 0; }
.nav-links { display:flex; gap:14px; margin-top:35px; }.page-numbers { padding:10px 14px; background:var(--mist); }
@media (max-width:1120px) {
  .menu-toggle { display:block; border:0; background:none; color:var(--ink); font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
  .mobile-menu { position:absolute; right:22px; top:76px; background:#fff; padding:24px; width:230px; box-shadow:0 18px 40px rgba(0,0,0,.16); }
  .mobile-menu.is-open { display:block; }
  .mobile-menu ul { display:grid; gap:18px; }
  .post-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:700px) { .post-grid { grid-template-columns:1fr; } .custom-logo { max-width:180px; max-height:48px; } }

/* Recruiting job board */
.jobs-preview { display:grid; grid-template-columns:1fr 1fr; gap:11%; background:#fff; align-items:center; }
.jobs-preview>div:last-child p { color:#60767a; font-size:17px; line-height:1.75; margin:0 0 28px; max-width:570px; }
.jobs-board { background:#f8faf9; }
.jobs-hero { color:#fff; background:linear-gradient(125deg,#263940,#3e73a9); padding:clamp(80px,10vw,140px) clamp(24px,7vw,110px); position:relative; overflow:hidden; }
.jobs-hero:after { content:""; position:absolute; width:620px; height:620px; border:1px solid rgba(255,255,255,.12); border-radius:50%; right:-110px; top:-270px; box-shadow:0 0 0 85px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.02); }
.jobs-hero>* { position:relative; z-index:1; }.jobs-hero h1 { font-size:clamp(52px,6.3vw,90px); max-width:930px; line-height:1; }.jobs-hero h1 em { color:#80e4dc; }.jobs-hero>p:last-child { max-width:650px; color:#c3d5d7; font-size:17px; line-height:1.75; margin:28px 0 0; }
.job-search-wrap { padding:0 clamp(24px,7vw,110px); transform:translateY(-35px); position:relative; z-index:3; }
.job-search { background:#fff; box-shadow:0 20px 60px rgba(16,42,50,.12); display:grid; grid-template-columns:1.2fr 1fr .85fr .85fr auto; gap:0; padding:18px; align-items:end; }
.job-search>div { padding:5px 17px; border-right:1px solid var(--line); }.job-search label { display:block; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:#6e8387; font-weight:800; margin-bottom:8px; }
.job-search input,.job-search select { width:100%; border:0; background:#fff; color:var(--ink); font:inherit; font-size:13px; padding:7px 0; outline:none; }.job-search input:focus,.job-search select:focus { box-shadow:0 2px 0 var(--aqua); }.job-search .button { border:0; cursor:pointer; margin-left:18px; min-height:48px; white-space:nowrap; }
.clear-filters { display:block; width:max-content; margin:13px 0 0 auto; color:var(--teal); font-size:11px; font-weight:700; border-bottom:1px solid currentColor; }
.job-results { padding:clamp(50px,6vw,90px) clamp(24px,7vw,110px) clamp(85px,10vw,145px); }
.results-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:42px; }.results-heading h2 { font-size:clamp(36px,4.2vw,58px); }.results-heading>p { color:#698084; font-size:13px; }
.job-list { border-top:1px solid var(--line); }.job-card { background:#fff; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1.2fr .8fr; gap:50px; padding:35px 38px; transition:.2s ease; }.job-card:hover { transform:translateX(6px); box-shadow:-5px 16px 40px rgba(16,42,50,.08); position:relative; z-index:1; }
.job-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }.job-tags span { background:var(--mist); color:var(--teal); border-radius:30px; padding:7px 10px; font-size:9px; letter-spacing:.07em; text-transform:uppercase; font-weight:800; }
.job-card h3 { font-family:Georgia,serif; font-size:28px; font-weight:500; margin:0 0 8px; }.job-card h3 a:hover { color:var(--teal); }.job-company { margin:0; color:#60767a; font-size:12px; font-weight:700; }.job-summary { color:#60767a; font-size:13px; line-height:1.6; max-width:650px; margin:15px 0 0; }
.job-card-meta { display:grid; grid-template-columns:1fr 1fr 48px; gap:20px; align-items:center; }.job-card-meta div { min-width:0; }.job-card-meta small { display:block; color:#809296; text-transform:uppercase; letter-spacing:.09em; font-size:8px; margin-bottom:6px; }.job-card-meta strong { font-size:11px; line-height:1.4; display:block; }.job-arrow { width:45px; height:45px; display:grid; place-items:center; border:1px solid var(--line); color:var(--teal); font-weight:800; }.job-arrow:hover { background:var(--teal); color:#fff; }
.no-jobs { background:#fff; text-align:center; padding:75px 25px; }.no-jobs>span { font-size:55px; color:var(--aqua); }.no-jobs h3 { font-family:Georgia,serif; font-size:30px; margin:10px 0; }.no-jobs p { color:#60767a; margin-bottom:25px; }
.job-alert-cta { margin:0 clamp(24px,7vw,110px) clamp(85px,10vw,145px); background:var(--teal); color:#fff; padding:55px 60px; display:flex; justify-content:space-between; align-items:center; gap:45px; }.job-alert-cta h2 { font-size:clamp(36px,4.5vw,58px); }.job-alert-cta p:not(.section-label) { color:#c1dddd; line-height:1.6; margin:15px 0 0; }.job-alert-cta .button { flex:none; }
.single-job { background:#fff; }.single-job-hero { padding:clamp(70px,9vw,125px) clamp(24px,10vw,155px); background:var(--cream); }.back-to-jobs { display:inline-block; color:var(--teal); font-size:11px; font-weight:800; margin-bottom:48px; border-bottom:1px solid currentColor; padding-bottom:4px; }.single-job-hero h1 { font-size:clamp(52px,6vw,86px); max-width:1000px; }.single-job-hero>p { color:#60767a; font-size:16px; font-weight:700; margin:22px 0 0; }
.single-job-layout { display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:10%; padding:clamp(70px,9vw,125px) clamp(24px,10vw,155px); align-items:start; }.job-description .entry-content { max-width:780px; }.job-apply-card { background:var(--mist); padding:34px; position:sticky; top:25px; }.job-apply-card dl { margin:0 0 28px; }.job-apply-card dl div { padding:15px 0; border-bottom:1px solid #ceddd9; }.job-apply-card dt { color:#6e8387; text-transform:uppercase; letter-spacing:.1em; font-size:8px; font-weight:800; margin-bottom:6px; }.job-apply-card dd { margin:0; font-size:13px; font-weight:700; }.job-apply-button { width:100%; justify-content:space-between; }.job-apply-card>small { display:block; color:#6e8387; font-size:9px; line-height:1.6; margin-top:18px; }.job-share { margin:0 clamp(24px,10vw,155px) clamp(75px,9vw,120px); border-top:1px solid var(--line); padding-top:25px; display:flex; justify-content:space-between; gap:25px; font-size:12px; }.job-share a { color:var(--teal); font-weight:800; }.tpw-jobs-shortcode { background:var(--mist); padding:35px; }
@media (max-width:1100px) { .job-search { grid-template-columns:1fr 1fr; gap:8px; }.job-search>div { border:0; border-bottom:1px solid var(--line); }.job-search .button { margin:8px 0 0; }.job-card { grid-template-columns:1fr; gap:28px; }.single-job-layout { grid-template-columns:minmax(0,1fr) 320px; gap:6%; } }
@media (max-width:800px) { .jobs-preview { grid-template-columns:1fr; gap:35px; }.job-search { grid-template-columns:1fr; }.job-search-wrap { transform:translateY(-22px); }.results-heading { display:block; }.results-heading>p { margin-top:15px; }.job-card { padding:28px 22px; }.job-card-meta { grid-template-columns:1fr 1fr 45px; }.job-alert-cta { padding:40px 28px; display:block; }.job-alert-cta .button { margin-top:25px; }.single-job-layout { grid-template-columns:1fr; }.job-apply-card { position:static; }.job-share { display:block; }.job-share a { display:inline-block; margin-top:8px; } }
@media (max-width:520px) { .job-card-meta { grid-template-columns:1fr; }.job-arrow { margin-top:4px; }.jobs-hero { padding-top:65px; }.single-job-hero { padding-top:55px; }.job-search-wrap { padding-left:14px; padding-right:14px; } }

/* Version 1.4 visual refinement and native applications */
:root { --navy:#173b52; --sky:#eaf3fb; --shadow:0 24px 70px rgba(23,59,82,.10); --radius:18px; }
body { background:#fbfcfd; font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.site-header { position:sticky; top:0; height:94px; background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); box-shadow:0 1px 0 rgba(23,59,82,.08); }
.desktop-nav a { position:relative; }
.desktop-nav a:after { content:""; position:absolute; left:0; right:100%; bottom:4px; height:2px; background:var(--aqua); transition:right .2s ease; }
.desktop-nav a:hover:after { right:0; }
.header-cta,.button { border-radius:10px; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.header-cta { box-shadow:0 10px 28px rgba(62,115,169,.20); }
.button:hover,.header-cta:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(23,59,82,.18); }
.hero { background:radial-gradient(circle at 12% 10%,#fff 0,#f3f8fa 38%,#eaf3f5 100%); }
.hero-copy { position:relative; }
.hero-copy:before { content:""; position:absolute; width:240px; height:240px; border-radius:50%; background:rgba(79,195,145,.08); filter:blur(1px); left:-110px; top:50px; }
.hero-copy>* { position:relative; z-index:1; }
.eyebrow { display:inline-flex; align-items:center; padding:9px 13px; border:1px solid rgba(62,115,169,.18); border-radius:99px; background:rgba(255,255,255,.64); margin-bottom:32px; }
.hero-lede { max-width:660px; }
.hero-proof { display:flex; gap:0; margin-top:52px; border-top:1px solid rgba(38,57,64,.14); max-width:720px; }
.hero-proof span { flex:1; display:grid; gap:7px; padding:20px 18px 0 0; color:#506a72; font-size:11px; font-weight:750; letter-spacing:.02em; }
.hero-proof i { color:var(--teal); font-size:9px; font-style:normal; letter-spacing:.12em; }
.hero-visual { background:radial-gradient(circle at 70% 25%,rgba(79,195,145,.34),transparent 28%),linear-gradient(145deg,#173b52 0%,#3e73a9 62%,#4fc391 140%); }
.visual-card { border:1px solid rgba(255,255,255,.7); border-radius:var(--radius); }
.card-main { box-shadow:0 35px 90px rgba(8,35,49,.27); }
.trust-strip { background:#fff; }
.section { position:relative; }
.services { background:linear-gradient(180deg,#eef7f4,#f7fbfa); }
.service-card { border:1px solid rgba(62,115,169,.11); border-top:3px solid transparent; border-radius:var(--radius); box-shadow:0 12px 35px rgba(23,59,82,.045); }
.service-icon { background:linear-gradient(145deg,var(--mist),var(--sky)); }
.industries { background:radial-gradient(circle at 15% 15%,rgba(62,115,169,.42),transparent 31%),var(--ink); }
.why { background:linear-gradient(135deg,#f6f8fa,#edf6f4); }
.cta-section { background:radial-gradient(circle at 25% 15%,rgba(79,195,145,.34),transparent 30%),linear-gradient(125deg,#315f93,#3e73a9); }
.jobs-hero { background:radial-gradient(circle at 75% 25%,rgba(79,195,145,.28),transparent 30%),linear-gradient(125deg,#173b52,#3e73a9); }
.job-search,.job-card,.job-alert-cta,.job-apply-card,.no-jobs { border-radius:var(--radius); }
.job-card { margin:12px 0; border:1px solid rgba(62,115,169,.10); box-shadow:0 8px 30px rgba(23,59,82,.04); }
.job-list { border-top:0; }
.job-apply-card { border:1px solid rgba(62,115,169,.12); box-shadow:var(--shadow); }
.job-application-section { display:grid; grid-template-columns:.72fr 1.28fr; gap:9%; padding:clamp(75px,9vw,125px) clamp(24px,10vw,155px); background:linear-gradient(145deg,#eef7f4,#f7fafc); scroll-margin-top:100px; }
.application-intro h2 { font-size:clamp(42px,5vw,68px); }
.application-intro>p:not(.section-label) { color:#5d7479; line-height:1.75; max-width:450px; }
.application-assurance { display:flex; gap:13px; align-items:flex-start; margin-top:36px; padding-top:25px; border-top:1px solid #ceddd9; }
.application-assurance>span { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; flex:none; background:#d9f5ec; color:#277f66; font-weight:900; }
.application-assurance p { margin:0; color:#60767a; font-size:12px; line-height:1.6; }.application-assurance strong { color:var(--ink); }
.application-panel { background:#fff; border:1px solid rgba(62,115,169,.12); border-radius:var(--radius); padding:clamp(28px,4vw,52px); box-shadow:var(--shadow); }
.application-notice { border-radius:12px; padding:20px 22px; margin-bottom:28px; border-left:4px solid; }
.application-notice p { margin:7px 0 0; line-height:1.55; font-size:13px; }.application-notice.success { background:#ecf9f4; border-color:#37a77f; }.application-notice.error { background:#fff2f0; border-color:#c94e44; }
.job-application-form>p { margin:0 0 22px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-grid p { margin:0; }
.job-application-form label:not(.consent-row) { display:block; color:var(--ink); font-size:11px; font-weight:800; margin-bottom:8px; }
.job-application-form input[type="text"],.job-application-form input[type="email"],.job-application-form input[type="tel"],.job-application-form input[type="url"],.job-application-form input[type="file"],.job-application-form textarea { width:100%; border:1px solid #cbdadd; border-radius:10px; background:#fbfcfd; color:var(--ink); font:inherit; font-size:14px; padding:14px 15px; transition:border-color .2s ease,box-shadow .2s ease; }
.job-application-form textarea { resize:vertical; min-height:120px; }
.job-application-form input[type="file"] { padding:11px; }
.job-application-form input:focus,.job-application-form textarea:focus { outline:0; border-color:var(--teal); box-shadow:0 0 0 3px rgba(62,115,169,.12); background:#fff; }
.field-help { display:block; color:#74898e; font-size:10px; margin:-3px 0 9px; }
.consent-row { display:flex; gap:11px; align-items:flex-start; color:#5c7378; font-size:11px; line-height:1.5; margin:4px 0 24px; cursor:pointer; }.consent-row input { margin-top:2px; accent-color:var(--teal); }
.application-submit { border:0; cursor:pointer; min-width:220px; justify-content:space-between; }
.application-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media (max-width:900px) { .job-application-section { grid-template-columns:1fr; gap:42px; }.hero-proof { flex-wrap:wrap; }.hero-proof span { min-width:145px; } }
@media (max-width:600px) { .form-grid { grid-template-columns:1fr; }.application-panel { padding:25px 19px; }.application-submit { width:100%; }.hero-proof { display:grid; grid-template-columns:1fr 1fr; }.hero-proof span:last-child { grid-column:1/-1; } }
@media (prefers-reduced-motion:reduce) { .button,.header-cta,.desktop-nav a:after { transition:none; } }

/* Version 1.5 navigation, icon mark, and complete Insight imagery */
.tpw-icon-brand { width:58px; height:76px; flex:0 0 58px; margin-right:auto; display:flex; align-items:center; justify-content:center; }
.tpw-icon-brand img { display:block; width:100%; height:100%; object-fit:contain; }
.insight-card-image { display:block; margin:-28px -28px 25px; padding:14px; background:linear-gradient(145deg,#edf7f5,#edf4fa); border-bottom:1px solid rgba(62,115,169,.10); overflow:hidden; }
.post-card .insight-card-image img { display:block; width:100%; height:240px; max-width:100%; margin:0; object-fit:contain; border-radius:10px; }
.post-card { border:1px solid rgba(62,115,169,.10); border-radius:var(--radius); overflow:hidden; box-shadow:0 12px 36px rgba(23,59,82,.055); background:#fff; }
.insight-single .prose-page { max-width:1040px; margin:0 auto; }
.insight-featured { margin:0 0 52px; padding:clamp(10px,2vw,20px); border-radius:var(--radius); background:linear-gradient(145deg,#edf7f5,#edf4fa); border:1px solid rgba(62,115,169,.10); }
.insight-featured img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; border-radius:12px; }
@media (max-width:700px) { .tpw-icon-brand { width:45px; height:62px; flex-basis:45px; }.insight-card-image { margin:-28px -28px 22px; }.post-card .insight-card-image img { height:auto; aspect-ratio:3/2; } }
