*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --text:#fff; --muted:rgba(255,255,255,.78);
  --glass:rgba(255,255,255,.12); --glass-strong:rgba(255,255,255,.2);
  --border:rgba(255,255,255,.22);
  --accent-1:#ffd166; --accent-2:#ef476f;
}
html{scroll-behavior:smooth}
body{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);background-attachment:fixed;color:var(--text);font-family:Manrope,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.bubbles{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.bubble{position:absolute;border-radius:50%;background:rgba(255,255,255,.08);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.15)}
.b1{width:280px;height:280px;top:10%;left:-80px}
.b2{width:180px;height:180px;top:60%;right:-40px}
.b3{width:120px;height:120px;top:30%;right:20%}
.b4{width:240px;height:240px;bottom:-80px;left:30%}

.container{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:1}
.container.narrow{max-width:760px}
.muted{color:var(--muted)}
section{padding:96px 0;position:relative;z-index:1}
h2{font-size:44px;font-weight:600;letter-spacing:-1px;margin-bottom:24px;text-align:center}
h3{font-size:24px;font-weight:600;margin:32px 0 16px}
p{margin-bottom:16px}

.site-header{position:sticky;top:16px;z-index:5;margin:16px 24px 0}
.site-header .header-row{background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:16px;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}
.logo img{height:36px}
.phone{font-weight:600}

.hero{min-height:90vh;display:flex;align-items:center}
.hero-inner{max-width:900px}
.hero h1{font-size:clamp(40px,7vw,80px);font-weight:700;letter-spacing:-2px;line-height:1.05;margin-bottom:32px}
.hero p{font-size:18px;color:var(--muted);max-width:640px}

.portfolio{padding:48px 0}
.portfolio .portfolio-image{width:100%;max-height:80vh;object-fit:cover;border-radius:24px;border:1px solid var(--border);box-shadow:0 16px 48px rgba(0,0,0,.2)}

.form-section .container.narrow{padding:48px;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:24px}
.contact-form{display:flex;flex-direction:column;gap:14px;margin-top:24px}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form input,.contact-form textarea{background:rgba(255,255,255,.15);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:14px 18px;font-family:inherit;font-size:15px;width:100%}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.6)}
.contact-form input:focus,.contact-form textarea:focus{outline:none;background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.4)}
.contact-form textarea{min-height:120px;resize:vertical}
.agree{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--muted)}
.btn-primary{display:inline-block;padding:14px 40px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;border:none;border-radius:14px;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;align-self:center;box-shadow:0 8px 24px rgba(239,71,111,.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(239,71,111,.4)}

.faq{display:flex;flex-direction:column}
.faq .container{display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.faq-item summary{padding:20px 24px;cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:22px;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-answer{padding:0 24px 20px;color:var(--muted)}

.content-second .container{padding:48px;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:24px}
.price-table{width:100%;border-collapse:collapse;margin-top:24px;background:rgba(255,255,255,.06);border-radius:14px;overflow:hidden}
.price-table th,.price-table td{padding:14px 18px;text-align:left;border-bottom:1px solid rgba(255,255,255,.15)}
.price-table th{background:rgba(255,255,255,.1);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:1px}
.price-table tr:last-child td{border-bottom:none}

.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.team-card{padding:32px 24px;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:20px;text-align:center}
.team-card img{width:160px;height:160px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:4px solid rgba(255,255,255,.4);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.team-name{font-weight:600;margin-bottom:4px}
.team-position{color:var(--muted);font-size:14px}

.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.review-card{padding:28px;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:20px;box-shadow:0 8px 32px rgba(0,0,0,.12)}
.review-text{color:var(--muted);margin-bottom:16px;font-style:italic}
.review-author{font-weight:600}

.tagcloud{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:48px}
.tag{padding:8px 16px;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:999px;font-size:13px;font-weight:500;transition:background .2s}
.tag:hover{background:var(--glass-strong)}

.site-footer{padding:32px 0;margin-top:64px;background:rgba(0,0,0,.15)}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:14px}

@media (max-width:900px){
  section{padding:64px 0}
  h2{font-size:32px}
  .row-2{grid-template-columns:1fr}
  .team-grid,.reviews-grid{grid-template-columns:1fr 1fr}
  .form-section .container.narrow,.content-second .container{padding:32px 20px}
}
@media (max-width:600px){
  .team-grid,.reviews-grid{grid-template-columns:1fr}
  .site-header .header-row{flex-direction:column;gap:8px}
  .hero h1{font-size:36px}
}
