/* ============================================================
   URISTST — HOMEPAGE CORE  (Stage 02A)
   Scope: HERO / SERVICES / ABOUT — editorial, DESIGN LOCK v1.
   Uses DESIGN LOCK tokens from design.css. Loads after site.css
   so these rules override the legacy gold homepage styles for the
   three in-scope sections only. Child theme only.
   ============================================================ */

/* ---------- Shared scoped helpers ---------- */
.uristst-legacy .ul-kicker{
  margin:0 0 var(--sp-4);
  font-size:var(--fs-meta);
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--color-accent);
}

/* ============================================================
   HERO
   ============================================================ */
.uristst-legacy .ul-hero{
  background:var(--color-bg-main);
  padding:clamp(56px,7vw,96px) 24px clamp(56px,8vw,104px);
  border-bottom:none;
}
.uristst-legacy .ul-hero .ul-wrap{
  max-width:var(--container-max);
  margin:0 auto;
}
.uristst-legacy .ul-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:clamp(32px,4.5vw,80px);
  align-items:center;
}
.uristst-legacy .ul-hero__content{
  min-width:0;
}
.uristst-legacy .ul-hero h1.wp-block-heading{
  margin:0 0 var(--sp-6);
  font-size:var(--fs-display);
  line-height:var(--lh-display);
  letter-spacing:-.02em;
  color:var(--color-text-primary);
  max-width:none;
}
.uristst-legacy .ul-hero .ul-lead{
  margin:0 0 var(--sp-6);
  max-width:56ch;
  font-size:var(--fs-lead);
  line-height:var(--lh-lead);
  color:var(--color-text-secondary);
}
.uristst-legacy .ul-hero__phone{
  margin:0 0 var(--sp-6);
  font-size:var(--fs-lead);
  font-weight:600;
  line-height:var(--lh-lead);
  color:var(--color-text-primary);
}
.uristst-legacy .ul-hero__phone a{
  color:inherit;
  text-decoration:none;
}
.uristst-legacy .ul-hero__phone a:hover{
  color:var(--color-accent);
}
/* Primary CTA — reuse approved button system look */
.uristst-legacy .ul-hero .ul-button .wp-block-button__link{
  display:inline-block;
  box-sizing:border-box;
  padding:var(--sp-3) 26px;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-btn);
  background:var(--color-accent);
  color:#fff;
  font-family:var(--font-sans);
  font-size:var(--fs-button);
  font-weight:600;
  line-height:var(--lh-button);
  text-align:center;
  text-decoration:none;
  text-transform:none;
  letter-spacing:0;
  box-shadow:none;
  transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.uristst-legacy .ul-hero .ul-button .wp-block-button__link:hover{
  background:var(--color-accent-dark);
  border-color:var(--color-accent-dark);
}
/* Hero photo */
.uristst-legacy .ul-hero__media{
  min-width:0;
}
.uristst-legacy .ul-hero__media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:top center;
  border-radius:var(--radius-max);
}

/* ============================================================
   SERVICES
   ============================================================ */
