/* =============================================================
   VITAL DOCS — online-notary page (RU). Page-specific layouts only.
   Builds on tokens & base components from style.css.
   ============================================================= */

/* RU readability: swap the display serif (Playfair → Lora) page-wide.
   Lora keeps the editorial serif feel but has properly drawn, readable Cyrillic. */
:root{--serif:"Lora",Georgia,"Times New Roman",serif}

/* ---------- header: slim top utility strip + clean logo/nav main row ---------- */
.hdr{padding-block:0}
.hdr.stuck{padding-block:0}
.hdr.stuck .topbar{display:none}                 /* collapse the strip once scrolled */

.topbar{border-bottom:1px solid var(--line-2)}
.topbar__in{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:42px;padding-block:8px}
.topbar__contact{display:flex;align-items:center;gap:24px}
.topbar__contact a{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:500;color:var(--ink-2);white-space:nowrap;transition:color .3s}
.topbar__contact a:hover{color:var(--clay)}
.topbar__contact .ic{width:1.05em;height:1.05em;color:var(--clay)}
.hdr__social{display:flex;align-items:center;gap:9px}
.hdr__social a{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;
  color:var(--ink);transition:background-color .3s,color .3s,border-color .3s}
.hdr__social a:hover{background:var(--clay);border-color:var(--clay);color:#fff}
.hdr__social .ic{width:15px;height:15px}

/* main row: logo lockup (left) + nav (right) — single clean line */
.hdr__in{grid-template-columns:auto 1fr;align-items:center;padding-block:14px}
.nav{justify-self:end}
.logo{flex-direction:column;align-items:flex-start;gap:3px}
.logo__tag{font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;margin-left:61px}

@media (max-width:1000px){
  .topbar{display:none}
  .hdr__in{grid-template-columns:auto auto;justify-content:space-between;align-items:center;padding-block:10px}
  .nav{display:none}                   /* replaced by the drawer menu below */
  .hdr__in .burger{display:inline-flex}   /* specificity beats the later base rule */
  .logo{align-items:flex-start}
  .logo__tag{margin-left:0}
}

/* ---------- mobile: hamburger button + slide-in drawer ---------- */
.burger{display:none;align-items:center;justify-content:center;flex:none;width:46px;height:46px;
  border:1px solid var(--line);border-radius:12px;background:var(--paper-2);color:var(--ink);
  transition:background-color .3s,border-color .3s,color .3s}
.burger:hover{border-color:var(--clay);color:var(--clay)}
.burger .ic{width:24px;height:24px}
.drawer{position:fixed;inset:0;z-index:300;visibility:hidden}
.drawer.open{visibility:visible}
.drawer__bg{position:absolute;inset:0;background:rgba(27,38,50,.5);backdrop-filter:blur(4px);opacity:0;transition:opacity .4s}
.drawer.open .drawer__bg{opacity:1}
.drawer__panel{position:absolute;inset:0 0 0 auto;width:min(84vw,360px);height:100%;overflow-y:auto;
  background:var(--paper);box-shadow:-30px 0 70px -30px rgba(27,38,50,.55);
  display:flex;flex-direction:column;padding:clamp(22px,6vw,34px);
  transform:translateX(100%);transition:transform .5s var(--ease)}
.drawer.open .drawer__panel{transform:none}
.drawer__close{align-self:flex-end;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;font-size:26px;line-height:1;color:var(--ink);margin-bottom:12px;transition:background-color .3s}
.drawer__close:hover{background:var(--paper-3)}
.drawer__panel>a{font-family:var(--serif);font-size:1.5rem;color:var(--ink);padding:13px 2px;
  border-bottom:1px solid var(--line-2);transition:color .3s}
.drawer__panel>a:hover{color:var(--clay)}
.drawer__foot{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:13px}
.drawer__c{display:inline-flex;align-items:center;gap:9px;font-size:.95rem;color:var(--ink-2);transition:color .3s}
.drawer__c:hover{color:var(--clay)}
.drawer__c .ic{width:1.1em;height:1.1em;color:var(--clay)}
.drawer__social{display:flex;gap:10px;margin-top:8px}
.drawer__social a{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--ink);transition:background-color .3s,color .3s,border-color .3s}
.drawer__social a:hover{background:var(--clay);border-color:var(--clay);color:#fff}
.drawer__social .ic{width:16px;height:16px}
@media (prefers-reduced-motion:reduce){.drawer__panel,.drawer__bg{transition:none}}

/* ---------- hero extras ---------- */
.hero__title{margin-bottom:6px}
.hero__role{font-family:var(--serif);font-size:clamp(1.5rem,2.7vw,2.25rem);line-height:1.1;color:var(--ink);margin-bottom:14px}
.hero__tag{font-size:clamp(1rem,1.35vw,1.18rem);font-weight:500;color:var(--clay);margin-bottom:26px}
.hero__checks{display:flex;flex-direction:column;gap:13px;margin-bottom:28px}
.hero__checks li{display:flex;gap:12px;align-items:flex-start;font-size:1.02rem;color:var(--ink);line-height:1.35}
.hero__checks .ic{color:var(--clay);width:1.2em;height:1.2em;flex:none;margin-top:.12em;stroke-width:2.6}
.hero__online{display:inline-flex;align-items:center;gap:16px;background:var(--paper-2);border:1px solid var(--line);
  border-radius:16px;padding:14px 22px 14px 14px;margin-bottom:30px}
.hero__online .ic-badge{flex:none;color:var(--clay)}
.hero__online p{font-family:var(--serif);font-size:clamp(1.12rem,1.7vw,1.4rem);line-height:1.18;color:var(--ink)}

/* ---------- Washington cross-link banner ---------- */
.wabanner-sec{padding-block:clamp(12px,2vw,26px)}
.wabanner{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,3vw,40px);align-items:center;
  background:var(--paper-2);border:1px solid var(--line);border-radius:24px;
  padding:clamp(24px,3.2vw,38px) clamp(26px,4vw,52px);
  transition:transform .5s var(--ease),box-shadow .5s,border-color .5s}
