/* /o-nas/ - page layer (S5). Port of design/O nas.dc.html. Shared tokens/nav/footer/motion come from S0 (mkm-fe). */
.ab-page{position:relative;background:#0a0c10;color:#fff;font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.ab-page h1,.ab-page h2,.ab-page h3,.ab-page p,.ab-page figure{margin:0}
.ab-page a{text-decoration:none}

.ab-eyebrow{color:#6699ff;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ab-h2{font-size:clamp(38px,5.6vw,92px);font-weight:600;line-height:.98;letter-spacing:-0.045em;text-wrap:balance}
.ab-section{padding:0 clamp(18px,4vw,56px) clamp(80px,10vw,140px)}
.ab-wrap{max-width:1400px;margin:0 auto}
.ab-stack{display:flex;flex-direction:column;gap:clamp(32px,4vw,56px)}
.ab-head{display:flex;flex-direction:column;gap:18px}

/* hero */
.ab-hero{position:relative;overflow:hidden;padding:clamp(140px,16vw,210px) clamp(18px,4vw,56px) clamp(56px,7vw,100px)}
.ab-hero__glow{position:absolute;inset:0;background:radial-gradient(ellipse 55% 60% at 78% 0%,rgba(0,87,255,.30),transparent 70%);pointer-events:none}
.ab-hero__grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 0%,#000,transparent);mask-image:radial-gradient(ellipse 70% 70% at 50% 0%,#000,transparent)}
.ab-hero__inner{position:relative;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.ab-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:#8a92a3}
.ab-crumbs a{color:#aeb4c2}
.ab-crumbs a:hover{color:#fff}
.ab-crumbs [aria-current]{color:#fff}
.ab-h1{max-width:1250px;font-size:clamp(46px,7.6vw,128px);font-weight:600;line-height:.92;letter-spacing:-0.055em;text-wrap:balance}
.ab-lede{max-width:700px;color:#c3c8d3;font-size:clamp(17px,1.5vw,21px);line-height:1.55;text-wrap:pretty}

/* principles */
.ab-principles__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.ab-principle{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:18px;padding:clamp(26px,3vw,36px);border-radius:28px;background:#12161f;border:1px solid rgba(255,255,255,.07)}
.ab-principle>*{position:relative}
.ab-principle__n{font-size:14px;font-weight:600;color:#6699ff}
.ab-principle__t{font-size:clamp(28px,2.6vw,40px);font-weight:600;letter-spacing:-0.04em;line-height:1}
.ab-principle__d{font-size:16px;color:#c3c8d3;line-height:1.6;text-wrap:pretty}

/* team */
.ab-team__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:14px}
.ab-member{display:flex;flex-direction:column;border-radius:36px;overflow:hidden;background:#12161f;border:1px solid rgba(255,255,255,.07)}
.ab-member__photo{position:relative;aspect-ratio:4/3;margin:10px;border-radius:28px;overflow:hidden;background:#07101d}
.ab-member__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.ab-member__body{display:flex;flex-direction:column;gap:14px;padding:18px clamp(22px,2.6vw,36px) clamp(26px,2.6vw,36px)}
.ab-member__role{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6699ff}
.ab-member__name{font-size:clamp(30px,3vw,48px);font-weight:600;letter-spacing:-0.045em;line-height:1}
.ab-member__name a{color:#fff}
.ab-member__name a:hover{color:#99baff}
.ab-member__bio{font-size:16px;color:#c3c8d3;line-height:1.65;text-wrap:pretty}
.ab-member__links{display:flex;flex-wrap:wrap;gap:4px 22px}
.ab-member__link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:700;color:#99baff;transition:color 150ms ease}
.ab-member__link:hover{color:#fff}

/* ISO */
.ab-iso-section{padding:0 clamp(12px,3vw,40px) clamp(80px,10vw,140px)}
.ab-iso{max-width:1400px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(24px,4vw,64px);padding:clamp(28px,4vw,56px);border-radius:36px;background:#12161f;border:1px solid rgba(255,255,255,.08)}
.ab-iso__badge{flex:0 0 auto;width:min(240px,60vw);aspect-ratio:1;border-radius:28px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;padding:18px}
.ab-iso__badge img{width:100%;height:100%;object-fit:contain}
.ab-iso__body{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px}
.ab-iso__h2{font-size:clamp(32px,4vw,64px);font-weight:600;line-height:.98;letter-spacing:-0.045em;text-wrap:balance}
.ab-iso__text{color:#c3c8d3;font-size:17px;line-height:1.65;text-wrap:pretty}
.ab-iso__text a{color:#99baff}
.ab-iso__text a:hover{color:#fff}

/* stack */
.ab-stack-row{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,80px)}
.ab-stack-row__head{flex:1 1 360px;display:flex;flex-direction:column;gap:18px}
.ab-stack-row__h2{font-size:clamp(36px,4.6vw,76px)}
.ab-stack-row__grid{flex:1.4 1 520px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ab-tech{display:flex;flex-direction:column;gap:8px;padding:22px 24px;border-radius:22px;background:#12161f;border:1px solid rgba(255,255,255,.07)}
.ab-tech__l{font-size:13px;color:#aeb4c2}
.ab-tech__v{font-size:20px;font-weight:600;letter-spacing:-0.02em}
@media (max-width:520px){.ab-stack-row__grid{grid-template-columns:minmax(0,1fr)}}

/* FAQ: accordion = S0 .fe-faq / [data-faq] (mkm-nav.js); only the aside differs from .fe-faq-wrap__head */
.ab-faq__h2{font-size:clamp(38px,5vw,80px)}
.ab-address{margin-top:12px;padding:24px;border-radius:22px;background:#12161f;border:1px solid rgba(255,255,255,.07);color:#c3c8d3;font-size:14px;line-height:1.7;font-style:normal}
.ab-address strong{color:#fff}
@media (max-width:900px){.ab-page .fe-faq-wrap__head{position:static}}

/* Company data block (#dane-spolki, generated by scripts/html-fixes/08-o-nas-company-data.py).
   Markup is owned by the fix (inline styles use legacy --c* tokens), so the tokens are mapped here. */
#dane-spolki{--cn-white:#fff;--cn-300:#c3c8d3;--cn-400:#8a92a3;--cn-800:rgba(255,255,255,.07);--cb-300:#99baff;margin:0 clamp(18px,4vw,56px) clamp(80px,10vw,140px);border-bottom:0 !important}
#dane-spolki .mq20-wrapper{max-width:1400px;margin:0 auto;padding:clamp(26px,3vw,40px) clamp(24px,3vw,40px) !important;border-radius:28px;background:#12161f;border:1px solid rgba(255,255,255,.07)}
#dane-spolki h2{font-weight:600;letter-spacing:-0.02em}
#dane-spolki a:hover{color:#fff !important}
