/* LEGAL — корпоративный юр-сервис: deep navy + emerald + ivory, sans-serif legaltech */
body[data-niche="legal"] {
  --navy:#0E1F3D; --navy-2:#152647; --navy-3:#1C2E54;
  --emerald:#0D8061; --emerald-deep:#085E47; --emerald-soft:#A6DCC8;
  --ivory:#F8F6F1; --paper:#FFFFFF; --ink:#0A1428;
  --bone:#7A8499; --bone-2:#A8B0BF;
  --hairline:rgba(14,31,61,.10); --hairline-2:rgba(14,31,61,.18);
  --hairline-on-dark:rgba(248,246,241,.12);
  --surface-page:var(--ivory); --surface-card:var(--paper); --surface-soft:#EFEDE6;
  --text-primary:var(--ink); --text-secondary:var(--bone); --border-soft:var(--hairline);
  --accent:var(--emerald); --accent-dark:var(--emerald-deep);
  background:var(--ivory); color:var(--ink); font-family:var(--font-sans);
}
body[data-niche="legal"] h1, body[data-niche="legal"] h2, body[data-niche="legal"] h3 {
  font-family:'Playfair Display', Georgia, serif; font-weight:600; letter-spacing:-0.015em; color:var(--navy); line-height:1.08;
}
body[data-niche="legal"] .container { max-width:1240px; margin:0 auto; padding:0 24px; }

.lg-topbar { position:absolute; top:0; left:0; right:0; z-index:30; padding:18px 0; transition:background .3s, padding .3s; }
.lg-topbar.scrolled { position:fixed; padding:14px 0; background:rgba(248,246,241,.92); backdrop-filter:saturate(160%) blur(14px); border-bottom:1px solid var(--hairline); }
.lg-topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.lg-brand { display:inline-flex; align-items:center; gap:10px; }
.lg-brand-mark { width:34px; height:34px; background:var(--navy); display:flex; align-items:center; justify-content:center; color:var(--ivory); font-family:'Playfair Display',serif; font-size:18px; font-weight:700; letter-spacing:-0.02em; }
.lg-brand b { font-family:'Playfair Display',serif; font-size:22px; font-weight:600; color:var(--navy); letter-spacing:-0.01em; }
.lg-nav { display:flex; gap:28px; }
.lg-nav a { color:var(--navy); font-size:13px; font-weight:600; letter-spacing:.04em; }
.lg-nav a:hover { color:var(--emerald); }
.lg-cta { display:inline-flex; align-items:center; gap:8px; padding:11px 22px; background:var(--navy); color:var(--ivory); font-weight:600; font-size:13px; transition:background .25s; }
.lg-cta:hover { background:var(--emerald); }
.lg-cta.gh { background:transparent; color:var(--navy); border:1px solid var(--navy); }
.lg-cta.gh:hover { background:var(--navy); color:var(--ivory); }
@media (max-width:840px) { .lg-nav { display:none; } }

.lg-hero { position:relative; padding:140px 0 100px; background:linear-gradient(180deg, var(--ivory) 0%, var(--ivory) 60%, var(--surface-soft) 100%); overflow:hidden; }
.lg-hero::before { content:''; position:absolute; right:-180px; top:80px; width:520px; height:520px; background:radial-gradient(circle, rgba(13,128,97,.10), transparent 70%); pointer-events:none; }
.lg-hero-inner { display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:center; position:relative; z-index:1; }
.lg-hero-tag { display:inline-flex; align-items:center; gap:10px; color:var(--emerald); font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:700; margin-bottom:22px; }
.lg-hero-tag::before { content:''; width:24px; height:1px; background:var(--emerald); }
.lg-hero h1 { font-size:clamp(44px, 6.4vw, 80px); margin:0 0 24px; }
.lg-hero h1 em { font-style:italic; color:var(--emerald); }
.lg-hero p { color:var(--bone); font-size:clamp(16px, 1.3vw, 18px); line-height:1.65; max-width:54ch; margin:0 0 32px; }
.lg-hero-row { display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-bottom:48px; }
.lg-hero-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:0; padding:0; }
.lg-hero-stat { padding:18px 22px 18px 0; border-right:1px solid var(--hairline); }
.lg-hero-stat:nth-child(2n) { border-right:0; padding-right:0; padding-left:22px; }
.lg-hero-stat strong { display:block; font-family:'Playfair Display',serif; font-size:clamp(28px, 3.4vw, 38px); color:var(--navy); font-weight:600; line-height:1; margin-bottom:6px; letter-spacing:-0.02em; }
.lg-hero-stat strong em { color:var(--emerald); font-style:italic; }
.lg-hero-stat span { color:var(--bone); font-size:12px; letter-spacing:.06em; }