.wabanner:hover{transform:translateY(-4px);box-shadow:0 36px 60px -42px rgba(28,37,48,.45);border-color:var(--clay-soft)}
.wabanner__ic{flex:none;width:62px;height:62px;border-radius:16px;display:grid;place-items:center;
  background:#fff;border:1px solid var(--line);color:var(--clay)}
.wabanner__ic .ic{width:28px;height:28px}
.wabanner__txt b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2.4vw,2rem);
  line-height:1.1;color:var(--ink);margin-bottom:6px}
.wabanner__txt>span{display:block;color:var(--ink-2);font-size:.98rem;line-height:1.5;max-width:62ch}
.wabanner__go{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  color:var(--emerald);border:1px solid var(--line);transition:background-color .4s,color .4s,border-color .4s,transform .4s}
.wabanner__go .ic{width:20px;height:20px}
.wabanner:hover .wabanner__go{background:var(--clay);border-color:var(--clay);color:#fff;transform:translateX(4px)}
@media (max-width:880px){
  .wabanner{grid-template-columns:auto 1fr;gap:18px 20px}
  .wabanner__ic{grid-row:span 2}
}

/* ---------- services (4 simple cards) ---------- */
/* subgrid so icon / title / text rows line up across all cards regardless of title length */
.uslugi{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto auto;
  column-gap:clamp(18px,2vw,26px);margin-top:60px}
.ucard{display:grid;grid-row:span 3;grid-template-rows:subgrid;text-align:center;
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(28px,2.6vw,40px) clamp(22px,2vw,30px);
  transition:transform .6s var(--ease),box-shadow .6s,border-color .6s}
.ucard:hover{transform:translateY(-8px);box-shadow:0 40px 70px -40px rgba(28,37,48,.4);border-color:var(--clay-soft)}
.ucard .ic-badge{justify-self:center;width:64px;height:64px;border-radius:18px;margin-bottom:22px;color:var(--clay)}
.ucard .ic-badge .ic{width:28px;height:28px}
.ucard h3{font-size:clamp(1.3rem,1.8vw,1.6rem);line-height:1.16;margin-bottom:16px;color:var(--ink)}
.ucard p{font-size:.92rem;color:var(--ink-2);line-height:1.5}
@media (max-width:1000px){
  .uslugi{grid-template-columns:repeat(2,1fr);grid-template-rows:auto auto auto auto auto auto;row-gap:clamp(18px,2vw,26px)}
}
@media (max-width:560px){
  .uslugi{display:flex;flex-direction:column;gap:clamp(18px,2vw,26px)}
  .ucard{display:flex;flex-direction:column;align-items:center}
}

/* ---------- most-requested documents (3 columns) ---------- */
/* subgrid so heading / divider / list line up across columns regardless of title length */
.docs3{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto 1fr;
  column-gap:clamp(20px,2.4vw,32px);margin-top:60px}
.doccol{display:grid;grid-row:span 2;grid-template-rows:subgrid;
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:clamp(26px,2.6vw,38px)}
.doccol__head{display:flex;align-items:center;gap:14px;align-self:start}
.doccol__head .ic-badge{flex:none;width:48px;height:48px;border-radius:12px;color:var(--clay)}
.doccol__head .ic-badge .ic{width:24px;height:24px}
.doccol__head h3{font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.12;color:var(--ink)}
.doccol ul{display:flex;flex-direction:column;gap:13px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.doccol li{display:flex;gap:11px;font-size:.92rem;color:var(--ink-2);line-height:1.4}
.doccol li .ic{color:var(--clay);width:1.05em;height:1.05em;flex:none;margin-top:.15em}
@media (max-width:1000px){
  .docs3{grid-template-columns:1fr;grid-template-rows:none;max-width:640px;margin-inline:auto}
  .doccol{display:block}
}

/* ---------- CTA band ---------- */
.ctaband{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;
  background:var(--emerald-2);border:1px solid var(--emerald-2);border-radius:24px;
  padding:clamp(26px,3vw,40px) clamp(28px,4vw,52px);margin-top:clamp(40px,5vw,64px)}
.ctaband__txt{display:flex;align-items:center;gap:18px}
.ctaband__txt .ic-badge{flex:none;display:grid;place-items:center;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:var(--clay-soft)}
.ctaband__txt b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.15;color:var(--paper-2)}
.ctaband__txt span{display:block;color:rgba(246,242,233,.72);font-size:.96rem;margin-top:4px}
@media (max-width:640px){.ctaband{flex-direction:column;align-items:flex-start}.ctaband .btn{width:100%}}

/* ---------- about: greeting, name, NNA credential badges ---------- */
.about__intro{font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.2;margin-bottom:8px}
.about__hi{font-family:var(--serif);font-weight:600;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.12;margin-bottom:24px;color:var(--ink)}
.about__hi .muted{font-weight:400}
.about .about__bio{margin-bottom:18px;max-width:62ch}
/* bio as icon-led points (instead of a plain wall of paragraphs) */
.bio{display:flex;flex-direction:column;gap:18px;margin-top:8px}
.bio__item{display:flex;gap:16px;align-items:flex-start}
.bio__item .ic-badge{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;color:var(--clay)}
.bio__item .ic-badge .ic{width:22px;height:22px}
.bio__item p{color:var(--ink-2);line-height:1.6;font-size:.96rem;max-width:58ch;padding-top:8px}
@media (max-width:600px){.bio__item p{padding-top:2px}}
.nna{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,40px);
  margin-top:clamp(40px,5vw,64px);padding-top:clamp(34px,4vw,50px);border-top:1px solid var(--line)}
