/* Approved identity: engineering-led technology + marketing, September 2026.
   Layout-specific rules stay here; form logic, privacy and language controls do not change. */
.brand-site {
 --brand-ink:#142136; --brand-muted:#526071; --brand-blue:#2155f5;
 --brand-paper:#f3f1eb; --brand-surface:#e9e7df; --brand-card:#faf9f5;
 --brand-cool:#e7edf3; --brand-line:#d5d8d3; --brand-dark:#142136;
 --paper:var(--brand-paper); --bg-primary:var(--brand-paper); --bg-secondary:var(--brand-cool);
 --ink:var(--brand-ink); --muted:var(--brand-muted); --line:var(--brand-line); --blue:var(--brand-blue);
 background:var(--brand-paper); color:var(--brand-ink);
}
/* A warm editorial canvas, with white reserved for fields and actual product imagery. */
.brand-site .section, .brand-site .page-hero { background:var(--brand-paper); }
.brand-site .section-alt { background:var(--brand-cool); }
.brand-site .scenario-section, .brand-site .service-start { background:var(--brand-cool); }
.brand-site .scenario-panel:nth-child(n) { background:var(--brand-card); border-radius:0 0 8px 8px; }
.brand-site .editorial-tabs button { background:var(--brand-paper); }
.brand-site .editorial-help, .brand-site .guide-answer,
.brand-site .guide-prose .direct-answer { background:var(--brand-cool); border-radius:8px; }
.brand-site .enterprise-contact { background:var(--brand-paper); }
.brand-site .enterprise-form { background:var(--brand-card); border-color:var(--brand-line); border-radius:8px; box-shadow:none; }
.brand-site .flow-page-icon, .brand-site .nav-emoji { display:none; }
.brand-site .ship-header { border-bottom:1px solid var(--brand-line); background:#f3f1ebf5; }
.brand-site .ship-nav-cta, .brand-site .ship-menu-toggle, .brand-site .button,
.brand-site .btn-primary, .brand-site .btn-secondary, .brand-site .contact-submit { border-radius:8px; }
.brand-site .ship-mega { border-radius:0 0 12px 12px; background:var(--brand-card); }
.brand-site .ship-mega-grid { grid-template-columns:1fr 1fr; gap:16px; }
.brand-site .ship-mega-grid>a { background:var(--brand-paper); padding:22px; border-radius:6px; }
.brand-site .ship-mega-note { background:transparent; border-radius:0; border-top:1px solid #e2e7ee; padding-inline:0; }
.brand-site .footer-sticker { background:none; border:0; border-radius:0; padding:0; transform:none; color:#526071; }
.brand-site .ship-footer { background:var(--brand-surface); border-color:var(--brand-line); }
.brand-site .site-policy-links { background:var(--brand-surface); border-color:var(--brand-line); }
.brand-site .glass-panel, .brand-site .glass-panel:nth-child(n),
.brand-site .service-scope article, .brand-site .service-scope article:nth-child(n) { background:var(--brand-card); border:1px solid var(--brand-line); border-radius:8px; }
.brand-site .page-hero .gradient-text { color:#2155f5; background:none; -webkit-text-fill-color:currentColor; }
.brand-site .page-hero { border-bottom:1px solid var(--brand-line); }
.brand-site .cta-band { background:var(--brand-cool); }
.brand-site .quote-panel { background:var(--brand-card); border-radius:8px; box-shadow:none; }
.brand-site .service-illustration { background:var(--brand-surface); border:1px solid var(--brand-line); border-radius:8px; overflow:hidden; }
.brand-site .service-illustration img { border-radius:0; }
.brand-site .service-illustration figcaption { padding:16px 20px; margin:0; background:var(--brand-card); }
.brand-home .wrap { width:min(1240px,calc(100% - 64px)); }
.brand-home .brand-hero { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:54px; padding-block:74px 66px; text-align:start; }
.brand-site .brand-hero .eyebrow { color:#526071; font:600 11px/1.6 Arial,Helvetica,sans-serif; letter-spacing:.12em; margin:0 0 24px; }
.brand-site .brand-hero h1 { color:#142136; font-size:clamp(3rem,5.45vw,5.1rem); font-weight:600; line-height:1.045; letter-spacing:-.055em; margin:0 0 26px; }
.brand-site .brand-hero h1 em { color:#2155f5; font-style:normal; }
.brand-site .brand-intro { color:#526071; font-size:1.1rem; line-height:1.75; max-width:540px; margin:0 0 28px; }
.brand-site .brand-hero .hero-actions { justify-content:flex-start; gap:24px; }
.brand-site .brand-hero .button { display:inline-flex; align-items:center; gap:18px; padding:14px 20px; font-size:.9375rem; line-height:1.6; font-weight:600; text-decoration:none; white-space:normal; }
.brand-site .brand-hero .text-link { font-size:.9375rem; text-decoration:none; margin:0; padding:0; }
.brand-site .brand-fit { color:#626e7e; font-size:.8rem; line-height:1.7; max-width:430px; margin:22px 0 0; }
.brand-art { min-width:0; margin:0; border:0; border-radius:2px; overflow:hidden; background:var(--brand-surface); }
.brand-art img { display:block; width:100%; height:auto; aspect-ratio:1.12; object-fit:cover; mix-blend-mode:multiply; }
.brand-art figcaption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 22px; font-size:.7rem; line-height:1.5; color:var(--brand-muted); background:var(--brand-surface); border-top:1px solid var(--brand-line); }
.brand-art figcaption>span:first-child { color:#2155f5; white-space:nowrap; }
.brand-ribbon { border-block:1px solid var(--brand-line); padding-block:18px 22px; }
.brand-ribbon-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; min-height:36px; }
.brand-site .brand-ribbon-heading h2 { color:#526071; font-size:.75rem; font-weight:500; line-height:1.5; letter-spacing:0; margin:0; }
.brand-ribbon-toggle { display:inline-flex; align-items:center; gap:10px; min-height:36px; padding:5px 10px; background:var(--brand-card); border:1px solid var(--brand-line); border-radius:6px; color:#526071; font:inherit; font-size:.7rem; cursor:pointer; }
.brand-ribbon [hidden] { display:none !important; }
.brand-ribbon-toggle-icon { display:block; width:8px; height:10px; border-inline:2px solid currentColor; }
.brand-ribbon-toggle[aria-pressed="true"] .brand-ribbon-toggle-icon { width:0; height:0; border:5px solid transparent; border-inline-start:7px solid currentColor; border-inline-end:0; }
.brand-ribbon-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:14px; }
.brand-ribbon-list>li { min-width:0; }
.brand-ribbon-list a { display:flex; align-items:center; gap:18px; height:132px; padding:12px 16px 12px 12px; background:var(--brand-surface); border:1px solid transparent; border-radius:4px; text-align:start; text-decoration:none; color:#142136; }
.brand-ribbon-list img { flex:none; width:100px; height:100px; object-fit:cover; border-radius:5px; mix-blend-mode:multiply; }
.brand-ribbon-list strong { display:block; font-size:.9rem; line-height:1.5; font-weight:600; }
.brand-ribbon-list small { display:block; margin-top:5px; color:#526071; font-size:.75rem; line-height:1.6; }
.brand-ribbon-arrow { color:#2155f5; margin-inline-start:auto; align-self:flex-start; font-size:1rem; }
.brand-ribbon a:hover { border-color:#a8bbec; background:#f4f7fd; }
.brand-ribbon :is(a,button):focus-visible { outline:2px solid #2155f5; outline-offset:3px; }
/* Without JS, with reduced motion, or when paused, every link stays in a grid. */
.brand-ribbon-copy { display:none; }
.brand-ribbon.is-moving .brand-ribbon-window { direction:ltr; overflow:hidden; padding-block:4px; mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent); }
.brand-ribbon.is-moving .brand-ribbon-track { display:flex; width:max-content; direction:ltr; animation:brand-ribbon-travel 56s linear infinite; }
.brand-ribbon.is-moving .brand-ribbon-list { display:flex; flex:none; gap:16px; padding-inline-end:16px; }
.brand-ribbon.is-moving .brand-ribbon-list>li { flex:none; width:330px; }
.brand-ribbon.is-moving .brand-ribbon-copy { display:flex; }
.brand-ribbon.is-away .brand-ribbon-track { animation-play-state:paused; }
html[dir="rtl"] .brand-ribbon.is-moving .brand-ribbon-track { animation-direction:reverse; }
html[dir="rtl"] .brand-ribbon-list { direction:rtl; }
html[dir="rtl"] .brand-ribbon-arrow { transform:scaleX(-1); }
@media(hover:hover) { .brand-ribbon-window:hover .brand-ribbon-track { animation-play-state:paused; } }
@keyframes brand-ribbon-travel { to { transform:translateX(-50%); } }
@media(max-width:600px) {
 .brand-ribbon { padding-block:12px 16px; }
 .brand-ribbon-list { grid-template-columns:1fr; gap:10px; }
 .brand-ribbon-list a { height:112px; gap:12px; padding:10px; }
 .brand-ribbon-list img { width:84px; height:84px; }
 .brand-ribbon-list strong { font-size:.8rem; }
 .brand-ribbon-list small { font-size:.7rem; }
 .brand-ribbon.is-moving .brand-ribbon-list>li { width:292px; }
 .brand-ribbon.is-moving .brand-ribbon-track { animation-duration:48s; }
}
@media(prefers-reduced-motion:reduce) {
 .brand-ribbon.is-moving .brand-ribbon-track { animation:none; transform:none; display:block; width:auto; }
 .brand-ribbon.is-moving .brand-ribbon-window { overflow:visible; mask-image:none; }
 .brand-ribbon.is-moving .brand-ribbon-list { display:grid; padding:0; }
 .brand-ribbon.is-moving .brand-ribbon-list>li { width:auto; }
 .brand-ribbon.is-moving .brand-ribbon-copy, .brand-ribbon-toggle { display:none; }
}
.brand-home .section.portfolio-proof { padding-block:54px; border-bottom:1px solid var(--brand-line); background:var(--brand-paper); }
.brand-home .portfolio-proof-heading { align-items:center; margin-bottom:25px; }
.brand-home .portfolio-proof-heading .eyebrow { font-size:.7rem; margin-bottom:8px; }
.brand-home .portfolio-proof-heading h2 { font-size:1.6rem; letter-spacing:-.035em; line-height:1.25; }
.brand-home .portfolio-proof-heading p:not(.eyebrow) { font-size:.9rem; max-width:560px; }
.brand-home .portfolio-marks { border:0; gap:18px; }
.brand-site .portfolio-mark { background:var(--brand-card); border:1px solid var(--brand-line); border-radius:4px; }
.brand-site .brand-capabilities { padding-block:96px; background:var(--brand-paper); }
.brand-section-heading { display:flex; justify-content:space-between; align-items:end; gap:60px; margin-bottom:38px; }
.brand-site .brand-section-heading h2 { color:#142136; font-size:clamp(2.1rem,3.6vw,3.2rem); letter-spacing:-.045em; line-height:1.15; margin:0; }
.brand-section-heading .eyebrow { font-size:.7rem; line-height:1.5; letter-spacing:.1em; margin:0 0 16px; }
.brand-section-heading>p { color:#526071; font-size:1rem; line-height:1.8; max-width:470px; margin:0; }
.brand-offers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid #dce2eb; border-radius:12px; overflow:hidden; }
.brand-offer { display:flex; flex-direction:column; align-items:stretch; padding:38px; min-width:0; background:#f8faff; }
.brand-offer+ .brand-offer { border-inline-start:1px solid #dce2eb; background:#fff; }
.brand-number { color:#2155f5; font:600 .7rem/1.5 Arial,Helvetica,sans-serif; letter-spacing:.1em; }
.brand-site .brand-offer h3 { font-size:1.8rem; line-height:1.2; letter-spacing:-.035em; color:#142136; margin:24px 0 18px; }
.brand-offer>p { color:#526071; font-size:1rem; line-height:1.8; margin:0 0 24px; }
.brand-offer ul { list-style:none; margin:0 0 30px; padding:0; }
.brand-offer li { padding-block:10px; border-top:1px solid #e1e6ee; color:#35465e; font-size:.9rem; line-height:1.5; }
.brand-offer-link { margin-top:auto; display:flex; justify-content:space-between; gap:20px; align-items:center; text-decoration:none; font-size:.95rem; color:#1747d0; font-weight:600; padding-block:8px; }
.brand-offer-link:hover { text-decoration:underline; text-underline-offset:5px; }
.brand-site .brand-expertise { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; background:transparent; border:0; border-radius:0; overflow:visible; }
.brand-practice+.brand-practice { margin-top:64px; }
.brand-practice-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--brand-line); padding-block:18px; margin-top:42px; color:var(--brand-muted); font-size:.8rem; }
.brand-practice-heading p { margin:0; }
.brand-practice-heading>span { font:500 .75rem/1.5 Arial,sans-serif; }
.brand-site .brand-expertise .brand-offer { border:1px solid var(--brand-line); border-radius:6px; overflow:hidden; padding:0; background:var(--brand-card); scroll-margin-top:110px; }
.brand-expertise-visual { position:relative; height:220px; flex:none; background:var(--brand-surface); overflow:hidden; }
.brand-expertise-visual img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.brand-expertise .brand-offer:nth-child(3) .brand-expertise-visual { background:var(--brand-cool); }
.brand-expertise-visual .brand-number { position:absolute; inset-block-start:18px; inset-inline-start:24px; }
.brand-expertise-body { display:flex; flex-direction:column; align-items:stretch; flex:1; padding:32px; }
.brand-site .brand-expertise h3 { font-size:1.45rem; line-height:1.3; margin:0 0 14px; }
.brand-site .brand-expertise .brand-expertise-lead { color:#243c5b; font-size:1rem; font-weight:500; line-height:1.65; margin-bottom:16px; }
.brand-site .brand-expertise p { color:#526071; font-size:.9rem; line-height:1.8; margin-bottom:20px; }
.brand-site .brand-expertise .brand-expertise-scope { color:#526071; font-size:.75rem; line-height:1.8; margin-top:auto; padding-top:18px; border-top:1px solid #e1e6ee; }
.brand-site .brand-expertise .brand-offer-link { font-size:.85rem; line-height:1.5; margin-top:0; }
.brand-site .brand-expertise .brand-offer--featured { grid-column:1/-1; display:grid; grid-template-columns:1fr 1.15fr; background:var(--brand-dark); border-color:var(--brand-dark); }
.brand-offer--featured .brand-expertise-visual { height:auto; min-height:400px; background:var(--brand-surface); }
.brand-offer--featured .brand-expertise-visual img { object-fit:cover; }
.brand-offer--featured .brand-expertise-body { padding:42px; }
.brand-site .brand-expertise .brand-offer--featured h3 { color:#fff; font-size:clamp(1.7rem,2.6vw,2.4rem); letter-spacing:-.035em; }
.brand-site .brand-expertise .brand-offer--featured .brand-expertise-lead { color:#e0e8f5; font-size:1.075rem; }
.brand-site .brand-expertise .brand-offer--featured p { color:#c0cdde; }
.brand-site .brand-expertise .brand-offer--featured .brand-expertise-scope { border-color:#3b4b63; }
.brand-site .brand-expertise .brand-offer--featured .brand-offer-link { color:#d7e3ff; }
.brand-offer-link>span { display:grid; place-items:center; width:36px; height:36px; flex:none; border:1px solid var(--brand-line); border-radius:50%; font-size:1.1rem; }
.brand-offer--featured .brand-offer-link>span { border-color:#596c88; }
.brand-expertise-close { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px 32px; padding-top:26px; }
.brand-expertise-close p { color:#526071; margin:0; font-size:.9rem; }
.brand-expertise-close a { color:#1747d0; font-size:.9rem; font-weight:600; text-decoration:none; }
.brand-expertise-close a:hover { text-decoration:underline; text-underline-offset:4px; }
.brand-site .ship-mega-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.brand-site .ship-mega-grid>a { padding:16px; }
@media(max-width:900px) {
 .brand-offer--featured .brand-expertise-body { padding:30px; }
 .brand-offer--featured .brand-expertise-visual { min-height:340px; }
}
@media(max-width:800px) { .brand-site .ship-mega-grid { grid-template-columns:1fr; } }
@media(max-width:600px) {
 .brand-site .brand-expertise { grid-template-columns:1fr; gap:20px; }
 .brand-site .brand-expertise .brand-offer { padding:0; }
 .brand-site .brand-expertise .brand-offer--featured { display:flex; }
 .brand-expertise-visual, .brand-offer--featured .brand-expertise-visual { height:200px; min-height:0; }
 .brand-offer--featured .brand-expertise-visual img { object-fit:contain; }
 .brand-offer--featured .brand-expertise-body { padding:28px 22px; }
 .brand-practice+.brand-practice { margin-top:36px; }
 .brand-practice-heading { margin-top:28px; }
 .brand-expertise-body { padding:24px 22px; }
}
.brand-site .brand-method { background:var(--brand-dark); color:#fff; padding-block:88px; }
.brand-site .brand-method .brand-section-heading h2 { color:#fff; }
.brand-site .brand-method .eyebrow { color:#a8bbd8; }
.brand-method .text-link { color:#e1eaff; font-size:.9rem; text-decoration:none; white-space:nowrap; }
.brand-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.brand-principles article { border-top:1px solid #3b4b63; padding-top:24px; }
.brand-principles article>span { font-size:.75rem; color:#9db4d7; }
.brand-site .brand-principles h3 { color:#fff; font-size:1.25rem; letter-spacing:-.025em; line-height:1.35; margin:18px 0 12px; }
.brand-principles p { color:#c0cdde; font-size:.9375rem; line-height:1.8; margin:0; }
.brand-service-links { display:grid; grid-template-columns:1fr 1fr; column-gap:40px; }
.brand-service-links a { display:flex; justify-content:space-between; gap:20px; padding-block:20px; border-bottom:1px solid #dfe5ef; color:#203752; text-decoration:none; font-size:1rem; }
.brand-home .home-inquiry { background:var(--brand-paper); padding-block:96px; }
.brand-home .home-inquiry .enterprise-form { border:1px solid var(--brand-line); box-shadow:none; border-radius:8px; background:var(--brand-card); }
.brand-site .enterprise-context h1, .brand-site .enterprise-context h2 { color:#142136; }
.brand-site .contact-kicker { font-size:.7rem; letter-spacing:.08em; }
.brand-home .workflow-disclosure { margin-block:10px 34px; }
.brand-home .faq { border-top:1px solid var(--brand-line); padding-block:60px; background:var(--brand-surface); }
.brand-home .faq h2 { font-size:2rem; letter-spacing:-.035em; }
.brand-site :is(.button,.btn,.ship-nav-cta,.portfolio-mark):hover { transform:none; }
.brand-site .portfolio-hero h1 { font-size:clamp(2.6rem,5.3vw,4.8rem); }
html[dir="rtl"] .brand-hero h1 { letter-spacing:-.035em; font-size:clamp(2.6rem,4.8vw,4.5rem); line-height:1.13; }
html[dir="rtl"] .brand-site .eyebrow, html[dir="rtl"] .brand-number { letter-spacing:0; }
html[dir="rtl"] .brand-intro, html[dir="rtl"] .brand-site .brand-hero { text-align:right; }
@media(max-width:1050px) {
 .brand-home .brand-hero { gap:30px; padding-block:54px; }
 .brand-offer { padding:28px; }
 .brand-section-heading { gap:30px; }
 .brand-site .brand-hero .hero-actions { gap:18px; }
}
@media(max-width:900px) {
 .brand-home .brand-hero { grid-template-columns:1fr; gap:36px; }
 .brand-site .brand-hero h1 { font-size:clamp(3.2rem,9vw,5.2rem); max-width:700px; }
 .brand-art { width:100%; max-width:660px; }
 .brand-art img { aspect-ratio:3/2; }
 .brand-site .brand-intro { max-width:650px; }
 .brand-section-heading { flex-direction:column; align-items:start; gap:22px; }
 .brand-section-heading>p { max-width:660px; }
 .brand-principles { gap:24px; }
 html[dir="rtl"] .brand-hero h1 { font-size:clamp(3rem,8vw,4.8rem); }
}
@media(max-width:600px) {
 .brand-site .ship-header { column-gap:8px; }
 .brand-site .ship-header .wordmark { font-size:1.1rem; gap:5px; }
 .brand-site .ship-header .original-brand-logo { width:32px; height:32px; }
 .brand-site .ship-header>.language-switch { margin-inline-end:0; }
 .brand-site .language-switch a { padding:7px; }
 .brand-site .ship-menu-toggle { min-height:44px; padding:8px 10px; gap:7px; font-size:.8125rem; }
 .brand-home .wrap { width:calc(100% - 36px); }
 .brand-home .brand-hero { padding-block:38px 32px; gap:28px; }
 .brand-site .brand-hero .eyebrow { font-size:.7rem; margin-bottom:18px; }
 .brand-site .brand-hero h1 { font-size:clamp(2.75rem,10.2vw,3.7rem); letter-spacing:-.055em; margin-bottom:20px; }
 .brand-site .brand-intro { font-size:1rem; line-height:1.7; }
 .brand-site .brand-fit { font-size:.75rem; margin-top:18px; }
 .brand-site .brand-hero .hero-actions { align-items:start; gap:18px; }
 .brand-site .brand-hero .button { padding:13px 16px; font-size:.9rem; }
 .brand-art figcaption { padding:13px 15px; font-size:.65rem; gap:12px; }
 .brand-home .section.portfolio-proof { padding-block:30px; }
 .brand-home .portfolio-proof-heading { flex-direction:column; align-items:start; gap:12px; }
 .brand-home .portfolio-proof-heading h2 { font-size:1.4rem; }
 .brand-home .portfolio-proof-heading p:not(.eyebrow) { font-size:.85rem; }
 .brand-site .brand-capabilities { padding-block:50px; }
 .brand-site .brand-section-heading h2 { font-size:2.15rem; }
 .brand-section-heading>p { font-size:.95rem; }
 .brand-offers { grid-template-columns:1fr; }
 .brand-offer { padding:26px 22px; }
 .brand-offer+.brand-offer { border-inline-start:0; border-top:1px solid #dce2eb; }
 .brand-site .brand-offer h3 { font-size:1.6rem; }
 .brand-offer>p { font-size:.9375rem; }
 .brand-site .brand-method { padding-block:48px; }
 .brand-principles { grid-template-columns:1fr; gap:28px; }
 .brand-service-links { grid-template-columns:1fr; }
 .brand-home .home-inquiry { padding-block:50px; }
 .brand-home .home-inquiry .enterprise-form { padding:22px; }
 .brand-site .ship-mega-grid { grid-template-columns:1fr; gap:8px; }
 .brand-site .ship-mega-grid>a { padding:16px; }
 html[dir="rtl"] .brand-hero h1 { font-size:clamp(2.65rem,10vw,3.5rem); line-height:1.12; }
}
@media(prefers-reduced-motion:reduce) {
 .brand-site .brand-art, .brand-site .brand-offer { animation:none; transition:none; }
}
