/* OpalVista — simple responsive styles */
:root{
  --bg:#0f172a; /* deep navy */
  --card:#0b1220;
  --muted:#94a3b8;
  --accent1:#7dd3fc;
  --accent2:#a78bfa;
  --glass: rgba(255,255,255,0.04);
  --radius:14px;
  --container:1100px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: linear-gradient(180deg,#041229 0%, #071433 60%);
  color:#e6eef8;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.container{max-width:var(--container);margin:0 auto;padding:2rem}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.site-header{position:sticky;top:0;backdrop-filter: blur(6px);background:linear-gradient(180deg, rgba(6,10,20,0.6), rgba(6,10,20,0.4));border-bottom:1px solid rgba(255,255,255,0.03);z-index:40}
.brand{display:flex;align-items:center;gap:.4rem;text-decoration:none;color:inherit}
.brand .logo{transform:translateX(-6px);}
.logo{width:56px;height:56px}
.brand-text{font-weight:600;letter-spacing:0.6px}
.nav{display:flex;gap:1rem}
.nav a{color:var(--muted);text-decoration:none;padding:8px;border-radius:8px}
.nav a:hover{color:#fff;background:var(--glass)}
.menu-toggle{display:none;background:none;border:0;color:inherit;font-size:1.3rem}

.hero{padding:5rem 0}
.hero-inner{display:flex;align-items:center;gap:3rem}
.hero-copy{flex:1}
.hero-art{flex:1}
.tagline{color:var(--muted);font-size:1.15rem;margin-top:.4rem}
h1{font-size:2.6rem;margin:0 0 .6rem}
.btn{display:inline-block;background:linear-gradient(90deg,var(--accent1),var(--accent2));color:#031027;padding:0.7rem 1.1rem;border-radius:10px;text-decoration:none;font-weight:600}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--accent1);margin-left:0.6rem}

.features{padding:3.2rem 0}
.features h2{margin-top:0;color:#dbeafe}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem;margin-top:1rem}
.card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:1.2rem;border-radius:10px;border:1px solid rgba(255,255,255,0.03)}
.card h3{margin-top:0}

.about, .contact{padding:2.5rem 0}
.contact-form{display:grid;gap:1rem;max-width:680px}
.contact-form label{display:block}
.contact-form input,
.contact-form textarea{width:100%;padding:0.75rem;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit}
.form-actions{display:flex;gap:1rem;align-items:center}
.form-status{color:var(--accent1);font-weight:600}

.site-footer{border-top:1px solid rgba(255,255,255,0.03);padding:1.2rem 0;margin-top:3rem}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.footer-nav a{color:var(--muted);text-decoration:none;margin-left:1rem}

/* Responsive */
@media (max-width:900px){
  .hero-inner{flex-direction:column-reverse}
  .grid{grid-template-columns:1fr}
}
@media (max-width:700px){
  .menu-toggle{display:block}
  .nav{position:absolute;right:1rem;top:64px;background:rgba(2,6,23,0.9);padding:0.6rem;border-radius:10px;flex-direction:column;display:none}
  .nav.show{display:flex}
}

/* small util */
.hidden{display:none}

/* Calculator styles */
.calculator{position:fixed;right:1.5rem;bottom:1.5rem;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:1rem;border-radius:12px;border:1px solid rgba(255,255,255,0.04);box-shadow:0 10px 30px rgba(2,6,23,0.6);z-index:60;width:320px}
.calc{display:flex;flex-direction:column;gap:0.6rem}
.calc-display{width:100%;padding:0.8rem;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit;font-size:1.15rem;text-align:right}
.calc-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:0.45rem}
.calc-buttons button{padding:0.7rem;border-radius:8px;border:0;background:rgba(255,255,255,0.03);color:var(--muted);font-weight:600}
.calc-buttons button:hover{background:rgba(255,255,255,0.05);color:#fff}
.calc-buttons button.equals{grid-column:3/4;background:linear-gradient(90deg,var(--accent1),var(--accent2));color:#031027}
.calc-actions{display:flex;justify-content:flex-end}

@media (max-width:540px){
  .calculator{right:0.8rem;left:0.8rem;width:auto}
}