.nna__item{display:flex;align-items:center;gap:18px}
.nna__item img{height:74px;width:auto;flex:none}
.nna__item p{font-size:.9rem;line-height:1.42;color:var(--ink-2)}
@media (max-width:1000px){.nna{grid-template-columns:1fr;gap:22px;max-width:560px;margin-inline:auto}}

/* ---------- articles ---------- */
.articles{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,1.6vw,22px);margin-top:60px}
.acard{display:flex;flex-direction:column;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;transition:transform .6s var(--ease),box-shadow .6s,border-color .6s}
.acard:hover{transform:translateY(-8px);box-shadow:0 40px 70px -40px rgba(28,37,48,.4);border-color:var(--clay-soft)}
.acard__img{position:relative;aspect-ratio:4/3;overflow:hidden}
.acard__ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(150deg,var(--emerald),var(--emerald-deep))}
.acard__ph .ic{width:42px;height:42px;color:var(--clay-soft);opacity:.5}
.acard__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.acard__b{display:flex;flex-direction:column;flex:1;padding:clamp(20px,1.6vw,26px)}
.acard__b .ic-badge{width:44px;height:44px;border-radius:12px;color:var(--clay);margin-bottom:14px}
.acard__b .ic-badge .ic{width:22px;height:22px}
.acard__b h3{font-size:1.04rem;line-height:1.24;color:var(--ink);margin-bottom:10px}
.acard__b p{font-size:.86rem;color:var(--ink-2);line-height:1.45;margin-bottom:16px;flex:1}
.acard__b .ul{font-size:.86rem;align-self:flex-start;margin-top:auto}
.articles__more{display:flex;justify-content:center;margin-top:clamp(36px,4vw,54px)}
@media (max-width:1100px){.articles{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.articles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.articles{grid-template-columns:1fr;max-width:420px;margin-inline:auto}}

/* ---------- request form (inline) ---------- */
.reqform{max-width:760px;margin:54px auto 0;background:var(--paper-2);border:1px solid var(--line);
  border-radius:24px;padding:clamp(28px,4vw,48px)}
.field .opt{color:var(--muted);text-transform:none;letter-spacing:0;font-size:.92em}
.field__count{align-self:flex-end;font-family:var(--mono);font-size:.66rem;color:var(--muted);margin-top:-2px}
.up__hint{font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;color:var(--muted);margin-top:8px;display:block}
.form__contact{margin-top:30px;padding-top:26px;border-top:1px solid var(--line);text-align:center}
.form__contact>span{display:block;color:var(--ink-2);font-size:.92rem;margin-bottom:14px}
.form__contact-row{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center}
.form__contact-row a{display:inline-flex;align-items:center;gap:9px;font-family:var(--serif);font-size:1.18rem;color:var(--ink);transition:color .3s}
.form__contact-row a:hover{color:var(--clay)}
.form__contact-row .ic{color:var(--clay);width:1.05em;height:1.05em}

/* ---------- disclaimer ---------- */
.disclaimer{display:flex;gap:clamp(20px,3vw,34px);align-items:flex-start;max-width:1000px;margin-inline:auto;
  background:var(--paper-2);border:1px solid var(--line);border-radius:24px;padding:clamp(28px,4vw,48px)}
.disclaimer__ic{flex:none;width:64px;height:64px;border-radius:50%;background:var(--paper-3);color:var(--clay);
  display:grid;place-items:center;font-family:var(--serif);font-size:2.2rem;line-height:1}
.disclaimer__b h3{font-family:var(--mono);font-weight:700;font-size:.92rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);margin-bottom:16px}
.disclaimer__b p{color:var(--ink-2);font-size:.94rem;line-height:1.6;margin-bottom:14px}
.disclaimer__b p:last-child{margin-bottom:0}
@media (max-width:600px){.disclaimer{flex-direction:column;gap:18px}}

