
:root{
  --bg:#040507;
  --bg-soft:#0b0d12;
  --panel:rgba(255,255,255,0.06);
  --panel-strong:rgba(255,255,255,0.09);
  --border:rgba(255,255,255,0.12);
  --border-bright:rgba(122,198,255,0.35);
  --text:#f5f7fb;
  --muted:#a9b1c2;
  --muted-2:#7f889c;
  --blue:#7ac6ff;
  --blue-strong:#54b3ff;
  --blue-soft:rgba(84,179,255,0.12);
  --success:#9bf0bc;
  --danger:#ff9ca9;
  --shadow:0 20px 60px rgba(0,0,0,.35);
  --radius:30px;
  --radius-sm:22px;
  --max:1200px;
  --font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.site-shell{position:relative;overflow:hidden;min-height:100vh;background:linear-gradient(180deg,#050608 0%,#06070a 100%)}
.container{width:min(var(--max),calc(100% - 2rem));margin-inline:auto}
.glow{position:absolute;border-radius:999px;filter:blur(90px);pointer-events:none;z-index:0}
.glow-a{width:34rem;height:34rem;background:rgba(84,179,255,.12);left:-10%;top:-4rem}
.glow-b{width:24rem;height:24rem;background:rgba(122,198,255,.09);right:-8%;top:18%}
.glow-c{width:18rem;height:18rem;background:rgba(255,255,255,.06);left:20%;bottom:-8%}
.grid-overlay{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:36px 36px;
  mask-image:radial-gradient(circle at center, black 0%, transparent 82%);
}
.site-header,.site-footer,.page-intro,.hero,.section,.admin-header{position:relative;z-index:1}
.site-header,.admin-header{
  position:sticky;top:0;z-index:30;
  backdrop-filter:blur(18px);
  background:rgba(4,5,7,.72);
  border-bottom:1px solid var(--border);
}
.header-inner,.admin-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}
.brand{display:flex;align-items:center;gap:.85rem}
.brand-mark{
  width:44px;height:44px;border-radius:18px;border:1px solid var(--border-bright);
  background:rgba(255,255,255,.05);display:grid;place-items:center;font-weight:800;
  letter-spacing:.08em;box-shadow:0 0 32px rgba(84,179,255,.16)
}
.brand-copy{display:flex;flex-direction:column;line-height:1.1}
.brand-copy small{text-transform:uppercase;letter-spacing:.34em;color:var(--muted-2);font-size:.67rem}
.brand-copy strong{font-size:1.05rem}
.site-nav,.admin-nav{display:flex;align-items:center;gap:1.2rem}
.site-nav a,.admin-nav a{color:var(--muted);font-size:.95rem;transition:.2s}
.site-nav a:hover,.admin-nav a:hover,.site-nav a.is-active{color:var(--text)}
.nav-toggle{
  display:none;background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--text);
  width:44px;height:44px;border-radius:18px;font-size:1.2rem
}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  border:none;border-radius:18px;padding:.95rem 1.2rem;font-weight:600;cursor:pointer;
  transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.button:hover{transform:translateY(-1px)}
.button-primary{background:var(--blue);color:#02111d}
.button-primary:hover{background:#96d3ff}
.button-outline{background:rgba(255,255,255,.05);color:var(--text);border:1px solid var(--border)}
.button-outline:hover{background:rgba(255,255,255,.09)}
.button-danger{background:rgba(255,117,140,.12);color:#ffd9df;border:1px solid rgba(255,117,140,.22)}
.nav-admin{padding:.8rem 1rem}
.hero{padding:4rem 0 5rem}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:end}
.hero h1{
  font-size:clamp(2.8rem,6vw,5.4rem);line-height:.95;letter-spacing:-.04em;margin:.5rem 0 1rem;
  max-width:11ch
}
.hero p{max-width:48rem;color:var(--muted);font-size:1.05rem}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.45rem .8rem;border-radius:999px;border:1px solid var(--border);
  background:rgba(255,255,255,.05);text-transform:uppercase;letter-spacing:.26em;
  color:var(--blue);font-size:.72rem;font-weight:600
}
.hero-actions,.inline-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.5rem}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:1.8rem;max-width:52rem}
.card{
  background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);backdrop-filter:blur(18px)
}
.card-inner{padding:1.3rem}
.stat strong{font-size:1.8rem;display:block}
.stat span{font-size:.72rem;color:var(--muted-2);text-transform:uppercase;letter-spacing:.2em}
.hero-media{position:relative}
.hero-panel{position:relative;overflow:hidden;border-radius:36px;border:1px solid var(--border);background:var(--panel)}
.hero-panel img{height:32rem;width:100%;object-fit:cover;opacity:.88}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.85) 100%)}
.hero-meta{
  position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem;
  display:grid;grid-template-columns:repeat(2,1fr);gap:1rem
}
.info-pill{
  border:1px solid var(--border);background:rgba(0,0,0,.55);padding:1rem 1.15rem;
  border-radius:24px;backdrop-filter:blur(16px)
}
.info-pill small{display:block;color:var(--blue);text-transform:uppercase;letter-spacing:.24em;font-size:.7rem}
.info-pill strong{display:block;font-size:1.12rem;margin-top:.35rem}
.info-pill span{display:block;color:var(--muted);margin-top:.45rem;font-size:.92rem}
.section,.page-intro{padding:5rem 0}
.page-intro{border-bottom:1px solid var(--border)}
.section-title{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;letter-spacing:-.03em;margin:.6rem 0 1rem;max-width:14ch}
.section-copy{max-width:48rem;color:var(--muted);font-size:1rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.service-card{height:100%}
.service-card .card-inner{padding:1.55rem}
.service-icon{
  width:48px;height:48px;border-radius:18px;display:inline-block;
  border:1px solid var(--border-bright);background:var(--blue-soft);position:relative
}
.service-icon::before{
  content:"";position:absolute;inset:12px;border:2px solid var(--blue);border-radius:8px
}
.service-icon-wrench::before{border-top:none;transform:rotate(45deg);inset:11px 14px 11px 14px}
.service-icon-workflow::before{inset:14px 10px;border-radius:10px;border-left:2px solid var(--blue);border-right:2px solid var(--blue)}
.service-icon-circuit::before{inset:10px;border-radius:4px}
.service-icon-cpu::before{inset:12px;border-radius:5px;box-shadow:-10px 0 0 -8px var(--blue),10px 0 0 -8px var(--blue)}
.service-icon-gauge::before{inset:11px;border-top-left-radius:999px;border-top-right-radius:999px;border-bottom:none}
.service-icon-cube::before{inset:11px;transform:rotate(45deg)}
.service-icon-settings::before{inset:13px;border-radius:999px;box-shadow:0 0 0 3px transparent}
.service-icon-shield::before{inset:10px 13px 12px;border-radius:0 0 12px 12px}
.service-card h3{margin:.9rem 0 .5rem;font-size:1.25rem}
.service-card p{margin:0;color:var(--muted)}
.service-list{margin:1rem 0 0;padding:0;list-style:none;display:grid;gap:.65rem}
.service-list li{display:flex;gap:.7rem;color:var(--muted);font-size:.95rem}
.service-list li::before{content:"";width:.45rem;height:.45rem;border-radius:999px;background:var(--blue);margin-top:.5rem;flex:0 0 auto}
.section-header{margin-bottom:2rem}
.about-grid,.contact-grid,.location-grid,.post-layout,.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.gallery-item{overflow:hidden;position:relative}
.gallery-item img{height:20rem;width:100%;object-fit:cover;transition:transform .5s ease}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item .caption{
  position:absolute;inset:auto 1rem 1rem 1rem;
  padding:1rem 1.05rem;border-radius:24px;border:1px solid var(--border);
  background:rgba(0,0,0,.5);backdrop-filter:blur(12px)
}
.caption strong{display:block;font-size:1.1rem}
.caption span{display:block;color:var(--muted);margin-top:.2rem}
.blog-card{overflow:hidden}
.blog-card img{height:15rem;width:100%;object-fit:cover}
.blog-card h3{margin:.75rem 0 .35rem;font-size:1.25rem}
.blog-card p{color:var(--muted);margin:0}
.meta-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.post-image{height:28rem;width:100%;object-fit:cover;border-radius:var(--radius)}
.post-content{padding:2rem}
.sidebar-stack{display:grid;gap:1rem}
.form-grid{display:grid;gap:1rem}
.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
input,textarea{
  width:100%;padding:.95rem 1rem;border-radius:20px;border:1px solid var(--border);
  background:rgba(0,0,0,.35);color:var(--text);outline:none
}
textarea{min-height:11rem;resize:vertical}
input:focus,textarea:focus{border-color:var(--border-bright);box-shadow:0 0 0 4px rgba(84,179,255,.1)}
.notice{
  padding:.95rem 1rem;border-radius:18px;border:1px solid var(--border);margin-bottom:1rem;
  background:rgba(255,255,255,.05)
}
.notice-success{border-color:rgba(155,240,188,.25);background:rgba(155,240,188,.08);color:#d9ffe7}
.notice-error{border-color:rgba(255,156,169,.25);background:rgba(255,156,169,.08);color:#ffe0e6}
.site-footer{border-top:1px solid var(--border);padding:3rem 0 4rem;background:rgba(3,4,6,.72)}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.footer-grid h3,.footer-grid h4{margin:.1rem 0 .8rem}
.footer-grid p{color:var(--muted)}
.footer-list{list-style:none;padding:0;margin:0;display:grid;gap:.55rem;color:var(--muted)}
.footer-card{
  display:block;border:1px solid var(--border);border-radius:24px;background:rgba(255,255,255,.05);padding:1rem
}
.footer-card small,.tag{display:block;text-transform:uppercase;letter-spacing:.22em;color:var(--blue);font-size:.72rem}
.footer-card strong{display:block;margin-top:.45rem}
.footer-card span{display:block;color:var(--muted-2);margin-top:.45rem;font-size:.9rem}
.badge{
  display:inline-block;padding:.4rem .65rem;border-radius:999px;border:1px solid var(--border-bright);
  background:var(--blue-soft);color:#d8f1ff;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase
}
.admin-shell{min-height:100vh}
.admin-main{padding:2rem 0 4rem}
.admin-card .card-inner{padding:1.5rem}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:.9rem .75rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
th{color:var(--muted-2);font-size:.8rem;text-transform:uppercase;letter-spacing:.16em}
.action-row{display:flex;gap:.6rem;flex-wrap:wrap}
.login-card{max-width:540px;margin:6rem auto}
.hero-compact{padding-top:2rem}
.map-placeholder{
  min-height:28rem;display:grid;place-items:center;text-align:center;padding:2rem;
  background:
    radial-gradient(circle at top, rgba(84,179,255,.16), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}
.map-box{max-width:34rem;padding:2rem}
.muted{color:var(--muted)}
.center{text-align:center}
.mt-0{margin-top:0}
.mt-1{margin-top:.75rem}
.mt-2{margin-top:1.25rem}
.mt-3{margin-top:2rem}
.hidden{display:none}

@media (max-width: 1024px){
  .hero-grid,.about-grid,.contact-grid,.location-grid,.post-layout,.split-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .hero-meta{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .nav-toggle{display:inline-grid;place-items:center}
  .site-nav{
    position:absolute;top:100%;left:0;right:0;padding:1rem;
    display:none;flex-direction:column;align-items:stretch;background:rgba(4,5,7,.95);
    border-top:1px solid var(--border)
  }
  .site-nav.is-open{display:flex}
  .hero{padding-top:2.25rem}
  .stats-grid,.grid-3,.grid-4,.grid-2,.form-row,.footer-grid{grid-template-columns:1fr}
  .hero-panel img{height:24rem}
  .section,.page-intro{padding:4rem 0}
  .container{width:min(var(--max),calc(100% - 1.25rem))}
  .brand-copy small{letter-spacing:.24em}
}