.uristst-legacy .ul-section--white:has(.ul-services){
  background:var(--color-surface);
  padding:clamp(64px,8vw,104px) 24px clamp(64px,8vw,96px);
}
.uristst-legacy .ul-section--white:has(.ul-services) .ul-wrap{
  max-width:var(--container-max);
  margin:0 auto;
}
.uristst-legacy .ul-services{
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--color-border);
}
.uristst-legacy .ul-services li{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 28px;
  gap:var(--sp-4);
  align-items:start;
  padding:var(--sp-8) 0;
  border-bottom:1px solid var(--color-border);
}
.uristst-legacy .ul-services .ul-index{
  padding-top:6px;
  font-size:var(--fs-meta);
  font-weight:700;
  color:var(--color-text-secondary);
  font-variant-numeric:tabular-nums;
}
.uristst-legacy .ul-services li > div{
  min-width:0;
}
.uristst-legacy .ul-services strong{
  display:block;
  margin-bottom:var(--sp-2);
  font-size:var(--fs-h3);
  line-height:1.25;
  font-weight:700;
  color:var(--color-text-primary);
}
.uristst-legacy .ul-services li > div a{
  color:var(--color-text-primary);
  text-decoration:none;
}
.uristst-legacy .ul-services li > div a:hover{
  color:var(--color-accent);
}
.uristst-legacy .ul-services span{
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--color-text-secondary);
}
/* arrow */
.uristst-legacy .ul-services li::after{
  content:"→";
  justify-self:start;
  padding-top:6px;
  color:var(--color-accent);
  font-size:22px;
  line-height:1;
  transition:transform var(--dur) var(--ease);
}
.uristst-legacy .ul-services li:hover::after{
  transform:translateX(5px);
}
/* «Все услуги» */
.uristst-legacy .ul-services__all{
  margin:var(--sp-8) 0 0;
}
.uristst-legacy .ul-services__all a{
  display:inline-flex;
  align-items:center;
  gap:var(--sp-2);
  font-weight:600;
  font-size:var(--fs-body-large);
  color:var(--color-accent);
  text-decoration:none;
  transition:color var(--dur) var(--ease);
}
.uristst-legacy .ul-services__all a:hover{
  color:var(--color-accent-dark);
}
.uristst-legacy .ul-services__arrow{
  transition:transform var(--dur) var(--ease);
}
.uristst-legacy .ul-services__all a:hover .ul-services__arrow{
  transform:translateX(5px);
}

/* ============================================================
   ABOUT / PERSONAL
   ============================================================ */
.uristst-legacy .ul-section.ul-about{
  background:var(--color-bg-main);
  padding:clamp(64px,8vw,104px) 24px clamp(64px,8vw,96px);
}
.uristst-legacy .ul-section.ul-about .ul-wrap{
  max-width:var(--container-max);
  margin:0 auto;
}
.uristst-legacy .ul-about__grid{
  display:grid;
  grid-template-columns:minmax(0,44%) minmax(0,1fr);
  gap:clamp(32px,5vw,80px);
  align-items:center;
}
.uristst-legacy .ul-about__media{
  min-width:0;
}
.uristst-legacy .ul-about__media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:top center;
  border-radius:var(--radius-max);
}
.uristst-legacy .ul-about__content{
  min-width:0;
}
.uristst-legacy .ul-about__content h2{
  margin:0 0 var(--sp-6);
  color:var(--color-text-primary);
}
.uristst-legacy .ul-about__content p{
  margin:0;
  max-width:56ch;
  font-size:var(--fs-body-large);
  line-height:var(--lh-body-large);
  color:var(--color-text-secondary);
}
.uristst-legacy .ul-about__content p a{
  color:var(--color-accent);
  text-decoration:underline;
}
.uristst-legacy .ul-about__content p a:hover{
  color:var(--color-accent-dark);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:920px){
  .uristst-legacy .ul-hero__grid{
    grid-template-columns:1fr;
    gap:var(--sp-8);
  }
  .uristst-legacy .ul-about__grid{
    grid-template-columns:1fr;
    gap:var(--sp-8);
  }
}
@media (max-width:640px){
  .uristst-legacy .ul-hero{
    padding:48px 20px 56px;
  }
  .uristst-legacy .ul-hero h1.wp-block-heading{
    font-size:40px;
    line-height:44px;
  }
  .uristst-legacy .ul-services li{
    grid-template-columns:32px minmax(0,1fr) 20px;
    gap:var(--sp-3);
    padding:var(--sp-6) 0;
  }
}
@media (max-width:430px){
  .uristst-legacy .ul-hero h1.wp-block-heading{
    font-size:38px;
    line-height:42px;
  }
  .uristst-legacy .ul-hero .ul-lead,
  .uristst-legacy .ul-about__content p{
    font-size:16px;
    line-height:26px;
  }
}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce){
  .uristst-legacy .ul-services li::after,
  .uristst-legacy .ul-services__arrow{
    transition:none;
    transform:none;
  }
}

