:root{
      --bg: #fbf7f6;          /* молочный */
      --card: #ffffff;
      --text: #2b2b2b;
      --muted: #6f6a68;
      --accent: #c48a9c;      /* пудровый акцент */
      --accent-2: #d7bdb3;    /* теплый беж */
      --line: rgba(0,0,0,.08);
      --shadow: 0 12px 30px rgba(22, 16, 18, .08);
      --radius: 18px;
      --radius-lg: 26px;
      --max: 1120px;
    }

    *{ box-sizing: border-box; }
    html,body{ height: 100%; }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
      color: var(--text);
      background:
        radial-gradient(1200px 800px at 10% 0%, rgba(196,138,156,.14), transparent 55%),
        radial-gradient(900px 700px at 100% 10%, rgba(215,189,179,.18), transparent 55%),
        var(--bg);
      line-height: 1.45;
	   padding-top: 92px;
    }

    /* Типографика */
    h1,h2,h3{
      margin:0 0 .5rem;
      font-family: ui-serif, "Georgia", "Times New Roman", Times, serif;
      letter-spacing: .2px;
    }
    h1{ font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.08; }
    h2{ font-size: clamp(1.4rem, 2.4vw, 2rem); }
    h3{ font-size: 1.1rem; }

    p{ margin: 0 0 1rem; color: var(--muted); }
    a{ color: inherit; text-decoration: none; }
    .container{ width: min(var(--max), calc(100% - 2rem)); margin: 0 auto; }

    /* Шапка */
    header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: rgba(251,247,246,.92);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 22px rgba(22, 16, 18, .06);
}

