:root { --ink:#0c283d; --ink-light:#5e707b; --navy:#0a253b; --teal:#0b9ba6; --red:#e52228; --soft:#f3f7f7; --line:#dfe8e9; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Inter,Arial,sans-serif; }
button,a { font:inherit; }
button { cursor:pointer; }
.page-width { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.site-header { height:92px; display:flex; align-items:center; justify-content:space-between; gap:32px; padding:0 max(24px,calc((100vw - 1180px)/2)); position:relative; z-index:4; background:#fff; border-bottom:1px solid #e9eff0; }
.brand { display:flex; align-items:center; text-decoration:none; }
.brand img { display:block; width:172px; height:auto; }
.main-nav { display:flex; align-items:center; gap:30px; }
.main-nav a { color:#264355; font-size:14px; font-weight:700; text-decoration:none; }
.main-nav a:hover { color:var(--red); }
.menu-toggle { display:none; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:0; border-radius:6px; background:transparent; cursor:pointer; }.menu-toggle__bars { position:relative; display:block; width:22px; height:2px; background:var(--ink); transition:background .2s ease; }.menu-toggle__bars::before,.menu-toggle__bars::after { content:""; position:absolute; left:0; width:22px; height:2px; background:var(--ink); transition:transform .2s ease; }.menu-toggle__bars::before { top:-7px; }.menu-toggle__bars::after { top:7px; }.menu-toggle[aria-expanded="true"] .menu-toggle__bars { background:transparent; }.menu-toggle[aria-expanded="true"] .menu-toggle__bars::before { transform:translateY(7px) rotate(45deg); }.menu-toggle[aria-expanded="true"] .menu-toggle__bars::after { transform:translateY(-7px) rotate(-45deg); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:47px; padding:0 19px; border:0; border-radius:4px; font-weight:800; text-decoration:none; transition:transform .18s ease,background .18s ease; }
.button:hover { transform:translateY(-2px); }
.button--header,.button--primary { background:var(--red); color:#fff; }
.button--ghost { border:1px solid rgba(255,255,255,.75); color:#fff; background:rgba(255,255,255,.06); }
.button--white { background:#fff; color:#123a51; }
.hero { min-height:560px; position:relative; overflow:hidden; display:grid; align-items:center; color:#fff; isolation:isolate; }
.hero-slider,.hero-image,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-slider { z-index:-2; }
.hero-image { object-fit:cover; object-position:center 40%; opacity:0; transform:scale(1.035); transition:opacity 1.15s ease,transform 6.5s ease; }
.hero-image.is-active { opacity:1; transform:scale(1); }
.hero-shade { z-index:-1; background:radial-gradient(52% 95% at 19% 58%,rgba(2,9,16,.8),transparent 78%),linear-gradient(90deg,rgba(4,20,35,.72),rgba(5,26,43,.39) 46%,rgba(5,29,47,.07)); }
.topology-canvas { position:absolute; inset:0; z-index:0; width:100%; height:100%; pointer-events:none; opacity:.72; }
.topology-canvas--subtle { opacity:.48; }
.topology-canvas--light { opacity:.96; }
.topology-section { position:relative; overflow:hidden; isolation:isolate; }
.topology-section > :not(.topology-canvas) { position:relative; z-index:1; }
.hero-content,.hpc-hero__content,.ai-hero__content { position:relative; z-index:1; }
.experience-note,.hero-dots,.hpc-hero__scale,.ai-hero__badge { z-index:1; }
.hero-content { padding-block:100px 126px; }
.eyebrow { margin:0 0 12px; color:#087d8b; font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow--light { color:#b6e8ed; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:725px; margin-bottom:23px; font-size:clamp(44px,5.4vw,72px); line-height:.97; letter-spacing:-.06em; }
.hero-text { max-width:590px; margin-bottom:31px; color:#e3edf1; font-size:18px; line-height:1.56; }
.actions { display:flex; flex-wrap:wrap; gap:11px; }
.experience-note { width:320px; padding:17px 16px; position:absolute; right:max(24px,calc((100vw - 1180px)/2)); bottom:35px; border-left:2px solid var(--red); background:rgba(5,24,39,.78); backdrop-filter:blur(8px); }
.experience-note strong { display:block; font-size:30px; letter-spacing:-.06em; }
.experience-note span { display:block; margin-top:2px; color:#d7e7ec; font-size:11px; line-height:1.35; }
.experience-note strong span { display:inline; margin-top:0; color:inherit; font-size:inherit; line-height:inherit; }
.hero-dots { position:absolute; left:max(24px,calc((100vw - 1180px)/2)); bottom:44px; display:flex; gap:8px; }
.hero-dots button { width:22px; height:3px; padding:0; border:0; background:rgba(255,255,255,.42); transition:width .2s ease,background .2s ease; }
.hero-dots button.is-active { width:38px; background:#fff; }
.proof-bar { background:#fbfcfc; border-bottom:1px solid var(--line); }
.proof-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.proof-grid div { min-height:97px; padding:23px 28px; border-right:1px solid var(--line); }
.proof-grid div:first-child { border-left:1px solid var(--line); }
.proof-grid strong { display:block; margin-bottom:6px; font-size:14px; }
.proof-grid span { display:block; color:var(--ink-light); font-size:12px; line-height:1.4; }
.section { padding-block:72px; }
.section--soft,.section--dark { padding-block:76px; }
.section--soft { background:var(--soft); }
.section--dark { background:var(--navy); color:#fff; }
.section-heading { margin-bottom:31px; }
.split-heading { display:flex; align-items:end; justify-content:space-between; gap:52px; }
.split-heading > div { max-width:650px; }
.split-heading > p { max-width:425px; margin:0; color:var(--ink-light); font-size:15px; line-height:1.63; }
@media (min-width:881px) {
 .visioncore-page .split-heading { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
 .visioncore-page .split-heading > p { max-width:none; }
}
.desktop-line-break { display:block; } .mobile-line-break { display:none; }
.js-hero-parallax { transform:scale(1.15); transform-origin:center; will-change:transform; }
@media (prefers-reduced-motion:reduce) { .js-hero-parallax { transform:none !important; } }
.section--dark .split-heading > p { color:#bdcfd7; }
h2 { margin-bottom:0; font-size:37px; line-height:1.05; letter-spacing:-.05em; }
#projects-title { font-size:35px; }
.pillar-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.pillar-card { min-height:310px; position:relative; overflow:hidden; color:#fff; isolation:isolate; }
.pillar-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.pillar-card__shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(3,22,37,.95),rgba(3,22,37,.1) 78%); }
.pillar-card__content { padding:31px; position:absolute; inset:auto 0 0; }
.pillar-card h3 { margin-bottom:9px; font-size:28px; letter-spacing:-.045em; }
.pillar-card p:not(.eyebrow) { max-width:440px; margin-bottom:16px; color:#e4edf1; font-size:14px; line-height:1.55; }
.pillar-card a { display:inline-flex; align-items:center; gap:7px; padding:9px 16px; border:1px solid rgba(255,255,255,.75); border-radius:4px; background:rgba(255,255,255,.06); color:#fff; font-size:13px; font-weight:800; text-decoration:none; transition:background .18s ease,transform .18s ease; }.pillar-card a:hover { background:rgba(255,255,255,.14); transform:translateY(-2px); }
.solutions-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.solution-card { min-height:184px; padding:23px 20px; border:1px solid var(--line); border-top:3px solid var(--teal); background:#fff; transition:transform .18s ease,box-shadow .18s ease; }
.solution-card:hover { transform:translateY(-3px); box-shadow:0 12px 26px rgba(12,40,61,.1); }
.solution-card--ai { grid-column:span 2; }
.solution-card--it { border-top-color:#0d5486; }
.solution-card > span{ display:block; margin-bottom:16px; color:#087d8b; font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.solution-card--it > span { color:#0d5486; }
.solution-card h3 { margin-bottom:11px; font-size:17px; line-height:1.18; letter-spacing:-.025em; }
.solution-card p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.55; }
.solution-card--link { color:var(--ink); text-decoration:none; }
.solution-card--link b { display:block; margin-top:13px; color:#0b7480; font-size:11px; }
.projects-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.projects-grid .project-card { min-width:0; }
.project-card { min-height:0; aspect-ratio:16 / 9; position:relative; overflow:hidden; isolation:isolate; }
.project-card[role="button"] { cursor:pointer; transition:box-shadow .25s ease; }.project-card[role="button"]:hover, .project-card[role="button"]:focus-visible { box-shadow:0 18px 34px rgba(2,17,29,.32); }
.project-card[role="button"]:focus-visible { outline:3px solid #8ee0e7; outline-offset:3px; }
.project-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .45s ease; }.project-card[role="button"]:hover img, .project-card[role="button"]:focus-visible img { transform:scale(1.05); }
.project-card--muzeum-pieniadza img { object-position:52% 54%; }
.project-card--polin img { object-position:50% 50%; }
.project-card--uw img { object-position:56% 50%; }
.project-card--uth img { object-position:50% 47%; }
.project-card--stalowa img { object-position:64% 50%; }
.project-card--bajki img { object-position:50% 50%; }
.project-card--medicover img { object-position:54% 48%; }
.project-card--bayer img { object-position:50% 50%; }
.project-card--nordea img { object-position:50% 50%; }
.project-card--pge img { object-position:58% 50%; }
.project-card--cpr img { object-position:50% 50%; }
.project-card--wsaib img { object-position:50% 50%; }
.project-card__shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(2,17,29,.96),rgba(2,17,29,.02) 78%); }
.project-card__content { display:flex; flex-direction:column; align-items:flex-start; height:100%; padding:23px; }
.draft-label { margin-bottom:auto; padding:5px 7px; border:1px solid rgba(255,255,255,.65); background:rgba(4,20,34,.48); color:#fff; font-size:9px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.project-card__content > p { margin:auto 0 7px; color:#b6e8ed; font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.project-card h3 { margin-bottom:7px; font-size:23px; line-height:1.04; letter-spacing:-.045em; }
.project-card h3 small { display:block; margin-top:4px; font-size:.62em; line-height:1.15; letter-spacing:-.02em; }
.project-card__content > span:not(.draft-label) { color:#e0ecef; font-size:12px; line-height:1.52; }
.projects-grid .project-card__content > span:not(.text-button) { display:none; }
.text-button { margin-top:14px; padding:0; border:0; background:transparent; color:#fff; font-size:12px; font-weight:800; }.text-button b { display:inline-block; transition:transform .18s ease; }.project-card[role="button"]:hover .text-button b, .project-card[role="button"]:focus-visible .text-button b { transform:translateX(4px); }
.text-button b { margin-left:5px; font-size:16px; }
.project-list { margin-top:19px; padding-top:19px; border-top:1px solid rgba(199,223,229,.25); color:#bfd0d7; font-size:12px; line-height:1.65; }
.project-list p { margin:0; }.project-list p + p { margin-top:10px; }
.project-list strong { color:#fff; }
.partners { padding-block:61px; }
.partners-grid { display:grid; grid-template-columns:repeat(8,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.partners-grid span,.partners-grid a { display:grid; min-height:65px; place-items:center; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:#405a6a; font-size:15px; font-weight:850; letter-spacing:-.035em; text-decoration:none; transition:background .18s ease,color .18s ease; }
.partners-grid a:hover { background:#f7eeee; color:#c6302b; }
.partners-grid a:nth-child(6) { color:#0079c2; }
.contact-band { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:35px; margin-bottom:70px; padding:64px 48px; background:radial-gradient(circle at 78% 42%,rgba(11,155,166,.16),transparent 45%),linear-gradient(120deg,#0a253b,#0d3350); color:#fff; }
.contact-band h2 { max-width:625px; font-size:32px; line-height:1.22; }
.contact-band p { margin:10px 0 0; max-width:600px; color:#94a3b8; font-size:16px; line-height:1.6; }
.site-footer { padding-block:48px; background:#091c2b; color:#b6c6cd; }
/* ===== Stopka strony (mega footer) — wdrożona na wszystkich podstronach ===== */
.site-footer--mega { padding-top:72px; padding-bottom:0; background:var(--navy); color:#b6c6cd; }
.footer-mega { display:grid; grid-template-columns:repeat(4,auto); justify-content:space-between; column-gap:48px; row-gap:40px; padding-bottom:52px; border-bottom:1px solid rgba(182,198,205,.18); text-align:left; }
.footer-mega__col > strong { display:block; margin-bottom:22px; color:#fff; font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.footer-mega__logo { display:inline-block; margin-bottom:20px; }
.footer-mega__logo img { display:block; width:180px; height:auto; }
.footer-mega__brand p { margin:0; max-width:560px; font-size:13px; line-height:1.7; color:#b6c6cd; }
.footer-mega__nav ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:18px; }
.footer-mega__nav a { color:#b6c6cd; font-size:13px; text-decoration:none; }
.footer-mega__nav a:hover { color:var(--red); }
.footer-mega__item { margin-bottom:28px; }
.footer-mega__item:last-child { margin-bottom:0; }
.footer-mega__label { display:block; margin-bottom:9px; color:#fff; font-size:13px; font-weight:750; }
.footer-mega__item p { margin:0 0 5px; font-size:13px; line-height:1.6; color:#b6c6cd; }
.footer-mega__item a { color:#fff; text-decoration:none; }
.footer-mega__item a:hover { color:var(--red); }
.footer-mega__legal-note { margin-top:6px; font-size:11px; line-height:1.5; color:#8397a1; }
.footer-sub { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:24px; font-size:12px; color:#8397a1; }
.footer-sub nav { display:flex; gap:22px; }
.footer-sub a { color:#8397a1; text-decoration:none; }
.footer-sub a:hover { color:#fff; }
@media (min-width:881px) and (max-width:1180px) { .footer-mega { column-gap:32px; } }
@media (min-width:881px) and (max-width:980px) { .footer-mega { grid-template-columns:1fr 1fr; justify-content:stretch; column-gap:40px; row-gap:44px; } }
@media (max-width:880px) { .footer-mega { grid-template-columns:1fr 1fr; justify-content:stretch; column-gap:40px; row-gap:44px; } }
@media (max-width:560px) { .site-footer--mega { padding-top:52px; } .footer-mega { grid-template-columns:1fr; row-gap:38px; padding-bottom:36px; } .footer-mega__item { margin-bottom:24px; } .footer-sub { flex-direction:column; align-items:flex-start; gap:14px; padding-block:22px; } .footer-sub nav { flex-wrap:wrap; gap:14px 20px; } }
.modal { max-width:630px; padding:0; border:0; box-shadow:0 25px 75px rgba(0,0,0,.38); }
.modal::backdrop { background:rgba(0,18,30,.72); }
.modal-content { position:relative; padding:38px; }
.modal-content h2 { margin-bottom:14px; font-size:32px; }
.modal-content > p:not(.eyebrow) { color:var(--ink-light); font-size:15px; line-height:1.6; }
.modal-close { position:absolute; top:12px; right:15px; border:0; background:transparent; color:#61747e; font-size:27px; line-height:1; }
.modal-note { margin-top:22px; padding:13px; background:var(--soft); color:#56707c; font-size:12px; line-height:1.5; }
.modal--contact { width:min(710px,calc(100vw - 40px)); max-height:calc(100vh - 40px); overflow:auto; }
.modal-content--contact { padding:38px 40px 34px; }
.contact-form__intro { margin:0 0 24px; color:var(--ink-light); font-size:14px; line-height:1.55; }
.contact-form { display:grid; gap:16px; }
.contact-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; align-items:end; }
.contact-form label { display:grid; gap:7px; color:#183c50; font-size:12px; font-weight:800; }
.contact-form label > span { color:#768b96; font-weight:500; } .contact-modal__body { display:grid; grid-template-columns:1fr; gap:26px; align-items:start; } .contact-modal__quick { padding:22px 20px; border:1px solid var(--line); border-radius:6px; background:var(--soft); } .contact-modal__quick-label { margin:0 0 14px; color:#087d8b; font-size:11px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; } .contact-modal__call { display:flex; align-items:center; justify-content:center; min-height:52px; margin-bottom:18px; padding:0 16px; border-radius:4px; background:var(--red); color:#fff; font-size:16px; font-weight:800; text-align:center; text-decoration:none; transition:background .18s ease,transform .18s ease; } .contact-modal__call:hover { background:#e8372f; transform:translateY(-1px); } .contact-modal__emails { display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; margin-bottom:18px; } .contact-modal__emails a { display:block; color:#0f3f52; font-size:14px; font-weight:800; text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:8px; } .contact-modal__emails a:hover { border-color:#0b9ba6; } .contact-modal__emails a span { display:block; margin-top:3px; color:var(--ink-light); font-size:11.5px; font-weight:500; } .contact-modal__address { margin:0; padding-top:14px; border-top:1px solid var(--line); color:var(--ink-light); font-size:12px; line-height:1.65; }
.contact-form input:not([type="checkbox"]),.contact-form select,.contact-form textarea { width:100%; appearance:none; padding:12px 13px; border:1px solid #c9d8de; border-radius:0; background:#fff; color:var(--ink); font:inherit; font-size:14px; font-weight:500; outline:none; }
.contact-form select { padding-right:37px; background-image:linear-gradient(45deg,transparent 50%,#267083 50%),linear-gradient(135deg,#267083 50%,transparent 50%); background-position:calc(100% - 19px) 18px,calc(100% - 14px) 18px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.contact-form textarea { min-height:102px; resize:vertical; }
.contact-form input:not([type="checkbox"]):focus,.contact-form select:focus,.contact-form textarea:focus { border-color:#16798b; box-shadow:0 0 0 3px rgba(22,121,139,.12); }
.contact-form__consent { grid-template-columns:17px 1fr; align-items:start; gap:10px !important; color:#55717d !important; font-size:12px !important; font-weight:500 !important; line-height:1.45; }
.contact-form__consent input { width:16px; height:16px; margin:1px 0 0; accent-color:#16798b; }
.contact-form__actions { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:2px; }
.contact-form__actions > span { color:#6b818c; font-size:11px; }
.contact-form label > .contact-form__lbl { color:inherit; font-weight:inherit; }
.contact-form__lbl em { color:#768b96; font-style:normal; font-weight:500; }
.contact-form__success { margin:0; padding:13px 14px; border-left:3px solid #138091; background:#edf7f8; color:#35616f; font-size:12px; line-height:1.55; } .contact-form__error { margin:0; padding:13px 14px; border-left:3px solid var(--red); background:#fdeeee; color:#8a2a27; font-size:12px; line-height:1.55; } .contact-form__hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media (max-width:560px) { .modal--contact { width:calc(100vw - 32px); max-height:calc(100vh - 32px); }.modal-content--contact { padding:33px 24px 28px; } .contact-modal__quick { padding:18px 16px; }.contact-form__grid { grid-template-columns:1fr; } .contact-modal__emails { grid-template-columns:1fr; }.contact-form__actions { align-items:flex-start; flex-direction:column; gap:11px; } }
.modal--project { max-width:min(940px, calc(100vw - 40px)); max-height:calc(100vh - 40px); }
.modal-content--project { display:grid; grid-template-columns:.88fr 1.12fr; max-height:calc(100vh - 40px); padding:0; }
.modal-project__media { background:#0d2d45; }
.modal-project__media img { display:block; width:100%; height:100%; min-height:440px; object-fit:cover; }
.modal-project__copy { max-height:calc(100vh - 40px); padding:42px 42px 38px; overflow-y:auto; }
.modal-project__copy h2 { margin-bottom:14px; font-size:32px; }
.modal-project__copy > p:not(.eyebrow),.modal-project__copy #modal-copy { color:var(--ink-light); font-size:15px; line-height:1.6; }
.modal-project__summary { display:none; }
.modal-project__copy #modal-copy p { margin:0 0 16px; }
.modal-project__copy #modal-copy h3 { margin:25px 0 8px; color:var(--ink); font-size:16px; line-height:1.25; }
.modal-project__copy #modal-copy ul { margin:0 0 18px; padding-left:18px; }
.modal-project__copy #modal-copy li { margin-bottom:8px; }
.modal-project__copy #modal-copy strong { color:var(--ink); }
.modal-project__copy #modal-copy .project-lead { color:var(--ink); font-weight:750; }
.modal-content--project .modal-close { z-index:1; right:14px; width:32px; height:32px; border-radius:50%; background:rgba(3,20,34,.55); color:#fff; }
.modal--featured { max-width:min(790px, calc(100vw - 40px)); }
.modal--featured .modal-content--project { display:block; position:relative; overflow-y:auto; }
.modal--featured .modal-project__media { height:auto; aspect-ratio:18 / 9; position:relative; }
.modal--featured .modal-project__media::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,20,34,.9),rgba(3,20,34,.03) 76%); }
.modal--featured .modal-project__media img { min-height:0; height:100%; }
.modal--featured .modal-project__copy { max-height:none; padding:33px 42px 38px; overflow:visible; }
.modal-project__hero-heading { display:none; }
.modal--featured .modal-project__heading { display:none; }
.modal--featured .modal-project__hero-heading { display:block; position:absolute; left:42px; right:72px; bottom:20px; z-index:1; }
.modal--featured .modal-project__hero-heading .eyebrow { margin-bottom:8px; color:#aee5e9; }
.modal--featured .modal-project__hero-heading h2 { margin:0; color:#fff; font-size:36px; line-height:1.05; }
.modal--featured .modal-project__copy #modal-copy { color:var(--ink-light); }
.vision-hero { min-height:575px; position:relative; display:grid; align-items:center; overflow:hidden; color:#fff; isolation:isolate; }
.vision-hero > img,.vision-hero__shade { position:absolute; inset:0; width:100%; height:100%; }
.vision-hero > img { object-fit:cover; object-position:center; z-index:-2; transform:none; }
.vision-hero__shade { z-index:-1; background:radial-gradient(52% 95% at 19% 58%,rgba(2,10,18,.8),transparent 78%),linear-gradient(90deg,rgba(4,21,37,.73),rgba(5,29,47,.42) 48%,rgba(5,29,47,.07)); }
.vision-hero__content { padding-block:80px 108px; }
.vision-hero h1 { max-width:780px; font-size:clamp(43px,5.1vw,67px); }
.vision-hero__content > p:not(.eyebrow) { max-width:665px; margin-bottom:30px; color:#e4edf0; font-size:18px; line-height:1.58; }
.back-link { display:inline-block; margin-bottom:42px; color:#dcecef; font-size:12px; font-weight:750; text-decoration:none; }
.vision-facts { border-bottom:1px solid var(--line); background:#fff; }
.vision-facts__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.vision-facts__grid > div { min-height:154px; padding:27px 27px; border-right:1px solid var(--line); }
.vision-facts__grid > div:first-child { border-left:1px solid var(--line); }
.vision-facts span { display:block; margin-bottom:17px; color:var(--red); font-size:11px; font-weight:850; }
.vision-facts strong { display:block; margin-bottom:7px; font-size:15px; }
.vision-facts p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.5; }
.application-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.application-grid article { min-height:281px; padding:27px 25px; border:1px solid var(--line); border-top:3px solid var(--teal); }
.application-kicker{ display:block; margin-bottom:33px; color:#087d8b; font-size:11px; font-weight:850; letter-spacing:.08em; }
.application-grid h3 { margin-bottom:12px; font-size:22px; letter-spacing:-.035em; }
.application-grid p { margin-bottom:25px; color:var(--ink-light); font-size:13px; line-height:1.58; }
.application-grid small { display:block; color:#234e62; font-size:11px; font-weight:750; line-height:1.55; }
.visioncore-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:68px; align-items:center; }
.visioncore-layout__media { min-height:clamp(400px,42vw,520px); position:relative; overflow:hidden; background:#0b2b44; }
.visioncore-layout__media > img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:50% 68%; }

.visioncore-mark { position:absolute; right:27px; bottom:25px; z-index:1; color:#fff; text-align:right; }
.visioncore-mark span { display:block; font-size:54px; font-weight:900; letter-spacing:-.1em; line-height:.8; }
.visioncore-mark small { display:block; margin-top:9px; color:#b5e4e9; font-size:12px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.visioncore-layout__copy h2 { margin-bottom:20px; }
.visioncore-layout__copy > p:not(.eyebrow) { color:var(--ink-light); font-size:15px; line-height:1.65; }
.check-list { margin:27px 0 0; padding:0; list-style:none; }
.check-list li { position:relative; margin-bottom:13px; padding-left:24px; color:#2e4d5d; font-size:14px; line-height:1.45; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--teal); font-weight:900; }
.check-list li strong { display:block; margin-bottom:5px; color:var(--ink); font-size:15px; line-height:1.35; }
.check-list li span { display:block; }
.architecture-flow { display:grid; grid-template-columns:1fr 70px 1fr 70px 1fr; align-items:center; padding:36px; border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc; }
.flow-group { display:flex; flex-direction:column; gap:8px; }
.flow-group span { color:#0b7e8a; font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.flow-core span { color:#38bdf8; font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.flow-group strong { padding:11px 13px; border:1px solid #e2e8f0; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.05); font-size:13px; }
.flow-arrow { color:#94a3b8; text-align:center; font-size:36px; font-weight:300; }
.flow-core { padding:30px 22px; text-align:center; background:#0b1120; border:1px solid #1e293b; color:#fff; box-shadow:0 18px 34px -18px rgba(11,17,32,.5); }
.flow-core strong { display:block; margin:7px 0 4px; color:#fff; font-size:27px; font-weight:700; letter-spacing:-.05em; }
.flow-core small { color:#38bdf8; font-size:11px; }
.delivery-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:0; margin:0; list-style:none; }
.delivery-steps li { display:flex; flex-direction:column; gap:12px; padding-top:22px; border-top:1px solid rgba(255,255,255,.08); }
.delivery-steps > li > span { color:#38bdf8; font-size:38px; font-weight:900; letter-spacing:-.03em; line-height:1; }
.delivery-steps h3 { margin:0 0 8px; font-size:17px; letter-spacing:-.025em; }
.delivery-steps p { margin:0; color:#94a3b8; font-size:12px; line-height:1.55; }
.visioncore-standards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:stretch; }
.visioncore-standards-grid article { display:flex; flex-direction:column; padding:28px 26px 26px; border-top:3px solid var(--teal); background:#fff; }
.visioncore-standards-grid__label{ display:block; margin-bottom:18px; color:#087d8b; font-size:12px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.visioncore-standards-grid h3 { margin:0 0 14px; font-size:20px; line-height:1.22; letter-spacing:-.03em; }
.visioncore-standards-grid__spec { margin:0 0 18px; color:var(--ink-light); font-size:13px; line-height:1.6; }
.visioncore-standards-grid__list { margin:0 0 18px; padding:0; list-style:none; display:flex; flex-direction:column; gap:9px; }
.visioncore-standards-grid__list li { position:relative; padding-left:15px; color:var(--ink-light); font-size:12.5px; line-height:1.5; }
.visioncore-standards-grid__list li::before { content:"–"; position:absolute; left:0; color:var(--teal); }
.visioncore-standards-grid__result { margin:auto 0 0; padding-top:16px; border-top:1px solid var(--line); color:var(--ink-light); font-size:13px; line-height:1.55; }
.visioncore-standards-grid__result strong{ color:#087d8b; }
.museum-hero { min-height:585px; position:relative; display:grid; align-items:center; overflow:hidden; color:#fff; isolation:isolate; background:#0f2533; }
.museum-hero > img,.museum-hero__shade { position:absolute; inset:0; width:100%; height:100%; }
.museum-hero > img { object-fit:cover; object-position:center 46%; z-index:-2; }
.museum-hero__shade { z-index:-1; background:radial-gradient(52% 95% at 19% 58%,rgba(5,12,16,.8),transparent 78%),linear-gradient(90deg,rgba(9,22,29,.72),rgba(16,33,37,.37) 51%,rgba(11,25,31,.07)); }
.museum-hero__content { padding-block:81px 104px; }
.museum-hero h1 { max-width:695px; font-size:clamp(47px,5.4vw,72px); }
.museum-hero__content > p:not(.eyebrow) { max-width:630px; margin-bottom:30px; color:#e8eeea; font-size:18px; line-height:1.58; }



.museum-intro { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:50px; padding-block:86px; }
.museum-intro > div { min-width:0; }
.museum-intro__media img { display:block; width:100%; height:auto; }
.museum-intro__features { margin:24px 0 0; padding-left:20px; color:var(--ink-light); font-size:14px; line-height:1.6; list-style-type:circle; }
.museum-intro__features li + li { margin-top:15px; }
.museum-intro__features strong { color:var(--ink); }
@media (max-width:1040px) { .museum-intro { grid-template-columns:1fr; gap:32px; } }
.museum-intro h2 { margin-bottom:20px; font-size:42px; }
.museum-intro p:not(.eyebrow) { margin:0; color:var(--ink-light); font-size:16px; line-height:1.68; }
.section--warm { background:#f7f3ed; }
.experience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.experience-grid article { min-height:285px; padding:28px 26px; border-top:3px solid #c18439; background:#fff; }
.experience-grid span { display:block; margin-bottom:33px; color:#b5782f; font-size:12px; font-weight:850; }
.experience-grid h3 { margin-bottom:12px; font-size:22px; letter-spacing:-.04em; }
.experience-grid p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.58; }
.museum-flow { display:grid; grid-template-columns:1fr 68px 1fr 68px 1fr; align-items:center; padding:36px; background:#f7f3ed; }
.museum-flow > div:not(.museum-flow__arrow) { min-height:166px; padding:24px 20px; border:1px solid #e5ddd0; background:#fff; }
.museum-flow span{ display:block; margin-bottom:22px; color:#087d8b; font-size:11px; font-weight:850; }
.museum-flow strong { display:block; margin-bottom:9px; font-size:17px; line-height:1.18; }
.museum-flow p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.5; }
.museum-flow__core { border-color:#1e293b !important; background:#0b1120 !important; color:#fff; }
.museum-flow__core span { color:#38bdf8; }.museum-flow__core p { color:#d5e3e2; }
.museum-flow__arrow { color:#94a3b8; text-align:center; font-size:33px; }
.museum-tech-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:68px; align-items:center; }
.museum-tech-layout__copy h2 { margin-bottom:20px; }
.museum-tech-layout__copy > p:not(.eyebrow) { color:var(--ink-light); font-size:15px; line-height:1.65; }
.museum-tech-layout__media { min-height:390px; position:relative; overflow:hidden; background:#102c38; }
.museum-tech-layout__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% center; }
.museum-tech-layout__media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,22,29,.93),rgba(16,33,37,.66) 51%,rgba(11,25,31,.17)),linear-gradient(0deg,rgba(5,21,27,.5),transparent 40%); }
.museum-tech-layout__media div { position:absolute; left:28px; bottom:25px; z-index:1; color:#fff; }.museum-tech-layout__media strong { display:block; font-size:33px; letter-spacing:-.07em; }.museum-tech-layout__media span { display:block; color:#eac375; font-size:12px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.section--museum-dark { background:#0b1120; color:#fff; }
.section--museum-dark .split-heading > p { color:#c5d4d2; }
.museum-projects-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:1fr; gap:14px; }
.museum-projects-grid .project-card { min-width:0; min-height:420px; aspect-ratio:auto; }
@media (max-width:1040px) { .museum-projects-grid { grid-template-columns:minmax(0,1fr); } }
.museum-project { min-height:338px; position:relative; overflow:hidden; isolation:isolate; }.museum-project img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }.museum-project--main img { object-position:center 35%; }.museum-project__shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(3,17,21,.96),rgba(3,17,21,.03) 75%); }.museum-project__copy { display:flex; flex-direction:column; align-items:flex-start; height:100%; padding:23px; }.museum-project__copy > p { margin:15px 0 7px; color:#f0cc87; font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.museum-project__copy h3 { margin-bottom:7px; font-size:24px; line-height:1.05; letter-spacing:-.045em; }.museum-project__copy > span:not(.draft-label) { margin-top:auto; color:#e3ece8; font-size:12px; line-height:1.52; }.museum-references { margin-top:19px; padding-top:19px; border-top:1px solid rgba(211,229,225,.24); color:#c7d6d3; font-size:12px; line-height:1.65; }.museum-references strong { color:#fff; }
.museum-scope-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }.museum-scope-grid span { display:block; margin-bottom:21px; color:#b5782f; font-size:12px; font-weight:850; }.museum-scope-grid h3 { margin-bottom:9px; font-size:17px; letter-spacing:-.025em; }.museum-scope-grid p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.55; }
.office-hero { min-height:575px; position:relative; display:grid; align-items:center; overflow:hidden; color:#fff; isolation:isolate; }.office-hero > img,.office-hero__shade { position:absolute; inset:0; width:100%; height:100%; }.office-hero > img { object-fit:cover; object-position:center; z-index:-2; }.office-hero__shade { z-index:-1; background:radial-gradient(55% 95% at 18% 60%,rgba(2,10,18,.8),transparent 78%),linear-gradient(90deg,rgba(4,22,39,.7),rgba(9,45,62,.35) 50%,rgba(7,32,49,.05)); }.office-hero__content { padding-block:81px 104px; }.office-hero h1 { max-width:930px; text-wrap:balance; font-size:clamp(45px,5.1vw,68px); }.office-hero__tagline { max-width:900px; margin:12px 0 24px; color:#fff; font-size:clamp(20px,2.1vw,28px); font-weight:700; line-height:1.2; letter-spacing:-.025em; }.office-hero__lead { max-width:640px; margin:0 0 30px; color:#e2edf0; font-size:18px; line-height:1.58; }
.office-intro { display:grid; grid-template-columns:.92fr 1.08fr; gap:60px; align-items:start; padding-block:86px; }.office-intro__media { position:relative; overflow:hidden; isolation:isolate; background:#103847; }.office-intro__media img { display:block; width:100%; height:auto; }.office-intro__media::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(135deg,rgba(4,22,39,.28),rgba(9,45,62,.07) 56%,rgba(7,32,49,.22)); }.office-intro__copy { max-width:755px; }.office-intro h2 { margin-bottom:20px; font-size:42px; }.office-intro p:not(.eyebrow) { margin:0; color:var(--ink-light); font-size:16px; line-height:1.68; }
.section--office-soft { background:var(--soft); }.office-solutions-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.office-solutions-grid article { min-height:280px; padding:28px 26px; border-top:3px solid #0b9ba6; background:#fff; }.office-solutions-grid span { display:block; margin-bottom:33px; color:#0b8590; font-size:12px; font-weight:850; }.office-solutions-grid h3 { margin-bottom:12px; font-size:22px; letter-spacing:-.04em; }.office-solutions-grid p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.58; }
.meeting-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:0; padding:0; list-style:none; border-top:1px solid rgba(207,232,235,.24); border-left:1px solid rgba(207,232,235,.24); }.meeting-flow li { min-height:242px; padding:27px 23px; border-right:1px solid rgba(207,232,235,.24); border-bottom:1px solid rgba(207,232,235,.24); }.meeting-flow span { display:block; margin-bottom:32px; color:#38bdf8; font-size:12px; font-weight:850; }.meeting-flow strong { display:block; margin-bottom:10px; font-size:17px; line-height:1.2; }.meeting-flow p { margin:0; color:#c1d9dc; font-size:12px; line-height:1.55; }
.office-spaces-layout { display:grid; grid-template-columns:.92fr 1.08fr; gap:68px; align-items:center; }.office-spaces-layout__media { aspect-ratio:768 / 1033; position:relative; overflow:hidden; background:#163d52; }.office-spaces-layout__media > img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }.office-spaces-layout__media > div { position:absolute; left:20px; bottom:20px; z-index:1; padding:14px 18px; border-radius:4px; background:rgba(11,17,32,.85); backdrop-filter:blur(6px); color:#fff; }.office-spaces-layout__media span { display:block; color:#aee4e8; font-size:11px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.office-spaces-layout__media strong { display:block; max-width:none; margin-top:8px; white-space:nowrap; font-size:clamp(23px,2.1vw,29px); line-height:1.04; letter-spacing:-.045em; }.space-list { margin-top:28px; border-top:1px solid var(--line); }.space-list > div { display:grid; grid-template-columns:.8fr 1.2fr; gap:18px; padding:16px 0; border-bottom:1px solid var(--line); }.space-list strong { font-size:14px; }.space-list span { color:var(--ink-light); font-size:12px; line-height:1.45; }
.section--office-dark { background:#0b1120; color:#fff; }.section--office-dark .split-heading > p { color:#c7dce0; }.office-tech-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.office-tech-grid > div { min-height:135px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.office-tech-grid strong { display:block; margin-bottom:11px; font-size:18px; }.office-tech-grid span { color:var(--ink-light); font-size:12px; line-height:1.5; }
.office-references { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.office-references article { min-height:201px; padding:25px 22px; border:1px solid var(--line); }.office-references span { display:block; margin-bottom:29px; color:#0b8590; font-size:11px; font-weight:850; }.office-references h3 { margin-bottom:10px; font-size:18px; line-height:1.2; letter-spacing:-.025em; }.office-references p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.5; }
.hmi-hero { min-height:580px; position:relative; display:grid; align-items:center; overflow:hidden; color:#fff; isolation:isolate; background:#081d2e; }.hmi-hero > img,.hmi-hero__shade { position:absolute; inset:0; width:100%; height:100%; }.hmi-hero > img { object-fit:cover; object-position:center; z-index:-2; }.hmi-hero__shade { z-index:-1; background:radial-gradient(52% 95% at 19% 58%,rgba(2,9,16,.8),transparent 78%),linear-gradient(90deg,rgba(3,18,32,.73),rgba(4,27,45,.39) 49%,rgba(3,21,34,.05)); }.hmi-hero__content { padding-block:81px 105px; }.hmi-hero h1 { max-width:760px; font-size:clamp(45px,5.1vw,68px); }.hmi-hero__content > p:not(.eyebrow) { max-width:635px; margin-bottom:30px; color:#e3edf1; font-size:18px; line-height:1.58; }.hmi-hero__marker { display:grid; position:absolute; right:max(24px,calc((100vw - 1180px)/2)); bottom:38px; color:#fff; text-align:right; }.hmi-hero__marker span { color:#a9e2e9; font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }.hmi-hero__marker strong { font-size:28px; letter-spacing:-.055em; white-space:nowrap; }.hmi-hero__marker i { width:100%; height:2px; justify-self:end; margin:7px 0; background:var(--red); }
.hmi-intro { display:grid; grid-template-columns:.92fr 1.08fr; gap:60px; align-items:center; padding-block:86px; }.hmi-intro > div { max-width:775px; }.hmi-intro__media { overflow:hidden; background:#103847; }.hmi-intro__media img { display:block; width:100%; height:auto; }.hmi-intro h2 { margin-bottom:20px; font-size:37px; }.hmi-intro p:not(.eyebrow) { margin:0; color:var(--ink-light); font-size:16px; line-height:1.68; }.section--hmi-soft { background:var(--soft); }.hmi-solutions-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.hmi-solutions-grid article { min-height:282px; padding:28px 26px; border-top:3px solid #eb2930; background:#fff; }.hmi-solutions-grid span { display:block; margin-bottom:33px; color:#dc2027; font-size:12px; font-weight:850; }.hmi-solutions-grid h3 { margin-bottom:12px; font-size:22px; letter-spacing:-.04em; }.hmi-solutions-grid p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.58; }
.uniview-layout { display:grid; grid-template-columns:1.07fr .93fr; gap:68px; align-items:stretch; }.uniview-layout__media { min-height:405px; position:relative; overflow:hidden; background:#0b293d; }.uniview-layout__media > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 30%; }.uniview-emblem { max-width:220px; position:absolute; left:20px; bottom:20px; z-index:1; padding:16px 18px; border-left:2px solid #38c8d4; background:rgba(4,21,37,.82); backdrop-filter:blur(8px); color:#fff; }.uniview-emblem strong { display:block; font-size:24px; letter-spacing:-.04em; line-height:1; }.uniview-emblem span { display:block; margin-top:7px; color:#a5e5e9; font-size:11px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }.uniview-layout__copy h2 { margin-bottom:24px; }.uniview-layout__copy > p:not(.eyebrow) { color:var(--ink-light); font-size:15px; line-height:1.65; }
.section--hmi-dark { background:#0b1120; color:#fff; }.section--hmi-dark .split-heading > p { color:#c2d5df; }.hmi-journey { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(196,226,231,.24); border-left:1px solid rgba(196,226,231,.24); }.hmi-journey > div { min-height:229px; padding:26px 23px; border-right:1px solid rgba(196,226,231,.24); border-bottom:1px solid rgba(196,226,231,.24); }.hmi-journey span { display:block; margin-bottom:30px; color:#38bdf8; font-size:12px; font-weight:850; }.hmi-journey strong { display:block; margin-bottom:10px; font-size:17px; line-height:1.2; }.hmi-journey p { margin:0; color:#c5d7df; font-size:12px; line-height:1.55; }
.hmi-use-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.hmi-use-grid article { min-height:169px; padding:23px 20px; border:1px solid var(--line); background:#fff; }.hmi-use-grid strong { display:block; margin-bottom:12px; font-size:15px; line-height:1.23; }.hmi-use-grid span { color:var(--ink-light); font-size:12px; line-height:1.5; }.hmi-projects-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.hmi-projects-grid article { min-height:310px; position:relative; overflow:hidden; isolation:isolate; }.hmi-projects-grid img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }.hmi-projects-grid__shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(2,18,29,.96),rgba(2,18,29,.02) 75%); }.hmi-projects-grid article > div:last-child { display:flex; flex-direction:column; align-items:flex-start; height:100%; padding:23px; color:#fff; }.hmi-projects-grid article p { margin:15px 0 7px; color:#a7e3ea; font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.hmi-projects-grid h3 { margin-bottom:7px; font-size:24px; letter-spacing:-.045em; }.hmi-projects-grid small { margin-top:auto; color:#e1ecef; font-size:12px; line-height:1.52; }.section--hmi-panel { background:var(--soft); }.hmi-delivery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:21px; }.hmi-delivery-grid span { display:block; margin-bottom:21px; color:#dc2027; font-size:12px; font-weight:850; }.hmi-delivery-grid strong { display:block; margin-bottom:9px; font-size:17px; }.hmi-delivery-grid p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.55; }.hmi-delivery-extra { grid-column:1 / -1; display:grid; grid-template-columns:36px 1fr; gap:14px; align-items:start; padding:22px 24px; border-left:3px solid #dc2027; background:var(--soft); }.hmi-delivery-extra > span { margin:0 !important; font-size:22px !important; line-height:1; }.hmi-delivery-extra p { max-width:900px; font-size:13px; }.hmi-delivery-extra p + p { margin-top:10px; }
.outsourcing-hero { min-height:680px; position:relative; display:grid; align-items:center; overflow:hidden; color:#fff; isolation:isolate; background:#0b2234; }.outsourcing-hero > img,.outsourcing-hero__shade { position:absolute; inset:0; width:100%; height:100%; }.outsourcing-hero > img { object-fit:cover; object-position:center; z-index:-2; }.outsourcing-hero__shade { z-index:-1; background:radial-gradient(52% 95% at 19% 58%,rgba(2,11,19,.8),transparent 78%),linear-gradient(90deg,rgba(4,22,38,.76),rgba(6,35,51,.5) 54%,rgba(4,25,40,.08)); }.outsourcing-hero__content { padding-block:86px 112px; }.outsourcing-hero h1 { max-width:820px; font-size:clamp(40px,4.2vw,58px); text-wrap:balance; }.outsourcing-hero__content > p:not(.eyebrow) { max-width:760px; margin-bottom:30px; color:#e0edf1; font-size:17px; line-height:1.62; }.outsourcing-hero__badge { min-width:190px; position:absolute; right:max(24px,calc((100vw - 1180px)/2)); bottom:38px; padding:17px 18px; border-left:2px solid #14a4af; background:rgba(5,26,40,.82); backdrop-filter:blur(8px); }.outsourcing-hero__badge strong { display:block; margin-bottom:3px; font-size:27px; line-height:1; letter-spacing:-.055em; }.outsourcing-hero__badge span { color:#d5e7eb; font-size:11px; line-height:1.35; }
.outsourcing-hero__badge strong span { color:inherit; font-size:inherit; line-height:inherit; }
.outsourcing-intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:stretch; padding-block:86px; }.outsourcing-intro__media { min-height:0; position:relative; overflow:hidden; background:#0b293d; }.outsourcing-intro__media img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }.outsourcing-intro__copy { max-width:650px; }.outsourcing-intro h2 { margin-bottom:24px; font-size:42px; }.outsourcing-intro__body { display:grid; gap:16px; }.outsourcing-intro p:not(.eyebrow) { margin:0; color:var(--ink-light); font-size:16px; line-height:1.68; }.section--outsourcing-soft { background:var(--soft); }.outsourcing-services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }.outsourcing-services-grid article { padding:23px 25px 25px; border-top:3px solid #0c91a0; background:#fff; }.outsourcing-services-grid span { display:block; margin-bottom:15px; color:#0b8290; font-size:12px; font-weight:850; }.outsourcing-services-grid h3 { max-width:430px; margin-bottom:10px; font-size:22px; line-height:1.1; letter-spacing:-.04em; }.outsourcing-services-grid p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.52; }
.outsourcing-helpdesk-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.outsourcing-helpdesk-grid article { padding:23px 25px 25px; border-top:3px solid #0c91a0; background:#fff; }.outsourcing-helpdesk-grid span { display:block; margin-bottom:15px; color:#0b8290; font-size:12px; font-weight:850; }.outsourcing-helpdesk-grid h3 { margin-bottom:10px; font-size:19px; line-height:1.2; letter-spacing:-.03em; }.outsourcing-helpdesk-grid p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.55; }
.outsourcing-flow { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:36px 0 0; list-style:none; }.outsourcing-flow::before { content:""; position:absolute; top:6px; right:0; left:0; height:1px; background:var(--line); }.outsourcing-flow::after { content:""; position:absolute; top:5px; left:0; width:25%; height:3px; background:#0b8290; }.outsourcing-flow li { min-width:0; position:relative; padding:18px 22px 0; border-left:1px solid var(--line); }.outsourcing-flow li:last-child { border-right:1px solid var(--line); }.outsourcing-flow li::before { content:""; width:10px; height:10px; position:absolute; top:-37px; left:20px; z-index:1; border:2px solid #0b8290; border-radius:50%; background:#fff; }.outsourcing-flow span{ display:block; margin-bottom:17px; color:#087d8b; font-size:12px; font-weight:850; }.outsourcing-flow strong { display:block; margin-bottom:11px; font-size:18px; line-height:1.18; letter-spacing:-.03em; }.outsourcing-flow p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.58; }.section--outsourcing-dark { background:#0a253b; color:#fff; }.section--outsourcing-dark .split-heading > p { color:#bed2d9; }.outcomes-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(192,224,229,.24); border-left:1px solid rgba(192,224,229,.24); }.outcomes-grid > div { padding:27px 26px 29px; border-right:1px solid rgba(192,224,229,.24); border-bottom:1px solid rgba(192,224,229,.24); }.outcomes-grid strong { display:block; margin-bottom:11px; font-size:21px; line-height:1.15; letter-spacing:-.03em; }.outcomes-grid span { display:block; color:#c6d8de; font-size:13px; line-height:1.58; }
.outsourcing-references { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }.outsourcing-references article { min-height:220px; padding:24px 20px; border:1px solid var(--line); background:#fff; }.outsourcing-references span { display:block; margin-bottom:29px; color:#0b8290; font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }.outsourcing-references h3 { margin-bottom:10px; font-size:17px; line-height:1.18; letter-spacing:-.03em; }.outsourcing-references p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.5; }.outsourcing-references p { margin-bottom:14px; }.outsourcing-references .ref-checks { margin:0; padding:0; list-style:none; }.outsourcing-references .ref-checks li { position:relative; margin-bottom:8px; padding-left:18px; color:var(--ink-light); font-size:12px; line-height:1.4; }.outsourcing-references .ref-checks li:last-child { margin-bottom:0; }.outsourcing-references .ref-checks li::before { content:"✓"; position:absolute; left:0; top:0; color:#0b8290; font-size:11px; font-weight:900; }.outsourcing-related-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.outsourcing-related-grid article { min-height:190px; padding:28px; background:#fff; border-left:3px solid #0d6d81; }.outsourcing-related-grid strong { display:block; max-width:430px; margin-bottom:11px; font-size:20px; line-height:1.15; letter-spacing:-.035em; }.outsourcing-related-grid p { max-width:500px; margin-bottom:18px; color:var(--ink-light); font-size:13px; line-height:1.55; }.outsourcing-related-grid a { color:#0d6d81; font-size:12px; font-weight:850; text-decoration:none; }.outsourcing-related-grid a:hover { text-decoration:underline; }
.cyber-hero { min-height:585px; position:relative; display:grid; align-items:center; overflow:hidden; color:#fff; isolation:isolate; background:#061b30; }.cyber-hero > img,.cyber-hero__shade { position:absolute; inset:0; width:100%; height:100%; }.cyber-hero > img { object-fit:cover; object-position:center; z-index:-2; }.cyber-hero__shade { z-index:-1; background:radial-gradient(52% 95% at 19% 58%,rgba(1,8,15,.8),transparent 78%),linear-gradient(90deg,rgba(2,15,29,.74),rgba(3,27,45,.4) 51%,rgba(3,20,36,.07)); }.cyber-hero__content { padding-block:81px 104px; }.cyber-hero h1 { max-width:790px; font-size:clamp(43px,5vw,66px); }.cyber-hero__content > p:not(.eyebrow) { max-width:700px; margin-bottom:30px; color:#dfebf1; font-size:18px; line-height:1.58; }.cyber-hero__badge { max-width:280px; position:absolute; right:max(24px,calc((100vw - 1180px)/2)); bottom:39px; padding:16px 18px; border-left:2px solid #38c8d4; background:rgba(4,21,37,.82); backdrop-filter:blur(8px); }.cyber-hero__badge strong { display:block; margin-bottom:8px; font-size:15px; line-height:1.25; }.cyber-hero__badge span { display:block; color:#bfe7ec; font-size:11px; line-height:1.55; }
.cyber-intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:stretch; padding-block:86px; }.cyber-intro__media { min-height:380px; position:relative; overflow:hidden; background:#0d2436; }.cyber-intro__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:55% center; }.cyber-intro__copy { max-width:640px; }.cyber-intro h2 { margin-bottom:20px; font-size:42px; }.cyber-intro p:not(.eyebrow) { margin:0; color:var(--ink-light); font-size:16px; line-height:1.68; }.section--cyber-soft { background:var(--soft); }.cyber-audit-flow { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:36px 0 0; list-style:none; }.cyber-audit-flow::before { content:""; position:absolute; top:6px; right:0; left:0; height:1px; background:var(--line); }.cyber-audit-flow::after { content:""; position:absolute; top:5px; left:0; width:25%; height:3px; background:#0c8fa0; }.cyber-audit-flow li { min-width:0; position:relative; padding:18px 22px 0; border-left:1px solid var(--line); }.cyber-audit-flow li:last-child { border-right:1px solid var(--line); }.cyber-audit-flow li::before { content:""; width:10px; height:10px; position:absolute; top:-37px; left:20px; z-index:1; border:2px solid #0c8fa0; border-radius:50%; background:#fff; }.cyber-audit-flow span{ display:block; margin-bottom:17px; color:#087d8b; font-size:12px; font-weight:850; }.cyber-audit-flow strong { display:block; margin-bottom:11px; font-size:18px; line-height:1.18; letter-spacing:-.03em; }.cyber-audit-flow p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.58; }.cyber-layers { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }.cyber-layers article { padding:30px 28px; border-top:3px solid #075d8c; background:#fff; }.cyber-layers span { display:block; margin-bottom:22px; color:#075d8c; font-size:12px; font-weight:850; }.cyber-layers h3 { min-height:56px; }.cyber-layers h3 { margin-bottom:12px; font-size:22px; letter-spacing:-.04em; }.cyber-layers p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.58; }
.tech-tags { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; padding:0; list-style:none; }
.tech-tags li { padding:5px 10px; border:1px solid #cfe0e4; border-radius:4px; background:#fff; color:#075d8c; font-size:11px; font-weight:750; line-height:1.4; }
.business-hero { min-height:575px; position:relative; display:grid; align-items:center; overflow:hidden; color:#fff; isolation:isolate; background:#082e45; }.business-hero > img,.business-hero__shade { position:absolute; inset:0; width:100%; height:100%; }.business-hero > img { object-fit:cover; object-position:center; z-index:-2; }.business-hero__shade { z-index:-1; background:radial-gradient(70% 108% at 20% 60%,rgba(2,12,20,.82),transparent 85%),linear-gradient(90deg,rgba(3,24,39,.73),rgba(7,46,62,.39) 51%,rgba(4,29,45,.06)); }.business-hero__content { padding-block:81px 104px; }.business-hero h1 { max-width:735px; font-size:clamp(47px,5.3vw,70px); }.business-hero__content > p:not(.eyebrow) { max-width:635px; margin-bottom:30px; color:#e0edf1; font-size:18px; line-height:1.58; }.business-hero__stat { max-width:280px; position:absolute; right:max(24px,calc((100vw - 1180px)/2)); bottom:39px; padding:16px 18px; border-left:2px solid #e62930; background:rgba(4,26,39,.77); backdrop-filter:blur(8px); } .office-hero__badge,.vision-hero__badge,.museum-hero__badge { max-width:280px; position:absolute; right:max(24px,calc((100vw - 1180px)/2)); bottom:39px; padding:16px 18px; border-left:2px solid #38bdf8; background:rgba(4,21,37,.82); backdrop-filter:blur(8px); z-index:1; } .office-hero__badge strong,.vision-hero__badge strong,.museum-hero__badge strong { display:block; margin-bottom:8px; font-size:15px; line-height:1.25; } .office-hero__badge span,.vision-hero__badge span,.museum-hero__badge span { display:block; color:#bfe7ec; font-size:11px; line-height:1.55; }.business-hero__stat strong { display:block; margin-bottom:8px; font-size:15px; line-height:1.25; }.business-hero__stat span { display:block; color:#d4e7ea; font-size:11px; line-height:1.55; }
.business-intro { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:stretch; padding-block:86px; }.business-intro__media { min-height:380px; position:relative; overflow:hidden; background:#eef3f3; }.business-intro__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%; }.business-intro__copy { max-width:640px; }.business-intro h2 { margin-bottom:20px; font-size:42px; }.business-intro p:not(.eyebrow) { margin:0; color:var(--ink-light); font-size:16px; line-height:1.68; }.business-intro p:not(.eyebrow) + p { margin-top:18px; }.section--business-soft { background:var(--soft); }.business-competency-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }.business-competency-grid article { padding:30px 28px; border-top:3px solid #198a7b; background:#fff; }.business-competency-grid h3 { min-height:56px; margin-bottom:12px; font-size:22px; letter-spacing:-.04em; }.business-competency-grid p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.58; }.business-realizations-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }.business-realizations-grid article { padding:0 28px 30px; border-top:3px solid #198a7b; background:#fff; overflow:hidden; }.business-realizations-grid__media { position:relative; width:calc(100% + 56px); height:190px; margin:0 -28px 22px; overflow:hidden; background:#eef3f3; }.business-realizations-grid__media img { display:block; width:100%; height:100%; object-fit:cover; }.business-realizations-grid h3 { margin-bottom:16px; font-size:20px; line-height:1.28; letter-spacing:-.03em; }.business-case-detail { display:flex; flex-direction:column; gap:12px; margin:0 0 18px; }.business-case-detail dt { margin:0 0 3px; color:#198a7b; font-size:11px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.business-case-detail dd { margin:0; color:var(--ink-light); font-size:13px; line-height:1.58; }.section--dataflow-dark { background:#0a253b; color:#fff; }.section--dataflow-dark .split-heading > p { color:#b7c3d6; }
.dataflow-arch { display:grid; grid-template-columns:1fr 60px 1fr 60px 1fr; align-items:start; gap:0 18px; padding:40px 36px; border:1px solid rgba(148,163,184,.22); background:radial-gradient(circle at 50% 30%,rgba(25,138,123,.16),transparent 45%),#0b1120; }
.dataflow-arch__col { display:flex; flex-direction:column; gap:12px; }
.dataflow-arch__col--core { padding:24px 22px; border:1px solid rgba(79,209,179,.35); background:rgba(255,255,255,.035); }
.dataflow-arch__label { display:block; color:#7fd9c4; font-size:11px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.dataflow-arch__product { display:block; margin-top:2px; font-size:19px; letter-spacing:-.03em; color:#fff; }
.dataflow-arch__sublabel { margin:0; color:#9db3c8; font-size:12px; font-weight:750; }
.dataflow-arch__list { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; }
.dataflow-arch__list li { position:relative; padding-left:14px; color:#c7d4e3; font-size:12.5px; line-height:1.55; }
.dataflow-arch__list li::before { content:"–"; position:absolute; left:0; color:#4fd1b3; }
.dataflow-arch__list li strong { color:#fff; font-weight:750; }
.dataflow-arch__role { margin:2px 0 0; padding-top:12px; border-top:1px solid rgba(148,163,184,.2); color:#9fb0c4; font-size:12px; line-height:1.55; }
.dataflow-arch__role strong { color:#e7edf3; }
.dataflow-arch__arrow { display:flex; flex-direction:column; align-items:center; align-self:center; gap:8px; color:#4fd1b3; font-size:26px; font-weight:300; text-align:center; }
.dataflow-arch__arrow span { color:#8ea3ba; font-size:9.5px; font-weight:750; line-height:1.3; letter-spacing:.02em; }
.hpc-hero { min-height:585px; position:relative; display:grid; align-items:center; overflow:hidden; color:#fff; isolation:isolate; background:#071e35; }.hpc-hero > img,.hpc-hero__shade { position:absolute; inset:0; width:100%; height:100%; }.hpc-hero > img { object-fit:cover; object-position:center; z-index:-2; }.hpc-hero__shade { z-index:-1; background:radial-gradient(52% 95% at 19% 58%,rgba(2,11,19,.8),transparent 78%),linear-gradient(90deg,rgba(4,22,38,.76),rgba(6,35,51,.5) 54%,rgba(4,25,40,.08)); }.hpc-hero__content { padding-block:81px 104px; }.hpc-hero h1 { max-width:805px; font-size:clamp(43px,5vw,66px); }.hpc-hero__content > p:not(.eyebrow) { max-width:645px; margin-bottom:30px; color:#dfedf2; font-size:18px; line-height:1.58; }.hpc-hero__scale { position:absolute; right:max(24px,calc((100vw - 1180px)/2)); bottom:39px; display:grid; padding:16px; border-left:2px solid #54c2cc; background:rgba(4,25,43,.78); backdrop-filter:blur(8px); }.hpc-hero__scale span { color:#9ee1e8; font-size:11px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }.hpc-hero__scale strong { margin-top:5px; font-size:14px; }
.hpc-intro { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:stretch; padding-block:86px; }.hpc-intro__media { min-height:380px; position:relative; overflow:hidden; background:#eef3f3; }.hpc-intro__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.hpc-intro__media-note { position:absolute; inset:14px; display:flex; align-items:center; justify-content:center; border:1.5px dashed #b8c7c9; color:#7c8e90; font-size:13px; font-weight:750; text-align:center; }.hpc-intro__copy { max-width:640px; }.hpc-intro h2 { margin-bottom:20px; font-size:42px; }.hpc-intro p:not(.eyebrow) { margin:0; color:var(--ink-light); font-size:16px; line-height:1.68; }.hpc-intro p:not(.eyebrow) + p { margin-top:18px; }.section--hpc-soft { background:var(--soft); }.hpc-standards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:start; }.hpc-standards-grid article { padding:30px 26px 28px; border-top:3px solid #1a87a4; background:#fff; }.hpc-standards-grid__label { display:block; margin-bottom:20px; color:#1a87a4; font-size:12px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.hpc-standards-grid h3 { margin-bottom:16px; font-size:21px; line-height:1.22; letter-spacing:-.03em; }.hpc-standards-grid h3 .hpc-standards-grid__tag { display:block; margin-top:5px; color:var(--ink-light); font-size:14px; font-weight:650; letter-spacing:0; text-transform:none; }.hpc-standards-grid__audience { margin:0 0 18px; padding-bottom:18px; border-bottom:1px solid var(--line); color:var(--ink-light); font-size:13px; line-height:1.55; }.hpc-standards-grid__audience strong { color:var(--ink); }.hpc-standards-grid__meta { margin:0 0 11px; color:var(--ink); font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.hpc-standards-grid__spec { margin:0 0 20px; color:var(--ink-light); font-size:13px; line-height:1.58; }.hpc-standards-grid__list { margin:0 0 20px; padding:0; list-style:none; display:flex; flex-direction:column; gap:9px; }.hpc-standards-grid__list li { position:relative; padding-left:15px; color:var(--ink-light); font-size:12.5px; line-height:1.5; }.hpc-standards-grid__list li::before { content:"–"; position:absolute; left:0; color:#1a87a4; }.hpc-standards-grid__list li strong { color:var(--ink); font-weight:750; }.hpc-standards-grid__result { margin:0; padding-top:16px; border-top:1px solid var(--line); color:var(--ink-light); font-size:13px; line-height:1.55; }.hpc-standards-grid__result strong { color:#1a87a4; }.hpc-standards-grid__cta { margin-top:16px; width:100%; }
.private-ai-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:68px; align-items:center; }.private-ai-layout__copy > p:not(.eyebrow) { color:var(--ink-light); font-size:15px; line-height:1.65; }.gpu-rack { min-height:394px; display:flex; flex-direction:column; padding:28px; background:linear-gradient(145deg,#0b2943,#103e58); color:#fff; box-shadow:inset 0 0 0 1px rgba(144,217,225,.18); }.gpu-rack__header { display:flex; justify-content:space-between; gap:20px; padding-bottom:20px; border-bottom:1px solid rgba(167,221,229,.25); }.gpu-rack__header span { color:#a6e0e6; font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.gpu-rack__header strong { font-size:13px; }.gpu-rack__slots { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; align-items:center; flex:1; padding-block:34px; }.gpu-rack__slots i { height:143px; position:relative; border:1px solid rgba(163,224,231,.3); background:linear-gradient(180deg,#144f69,#0c243d); }.gpu-rack__slots i::before { content:"GPU"; position:absolute; inset:12px 0 auto; color:#afe6e9; text-align:center; font-size:9px; font-style:normal; font-weight:850; letter-spacing:.08em; }.gpu-rack__slots i::after { content:""; position:absolute; left:15%; right:15%; bottom:15px; height:3px; background:#4bced8; box-shadow:0 -15px #3a92ad,0 -30px #1d657f; }.gpu-rack__footer { display:flex; justify-content:space-between; gap:18px; color:#c8e3e6; font-size:11px; }.section--hpc-dark { background:#0a253b; color:#fff; }.section--hpc-dark .split-heading > p { color:#bdd3de; }.hpc-resilience-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }.hpc-resilience-grid article { padding:30px 28px; border:1px solid rgba(185,222,231,.23); background:rgba(255,255,255,.035); }.hpc-resilience-grid strong { display:block; margin-bottom:12px; font-size:17px; line-height:1.25; }.hpc-resilience-grid p { margin:0; color:#c5d8e1; font-size:13px; line-height:1.62; }.hpc-methodology { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }.hpc-methodology__lead { max-width:520px; margin:16px 0 0; color:var(--ink-light); font-size:15px; line-height:1.6; }.hpc-methodology__media { position:relative; overflow:hidden; min-height:560px; background:#eef3f3; align-self:stretch; }.hpc-methodology__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.hpc-flow { display:flex; flex-direction:column; margin:30px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }.hpc-flow li { display:grid; grid-template-columns:60px 1fr; gap:20px; padding:24px 0; border-bottom:1px solid var(--line); }.hpc-flow span{ color:#087d8b; font-size:34px; font-weight:900; letter-spacing:-.03em; line-height:1; }.hpc-flow strong { display:block; margin-bottom:8px; font-size:16px; line-height:1.25; }.hpc-flow p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.58; }.hpc-competency-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:start; }.hpc-competency-grid article { padding:28px 26px 26px; border-top:3px solid #1a87a4; background:#fff; }.hpc-competency-grid__label { display:block; margin-bottom:18px; color:#1a87a4; font-size:12px; font-weight:850; letter-spacing:.06em; }.hpc-competency-grid h3 { margin-bottom:10px; font-size:19px; line-height:1.22; letter-spacing:-.03em; }.hpc-competency-grid__tagline { margin:0 0 14px; color:var(--ink); font-size:13px; font-weight:750; line-height:1.4; }.hpc-competency-grid__body { margin:0 0 18px; color:var(--ink-light); font-size:13px; line-height:1.6; }.hpc-competency-grid .text-link { display:inline-flex; align-items:center; margin-top:0; padding:11px 18px; border-radius:4px; background:#0a253b; color:#fff; font-size:12.5px; font-weight:800; text-decoration:none; transition:transform .18s ease,background .18s ease; }.hpc-competency-grid .text-link:hover { transform:translateY(-2px); background:#0d3150; }#hpc-stack-title { max-width:700px; font-size:24px; }.hpc-stack-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-top:32px; }.hpc-stack-grid__col h4 { margin:0 0 16px; font-size:13px; font-weight:850; letter-spacing:-.01em; line-height:1.3; }.hpc-stack-grid__col h4 span { display:block; margin-top:2px; color:var(--ink-light); font-size:12px; font-weight:650; }.hpc-stack-tags { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px; }.hpc-stack-tags li { padding:10px 14px; border:1px solid #e2e8f0; border-radius:6px; background:#f8fafc; color:#334155; font-size:13px; font-weight:500; line-height:1.4; }.hpc-workstation-layout { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; margin-top:32px; }.hpc-workstation-layout__lead { max-width:520px; margin:16px 0 28px; color:var(--ink-light); font-size:15px; line-height:1.6; }.hpc-workstation-points { display:flex; flex-direction:column; margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }.hpc-workstation-points li { padding:18px 0; border-bottom:1px solid var(--line); }.hpc-workstation-points strong { display:block; margin-bottom:6px; font-size:15px; line-height:1.25; }.hpc-workstation-points span { display:block; color:var(--ink-light); font-size:13px; line-height:1.55; }.hpc-workstation-layout__media { position:relative; overflow:hidden; min-height:520px; background:#eef3f3; align-self:stretch; }.hpc-workstation-layout__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.hpc-workstation-extra { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:32px; }.hpc-workstation-extra__title { margin:0 0 14px; font-size:13px; font-weight:850; letter-spacing:-.01em; color:var(--ink); }.hpc-workstation-software { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }.hpc-workstation-software li { padding:10px 16px; border:1px solid #e2e8f0; border-radius:6px; background:#f8fafc; color:#334155; font-size:13px; font-weight:600; }.hpc-workstation-checks { display:flex; flex-wrap:wrap; gap:10px 28px; margin:0; padding:0; list-style:none; }.hpc-workstation-checks li { position:relative; padding-left:20px; color:var(--ink-light); font-size:13px; font-weight:600; }.hpc-workstation-checks li::before { content:"✓"; position:absolute; left:0; top:0; color:#0b9ba6; font-size:12px; font-weight:900; }.hpc-workstation-note { margin-top:28px; margin-bottom:0; color:var(--ink-light); font-size:14px; }
.business-flow { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; list-style:none; border-top:1px solid var(--line); border-left:1px solid var(--line); }.business-flow li { padding:27px 23px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.business-flow span{ display:block; margin-bottom:31px; color:#087d8b; font-size:12px; font-weight:850; }.business-flow strong { display:block; margin-bottom:10px; font-size:17px; line-height:1.2; }.business-flow p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.58; }.business-flow p.business-flow__result { margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }.business-flow p.business-flow__result strong{ color:#087d8b; }.business-ecosystem-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.business-ecosystem-grid article { padding:28px 24px; border-top:3px solid #198a7b; background:#fff; }.business-ecosystem-grid strong { display:block; margin-bottom:12px; font-size:17px; line-height:1.25; }.business-ecosystem-grid p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.58; }.business-ecosystem-grid .text-link { display:inline-flex; align-items:center; margin-top:16px; padding:11px 18px; border-radius:4px; background:#0a253b; color:#fff; font-size:12.5px; font-weight:800; text-decoration:none; transition:transform .18s ease,background .18s ease; }.business-ecosystem-grid .text-link:hover { transform:translateY(-2px); background:#0d3150; }
.section--cyber-dark { background:#0a253b; color:#fff; }.section--cyber-dark .split-heading > p { color:#bed2dd; }.security-arch { display:grid; grid-template-columns:1fr 56px 1fr 56px 1fr; align-items:center; gap:0 18px; padding:40px 36px; border:1px solid rgba(187,223,232,.22); background:radial-gradient(circle at 50% 45%,rgba(30,127,150,.24),transparent 42%),#0b2b44; }.security-arch__group { display:flex; flex-direction:column; gap:14px; }.security-arch__label { display:block; margin-bottom:2px; color:#9ddce4; font-size:11px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }.security-arch__item { padding:14px 16px; border:1px solid rgba(181,221,229,.23); background:rgba(255,255,255,.04); }.security-arch__item strong { display:block; margin-bottom:5px; font-size:14px; letter-spacing:-.01em; color:#fff; }.security-arch__item p { margin:0; color:#c7dfe3; font-size:12px; line-height:1.5; }.security-arch__arrow { display:flex; align-items:center; justify-content:center; color:#4fbbc7; font-size:32px; font-weight:300; }.security-arch__core { padding:32px 26px; text-align:center; border:1px solid #4fbbc7; background:rgba(5,30,47,.74); }.security-arch__core span { display:block; color:#9ddce4; font-size:11px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.security-arch__core strong { display:block; margin:9px 0 6px; font-size:26px; letter-spacing:-.05em; }.security-arch__core small { display:block; color:#c7e7eb; font-size:11.5px; line-height:1.5; }.security-arch__core p { margin:12px 0 0; padding-top:12px; border-top:1px solid rgba(187,223,232,.2); color:#9fc2ca; font-size:11.5px; line-height:1.55; }
.continuity-layout { display:grid; grid-template-columns:.92fr 1.08fr; gap:68px; align-items:stretch; }.continuity-layout__media { min-height:400px; position:relative; overflow:hidden; background:#102f43; }.continuity-layout__media > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 30%; }.continuity-layout__badge { max-width:250px; position:absolute; left:20px; bottom:20px; z-index:1; padding:16px 18px; border-left:2px solid #38c8d4; background:rgba(4,21,37,.82); backdrop-filter:blur(8px); color:#fff; }.continuity-layout__badge strong { display:block; margin-bottom:8px; font-size:15px; line-height:1.25; }.continuity-layout__badge span { display:block; color:#bfe7ec; font-size:11px; line-height:1.55; }.continuity-layout__copy > p:not(.eyebrow) { color:var(--ink-light); font-size:15px; line-height:1.65; }.cyber-start-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }.cyber-start-grid article { padding:24px 22px; border-top:3px solid #0c8fa0; background:#fff; }.cyber-start-grid > article > span { display:block; margin-bottom:14px; color:#0c8fa0; font-size:12px; font-weight:850; }.cyber-start-grid h3 { margin:0 0 16px; font-size:16px; line-height:1.32; letter-spacing:-.02em; }.cyber-start-grid__label { margin:14px 0 4px; color:#075d8c; font-size:10.5px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }.cyber-start-grid__label:first-of-type { margin-top:0; }.cyber-start-grid p:not(.cyber-start-grid__label) { margin:0; color:var(--ink-light); font-size:12.5px; line-height:1.55; }
@media (max-width:880px) { .site-header { height:80px; } .menu-toggle { display:flex; } .main-nav { display:none; position:absolute; top:79px; left:0; right:0; padding:16px 24px 22px; align-items:stretch; flex-direction:column; gap:15px; border-bottom:1px solid var(--line); background:#fff; box-shadow:0 12px 20px rgba(9,28,43,.08); } .main-nav.is-open { display:flex; } .main-nav .button { width:fit-content; } .proof-grid { grid-template-columns:1fr 1fr; } .proof-grid div:nth-child(3) { border-left:1px solid var(--line); } .split-heading { align-items:start; flex-direction:column; gap:18px; } .solutions-grid { grid-template-columns:repeat(2,1fr); } .solutions-grid .solution-card--ai { grid-column:span 2; } .projects-grid .project-card { flex-basis:100%; } .project-card,.project-card--large { min-height:340px; } .partners-grid { grid-template-columns:repeat(4,1fr); } .contact-band { align-items:start; flex-direction:column; } }
@media (max-width:880px) { .desktop-line-break { display:none; } .mobile-line-break { display:block; } }
@media (max-width:880px) { .vision-facts__grid { grid-template-columns:1fr 1fr; } .vision-facts__grid > div:nth-child(3) { border-left:1px solid var(--line); } .application-grid,.visioncore-standards-grid { grid-template-columns:1fr; } .visioncore-layout { grid-template-columns:1fr; gap:35px; } .architecture-flow { grid-template-columns:1fr; gap:16px; } .flow-arrow { transform:rotate(90deg); } .delivery-steps { grid-template-columns:1fr 1fr; } }
@media (max-width:880px) { .museum-intro { grid-template-columns:1fr; gap:10px; }.experience-grid,.museum-projects-grid { grid-template-columns:1fr; }.museum-flow { grid-template-columns:1fr; gap:16px; }.museum-flow__arrow { transform:rotate(90deg); }.museum-tech-layout { grid-template-columns:1fr; gap:35px; }.museum-scope-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:880px) { .office-intro { grid-template-columns:1fr; gap:36px; }.office-solutions-grid,.office-references { grid-template-columns:1fr 1fr; }.meeting-flow,.office-tech-grid { grid-template-columns:1fr 1fr; }.office-spaces-layout { grid-template-columns:1fr; gap:35px; } }
@media (max-width:880px) { .hmi-intro { grid-template-columns:1fr; gap:10px; }.hmi-solutions-grid,.hmi-projects-grid { grid-template-columns:1fr; }.uniview-layout { grid-template-columns:1fr; gap:35px; }.hmi-journey,.hmi-use-grid,.hmi-delivery-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:880px) { .outsourcing-intro { grid-template-columns:1fr; gap:34px; align-items:start; }.outsourcing-intro__media { width:100%; aspect-ratio:16 / 9; }.outsourcing-intro__copy { max-width:none; }.outsourcing-services-grid,.outcomes-grid { grid-template-columns:1fr 1fr; }.outsourcing-helpdesk-grid { grid-template-columns:1fr; }.outsourcing-flow li { padding-inline:16px; }.outsourcing-flow li::before { left:14px; }.outsourcing-flow strong { font-size:16px; }.outsourcing-flow p { font-size:11px; }.outsourcing-references { grid-template-columns:repeat(2,1fr); }.outsourcing-related-grid { grid-template-columns:1fr; } }
@media (max-width:880px) { .cyber-intro { grid-template-columns:1fr; gap:24px; }.cyber-intro__media { min-height:300px; }.cyber-start-grid { grid-template-columns:1fr 1fr; }.cyber-audit-flow li { padding-inline:16px; }.cyber-audit-flow li::before { left:14px; }.cyber-audit-flow strong { font-size:16px; }.cyber-audit-flow p { font-size:11px; }.cyber-layers { grid-template-columns:1fr; }.security-arch { grid-template-columns:1fr; gap:20px; padding:28px; }.security-arch__arrow { transform:rotate(90deg); }.continuity-layout { grid-template-columns:1fr; gap:35px; } }
@media (max-width:880px) { .business-intro { grid-template-columns:1fr; gap:24px; }.business-intro__media { min-height:300px; }.business-competency-grid,.business-realizations-grid { grid-template-columns:1fr 1fr; }.dataflow-arch { grid-template-columns:1fr; gap:24px; padding:28px; }.dataflow-arch__arrow { flex-direction:row; align-self:auto; transform:rotate(90deg); }.dataflow-arch__arrow span { transform:rotate(-90deg); } .business-flow { grid-template-columns:1fr 1fr; }.business-ecosystem-grid { grid-template-columns:1fr; } }
@media (max-width:880px) { .hpc-intro { grid-template-columns:1fr; gap:24px; }.hpc-intro__media { min-height:300px; }.hpc-standards-grid { grid-template-columns:1fr; }.private-ai-layout { grid-template-columns:1fr; gap:35px; }.hpc-methodology { grid-template-columns:1fr; gap:32px; }.hpc-methodology__media { min-height:320px; }.hpc-competency-grid { grid-template-columns:1fr; }.hpc-stack-grid { grid-template-columns:repeat(2,1fr); }.hpc-workstation-layout { grid-template-columns:1fr; gap:28px; }.hpc-workstation-layout__media { min-height:320px; }.hpc-workstation-extra { grid-template-columns:1fr; gap:24px; }.hpc-tech-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px) { .page-width { width:min(100% - 32px,1180px); } .site-header { padding:0 16px; } .brand img { width:145px; } .hero { min-height:620px; } .hero-image { object-position:63% center; } .hero-shade { background:linear-gradient(0deg,rgba(4,20,35,.74),rgba(4,20,35,.87)); } .hero-content { padding-block:70px 167px; } h1 { font-size:44px; } .hero-text { font-size:16px; } .experience-note { width:270px; left:16px; right:auto; bottom:25px; } .hero-dots { left:auto; right:16px; bottom:34px; } .proof-grid div { min-height:104px; padding:18px 15px; } .section { padding-block:48px; } .section--soft,.section--dark { padding-block:52px; } h2 { font-size:31px; } .pillar-grid,.solutions-grid { grid-template-columns:1fr; } .solutions-grid .solution-card--ai { grid-column:span 1; } .pillar-card { min-height:330px; } .partners { padding-block:48px; } .partners-grid { grid-template-columns:repeat(2,1fr); } .contact-band { margin-bottom:48px; padding:36px 26px; } .contact-band h2 { font-size:22px; line-height:1.32; } .contact-band p { font-size:14.5px; } .contact-band__checks { gap:10px 20px; } .contact-band__action > .button { padding-inline:20px; font-size:13.5px; } .modal-content { padding:33px 24px; } }
@media (max-width:560px) { .vision-hero { min-height:625px; } .vision-hero > img { object-position:58% center; } .vision-hero__shade { background:linear-gradient(0deg,rgba(4,20,35,.7),rgba(4,20,35,.9)); } .vision-hero__content { padding-block:67px 94px; } .vision-hero__content > p:not(.eyebrow) { font-size:16px; } .back-link { margin-bottom:31px; } .vision-facts__grid { grid-template-columns:1fr; } .vision-facts__grid > div,.vision-facts__grid > div:nth-child(3) { min-height:0; padding:22px 16px; border-left:1px solid var(--line); } .visioncore-layout__media { min-height:310px; } .delivery-steps { grid-template-columns:1fr; gap:20px; } .catalogue-card { min-height:260px; } }
@media (max-width:560px) { .museum-hero { min-height:625px; }.museum-hero > img { object-position:59% center; }.museum-hero__shade { background:linear-gradient(0deg,rgba(9,22,29,.69),rgba(9,22,29,.9)); }.museum-hero__content { padding-block:68px 93px; }.museum-hero__content > p:not(.eyebrow) { font-size:16px; }.museum-intro { padding-block:58px; }.museum-intro h2 { font-size:34px; }.museum-tech-layout__media { min-height:310px; }.museum-scope-grid { grid-template-columns:1fr; gap:22px; } }
@media (max-width:560px) { .office-hero { min-height:625px; }.office-hero > img { object-position:50% 40%; }.office-hero__shade { background:linear-gradient(0deg,rgba(4,22,39,.72),rgba(4,22,39,.9)); }.office-hero__content { padding-block:67px 92px; }.office-hero__title-break { display:none; }.office-hero__tagline { margin-block:10px 21px; font-size:20px; }.office-hero__lead { font-size:16px; }.office-intro { padding-block:58px; }.office-intro h2 { font-size:34px; }.office-solutions-grid,.office-references,.meeting-flow,.office-tech-grid { grid-template-columns:1fr; }.space-list > div { grid-template-columns:1fr; gap:6px; } }
@media (max-width:560px) { .hmi-hero { min-height:625px; }.hmi-hero > img { object-position:57% center; }.hmi-hero__shade { background:linear-gradient(0deg,rgba(3,18,32,.7),rgba(3,18,32,.91)); }.hmi-hero__content { padding-block:67px 92px; }.hmi-hero__content > p:not(.eyebrow) { font-size:16px; }.hmi-hero__marker { right:16px; bottom:31px; }.hmi-intro { padding-block:58px; }.hmi-intro h2 { font-size:34px; }.uniview-layout__media { min-height:310px; width:78%; margin-inline:auto; }.hmi-journey,.hmi-use-grid,.hmi-delivery-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .outsourcing-hero { min-height:900px; }.outsourcing-hero > img { object-position:center; }.outsourcing-hero__shade { background:linear-gradient(0deg,rgba(4,22,38,.79),rgba(4,22,38,.94)); }.outsourcing-hero__content { padding-block:72px 188px; }.outsourcing-hero__content > p:not(.eyebrow) { font-size:16px; }.outsourcing-hero .actions { display:grid; justify-items:start; }.outsourcing-hero__badge { left:16px; right:auto; bottom:28px; }.outsourcing-intro { padding-block:58px; }.outsourcing-intro h2 { font-size:34px; }.outsourcing-services-grid,.outcomes-grid,.outsourcing-references { grid-template-columns:1fr; }.outsourcing-flow { grid-template-columns:1fr; gap:24px; padding:0 0 0 29px; }.outsourcing-flow::before { top:0; right:auto; bottom:0; left:6px; width:1px; height:auto; }.outsourcing-flow::after { top:0; left:5px; width:3px; height:25%; }.outsourcing-flow li { padding:0 0 23px 17px; border-left:0; border-bottom:1px solid var(--line); }.outsourcing-flow li:last-child { border-right:0; }.outsourcing-flow li::before { top:1px; left:-29px; }.outsourcing-flow strong { font-size:18px; }.outsourcing-flow p { font-size:12px; }.outcomes-grid > div { padding:23px 21px 25px; }.outsourcing-related-grid article { padding:25px; } }
@media (max-width:560px) { .cyber-hero { min-height:645px; }.cyber-hero > img { object-position:85% center; }.cyber-hero__shade { background:linear-gradient(0deg,rgba(2,15,29,.72),rgba(2,15,29,.92)); }.cyber-hero__content { padding-block:67px 92px; }.cyber-hero__content > p:not(.eyebrow) { font-size:16px; }.cyber-hero__badge { left:16px; right:auto; bottom:27px; max-width:calc(100% - 32px); }.cyber-intro { padding-block:58px; }.cyber-intro__media { min-height:220px; }.cyber-intro h2 { font-size:34px; }.cyber-start-grid { grid-template-columns:1fr; }.cyber-audit-flow { grid-template-columns:1fr; gap:24px; padding:0 0 0 29px; }.cyber-audit-flow::before { top:0; right:auto; bottom:0; left:6px; width:1px; height:auto; }.cyber-audit-flow::after { top:0; left:5px; width:3px; height:25%; }.cyber-audit-flow li { padding:0 0 23px 17px; border-left:0; border-bottom:1px solid var(--line); }.cyber-audit-flow li:last-child { border-right:0; }.cyber-audit-flow li::before { top:1px; left:-29px; }.cyber-audit-flow strong { font-size:18px; }.cyber-audit-flow p { font-size:12px; }.security-arch { padding:22px; }.continuity-layout__media { min-height:310px; }.continuity-layout__badge { max-width:calc(100% - 32px); } }
@media (max-width:560px) { .business-hero { min-height:625px; }.business-hero > img { object-position:57% center; }.business-hero__shade { background:linear-gradient(0deg,rgba(3,24,39,.71),rgba(3,24,39,.91)); }.business-hero__content { padding-block:67px 92px; }.business-hero__content > p:not(.eyebrow) { font-size:16px; }.business-hero__stat { left:16px; right:auto; bottom:27px; max-width:calc(100% - 32px); } .office-hero__badge,.vision-hero__badge,.museum-hero__badge { left:16px; right:auto; bottom:27px; max-width:calc(100% - 32px); }.business-intro { padding-block:58px; }.business-intro__media { min-height:220px; }.business-intro h2 { font-size:34px; }.hpc-intro__media { min-height:220px; }.business-competency-grid,.business-realizations-grid,.business-flow,.business-ecosystem-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .hpc-hero { min-height:645px; }.hpc-hero > img { object-position:56% center; }.hpc-hero__shade { background:linear-gradient(0deg,rgba(3,18,34,.72),rgba(3,18,34,.92)); }.hpc-hero__content { padding-block:67px 92px; }.hpc-hero__content > p:not(.eyebrow) { font-size:16px; }.hpc-hero__scale { left:16px; right:auto; bottom:27px; }.hpc-intro { padding-block:58px; }.hpc-intro h2 { font-size:34px; }.gpu-rack { min-height:340px; padding:20px; }.gpu-rack__header { display:grid; gap:6px; }.gpu-rack__slots { gap:3px; padding-block:25px; }.gpu-rack__slots i { height:121px; }.gpu-rack__footer { display:grid; gap:6px; }.hpc-resilience-grid { grid-template-columns:1fr; }.hpc-stack-grid { grid-template-columns:1fr; }.hpc-workstation-layout__media { min-height:240px; }.hpc-methodology__media { min-height:240px; }.hpc-tech-grid { grid-template-columns:repeat(2,1fr); } }

/* Architektura IT — kompletne środowiska serwerowe */

.text-link { display:inline-block; margin-top:10px; color:#097a88; font-size:13px; font-weight:850; }
.contact-band__kicker { display:block; margin-bottom:10px; color:#0b9ba6; font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }.contact-band__checks { grid-column:1; display:flex; flex-wrap:wrap; gap:12px 28px; margin:22px 0 0; padding:0; list-style:none; }.contact-band__checks li { display:flex; align-items:center; gap:9px; color:#cbd5e1; font-size:13px; font-weight:650; }.contact-band__checks li::before { content:"✓"; display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; background:rgba(52,211,153,.16); color:#34d399; font-size:11px; font-weight:900; }
.hpc-page .contact-band { position:relative; overflow:hidden; background:radial-gradient(circle at 78% 42%,rgba(11,155,166,.16),transparent 45%),linear-gradient(120deg,#0a253b,#0d3350); margin-top:24px; padding:64px 48px; grid-template-columns:minmax(0,65fr) minmax(0,35fr); column-gap:48px; }.hpc-page .contact-band__kicker { color:#0b9ba6; }.hpc-page .contact-band h2 { font-size:32px; line-height:1.22; }.hpc-page .contact-band p { max-width:600px; color:#94a3b8; font-size:16px; line-height:1.6; }.hpc-page .contact-band__checks { grid-column:1; display:flex; flex-wrap:wrap; gap:12px 28px; margin:22px 0 0; padding:0; list-style:none; }.hpc-page .contact-band__checks li { display:flex; align-items:center; gap:9px; color:#cbd5e1; font-size:13px; font-weight:650; }.hpc-page .contact-band__checks li::before { content:"✓"; display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; background:rgba(52,211,153,.16); color:#34d399; font-size:11px; font-weight:900; }.hpc-page .contact-band__action { grid-row:2 / span 2; justify-content:center; }.hpc-page .contact-band__note { color:#64748b; }@media (max-width:700px) { .hpc-page .contact-band__action { grid-row:auto; justify-content:flex-start; } }@media (max-width:560px) { .hpc-page .contact-band { padding:36px 26px; } .hpc-page .contact-band h2 { font-size:22px; line-height:1.32; } .hpc-page .contact-band p { font-size:14.5px; } .hpc-page .contact-band__checks { gap:10px 20px; } .hpc-page .contact-band__action > .button { padding-inline:20px; font-size:13.5px; } }

/* O PCS */
.about-hero { min-height:590px; position:relative; display:grid; align-items:center; overflow:hidden; isolation:isolate; color:#fff; background:#082940; }
.about-hero > img,.about-hero__shade { position:absolute; inset:0; width:100%; height:100%; }
.about-hero > img { object-fit:cover; object-position:center; z-index:-2; }
.about-hero__shade { z-index:-1; background:radial-gradient(52% 95% at 19% 58%,rgba(2,12,19,.8),transparent 78%),linear-gradient(90deg,rgba(3,23,38,.73),rgba(7,44,62,.41) 51%,rgba(4,31,46,.06)); }
.about-hero__content { padding-block:88px 105px; }
.about-hero h1 { max-width:790px; font-size:clamp(44px,5.1vw,68px); }
.about-hero__content > p:not(.eyebrow) { max-width:645px; margin-bottom:30px; color:#dcebee; font-size:18px; line-height:1.58; }
.about-hero__date { position:absolute; right:max(24px,calc((100vw - 1180px)/2)); bottom:40px; padding:16px; border-left:2px solid #52c7d2; background:rgba(4,26,42,.78); backdrop-filter:blur(8px); }
.about-hero__date span { display:block; color:#9ee1e8; font-size:11px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.about-hero__date strong { display:block; margin-top:5px; font-size:15px; }
.section--about-companies { padding-block:86px; }
.about-companies-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.about-company-card { padding:32px 28px; border-top:3px solid #0b9ba6; background:#fff; }
.about-company-card__label{ display:block; margin-bottom:16px; color:#087d8b; font-size:12px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.about-company-card h3 { margin-bottom:10px; font-size:22px; line-height:1.2; letter-spacing:-.03em; }
.about-company-card__tagline { margin:0 0 14px; color:var(--ink); font-size:14px; font-weight:750; line-height:1.4; }
.about-company-card p:not(.about-company-card__tagline) { margin:0; color:var(--ink-light); font-size:14px; line-height:1.62; }
.section--about-manifesto { background:var(--soft); }
.about-manifesto { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.about-manifesto__media { position:relative; overflow:hidden; min-height:520px; background:#eef3f3; }
.about-manifesto__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.about-manifesto__list { counter-reset:manifesto-counter; margin:28px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.about-manifesto__list li { position:relative; display:grid; grid-template-columns:48px 1fr; gap:20px; padding:26px 0; border-bottom:1px solid var(--line); }
.about-manifesto__list li::before { content:counter(manifesto-counter,decimal-leading-zero); counter-increment:manifesto-counter; color:#0b9ba6; font-size:28px; font-weight:900; letter-spacing:-.02em; line-height:1.2; }
.about-manifesto__list h3 { margin:0 0 8px; font-size:17px; line-height:1.3; letter-spacing:-.02em; }
.about-manifesto__list p { margin:0; color:var(--ink-light); font-size:14px; line-height:1.62; }
@media (max-width:880px) { .about-companies-grid { grid-template-columns:1fr; gap:16px; } .about-manifesto { grid-template-columns:1fr; gap:24px; } .about-manifesto__media { min-height:280px; } }
.history-timeline { position:relative; max-width:760px; margin:56px 0 0; padding:0; list-style:none; }
.history-timeline::before { content:""; position:absolute; top:6px; bottom:6px; left:7px; width:2px; background:var(--line); }
.history-timeline li { position:relative; margin:0; padding:0 0 44px 44px; }
.history-timeline li:last-child { padding-bottom:0; }
.history-timeline li::before { content:""; position:absolute; top:3px; left:0; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid #0b9ba6; z-index:1; }
.history-timeline time { display:block; margin-bottom:8px; color:#117a90; font-size:12.5px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.history-timeline h3 { margin-bottom:8px; font-size:21px; line-height:1.2; letter-spacing:-.03em; }
.history-timeline p { margin:0; color:var(--ink-light); font-size:14.5px; line-height:1.6; }
@media (min-width:881px) { .history-timeline { max-width:920px; margin-inline:auto; } .history-timeline::before { left:50%; margin-left:-1px; } .history-timeline li { width:calc(50% - 40px); padding-left:0; } .history-timeline li:nth-child(odd) { margin-right:auto; padding-right:40px; } .history-timeline li:nth-child(even) { margin-left:auto; padding-left:40px; padding-right:0; } .history-timeline li::before { left:auto; } .history-timeline li:nth-child(odd)::before { left:calc(100% + 32px); } .history-timeline li:nth-child(even)::before { left:-48px; } }
.section--about-process { background:#0a253b; color:#fff; }
.section--about-process .split-heading > p { color:#c2d9df; }
.about-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.about-process-grid article { min-height:232px; padding:27px 22px; border:1px solid rgba(187,224,232,.23); background:rgba(255,255,255,.035); }
.about-process-grid span { display:block; margin-bottom:31px; color:#0b9ba6; font-size:12px; font-weight:850; }
.about-process-grid strong { display:block; margin-bottom:11px; font-size:17px; line-height:1.2; }
.about-process-grid p { margin:0; color:#c8dbe2; font-size:12px; line-height:1.57; }
.about-context-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.about-context-grid article { min-height:170px; padding:24px 21px; border:1px solid var(--line); background:#fff; }
.about-context-grid strong { display:block; margin-bottom:13px; font-size:17px; }
.about-context-grid span { color:var(--ink-light); font-size:12px; line-height:1.55; }
@media (max-width:880px) { .about-intro { grid-template-columns:1fr; gap:10px; }.about-process-grid,.about-context-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .about-hero { min-height:650px; }.about-hero > img { object-position:59% center; }.about-hero__shade { background:linear-gradient(0deg,rgba(3,20,34,.73),rgba(3,20,34,.92)); }.about-hero__content { padding-block:67px 94px; }.about-hero__content > p:not(.eyebrow) { font-size:16px; }.about-hero__date { left:16px; right:auto; bottom:28px; }.about-intro { padding-block:58px; }.about-intro h2 { font-size:34px; }.branches-grid,.about-process-grid,.about-context-grid { grid-template-columns:1fr; }.branch-card { min-height:0; padding:28px 24px; }.branch-card > span { margin-bottom:38px; }.branch-card h3 { font-size:29px; }.history-timeline li { padding-bottom:34px; padding-left:34px; }.history-timeline::before { left:5px; }.history-timeline li::before { width:14px; height:14px; }.hpc-tech-grid { grid-template-columns:repeat(2,1fr); } }

/* Prywatne stacje AI */
.ai-hero { min-height:590px; position:relative; display:grid; align-items:center; overflow:hidden; isolation:isolate; color:#fff; background:#071e35; }
.ai-hero > img,.ai-hero__shade { position:absolute; inset:0; width:100%; height:100%; }
.ai-hero > img { object-fit:cover; object-position:center top; z-index:-2; }@media (min-width:1152px) { .ai-hero > img { object-position:center calc(33px - 7.5vw); } }
.ai-hero__shade { z-index:-1; background:radial-gradient(52% 95% at 19% 58%,rgba(2,9,17,.8),transparent 78%),linear-gradient(90deg,rgba(3,18,34,.74),rgba(7,38,61,.4) 51%,rgba(4,26,44,.07)); }
.ai-hero__content { padding-block:81px 104px; }
.ai-hero h1 { max-width:780px; font-size:clamp(44px,5.1vw,68px); }
.ai-hero__content > p:not(.eyebrow) { max-width:650px; margin-bottom:30px; color:#dfedf2; font-size:18px; line-height:1.58; }
.ai-hero__badge { position:absolute; right:max(24px,calc((100vw - 1180px)/2)); bottom:39px; padding:16px; border-left:2px solid #54c2cc; background:rgba(4,25,43,.78); backdrop-filter:blur(8px); }
.ai-hero__badge span { display:block; color:#9ee1e8; font-size:11px; font-weight:850; letter-spacing:.09em; }
.ai-hero__badge strong { display:block; margin-top:5px; font-size:14px; }
.ai-intro { display:grid; grid-template-columns:1fr; gap:14px; padding-block:86px; }
.ai-intro > div { max-width:none; }.ai-intro h2 { margin-bottom:20px; font-size:42px; }.ai-intro p:not(.eyebrow) { margin:0; color:var(--ink-light); font-size:16px; line-height:1.68; }.ai-intro p:not(.eyebrow) + p:not(.eyebrow) { margin-top:16px; }.ai-intro__text { display:grid; grid-template-columns:1fr 1fr; gap:48px; }.ai-intro__text p:not(.eyebrow) + p:not(.eyebrow) { margin-top:0; }
.section--ai-soft { background:var(--soft); }.ai-values-grid,.ai-models-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.ai-values-grid { grid-template-columns:1fr; gap:12px; }.ai-values-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:stretch; }.ai-values-layout__media { position:relative; overflow:hidden; min-height:520px; background:#0a253b; }.ai-values-layout__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }.ai-values-layout__lead { max-width:560px; margin:16px 0 28px; color:var(--ink-light); font-size:15px; line-height:1.63; }
.ai-values-grid article { display:grid; grid-template-columns:40px 1fr; align-items:start; padding:22px 24px; border-top:3px solid #1a87a4; background:#fff; }.ai-values-grid article > span { grid-row:1 / span 2; margin:4px 0 0; }.ai-values-grid article > h3,.ai-values-grid article > p { grid-column:2; }
.ai-values-grid span,.ai-models-grid > article > span { display:block; margin-bottom:33px; color:#1a87a4; font-size:12px; font-weight:850; }
.ai-values-grid h3,.ai-models-grid h3 { margin-bottom:12px; font-size:22px; letter-spacing:-.04em; }.ai-values-grid p,.ai-models-grid p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.58; }.ai-values-grid h3 { margin-bottom:8px; font-size:19px; }.ai-values-grid p { font-size:13.5px; }
.ai-models-grid article { min-height:323px; padding:28px 25px; border:1px solid var(--line); }.ai-models-grid ul { display:grid; gap:8px; margin:24px 0 0; padding:0; list-style:none; }.ai-models-grid li { color:#436171; font-size:12px; font-weight:750; }.ai-models-grid li::before { content:"—"; margin-right:7px; color:#16829b; }.ai-models-grid .ai-models-grid__typical { margin-top:22px; padding-top:16px; border-top:1px solid var(--line); color:var(--ink); font-size:12.5px; line-height:1.55; }.ai-models-grid__typical strong { color:#16829b; }
.section--ai-dark { background:#0a253b; color:#fff; }.section--ai-dark .split-heading > p { color:#bdd3de; }
.ai-architecture { padding:40px; border:1px solid rgba(187,223,232,.22); background:radial-gradient(circle at 24% 50%,rgba(30,127,150,.28),transparent 28%),#0b2b44; }
.ai-architecture__core { min-height:224px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:25px; border:1px solid #4fbbc7; background:rgba(5,30,47,.74); text-align:center; }.ai-architecture__core span { color:#9ddce4; font-size:11px; font-weight:850; letter-spacing:.1em; }.ai-architecture__core strong { margin:10px 0 6px; font-size:35px; line-height:.86; letter-spacing:-.07em; }.ai-architecture__core small { color:#c7dfe3; font-size:11px; }
.ai-hub { position:relative; display:grid; grid-template-columns:1fr 1fr; column-gap:210px; row-gap:120px; }.ai-hub .ai-architecture__core { position:absolute; left:50%; top:50%; z-index:0; width:430px; height:240px; min-height:0; padding:0; transform:translate(-50%,-50%); }.ai-hub .ai-architecture__core strong { font-size:30px; }.ai-hub article { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:150px; padding:20px 26px; border:1px solid rgba(181,221,229,.35); background:#0e3350; }.ai-hub article strong { display:block; margin-bottom:8px; color:#eaf7f8; font-size:15px; }.ai-hub__icon { flex:none; width:30px; height:30px; margin-bottom:12px; color:#4fbbc7; stroke-width:1.6; }.ai-hub article span { color:#c8dde4; font-size:12px; line-height:1.5; }
.ai-uses-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.ai-stack-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:stretch; }.ai-stack-layout__lead { max-width:560px; margin:16px 0 30px; color:var(--ink-light); font-size:15px; line-height:1.63; }.ai-stack-cols { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.ai-stack-cols .hpc-stack-tags + h4 { margin-top:26px; }.ai-stack-layout__media { position:relative; overflow:hidden; min-height:520px; background:#eef3f3; }.ai-stack-layout__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 60%; }.ai-security-note { margin:24px 0 0; color:var(--ink-light); font-size:14px; }.ai-uses-grid article { min-height:222px; padding:25px 21px; border:1px solid var(--line); background:#fff; }.ai-uses-grid span { display:block; margin-bottom:28px; color:#16829b; font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }.ai-uses-grid strong { display:block; margin-bottom:10px; font-size:17px; line-height:1.17; }.ai-uses-grid p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.55; }.ai-uses-grid .text-link { display:inline-flex; align-items:center; margin-top:16px; padding:11px 18px; border-radius:4px; background:#0a253b; color:#fff; font-size:12.5px; font-weight:800; text-decoration:none; transition:transform .18s ease,background .18s ease; }.ai-uses-grid .text-link:hover { transform:translateY(-2px); background:#0d3150; }
.section--ai-panel { background:var(--soft); }.section--ai-panel .split-heading > div { max-width:680px; }.section--ai-panel .split-heading > p { max-width:400px; }.ai-infra-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.ai-infra-grid article { min-height:170px; padding:23px 20px; border:1px solid var(--line); background:#fff; }.ai-infra-grid strong { display:block; margin-bottom:12px; font-size:16px; }.ai-infra-grid span { color:var(--ink-light); font-size:12px; line-height:1.5; }.ai-infra-links { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.ai-infra-card { display:flex; flex-direction:column; border:1px solid var(--line); background:#fff; color:inherit; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease; }.ai-infra-card:hover { transform:translateY(-3px); box-shadow:0 12px 24px rgba(9,28,43,.1); }.ai-infra-card__media { position:relative; height:140px; overflow:hidden; background:#0a253b; }.ai-infra-card__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }.ai-infra-card:hover .ai-infra-card__media img { transform:scale(1.04); }.ai-infra-card__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,24,40,.05) 30%,rgba(6,24,40,.85)); }.ai-infra-card__media strong { position:absolute; left:18px; right:18px; bottom:14px; z-index:1; color:#fff; font-size:18px; line-height:1.2; }.ai-infra-card p { margin:0; padding:18px 20px 0; color:var(--ink-light); font-size:14px; line-height:1.55; }.ai-infra-card__more { margin-top:auto; align-self:flex-end; padding:8px 18px 12px; color:#097a88; font-size:20px; font-weight:850; line-height:1; transition:transform .18s ease; }.ai-infra-card:hover .ai-infra-card__more { transform:translateX(4px); }
.ai-flow { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; list-style:none; border-top:1px solid var(--line); border-left:1px solid var(--line); }.ai-flow li { min-height:239px; padding:27px 23px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.ai-flow span{ display:block; margin-bottom:31px; color:#087d8b; font-size:12px; font-weight:850; }.ai-flow strong { display:block; margin-bottom:10px; font-size:17px; line-height:1.2; }.ai-flow p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.55; }
@media (max-width:880px) { .ai-intro { grid-template-columns:1fr; gap:10px; }.ai-intro__text { grid-template-columns:1fr; gap:16px; }.ai-values-grid,.ai-models-grid { grid-template-columns:1fr; }.ai-values-layout { grid-template-columns:1fr; gap:28px; }.ai-stack-layout { grid-template-columns:1fr; gap:28px; }.ai-stack-layout__media { min-height:0; height:340px; }.ai-stack-layout__media img { object-position:center 66%; }.ai-values-layout__media { min-height:0; height:340px; }.ai-values-layout__media img { object-position:center 58%; }.ai-hub { grid-template-columns:1fr; row-gap:10px; column-gap:0; }.ai-hub .ai-architecture__core { position:static; width:auto; height:auto; min-height:150px; padding:22px; transform:none; }.ai-hub article { min-height:0; }.ai-uses-grid,.ai-infra-grid,.ai-flow,.ai-infra-links { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .ai-hero { min-height:650px; }.ai-hero > img { object-position:84% center; }.ai-values-layout__media { height:260px; }.ai-stack-layout__media { height:280px; }.ai-stack-cols { grid-template-columns:1fr; gap:0; }.ai-stack-cols .hpc-stack-grid__col + .hpc-stack-grid__col { margin-top:26px; }.ai-hero__shade { background:linear-gradient(0deg,rgba(3,18,34,.72),rgba(3,18,34,.92)); }.ai-hero__content { padding-block:67px 92px; }.ai-hero__content > p:not(.eyebrow) { font-size:16px; }.ai-hero__badge { left:16px; right:auto; bottom:27px; }.ai-intro { padding-block:58px; }.ai-intro h2 { font-size:34px; }.ai-architecture { padding:14px; }.ai-uses-grid,.ai-infra-grid,.ai-flow,.ai-values-grid,.ai-infra-links { grid-template-columns:1fr; } }

/* InsERT */
.insert-hero { min-height:598px; position:relative; overflow:hidden; color:#fff; background:radial-gradient(circle at 83% 22%,rgba(240,65,47,.28),transparent 25%),linear-gradient(120deg,#082b44,#123d52); }
.insert-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,25,41,.1),rgba(5,29,46,.1)),repeating-linear-gradient(90deg,transparent 0,transparent 66px,rgba(180,230,234,.06) 67px); }
.insert-hero__layout { min-height:598px; display:grid; grid-template-columns:1fr .72fr; gap:45px; align-items:center; position:relative; z-index:1; }
.insert-hero__copy { padding-block:72px 90px; }.insert-hero__copy .back-link { color:#d4edf0; }.insert-hero__copy .eyebrow { color:#f3c4bd; }
.insert-logo { display:block; width:min(230px,46%); height:auto; margin:0 0 18px; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); }
.insert-hero h1 { max-width:670px; font-size:clamp(45px,5.1vw,68px); }.insert-hero__copy > p:not(.eyebrow) { max-width:635px; margin-bottom:30px; color:#e2eef1; font-size:18px; line-height:1.58; }
.insert-hero .button--primary { background:#e8372f; }.insert-hero .button--primary:hover { background:#c92b25; }.insert-hero__products { min-height:450px; position:relative; }.insert-hero__products img { position:absolute; bottom:0; width:250px; max-height:410px; object-fit:contain; filter:drop-shadow(0 22px 24px rgba(0,0,0,.3)); }.insert-hero__products img:nth-child(1) { left:0; z-index:3; }.insert-hero__products img:nth-child(2) { right:13%; z-index:2; transform:translateY(-10px) rotate(5deg); }.insert-hero__products img:nth-child(3) { right:-7%; z-index:1; transform:translateY(4px) rotate(12deg); opacity:.83; }
.insert-hero__mark { position:absolute; right:max(24px,calc((100vw - 1180px)/2)); bottom:37px; z-index:2; padding:13px 16px; border-left:2px solid #eb3d34; background:rgba(4,25,41,.62); color:#e7f0f2; font-size:12px; font-weight:850; }
.insert-intro { display:grid; grid-template-columns:.7fr 1.3fr; gap:42px; padding-block:86px; }.insert-intro > div { max-width:780px; }.insert-intro h2 { margin-bottom:20px; font-size:42px; }.insert-intro p:not(.eyebrow) { margin:0; color:var(--ink-light); font-size:16px; line-height:1.68; }
.section--insert-soft { background:var(--soft); }.insert-audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.insert-audience-grid article { min-height:255px; padding:28px 26px; border-top:3px solid #df3d35; background:#fff; }.insert-audience-grid span { display:block; margin-bottom:33px; color:#cf302a; font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.insert-audience-grid h3 { margin-bottom:12px; font-size:22px; letter-spacing:-.04em; }.insert-audience-grid p { margin:0; color:var(--ink-light); font-size:13px; line-height:1.58; }
.insert-scope-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }.insert-scope-grid article { min-height:249px; padding:26px 20px; border:1px solid var(--line); }.insert-scope-grid span { display:block; margin-bottom:31px; color:#dc352d; font-size:12px; font-weight:850; }.insert-scope-grid h3 { margin-bottom:11px; font-size:18px; letter-spacing:-.035em; }.insert-scope-grid p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.55; }
.section--insert-dark { background:#0a253b; color:#fff; }.section--insert-dark .split-heading > p { color:#cadadf; }.insert-products-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.insert-products-grid article { min-height:405px; display:flex; flex-direction:column; align-items:center; padding:22px 18px 20px; background:#fff; color:var(--ink); text-align:center; }.insert-products-grid img { width:145px; height:206px; object-fit:contain; margin:2px 0 17px; }.insert-products-grid span { display:block; margin-bottom:8px; color:#cf302a; font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.insert-products-grid h3 { margin-bottom:8px; font-size:24px; letter-spacing:-.045em; }.insert-products-grid p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.5; }.insert-catalogue-note { max-width:750px; margin:24px 0 0; color:#d1e1e5; font-size:14px; line-height:1.6; }
.insert-migration-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:68px; align-items:center; }.insert-migration-layout > div > p:not(.eyebrow) { color:var(--ink-light); font-size:15px; line-height:1.65; }.insert-migration-steps { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; padding:0; list-style:none; }.insert-migration-steps li { min-height:169px; padding:21px; background:#f6f3f1; border-top:3px solid #e43a31; }.insert-migration-steps span { display:block; margin-bottom:23px; color:#d1332b; font-size:11px; font-weight:850; }.insert-migration-steps strong { display:block; margin-bottom:8px; font-size:18px; }.insert-migration-steps small { color:var(--ink-light); font-size:12px; line-height:1.5; }
.section--insert-panel { background:var(--soft); }.insert-integration-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.insert-integration-grid article { min-height:170px; padding:23px 20px; border:1px solid var(--line); background:#fff; }.insert-integration-grid strong { display:block; margin-bottom:12px; font-size:16px; }.insert-integration-grid span { color:var(--ink-light); font-size:12px; line-height:1.5; }
.insert-flow { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; list-style:none; border-top:1px solid var(--line); border-left:1px solid var(--line); }.insert-flow li { min-height:239px; padding:27px 23px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.insert-flow span { display:block; margin-bottom:31px; color:#d1332b; font-size:12px; font-weight:850; }.insert-flow strong { display:block; margin-bottom:10px; font-size:17px; line-height:1.2; }.insert-flow p { margin:0; color:var(--ink-light); font-size:12px; line-height:1.55; }
@media (max-width:880px) { .insert-hero__layout { grid-template-columns:1fr .7fr; }.insert-hero__products img { width:190px; }.insert-hero__products img:nth-child(2) { right:0; }.insert-hero__products img:nth-child(3) { display:none; }.insert-intro { grid-template-columns:1fr; gap:10px; }.insert-audience-grid { grid-template-columns:1fr; }.insert-scope-grid { grid-template-columns:1fr 1fr; }.insert-products-grid { grid-template-columns:1fr 1fr; }.insert-migration-layout { grid-template-columns:1fr; gap:35px; }.insert-integration-grid,.insert-flow { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .insert-hero { min-height:665px; }.insert-hero__layout { min-height:665px; display:block; }.insert-hero__copy { padding-block:67px 210px; }.insert-hero h1 { font-size:43px; }.insert-hero__copy > p:not(.eyebrow) { font-size:16px; }.insert-logo { width:180px; }.insert-hero__products { position:absolute; right:-5px; bottom:-40px; width:225px; min-height:235px; }.insert-hero__products img { width:139px; max-height:225px; }.insert-hero__products img:nth-child(1) { left:0; }.insert-hero__products img:nth-child(2) { right:-3px; }.insert-hero__mark { display:none; }.insert-intro { padding-block:58px; }.insert-intro h2 { font-size:34px; }.insert-scope-grid,.insert-products-grid,.insert-integration-grid,.insert-flow { grid-template-columns:1fr; }.insert-migration-steps { grid-template-columns:1fr; }.insert-products-grid article { min-height:0; }.insert-products-grid img { height:187px; } }

/* Wspólny rytm sekcji wprowadzających na wszystkich podstronach. */
.museum-intro,.office-intro,.hmi-intro,.outsourcing-intro,.cyber-intro,.business-intro,.hpc-intro,.about-intro,.ai-intro,.insert-intro { padding-block:72px; }
@media (max-width:560px) { .museum-intro,.office-intro,.hmi-intro,.outsourcing-intro,.cyber-intro,.business-intro,.hpc-intro,.about-intro,.ai-intro,.insert-intro { padding-block:48px; } }

@media (max-width:560px) {
 .modal--project { max-width:calc(100vw - 32px); }
 .modal-content--project { grid-template-columns:1fr; padding:0; }
 .modal-project__media img { min-height:190px; max-height:250px; }
 .modal-project__copy { max-height:calc(100vh - 222px); padding:29px 24px 32px; }
 .modal--featured { max-width:calc(100vw - 32px); }
 .modal--featured .modal-content--project { max-height:calc(100vh - 32px); }
 .modal--featured .modal-project__media { height:auto; aspect-ratio:18 / 9; }
 .modal--featured .modal-project__copy { max-height:none; padding:25px 24px 30px; }
 .modal--featured .modal-project__hero-heading { left:24px; right:48px; bottom:20px; }
 .modal--featured .modal-project__hero-heading h2 { font-size:28px; }
 #projects-title { font-size:27px; }
 .projects-grid { grid-template-columns:1fr; }
 .projects-grid .project-card { min-height:0; }
}

@media (min-width:561px) and (max-width:1040px) {
 .projects-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .projects-grid .project-card { min-height:0; }
}

/* Spacing for the expanded Smart Office organization copy. */
.office-intro__details { display:grid; gap:20px; margin-top:26px; }
.office-spaces-layout__copy > p:not(.eyebrow) { color:var(--ink-light); line-height:1.65; margin-top:20px; }
.office-page .contact-band { margin-top:24px; }
.hmi-page .contact-band { margin-top:24px; }
.office-page .contact-band, .hmi-page .contact-band { background:radial-gradient(circle at 78% 42%,rgba(56,189,248,.16),transparent 45%),linear-gradient(120deg,#0b1120,#0f172a); }
.museum-page .contact-band { background:radial-gradient(circle at 78% 42%,rgba(56,189,248,.16),transparent 45%),linear-gradient(120deg,#0b1120,#0f172a); }.office-page .contact-band__kicker, .hmi-page .contact-band__kicker, .museum-page .contact-band__kicker { color:#38bdf8; }
.outsourcing-page .contact-band { margin-top:24px; }
.cyber-page .contact-band { margin-top:24px; }


.business-page .contact-band { margin-top:24px; }
@media (max-width:560px) { .hpc-page .contact-band { margin-top:24px; } }
.contact-band > .contact-band__action { display:flex; flex-direction:column; gap:14px; grid-column:2; grid-row:2 / span 2; justify-content:center; }
.contact-band__action > .button { width:100%; min-height:60px; padding-inline:56px; }
.contact-band__note { margin:0; color:#64748b; font-size:12px; line-height:1.5; }.visioncore-page .section--dark { background:#0b1120; }.visioncore-page .contact-band { position:relative; overflow:hidden; background:radial-gradient(circle at 78% 42%,rgba(56,189,248,.16),transparent 45%),linear-gradient(120deg,#0b1120,#0f172a); margin-top:24px; padding:64px 48px; grid-template-columns:minmax(0,65fr) minmax(0,35fr); column-gap:48px; }.visioncore-page .contact-band__kicker { color:#38bdf8; }.visioncore-page .contact-band h2 { font-size:32px; line-height:1.22; }.visioncore-page .contact-band p { max-width:600px; color:#94a3b8; font-size:16px; line-height:1.6; }.visioncore-page .contact-band__checks { grid-column:1; display:flex; flex-wrap:wrap; gap:12px 28px; margin:22px 0 0; padding:0; list-style:none; }.visioncore-page .contact-band__checks li { display:flex; align-items:center; gap:9px; color:#cbd5e1; font-size:13px; font-weight:650; }.visioncore-page .contact-band__checks li::before { content:"✓"; display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; background:rgba(52,211,153,.16); color:#34d399; font-size:11px; font-weight:900; }.visioncore-page .contact-band__action { grid-row:2 / span 2; justify-content:center; }.visioncore-page .contact-band__note { color:#64748b; }@media (max-width:700px) { .visioncore-page .contact-band__action { grid-row:auto; justify-content:flex-start; } }@media (max-width:560px) { .visioncore-page .contact-band { padding:36px 26px; } .visioncore-page .contact-band h2 { font-size:22px; line-height:1.32; } .visioncore-page .contact-band p { font-size:14.5px; } .visioncore-page .contact-band__checks { gap:10px 20px; } .visioncore-page .contact-band__action > .button { padding-inline:20px; font-size:13.5px; } }
@media (max-width:700px) { .contact-band > .contact-band__action { grid-column:1; } }
#layers .split-heading > p, #audit .split-heading > p { color:#475569; }
@media (max-width:880px) { .desktop-break { display:none; } }
.outsourcing-related-grid article { overflow:hidden; padding:0 28px 28px; }
.outsourcing-related-grid img { display:block; width:calc(100% + 56px); height:220px; margin:0 -28px 25px; object-fit:cover; }
@media (max-width:560px) { .outsourcing-related-grid article { padding:0 25px 25px; }.outsourcing-related-grid img { width:calc(100% + 50px); height:180px; margin:0 -25px 22px; } }

/* Digital Signage references reuse the homepage project cards. */
.hmi-references-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.hmi-references-grid .project-card { min-width:0; min-height:340px; aspect-ratio:auto; color:#fff; }
@media (max-width:640px) { .hmi-references-grid { grid-template-columns:1fr; } }

/* Podstrony: hero pozostaje mocny, ale korzysta ze skali tytułów sekcji. */
.vision-hero h1,.museum-hero h1,.office-hero h1,.hmi-hero h1,.outsourcing-hero h1,.cyber-hero h1,.business-hero h1,.hpc-hero h1,.about-hero h1,.ai-hero h1,.insert-hero h1 { font-size:42px; line-height:1.05; }
.vision-hero__content,.museum-hero__content,.office-hero__content,.hmi-hero__content,.outsourcing-hero__content,.cyber-hero__content,.business-hero__content,.hpc-hero__content,.about-hero__content,.ai-hero__content { padding-block:100px 85px; }
.insert-hero__copy { padding-block:100px 85px; }
@media (max-width:560px) { .vision-hero h1,.museum-hero h1,.office-hero h1,.hmi-hero h1,.outsourcing-hero h1,.cyber-hero h1,.business-hero h1,.hpc-hero h1,.about-hero h1,.ai-hero h1,.insert-hero h1 { font-size:31px; line-height:1.06; }.vision-hero__content,.museum-hero__content,.office-hero__content,.hmi-hero__content,.outsourcing-hero__content,.cyber-hero__content,.business-hero__content,.hpc-hero__content,.about-hero__content,.ai-hero__content { padding-block:81px 78px; } .office-hero__content,.vision-hero__content,.museum-hero__content { padding-bottom:145px; }.insert-hero__copy { padding-block:82px 195px; } }


/* Wspólny układ CTA: tytuł na całą szerokość, niżej opis i szeroki przycisk. */
.contact-band { display:grid; grid-template-columns:minmax(0,65fr) minmax(0,35fr); align-items:center; column-gap:48px; row-gap:28px; }
.contact-band > div { display:contents; }
.contact-band h2 { grid-column:1 / -1; max-width:none; font-size:32px; line-height:1.22; }
.contact-band p { grid-column:1; margin:0; }
.contact-band > .button { width:100%; min-height:60px; grid-column:2; padding-inline:56px; }
@media (max-width:700px) { .contact-band { grid-template-columns:1fr; row-gap:20px; }.contact-band h2,.contact-band p,.contact-band > .button { grid-column:1; }.contact-band > .button { margin-top:5px; padding-inline:32px; }.contact-band > .contact-band__action { grid-row:auto; justify-content:flex-start; } }
/* Poprawka: strony .hpc-page i .visioncore-page nadpisują grid-template-columns sekcji .contact-band bez media query, więc powyższy reset na wąskich ekranach ich nie dotyczył — pasek CTA zostawał w układzie dwukolumnowym (treść przyklejona do lewej kolumny, niepełna szerokość). */
@media (max-width:700px) { .hpc-page .contact-band, .visioncore-page .contact-band { grid-template-columns:1fr; row-gap:20px; } }

/* Poprawka: przyciski w hero nie mogą nachodzić na pływającą plakietkę w rogu (dotyczy zakresu mobile i tablet, nie tylko mobile) */

/* Odstęp między akapitami w sekcji "Filozofia bezpieczeństwa PCS" (teraz dwa akapity zamiast jednego) */
.cyber-intro p:not(.eyebrow) + p { margin-top:18px; }

@media (max-width:900px) {
 .business-page .business-hero__content { padding-bottom:220px; }
 .cyber-page .cyber-hero__content { padding-bottom:220px; }
 .hmi-page .hmi-hero__content { padding-bottom:220px; }
 .outsourcing-page .outsourcing-hero__content { padding-bottom:220px; }
 .hpc-page .hpc-hero__content { padding-bottom:220px; }
 .ai-page .ai-hero__content { padding-bottom:220px; }
}


/* Technical dark footer variant (HPC + VisionCore) — matches the deep-slate CTA/diagram accent used on these pages, and removes the trailing gap so the CTA flows straight into the footer. */
.visioncore-page .site-footer, .office-page .site-footer, .hmi-page .site-footer, .museum-page .site-footer { background:#0b1120; }
.museum-page .section--soft { background:#f7f3ed; }

/* --- Strony prawne (Polityka prywatności, Informacja RODO) --- */
.legal-page main { background:#fff; }
.legal-hero { padding-block:64px 52px; background:var(--soft); border-bottom:1px solid var(--line); }
.legal-hero .page-width { max-width:760px; }
.legal-hero h1 { margin:0 0 14px; font-size:36px; letter-spacing:-.03em; }
.legal-hero p { margin:0; color:var(--ink-light); font-size:16px; line-height:1.6; }
.legal-content { padding-block:56px 88px; }
.legal-content .page-width { max-width:760px; }
.legal-content h2 { margin:44px 0 16px; font-size:23px; letter-spacing:-.02em; color:var(--ink); }
.legal-content h2:first-child { margin-top:0; }
.legal-content h3 { margin:26px 0 8px; font-size:17px; color:var(--ink); }
.legal-content p { margin:0 0 15px; color:var(--ink-light); font-size:15px; line-height:1.72; }
.legal-content ul, .legal-content ol { margin:0 0 15px; padding-left:22px; color:var(--ink-light); font-size:15px; line-height:1.72; }
.legal-content li { margin-bottom:7px; }
.legal-content li > ul { margin-top:8px; margin-bottom:0; }
.legal-content strong { color:var(--ink); }
.legal-content a { color:#087d8b; }
.legal-content .legal-updated { margin-top:40px; padding-top:20px; border-top:1px solid var(--line); color:var(--ink-light); font-size:13px; }
.legal-content .legal-note { margin:0 0 32px; padding:16px 20px; border-left:3px solid var(--teal); background:var(--soft); font-size:14px; color:var(--ink-light); }
.legal-content .legal-todo { margin:0 0 32px; padding:16px 20px; border-left:3px solid var(--red); background:#fff3f2; font-size:14px; color:var(--ink); }

/* --- Modal: dokumenty prawne (Polityka prywatności / RODO) --- */
.footer-sub button { display:inline; font:inherit; margin:0; padding:0; border:0; background:none; color:#8397a1; cursor:pointer; }
.footer-sub button:hover { color:#fff; }
.modal--legal { width:min(760px,calc(100vw - 40px)); max-height:calc(100vh - 40px); overflow:auto; }
.modal-content--legal { padding:40px 44px 44px; }
.modal-content--legal .eyebrow { margin-bottom:10px; }
.modal-content--legal h2#legal-modal-title { margin-bottom:22px; font-size:28px; }
.legal-content .legal-inline-link { border:0; background:none; padding:0; margin:0; font:inherit; color:#087d8b; text-decoration:underline; cursor:pointer; }

/* --- Baner plików cookies --- */
.cookie-banner { position:fixed; left:0; right:0; bottom:0; z-index:60; display:flex; justify-content:center; transform:translateY(120%); opacity:0; pointer-events:none; transition:transform .32s ease, opacity .32s ease; }
.cookie-banner.is-visible { transform:translateY(0); opacity:1; pointer-events:auto; }
.cookie-banner__inner { width:min(1180px,calc(100% - 48px)); margin:0 0 24px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; padding:20px 28px; border-radius:10px; background:var(--navy); color:#fff; box-shadow:0 12px 32px rgba(4,15,26,.28); }
.cookie-banner__inner p { flex:1 1 420px; margin:0; color:#dce6ec; font-size:14px; line-height:1.55; }
.cookie-banner .legal-inline-link { border:0; background:none; padding:0; margin:0; font:inherit; color:#7fd8e0; text-decoration:underline; cursor:pointer; }
.cookie-banner__actions { display:flex; flex-shrink:0; gap:10px; }
@media (max-width:560px) { .cookie-banner__inner { width:100%; margin:0; border-radius:0; padding:18px 16px; gap:14px; } .cookie-banner__actions { width:100%; } .cookie-banner__actions .button { flex:1; } }
/* Minimapa sekcji — tylko wersja mobilna (budowana w script.js). */
.section-scrubber { display:none; }
@media (max-width:880px) {
  .section-scrubber { display:block; position:fixed; top:50%; right:2px; z-index:50; transform:translateY(-50%); transition:opacity .2s ease; }
  .section-scrubber.is-hidden,.section-scrubber.is-before-content { opacity:0; pointer-events:none; }
  .section-scrubber__track { position:relative; display:flex; flex-direction:column; width:22px; padding:6px 4px; border-radius:11px; background:rgba(255,255,255,.28); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); touch-action:none; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; transition:width .18s ease,background .18s ease,box-shadow .18s ease; }
  .section-scrubber__tick { position:relative; display:block; width:100%; height:20px; padding:0; border:0; background:transparent; cursor:pointer; -webkit-tap-highlight-color:transparent; }
  .section-scrubber__tick::after { content:""; position:absolute; top:50%; right:0; width:10px; height:2px; border-radius:1px; background:rgba(12,40,61,.45); box-shadow:0 0 0 1px rgba(255,255,255,.25); transform:translateY(-50%); transition:width .15s ease,background .15s ease; }
  .section-scrubber__tick.is-active::after { width:14px; background:#16829b; }
  .section-scrubber.is-scrubbing .section-scrubber__track,.section-scrubber.is-hovering .section-scrubber__track { width:44px; background:rgba(255,255,255,.94); box-shadow:0 8px 24px rgba(9,28,43,.2); }
  .section-scrubber__tick.is-target::after { width:26px; height:3px; background:#0a253b; }
  .section-scrubber__bubble { position:absolute; top:0; right:58px; width:max-content; max-width:min(250px,calc(100vw - 90px)); padding:10px 14px; border-radius:10px; background:#0a253b; color:#fff; box-shadow:0 10px 28px rgba(9,28,43,.3); opacity:0; pointer-events:none; transform:translate(8px,-50%); transition:opacity .15s ease,transform .15s ease,top .08s linear; }
  .section-scrubber.is-scrubbing .section-scrubber__bubble,.section-scrubber.is-hovering .section-scrubber__bubble { opacity:1; transform:translate(0,-50%); }
  .section-scrubber__label { display:block; overflow:hidden; color:#9ddce4; font-size:10.5px; font-weight:850; letter-spacing:.08em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
  .section-scrubber__title { display:-webkit-box; overflow:hidden; margin-top:4px; font-size:13px; font-weight:700; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .section-scrubber__title:empty { display:none; }
}
@media (max-width:880px) and (prefers-reduced-motion:reduce) { .section-scrubber__bubble,.section-scrubber__track,.section-scrubber__tick::after { transition:none; } }

/* --- Przełącznik języka (PL / EN) w nagłówku --- */
.site-header .main-nav { margin-left:auto; }
.lang-switch { display:flex; align-items:center; margin-left:-6px; padding-left:22px; border-left:1px solid #dfe8e9; height:26px; }
.lang-switch__item { position:relative; display:inline-flex; align-items:center; gap:7px; padding:4px 2px; color:var(--ink); font-size:13px; font-weight:700; letter-spacing:.08em; line-height:1; text-decoration:none; transition:color .2s ease; }
.lang-switch__flag { display:block; flex:none; width:20px; height:13px; border-radius:2px; box-shadow:0 0 0 1px rgba(12,40,61,.16); overflow:hidden; }
.lang-switch__item::after { content:""; position:absolute; left:2px; right:2px; bottom:-3px; height:2px; border-radius:1px; background:var(--red); transform:scaleX(0); transition:transform .2s ease; }
.lang-switch__item:hover,.lang-switch__item:focus-visible { color:var(--red); }
.lang-switch__item:hover::after,.lang-switch__item:focus-visible::after { transform:scaleX(1); }
.legal-translation-note { margin-bottom:18px; padding:12px 14px; border-left:3px solid var(--red); background:#f5f8f9; font-size:14px; }
@media (max-width:880px) { .site-header { gap:12px; } .brand { margin-right:auto; } .lang-switch { order:2; margin-left:0; padding-left:0; border-left:0; } .menu-toggle { order:3; } }
html[lang="en"] h1,html[lang="en"] h2 { text-wrap:balance; }
/* --- Dane rejestrowe spółek w stopce (art. 206 KSH) --- */
.footer-registry { text-align:center; padding-block:20px 18px; border-top:1px solid rgba(255,255,255,.08); font-size:11.5px; line-height:1.65; color:#8397a1; }
.footer-registry p { margin:0; }
.footer-registry p + p { margin-top:4px; }
.footer-registry strong { color:#b6c6cd; font-weight:700; }
.footer-registry + .footer-sub { border-top:1px solid rgba(255,255,255,.08); }
.nowrap { white-space:nowrap; }
.footer-mega__locations .footer-mega__item p { white-space:nowrap; }
/* --- Pasek „Co otrzymujesz po audycie” (cyberbezpieczeństwo) --- */
.cyber-audit-extra { margin-top:14px; }
.cyber-audit-extra strong { display:block; margin-bottom:8px; color:var(--ink); font-size:16px; }
.cyber-audit-extra p { margin:0; color:var(--ink-light); line-height:1.65; }
.cyber-audit-extra > span { color:var(--red); font-weight:700; }
/* --- Sekcja KSeF (insert-wdrozenia) --- */
.insert-ksef-grid article { background:#fff; }
@media (min-width:881px) { .insert-scope-grid.insert-ksef-grid { grid-template-columns:repeat(4,1fr); } .insert-ksef-grid article { min-height:0; } }
.insert-ksef-note { margin:18px 0 0; color:var(--ink-light); font-size:13px; }
/* --- Stopka: dwie grupy usług --- */
.footer-mega__nav ul { gap:14px; }
.footer-mega__brand { grid-column:1 / -1; display:flex; align-items:center; gap:48px; padding-bottom:36px; border-bottom:1px solid rgba(182,198,205,.18); }
.footer-mega__brand .footer-mega__logo { flex:none; }
@media (max-width:560px) { .footer-mega__brand { flex-direction:column; align-items:flex-start; gap:20px; padding-bottom:28px; } }
/* --- Podstrona Realizacje: filtr i siatka kart --- */
.cases-filter { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.cases-filter__btn { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font:inherit; font-size:13px; font-weight:700; cursor:pointer; transition:background-color .2s ease, border-color .2s ease, color .2s ease; }
.cases-filter__btn span { color:#6d7f89; font-size:11px; font-weight:800; }
.cases-filter__btn:hover,.cases-filter__btn:focus-visible { border-color:var(--ink); }
.cases-filter__btn.is-active { border-color:var(--navy); background:var(--navy); color:#fff; }
.cases-filter__btn.is-active span { color:#ff9a9d; }
.cases-section .project-list { border-top-color:var(--line); color:var(--ink-light); }
.cases-section .project-list strong { color:var(--ink); }
.cases-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.cases-grid .project-card { min-width:0; aspect-ratio:4 / 3; }
.cases-grid .project-card[hidden] { display:none; }
.cases-grid .project-card__content > span:not(.text-button) { display:-webkit-box; margin-bottom:12px; overflow:hidden; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.cases-empty { margin:18px 0 0; color:var(--ink-light); }
.cases-grid .project-card__shade { background:linear-gradient(0deg,rgba(2,17,29,.97) 0%,rgba(2,17,29,.86) 40%,rgba(2,17,29,.12) 78%); }
@media (max-width:1040px) { .cases-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .cases-grid { grid-template-columns:1fr; } .cases-grid .project-card { aspect-ratio:auto; min-height:320px; } .cases-grid .project-card__content > span:not(.text-button) { -webkit-line-clamp:5; } }
/* --- Karty realizacji jako linki (podstrona Realizacje i strony realizacji) --- */
a.project-card { display:block; color:#fff; text-decoration:none; transition:box-shadow .25s ease; }
a.project-card:hover,a.project-card:focus-visible { box-shadow:0 18px 34px rgba(2,17,29,.32); }
a.project-card:focus-visible { outline:3px solid #8ee0e7; outline-offset:3px; }
a.project-card:hover img,a.project-card:focus-visible img { transform:scale(1.05); }
a.project-card:hover .text-button b,a.project-card:focus-visible .text-button b { transform:translateX(4px); }
/* --- Strona pojedynczej realizacji --- */
.case-hero h1 { max-width:820px; }
.case-hero h1 small { display:block; margin-top:12px; font-size:.42em; line-height:1.2; letter-spacing:-.02em; font-weight:700; color:#dbe9ee; }
.case-body__layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:64px; align-items:start; }
.case-article { max-width:780px; }
.case-article h2 { margin-bottom:26px; }
.case-article__text { color:var(--ink-light); font-size:16px; line-height:1.7; }
.case-article__text .project-lead { color:var(--ink); font-size:19px; line-height:1.6; }
.case-article__text h3 { margin:34px 0 12px; color:var(--ink); font-size:21px; letter-spacing:-.03em; }
.case-article__text ul { margin:0 0 8px; padding-left:20px; }
.case-article__text li { margin-bottom:8px; }
.case-article__text li::marker { color:var(--red); }
.case-article__text strong { color:var(--ink); }
.case-aside { position:sticky; top:24px; padding:26px 24px; border-left:3px solid var(--red); background:var(--soft); }
.case-aside dl { margin:0 0 2px; }
.case-aside dt { margin-bottom:4px; color:#087d8b; font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.case-aside dd { margin:0 0 16px; color:var(--ink); font-size:15px; font-weight:700; line-height:1.4; }
.case-aside p { margin:0 0 14px; color:var(--ink-light); font-size:14px; }
.case-aside .case-aside__label { margin:0 0 10px; padding-top:18px; border-top:1px solid var(--line); color:#087d8b; font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.case-aside__facts { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.case-aside__facts li { position:relative; padding-left:16px; color:var(--ink); font-size:14px; line-height:1.45; }
.case-aside__facts li::before { content:""; position:absolute; left:0; top:.62em; width:7px; height:2px; background:var(--red); }
.case-related__all { color:#dbe7eb; font-weight:800; text-decoration:none; align-self:end; }
.case-related__all:hover { color:#fff; }
@media (max-width:880px) { .case-body__layout { grid-template-columns:1fr; gap:36px; } .case-aside { position:static; order:-1; } }
@media (max-width:560px) { .case-article__text { font-size:15px; } .case-article__text .project-lead { font-size:17px; } }
/* CTA na podstronach realizacji — odstęp od ciemnej sekcji powyżej */
.section--dark + .contact-band { margin-top:72px; }
@media (max-width:560px) { .section--dark + .contact-band { margin-top:48px; } }
/* --- Lista klientów pogrupowana (podstrona Realizacje) --- */
.clients-section { background:#eef3f4; }
.clients-section + .contact-band { margin-top:72px; }
.clients-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin-top:6px; }
.clients-groups h3 { margin:0 0 10px; color:var(--ink); font-size:15px; letter-spacing:-.02em; }
.clients-groups ul { margin:0; padding:0; list-style:none; display:grid; gap:7px; }
.clients-groups li { color:var(--ink-light); font-size:13px; line-height:1.45; }
@media (max-width:1040px) { .clients-groups { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .clients-groups { grid-template-columns:1fr; gap:22px; } .clients-section + .contact-band { margin-top:48px; } }
/* --- Strona główna: przycisk do pełnej listy realizacji --- */
.projects-more { display:flex; justify-content:center; margin-top:26px; }
.split-heading > .projects-all { flex-shrink:0; white-space:nowrap; }
.museum-hero__badge--note { max-width:330px; }
.museum-hero__badge--note span { color:#d5ebef; font-size:12.5px; line-height:1.6; }
/* ---------- Strona Kontakt (2026-09-25) ---------- */
.main-nav a.button--header,.main-nav a.button--header:hover { color:#fff; text-decoration:none; }
.contact-hero { position:relative; overflow:hidden; isolation:isolate; background:#0b1422; color:#fff; }
.contact-hero__img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:right center; }
.contact-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(9,17,30,.92) 0%,rgba(9,17,30,.78) 45%,rgba(9,17,30,.15) 100%); }
.contact-hero__inner { padding-block:64px 72px; }
.contact-hero h1 { max-width:760px; margin-bottom:20px; font-size:clamp(38px,4.4vw,58px); line-height:1.03; }
.contact-hero__lead { max-width:620px; margin:0 0 30px; color:#c7d9df; font-size:17px; line-height:1.6; }
.contact-hero__quick { display:flex; flex-wrap:wrap; gap:12px; }
.contact-hero__line { display:grid; gap:3px; min-width:250px; padding:14px 20px; border-left:2px solid #0b9ba6; background:rgba(255,255,255,.07); backdrop-filter:blur(6px); color:#fff; font-size:19px; font-weight:750; letter-spacing:-.01em; text-decoration:none; transition:background .2s; }
.contact-hero__line span { color:#9fd6dc; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.contact-hero__line:hover { background:rgba(255,255,255,.13); }
.contact-main__layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:56px; align-items:start; }
.contact-main__form h2 { margin-bottom:10px; }
.contact-main__form .contact-form__actions > span { font-size:12px; }
.contact-main__aside { display:grid; gap:14px; }
.contact-card { padding:22px 22px 20px; border:1px solid var(--line); border-left:3px solid var(--red); background:#fff; }
.contact-card h3 { margin:0 0 6px; color:var(--ink); font-size:16px; letter-spacing:-.02em; }
.contact-card p { margin:0 0 10px; color:var(--ink-light); font-size:13.5px; line-height:1.55; }
.contact-card > a { display:inline-block; margin-bottom:10px; color:var(--ink); font-size:17px; font-weight:750; text-decoration:none; }
.contact-card > a:hover { color:#087d8b; }
.contact-card .text-button { display:block; padding:0; border:0; background:none; color:#087d8b; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.contact-card .contact-card__hours { margin:0; font-size:13px; }
.contact-places__layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr); gap:28px; margin-top:28px; align-items:stretch; }
.contact-places__info { display:grid; gap:14px; align-content:start; }
.contact-place { padding:24px; border-left:3px solid var(--red); background:#fff; }
.contact-place h3 { margin:0 0 8px; color:var(--ink); font-size:17px; letter-spacing:-.02em; }
.contact-place p { margin:0 0 12px; color:var(--ink); font-size:15px; line-height:1.55; }
.contact-place .contact-place__hours { margin-bottom:18px; color:var(--ink-light); font-size:13.5px; }
.contact-place--secondary { border-left-color:#9fb4bc; }
.contact-place--secondary p { margin:0; }
.contact-map { position:relative; min-height:380px; overflow:hidden; background:linear-gradient(135deg,#dfe9eb,#cfdde1); }
.contact-map iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.contact-map__consent { position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:0; padding:28px; text-align:center; }
.contact-map__consent p { max-width:380px; margin:0 0 16px; color:var(--ink-light); font-size:13px; line-height:1.55; }
.contact-map__consent .contact-map__title { margin-bottom:8px; color:var(--ink); font-size:16px; font-weight:750; }
.contact-registry__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:24px; }
.contact-registry__grid > div { padding-top:18px; border-top:1px solid var(--line); }
.contact-registry h3 { margin:0 0 6px; color:var(--ink); font-size:16px; letter-spacing:-.02em; }
.contact-registry p:not(.eyebrow) { margin:0 0 12px; color:var(--ink-light); font-size:14px; }
.contact-registry dl { display:grid; grid-template-columns:auto 1fr; gap:4px 16px; margin:0 0 12px; font-size:14px; }
.contact-registry dt { color:var(--ink-light); font-weight:700; }
.contact-registry dd { margin:0; color:var(--ink); font-variant-numeric:tabular-nums; }
.contact-registry .contact-registry__note { font-size:12.5px; line-height:1.55; }
@media (max-width:880px) { .contact-main__layout,.contact-places__layout { grid-template-columns:1fr; gap:32px; } .contact-map { min-height:320px; } }
@media (max-width:560px) { .contact-hero__inner { padding-block:44px 48px; } .contact-hero h1 { font-size:36px; } .contact-hero__lead { font-size:15.5px; } .contact-hero__line { min-width:0; flex:1 1 100%; font-size:18px; } .contact-hero::before { background:linear-gradient(0deg,rgba(9,17,30,.8),rgba(9,17,30,.9)); } .contact-hero__img { object-position:78% center; } .contact-registry__grid { grid-template-columns:1fr; } }
/* Kotwice: nagłówki z id (cele linków) zostawiają nad sobą miejsce na eyebrow i oddech (2026-09-25) */
h1[id],h2[id],h3[id] { scroll-margin-top:72px; }
@media (max-width:560px) { h1[id],h2[id],h3[id] { scroll-margin-top:56px; } }