/* ---------- footer: developer credit (Infinite Semantic) — native footer styling ---------- */
.ftr__dev{display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--mono);font-size:.72rem;line-height:1.45;color:var(--muted);
  transition:color .3s var(--ease)}
.ftr__dev:hover{color:var(--clay)}
.ftr__dev-logo{height:16px;width:auto;vertical-align:middle;flex:none;
  filter:none;opacity:1;                       /* keep the logo in its original colours */
  animation:spinInfinite 12s linear infinite}
@keyframes spinInfinite{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ftr__dev-logo{animation:none}}
@media (max-width:420px){.ftr__dev-logo{display:none}}   /* very narrow: text-only link */

/* ---------- mobile layout polish (spacing / centering) ---------- */
@media (max-width:760px){
  .hero__media{margin-inline:auto}
  .about__photo{max-width:440px;margin-inline:auto}
}
@media (max-width:600px){
  .hero{padding-top:104px}                          /* clears the compact mobile header */
  .section{padding-block:clamp(42px,10vw,58px)}     /* tighter vertical rhythm between blocks */
  #how{padding-top:60px!important}                  /* override the large desktop top-gap */
  .uslugi,.docs3{margin-top:40px}
  .articles,.svc{margin-top:40px}
  .ctaband{margin-top:clamp(34px,8vw,48px)}
  .nna{margin-top:clamp(32px,8vw,44px);padding-top:clamp(28px,7vw,40px)}
  .reqform{margin-top:38px}
  .hero__title{line-height:1.04}
}
