/* Global */
:root {
  --accent: #ff6a00;
  --bg-light: #f9f9f9;
  --bg-dark: #1e1e1e;
  --text-dark: #333;
  --text-light: #fff;
  --radius: 12px;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',sans-serif; background:var(--bg-light); color:var(--text-dark); line-height:1.6; }
.container { max-width:1200px; margin:0 auto; padding:2rem; }

/* Flex center utility */
.flex-center { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:2rem; }

/* Hero */
.hero { background:var(--bg-dark); color:var(--text-light); padding:4rem 0; }
.avatar-mask { width:300px; height:300px; border-radius:50%; overflow:hidden; flex-shrink:0; }
.avatar-mask img { width:100%; height:auto; object-fit:cover; }
.hero-text { max-width:600px; }
.hero-text h1 { font-size:2rem; margin-bottom:1rem; }
.hero-text p { margin-bottom:1rem; color:var(--text-light); }
.hero-buttons .btn { margin-right:1rem; padding:.75rem 1.5rem; background:var(--accent); color:#fff; border-radius:var(--radius); text-decoration:none; transition:background .3s; }
.hero-buttons .btn:hover { background:#e55600; }

/* Section Titles */
.section h2 { font-size:2rem; margin-bottom:1rem; text-align:center; color:var(--accent); }

/* Grids */
.grid { display:grid; gap:1.5rem; }
.two-columns { grid-template-columns:repeat(2,1fr); }
.three-columns { grid-template-columns:repeat(3,1fr); }

/* Three columns on very large screens */
@media (min-width: 2000px) {
  .three-columns { grid-template-columns:repeat(3,1fr); }
}

/* Cards */
.card { background:#fff; border-radius:var(--radius); padding:1.5rem; box-shadow:0 4px 12px rgba(0,0,0,0.1); text-align:center; }
.card img { width:100%; height:auto; object-fit:cover; }

/* Pricing table centered */
.pricing-table { margin:2rem auto; border-collapse:collapse; width:80%; }
.pricing-table th, .pricing-table td { border:1px solid #ddd; padding:0.75rem; text-align:left; }
.pricing-table th { background:var(--accent); color:#fff; }

/* Contacts */
.contacts p { text-align:center; margin:.5rem 0; }

/* Footer */
footer { background:var(--bg-dark); color:var(--text-light); text-align:center; padding:2rem 0; }
footer img { max-height:50px; margin-bottom:1rem; }

/* Responsive */
@media(max-width:768px) {
  .two-columns, .three-columns { grid-template-columns:1fr; }
  .container { padding:1rem; }
}
