:root{
  --bg:#0e1116;
  --panel:#141922;
  --muted:#9aa4b2;
  --text:#e7ecf2;
  --brand:#6fd3c7;
  --brand-dark:#49a69a;
  --accent:#b7a1ff;
  --link:#81e5d8;
  --danger:#ff7a86;
  --shadow: rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(180deg,#0b0f14,#111723);color:var(--text);font:16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial}
img{max-width:100%;display:block;border-radius:12px}
a{color:var(--link);text-decoration:none}
a:hover{opacity:.9}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .4em}
p{margin:0 0 1em}

.site-header{position:sticky;top:0;z-index:50;background:rgba(17,23,35,.7);backdrop-filter: blur(10px);border-bottom:1px solid #1f2633}
.site-header .logo{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;font-weight:700;color:var(--text)}
.site-header .logo img{width:32px;height:32px;border-radius:8px;box-shadow:0 4px 10px var(--shadow)}

.nav-toggle{display:none;margin-left:auto;margin-right:1rem;background:none;border:0;cursor:pointer}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--text);margin:6px 0;border-radius:2px}

.nav ul{display:flex;gap:.4rem;align-items:center;list-style:none;margin:0;padding:.6rem 1rem}
.nav a{display:block;padding:.5rem .8rem;border-radius:10px}
.nav a.active{background:linear-gradient(180deg,#1b2331,#151b26);box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 10px 20px var(--shadow)}
.nav .has-sub{position:relative}
.nav .has-sub > .sub{position:absolute;left:0;top:100%;min-width:260px;background:var(--panel);border:1px solid #1f2633;border-radius:12px;padding:.5rem;display:none;box-shadow:0 15px 40px var(--shadow)}
.nav .has-sub:hover > .sub{display:block}
.nav .sub a{padding:.5rem .7rem;border-radius:8px}
.nav .sub a:hover{background:#1a2130}

.nav .social{margin-left:auto;display:flex;gap:.3rem}
.nav .social .ico{display:grid;place-items:center;width:36px;height:36px;background:#141a25;border:1px solid #1f2633;border-radius:10px}
.nav .social svg{width:18px;height:18px;fill:var(--muted)}

.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;padding:2rem 1rem;max-width:1200px;margin:auto}
.hero-media{filter: saturate(1.05)}
.hero-content{display:flex;flex-direction:column;justify-content:center}
.future-quote{margin-top:1.2rem;padding:1rem 1.2rem;border:1px dashed #2c3445;border-radius:12px;background:linear-gradient(180deg,#121826,#0f1622)}
.future-quote cite{display:block;margin-top:.5rem;color:var(--muted);font-style:normal}

.btn{background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:#071417;border:0;padding:.7rem 1rem;border-radius:12px;font-weight:700;box-shadow:0 10px 20px rgba(111,211,199,.2);cursor:pointer}
.btn.inline{display:inline-block}
.btn.ghost{background:transparent;border:1px solid #283141;color:var(--text)}

.btn-3d{display:inline-grid;place-items:center;position:relative;margin-top:1rem;transform-style:preserve-3d;perspective:800px}
.btn-3d__top{display:inline-block;padding:.9rem 1.1rem;border-radius:14px;background:linear-gradient(180deg,#74e1d4,#5dd1c4);color:#0a1715;font-weight:800;letter-spacing:.2px;transform:translateZ(14px);box-shadow:0 8px 22px rgba(93,209,196,.35);border:1px solid rgba(0,0,0,.06)}
.btn-3d__shadow{position:absolute;inset:0;border-radius:16px;background:radial-gradient(60% 60% at 50% 30%, rgba(0,0,0,.2), rgba(0,0,0,0) 60%);transform:translateZ(0)}
.btn-3d:hover .btn-3d__top{transform:translateZ(18px)}
.btn-3d:active .btn-3d__top{transform:translateZ(8px)}

.features{max-width:1200px;margin:1rem auto 3rem;display:grid;gap:1.2rem;grid-template-columns:repeat(3,1fr);padding:0 1rem}
.card{background:linear-gradient(180deg,#121926,#101723);border:1px solid #1f2633;border-radius:16px;overflow:hidden;box-shadow:0 20px 40px var(--shadow)}
.card-body{padding:1rem 1rem 1.2rem}
.link-arrow{font-weight:600;color:var(--accent)}

.contact-cta{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr .9fr;gap:1.2rem;align-items:center;padding:0 1rem 3rem}
.contact-cta__info{background:linear-gradient(180deg,#121926,#0f1724);border:1px solid #1f2633;border-radius:16px;padding:1rem}
.contact-cta__img{filter:saturate(1.05)}

.page-hero{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:1.2rem;align-items:center;padding:1.4rem 1rem}
.page-hero.slim{grid-template-columns:1fr .8fr}

.post-preview{max-width:880px;margin:1rem auto 3rem;background:linear-gradient(180deg,#121926,#101723);border:1px solid #1f2633;border-radius:16px;padding:1rem}
.post-preview__img{margin:1rem 0}

.archive{max-width:880px;margin:0 auto 4rem;background:linear-gradient(180deg,#0f1521,#0d121c);border:1px solid #1f2633;border-radius:16px;padding:1rem}
.archive ul{list-style:none;margin:0;padding:0}
.archive li{padding:.4rem 0;border-bottom:1px dashed #212a3a}
.archive li:last-child{border-bottom:0}

.post-main{max-width:900px;margin:auto;padding:1rem}
.post{background:linear-gradient(180deg,#121926,#101723);border:1px solid #1f2633;border-radius:16px;padding:1rem 1.2rem 1.3rem}
.post-cover{margin:.8rem 0;border-radius:14px}

.about-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:1.5rem;padding:1rem}
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.team-card{background:linear-gradient(180deg,#121926,#0f1724);border:1px solid #1f2633;border-radius:16px;padding:.8rem}
.team-card img{border-radius:12px}

.contact-wrap{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr .8fr;gap:1.2rem;padding:0 1rem 2rem}
.contact-card{background:linear-gradient(180deg,#121926,#101723);border:1px solid #1f2633;border-radius:16px;padding:1rem}
.contact-card .grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
label span{display:block;margin:.3rem 0 .2rem;color:var(--muted);font-size:.9rem}
input,textarea{width:100%;padding:.7rem .8rem;border:1px solid #263043;border-radius:12px;background:#0e1420;color:var(--text);outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
input:focus,textarea:focus{border-color:#34435d}

.map-stub{margin-top:1rem;background:#0e1420;border:1px dashed #2b3447;border-radius:14px;padding:.6rem}

.site-footer{border-top:1px solid #1f2633;background:linear-gradient(180deg,#0e1320,#0b0f18);padding:1.2rem 1rem}
.footer-grid{max-width:1200px;margin:auto;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1fr}
.footer-links{list-style:none;margin:0;padding:0}
.footer-links li{margin:.3rem 0}
.footer-links .pill{display:inline-block;background:#141a25;border:1px solid #222a39;padding:.3rem .6rem;border-radius:999px}

.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:rgba(11,15,22,.96);border-top:1px solid #1f2633;backdrop-filter: blur(8px);padding:.8rem 1rem;z-index:100;display:none}
.cookie-content{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.cookie-actions{display:flex;align-items:center;gap:.8rem}
.cookie-link{color:var(--muted);text-decoration:underline}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:120;padding:1rem}
.modal__dialog{background:linear-gradient(180deg,#121926,#101723);border:1px solid #1f2633;border-radius:16px;padding:1rem;max-width:520px;width:100%}
.modal__actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}

.switch{display:flex;align-items:center;gap:.6rem}
.switch input{accent-color:var(--brand)}

@media (max-width: 980px){
  .hero, .features, .contact-cta, .about-grid, .contact-wrap, .page-hero{grid-template-columns:1fr}
  .features{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .team{grid-template-columns:1fr}
  .contact-card .grid{grid-template-columns:1fr}
  .nav .social{display:none}
  .nav-toggle{display:block}
  .nav{display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;align-items:flex-start}
  .nav .has-sub > .sub{position:static;display:block;background:transparent;border:0;padding:0}
}
