/* source: css/style.css */
:root{--wood:#6f4628;--wood2:#9b683d;--gold:#d7a86e;--cream:#fff7ed;--paper:#fff;--ink:#21170f;--muted:#716459;--line:#ead8c4;--soft:#fbf5ed;--green:#2f6a4e;--blue:#315f88;--shadow:0 18px 52px rgba(68,42,24,.13);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--soft);line-height:1.62}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:var(--wood)}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 32px));margin:0 auto}.topbar{position:sticky;top:0;z-index:80;background:rgba(255,247,237,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.topbar__inner{min-height:78px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}.brand img{width:48px;height:48px;border-radius:14px}.brand strong{display:block;font-size:22px;line-height:1;font-weight:900}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.nav{display:flex;gap:18px;margin-left:auto}.nav a{font-size:14px;font-weight:900;color:var(--ink)}.nav a:hover,.nav a.active{color:var(--wood)}.topbar__contacts{display:flex;gap:10px;align-items:center}.phone{font-weight:900;color:var(--ink);white-space:nowrap}.max{background:var(--blue);color:#fff;padding:10px 14px;border-radius:999px;font-weight:900}.menu-toggle{display:none;border:0;background:var(--wood);color:#fff;border-radius:12px;padding:9px 12px;font-size:21px}.hero{padding:78px 0;background:radial-gradient(circle at 10% 10%,rgba(215,168,110,.3),transparent 28%),linear-gradient(135deg,#fff7ed,#f0d8bc 52%,#fff)}.hero__grid,.subhero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.14em;color:var(--wood);font-size:12px;font-weight:900}h1,h2,h3{margin:0;color:#3a2416;line-height:1.12}h1{font-size:clamp(38px,5.8vw,68px);letter-spacing:-.045em}h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.035em}h3{font-size:22px}.hero__lead,.subhero p{font-size:20px;color:#4e4035;max-width:780px;margin:18px 0 0}.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border-radius:999px;border:1px solid transparent;font-weight:900;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn--primary{background:var(--wood);color:#fff}.btn--ghost{background:#fff;color:var(--wood);border-color:var(--line)}.btn--light{background:#fff;color:var(--ink)}.btn--dark{background:#2c1b10;color:#fff}.trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.trust span{background:rgba(255,255,255,.84);border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-weight:900;font-size:14px}.hero__visual{background:#fff;border:1px solid var(--line);border-radius:34px;padding:12px;box-shadow:var(--shadow);overflow:hidden}.hero__visual--photo img{border-radius:24px;aspect-ratio:16/9;object-fit:cover}.section{padding:76px 0}.section--white{background:#fff}.section--request{background:linear-gradient(135deg,#f1dfca,#fff7ed)}.intro-grid,.faq-grid,.service-page-grid,.contacts-grid,.request-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:start}.section__head{max-width:830px;margin-bottom:30px}.section__head p,.intro-grid p,.request-grid p{font-size:18px;color:var(--muted)}.person-card,.lead-card,.side-card,.contact-card,.request-form{background:#fff7ed;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.person-card img,.side-card img{border-radius:18px;margin-bottom:16px;aspect-ratio:4/5;object-fit:cover}.person-card .btn,.side-card .btn{width:100%;margin-top:8px}.text-link{display:inline-block;font-weight:900;margin-top:8px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.services-grid--featured{grid-template-columns:repeat(3,1fr)}.service-card a{display:block;height:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 28px rgba(68,42,24,.07);transition:.2s}.service-card a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-card img{width:100%;aspect-ratio:1000/760;object-fit:cover}.service-card__body{padding:20px}.service-card__body p{color:var(--muted)}.service-card__body span{font-weight:900}.scenario-grid,.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.scenario-grid article,.price-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 8px 26px rgba(68,42,24,.06)}.scenario-grid p,.price-grid p{color:var(--muted)}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:step}.steps li{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:54px 22px 22px;box-shadow:0 8px 26px rgba(68,42,24,.06)}.steps li:before{counter-increment:step;content:counter(step);position:absolute;top:17px;left:22px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#3a2416;font-weight:900}.steps strong{display:block;margin-bottom:7px}.steps span{color:var(--muted)}.request-note{margin-top:22px;padding:16px;border-left:4px solid var(--wood);background:#fff;border-radius:0 16px 16px 0;color:var(--muted)}.request-form{display:grid;gap:14px;background:#fff}.request-form label{display:grid;gap:7px;font-weight:900}.request-form input,.request-form select,.request-form textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff;color:var(--ink)}.request-form textarea{resize:vertical}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.form-status{min-height:24px;margin:0;color:var(--green);font-weight:900}.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin-bottom:12px}.faq summary{cursor:pointer;font-weight:900}.faq p{color:var(--muted)}.final-cta{padding:70px 0;background:linear-gradient(135deg,var(--wood),#2e1b10);color:#fff}.final-cta h2{color:#fff}.final-cta p{font-size:19px;color:#f5dfca;max-width:820px}.subhero{padding:62px 0;background:linear-gradient(135deg,#fff7ed,#efd6b9)}.subhero h1{font-size:clamp(34px,5vw,58px)}.subhero__image{border-radius:30px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.subhero__image.portrait{aspect-ratio:4/5;object-fit:cover}.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin-bottom:20px}.check-list{list-style:none;padding:0;margin:18px 0 28px;display:grid;gap:10px}.check-list li{position:relative;padding-left:32px;color:var(--muted);font-size:18px}.check-list li:before{content:"✓";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e6f2ea;color:var(--green);font-weight:900}.pill-row{display:flex;gap:10px;flex-wrap:wrap}.pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-weight:900}.number-list{display:grid;gap:10px;color:var(--muted);font-size:18px}.lead-card--wide{margin-top:26px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.notice{margin-top:24px;background:#fff7ed;border:1px solid var(--line);border-radius:18px;padding:18px;color:var(--muted)}.big-phone{display:inline-block;font-size:31px;font-weight:900;color:#3a2416;margin:10px 0}.prose{max-width:850px}.prose p{font-size:18px;color:var(--muted)}.footer{background:#1b120c;color:#e8d8ca;padding-top:48px}.footer__grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:30px}.footer .brand{color:#fff;margin-bottom:16px}.footer h3{color:#fff}.footer p,.footer li{color:#d8c6b7}.footer a{color:#fff}.footer__list{list-style:none;padding:0;margin:0;display:grid;gap:7px}.footer__phone{font-size:23px;font-weight:900}.footer__max{display:inline-block;background:var(--blue);border-radius:999px;padding:10px 14px;font-weight:900}.muted{color:#bba99b!important}.footer__bottom{margin-top:34px;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);color:#bba99b;font-size:14px}.mobile-cta{display:none}@media(max-width:1000px){.topbar__inner{min-height:70px;flex-wrap:wrap;padding:10px 0}.menu-toggle{display:block;margin-left:auto}.nav{display:none;order:8;width:100%;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.nav.open{display:flex}.topbar__contacts{display:none}.hero__grid,.subhero__grid,.intro-grid,.faq-grid,.service-page-grid,.contacts-grid,.request-grid{grid-template-columns:1fr}.services-grid,.services-grid--featured{grid-template-columns:repeat(2,1fr)}.scenario-grid,.price-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){body{padding-bottom:76px}.container{width:min(100% - 24px,1160px)}.hero{padding:48px 0}.hero__lead,.subhero p{font-size:17px}.section{padding:54px 0}.hero__actions .btn,.form-actions .btn{width:100%}.services-grid,.services-grid--featured,.scenario-grid,.price-grid,.steps,.portfolio-grid,.footer__grid{grid-template-columns:1fr}.mobile-cta{position:fixed;left:10px;right:10px;bottom:10px;z-index:100;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-cta a{display:block;text-align:center;background:var(--wood);color:#fff;border-radius:14px;padding:13px 10px;font-weight:900;box-shadow:var(--shadow)}.mobile-cta a:last-child{background:var(--blue)}h1{font-size:36px}h2{font-size:29px}.brand strong{font-size:19px}.brand small{max-width:170px}}.brand__mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--wood2),var(--wood));color:#fff;display:grid;place-items:center;font-weight:900;font-size:21px;flex:0 0 auto}.hero__visual img{border-radius:24px}.service-card a{padding:24px;overflow:visible}.service-card__icon{width:48px;height:48px;border-radius:15px;background:#fff0dc;display:grid;place-items:center;font-size:24px;margin-bottom:14px}.service-card p{color:var(--muted)}.service-card small{display:none}.portfolio-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 28px rgba(68,42,24,.07)}.portfolio-grid figure img{width:100%;aspect-ratio:1000/760;object-fit:cover}.portfolio-grid figcaption{display:grid;gap:7px;padding:16px}.portfolio-grid figcaption strong{font-size:19px;color:#3a2416}.portfolio-grid figcaption span{color:var(--muted)}.keyword-line{background:#fff7ed;border:1px solid var(--line);border-radius:18px;padding:16px;color:var(--muted)}code{background:#efe0cf;border-radius:6px;padding:2px 5px}.contact-card .btn{margin-top:10px}.side-card .btn{display:flex}.footer .brand__mark{background:linear-gradient(135deg,#b9814e,#6f4628)}

/* source: css/enhancements.css */
/* Дополнительные стили поверх основного оформления Паркет36 */
:focus-visible {
  outline: 3px solid #d7a86e;
  outline-offset: 3px;
  border-radius: 8px;
}

.skip-link {
  position: fixed;
  left: 12px;
  top: -90px;
  z-index: 1000;
  padding: 12px 16px;
  border-radius: 12px;
  background: #21170f;
  color: #fff;
  font-weight: 900;
  transition: top .2s ease;
}

.skip-link:focus {
  top: 12px;
}

.topbar {
  box-shadow: 0 8px 28px rgba(68, 42, 24, .06);
}

.nav {
  align-items: center;
}

.nav a {
  position: relative;
  border-radius: 999px;
  padding: 9px 11px;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.nav a:hover,
.nav a.active,
.nav a[aria-current="page"] {
  background: rgba(111, 70, 40, .1);
  color: var(--wood);
  transform: translateY(-1px);
}

.phone {
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  padding: 10px 14px;
  box-shadow: 0 8px 22px rgba(68, 42, 24, .06);
}

.hero,
.subhero,
.final-cta {
  position: relative;
  overflow: hidden;
}

.hero::before,
.subhero::before {
  content: "";
  position: absolute;
  right: -8rem;
  bottom: -14rem;
  width: 30rem;
  height: 30rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(155, 104, 61, .22), transparent 66%);
  pointer-events: none;
}

.hero .container,
.subhero .container,
.final-cta .container {
  position: relative;
  z-index: 1;
}

.btn {
  gap: 8px;
  box-shadow: 0 10px 24px rgba(68, 42, 24, .08);
}

.btn--primary,
.btn--dark {
  background-image: linear-gradient(135deg, var(--wood), #3a2416);
}

.btn--primary::after,
.btn--dark::after,
.btn--ghost::after {
  content: "→";
  font-weight: 900;
  opacity: .75;
}

.section__head::after {
  content: "";
  display: block;
  width: 74px;
  height: 5px;
  margin-top: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--wood), var(--gold));
}