.lg-hero-card { position:relative; }
.lg-hero-card-img { aspect-ratio:4/5; background-size:cover; background-position:center; background-color:var(--navy-2); }
.lg-hero-card-quote { position:absolute; left:-34px; bottom:34px; right:34px; background:var(--paper); border-left:3px solid var(--emerald); padding:24px 28px; box-shadow:0 24px 48px -24px rgba(14,31,61,.32); }
.lg-hero-card-quote p { font-family:'Playfair Display',serif; font-style:italic; font-size:18px; color:var(--navy); margin:0 0 12px; line-height:1.4; }
.lg-hero-card-quote small { color:var(--bone); font-size:12px; letter-spacing:.04em; }
.lg-hero-card-quote small b { color:var(--ink); font-weight:600; }
@media (max-width:980px) { .lg-hero-inner { grid-template-columns:1fr; gap:40px; } .lg-hero-card-quote { left:0; right:14px; bottom:14px; } }

.lg-sec { padding:clamp(72px, 9vw, 120px) 0; }
.lg-sec.bg2 { background:var(--surface-soft); }
.lg-sec.dark { background:var(--navy); color:var(--ivory); }
.lg-sec.dark h2, .lg-sec.dark h3 { color:var(--ivory); }
.lg-eye { color:var(--emerald); font-size:11px; letter-spacing:.26em; text-transform:uppercase; font-weight:800; margin-bottom:14px; display:inline-block; }
.lg-h2 { font-size:clamp(34px, 4.6vw, 56px); margin:0 0 14px; }
.lg-h2 em { font-style:italic; color:var(--emerald); }
.lg-lead { color:var(--bone); font-size:clamp(15px, 1.2vw, 17px); line-height:1.65; max-width:62ch; }
.lg-sec.dark .lg-lead { color:var(--bone-2); }

/* SERVICES */
.lg-svc { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:48px; border-top:1px solid var(--hairline); border-left:1px solid var(--hairline); }
.lg-svc-card { padding:36px 32px; border-right:1px solid var(--hairline); border-bottom:1px solid var(--hairline); transition:background .25s; cursor:pointer; position:relative; background:var(--paper); }
.lg-svc-card:hover { background:var(--surface-soft); }
.lg-svc-card-num { font-family:'Playfair Display',serif; color:var(--emerald); font-size:14px; letter-spacing:.04em; margin-bottom:18px; font-style:italic; }
.lg-svc-card h3 { font-size:24px; margin:0 0 12px; line-height:1.2; }
.lg-svc-card p { color:var(--bone); font-size:14px; line-height:1.6; margin:0 0 22px; }
.lg-svc-card-foot { display:flex; justify-content:space-between; align-items:flex-end; padding-top:16px; border-top:1px solid var(--hairline); }
.lg-svc-card-from { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--bone); font-weight:700; }
.lg-svc-card-from b { display:block; font-family:'Playfair Display',serif; font-style:italic; font-size:24px; color:var(--navy); margin-top:4px; font-weight:600; text-transform:none; letter-spacing:0; }
.lg-svc-card-arr { color:var(--emerald); font-weight:700; font-size:13px; transition:gap .25s; display:inline-flex; align-items:center; gap:6px; }
.lg-svc-card:hover .lg-svc-card-arr { gap:12px; }
@media (max-width:980px) { .lg-svc { grid-template-columns:1fr 1fr; } }
@media (max-width:600px)  { .lg-svc { grid-template-columns:1fr; } }

