:root{
  --navy:#7F5BAA;
  --teal:#D9CCEE;
  --clay:#7F5BAA;
  --cream:#FFFFFF;
  --ink:#1A1A17;
  --line:rgba(26,26,23,0.12);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Montserrat',sans-serif;
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  position:relative;
  overflow-x:hidden;
}
img{width:100%;display:block;object-fit:cover;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:'Montserrat',sans-serif;font-weight:500;letter-spacing:-0.01em;}

body::before{content:"";position:absolute;top:0;bottom:0;right:-60px;width:480px;background:url(img/dots.svg) repeat-y right top/100% auto;opacity:.22;z-index:-1;pointer-events:none;}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav-inner{max-width:1200px;margin:0 auto;padding:8px 32px;display:flex;align-items:center;justify-content:space-between;}
.logo img{width:auto;height:72px;}
.logo-dot{color:var(--clay);}
.nav-links{display:flex;gap:32px;font-size:14px;}
.nav-links a{opacity:0.75;transition:opacity .2s;}
.nav-links a:hover{opacity:1;}
.nav-phone{font-size:14px;font-weight:600;border:1px solid var(--ink);padding:8px 16px;border-radius:999px;}

/* HERO */
.hero{position:relative;max-width:1200px;margin:0 auto;padding:64px 32px;display:grid;grid-template-columns:1fr;gap:40px;align-content:center;min-height:calc(100svh - 90px);}
.hero-content{max-width:640px;position:relative;z-index:2;}
.hero-grid{
  position:absolute;top:-20px;right:0;width:280px;height:280px;
  background-image:linear-gradient(var(--line) 1px, transparent 1px),linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:20px 20px;
  opacity:0.6;
  z-index:0;
}
.eyebrow{font-size:13px;letter-spacing:0.06em;text-transform:uppercase;color:var(--navy);font-weight:600;margin-bottom:20px;}
.hero h1{font-size:clamp(38px,6vw,64px);line-height:1.05;margin-bottom:24px;}
.hero-text{font-size:17px;line-height:1.6;opacity:0.75;max-width:520px;margin-bottom:32px;}
.hero-actions{display:flex;gap:14px;margin-bottom:28px;}
.btn{padding:14px 28px;border-radius:999px;font-size:14px;font-weight:600;display:inline-block;}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:#694890;}
.btn-ghost{border:1px solid var(--ink);}
.hero-nfz{font-size:13px;opacity:0.55;}
.hero-img{border-radius:6px;max-height:520px;object-fit:cover;object-position:center 30%;}

/* SECTIONS */
section{max-width:1200px;margin:0 auto;padding:110px 32px;}
.section-label{font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--clay);font-weight:600;margin-bottom:20px;}

.intro h2{font-size:clamp(26px,4vw,38px);max-width:820px;line-height:1.25;margin-bottom:24px;}
.intro-text{max-width:640px;line-height:1.7;opacity:0.75;}

/* OFFER */
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.offer-card{background-color: #fff;border:1px solid var(--line);border-radius:6px;padding:28px;}
.offer-card svg{color:var(--clay);margin-bottom:20px;}
.offer-card h3{font-size:20px;margin-bottom:10px;}
.offer-card p{font-size:14px;line-height:1.6;opacity:0.7;}

/* GALLERY */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.gallery-grid img{height:200px;border-radius:4px;}

/* CONTACT */
.contact{background:var(--navy);color:#fff;border-radius:6px;max-width:1136px;}
.contact{position:relative;}
.btn-review{position:absolute;top:32px;right:32px;background:var(--teal);color:var(--navy);}
.btn-review:hover{background:#fff;}
.contact .section-label{color:var(--teal);}
.contact h2{font-size:clamp(28px,4vw,40px);margin-bottom:48px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:15px;line-height:2;}
.hours-title{font-weight:600;margin-bottom:4px;color:var(--teal);font-size:13px;text-transform:uppercase;letter-spacing:0.06em;}

/* FOOTER */
.footer{max-width:1200px;margin:0 auto;padding:40px 32px 60px;display:flex;justify-content:space-between;font-size:13px;opacity:0.55;}

/* RESPONSIVE */
@media (max-width:860px){
  .nav-links{display:none;}
  .offer-grid{grid-template-columns:1fr 1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .hero-grid{display:none;}
  body::before{display:none;}
  .btn-review{position:static;margin-bottom:24px;}
  section{padding:72px 24px;}
  .nav-inner{padding:8px 24px;}
  .logo img{height:56px;}
  .hero{padding:40px 24px 0;}
  .hero-actions{flex-wrap:wrap;}
  .contact{margin:0 16px;max-width:none;}
  .footer{padding:32px 24px 48px;}
}
@media (max-width:560px){
  section{padding:56px 20px;}
  .nav-inner{padding:8px 16px;gap:12px;}
  .logo img{height:44px;}
  .nav-phone{font-size:13px;padding:7px 12px;white-space:nowrap;}
  .hero{padding:32px 20px 0;}
  .hero-text{font-size:16px;}
  .btn{padding:12px 22px;}
  .contact{margin:0 12px;}
  .footer{flex-direction:column;gap:6px;padding:28px 20px 40px;}
  .offer-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr;}
}