.service-card a,
.scenario-grid article,
.price-grid article,
.steps li,
.proof-card,
.service-note,
.faq details,
.person-card,
.lead-card,
.side-card,
.contact-card,
.request-form,
.portfolio-grid figure {
  border-color: rgba(111, 70, 40, .14);
  box-shadow: 0 12px 32px rgba(68, 42, 24, .07);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.service-card a:hover,
.scenario-grid article:hover,
.price-grid article:hover,
.proof-card:hover,
.portfolio-grid figure:hover {
  transform: translateY(-4px);
  border-color: rgba(111, 70, 40, .28);
  box-shadow: 0 20px 52px rgba(68, 42, 24, .13);
}

.faq details[open] {
  background: linear-gradient(180deg, #fff, #fff8f0);
  border-color: rgba(111, 70, 40, .24);
}

.faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.faq summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 50%;
  background: #fff0dc;
  color: var(--wood);
  font-weight: 900;
}

.faq details[open] summary::after {
  content: "−";
}

.request-form input,
.request-form select,
.request-form textarea {
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.request-form input:focus,
.request-form select:focus,
.request-form textarea:focus {
  outline: 0;
  border-color: rgba(111, 70, 40, .55);
  box-shadow: 0 0 0 4px rgba(215, 168, 110, .18);
  background: #fffdf8;
}

.section--quick {
  margin-top: -42px;
  padding-top: 0;
  padding-bottom: 34px;
  background: transparent;
  position: relative;
  z-index: 2;
}

.quick-choice {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 20px;
  align-items: stretch;
  border: 1px solid rgba(111, 70, 40, .14);
  border-radius: 30px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 22px 55px rgba(68, 42, 24, .12);
  padding: 24px;
  backdrop-filter: blur(12px);
}

.quick-choice__head {
  border-radius: 24px;
  background: linear-gradient(135deg, #fff7ed, #f1dfca);
  padding: 24px;
}

.quick-choice__head h2 {
  font-size: clamp(25px, 3vw, 36px);
}

.quick-choice__head p:last-child {
  margin-bottom: 0;
  color: var(--muted);
}

.quick-choice__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.quick-choice__grid a {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 132px;
  border: 1px solid rgba(111, 70, 40, .14);
  border-radius: 22px;
  background: #fff;
  padding: 20px;
  color: var(--ink);
  box-shadow: 0 10px 26px rgba(68, 42, 24, .06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.quick-choice__grid a:hover {
  transform: translateY(-4px);
  border-color: rgba(111, 70, 40, .32);
  box-shadow: 0 20px 46px rgba(68, 42, 24, .12);
}

.quick-choice__grid strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #3a2416;
  font-size: 19px;
  line-height: 1.2;
}

.quick-choice__grid strong::after {
  content: "→";
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  background: #fff0dc;
  color: var(--wood);
}

.quick-choice__grid span {
  color: var(--muted);
}

.proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.proof-card,
.service-note {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  padding: 22px;
}

.proof-card strong {
  display: block;
  margin-bottom: 7px;
  color: #3a2416;
  font-size: 19px;
}

.proof-card p,
.service-note p {
  margin: 0;
  color: var(--muted);
}

.service-note {
  margin-top: 22px;
  background: #fff7ed;
}

.audience-banner {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  align-items: center;
  border-radius: 30px;
  background: linear-gradient(135deg, #2f2118, #6f4628);
  padding: 34px;
  color: #fff;
  box-shadow: var(--shadow);
}

.audience-banner h2 {
  color: #fff;
}

.audience-banner p {
  color: #f0dfcf;
  font-size: 18px;
}

.audience-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.form-help {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

[data-request-fallback] {
  width: 100%;
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 13px;
  background: #fff;
}

@media (max-width: 900px) {
  .proof-grid,
  .audience-banner,
  .quick-choice {
    grid-template-columns: 1fr;
  }

  .quick-choice__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 1000px) {
  .nav.open {
    box-shadow: 0 18px 40px rgba(68, 42, 24, .12);
  }

  .nav a {
    padding: 12px 14px;
  }
}

@media (max-width: 640px) {
  .btn {
    min-height: 52px;
  }

  .section__head::after {
    width: 56px;
    height: 4px;
  }

  .section--quick {
    margin-top: -24px;
    padding-bottom: 22px;
  }

  .quick-choice {
    padding: 14px;
    border-radius: 24px;
  }

  .quick-choice__head {
    padding: 20px;
  }

  .quick-choice__grid {
    grid-template-columns: 1fr;
  }

  .quick-choice__grid a {
    min-height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* source: css/photo-brief.css */
.photo-board{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;min-height:420px}.photo-slot,.photo-plan-card,.photo-brief-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,rgba(255,248,239,.96),rgba(241,223,202,.92));box-shadow:0 8px 26px rgba(68,42,24,.07);overflow:hidden}.photo-slot{min-height:168px;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.photo-slot--large{grid-row:span 2;min-height:360px}.photo-slot__label,.photo-plan-card strong,.photo-brief-card strong{display:block;color:#3a2416;font-size:20px;font-weight:900}.photo-slot__note,.photo-plan-card p,.photo-brief-card p{color:var(--muted);margin:8px 0 0}.photo-slot__mark{display:inline-flex;width:fit-content;border-radius:999px;background:#fff;border:1px solid var(--line);padding:7px 10px;color:var(--wood);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.photo-plan-grid,.photo-brief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-plan-card,.photo-brief-card{padding:22px}.photo-plan-card:before,.photo-brief-card:before,.photo-slot:before{content:"";position:absolute;right:18px;bottom:18px;width:88px;height:54px;border-radius:14px;border:2px dashed rgba(111,70,40,.25);background:rgba(255,255,255,.4)}.photo-rule{border-left:4px solid var(--wood);background:#fff7ed;border-radius:0 18px 18px 0;padding:18px;color:var(--muted)}.hero__visual--plan{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.person-card--photo-plan:before{content:"Место для фото Ивана";display:grid;place-items:center;min-height:220px;margin-bottom:16px;border:2px dashed rgba(111,70,40,.28);border-radius:18px;background:linear-gradient(135deg,#fff8ef,#f1dfca);color:var(--wood);font-weight:900;text-align:center}.side-card--photo-plan>img{display:none}.side-card--photo-plan:before{content:attr(data-photo-slot);display:grid;place-items:center;min-height:220px;margin-bottom:16px;border:2px dashed rgba(111,70,40,.28);border-radius:18px;background:linear-gradient(135deg,#fff8ef,#f1dfca);color:var(--wood);font-weight:900;text-align:center;padding:18px}.portfolio-grid figure[data-photo-slot]:before{content:attr(data-photo-slot);display:grid;place-items:center;min-height:210px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff8ef,#f1dfca);color:var(--wood);font-weight:900;text-align:center;padding:18px}.portfolio-grid figure[data-photo-slot] img{display:none}@media(max-width:900px){.photo-board,.photo-plan-grid,.photo-brief-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.photo-board,.photo-plan-grid,.photo-brief-grid{grid-template-columns:1fr}.photo-slot--large{grid-row:auto;min-height:240px}}

/* source: css/interface-polish.css */
/* Точечная полировка удобства: форма, мобильные CTA, быстрые действия */
.pill-row {
  gap: 9px;
}

.pill-row .pill,
.request-form .pill {
  appearance: none;
  border: 1px solid rgba(111, 70, 40, .18);
  background: linear-gradient(180deg, #fff, #fff7ed);
  color: #3a2416;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(68, 42, 24, .06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.pill-row .pill:hover,
.request-form .pill:hover {
  transform: translateY(-2px);
  border-color: rgba(111, 70, 40, .35);
  box-shadow: 0 14px 30px rgba(68, 42, 24, .11);
}

.pill-row .pill:focus-visible,
.request-form .pill:focus-visible {
  outline: 3px solid rgba(215, 168, 110, .45);
  outline-offset: 2px;
}

.request-form {
  position: relative;
  overflow: hidden;
}

.request-form::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 7px;
  background: linear-gradient(90deg, var(--wood), var(--gold));
}

.request-form > * {
  position: relative;
}

.request-form h3 {
  display: flex;
  align-items: center;
  gap: 10px;
}

.request-form h3::before {
  content: "1";
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff0dc;
  color: var(--wood);
  font-weight: 900;
  font-size: 14px;
}

.request-form label {
  border-radius: 18px;
  background: rgba(255, 247, 237, .56);
  padding: 12px;
}

.request-form label:focus-within {
  background: #fff7ed;
}

.request-note {
  box-shadow: 0 10px 26px rgba(68, 42, 24, .06);
}

.form-status:not(:empty) {
  border-radius: 14px;
  background: #e6f2ea;
  padding: 10px 12px;
}

.photo-slot,
.person-card--photo-plan::before,
.side-card--photo-plan::before,
.portfolio-grid figure[data-photo-slot]::before {
  background:
    linear-gradient(135deg, rgba(255, 248, 239, .96), rgba(241, 223, 202, .92)),
    repeating-linear-gradient(135deg, rgba(111, 70, 40, .08) 0 1px, transparent 1px 12px);
}

.photo-slot__mark {
  box-shadow: 0 8px 18px rgba(68, 42, 24, .06);
}

.mobile-cta {
  backdrop-filter: blur(10px);
}

.mobile-cta a {
  border: 1px solid rgba(255, 255, 255, .36);
}

.back-to-top {
  position: fixed;
  right: 18px;
  bottom: 22px;
  z-index: 90;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(111, 70, 40, .18);
  border-radius: 50%;
  background: #fff7ed;
  color: var(--wood);
  font-weight: 900;
  box-shadow: 0 14px 34px rgba(68, 42, 24, .16);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
}

.back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.back-to-top:hover {
  box-shadow: 0 20px 45px rgba(68, 42, 24, .22);
  transform: translateY(-2px);
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  border-radius: 999px;
  background: rgba(255, 247, 237, .72);
  border: 1px solid rgba(111, 70, 40, .14);
  padding: 9px 13px;
  line-height: 1.25;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.text-link:hover {
  transform: translateY(-2px);
  border-color: rgba(111, 70, 40, .28);
  box-shadow: 0 12px 26px rgba(68, 42, 24, .09);
}

.prose,
.section__head,
.intro-grid > div,
.service-page-grid > div,
.scenario-grid article p,
.price-grid article p,
.proof-card p,
.service-card p,
.faq p,
.side-card p,
.lead-card p {
  text-wrap: pretty;
}

.service-card a,
.quick-choice__grid a {
  min-height: 100%;
}

.service-card a:focus-visible,
.quick-choice__grid a:focus-visible,
.text-link:focus-visible,
.mobile-cta a:focus-visible {
  outline: 3px solid rgba(215, 168, 110, .55);
  outline-offset: 3px;
}

.footer a:not(.brand):hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  border: 1px solid rgba(111, 70, 40, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .68);
  padding: 8px 12px;
  box-shadow: 0 8px 22px rgba(68, 42, 24, .06);
}

.breadcrumbs a {
  color: #5c361e;
  font-weight: 800;
}

.breadcrumbs span {
  color: rgba(92, 54, 30, .58);
}

.breadcrumbs a:hover {
  color: var(--wood);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.check-list,
.number-list {
  display: grid;
  gap: 10px;
}

.check-list li,
.number-list li {
  line-height: 1.55;
}

.service-page-grid > div h2,
.prose h2 {
  margin-top: 34px;
}

.service-page-grid > div h2:first-child,
.prose h2:first-child {
  margin-top: 0;
}

.side-card h3,
.lead-card h3,
.request-form h3 {
  color: #3a2416;
}

.notice,
.request-note,
.photo-rule {
  border-color: rgba(111, 70, 40, .16);
}

.final-cta {
  border-top: 1px solid rgba(255, 255, 255, .16);
  background:
    radial-gradient(circle at 88% 20%, rgba(215, 168, 110, .22), transparent 25rem),
    linear-gradient(135deg, #2a1c13, #6f4628 68%, #8a5a35);
}

.final-cta h2 {
  max-width: 820px;
  letter-spacing: -.03em;
}

.final-cta p {
  max-width: 760px;
}

.final-cta .hero__actions {
  margin-top: 24px;
}

.lead-card--wide,
.section--request .request-grid {
  border-radius: 30px;
  border: 1px solid rgba(111, 70, 40, .14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 248, 239, .92));
  box-shadow: 0 18px 48px rgba(68, 42, 24, .09);
}

.section--request .request-grid {
  padding: 24px;
}

.hero__actions .btn:first-child,
.mobile-cta a:first-child {
  font-weight: 900;
}

.hero__actions .btn:first-child {
  box-shadow: 0 16px 34px rgba(68, 42, 24, .16);
}

.request-note strong,
.notice strong,
.photo-rule strong {
  color: #3a2416;
}

.steps,
.price-grid {
  gap: 18px;
}

.steps li,
.price-grid article {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #fff, #fffaf4);
}

.steps li::after,
.price-grid article::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--wood), var(--gold));
  opacity: .72;
}

.steps li:hover,
.price-grid article:hover {
  transform: translateY(-4px);
  border-color: rgba(111, 70, 40, .26);
  box-shadow: 0 20px 46px rgba(68, 42, 24, .12);
}

.steps strong,
.price-grid h3,
.price-grid strong {
  color: #3a2416;
}

.steps span,
.price-grid p {
  line-height: 1.55;
}

.price-grid article > * {
  position: relative;
  z-index: 1;
}

.service-card a,
.proof-card,
.scenario-grid article {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #fff, #fffaf4);
}

.service-card a::after {
  content: "→";
  position: absolute;
  right: 18px;
  top: 18px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff0dc;
  color: var(--wood);
  font-weight: 900;
  opacity: .78;
  transition: transform .18s ease, opacity .18s ease;
}

.service-card a:hover::after {
  opacity: 1;
  transform: translateX(3px);
}

.service-card__icon {
  border: 1px solid rgba(111, 70, 40, .12);
  background: linear-gradient(135deg, #fff0dc, #f1dfca);
  color: #5c361e;
  font-weight: 900;
  box-shadow: 0 10px 20px rgba(111, 70, 40, .08);
}

.service-card h3,
.scenario-grid h3,
.proof-card strong {
  color: #3a2416;
}

.proof-card strong,
.scenario-grid h3 {
  display: block;
  margin-bottom: 8px;
}

.proof-card,
.scenario-grid article {
  min-height: 100%;
}

.contact-card,
.footer {
  position: relative;
  overflow: hidden;
}

.contact-card::before,
.footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--wood), var(--gold));
  opacity: .85;
}

.contact-card > *,
.footer > * {
  position: relative;
}

.contact-card {
  background: linear-gradient(180deg, #fff, #fff7ed);
}

.big-phone,
.footer__phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: rgba(255, 247, 237, .82);
  border: 1px solid rgba(111, 70, 40, .14);
  padding: 8px 12px;
}

.footer__phone {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .12);
}

.footer__list a {
  display: inline-flex;
  padding: 3px 0;
}

.footer__bottom {
  background: rgba(0, 0, 0, .1);
}

@media (min-width: 641px) {
  .mobile-cta {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .topbar {
    border-bottom-color: rgba(111, 70, 40, .2);
  }

  .menu-toggle {
    min-width: 46px;
    min-height: 44px;
  }

  .hero,
  .subhero {
    padding-top: 42px;
  }

  .trust span {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .request-form {
    padding: 18px;
  }

  .request-form label {
    padding: 10px;
  }

  .pill-row .pill,
  .request-form .pill {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .request-note {
    font-size: 15px;
  }

  .photo-slot,
  .person-card--photo-plan::before,
  .side-card--photo-plan::before,
  .portfolio-grid figure[data-photo-slot]::before {
    min-height: 160px;
  }

  .back-to-top {
    right: 18px;
    bottom: 82px;
  }

  .text-link {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .breadcrumbs {
    width: 100%;
    border-radius: 18px;
  }

  .section--request .request-grid,
  .lead-card--wide {
    border-radius: 22px;
    padding: 18px;
  }

  .final-cta .hero__actions .btn {
    width: 100%;
  }

  .service-card a::after {
    right: 16px;
    top: 16px;
  }

  .big-phone,
  .footer__phone {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* source: css/mobile-menu.css */
/* Полировка мобильной шапки и выпадающего меню */
@media (max-width: 1000px) {
  .topbar__inner {
    row-gap: 10px;
  }

  .menu-toggle {
    display: inline-grid;
    place-items: center;
    min-width: 48px;
    min-height: 46px;
    border: 1px solid rgba(111, 70, 40, .18);
    background: linear-gradient(135deg, var(--wood), #3a2416);
    box-shadow: 0 10px 24px rgba(68, 42, 24, .12);
    transition: transform .18s ease, box-shadow .18s ease;
  }

  .menu-toggle:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(68, 42, 24, .18);
  }

  .menu-toggle[aria-expanded="true"] {
    background: linear-gradient(135deg, #3a2416, var(--wood));
  }

  .nav.open {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
    margin: 0;
    border: 1px solid rgba(111, 70, 40, .16);
    border-radius: 22px;
    background:
      radial-gradient(circle at 0 0, rgba(215, 168, 110, .2), transparent 18rem),
      rgba(255, 255, 255, .96);
    padding: 12px;
    box-shadow: 0 18px 48px rgba(68, 42, 24, .16);
  }

  .nav.open a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border: 1px solid rgba(111, 70, 40, .12);
    border-radius: 16px;
    background: #fff7ed;
    text-align: center;
  }

  .nav.open a.active,
  .nav.open a[aria-current="page"] {
    background: #fff0dc;
    border-color: rgba(111, 70, 40, .28);
  }
}

@media (max-width: 640px) {
  .brand {
    max-width: calc(100% - 62px);
  }

  .brand__mark {
    width: 44px;
    height: 44px;
    border-radius: 13px;
  }

  .nav.open {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }

  .nav.open a {
    min-height: 50px;
    justify-content: flex-start;
    padding-left: 16px;
    padding-right: 16px;
    text-align: left;
  }
}

/* source: css/typography-polish.css */
/* Полировка типографики, расстояний и чтения длинных страниц */
html {
  scroll-padding-top: 96px;
}

.section {
  position: relative;
}

.section + .section:not(.section--white):not(.section--request) {
  border-top: 1px solid rgba(111, 70, 40, .08);
}

.section__head h2,
.prose h2,
.service-page-grid h2 {
  max-width: 820px;
}

.section__head p,
.prose p,
.service-page-grid p,
.intro-grid p,
.request-grid p {
  max-width: 780px;
}

.prose p + p,
.service-page-grid p + p {
  margin-top: 14px;
}

.prose ul,
.prose ol,
.service-page-grid ul,
.service-page-grid ol {
  padding-left: 1.25rem;
}

.prose li + li,
.service-page-grid li + li {
  margin-top: 8px;
}

.prose blockquote,
.service-page-grid blockquote {
  margin: 24px 0;
  border-left: 5px solid var(--gold);
  border-radius: 0 18px 18px 0;
  background: #fff7ed;
  padding: 18px 20px;
  color: var(--muted);
}

.section__head .text-link,
.prose .text-link,
.service-page-grid .text-link {
  margin-top: 16px;
}

.hero__actions,
.form-actions,
.audience-banner__actions {
  row-gap: 10px;
}

.hero__actions .btn,
.form-actions .btn,
.audience-banner__actions .btn {
  min-width: 190px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.eyebrow::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: .65;
}

.request-form .form-help,
.form-help {
  line-height: 1.5;
}

.muted {
  line-height: 1.55;
}

@media (max-width: 1000px) {
  html {
    scroll-padding-top: 88px;
  }
}

@media (max-width: 640px) {
  html {
    scroll-padding-top: 82px;
  }

  .section__head {
    margin-bottom: 22px;
  }

  .hero__actions .btn,
  .form-actions .btn,
  .audience-banner__actions .btn {
    min-width: 100%;
  }

  .eyebrow {
    letter-spacing: .1em;
  }

  .eyebrow::before {
    width: 16px;
  }

  .prose blockquote,
  .service-page-grid blockquote {
    padding: 15px 16px;
  }
}

/* source: css/scroll-progress.css */
/* Тонкая полоса прогресса чтения для длинных страниц */
.scroll-progress {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 130;
  width: 100%;
  height: 4px;
  pointer-events: none;
  background: transparent;
}

.scroll-progress__bar {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--wood), var(--gold));
  box-shadow: 0 2px 10px rgba(111, 70, 40, .28);
}

@media (max-width: 640px) {
  .scroll-progress {
    height: 3px;
  }
}

/* source: css/accessibility-polish.css */
/* Дополнительная доступность и аккуратная адаптация без изменения основного дизайна. */
:focus-visible {
  outline: 3px solid rgba(215, 168, 110, .62);
  outline-offset: 3px;
}

.request-form input::placeholder,
.request-form textarea::placeholder {
  color: rgba(113, 100, 89, .78);
}

.request-form input:required,
.request-form textarea:required {
  border-left-width: 4px;
}

.request-form input:required:valid,
.request-form textarea:required:valid {
  border-left-color: rgba(47, 106, 78, .42);
}

.request-form input:required:user-invalid,
.request-form textarea:required:user-invalid {
  border-left-color: rgba(160, 64, 42, .55);
}

.request-form .form-help {
  margin-top: 0;
  line-height: 1.45;
}

.person-card .muted {
  color: var(--muted) !important;
}

.form-help a[href$="/politika/"],
.footer__bottom a[href$="/politika/"] {
  text-decoration: underline;
  text-decoration-thickness: .1em;
  text-underline-offset: .18em;
}

.form-help a[href$="/politika/"]:hover,
.form-help a[href$="/politika/"]:focus-visible,
.footer__bottom a[href$="/politika/"]:hover,
.footer__bottom a[href$="/politika/"]:focus-visible {
  text-decoration-thickness: .16em;
}

.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 200;
  transform: translateY(-150%);
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  color: var(--wood);
  font-weight: 900;
  box-shadow: var(--shadow);
  transition: transform .18s ease;
}

.skip-link:focus {
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }

  .btn:hover,
  .service-card a:hover,
  .text-link:hover,
  .steps li:hover,
  .price-grid article:hover,
  .scenario-grid article:hover {
    transform: none !important;
  }
}

@media (max-width: 640px) {
  .request-form input,
  .request-form select,
  .request-form textarea {
    font-size: 16px;
  }
}

/* source: css/cta-polish.css */
.inline-lead{padding:28px 0;background:#fff7ed;border-top:1px solid rgba(111,70,40,.12);border-bottom:1px solid rgba(111,70,40,.12)}.inline-lead__card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;background:#fff;border:1px solid rgba(111,70,40,.16);border-radius:28px;padding:22px;box-shadow:0 16px 42px rgba(68,42,24,.09)}.inline-lead h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.03em}.inline-lead p{margin:10px 0 0;color:var(--muted);font-size:17px;max-width:720px}.inline-lead__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.inline-lead__actions .btn{white-space:nowrap}@media(max-width:760px){.inline-lead{padding:20px 0}.inline-lead__card{grid-template-columns:1fr;border-radius:22px;padding:18px}.inline-lead__actions{justify-content:stretch}.inline-lead__actions .btn{width:100%}}

/* source: css/logo-brand.css */
.brand{position:relative;gap:0;min-width:248px;align-items:center;flex:0 0 auto}
.brand::before{content:"";display:block;width:248px;height:50px;flex:0 0 auto;background:url('/img/logo-parket36-header.svg') center/contain no-repeat}
.brand .brand__mark,.brand>span:not(.brand__mark){position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.topbar .brand::before{width:248px;height:50px}
.footer .brand{display:inline-flex;min-width:250px;margin-bottom:16px;padding:10px 12px;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.footer .brand::before{width:226px;height:46px}
.footer .brand .brand__mark,.footer .brand>span:not(.brand__mark){color:#1b120c}
@media(max-width:1100px){.brand{min-width:220px}.topbar .brand::before{width:220px;height:45px}.nav{gap:13px}.nav a{font-size:13px}}
@media(max-width:1000px){.brand{min-width:214px}.topbar .brand::before{width:214px;height:43px}.footer .brand::before{width:204px;height:42px}}
@media(max-width:640px){.brand{min-width:178px}.topbar .brand::before{width:178px;height:38px}.footer .brand{min-width:206px}.footer .brand::before{width:182px;height:40px}}
