/* Home composition: white company overview followed by the blue technology card. */
.home-overview{min-height:0;padding:118px 0 12px;background:#fff;color:var(--text)}
.home-overview .hero-grid,.home-overview .hero-glow{display:none}
.hero--compact .hero-inner.home-overview-grid{max-width:1180px;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;align-items:center}
.home-overview-image{order:2;position:relative;min-width:0;height:auto;min-height:0;margin:18px 0 0;padding:0;overflow:visible;border-radius:24px;background:transparent;box-shadow:none;transform:none}
.home-overview-image img{display:block;width:100%;max-width:none;height:460px;max-height:none;object-fit:contain;border-radius:24px;mix-blend-mode:multiply;filter:none;box-shadow:24px 20px 44px rgba(0,39,105,.09)}
.home-overview-copy{order:2;position:relative;top:-10px;display:flex;height:auto;min-height:0;box-sizing:border-box;flex-direction:column;justify-content:center;padding:28px 36px 28px 15px;border:0;border-radius:24px;background:#fff;box-shadow:none;scroll-margin-top:104px}
.home-overview-copy:before{display:none}
.home-overview .home-overview-slogan{margin:0 0 12px;color:#08265f;font-family:"Manrope",sans-serif;font-size:var(--type-h1-compact);font-weight:800;line-height:1.08;letter-spacing:-.04em}
.home-overview-slogan span{display:block;color:#0758b8}
.home-overview-copy .kicker{margin-bottom:14px;color:#62666d;font-size:1.02rem;font-weight:800;letter-spacing:.12em}
.home-overview-description{margin:0 0 14px;color:var(--muted);font:400 var(--type-lead)/1.55 "DM Sans",sans-serif;letter-spacing:normal}
.home-overview-copy>p:not(.kicker){margin:0 0 14px;color:var(--muted);font-size:1.02rem;line-height:1.62}
.home-overview-copy>p:last-child{margin-bottom:0}
.technology-intro-grid{gap:48px;align-items:stretch}
.technology-intro-grid>div:first-child{order:2;top:0}
.technology-column{order:1;position:relative;top:-7px;display:flex;min-width:0;flex-direction:column;gap:7px}
.technology-card{display:flex;height:auto;min-height:340px;box-sizing:border-box;flex-direction:column;justify-content:center;padding:44px 48px;overflow:hidden;border-radius:24px;background:#08265f;color:#fff;box-shadow:0 24px 52px rgba(8,38,95,.18)}
.technology-card h2{margin:0 0 24px;color:#fff;font-size:var(--type-h1-compact);font-weight:800;line-height:1.08;letter-spacing:-.04em}
.technology-card h2 em{color:var(--cyan);font-style:normal}
.technology-card .hero-lede{margin-bottom:0;font-size:var(--type-lead);line-height:1.55}
.technology-card .hero-actions{margin:24px 0 22px}
.technology-card .text-link{color:#d6dfed}
.brand-swatches{display:flex;gap:9px;margin-top:20px}
.brand-swatches span{width:18px;height:18px}
.brand-swatches span:nth-child(1){background:#08265f;border:1px solid rgba(255,255,255,.45)}
.brand-swatches span:nth-child(2){background:#064fff}
.brand-swatches span:nth-child(3){background:#e31b23}
.brand-swatches span:nth-child(4){background:#7a7a7a}
.technology-card .brand-swatches{margin-top:0}
.visitor-name{padding:9px 4px 0;border-top:1px solid rgba(8,38,95,.15);color:#304761}
.visitor-name-copy{margin-bottom:11px}
.visitor-name-copy p{margin:0}
.visitor-name-title{color:#08265f;font:800 .92rem/1.35 "Manrope",sans-serif;letter-spacing:-.015em}
.visitor-name-copy p:last-child{margin-top:2px;color:#657991;font-size:.76rem;line-height:1.45}
.visitor-name-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.visitor-name-form input{width:100%;min-width:0;height:40px;padding:8px 12px;border:1px solid #cbd9e8;border-radius:9px;background:#fff;color:#173656;outline:none}
.visitor-name-form input:focus{border-color:#0758b8;box-shadow:0 0 0 3px rgba(7,88,184,.11)}
.visitor-name-form button{height:40px;padding:8px 14px;border:0;border-radius:9px;background:#0758b8;color:#fff;font-size:.76rem;font-weight:800;cursor:pointer}
.visitor-name-form button:hover,.visitor-name-form button:focus-visible{background:#064a9b}
.visitor-name-status{min-height:17px;margin:5px 1px 0;color:#74859a;font-size:.64rem;line-height:1.35}
.visitor-name-status.is-error{color:#b42318}
.visitor-name-greeting{display:flex;min-height:0;align-items:center;justify-content:space-between;gap:18px;padding:0 4px}
.visitor-name-greeting[hidden]{display:none}
.visitor-name-greeting p{margin:0;color:#08265f;font:800 1rem/1.4 "Manrope",sans-serif;letter-spacing:-.02em}
.visitor-name-actions{display:flex;flex:0 0 auto;gap:11px}
.visitor-name-actions button{padding:0;border:0;background:transparent;color:#0758b8;font-size:.68rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.visitor-name-actions button:hover,.visitor-name-actions button:focus-visible{color:#064a9b}
.ceo-message{order:1;position:relative;display:block;min-height:100%;overflow:hidden;border:0;border-radius:24px;background:#fff;box-shadow:none}
.ceo-message:before{display:none}
.ceo-message-copy{min-width:0;padding:0 34px 34px}
.ceo-lead-statement{margin:0 0 16px;color:#0758b8;font-family:"Manrope",sans-serif;font-size:var(--type-h1-compact);font-weight:800;line-height:1.08;letter-spacing:-.04em}
.ceo-lead-statement .ceo-not{color:#08265f;font-weight:900}
.ceo-lead-statement span{display:inline;color:#e41f26}
.ceo-message-copy .kicker{margin:0 0 16px;color:#62666d;font:800 .76rem/1.2 "Manrope",sans-serif;letter-spacing:.14em}
.ceo-portrait-block{float:left;width:74px;margin:0 8px 4px 0;overflow:hidden}
.ceo-portrait{display:block;width:70px;height:66px;margin:0;border:0;border-radius:0;object-fit:cover;object-position:center 10%;box-shadow:none}
.ceo-message blockquote{margin:0;color:#304761;font:500 clamp(.95rem,1.1vw,1.05rem)/1.52 "DM Sans",sans-serif;letter-spacing:0}
.ceo-message blockquote p{margin:0 0 8px}
.ceo-message blockquote p:last-child{margin-bottom:0}
.ceo-attribution{clear:both;display:flex;flex-direction:column;margin:10px 0 0;padding-top:0;border-top:0;color:#62666d;font-size:.76rem;line-height:1.4}
.ceo-attribution strong{color:#08265f;font:800 .9rem/1.3 "Manrope",sans-serif}
.ceo-attribution span{margin-top:2px}
.ceo-promise{margin:8px 0 0;color:#08265f;font:800 1rem/1.4 "DM Sans",sans-serif;text-align:right}
@media(max-width:900px){
  .home-overview{padding:100px 0 10px}
  .hero--compact .hero-inner.home-overview-grid{max-width:700px;grid-template-columns:1fr;gap:22px}
  .home-overview-image{width:100%;height:auto;margin-top:0;justify-self:center}
  .home-overview-image img{height:360px}
  .home-overview-copy,.technology-column,.technology-card{width:100%;height:auto;min-height:0}
  .home-overview-copy,.technology-column{top:0}
  .technology-intro-grid{gap:22px}
  .ceo-message{min-height:0}
}
@media(max-width:600px){
  .home-overview{padding:88px 0 8px}
  .home-overview-image{width:100%;height:auto;min-height:0;padding:0}
  .home-overview-image img{height:260px}
  .home-overview-copy{height:auto;min-height:0;padding:30px 26px}
  .home-overview-copy .kicker{font-size:.88rem}
  .home-overview-description{font-size:var(--type-body)}
  .technology-card{padding:32px 28px}
  .technology-card h2{font-size:var(--type-h1-compact)}
  .technology-card .hero-actions{align-items:flex-start;flex-direction:column}
  .visitor-name{padding-top:15px}
  .visitor-name-form{grid-template-columns:1fr}
  .visitor-name-form button{width:100%}
  .visitor-name-greeting{min-height:0;align-items:flex-start;flex-direction:column;gap:8px}
  .ceo-message-copy{padding:0 24px 28px}
  .ceo-portrait-block{width:64px;margin:0 7px 3px 0}
  .ceo-portrait{width:60px;height:57px;margin:0;border-radius:0;object-position:center 8%;box-shadow:none}
  .ceo-message blockquote{font-size:.88rem;line-height:1.48}
  .ceo-message blockquote p{margin-bottom:7px}
  .ceo-attribution{margin-top:8px}
}

/* Compact vertical rhythm on the home page. */
.section{padding:50px 0}.section-head{margin-bottom:30px}.why{padding:50px 0}.contact{padding:56px 0}footer{padding:28px 0}
.home-overview+.expertise{padding-top:20px}
@media(max-width:900px){.section{padding:46px 0}.contact{padding:50px 0}}
@media(max-width:900px){.home-overview+.expertise{padding-top:20px}}
@media(max-width:600px){.section{padding:40px 0}.why{padding:40px 0}.contact{padding:44px 0}footer{padding:26px 0}.home-overview+.expertise{padding-top:18px}}
.footer-grid>div:first-child .footer-relationship{color:#fff;font-weight:700}

/* Homepage bridge from company capabilities to the technical journal. */
.framework-feature{background:#08265f;color:#fff}
.framework-feature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.framework-feature .kicker{color:#8ed4ff}.framework-feature h2{max-width:520px;margin:0;color:#fff;font-size:var(--type-h2)}
.framework-feature-copy{padding-top:4px}.framework-feature-copy p{max-width:650px;margin:0;color:#d5e2f2;font-size:1.08rem;line-height:1.7}
.framework-feature .inline-link{margin-top:24px;color:#8ed4ff;border-color:rgba(142,212,255,.45)}
.home-journal{background:#f5f7fb}.home-journal .section-head h2{max-width:720px;font-size:var(--type-h2)}
.home-journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.home-journal-card{display:flex;min-height:350px;flex-direction:column;padding:30px;border:1px solid rgba(7,88,184,.14);border-radius:20px;background:#fff;box-shadow:0 16px 38px rgba(0,39,105,.06);transition:transform .25s,box-shadow .25s}
.home-journal-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(0,39,105,.1)}
.home-journal-category{margin:0 0 18px;color:#0758b8;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.home-journal-card h3{margin:0 0 15px;color:#08265f;font-size:var(--type-h3);line-height:1.25;letter-spacing:-.025em}.home-journal-card h3 code{font:inherit}
.home-journal-card>p:not(.home-journal-category){margin:0 0 22px;color:#60708a;font-size:.94rem;line-height:1.6}
.home-journal-card>a{margin-top:auto;color:#0758b8;font-weight:800}.home-journal-card>a span{margin-left:7px;transition:transform .2s}.home-journal-card>a:hover span{display:inline-block;transform:translateX(4px)}
.home-projects-all,.home-journal-all,.home-reference-all{margin:20px 0 0;text-align:right}.home-reference-all{margin-top:8px}.home-projects-all{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.home-projects-all .inline-link:first-child{color:#0758b8;border-bottom-color:#9dc8f5}.home-projects-all .inline-link:last-child{color:#6b4fd3;border-bottom-color:#c9bdf0}
@media(max-width:900px){.framework-feature-grid{grid-template-columns:1fr;gap:28px}.home-journal-grid{grid-template-columns:1fr}.home-journal-card{min-height:0}}
@media(max-width:600px){.framework-feature h2,.home-journal .section-head h2{font-size:var(--type-h2)}.framework-feature-copy p{font-size:1rem}.home-journal-card{padding:24px}.home-projects-all,.home-journal-all,.home-reference-all{text-align:left}.home-projects-all{gap:12px 22px}}
