
/* Think Tank Oxygene — Premium 2025 Styles */
:root {
  --color-teal: #008080;
  --color-aqua: #00c4c4;
  --color-navy: #0a2342;
  --color-white: #ffffff;
  --color-neutral: #f9f9f9;
  --color-text: #10131c;
  --color-muted: #5b6476;
  --glass-bg: rgba(255,255,255,0.65);
  --glass-bd: 1px solid rgba(10,35,66,0.10);
  --radius: 18px;
  --shadow: 0 10px 30px rgba(0,0,0,0.08);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.12);
  --transition: 220ms cubic-bezier(.2,.8,.2,1);
  --maxw: 1200px;
  --header-h: 72px;
  --header-h-scrolled: 58px;
}

@media (prefers-contrast: more) {
  :root { --glass-bg: rgba(255,255,255,0.9); --glass-bd: 2px solid rgba(0,0,0,0.35); }
}

:root.dark {
  --color-text: #e6e8ee;
  --color-muted: #a9b2c5;
  --color-neutral: #0f1424;
  --color-white: #0b1020;
  --glass-bg: rgba(11,16,32,0.5);
  --glass-bd: 1px solid rgba(255,255,255,0.08);
  --shadow: 0 10px 30px rgba(0,0,0,0.35);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.4);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Lato,"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  color:var(--color-text);
  background:radial-gradient(1200px 600px at 10% -10%, rgba(0,196,196,0.08), transparent),
             radial-gradient(900px 500px at 100% 10%, rgba(0,128,128,0.06), transparent),
             var(--color-white);
  line-height:1.65;
  -webkit-tap-highlight-color: transparent;
}

/* Animated gradient aura */
@keyframes floatAura {
  0% { transform: translateY(0) translateX(0) scale(1); opacity:.7;}
  50% { transform: translateY(-10px) translateX(8px) scale(1.02); opacity:.9;}
  100% { transform: translateY(0) translateX(0) scale(1); opacity:.7;}
}
.aura {
  position:absolute; inset:auto; pointer-events:none; filter: blur(50px); opacity:.75;
  width:180px; height:180px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, var(--color-aqua), transparent 60%),
              radial-gradient(circle at 70% 70%, var(--color-teal), transparent 70%);
  animation: floatAura 6s ease-in-out infinite;
}

/* Utility gradient text/bg */
.gradient-brand{background:linear-gradient(135deg,var(--color-teal),var(--color-aqua))}
.text-gradient{background:linear-gradient(135deg,var(--color-teal),var(--color-aqua));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Containers */
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}
.section{padding:72px 0}
.section.alt{background:var(--color-neutral)}

/* Glass cards */
.card{
  background:var(--glass-bg);
  border:var(--glass-bd);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:22px;
  backdrop-filter: blur(10px);
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-lg); }

.card-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}

/* Header */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:12px;top:12px;width:auto;height:auto;padding:8px 12px;background:var(--color-navy);color:white;z-index:1000;border-radius:10px}

.header{position:sticky;top:0;z-index:1000;background:var(--glass-bg);backdrop-filter: blur(10px);
  border-bottom:var(--glass-bd);transition: height var(--transition), background var(--transition), border var(--transition);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);transition:height var(--transition)}
.header.scrolled .header-inner{height:var(--header-h-scrolled)}

.brand{display:flex;align-items:center;gap:12px;font-family:Montserrat,Lato,"Open Sans",system-ui;font-weight:900;letter-spacing:.3px;font-size:1.08rem;color:var(--color-navy);text-decoration:none}
.brand .logo{width:36px;height:36px;border-radius:12px;flex:0 0 36px;background:linear-gradient(135deg,var(--color-teal),var(--color-aqua));display:grid;place-items:center;color:white;font-size:18px;font-weight:900;box-shadow:var(--shadow)}
nav ul{margin:0;padding:0;list-style:none;display:flex;gap:12px;align-items:center}
nav a{text-decoration:none;color:var(--color-text);padding:10px 12px;border-radius:12px;font-weight:700;font-size:.95rem}
nav a:hover,nav a[aria-current="page"]{background:rgba(10,35,66,.06)}
:root.dark nav a:hover,:root.dark nav a[aria-current="page"]{background:rgba(255,255,255,.07)}
.nav-toggle{display:none;background:none;border:0;font-size:1.25rem}

@media (max-width:840px){
  nav ul{display:none;position:absolute;right:20px;top:calc(var(--header-h) - 6px);background:var(--glass-bg);backdrop-filter: blur(10px);padding:12px;border-radius:14px;box-shadow:var(--shadow);border:var(--glass-bd)}
  nav ul.open{display:grid;gap:6px}
  .nav-toggle{display:inline-flex}
}

/* Hero */
.hero{
  position:relative;overflow:hidden;
  padding:110px 0 84px;
  background:linear-gradient(135deg, rgba(0,128,128,0.08), rgba(0,196,196,0.10));
}
.hero h1{font-family:Montserrat,Lato,"Open Sans",system-ui;font-weight:900;font-size:clamp(2.1rem,4.2vw,3.3rem);margin:0 0 12px;color:var(--color-navy)}
.hero p.lead{font-size:1.15rem;color:var(--color-muted);max-width:780px}
.hero .cta{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}

/* Buttons */
.btn{appearance:none;border:0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:14px;font-weight:800;transition: transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition)}
.btn-primary{background:linear-gradient(135deg,var(--color-teal),var(--color-aqua));color:white;box-shadow:var(--shadow)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{background:transparent;border:2px solid rgba(10,35,66,.12);color:var(--color-navy)}
:root.dark .btn-ghost{border-color:rgba(255,255,255,.15);color:var(--color-text)}
.btn-ghost:hover{background:var(--color-neutral)}

/* Ripple effect (reduced-motion aware) */
.btn, .brand .logo{position:relative;overflow:hidden}
.btn:focus-visible{outline:3px solid var(--color-aqua);outline-offset:2px}
@media (prefers-reduced-motion: no-preference){
  .ripple{position:absolute;border-radius:50%;transform:scale(0);animation:ripple .6s linear;pointer-events:none;background:rgba(255,255,255,.45)}
  @keyframes ripple{to{transform:scale(4);opacity:0}}
}

/* Icon badge */
.icon-badge{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,var(--color-teal),var(--color-aqua));display:grid;place-items:center;color:white;font-weight:900;margin-bottom:10px}

/* Footer */
.footer{background:var(--color-neutral);padding:40px 0;border-top:1px solid rgba(10,35,66,.08)}
.footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.footer a{color:var(--color-text);text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer small{color:var(--color-muted)}

/* Forms */
input,textarea,select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(10,35,66,.15);background:var(--color-white);color:var(--color-text)}
textarea{min-height:140px;resize:vertical}
label{font-weight:800;font-size:.95rem;display:block;margin-bottom:6px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:720px){.form-row{grid-template-columns:1fr}}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(12px);transition:opacity 420ms ease, transform 420ms ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none}}

/* Typography */
h1,h2,h3,h4{font-family:Montserrat,Lato,"Open Sans",system-ui;color:var(--color-navy)}
.lead{color:var(--color-muted)}
.muted{color:var(--color-muted)}

/* High contrast quick mode */
:root.contrast *{outline-color: currentColor;}
:root.contrast .btn-ghost{border-width:3px}
