/* BIG SKY DIGITAL GROUP LLC — Logo-first, accessible blue CI */
:root{
  --bg:#061625;           /* deep navy */
  --bg-alt:#0A2740;       /* brand dark blue */
  --text:#F4F7FA;
  --muted:#BFD3E6;
  --brand:#2EA3FF;        /* sky blue from logo */
  --brand-dark:#0C3D73;   /* darker blue */
  --card:#0B2036;
  --accent:#5BC0FF;
  --outline:#9AE1FF;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{margin:0; padding:0; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; background:linear-gradient(180deg,var(--bg),#030e19); color:var(--text); line-height:1.6}
img{max-width:100%; height:auto}
a{color:inherit}
.wrap{max-width:1160px; margin-inline:auto; padding:clamp(16px,2vw,24px)}

/* Accessibility */
:focus{outline:3px solid var(--outline); outline-offset:3px}
.skip-link{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip-link:focus{left:16px; top:16px; width:auto; height:auto; padding:.5rem .75rem; background:#002b4a; color:#fff; z-index:1000; border-radius:.5rem}

/* Header */
.site-header{position:sticky; top:0; z-index:50; background:rgba(6,22,37,.85); backdrop-filter:saturate(140%) blur(8px); border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{display:flex; align-items:center; gap:16px; justify-content:space-between}
.brand{display:flex; align-items:center; gap:1rem; white-space:nowrap; text-decoration:none}
.brandmark{display:block; height:56px; width:auto}
.topnav ul{display:flex; list-style:none; gap:clamp(8px,2vw,20px); padding:0; margin:0}
.topnav a{display:block; padding:.6rem .8rem; border-radius:.6rem; text-decoration:none}
.topnav a:hover,.topnav a:focus{background:rgba(255,255,255,.06)}

.lang-switch{display:flex; gap:8px; flex-wrap:wrap}
.lang-switch button{background:transparent; color:var(--text); border:1px solid rgba(255,255,255,.15); padding:.45rem .6rem; border-radius:.5rem; cursor:pointer}
.lang-switch button[aria-pressed="true"]{background:var(--brand-dark); border-color:transparent}

/* Hero */
.hero{position:relative; overflow:hidden}
.hero-inner{padding-block:min(12vh,120px)}
.hero h1{font-size:clamp(1.8rem,4vw,2.8rem); margin:0 0 .5rem; line-height:1.2}
.subtitle{color:var(--muted); margin:0 0 1.25rem}
.cta-row{display:flex; gap:12px; flex-wrap:wrap}
.btn{display:inline-block; padding:.8rem 1.1rem; border-radius:.8rem; text-decoration:none; border:2px solid transparent; font-weight:700; box-shadow:var(--shadow)}
.btn.primary{background:var(--brand); color:#06223a}
.btn.ghost{background:transparent; border-color:rgba(255,255,255,.25)}
.btn:hover{transform:translateY(-1px)}
.hero-footnote{margin-top:1rem; color:var(--muted); font-size:.95rem}

/* Hero background */
.hero-bg .gradient{position:absolute; inset:-20% -10% -10% -10%; background:radial-gradient(1200px 500px at 10% 10%,rgba(46,163,255,.25),transparent), radial-gradient(800px 400px at 90% 20%,rgba(12,61,115,.25),transparent); z-index:-1}
.wy-outline{position:absolute; right:-8vw; bottom:-10vh; width:min(50vw,560px); aspect-ratio:1/1; border:3px dashed rgba(255,255,255,.09); border-radius:20% 60% 45% 35% / 40% 35% 60% 55%; filter:blur(.2px)}

/* Sections */
.section{padding-block:clamp(48px,7vw,88px)}
.section.alt{background:linear-gradient(180deg,var(--bg-alt),var(--bg))}
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px}
.card{background:var(--card); border:1px solid rgba(255,255,255,.05); border-radius:16px; padding:20px; box-shadow:var(--shadow)}
.card.featured{border-color:var(--accent); box-shadow:0 14px 40px rgba(91,192,255,.2)}
.card h3{margin-top:0}
.checklist{padding-left:1.2rem}
.checklist li{margin:.35rem 0}

/* Process */
.process-steps{counter-reset:step; list-style:none; padding-left:0; display:grid; gap:12px}
.process-steps li{background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:14px 16px; position:relative}
.process-steps li::before{counter-increment:step; content:counter(step); position:absolute; left:12px; top:-12px; background:var(--brand); color:#06223a; font-weight:800; border-radius:99px; width:28px; height:28px; display:grid; place-items:center; box-shadow:var(--shadow)}

/* Logo Showcase */
.logo-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:12px}
.logo-tile{background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.06); border-radius:14px; padding:10px; text-align:center}
.logo-tile svg{width:100%; height:auto}
.ph-bg{fill:#0e2a44}
.ph-accent{fill:var(--brand)}
.ph-line{fill:#e6f2ff}
.logo-tile figcaption{color:var(--muted); font-size:.9rem; margin-top:6px}

/* Layouts */
.two-col{display:grid; grid-template-columns:1.1fr .9fr; gap:24px}
.fact,.kpi{background:var(--card); border:1px solid rgba(255,255,255,.05); border-radius:16px; padding:20px}

/* Contact (email only) */
.contact-aside.only{max-width:720px; background:var(--card); border:1px solid rgba(255,255,255,.05); border-radius:16px; padding:18px}
.contact-list{list-style:none; padding:0; margin:0}
.contact-list li{padding:.35rem 0}
.email-link{font-weight:800; text-decoration:underline}

/* Footer */
.site-footer{border-top:1px solid rgba(255,255,255,.08); background:rgba(0,0,0,.25)}
.footer-inner{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px}
.site-footer nav a{margin-right:14px; text-decoration:none; padding:.4rem .5rem; border-radius:.4rem}
.site-footer nav a:hover{background:rgba(255,255,255,.06)}

/* Responsive */
@media (max-width: 900px){
  .two-col{grid-template-columns:1fr}
  .topnav ul{display:none} /* collapse nav on small screens */
}
