/* ASZSTRATEGY — wspólny arkusz podstron spółek */
:root {
  --navy:#1B2A4A; --navy-deep:#0f1a2e; --gold:#C9A84C; --gold-soft:#d4b87a;
  --gold-pale:#e8d5a8; --ink:#0a0e18; --paper:#f5f2ec; --paper-warm:#faf8f4;
  --muted:#8b8e9a; --slate:#4a4d5e; --line:rgba(201,168,76,0.2);
  --line-subtle:rgba(201,168,76,0.08); --green:#6fae8e;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:'Instrument Sans',-apple-system,sans-serif;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:999;opacity:0.35}
.skip-link{position:absolute;top:-100%;left:16px;background:var(--gold);color:var(--ink);padding:12px 24px;z-index:200;font-family:'DM Mono',monospace;font-size:12px;text-decoration:none;border-radius:0 0 4px 4px}
.skip-link:focus{top:0}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:28px 60px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to bottom,rgba(10,14,24,0.97) 0%,rgba(10,14,24,0.6) 70%,transparent 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.nav-logo{font-family:'DM Mono',monospace;font-size:13px;font-weight:400;letter-spacing:0.2em;color:var(--gold);text-decoration:none}
.nav-logo:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.nav-right{display:flex;align-items:center;gap:32px}
.nav-links{display:flex;gap:28px}
.nav-links a{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:0.15em;color:var(--muted);text-decoration:none;text-transform:uppercase;transition:color 0.3s}
.nav-links a:hover{color:var(--paper)}
.nav-links a.back::before{content:'← '}
.lang-switch{display:flex;gap:2px}
.lang-btn{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.15em;padding:7px 13px;background:transparent;border:1px solid var(--line);color:var(--muted);cursor:pointer;transition:all 0.3s}
.lang-btn:hover{color:var(--paper);border-color:var(--gold-soft)}
.lang-btn.active{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.lang-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* PAGE HERO */
.page-hero{padding:200px 60px 90px;max-width:1300px;margin:0 auto;position:relative}
.page-hero::after{content:'';position:absolute;top:18%;right:8%;width:520px;height:520px;background:radial-gradient(circle,rgba(201,168,76,0.05) 0%,transparent 70%);pointer-events:none}
.ph-top{display:flex;align-items:center;gap:18px;margin-bottom:30px;opacity:0;animation:fadeUp 0.9s ease 0.15s forwards}
.ph-eyebrow{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.35em;color:var(--gold);text-transform:uppercase}
.ph-status{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;padding:5px 11px;border:1px solid var(--line-subtle);color:var(--gold-soft)}
.ph-status.live{color:var(--green);border-color:rgba(111,174,142,0.3)}
.page-hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,6.5vw,88px);font-weight:300;line-height:1.02;max-width:880px;margin-bottom:28px;opacity:0;animation:fadeUp 0.9s ease 0.35s forwards}
.page-hero-title em{font-style:italic;color:var(--gold-soft);display:block}
.page-hero-sub{font-size:16px;line-height:1.9;color:var(--muted);max-width:620px;opacity:0;animation:fadeUp 0.9s ease 0.55s forwards}
.divider{height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);opacity:0.15;margin:0 60px}

/* SECTION SHELL */
.section{padding:120px 60px;max-width:1300px;margin:0 auto}
.section-label{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin-bottom:24px}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,48px);font-weight:300;line-height:1.15;margin-bottom:48px;max-width:760px}
.section-title em{font-style:italic;color:var(--gold-soft)}
.section-lead{font-size:15px;line-height:1.9;color:var(--muted);max-width:640px;margin-bottom:56px}

/* FEATURE GRID */
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.feature{background:var(--ink);padding:40px 34px;transition:background 0.3s}
.feature:hover{background:rgba(27,42,74,0.15)}
.feature-icon{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--gold);margin-bottom:16px;line-height:1}
.feature-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--paper);margin-bottom:12px;line-height:1.2}
.feature-desc{font-size:13.5px;line-height:1.75;color:var(--muted)}

/* TWO-COL PROSE */
.prose{display:grid;grid-template-columns:1fr 2fr;gap:80px;max-width:1300px;margin:0 auto;padding:120px 60px;align-items:start}
.prose-side-label{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase}
.prose-side-num{font-family:'Cormorant Garamond',serif;font-size:120px;font-weight:300;color:rgba(201,168,76,0.08);line-height:0.8;margin-top:16px}
.prose-body p{font-size:16px;line-height:1.95;color:var(--paper);opacity:0.82;margin-bottom:26px}
.prose-body p:last-child{margin-bottom:0}
.prose-body em{font-style:italic;color:var(--gold-soft)}
.prose-quote{border-left:2px solid var(--gold);padding-left:28px;margin-top:40px;font-family:'Cormorant Garamond',serif;font-size:24px;font-style:italic;font-weight:300;line-height:1.5;color:var(--paper);opacity:0.9}

/* AUDIENCE STRIP */
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.aud-card{background:var(--ink);padding:38px 30px}
.aud-num{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:300;color:rgba(201,168,76,0.18);margin-bottom:18px;line-height:1}
.aud-title{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--paper);margin-bottom:10px;line-height:1.2}
.aud-desc{font-size:12.5px;line-height:1.7;color:var(--muted)}