/* PRICING */
.lg-price { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:48px; }
.lg-price-card { background:rgba(248,246,241,.04); border:1px solid var(--hairline-on-dark); padding:38px 32px; display:flex; flex-direction:column; transition:transform .3s, border-color .3s; }
.lg-price-card.featured { background:linear-gradient(135deg, var(--emerald-deep), var(--emerald)); border-color:var(--emerald); transform:translateY(-12px); }
.lg-price-card:hover { transform:translateY(-6px); border-color:var(--emerald); }
.lg-price-card.featured:hover { transform:translateY(-16px); }
.lg-price-card h3 { font-size:26px; margin:0 0 6px; color:var(--ivory); }
.lg-price-card p.tag { color:var(--bone-2); font-size:13px; margin:0 0 24px; }
.lg-price-card.featured p.tag { color:var(--emerald-soft); }
.lg-price-num { font-family:'Playfair Display',serif; font-size:54px; font-weight:600; line-height:1; margin-bottom:8px; color:var(--ivory); }
.lg-price-num span { font-size:18px; color:var(--bone-2); margin-left:6px; font-style:italic; font-family:'Playfair Display',serif; }
.lg-price-card.featured .lg-price-num span { color:var(--emerald-soft); }
.lg-price-sub { color:var(--bone-2); font-size:13px; margin-bottom:28px; padding-bottom:24px; border-bottom:1px solid var(--hairline-on-dark); }
.lg-price-card.featured .lg-price-sub { color:rgba(248,246,241,.78); border-color:rgba(248,246,241,.2); }
.lg-price-list { list-style:none; padding:0; margin:0 0 32px; flex:1; display:flex; flex-direction:column; gap:12px; }
.lg-price-list li { display:flex; gap:12px; align-items:flex-start; color:var(--bone-2); font-size:14px; line-height:1.5; }
.lg-price-list li::before { content:'✓'; color:var(--emerald); font-weight:800; flex-shrink:0; }
.lg-price-card.featured .lg-price-list li { color:rgba(248,246,241,.92); }
.lg-price-card.featured .lg-price-list li::before { color:var(--ivory); }
.lg-price-cta { display:block; text-align:center; padding:14px; border:1px solid var(--ivory); color:var(--ivory); font-weight:700; font-size:13px; letter-spacing:.06em; transition:background .25s, color .25s; }
.lg-price-cta:hover { background:var(--ivory); color:var(--navy); }
.lg-price-card.featured .lg-price-cta { background:var(--ivory); color:var(--emerald-deep); border-color:var(--ivory); }
.lg-price-card.featured .lg-price-cta:hover { background:var(--navy); color:var(--ivory); }
@media (max-width:900px) { .lg-price { grid-template-columns:1fr; } .lg-price-card.featured { transform:none; } }

/* PROCESS */
.lg-proc { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:48px; border-top:1px solid var(--hairline); }
.lg-proc-step { padding:32px 24px 32px 0; border-right:1px solid var(--hairline); position:relative; }
.lg-proc-step:last-child { border-right:0; padding-right:0; }
.lg-proc-step:not(:first-child) { padding-left:24px; }
.lg-proc-step-num { font-family:'Playfair Display',serif; font-style:italic; color:var(--emerald); font-size:42px; line-height:1; display:block; margin-bottom:14px; font-weight:600; }
.lg-proc-step h3 { font-size:18px; margin:0 0 8px; line-height:1.2; }
.lg-proc-step p { color:var(--bone); font-size:13px; line-height:1.55; margin:0; }
@media (max-width:900px) { .lg-proc { grid-template-columns:1fr 1fr; } .lg-proc-step:nth-child(2n) { border-right:0; } .lg-proc-step { border-bottom:1px solid var(--hairline); padding-left:0 !important; padding-right:24px; } }
@media (max-width:540px) { .lg-proc { grid-template-columns:1fr; } .lg-proc-step { border-right:0; padding:28px 0 !important; } }