/* ============================================================
   URISTST — HOMEPAGE COMPLETION  (Stage 02B)
   Scope: PROCESS / WHY / FAQ / FINAL CTA + FORM — DESIGN LOCK v1.
   Loads after site.css (home.css is_front_page only), so these
   rules override legacy gold homepage styles for the four sections.
   Form overrides carry higher specificity than the native-form
   inline styles loaded via the shortcode (footer) on purpose.
   ============================================================ */

/* ---------- PROCESS ---------- */
.uristst-legacy .ul-section--soft:has(.ul-process){
  background:var(--color-bg-main);
  padding:clamp(64px,8vw,104px) 24px clamp(72px,9vw,112px);
}
.uristst-legacy .ul-section--soft:has(.ul-process) .ul-wrap{
  max-width:var(--container-max);
  margin:0 auto;
}
.uristst-legacy .ul-section--soft:has(.ul-process) h2.wp-block-heading{
  margin:0 0 var(--sp-8);
  color:var(--color-text-primary);
}
.uristst-legacy .ul-process{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(24px,3vw,40px);
}
.uristst-legacy .ul-step{
  min-width:0;
  padding-top:var(--sp-4);
  border-top:1px solid var(--color-border);
}
.uristst-legacy .ul-step .ul-index{
  display:block;
  margin:0 0 var(--sp-3);
  font-size:var(--fs-meta);
  line-height:var(--lh-meta);
  font-weight:700;
  letter-spacing:.1em;
  color:var(--color-accent);
  font-variant-numeric:tabular-nums;
}
.uristst-legacy .ul-step h3{
  margin:0 0 var(--sp-3);
  font-size:var(--fs-h3);
  line-height:var(--lh-h3);
  font-weight:700;
  color:var(--color-text-primary);
}
.uristst-legacy .ul-step p{
  margin:0;
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--color-text-secondary);
}

/* ---------- WHY ---------- */
.uristst-legacy .ul-section--white:has(.ul-why){
  background:var(--color-surface);
  padding:clamp(64px,8vw,104px) 24px clamp(72px,9vw,112px);
}
.uristst-legacy .ul-section--white:has(.ul-why) .ul-wrap{
  max-width:var(--container-max);
  margin:0 auto;
}
.uristst-legacy .ul-section--white:has(.ul-why) h2.wp-block-heading{
  margin:0 0 var(--sp-8);
  color:var(--color-text-primary);
}
.uristst-legacy .ul-why{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(24px,3vw,40px);
}
.uristst-legacy .ul-why-item{
  min-width:0;
  padding-top:var(--sp-4);
  border-top:1px solid var(--color-border);
}
.uristst-legacy .ul-why-item h3{
  margin:0 0 var(--sp-3);
  font-size:var(--fs-h3);
  line-height:var(--lh-h3);
  font-weight:700;
  color:var(--color-text-primary);
}
.uristst-legacy .ul-why-item p{
  margin:0;
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--color-text-secondary);
}