/* REGISTRY (puste pola do uzupełnienia) */
.registry{max-width:1300px;margin:0 auto;padding:0 60px 40px}
.registry-box{border:1px solid var(--line);padding:40px 44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px}
.registry-item{}
.registry-key{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;margin-bottom:8px}
.registry-val{font-family:'DM Mono',monospace;font-size:13px;letter-spacing:0.05em;color:var(--paper)}
.registry-val.pending{color:var(--slate);font-style:italic}
.registry-note{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.1em;color:var(--muted);margin-top:24px;text-align:center}

/* CTA */
.cta{padding:120px 60px;text-align:center;max-width:700px;margin:0 auto;position:relative}
.cta::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--gold));opacity:0.3}
.cta-label{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin-bottom:28px}
.cta-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4.5vw,50px);font-weight:300;line-height:1.15;margin-bottom:20px}
.cta-title em{font-style:italic;color:var(--gold-soft)}
.cta-sub{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:40px}
.cta-link{display:inline-block;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:16px 40px;text-decoration:none;transition:background 0.3s}
.cta-link:hover{background:var(--gold-soft)}
.cta-link:focus-visible{outline:2px solid var(--paper);outline-offset:4px}

/* FOOTER */
footer{padding:40px 60px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}
.footer-logo{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:0.2em;color:var(--gold)}
.footer-info{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.1em;color:var(--muted);text-align:center;line-height:1.6}
.footer-legal{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.1em;color:var(--muted);text-align:right;line-height:1.6}
.footer-links{margin-top:6px}
.footer-links a{color:var(--muted);text-decoration:none;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.1em;transition:color 0.3s}
.footer-links a:hover{color:var(--gold)}
.footer-links a+a::before{content:' · ';color:var(--muted)}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.8s ease,transform 0.8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* SPLIT HERO z obracającym się pierścieniem */
.shero{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;align-items:center}
.shero-left{padding:160px 56px 80px}
.shero-right{position:relative;overflow:hidden;align-self:stretch}
.shero-visual{position:absolute;inset:0;background:linear-gradient(135deg,#0d1829 0%,var(--ink) 60%)}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,0.05) 1px,transparent 1px);background-size:60px 60px;animation:gridMove 20s linear infinite}
@keyframes gridMove{0%{transform:translateY(0)}100%{transform:translateY(60px)}}
.ring-wrap{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);text-align:center}
.ring{width:260px;height:260px;border:1px solid rgba(201,168,76,0.25);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;animation:rotate 30s linear infinite}
.ring::before{content:'';position:absolute;width:220px;height:220px;border:1px solid rgba(201,168,76,0.12);border-radius:50%}
.ring::after{content:'';position:absolute;width:8px;height:8px;background:var(--gold);border-radius:50%;top:-4px;left:50%;transform:translateX(-50%)}
@keyframes rotate{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.ring-inner{text-align:center;animation:counterRotate 30s linear infinite}
@keyframes counterRotate{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
.ring-s{font-family:'Cormorant Garamond',serif;font-size:58px;font-weight:300;color:var(--gold);line-height:1;opacity:0.9}
.ring-text{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.3em;color:var(--muted);text-transform:uppercase;margin-top:6px}
.dpoints{position:absolute;bottom:56px;left:40px;right:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(201,168,76,0.08);opacity:0;animation:fadeIn 1s ease 1.2s forwards}
.dpoint{background:rgba(10,14,24,0.85);padding:22px 12px;text-align:center}
.dval{font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:300;color:var(--gold);line-height:1.05;margin-bottom:6px}
.dlabel{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:0.14em;color:var(--muted);text-transform:uppercase;line-height:1.4}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* EFEKT B — pływające słowa (ASZ CAK) */
.fwords{position:absolute;top:0;left:0;right:0;bottom:150px;display:flex;align-items:center;justify-content:center}
.fcloud{position:relative;width:min(86%,360px);height:320px}
.fw{position:absolute;font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);opacity:0;animation:floatIn 1.1s ease forwards}
.fw:nth-child(1){font-size:46px;top:12%;left:8%;animation-delay:.7s;--o:.9}
.fw:nth-child(2){font-size:22px;top:4%;right:14%;animation-delay:1.0s;--o:.4}
.fw:nth-child(3){font-size:32px;top:40%;left:0;animation-delay:1.2s;--o:.65}
.fw:nth-child(4){font-size:18px;top:54%;right:4%;animation-delay:1.4s;--o:.35}
.fw:nth-child(5){font-size:40px;bottom:10%;left:14%;animation-delay:.9s;--o:.78}
.fw:nth-child(6){font-size:20px;bottom:2%;right:18%;animation-delay:1.3s;--o:.45}
.fw:nth-child(7){font-size:27px;top:24%;right:0;animation-delay:1.1s;--o:.55}
@keyframes floatIn{from{opacity:0;transform:translateY(14px)}to{opacity:var(--o,.7);transform:translateY(0)}}

/* EFEKT C — graf węzłów (ASZ Partners) */
.ngraph{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);width:min(92%,380px);height:auto;overflow:visible}
.ngraph text{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:0.06em;fill:var(--muted);text-transform:uppercase;opacity:0;animation:npop .8s ease forwards}
.ngraph text.hub-label{fill:var(--gold);font-size:10px;letter-spacing:0.18em}
.ngraph line{stroke:rgba(201,168,76,0.28);stroke-width:1;stroke-dasharray:320;stroke-dashoffset:320;animation:ndraw 1.4s ease forwards}
.ngraph line.mesh{stroke:rgba(201,168,76,0.14)}
.ngraph line:nth-of-type(1){animation-delay:.6s}
.ngraph line:nth-of-type(2){animation-delay:.8s}
.ngraph line:nth-of-type(3){animation-delay:1.0s}
.ngraph line:nth-of-type(4){animation-delay:1.2s}
.ngraph line:nth-of-type(5){animation-delay:1.4s}
@keyframes ndraw{to{stroke-dashoffset:0}}
.ngraph circle{fill:var(--ink);stroke:var(--gold);stroke-width:1.5;opacity:0;animation:npop .6s ease forwards}
.ngraph circle.core{fill:var(--gold);animation:npop .6s ease 1.1s forwards,corepulse 2.6s ease 2.2s infinite}
@keyframes npop{to{opacity:1}}
@keyframes corepulse{0%,100%{r:9}50%{r:13}}

/* EFEKT D — puls / EKG (ASZ Digital Health) */
.ekg{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);width:84%;max-width:400px}
.ekg svg{width:100%;height:140px;overflow:visible}
.ekg path.line{fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1200;stroke-dashoffset:1200;animation:ekgdraw 7s linear infinite}
.ekg path.line2{fill:none;stroke:rgba(111,174,142,0.4);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1200;stroke-dashoffset:1200;animation:ekgdraw 7s linear infinite;animation-delay:.9s}
@keyframes ekgdraw{0%{stroke-dashoffset:1200}55%{stroke-dashoffset:0}100%{stroke-dashoffset:-1200}}
.ekg path.base{fill:none;stroke:rgba(111,174,142,0.16);stroke-width:1}
.ekg-dot{fill:var(--green);animation:ekgpulse 2s ease infinite}
@keyframes ekgpulse{0%,100%{opacity:1;r:4}50%{opacity:.4;r:7}}