/* CASES */
.lg-cases { display:flex; flex-direction:column; gap:24px; margin-top:48px; }
.lg-case { display:grid; grid-template-columns:240px 1fr auto; gap:32px; padding:32px 32px; background:var(--paper); border:1px solid var(--hairline); align-items:center; transition:border-color .25s, box-shadow .25s; }
.lg-case:hover { border-color:var(--emerald); box-shadow:0 12px 28px -16px rgba(13,128,97,.32); }
.lg-case-tag { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--emerald); font-weight:800; padding:6px 12px; border:1px solid var(--emerald); display:inline-block; align-self:flex-start; }
.lg-case-body h3 { font-size:24px; margin:14px 0 8px; line-height:1.2; }
.lg-case-body p { color:var(--bone); font-size:14px; line-height:1.6; margin:0; }
.lg-case-result { text-align:right; padding-left:24px; border-left:1px solid var(--hairline); min-width:180px; }
.lg-case-result b { display:block; font-family:'Playfair Display',serif; font-style:italic; font-size:32px; color:var(--emerald); line-height:1; font-weight:600; margin-bottom:6px; }
.lg-case-result span { color:var(--bone); font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
@media (max-width:900px) { .lg-case { grid-template-columns:1fr; gap:18px; padding:24px; } .lg-case-result { padding-left:0; border-left:0; border-top:1px solid var(--hairline); padding-top:18px; text-align:left; } }

/* TEAM */
.lg-team { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:48px; }
.lg-team-card { background:var(--paper); border:1px solid var(--hairline); }
.lg-team-photo { aspect-ratio:4/5; background-size:cover; background-position:center; background-color:var(--navy-2); }
.lg-team-body { padding:22px 24px; }
.lg-team-body h4 { font-family:'Playfair Display',serif; font-size:20px; font-weight:600; color:var(--navy); margin:0 0 4px; line-height:1.2; }
.lg-team-body .spec { color:var(--emerald); font-size:13px; font-weight:600; margin-bottom:10px; }
.lg-team-body p { color:var(--bone); font-size:13px; line-height:1.55; margin:0; }
@media (max-width:980px) { .lg-team { grid-template-columns:1fr 1fr; } }
@media (max-width:540px)  { .lg-team { grid-template-columns:1fr; } }

/* FAQ */
.lg-faq { max-width:880px; margin:36px auto 0; }
.lg-faq details { border-bottom:1px solid var(--hairline); padding:22px 0; }
.lg-faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:24px; font-family:'Playfair Display',serif; font-size:22px; font-weight:600; color:var(--navy); line-height:1.3; }
.lg-faq summary::-webkit-details-marker { display:none; }
.lg-faq summary::after { content:'+'; color:var(--emerald); font-size:28px; font-style:italic; transition:transform .25s; }
.lg-faq details[open] summary::after { transform:rotate(45deg); }
.lg-faq details > div { padding-top:14px; color:var(--bone); line-height:1.7; font-size:15px; max-width:78ch; }

/* FOOT */
.lg-foot { background:var(--navy); color:var(--ivory); padding:64px 0 28px; }
.lg-foot-top { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:32px; margin-bottom:36px; }
.lg-foot-brand b { font-family:'Playfair Display',serif; font-size:30px; color:var(--ivory); display:block; }
.lg-foot-brand p { color:var(--bone-2); margin:14px 0 0; max-width:34ch; line-height:1.6; }
.lg-foot h5 { color:var(--emerald); font-size:11px; letter-spacing:.26em; text-transform:uppercase; margin:0 0 14px; font-weight:700; }
.lg-foot a { color:rgba(248,246,241,.7); display:block; padding:4px 0; font-size:13px; }
.lg-foot a:hover { color:var(--emerald); }
.lg-foot-bot { padding-top:20px; border-top:1px solid var(--hairline-on-dark); display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; color:var(--bone-2); font-size:12px; opacity:.65; }
@media (max-width:800px) { .lg-foot-top { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .lg-foot-top { grid-template-columns:1fr; } }

body[data-niche="legal"] .reveal { opacity:0; transform:translateY(14px); transition:opacity 600ms var(--ease-smooth), transform 600ms var(--ease-smooth); }
body[data-niche="legal"] .reveal.in { opacity:1; transform:none; }
