/*
Theme Name: CeagleIT
Theme URI: https://ceagleit.pl
Description: Autorski motyw firmowy CeagleIT — offensive security (pentesty, testy phishingowe, OSINT, red team). Paleta cyjan/stal, tryb jasny/ciemny, dwujęzyczność PL/EN (Polylang), treści edytowalne przez ACF.
Author: CeagleIT
Version: 1.0.3
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: ceagleit
*/

:root{
  --bg:#0A0D13; --bg2:#10151F; --bg3:#161C28; --line:#232C3B;
  --text:#D6DBE5; --dim:#8A93A6;
  --acc:#34D3BC; --acc2:#6FE9D6; --acc-soft:rgba(52,211,188,.15);
  --danger:#E5484D;
  --f-disp: ui-sans-serif, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --f-body: ui-sans-serif, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --f-mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  --maxw: 1180px; --r: 14px;
}
@media (prefers-color-scheme: light){
  :root{
    --bg:#F4F5F8; --bg2:#FFFFFF; --bg3:#EDEFF3; --line:#DBDFE8;
    --text:#151A22; --dim:#5A6376;
    --acc:#0E9C8A; --acc2:#0A7A6C; --acc-soft:rgba(14,156,138,.12);
  }
}
:root[data-theme="dark"]{
  --bg:#0A0D13; --bg2:#10151F; --bg3:#161C28; --line:#232C3B;
  --text:#D6DBE5; --dim:#8A93A6;
  --acc:#34D3BC; --acc2:#6FE9D6; --acc-soft:rgba(52,211,188,.15);
}
:root[data-theme="light"]{
  --bg:#F4F5F8; --bg2:#FFFFFF; --bg3:#EDEFF3; --line:#DBDFE8;
  --text:#151A22; --dim:#5A6376;
  --acc:#0E9C8A; --acc2:#0A7A6C; --acc-soft:rgba(14,156,138,.12);
}