/* ---------- FAQ ---------- */
.uristst-legacy .ul-faq{
  background:var(--color-bg-main);
  padding:clamp(64px,8vw,104px) 24px clamp(72px,9vw,112px);
}
.uristst-legacy .ul-faq .ul-wrap{
  max-width:720px;
  margin:0 auto;
}
.uristst-legacy .ul-faq h2.wp-block-heading{
  margin:0 0 var(--sp-8);
  color:var(--color-text-primary);
}
.uristst-legacy .ul-faq details{
  border-bottom:1px solid var(--color-border);
}
.uristst-legacy .ul-faq details:first-of-type{
  border-top:1px solid var(--color-border);
}
.uristst-legacy .ul-faq summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-4);
  padding:var(--sp-6) 0;
  cursor:pointer;
  list-style:none;
  font-size:var(--fs-h3);
  line-height:var(--lh-h3);
  font-weight:700;
  color:var(--color-text-primary);
  transition:color var(--dur) var(--ease);
}
.uristst-legacy .ul-faq summary::-webkit-details-marker{
  display:none;
}
.uristst-legacy .ul-faq summary::after{
  content:"+";
  flex:none;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid var(--color-accent);
  border-radius:50%;
  font-size:18px;
  line-height:1;
  font-weight:400;
  color:var(--color-accent);
  transition:transform var(--dur) var(--ease), background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.uristst-legacy .ul-faq details[open] summary::after{
  transform:rotate(45deg);
  background:var(--color-accent);
  color:#fff;
}
.uristst-legacy .ul-faq details:hover summary{
  color:var(--color-accent);
}
.uristst-legacy .ul-faq summary:focus-visible{
  outline:2px solid var(--color-accent);
  outline-offset:2px;
  border-radius:2px;
}
.uristst-legacy .ul-faq details p{
  margin:0;
  max-width:62ch;
  padding:0 0 var(--sp-6);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--color-text-secondary);
  animation:uristst-faq-in 200ms var(--ease);
}
@keyframes uristst-faq-in{
  from{opacity:0; transform:translateY(-4px);}
  to{opacity:1; transform:none;}
}

/* ---------- FINAL CTA (dark) ---------- */
.uristst-legacy .ul-cta{
  background:var(--color-dark-surface);
  color:var(--color-text-on-dark);
  padding:clamp(64px,8vw,104px) 24px clamp(72px,9vw,112px);
  border-top:none;
  border-bottom:none;
  text-align:center;
}
.uristst-legacy .ul-cta .ul-wrap{
  max-width:720px;
  margin:0 auto;
}
.uristst-legacy .ul-cta h2.wp-block-heading{
  margin:0 0 var(--sp-6);
  font-size:var(--fs-h2);
  line-height:var(--lh-h2);
  color:var(--color-text-on-dark);
}
.uristst-legacy .ul-cta .ul-wrap > p:not(.ul-cta__contact){
  margin:0 auto var(--sp-8);
  max-width:56ch;
  font-size:var(--fs-body-large);
  line-height:var(--lh-body-large);
  color:rgba(244,241,235,.86);
}
.uristst-legacy .ul-cta__contact{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:baseline;
  gap:var(--sp-2) var(--sp-6);
  margin:0 0 var(--sp-8);
  font-size:var(--fs-lead);
  line-height:var(--lh-lead);
  color:var(--color-text-on-dark);
}
.uristst-legacy .ul-cta__contact-name{
  font-weight:700;
}
.uristst-legacy .ul-cta__contact-role{
  opacity:.86;
}
.uristst-legacy .ul-cta__contact-phone{
  color:var(--color-text-on-dark);
  font-weight:700;
  text-decoration:none;
  transition:color var(--dur) var(--ease);
}
.uristst-legacy .ul-cta__contact-phone:hover{
  color:#fff;
}