/* если хочешь blur, добавь только когда поддерживается */
@supports ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))){
  header{
    background: rgba(251,247,246,.72);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
}
    .nav{
      display:flex; align-items:center; justify-content:space-between;
      padding: .85rem 0;
      gap: 1rem;
    }
    .brand{
  display:flex;
  align-items:center;
  gap:.8rem;
  font-weight: 600;
}

.brand-text{
  display:flex;
  flex-direction:column;
  gap:.05rem;
}

.brand small{
  font-weight: 500;
  color: var(--muted);
}

/* ЛОГО 200×200 */
.logo{
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 18px;              /* аккуратно/женственно */
  border: 1px solid var(--line);
  background: rgba(255,255,255,.6);
}
    .navlinks{
      display:flex; gap: 1rem;
      align-items:center;
      flex-wrap: wrap;
      justify-content:flex-end;
    }
    .navlinks a{
      font-size: .95rem;
      color: var(--muted);
      padding: .4rem .55rem;
      border-radius: 12px;
      transition: background .2s ease, color .2s ease;
    }
    .navlinks a:hover{ background: rgba(196,138,156,.10); color: var(--text); }

    /* Кнопки */
    .btn{
      display:inline-flex; align-items:center; justify-content:center;
      gap:.55rem;
      padding: .85rem 1.1rem;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: var(--card);
      color: var(--text);
      box-shadow: 0 0 0 rgba(0,0,0,0);
      transition: transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
      cursor:pointer;
      font-weight: 600;
      white-space: nowrap;
    }
    .btn:hover{ transform: translateY(-1px); box-shadow: 0 10px 24px rgba(22, 16, 18, .10); }
    .btn.primary{
      background: linear-gradient(135deg, rgba(196,138,156,1), rgba(215,189,179,1));
      border-color: transparent;
      color: #fff;
    }
    .btn.ghost{
      background: transparent;
    }

    /* Секции */
    section{ padding: 4rem 0; }
    .section-head{
      display:flex; align-items:flex-end; justify-content:space-between;
      gap: 1.5rem;
      margin-bottom: 1.5rem;
    }
    .section-head p{ margin:0; max-width: 62ch; }
    .divider{
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(0,0,0,.10), transparent);
      margin: 1.25rem 0 0;
    }

    /* Герой */
    .hero{ padding: 3.5rem 0 2.5rem; }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 2rem;
      align-items:center;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      font-size:.9rem;
      color: var(--muted);
      border: 1px solid var(--line);
      background: rgba(255,255,255,.55);
      padding: .45rem .7rem;
      border-radius: 999px;
      margin-bottom: 1rem;
      width: fit-content;
    }
    .hero p.lead{ font-size: 1.05rem; color: var(--muted); max-width: 62ch; }

    .hero-actions{
      display:flex; gap: .85rem; align-items:center; flex-wrap: wrap;
      margin-top: 1.2rem;
    }

    .hero-card{
      background: rgba(255,255,255,.78);
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow);
      overflow:hidden;
    }
    .hero-card .img{
      aspect-ratio: 4 / 4.2;
      background:
        radial-gradient(1000px 500px at 20% 10%, rgba(196,138,156,.22), transparent 60%),
        radial-gradient(900px 500px at 80% 20%, rgba(215,189,179,.28), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,.75));
      display:flex; align-items:center; justify-content:center;
      padding: 1.25rem;
    }
    .hero-card .img .ph{
      width: 100%;
      height: 100%;
      border-radius: 20px;
      border: 1px dashed rgba(0,0,0,.14);
      display:flex; align-items:center; justify-content:center;
      color: var(--muted);
      text-align:center;
      padding: 1rem;
      font-size:.95rem;
      background: rgba(255,255,255,.55);
    }
    .hero-card .meta{
      padding: 1.1rem 1.2rem 1.2rem;
      display:grid;
      gap:.6rem;
    }
    .meta-row{
      display:flex; gap: .6rem; align-items:flex-start;
      color: var(--muted);
      font-size: .95rem;
    }
    .dot{
      width: 9px; height: 9px; border-radius: 999px;
      background: var(--accent);
      margin-top: .32rem;
      flex: 0 0 auto;
    }

    /* Карточки / сетки */
    .grid{
      display:grid;
      gap: 1rem;
    }
    .grid.cols-4{ grid-template-columns: repeat(4, 1fr); }
    .grid.cols-3{ grid-template-columns: repeat(3, 1fr); }
    .grid.cols-2{ grid-template-columns: repeat(2, 1fr); }

    .card{
      background: rgba(255,255,255,.85);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: 0 10px 22px rgba(22, 16, 18, .06);
      padding: 1.1rem 1.1rem;
    }
    .card p{ margin: .35rem 0 0; }

    /* Преимущества */
    .feature{
      display:flex; gap: .8rem; align-items:flex-start;
    }
    .icon{
      width: 40px; height: 40px; border-radius: 14px;
      display:grid; place-items:center;
      background: rgba(196,138,156,.12);
      border: 1px solid rgba(196,138,156,.16);
      flex: 0 0 auto;
      font-size: 18px;
    }
    .feature strong{ display:block; margin-bottom: .15rem; }

    /* Прайс */
    .price-list{ display:grid; gap: .85rem; }
    .price-item{
      display:flex; align-items:flex-end; gap: .8rem;
      padding: 1rem 1rem;
      border-radius: var(--radius);
      border: 1px solid var(--line);
      background: rgba(255,255,255,.85);
    }
    .price-item .name{ flex: 1 1 auto; }
    .price-item .name small{ color: var(--muted); display:block; margin-top:.2rem; }
    .price-item .dots{
      flex: 0 0 22%;
      border-bottom: 1px dashed rgba(0,0,0,.18);
      transform: translateY(-6px);
      opacity:.9;
    }
    .price-item .value{
      font-weight: 700;
      font-size: 1.05rem;
      white-space: nowrap;
    }
    .note{ font-size:.92rem; color: var(--muted); margin-top: .75rem; }

	/* Услуги */
	.services-list{
		display: flex;
		flex-direction: column;
		gap: 2.5rem;
	}

	.service-card{
		border: 1px solid var(--line);
		border-radius: 28px;
		padding: 1.75rem;
		background: #fff;
		box-shadow: 0 14px 32px rgba(22,16,18,.08);
	}

	.service-info{
		margin-bottom: 1.25rem;
	}

	.service-info h3{
		margin: 0 0 .5rem;
	}

	.service-desc{
		color: var(--muted);
		margin-bottom: .75rem;
	}

	.service-price{
		font-weight: 600;
		font-size: 1.1rem;
	}

	.service-gallery{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}

	.service-gallery img{
		width: 100%;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		border-radius: 18px;
		border: 1px solid var(--line);
	}

    /* Галерея */
    .tabs{
      display:flex; gap: .5rem; flex-wrap: wrap;
      margin: .3rem 0 1rem;
    }
    .chip{
      padding: .5rem .75rem;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.65);
      color: var(--muted);
      font-size: .92rem;
      cursor: pointer;
      user-select:none;
    }
    .chip[aria-current="true"]{
      background: rgba(196,138,156,.14);
      color: var(--text);
      border-color: rgba(196,138,156,.22);
      font-weight: 600;
    }
    .media{
      border-radius: var(--radius);
      overflow:hidden;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.78);
      min-height: 220px;
    }
    .media .ph{
      width:100%; height:100%;
      display:flex; align-items:center; justify-content:center;
      padding: 1rem;
      color: var(--muted);
      text-align:center;
      background:
        radial-gradient(700px 400px at 30% 20%, rgba(196,138,156,.18), transparent 60%),
        radial-gradient(650px 400px at 70% 30%, rgba(215,189,179,.22), transparent 60%),
        rgba(255,255,255,.62);
    }
    .media img, .media video{
      width: 100%; height: 100%;
      object-fit: cover;
      display:block;
    }

    /* Отзывы */
    .stars{ letter-spacing: 2px; color: rgba(196,138,156,1); margin-bottom:.4rem; }
    blockquote{
      margin:0;
      color: var(--muted);
    }
    .who{
      display:flex; align-items:center; gap:.6rem;
      margin-top: .9rem;
      color: var(--text);
      font-weight: 600;
    }
    .avatar{
      width: 38px; height: 38px; border-radius: 999px;
      background: rgba(215,189,179,.35);
      border: 1px solid rgba(0,0,0,.08);
      display:grid; place-items:center;
      color: var(--muted);
      font-weight: 700;
    }

    /* О мастере */
    .about{
      display:grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 1.2rem;
      align-items:stretch;
    }
    .about .photo{
      border-radius: var(--radius-lg);
      border: 1px solid var(--line);
      background:
        radial-gradient(800px 500px at 20% 20%, rgba(196,138,156,.20), transparent 60%),
        radial-gradient(700px 500px at 80% 20%, rgba(215,189,179,.26), transparent 60%),
        rgba(255,255,255,.7);
      overflow:hidden;
      min-height: 320px;
      display:flex;
    }
    .about .photo .ph{
      width: 100%;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      padding: 1.25rem;
      color: var(--muted);
      border: 1px dashed rgba(0,0,0,.14);
      border-radius: 20px;
      margin: 1.1rem;
      background: rgba(255,255,255,.55);
    }
	/* Фото мастера 320×480 */