.hero-caption{position:absolute;bottom:56px;left:40px;right:40px;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.25em;color:var(--muted);text-transform:uppercase;text-align:center;opacity:0;animation:fadeIn 1s ease 1.9s forwards}

/* warianty tła i pierścienia per spółka */
.v-digital{background:linear-gradient(135deg,#0d1829 0%,var(--ink) 60%)!important}
.v-cak{background:linear-gradient(135deg,#17222f 0%,var(--ink) 62%)!important}
.v-partners{background:linear-gradient(140deg,#101a2e 0%,var(--ink) 58%)!important}
.v-health{background:linear-gradient(135deg,#0b1a1e 0%,var(--ink) 60%)!important}
.r-cak{animation-duration:38s;border-style:dashed}
.r-partners{animation-duration:22s}
.r-partners::before{border-style:dotted;width:200px;height:200px}
.r-partners::after{width:6px;height:6px}
.r-health{animation-duration:34s;border-style:dotted;border-color:rgba(111,174,142,0.3)}
.r-health::before{border-color:rgba(111,174,142,0.14)}
.r-health::after{background:var(--green)}
.r-health .ring-s{color:var(--green)}
.r-digital::before{width:200px;height:200px}
.r-digital .ring::before{}
.shero .page-hero-title{font-size:clamp(38px,4.2vw,64px);margin-bottom:24px}
.shero .page-hero-sub{font-size:15px}
.shero-actions{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}
.btn-primary{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:15px 30px;text-decoration:none;transition:background 0.3s}
.btn-primary:hover{background:var(--gold-soft)}
.btn-primary:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
.btn-secondary{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line);padding:15px 30px;text-decoration:none;transition:all 0.3s}
.btn-secondary:hover{border-color:var(--gold);color:var(--paper)}
.btn-secondary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

@media(max-width:900px){
  .shero{grid-template-columns:1fr;min-height:auto}
  .shero-left{padding:140px 24px 40px}
  .shero-right{min-height:440px}
  .ring{width:200px;height:200px}.ring::before{width:168px;height:168px}.ring-s{font-size:46px}
  .dpoints{left:24px;right:24px;bottom:32px}
  nav{padding:20px 24px}.nav-links{display:none}
  .page-hero{padding:140px 24px 60px}
  .section{padding:70px 24px}
  .feature-grid{grid-template-columns:1fr}
  .prose{grid-template-columns:1fr;gap:32px;padding:70px 24px}
  .prose-side-num{display:none}
  .aud{grid-template-columns:1fr}
  .registry{padding:0 24px 32px}
  .registry-box{padding:28px}
  .cta{padding:70px 24px}
  footer{flex-direction:column;gap:16px;padding:32px 24px;text-align:center}
  .footer-legal{text-align:center}.divider{margin:0 24px}
}
