/* Performance-optimized CSS with SEO considerations */
:root {
  --bg: #0f1720;
  --card: #0b1220;
  --muted: #9aa4b2;
  --accent: #4f46e5;
  --accent-2: #06b6d4;
  --surface: #0b1220;
  --text: #e6eef6;
  --max-width: 1100px;
  --radius: 12px;
  --font-primary: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Critical CSS for above-the-fold content */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  height: 100%;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  min-height: 100%;
  font-family: var(--font-primary);
  font-display: swap;
  background: linear-gradient(180deg, #071021 0%, #081426 60%);
  color: var(--text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.container{max-width:var(--max-width);margin:0 auto;padding:28px}
.site-header{backdrop-filter:blur(6px);position:sticky;top:0;z-index:40}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:700;color:var(--text);text-decoration:none;font-size:1.1rem}
.nav a{color:var(--muted);text-decoration:none;margin-left:18px}
.nav a.cta{background:transparent;border:1px solid rgba(255,255,255,0.06);padding:8px 12px;border-radius:8px;color:var(--text)}
.hero{padding:56px 0}
.hero-grid{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start}
.hero-content h1{font-size:2.2rem;margin:0 0 12px}
.lead{color:var(--muted);margin-bottom:18px}
.btn{display:inline-block;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:600}
.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:white;border:none}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--text)}
.btn.full{width:100%}
.hero-card .card{background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01));padding:16px;border-radius:12px}
.card-header{font-weight:700;margin-bottom:8px}
small, .small{font-size:0.88rem}
.trust-list{display:flex;gap:12px;margin-top:18px;list-style:none;padding:0}
.trust-list li{color:var(--muted);font-weight:600}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.services .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
.service{background:rgba(255,255,255,0.02);padding:18px;border-radius:10px}
.pricing{padding:44px 0}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.plan{background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));padding:20px;border-radius:12px;text-align:center}
.plan.popular{border:1px solid rgba(79,70,229,0.18);box-shadow:0 6px 24px rgba(79,70,229,0.08)}
.plan.hourly{border:2px solid rgba(6,182,212,0.18);box-shadow:0 12px 30px rgba(6,182,212,0.06);transform:translateY(-4px)}
.badge-hourly{background:linear-gradient(90deg,var(--accent-2),var(--accent));color:white;padding:6px 10px;border-radius:999px;font-weight:700}
.badge{background:rgba(79,70,229,0.12);color:var(--accent);display:inline-block;padding:6px 8px;border-radius:8px;margin-bottom:10px}
.price{font-size:1.6rem;font-weight:800;margin:6px 0}
.hosting-plans{margin-top:26px}
.host-grid{display:flex;gap:12px;margin-top:12px}
.host{background:rgba(255,255,255,0.02);padding:12px;border-radius:10px;flex:1;text-align:center}
.host-price{font-weight:700}
.hosting{padding:30px 0}
.hosting-features{display:flex;gap:18px;margin-top:18px}
.feature{background:rgba(255,255,255,0.02);padding:16px;border-radius:10px;flex:1}
.testimonials{padding:30px 0}
.test-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
blockquote{background:rgba(255,255,255,0.02);padding:16px;border-left:4px solid rgba(255,255,255,0.04);border-radius:8px}
.contact{padding:30px 0}
.contact-form{max-width:720px}
.contact-form .row{display:flex;flex-direction:column;margin-bottom:12px}
.contact-form input, .contact-form textarea, select{padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:var(--text)}
.estimate-result{margin-top:10px;color:var(--accent-2);font-weight:700}
.site-footer{padding:20px 0;border-top:1px solid rgba(255,255,255,0.02);margin-top:40px}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.footer-nav a{color:var(--muted);margin-left:12px}
/* Footer styles */
.site-footer{border-top:1px solid rgba(255,255,255,0.03);padding:28px 0;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:start}
.footer-col .brand{font-size:1.05rem;margin-bottom:6px;display:inline-block}
.footer-col h4{margin:0 0 8px}
.footer-nav{display:flex;flex-direction:column}
.footer-nav a{color:var(--muted);text-decoration:none;margin:6px 0}
.socials a{color:var(--muted);margin-right:8px;text-decoration:none}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.02);margin-top:16px;padding-top:12px;display:flex;justify-content:space-between;align-items:center}

@media (max-width:800px){
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;gap:8px;align-items:flex-start}
}

/* Icon & modal styles */
.socials svg, .footer-col svg{display:inline-block;vertical-align:middle;color:var(--muted)}
.footer-col a[aria-label]{color:var(--muted);text-decoration:none}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(2,6,23,0.6);display:none;align-items:center;justify-content:center;z-index:60}
.modal{background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));padding:20px;border-radius:12px;width:min(720px,95%);box-shadow:0 12px 40px rgba(0,0,0,0.6)}
.modal .row{margin-bottom:10px}
.modal .actions{display:flex;gap:8px;justify-content:flex-end}
.modal.show{display:block}
.modal-backdrop.show{display:flex}
@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr}
  .services .cards{grid-template-columns:repeat(2,1fr)}
  .pricing-grid{grid-template-columns:1fr}
  .host-grid{flex-direction:column}
  .test-grid{grid-template-columns:1fr}
}
@media (max-width: 520px){
  .services .cards{grid-template-columns:1fr}
}
/* Enhanced Accessibility and Performance */
:focus {
  outline: 3px solid rgba(6, 182, 212, 0.16);
  outline-offset: 3px;
}

:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible {
  outline: 3px solid rgba(6, 182, 212, 0.5);
  outline-offset: 2px;
}

/* Reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  :root {
    --text: #ffffff;
    --muted: #cccccc;
    --accent: #0066ff;
    --accent-2: #00ccff;
  }
}

/* Print styles for better document printing */
@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  
  body {
    font-size: 12pt;
    line-height: 1.4;
  }
  
  h1, h2, h3 {
    page-break-after: avoid;
  }
  
  .site-header, .site-footer, .modal-backdrop {
    display: none !important;
  }
}

/* Performance optimizations */
img {
  max-width: 100%;
  height: auto;
}

svg {
  max-width: 100%;
  height: auto;
}

/* Optimize font loading */
@supports (font-display: swap) {
  * {
    font-display: swap;
  }
}
