:root {
  --ink: #383331;
  --deep: #1e1a19;
  --cream: #fbfaf9;
  --paper: #fff;
  --blush: #f3e9e5;
  --blush-soft: #f8f3f0;
  --rose: #a66f6c;
  --rose-dark: #865654;
  --line: rgba(115, 87, 80, 0.16);
  --serif: "Baskerville", "Iowan Old Style", Georgia, serif;
  --sans: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --shadow: 0 24px 70px rgba(73, 49, 43, 0.1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
a:focus-visible,button:focus-visible { outline:2px solid var(--rose); outline-offset:4px; }
button, select { font: inherit; }
button { cursor: pointer; }
img { display: block; width: 100%; }
.brand-icon { width: 18px; height: 18px; flex: 0 0 auto; }
.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.eyebrow {
  margin: 0 0 14px;
  color: var(--rose);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
}
.display {
  margin: 0;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(48px, 6vw, 82px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: .98;
}
.section-title {
  margin: 0;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(44px, 4.5vw, 64px);
  font-weight: 400;
  line-height: 1;
}
.section-copy { max-width: 680px; margin: 22px auto 0; color: #57514e; font-size:17px; }
.section-head { margin-bottom: 48px; text-align: center; }
.btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 25px;
  border: 1px solid transparent;
  background: var(--rose);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .05em;
  transition: .25s ease;
}
.btn:hover { background: var(--rose-dark); transform: translateY(-2px); }
.btn-outline { border-color: rgba(74,74,74,.45); background: transparent; color: var(--ink); }
.btn-outline:hover { border-color: var(--rose); background: var(--rose); color: white; }
.btn-light { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.08); color: white; }

.site-header {
  position: fixed;
  z-index: 30;
  top: 0;
  width: 100%;
  border-bottom: 1px solid var(--line);
  background: rgba(251,250,249,.9);
  backdrop-filter: blur(18px);
  transition:box-shadow .25s ease,background-color .25s ease;
}
.site-header.scrolled { background:rgba(251,250,249,.97); box-shadow:0 8px 28px rgba(52,40,36,.08); }
.nav-wrap { display: flex; height: 70px; align-items: center; justify-content: space-between; }
.logo-link { display:flex; width:180px; height:64px; align-items:center; }
.header-logo { width:155px; height:auto; }
.desktop-nav { display: flex; align-items: center; gap: 34px; }
.desktop-nav a { font-size: 12px; font-weight: 600; letter-spacing: .04em; }
.desktop-nav a:not(.nav-book):hover { color: var(--rose); }
.nav-book { display:inline-flex; align-items:center; gap:8px; padding: 11px 18px; background: var(--rose); color: white; }
.nav-book .brand-icon { width:15px; height:15px; }
.social-circle {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 50%;
}
.social-circle .brand-icon { width:15px; height:15px; }
.hamburger { display: none; border: 0; background: transparent; color: var(--deep); font-size: 24px; }
.mobile-panel {
  position: fixed;
  z-index: 29;
  inset: 70px 0 0;
  display: none;
  padding: 45px 24px;
  background: var(--cream);
}
.mobile-panel.open { display: flex; flex-direction: column; gap: 28px; }
.mobile-panel a { display:flex; align-items:center; gap:12px; font-family: var(--serif); font-size: 33px; }
.mobile-panel .mobile-book { display:flex; align-items:center; gap:12px; }
.mobile-panel .brand-icon { width:26px; height:26px; }

.hero {
  --hero-progress: 0;
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 120px 0 72px;
}
.hero-media {
  position:absolute;
  inset:-7%;
  will-change:transform;
  transform:translate3d(0,calc(var(--hero-progress) * 105px),0) scale(calc(1.015 + var(--hero-progress) * .075));
  transition:transform 80ms linear;
}
.hero-video { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(251,250,249,.99) 0%,rgba(251,250,249,.94) 38%,rgba(251,250,249,.44) 68%,rgba(251,250,249,.1)); }
.hero::after {
  position: absolute;
  top: 10%;
  right: 10%;
  width: 37vw;
  max-width: 520px;
  aspect-ratio: .82;
  border: 1px solid rgba(255,255,255,.62);
  content: "";
  transform: rotate(4deg);
}
.hero-content {
  position: relative;
  z-index: 2;
  width: min(630px, 57%);
  will-change:transform,opacity;
  transform:translate3d(0,calc(var(--hero-progress) * -38px),0);
  opacity:calc(1 - var(--hero-progress) * .34);
}
.hero .display { font-size: clamp(68px, 8vw, 108px); line-height:.92; }
.hero-copy { max-width: 640px; margin: 30px 0 36px; color: #3d3836; font-size: 17px; line-height:1.8; font-weight:400; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; }
.scroll-note {
  position: absolute;
  z-index: 2;
  bottom: 26px;
  left: 50%;
  color: #78706d;
  font-size: 10px;
  letter-spacing: .08em;
  transform: translateX(-50%);
}

.trust-strip { background:#262220; color:#fff; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-grid > a,.trust-grid > span {
  display:flex;
  min-height:112px;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:24px 26px;
  border-left:1px solid rgba(255,255,255,.1);
}
.trust-grid > :last-child { border-right:1px solid rgba(255,255,255,.1); }
.trust-grid strong { color:#fff; font-family:var(--serif); font-size:26px; font-weight:500; line-height:1; }
.trust-grid span span,.trust-grid a span { color:rgba(255,255,255,.66); font-size:13px; line-height:1.45; }
.trust-grid a { transition:.25s ease; }
.trust-grid a:hover { background:rgba(255,255,255,.06); }

.services { padding: 105px 0 78px; background: rgba(246,240,238,.55); }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-card { position: relative; overflow: hidden; min-height: 390px; background: #d7beb7; }
.service-card::after { position: absolute; inset: 0; background: linear-gradient(transparent 35%, rgba(34,25,23,.78)); content: ""; }
.service-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.service-card:hover .service-photo { transform:scale(1.055); }
.service-info { position: absolute; z-index: 2; right: 24px; bottom: 22px; left: 24px; color: white; }
.service-info h3 { margin: 0 0 5px; font-family: var(--serif); font-size: 29px; font-weight: 500; }
.service-info p { margin: 0; color: rgba(255,255,255,.9); font-size: 13px; line-height: 1.65; }
.center-action { margin-top: 42px; text-align: center; }
.service-directory {
  margin-top: 38px;
  padding: 42px;
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(248,243,240,.78));
  box-shadow: 0 18px 50px rgba(73,49,43,.07);
}
.service-directory-head {
  display:grid;
  grid-template-columns: .95fr 1.1fr;
  gap: 18px 54px;
  align-items:end;
  margin-bottom: 30px;
}
.service-directory-head .eyebrow { grid-column:1 / -1; margin-bottom:0; }
.service-directory-head h3 {
  margin: 0;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(34px, 3.5vw, 48px);
  font-weight: 400;
  line-height: 1;
}
.service-directory-head p { margin:0; color:#665f5b; font-size:15px; line-height:1.7; }
.service-catalog-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.service-catalog-card {
  display:flex;
  flex-direction:column;
  padding: 28px;
  border: 1px solid rgba(115,87,80,.13);
  background: #fff;
  box-shadow: 0 14px 35px rgba(73,49,43,.05);
}
.service-catalog-card h4 {
  margin: 0 0 10px;
  color: var(--deep);
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 500;
}
.service-catalog-card p { margin:0 0 18px; color:#6c6460; font-size:14px; line-height:1.65; }
.service-catalog-card ul {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap: 8px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.service-catalog-card li {
  position:relative;
  padding-left:17px;
  color:#413b38;
  font-size:14px;
  line-height:1.45;
}
.service-catalog-card li::before {
  position:absolute;
  top:.68em;
  left:0;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--rose);
  content:"";
}
.service-consult {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:22px;
  padding:26px 28px;
  background:#262220;
  color:#fff;
}
.service-consult h4 {
  margin:0 0 5px;
  font-family:var(--serif);
  font-size:28px;
  font-weight:500;
}
.service-consult p { margin:0; color:rgba(255,255,255,.68); font-size:14px; line-height:1.6; }
.service-consult .btn { flex:0 0 auto; background:#fff; color:var(--deep); }
.service-consult .btn:hover { background:var(--blush); color:var(--deep); }
.service-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}

.testimonials { position:relative; overflow:hidden; padding:115px 0; background:#262220; color:#fff; }
.testimonials::before { position:absolute; top:-310px; left:-190px; width:620px; height:620px; border:1px solid rgba(255,255,255,.07); border-radius:50%; content:""; }
.testimonials::after { position:absolute; right:-170px; bottom:-300px; width:560px; height:560px; border:1px solid rgba(166,111,108,.28); border-radius:50%; content:""; }
.testimonials .container { position:relative; z-index:1; }
.testimonials .eyebrow { color:#d7aaa6; }
.testimonials .section-title { color:#fff; }
.reviews-heading { display:grid; grid-template-columns:1fr auto; gap:70px; align-items:end; margin-bottom:54px; }
.reviews-intro { max-width:650px; margin:22px 0 0; color:rgba(255,255,255,.67); font-size:17px; }
.google-score { display:flex; min-width:300px; align-items:center; gap:16px; padding:20px 22px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.06); transition:.25s ease; }
.google-score:hover { border-color:rgba(255,255,255,.32); background:rgba(255,255,255,.1); transform:translateY(-3px); }
.google-score .google-mark { width:42px; height:42px; }
.google-score > span { display:flex; flex-direction:column; }
.google-score small { color:rgba(255,255,255,.58); font-size:11px; font-weight:600; letter-spacing:.04em; }
.google-score strong { display:flex; align-items:center; gap:9px; color:#fff; font-family:var(--serif); font-size:28px; font-weight:500; line-height:1.25; }
.google-score .stars { font-family:var(--sans); font-size:14px; }
.google-score em { color:rgba(255,255,255,.65); font-size:12px; font-style:normal; }
.google-score b { margin-left:auto; color:rgba(255,255,255,.55); font-weight:400; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.testimonial-card { display:flex; min-height:390px; flex-direction:column; padding:34px; border:1px solid rgba(255,255,255,.11); background:rgba(255,255,255,.055); transition:border-color .25s ease,transform .25s ease,background-color .25s ease; }
.testimonial-card:hover { border-color:rgba(215,170,166,.48); background:rgba(255,255,255,.075); transform:translateY(-4px); }
.testimonial-featured { grid-column:1 / -1; min-height:0; padding:45px; background:#f2e8e4; color:var(--ink); }
.testimonial-featured:hover { background:#f2e8e4; }
.testimonial-top { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.review-stars { color:#efb82e; font-size:16px; letter-spacing:.08em; }
.google-source { color:rgba(255,255,255,.46); font-size:11px; font-weight:600; letter-spacing:.04em; }
.testimonial-featured .google-source { color:#8a7772; }
.testimonial-card blockquote { flex:1; margin:25px 0 30px; color:rgba(255,255,255,.82); font-family:var(--serif); font-size:21px; line-height:1.55; }
.testimonial-card blockquote p { margin:0; }
.testimonial-card blockquote p + p { margin-top:20px; }
.testimonial-featured blockquote { position:relative; max-width:980px; margin-top:38px; color:#443d3a; font-size:25px; line-height:1.58; }
.testimonial-featured blockquote::before { position:absolute; top:-28px; left:-5px; color:rgba(134,86,84,.26); content:"“"; font-family:Georgia,serif; font-size:70px; line-height:1; }
.testimonial-card footer { display:flex; align-items:center; gap:13px; padding-top:23px; border-top:1px solid rgba(255,255,255,.11); }
.testimonial-featured footer { border-top-color:rgba(100,69,64,.15); }
.review-avatar { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; border-radius:50%; background:rgba(255,255,255,.11); color:#fff; font-family:var(--serif); font-size:19px; }
.testimonial-featured .review-avatar { background:#9e6c68; }
.testimonial-card footer > span:last-child { display:flex; flex-direction:column; }
.testimonial-card footer strong { color:#fff; font-size:13px; font-weight:600; }
.testimonial-featured footer strong { color:var(--deep); }
.testimonial-card footer small { color:rgba(255,255,255,.5); font-size:11px; }
.testimonial-featured footer small { color:#7c706c; }
.reviews-cta { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:34px; padding-top:30px; border-top:1px solid rgba(255,255,255,.1); }
.reviews-cta p { margin:0; color:rgba(255,255,255,.66); font-size:14px; }
.reviews-cta .btn { flex:0 0 auto; border-color:rgba(255,255,255,.14); }
.reviews-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; }

.faq { padding:105px 0; background:#fff; }
.faq-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:80px; align-items:start; }
.faq-copy { position:sticky; top:110px; }
.faq-copy p:not(.eyebrow) { max-width:430px; color:#615a56; font-size:16px; line-height:1.75; }
.faq-copy .btn { margin-top:22px; }
.faq-list { display:grid; gap:12px; }
.faq-list details {
  border:1px solid var(--line);
  background:var(--blush-soft);
  transition:.25s ease;
}
.faq-list details[open] { background:#fff; box-shadow:0 16px 38px rgba(73,49,43,.07); }
.faq-list summary {
  cursor:pointer;
  padding:22px 24px;
  color:var(--deep);
  font-family:var(--serif);
  font-size:24px;
  line-height:1.25;
}
.faq-list summary::marker { color:var(--rose); }
.faq-list details p { margin:0; padding:0 24px 24px; color:#625b57; font-size:15px; line-height:1.75; }

.instagram { padding: 75px 0 105px; background: var(--cream); }
.instagram-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.insta-tile { position: relative; overflow: hidden; aspect-ratio: 1; background: #d5b5ad; }
.insta-tile::after { position:absolute; z-index:1; inset:40% 0 0; background:linear-gradient(transparent,rgba(25,18,17,.72)); content:""; transition:.35s ease; }
.insta-tile img { width:100%; height:100%; object-fit:cover; transition:.5s ease; }
.insta-tile:hover img { filter:brightness(.7); transform:scale(1.05); }
.insta-post-label { position:absolute; z-index:2; right:16px; bottom:14px; left:16px; display:flex; align-items:center; gap:8px; color:#fff; font-size:11px; font-weight:600; letter-spacing:.04em; transition:.3s ease; }
.insta-post-label .brand-icon { width:17px; height:17px; }
.insta-icon { position: absolute; z-index: 3; top: 50%; left: 50%; display:flex; align-items:center; gap:8px; color: white; opacity: 0; transform: translate(-50%,-35%); transition: .3s; white-space:nowrap; }
.insta-icon .brand-icon { width:30px; height:30px; }
.insta-icon small { font-size:11px; font-weight:600; letter-spacing:.04em; }
.insta-tile:hover .insta-icon,.insta-tile:focus-visible .insta-icon { opacity:1; transform:translate(-50%,-50%); }
.insta-tile:hover .insta-post-label,.insta-tile:focus-visible .insta-post-label { opacity:0; transform:translateY(8px); }

.about { position: relative; overflow: hidden; padding: 115px 0; background: var(--blush-soft); }
.about::before { position: absolute; top: -170px; right: -140px; width: 480px; height: 480px; border: 1px solid rgba(166,111,108,.16); border-radius: 50%; content:""; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.about-copy p { color: #514b48; font-size:16px; }
.about-visual { position:relative; min-height:470px; overflow:hidden; box-shadow:var(--shadow); }
.about-visual > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.about-visual > .about-secondary { inset:auto auto 22px 22px; z-index:2; width:29%; height:42%; border:7px solid rgba(255,255,255,.94); object-position:center; box-shadow:0 12px 30px rgba(36,27,24,.18); }
.about-logo-card { position:absolute; z-index:3; right:22px; bottom:22px; width:210px; height:105px; overflow:hidden; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.7); background:rgba(255,255,255,.92); box-shadow:0 12px 35px rgba(55,40,36,.14); }
.about-logo { width:230px; max-width:none; }
.google-mark { width:42px; height:42px; flex:0 0 auto; }
.stars { color:#f6b900; font-size:20px; letter-spacing:.06em; line-height:1; }

.contact { padding: 105px 0; background: var(--cream); }
.contact-grid { display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; border: 1px solid var(--line); background: white; box-shadow: var(--shadow); }
.map-wrap { min-height:540px; background:#e8e2db; }
.map-wrap iframe { display:block; width:100%; height:100%; min-height:540px; border:0; }
.contact-info { padding: 58px; font-size:16px; }
.info-block { margin-top: 32px; padding-top: 26px; border-top: 1px solid var(--line); }
.info-block h3 { margin: 0 0 6px; color: var(--deep); font-family: var(--serif); font-size: 25px; font-weight: 500; }
.info-block p { margin: 0; color: #77716e; }
.text-link { display:inline-block; margin-top:12px; color:var(--rose-dark); font-size:13px; font-weight:600; letter-spacing:.03em; }
.text-link:hover { color:var(--rose); }
.contact-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }

.site-footer { padding: 75px 0 25px; background: #262220; color: rgba(255,255,255,.72); }
.footer-grid { display: grid; grid-template-columns: 1.4fr .7fr 1fr; gap: 80px; }
.footer-logo-link { display:flex; width:235px; min-height:82px; align-items:center; }
.footer-logo { width:225px; height:auto; }
.footer-brand p { max-width: 400px; }
.footer-social { display: flex; gap: 11px; margin-top: 22px; }
.footer-social a { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.footer-social .brand-icon { width:18px; height:18px; }
.footer-col h3 { margin: 5px 0 22px; color: white; font-size: 10px; letter-spacing: .2em; }
.footer-col a { display: block; margin: 9px 0; font-size: 12px; }
.footer-col a:hover { color: white; }
.whatsapp-float { position: fixed; z-index: 20; right: 22px; bottom: 22px; display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; background: #729b83; color: white; box-shadow: 0 12px 25px rgba(38,70,51,.25); }
.whatsapp-float .brand-icon { width:24px; height:24px; }
.mobile-lead-bar { display:none; }
section[id] { scroll-margin-top:82px; }

@media (max-width: 960px) {
  .desktop-nav { display:none; }
  .hamburger { display:block; }
  .hamburger { min-width:44px; min-height:44px; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .service-directory-head { grid-template-columns:1fr; gap:14px; }
  .service-catalog-grid { grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .trust-grid > a,.trust-grid > span { min-height:104px; border-bottom:1px solid rgba(255,255,255,.1); }
  .faq-grid { grid-template-columns:1fr; gap:34px; }
  .faq-copy { position:static; }
  .reviews-heading { grid-template-columns:1fr; gap:30px; align-items:start; }
  .google-score { width:min(100%,360px); }
  .about-grid,.contact-grid { grid-template-columns:1fr; gap:50px; }
  .about-visual { min-height:390px; }
  .map-wrap { min-height:400px; }
  .map-wrap iframe { min-height:400px; }
  .footer-grid { grid-template-columns:1.4fr 1fr; }
}
@media (max-width: 680px) {
  body { font-size:16px; padding-bottom:78px; }
  .container { width:min(100% - 32px,1180px); }
  .nav-wrap { height:64px; }
  .logo-link { width:145px; height:58px; }
  .header-logo { width:138px; }
  .mobile-panel { top:64px; }
  .mobile-panel a { font-size:34px; }
  .hero { min-height:760px; align-items:flex-end; padding:110px 0 84px; }
  .hero-media { inset:-2% -32%; }
  .hero-video { object-position:58% center; }
  .hero-overlay { background:linear-gradient(0deg,rgba(251,250,249,.99) 0 49%,rgba(251,250,249,.78) 65%,rgba(251,250,249,.08) 100%); }
  .hero::after { top:10%; right:6%; width:74vw; opacity:.7; }
  .hero-content { width:100%; }
  .hero .display { font-size:clamp(52px,15vw,68px); line-height:.9; }
  .hero-copy { margin:22px 0 28px; font-size:16px; line-height:1.65; }
  .hero-actions { display:grid; grid-template-columns:1fr 1fr; }
  .hero-actions .btn { width:100%; padding:0 14px; }
  .scroll-note { display:none; }
  .eyebrow { font-size:10px; letter-spacing:.18em; }
  .section-title { font-size:clamp(42px,13vw,56px); }
  .services,.testimonials,.faq,.instagram,.contact { padding-top:80px; padding-bottom:80px; }
  .testimonial-grid { grid-template-columns:1fr; }
  .testimonial-featured { grid-column:auto; min-height:0; padding:32px 26px; }
  .testimonial-card { min-height:0; padding:28px 24px; }
  .testimonial-featured blockquote,.testimonial-card blockquote { font-size:20px; }
  .reviews-heading { margin-bottom:34px; }
  .reviews-intro { font-size:16px; }
  .google-score { min-width:0; padding:17px; }
  .google-score strong { font-size:25px; }
  .reviews-cta { align-items:stretch; flex-direction:column; }
  .reviews-actions { display:grid; grid-template-columns:1fr; }
  .reviews-cta .btn { width:100%; }
  .about { padding:80px 0; }
  .section-head { margin-bottom:34px; }
  .service-grid { grid-template-columns:1fr; }
  .service-directory { padding:28px 20px; }
  .service-catalog-card { padding:24px 20px; }
  .service-catalog-card ul { grid-template-columns:1fr; }
  .service-consult { align-items:stretch; flex-direction:column; padding:24px 20px; }
  .service-consult .btn { width:100%; }
  .service-actions { display:grid; grid-template-columns:1fr; }
  .service-actions .btn { width:100%; }
  .instagram-grid { grid-template-columns:1fr 1fr; }
  .service-card { min-height:460px; }
  .instagram-grid { gap:5px; }
  .insta-post-label { right:10px; bottom:9px; left:10px; font-size:9px; letter-spacing:.04em; }
  .insta-post-label .brand-icon { width:14px; height:14px; }
  .about-grid { gap:38px; }
  .about-logo-card { right:14px; bottom:14px; width:175px; height:84px; }
  .about-logo { width:185px; }
  .about-visual > .about-secondary { bottom:14px; left:14px; width:30%; height:38%; border-width:5px; }
  .map-wrap,.map-wrap iframe { min-height:360px; }
  .contact-info { padding:35px 24px; }
  .contact-links { display:grid; grid-template-columns:1fr; }
  .contact-links .btn { width:100%; }
  .footer-grid { grid-template-columns:1fr; gap:38px; }
  .footer-col { border-top:1px solid rgba(255,255,255,.12); padding-top:25px; }
  .footer-logo-link { width:210px; }
  .whatsapp-float { display:none; }
  .mobile-lead-bar {
    position:fixed;
    z-index:35;
    right:12px;
    bottom:12px;
    left:12px;
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.42);
    background:#262220;
    box-shadow:0 16px 35px rgba(38,31,29,.25);
  }
  .mobile-lead-bar a {
    display:flex;
    min-height:54px;
    align-items:center;
    justify-content:center;
    gap:9px;
    color:#fff;
    font-size:13px;
    font-weight:600;
  }
  .mobile-lead-bar a + a { border-left:1px solid rgba(255,255,255,.16); }
  .mobile-lead-bar .brand-icon { width:20px; height:20px; }
}

@media (max-width: 390px) {
  .hero-actions { grid-template-columns:1fr; }
  .hero { min-height:810px; }
  .hero .display { font-size:50px; }
  .service-card { min-height:410px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .hero-media,.hero-content { transform:none; transition:none; opacity:1; }
  .hero-video { display:none; }
  .hero-media { background:url("./assets/images/hero-treatment.webp") center/cover no-repeat; }
  .service-photo,.insta-tile img,.btn { transition:none; }
}