/* ---------- FORM (visual only; backend LOCKED in mu-plugin) ---------- */
.uristst-legacy .ul-cta .uristst-form{
  max-width:560px;
  margin:0 auto;
}
.uristst-legacy .ul-cta .uristst-form__field{
  margin:0 0 20px;
}
.uristst-legacy .ul-cta .uristst-form label{
  display:block;
  margin:0 0 8px;
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  font-weight:600;
  color:var(--color-text-on-dark);
}
.uristst-legacy .ul-cta .uristst-form input[type="text"],
.uristst-legacy .ul-cta .uristst-form input[type="tel"],
.uristst-legacy .ul-cta .uristst-form textarea{
  width:100%;
  box-sizing:border-box;
  height:52px;
  padding:0 14px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-input);
  background:var(--color-surface);
  color:var(--color-text-primary);
  font-family:var(--font-sans);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  box-shadow:none;
}
.uristst-legacy .ul-cta .uristst-form textarea{
  height:auto;
  min-height:140px;
  padding:14px;
  resize:vertical;
}
.uristst-legacy .ul-cta .uristst-form input:focus,
.uristst-legacy .ul-cta .uristst-form textarea:focus{
  outline:none;
  border-color:var(--color-accent);
  box-shadow:0 0 0 3px rgba(154,80,63,.35);
}
.uristst-legacy .ul-cta .uristst-form__consent{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
  margin:4px 0 24px;
  font-size:var(--fs-small);
  line-height:var(--lh-small);
  text-align:left;
  color:rgba(244,241,235,.86);
}
.uristst-legacy .ul-cta .uristst-form__consent input{
  margin-top:4px;
}
.uristst-legacy .ul-cta .uristst-form__consent a{
  color:var(--color-text-on-dark);
  text-decoration:underline;
  transition:color var(--dur) var(--ease);
}
.uristst-legacy .ul-cta .uristst-form__consent a:hover{
  color:#fff;
}
.uristst-legacy .ul-cta .uristst-form__button{
  display:inline-block;
  padding:var(--sp-3) 34px;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-btn);
  background:var(--color-accent);
  color:#fff;
  font-family:var(--font-sans);
  font-size:var(--fs-button);
  line-height:var(--lh-button);
  font-weight:600;
  cursor:pointer;
  transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.uristst-legacy .ul-cta .uristst-form__button:hover{
  background:var(--color-accent-dark);
  border-color:var(--color-accent-dark);
}
.uristst-legacy .ul-cta .uristst-form__notice{
  text-align:left;
  background:rgba(244,241,235,.08);
  border-left-color:var(--color-accent);
  color:var(--color-text-on-dark);
}
.uristst-legacy .ul-cta .uristst-form__notice--success{
  border-left-color:#7fb38a;
}

/* ---------- Stage 02B responsive ---------- */
@media (max-width:920px){
  .uristst-legacy .ul-process,
  .uristst-legacy .ul-why{
    gap:var(--sp-8);
  }
}
@media (max-width:781px){
  .uristst-legacy .ul-process,
  .uristst-legacy .ul-why{
    grid-template-columns:1fr;
    gap:var(--sp-8);
  }
}
@media (max-width:640px){
  .uristst-legacy .ul-section--soft:has(.ul-process),
  .uristst-legacy .ul-section--white:has(.ul-why),
  .uristst-legacy .ul-faq,
  .uristst-legacy .ul-cta{
    padding-top:56px;
    padding-bottom:64px;
    padding-left:20px;
    padding-right:20px;
  }
  .uristst-legacy .ul-faq .ul-wrap,
  .uristst-legacy .ul-cta .ul-wrap{
    max-width:100%;
  }
  .uristst-legacy .ul-cta h2.wp-block-heading{
    font-size:30px;
    line-height:36px;
  }
}
@media (max-width:430px){
  .uristst-legacy .ul-step h3,
  .uristst-legacy .ul-why-item h3,
  .uristst-legacy .ul-faq summary{
    font-size:21px;
    line-height:28px;
  }
}

/* ---------- Stage 02B motion ---------- */
@media (prefers-reduced-motion: reduce){
  .uristst-legacy .ul-faq summary,
  .uristst-legacy .ul-faq summary::after,
  .uristst-legacy .ul-faq details p,
  .uristst-legacy .ul-cta .uristst-form__consent a,
  .uristst-legacy .ul-cta__contact-phone,
  .uristst-legacy .ul-cta .uristst-form__button{
    transition:none;
    animation:none;
    transform:none;
  }
  .uristst-legacy .ul-cta .uristst-form__button{
    background-color:var(--color-accent);
    border-color:var(--color-accent);
  }
  .uristst-legacy .ul-cta .uristst-form__consent a,
  .uristst-legacy .ul-cta__contact-phone{
    color:var(--color-text-on-dark);
  }
}