*{box-sizing:border-box;}
body{margin:0; background:var(--bg); color:var(--text); font-family:var(--f-body); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; height:auto;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.mono{font-family:var(--f-mono);}
.eyebrow{font-family:var(--f-mono); font-size:.74rem; letter-spacing:.22em; text-transform:uppercase; color:var(--acc); display:inline-flex; align-items:center; gap:.6em;}
.eyebrow::before{content:""; width:26px; height:1px; background:var(--acc); opacity:.7;}
h1,h2,h3{font-family:var(--f-disp); text-wrap:balance; margin:0;}

/* Header */
.site-header{position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--bg) 82%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.bar{display:flex; align-items:center; gap:26px; height:70px; width:100%; padding:0 40px;}
.brand{display:flex; align-items:center; gap:11px; font-family:var(--f-disp); font-weight:800; letter-spacing:-.01em; font-size:1.12rem; color:var(--text);}
.brand b{color:var(--acc);}
.brand svg{width:30px; height:30px; display:block;}
.nav-links{display:flex; gap:24px; margin-left:12px;}
.nav-links a{font-size:.92rem; color:var(--dim); transition:color .2s;}
.nav-links a:hover{color:var(--text);}
.spacer{flex:1;}
.lang-switch{display:inline-flex; border:1px solid var(--line); border-radius:99px; overflow:hidden; font-family:var(--f-mono); font-size:.74rem; list-style:none; margin:0; padding:0;}
.lang-switch li{margin:0;}
.lang-switch a{display:block; padding:6px 11px; color:var(--dim); letter-spacing:.05em; text-transform:uppercase;}
.lang-switch .current-lang a, .lang-switch a.active{background:var(--acc); color:#0A0D13;}
:root[data-theme="light"] .lang-switch .current-lang a{color:#fff;}
.btn{display:inline-flex; align-items:center; gap:.5em; cursor:pointer; font-family:var(--f-mono); font-size:.82rem; letter-spacing:.03em; padding:10px 18px; border-radius:99px; border:1px solid var(--acc); background:var(--acc); color:#0A0D13; font-weight:600; transition:transform .15s, box-shadow .2s;}
:root[data-theme="light"] .btn{color:#fff;}
.btn:hover{transform:translateY(-1px); box-shadow:0 6px 24px var(--acc-soft);}
.btn.ghost{background:transparent; color:var(--text); border-color:var(--line);}
.btn.ghost:hover{border-color:var(--acc); color:var(--acc);}
.theme-tog{background:transparent; border:1px solid var(--line); color:var(--dim); width:34px; height:34px; border-radius:99px; cursor:pointer; display:grid; place-items:center;}
.theme-tog:hover{color:var(--acc); border-color:var(--acc);}

/* Hero */
.hero{position:relative; overflow:hidden; border-bottom:1px solid var(--line);}
#bgcanvas{position:absolute; inset:0; width:100%; height:100%; z-index:0; opacity:.9;}
.hero-veil{position:absolute; inset:0; z-index:1; background:radial-gradient(1100px 520px at 72% -8%, var(--acc-soft), transparent 60%);}
.hero .wrap{position:relative; z-index:2; padding:92px 24px 88px;}
.hero h1{font-size:clamp(2.6rem, 6.2vw, 5rem); font-weight:800; line-height:1.02; letter-spacing:-.03em; margin:20px 0 0;}
.hero h1 .accent{color:var(--acc);}
.hero p.lead{max-width:56ch; color:var(--dim); font-size:1.12rem; margin:22px 0 30px;}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap;}
.certs{display:flex; gap:10px; flex-wrap:wrap; margin-top:40px; padding-top:26px; border-top:1px solid var(--line);}
.cert{font-family:var(--f-mono); font-size:.76rem; letter-spacing:.04em; padding:6px 12px; border:1px solid var(--line); border-radius:8px; color:var(--text); display:inline-flex; align-items:center; gap:8px; background:var(--bg2);}
.cert .dot{width:6px; height:6px; border-radius:99px; background:var(--acc);}

/* Sections */
section.block{padding:88px 0; border-bottom:1px solid var(--line);}
.sec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:44px;}
.sec-head h2{font-size:clamp(2.4rem,4.8vw,3.6rem); font-weight:800; letter-spacing:-.025em;}
.sec-head p{color:var(--dim); max-width:44ch; margin:10px 0 0;}

/* Services */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.svc{background:var(--bg2); border:1px solid var(--line); border-radius:var(--r); padding:26px 24px 28px; position:relative; overflow:hidden; transition:border-color .25s, transform .25s;}
.svc:hover{border-color:var(--acc); transform:translateY(-3px);}
.svc::after{content:""; position:absolute; left:0; top:0; height:100%; width:3px; background:var(--acc); transform:scaleY(0); transform-origin:top; transition:transform .3s;}
.svc:hover::after{transform:scaleY(1);}
.svc .ico{width:40px; height:40px; margin-bottom:18px; color:var(--acc);}
.svc .ico svg{width:100%; height:100%;}
.svc .tag{font-family:var(--f-mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--dim);}
.svc h3{font-size:1.22rem; font-weight:700; margin:6px 0 10px; letter-spacing:-.01em;}
.svc p{color:var(--dim); font-size:.95rem; margin:0;}

/* About */
.about{display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center;}
.about p{color:var(--dim); font-size:1.03rem;}
.about p strong{color:var(--text); font-weight:600;}
.stats{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.stat{background:var(--bg2); border:1px solid var(--line); border-radius:var(--r); padding:22px;}
.stat .num{font-family:var(--f-disp); font-weight:800; font-size:2.1rem; color:var(--acc); letter-spacing:-.02em; font-variant-numeric:tabular-nums;}
.stat .lbl{font-family:var(--f-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); margin-top:4px;}

/* Process */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.step{background:var(--bg2); border:1px solid var(--line); border-radius:var(--r); padding:24px; position:relative;}
.step .n{font-family:var(--f-mono); color:var(--acc); font-size:.8rem; letter-spacing:.1em;}
.step h3{font-size:1.08rem; font-weight:700; margin:12px 0 8px;}
.step p{color:var(--dim); font-size:.9rem; margin:0;}
.step::before{content:""; position:absolute; top:28px; right:-8px; width:16px; height:1px; background:var(--line);}
.step:last-child::before{display:none;}

/* Contact */
.contact{display:grid; grid-template-columns:.9fr 1.1fr; gap:48px;}
.cinfo .row{display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); align-items:flex-start;}
.cinfo .row .k{font-family:var(--f-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); width:96px; flex:none; padding-top:3px;}
.cinfo .row .v{color:var(--text);}
.contact-form{background:var(--bg2); border:1px solid var(--line); border-radius:var(--r); padding:28px;}
.field{margin-bottom:16px;}
.field label{display:block; font-family:var(--f-mono); font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--dim); margin-bottom:7px;}
.field input, .field select, .field textarea{width:100%; background:var(--bg); border:1px solid var(--line); border-radius:10px; color:var(--text); padding:12px 14px; font-family:var(--f-body); font-size:.95rem;}
.field textarea{resize:vertical; min-height:110px;}
.field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--acc); outline-offset:1px; border-color:var(--acc);}
.contact-form .btn{width:100%; justify-content:center; margin-top:6px;}
.form-note{font-family:var(--f-mono); font-size:.72rem; color:var(--dim); margin-top:12px; text-align:center;}

/* Footer */
.site-footer{padding:44px 0 40px; color:var(--dim);}
.foot{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:center; font-size:.86rem;}
.foot .mono{font-size:.78rem;}

/* Generic page content */
.page-content{padding:80px 0; max-width:760px;}
.page-content h1{font-size:2.4rem; font-weight:800; letter-spacing:-.02em; margin-bottom:24px;}
.page-content h2{font-size:1.6rem; margin:32px 0 12px;}
.page-content p{color:var(--dim); margin:0 0 16px;}
.page-content a{color:var(--acc);}

@media (max-width:900px){
  .svc-grid{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .about,.contact{grid-template-columns:1fr; gap:34px;}
  .nav-links{display:none;}
  .bar{padding:0 20px;}
}
@media (max-width:560px){
  .svc-grid{grid-template-columns:1fr;} .steps{grid-template-columns:1fr;} .stats{grid-template-columns:1fr;}
  .step::before{display:none;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important;}
}