.master-photo{
  width: 320px;
  height: 480px;
  object-fit: cover;        /* НЕ искажает */
  border-radius: 22px;      /* женственно */
  border: 1px solid var(--line);
  box-shadow: 0 14px 32px rgba(22,16,18,.10);
  background: #fff;
}

/* Центрирование в блоке */
.about .photo{
  display: flex;
  align-items: center;
  justify-content: center;
}

#workspace{
  padding-top: 3.5rem;
}

.workspace-grid.two{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.workspace-photo{
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 14px 30px rgba(22,16,18,.08);
}

.workspace-photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 4 / 5; /* красиво для рабочего места */
}

    /* Форма */
    form{ display:grid; gap: .85rem; }
    .form-grid{
      display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap: .85rem;
    }
    label{ font-size: .92rem; color: var(--muted); display:block; margin-bottom:.35rem; }
    input, select, textarea{
      width: 100%;
      padding: .85rem .95rem;
      border-radius: 14px;
      border: 1px solid rgba(0,0,0,.14);
      background: rgba(255,255,255,.82);
      outline: none;
      transition: border-color .15s ease, box-shadow .15s ease;
      font: inherit;
    }
    input:focus, select:focus, textarea:focus{
      border-color: rgba(196,138,156,.45);
      box-shadow: 0 0 0 4px rgba(196,138,156,.15);
    }
    textarea{ min-height: 110px; resize: vertical; }
    .form-actions{
      display:flex; gap: .75rem; align-items:center; flex-wrap: wrap;
      margin-top: .25rem;
    }
    .hint{ font-size: .9rem; color: var(--muted); }

    /* Контакты */
    .contacts{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
      align-items:stretch;
    }
    .map{
      border-radius: var(--radius-lg);
      overflow:hidden;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.75);
      min-height: 320px;
    }
    .map iframe{ width:100%; height:100%; border:0; display:block; }

    footer{
      padding: 2.2rem 0 2.6rem;
      border-top: 1px solid var(--line);
      background: #efe8ea;
    }
    .footer-row{
      display:flex; gap: 1rem; justify-content:space-between; align-items:flex-start;
      flex-wrap: wrap;
      color: var(--muted);
      font-size: .95rem;
    }

    /* Адаптив */
    @media (max-width: 960px){
      .hero-grid{ grid-template-columns: 1fr; }
      .grid.cols-4{ grid-template-columns: repeat(2, 1fr); }
      .grid.cols-3{ grid-template-columns: repeat(2, 1fr); }
      .about{ grid-template-columns: 1fr; }
      .contacts{ grid-template-columns: 1fr; }
      .price-item .dots{ display:none; }
	  .hero-grid{
    display: flex;
    flex-direction: column;
  }

  .hero-grid > aside{
    order: -1; /* hero-card наверх */
    margin-bottom: 1.5rem;
  }
    }
	
	@media (max-width: 768px){
		.service-gallery{
			grid-template-columns: 1fr;
		}
		.workspace-grid{
			grid-template-columns: 1fr;
		}
	}
	
    @media (max-width: 520px){
      section{ padding: 3.1rem 0; }
      .grid.cols-4, .grid.cols-3, .grid.cols-2{ grid-template-columns: 1fr; }
      .form-grid{ grid-template-columns: 1fr; }
      .navlinks{ display:none; } /* при желании можно заменить бургером */
	  .logo{
    width: 72px;
    height: 72px;
    border-radius: 16px;
  }
  .master-photo{
    width: 260px;
    height: 390px;
  }
}
