:root {
  --bg: #fbfaf7;
  --paper: #ffffff;
  --soft: #f3eee7;
  --soft-2: #f8f5ef;
  --ink: #18202b;
  --muted: #667085;
  --muted-2: #8a7f73;
  --navy: #082b57;
  --navy-2: #123d72;
  --gold: #b8915a;
  --gold-2: #d8c2a2;
  --line: #e6e1d8;
  --green: #4f6d59;
  --red: #9b4d3e;
  --shadow: 0 22px 60px rgba(31, 42, 55, .08);
  --shadow-soft: 0 12px 36px rgba(31, 42, 55, .06);
  --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 15% 0%, rgba(216,194,162,.30) 0, rgba(216,194,162,0) 34%),
    linear-gradient(180deg, #fff 0, var(--bg) 380px, #fff 100%);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.6;
}
a { color: var(--navy); text-decoration: none; }
a:hover { text-decoration: none; color: var(--navy-2); }
.wrap { width: min(1180px, calc(100% - 36px)); margin: 0 auto; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.90);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(230,225,216,.88);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 80px; }
.brand { display: inline-flex; flex-direction: column; gap: 1px; color: var(--ink); min-width: max-content; }
.brand-main { font-family: "Playfair Display", Georgia, serif; font-weight: 700; font-size: 31px; letter-spacing: -0.04em; line-height: 1; }
.brand-main span { color: #2b6dad; }
.brand-sub { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted-2); font-weight: 800; }
.nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 700; }
.nav a { color: #1e293b; }
.nav-cta, .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  border: 0;
  border-radius: 12px;
  padding: 12px 20px;
  background: var(--navy);
  color: #fff !important;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(8,43,87,.16);
}
.nav-cta::before, .btn[href="/ask"]::before, button[type="submit"]::before { content: "☏"; font-weight: 700; }
.btn.secondary { background: #fff; color: var(--navy) !important; border: 1px solid #b9c6d5; box-shadow: none; }
.btn.secondary::before, .btn.ghost::before, .btn.light::before { content: none; }
.btn.ghost { background: transparent; color: var(--navy) !important; box-shadow: none; padding-left: 0; }
.btn.light { background: #fff; color: var(--navy) !important; box-shadow: none; }
button, input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  border: 0;
  border-radius: 12px;
  padding: 12px 20px;
  background: var(--navy);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.nav-toggle { display: none; width: 44px; min-height: 44px; padding: 0; border-radius: 12px; }
.hero { padding: 0; }
.hero-calm {
  overflow: hidden;
  background: linear-gradient(90deg, #fff 0%, #fff 45%, #f2ede5 100%);
  border-bottom: 1px solid var(--line);
}
.hero-layout { min-height: 430px; display: grid; grid-template-columns: minmax(0, .98fr) minmax(380px, 1.02fr); align-items: center; gap: 38px; }
.hero-copy { padding: 58px 0 44px; }
.eyebrow { color: var(--gold); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .16em; margin-bottom: 12px; }
h1, h2, h3 { margin-top: 0; color: var(--ink); }
h1 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(42px, 6vw, 72px); line-height: .98; letter-spacing: -0.045em; margin-bottom: 20px; }
h2 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(26px, 3.1vw, 38px); line-height: 1.12; letter-spacing: -0.035em; margin-bottom: 18px; }
h3 { font-size: 20px; line-height: 1.25; letter-spacing: -0.02em; margin-bottom: 9px; }
p { margin-top: 0; }
.lead { font-size: 18px; color: #475569; max-width: 720px; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 26px 0 0; }
.hero-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; max-width: 710px; }
.hero-features span { display: grid; grid-template-columns: 34px 1fr; column-gap: 10px; align-items: start; color: var(--navy); }
.hero-features span::before { content: "§"; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 12px; background: #f1e5d3; color: var(--gold); font-weight: 900; }
.hero-features b { display: block; font-size: 14px; }
.hero-features small { display: block; color: var(--muted); font-size: 12px; line-height: 1.35; }
.law-scene {
  position: relative;
  align-self: stretch;
  min-height: 430px;
  border-left: 1px solid rgba(184,145,90,.25);
  background:
    radial-gradient(circle at 63% 28%, rgba(255,255,255,.78) 0 0, rgba(255,255,255,0) 28%),
    linear-gradient(135deg, #faf7f0 0%, #ede5d9 58%, #e0d3bf 100%);
  overflow: hidden;
}
.law-scene::before {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.74), rgba(255,255,255,0) 35%),
    radial-gradient(circle at 88% 14%, rgba(255,255,255,.65) 0 0, transparent 17%);
}
.law-badge {
  position: absolute; right: 48px; top: 110px; z-index: 2;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(230,225,216,.85);
  box-shadow: var(--shadow-soft);
  border-radius: 18px;
  padding: 22px 24px 22px 62px;
  color: #344054;
  font-weight: 800;
  max-width: 310px;
}
.law-badge::before { content: "◇"; position: absolute; left: 24px; top: 22px; color: var(--gold); font-size: 28px; }
.scales { position: absolute; left: 142px; top: 45px; z-index: 1; color: rgba(84,66,42,.43); font-size: 112px; filter: drop-shadow(0 20px 18px rgba(0,0,0,.08)); }
.book-stack { position: absolute; left: 88px; bottom: 168px; width: 230px; height: 110px; z-index: 1; }
.book-stack i { display: block; height: 32px; margin-bottom: 5px; border-radius: 7px; background: linear-gradient(90deg, #3a352e, #72644f); box-shadow: 0 8px 16px rgba(0,0,0,.10); }
.book-stack i:nth-child(2) { margin-left: 18px; width: 210px; background: linear-gradient(90deg, #2d3b50, #6a5a43); }
.book-stack i:nth-child(3) { margin-left: 4px; width: 245px; background: linear-gradient(90deg, #76634a, #302a25); }
.notebook { position: absolute; left: 145px; bottom: 58px; z-index: 2; width: 410px; height: 148px; transform: skewX(-10deg); border-radius: 16px 26px 16px 24px; background: linear-gradient(135deg, #fff 0 48%, #f1eadf 49% 100%); box-shadow: 0 28px 54px rgba(56,47,38,.16); border: 1px solid #e3d8c8; }
.pen { position: absolute; left: 285px; bottom: 136px; z-index: 3; width: 190px; height: 10px; border-radius: 999px; transform: rotate(-8deg); background: linear-gradient(90deg, #111827 0 68%, #d0a761 69% 77%, #111827 78%); box-shadow: 0 5px 8px rgba(0,0,0,.16); }
.section { padding: 42px 0; }
.pt0 { padding-top: 0; }
.page-title { padding: 56px 0 24px; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 22px; }
.section-head.slim { align-items: center; margin-bottom: 18px; }
.section-head.slim h2 { margin-bottom: 0; font-size: clamp(24px, 2.5vw, 32px); }
.section-head a { color: var(--navy); font-weight: 800; font-size: 14px; }
.topics-strip { background: rgba(255,255,255,.72); }
.topic-grid-six { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.topic-card, .service-card, .news-card, .panel, .admin-card, .article-box, .list-item, .article-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow-soft);
}
.compact-topic { padding: 22px 14px; text-align: center; min-height: 158px; box-shadow: none; transition: transform .18s ease, box-shadow .18s ease; }
.compact-topic:hover { transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.topic-icon, .card-icon, .guide-icon, .thumb { display: grid; place-items: center; color: var(--gold); background: #f3e8d7; }
.topic-icon { width: 54px; height: 54px; margin: 0 auto 14px; border-radius: 18px; font-weight: 900; font-size: 24px; }
.compact-topic h3 { font-size: 16px; margin: 0 0 6px; }
.compact-topic p { font-size: 12px; color: var(--muted); margin: 0; }
.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.news-list { display: grid; gap: 14px; }
.news-list-item { position: relative; display: grid; grid-template-columns: 92px 1fr 24px; gap: 16px; align-items: center; min-height: 112px; padding: 14px 16px 14px 14px; background: #fff; border: 1px solid var(--line); border-radius: 18px; transition: transform .18s ease, box-shadow .18s ease; }
.news-list-item:hover { transform: translateY(-1px); box-shadow: var(--shadow-soft); }
.thumb { width: 92px; height: 76px; border-radius: 14px; font-size: 30px; background: linear-gradient(135deg, #eef3f8, #f4e8d6); }
.news-meta { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.news-meta span + span::before { content: "•"; margin-right: 10px; color: var(--gold); }
.news-list-item h3 { margin: 0; font-size: 17px; }
.chevron { color: var(--navy); font-size: 30px; line-height: 1; }
.guide-list { display: grid; gap: 16px; }
.guide-row { display: grid; grid-template-columns: 1fr 74px; align-items: center; gap: 20px; min-height: 118px; padding: 22px 24px; border-radius: 20px; background: linear-gradient(90deg, #f8f2ea, #fff); border: 1px solid var(--line); }
.guide-row strong { display: block; font-family: "Playfair Display", Georgia, serif; color: var(--ink); font-size: 24px; line-height: 1.12; margin-bottom: 8px; }
.guide-row small { display: block; color: var(--muted); font-size: 14px; line-height: 1.45; }
.guide-icon { width: 70px; height: 70px; border-radius: 22px; font-size: 26px; }
.mini-guide-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; padding: 22px; border-radius: 24px; background: #f5f7f9; border: 1px solid #e8edf2; }
.mini-guide { display: grid; gap: 14px; min-height: 150px; padding: 22px; border-radius: 18px; background: #fff; color: var(--ink); box-shadow: 0 6px 18px rgba(31,42,55,.04); }
.mini-guide span { color: var(--navy); font-size: 28px; }
.mini-guide strong { font-size: 15px; line-height: 1.3; }
.process-panel { text-align: center; padding: 42px 36px; border-radius: 26px; background: linear-gradient(180deg, #f8f2ea, #fffaf3); border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.process-panel h2 { margin-bottom: 28px; }
.process-line { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; margin: 0 0 28px; }
.process-line::before { content: ""; position: absolute; left: 10%; right: 10%; top: 36px; border-top: 1px dashed #c9ad82; }
.process-line div { position: relative; z-index: 1; display: grid; gap: 8px; justify-items: center; }
.process-line span { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; color: var(--navy); background: #efe0ca; font-weight: 900; font-size: 22px; border: 10px solid #fff8ed; }
.process-line b { font-size: 14px; }
.process-line small { color: var(--muted); font-size: 12px; line-height: 1.35; max-width: 150px; }
.ask-band { display: grid; grid-template-columns: 1.15fr 1.65fr auto; gap: 26px; align-items: center; padding: 28px 32px; border: 1px solid #dec9aa; border-radius: 24px; background: #fff; box-shadow: var(--shadow-soft); }
.ask-band h2 { margin-bottom: 6px; font-size: 30px; }
.ask-band p { margin: 0; color: var(--muted); }
.band-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.band-features span { display: grid; grid-template-columns: 34px 1fr; column-gap: 9px; align-items: start; }
.band-features span::before { content: "◇"; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #f3e8d7; color: var(--gold); }
.band-features b { font-size: 13px; }
.band-features small { color: var(--muted); font-size: 12px; line-height: 1.35; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.topic-grid, .service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.split-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.news-card { position: relative; padding: 22px; min-height: 252px; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.news-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.card-link { position: absolute; inset: 0; z-index: 1; }
.card-icon { width: 54px; height: 54px; border-radius: 18px; font-size: 22px; margin-bottom: 14px; }
.news-card h3 { font-size: 19px; }
.news-card p, .summary { color: var(--muted); font-size: 14px; }
.card-source, .source { color: var(--muted-2); font-size: 12px; margin-top: 14px; }
.badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 10px; background: #f1e6d6; color: #75552d; font-size: 12px; font-weight: 800; }
.badge.green { background: #e9f2e6; color: var(--green); }
.badge.red { background: #f3e5df; color: var(--red); }
.panel { padding: 24px; }
.feature-panel { min-height: 230px; }
.feature-panel.dark { background: linear-gradient(135deg, #071f3f, #0b315f); color: #fff; border-color: #0b315f; }
.feature-panel.dark h2 { color: #fff; }
.feature-panel.dark p, .feature-panel.dark .lead { color: rgba(255,255,255,.75); }
.list { display: grid; gap: 14px; }
.list-item { padding: 20px; }
.filters { display: grid; grid-template-columns: 1.5fr 1fr 1fr auto; gap: 10px; margin: 0 0 22px; }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  border-radius: 14px;
  padding: 13px 14px;
  font: inherit;
  outline: none;
}
input:focus, select:focus, textarea:focus { border-color: #98b4d4; box-shadow: 0 0 0 4px rgba(43,109,173,.10); }
textarea { min-height: 160px; resize: vertical; }
label { display: block; margin: 0 0 14px; color: var(--muted); font-size: 14px; font-weight: 600; }
label input, label select, label textarea { margin-top: 7px; color: var(--ink); font-weight: 400; }
.checkbox { display: flex; align-items: flex-start; gap: 10px; }
.checkbox input { width: auto; margin-top: 4px; }
.hp { position: absolute; left: -9999px; opacity: 0; height: 0; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-layout { display: grid; grid-template-columns: 1fr 350px; gap: 22px; align-items: start; }
.article { max-width: 890px; }
.article.wide { max-width: 1080px; }
.article h1 { font-size: clamp(38px, 4.8vw, 58px); }
.article-box { padding: 30px; }
.plain-box { border-left: 4px solid var(--gold); padding: 18px 20px; background: #fbf4ea; border-radius: 16px; margin: 0 0 22px; color: #31281b; }
.plain-box.compact { font-size: 14px; margin: 10px 0; }
.comment-box { border-left: 4px solid var(--navy); padding: 18px 20px; background: #eef4fb; border-radius: 16px; margin: 22px 0; }
.steps { margin: 14px 0 0; padding-left: 22px; color: var(--muted); }
.steps li { margin-bottom: 10px; }
.steps.large { color: var(--ink); font-size: 17px; }
.mini-list, .check-list { padding-left: 20px; color: var(--muted); }
.check-list li { margin-bottom: 8px; }
.cta { margin-top: 20px; }
.dashboard-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 20px; }
.admin-layout { display: grid; grid-template-columns: 310px 1fr; gap: 20px; align-items: start; }
.admin-card { padding: 22px; overflow: auto; }
.table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table th, .table td { padding: 12px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.notice { padding: 14px 16px; border-radius: 16px; background: #eef6ea; color: var(--green); margin-bottom: 16px; }
.notice.error { background: #f7e9e5; color: var(--red); }
.notice.soft { background: #fbf4ea; color: var(--muted); }
.pagination { display: flex; gap: 10px; margin-top: 22px; }
.copy-box { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.success-box { border-color: #d1dfcb; }
.ticket-status { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.client-box { padding: 16px 18px; border-radius: 18px; border: 1px solid var(--line); background: #fbf7ef; margin: 16px 0; color: var(--muted); font-size: 14px; }
.messages { display: grid; gap: 12px; margin: 18px 0; }
.message { max-width: 88%; padding: 15px 17px; border-radius: 18px; background: #f4eadc; }
.message.lawyer { margin-left: auto; background: #eaf2f9; }
.message-meta { font-size: 12px; color: var(--muted); font-weight: 800; margin-bottom: 6px; }
.reply-form, .admin-form { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.empty-state { padding: 24px; border-radius: 20px; background: #fff; border: 1px dashed var(--line); }
.footer { margin-top: 54px; padding: 42px 0 0; color: rgba(255,255,255,.72); background: linear-gradient(135deg, #111d28, #071523); }
.footer a { color: rgba(255,255,255,.78); display: block; margin: 7px 0; font-size: 14px; }
.footer h4 { color: #fff; margin: 0 0 12px; font-size: 15px; }
.footer-grid { display: grid; grid-template-columns: 1.45fr 1fr 1.2fr 1.1fr 1.15fr; gap: 34px; align-items: start; }
.footer .brand-main { color: #fff; font-size: 26px; }
.footer .brand-main span { color: #6ba2da; }
.footer-brand p { max-width: 280px; }
.socials { display: flex; gap: 9px; margin-top: 16px; }
.socials span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); font-size: 11px; font-weight: 900; color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.10); margin-top: 34px; padding: 18px 0; font-size: 12px; }
@media (max-width: 1100px) {
  .nav { gap: 16px; }
  .topic-grid-six { grid-template-columns: repeat(3, 1fr); }
  .mini-guide-grid { grid-template-columns: repeat(3, 1fr); }
  .ask-band { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .header-inner { min-height: 68px; }
  .nav-toggle { display: inline-flex; }
  .nav { display: none; position: absolute; left: 18px; right: 18px; top: 74px; flex-direction: column; align-items: stretch; gap: 0; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
  .nav.is-open { display: flex; }
  .nav a { padding: 12px 14px; }
  .nav-cta { margin-top: 8px; }
  .hero-layout { grid-template-columns: 1fr; }
  .hero-copy { padding: 44px 0 24px; }
  .law-scene { min-height: 330px; border-left: 0; border-top: 1px solid rgba(184,145,90,.25); }
  .two-columns, .grid, .topic-grid, .service-grid, .split-grid, .admin-layout, .form-layout, .dashboard-grid { grid-template-columns: 1fr; }
  .process-line { grid-template-columns: 1fr; }
  .process-line::before { display: none; }
  .band-features { grid-template-columns: 1fr; }
  .filters, .form-grid, .copy-box { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
}
@media (max-width: 640px) {
  .wrap { width: min(100% - 24px, 1180px); }
  .brand-main { font-size: 25px; }
  .brand-sub { display: none; }
  h1 { font-size: 42px; }
  .hero-features, .topic-grid-six, .mini-guide-grid { grid-template-columns: 1fr; }
  .news-list-item { grid-template-columns: 70px 1fr; }
  .thumb { width: 70px; height: 64px; }
  .chevron { display: none; }
  .guide-row { grid-template-columns: 1fr; }
  .guide-icon { width: 54px; height: 54px; }
  .law-badge { right: 18px; top: 56px; max-width: 260px; padding: 18px 18px 18px 54px; }
  .book-stack { left: 44px; bottom: 130px; transform: scale(.8); transform-origin: left bottom; }
  .notebook { left: 74px; width: 320px; bottom: 42px; }
  .pen { left: 190px; bottom: 120px; }
  .footer-grid { grid-template-columns: 1fr; }
  .message { max-width: 100%; }
}

/* === design3 closer visual pass === */
.header-inner { gap: 18px; }
.brand, .brand-main { white-space: nowrap; }
.brand-main { font-size: 28px; line-height: 1; letter-spacing: -0.03em; }
.brand-sub { letter-spacing: .14em; }
.nav { gap: 18px; font-size: 15px; }
.nav a { white-space: nowrap; }
.nav-cta { min-width: 156px; }

.hero-calm {
  background: linear-gradient(90deg, #fbfaf7 0%, #fbfaf7 44%, #f4efe7 100%);
}
.hero-layout { min-height: 470px; grid-template-columns: minmax(0,.92fr) minmax(430px,1.08fr); gap: 28px; }
.hero-copy { padding: 62px 0 48px; }
.hero-copy .lead { max-width: 530px; font-size: 18px; }
.hero-features { max-width: 620px; }
.hero-features span::before { content: ""; background: #f0e3d0; box-shadow: inset 0 0 0 1px rgba(184,145,90,.18); }
.hero-features span:nth-child(1)::before { background: #f0e3d0 url('/static/images/thumb-court.png') center/cover no-repeat; }
.hero-features span:nth-child(2)::before { background: #f0e3d0 url('/static/images/thumb-office.png') center/cover no-repeat; }
.hero-features span:nth-child(3)::before { background: #f0e3d0 url('/static/images/thumb-living.png') center/cover no-repeat; }
.hero-features small { color: #6b7280; }
.law-scene {
  min-height: 470px;
  border-left: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.08)),
    url('/static/images/hero-scene.png') center center / cover no-repeat;
}
.law-scene::before { display: none; }
.scales, .book-stack, .notebook, .pen { display: none; }
.law-badge {
  right: 34px; top: 92px; padding: 20px 24px 20px 64px;
  background: rgba(255,255,255,.96);
  border-color: rgba(223,215,204,.95);
  box-shadow: 0 18px 40px rgba(28,38,50,.12);
  border-radius: 20px;
  max-width: 285px;
}
.law-badge::before {
  content: "";
  width: 26px; height: 26px; left: 22px; top: 22px;
  background: radial-gradient(circle at 50% 50%, rgba(184,145,90,.16) 0 62%, transparent 63%),
              linear-gradient(135deg, #b8915a, #dec69c);
  -webkit-mask: radial-gradient(circle at 50% 50%, transparent 0 36%, #000 37%);
  mask: radial-gradient(circle at 50% 50%, transparent 0 36%, #000 37%);
  border-radius: 50%;
}

.topic-card, .guide-row, .news-list-item, .mini-guide, .ask-band, .process-panel {
  border-radius: 22px;
}
.news-list-item { min-height: 120px; padding: 14px 18px 14px 14px; }
.thumb {
  width: 104px; height: 88px; border-radius: 16px;
  background-color: #efe5d7;
  background-size: cover; background-position: center;
  color: transparent; font-size: 0;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.4);
}
.thumb-grazhdanskoe-pravo, .thumb-sudebnaya-praktika, .thumb-administrativnoe-pravo, .thumb-zakonodatelstvo, .thumb-biznes-i-dogovory {
  background-image: url('/static/images/thumb-court.png');
}
.thumb-trudovoe-pravo, .thumb-dolgi-i-pristavy, .thumb-nalogi {
  background-image: url('/static/images/thumb-office.png');
}
.thumb-zhile-i-nedvizhimost, .thumb-semeynoe-pravo, .thumb-nasledstvo, .thumb-zashchita-prav-potrebitelei {
  background-image: url('/static/images/thumb-living.png');
}
.news-list-item h3 { font-size: 18px; line-height: 1.3; }
.guide-row strong { font-size: 22px; }
.process-panel { background: linear-gradient(180deg, #f8f4ee 0%, #fff 100%); }
.ask-band { padding: 30px 34px; }
.footer .brand-main, .footer .brand-main span { white-space: nowrap; }

@media (max-width: 1100px) {
  .brand-main { font-size: 26px; }
  .nav { gap: 14px; font-size: 14px; }
  .hero-layout { grid-template-columns: minmax(0,1fr) minmax(360px, .98fr); }
}
@media (max-width: 900px) {
  .brand-main { font-size: 25px; }
  .hero-layout { grid-template-columns: 1fr; }
  .law-scene { min-height: 360px; }
}
@media (max-width: 640px) {
  .brand-main { font-size: 23px; }
  .thumb { width: 84px; height: 68px; }
  .news-list-item { grid-template-columns: 84px 1fr; }
}

/* === final desktop/mobile layout corrections after screenshot review === */
html, body { max-width: 100%; overflow-x: hidden; }
.site-header {
  height: auto;
  min-height: 78px;
}
.header-inner {
  min-height: 78px;
  display: grid;
  grid-template-columns: 260px 1fr auto;
  column-gap: 28px;
  align-items: center;
}
.brand {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  width: max-content;
  max-width: 260px;
  overflow: visible;
  white-space: nowrap;
}
.brand-main {
  display: inline-block;
  white-space: nowrap !important;
  word-break: keep-all;
  overflow-wrap: normal;
  font-size: 28px;
  line-height: .95;
  letter-spacing: -0.035em;
}
.brand-main span { display: inline; white-space: nowrap; }
.brand-sub {
  display: block;
  white-space: nowrap;
  font-size: 10px;
  letter-spacing: .16em;
  margin-top: 6px;
}
.nav {
  justify-content: flex-end;
  justify-self: end;
  gap: 22px;
  min-width: 0;
}
.nav a { white-space: nowrap; }
.nav-cta { padding-left: 20px; padding-right: 20px; }

.hero-calm { border-bottom-color: #e6dfd4; }
.hero-layout {
  min-height: 520px;
  grid-template-columns: minmax(450px, .9fr) minmax(520px, 1.1fr);
  gap: 42px;
}
.hero-copy { padding: 66px 0 58px; }
.hero-copy h1 { max-width: 560px; }
.hero-copy .lead { max-width: 610px; line-height: 1.55; }
.law-scene {
  min-height: 420px;
  align-self: center;
  border-radius: 30px;
  box-shadow: 0 32px 90px rgba(55,43,31,.13);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.08)),
    url('/static/images/hero-scene.png') center center / cover no-repeat !important;
}
.law-badge { top: 118px; right: 34px; }

.section { padding: 52px 0; }
.topics-strip { background: #fff; }
.topic-grid-six { gap: 18px; }
.compact-topic { min-height: 178px; padding: 24px 16px; }
.compact-topic h3 { line-height: 1.25; }
.two-columns { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 44px; }
.news-list-item {
  grid-template-columns: 104px minmax(0,1fr) 22px;
  min-height: 124px;
  align-items: center;
}
.news-list-item h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 18px;
}
.news-list-item p,
.news-card p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card h3 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.guide-row { min-height: 116px; }
.guide-row strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.process-panel { max-width: 1180px; margin-left: auto; margin-right: auto; }
.footer .brand { max-width: none; }
.footer .brand-main { font-size: 25px; color: #fff; }
.footer .brand-main span { color: #6ba2da; }

@media (max-width: 1240px) {
  .wrap { width: min(1120px, calc(100% - 40px)); }
  .header-inner { grid-template-columns: 230px 1fr auto; column-gap: 20px; }
  .brand-main { font-size: 25px; }
  .brand-sub { font-size: 9px; letter-spacing: .13em; }
  .nav { gap: 16px; font-size: 13px; }
  .nav-cta { min-width: 142px; padding-left: 16px; padding-right: 16px; }
  .hero-layout { grid-template-columns: minmax(390px, .9fr) minmax(440px, 1.1fr); gap: 30px; }
  h1 { font-size: clamp(46px, 5.4vw, 66px); }
}
@media (max-width: 980px) {
  .header-inner { display: flex; justify-content: space-between; min-height: 70px; }
  .brand { max-width: 220px; width: auto; }
  .brand-main { font-size: 24px; }
  .nav-toggle { display: inline-flex; flex: 0 0 44px; }
  .nav { display: none; position: absolute; left: 18px; right: 18px; top: 78px; flex-direction: column; align-items: stretch; gap: 0; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
  .nav.is-open { display: flex; }
  .nav a { padding: 12px 14px; }
  .nav-cta { margin-top: 8px; min-width: 0; }
  .hero-layout { grid-template-columns: 1fr; min-height: 0; gap: 24px; }
  .hero-copy { padding: 44px 0 8px; }
  .law-scene { min-height: 360px; width: 100%; border-radius: 24px; margin-bottom: 36px; }
  .two-columns { grid-template-columns: 1fr; gap: 32px; }
  .topic-grid-six { grid-template-columns: repeat(2, 1fr); }
  .mini-guide-grid { grid-template-columns: repeat(2, 1fr); }
  .process-line { grid-template-columns: 1fr; }
  .process-line::before { display: none; }
  .ask-band { grid-template-columns: 1fr; }
  .band-features { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .wrap { width: min(100% - 24px, 1180px); }
  .site-header { min-height: 66px; }
  .header-inner { min-height: 66px; }
  .brand-main { font-size: 22px; }
  .brand-sub { display: none; }
  h1 { font-size: 42px; line-height: 1.02; }
  h2 { font-size: 28px; }
  .hero-copy { padding-top: 34px; }
  .hero-features { grid-template-columns: 1fr; gap: 12px; }
  .actions { align-items: stretch; }
  .actions .btn { width: 100%; }
  .law-scene { min-height: 250px; border-radius: 20px; }
  .law-badge { display: none; }
  .topic-grid-six, .mini-guide-grid { grid-template-columns: 1fr; }
  .compact-topic { min-height: 0; }
  .section-head { align-items: flex-start; flex-direction: column; }
  .news-list-item { grid-template-columns: 84px minmax(0,1fr); padding: 12px; }
  .thumb { width: 84px; height: 70px; }
  .chevron { display: none; }
  .guide-row { grid-template-columns: 1fr 54px; padding: 18px; }
  .guide-icon { width: 54px; height: 54px; border-radius: 18px; }
  .process-panel { padding: 28px 18px; }
  .process-line { gap: 16px; }
  .ask-band { padding: 22px 18px; }
  .footer-grid { grid-template-columns: 1fr; }
}

/* === screenshot feedback fixes v2 === */
.site-header { box-shadow: 0 6px 20px rgba(15,23,42,.035); }
.header-inner { min-height: 76px; }
.brand { min-width: 235px; flex: 0 0 235px; overflow: visible; }
.brand-main {
  display: block;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  font-size: 29px;
  line-height: .95;
  letter-spacing: -0.045em;
}
.brand-sub { margin-top: 9px; font-size: 10px; line-height: 1; white-space: nowrap; }
.nav { margin-left: auto; }
.nav a { white-space: nowrap; }
.law-badge { display: none !important; }
.law-scene { background-position: center center; border-radius: 0; }
.hero-layout { min-height: 510px; }
.hero-copy { padding-top: 70px; padding-bottom: 58px; }
.hero-copy h1 { max-width: 560px; }

@media (max-width: 1180px) {
  .brand { min-width: 218px; flex-basis: 218px; }
  .brand-main { font-size: 27px; }
  .nav { gap: 12px; font-size: 13px; }
  .nav-cta { min-width: 140px; padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 900px) {
  .brand { min-width: auto; flex-basis: auto; }
  .header-inner { min-height: 70px; }
  .brand-main { font-size: 24px; }
  .brand-sub { display: none; }
  .hero-copy { padding-top: 48px; padding-bottom: 28px; }
  .hero-layout { min-height: auto; }
  .law-scene { min-height: 360px; border-radius: 28px; margin-bottom: 24px; }
}
@media (max-width: 640px) {
  .brand-main { font-size: 22px; }
  .nav { top: 68px; }
  .hero-calm { background: linear-gradient(180deg, #fff 0%, #faf5ee 100%); }
  .law-scene { min-height: 280px; }
  h1 { font-size: clamp(38px, 12vw, 48px); }
}

/* === final desktop/mobile corrections after screenshots === */
.site-header { min-height: 82px; }
.header-inner { min-height: 82px; align-items: center; }
.brand { 
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 0 0 245px;
  width: 245px;
  min-width: 245px;
  max-width: 245px;
  white-space: nowrap;
  overflow: visible;
}
.brand-main {
  display: block;
  width: max-content;
  max-width: none;
  white-space: nowrap !important;
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
  font-size: 30px;
  line-height: .98;
  letter-spacing: -0.045em;
}
.brand-sub {
  display: block;
  width: max-content;
  white-space: nowrap !important;
  word-break: keep-all;
  overflow-wrap: normal;
  font-size: 10px;
  letter-spacing: .22em;
  margin-top: 6px;
}
.nav { margin-left: auto; }
.nav a { line-height: 1; }
.nav-cta { padding-inline: 20px; }

/* Make the home news column compact even with long imported official titles. */
.news-list-item h3,
.news-list-item h3 a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-list-item { min-height: 118px; }
.news-list-item .news-meta { white-space: nowrap; }
.news-card h3 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card p {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Less emoji-like, calmer legal icon presentation. */
.topic-icon, .guide-icon, .card-icon, .thumb {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--gold);
}
.compact-topic { min-height: 174px; padding: 24px 16px; }
.compact-topic h3 { line-height: 1.25; }
.compact-topic p { max-width: 150px; margin-inline: auto; }

@media (max-width: 1180px) {
  .brand { flex-basis: 225px; width: 225px; min-width: 225px; max-width: 225px; }
  .brand-main { font-size: 27px; }
  .brand-sub { font-size: 9px; letter-spacing: .18em; }
  .nav { gap: 13px; font-size: 13px; }
  .nav-cta { min-width: 142px; padding-inline: 16px; }
}
@media (max-width: 900px) {
  .site-header { min-height: 72px; }
  .header-inner { min-height: 72px; }
  .brand { flex: 0 1 auto; width: auto; min-width: 0; max-width: calc(100% - 64px); }
  .brand-main { font-size: 25px; max-width: calc(100vw - 100px); overflow: hidden; text-overflow: ellipsis; }
  .brand-sub { font-size: 8px; letter-spacing: .13em; max-width: calc(100vw - 100px); overflow: hidden; text-overflow: ellipsis; }
  .nav { margin-left: 0; }
  .hero-layout { min-height: auto; }
  .hero-copy { padding-top: 42px; }
  .law-scene { border-radius: 26px; margin-bottom: 26px; }
}
@media (max-width: 640px) {
  .brand-main { font-size: 22px; letter-spacing: -0.035em; }
  .brand-sub { display: none; }
  .hero-copy .lead { font-size: 16px; }
  .actions { gap: 10px; }
  .actions .btn { width: 100%; }
  .law-scene { min-height: 300px; }
  .law-badge { right: 16px; top: 34px; max-width: 230px; font-size: 13px; }
}

/* === screenshot fixes: header, hero image, long news text === */
.site-header { min-height: 76px; }
.header-inner { min-height: 76px; }
.brand { flex: 0 0 auto; min-width: 248px; max-width: 248px; overflow: visible; }
.brand-main, .footer .brand-main {
  display: inline-block;
  width: auto;
  max-width: none;
  white-space: nowrap !important;
  word-break: keep-all;
  overflow-wrap: normal;
  line-height: 1;
}
.brand-main { font-size: 30px; }
.brand-main span { display: inline; }
.brand-sub { white-space: nowrap; font-size: 10px; }
.nav { flex: 1 1 auto; justify-content: flex-end; min-width: 0; }
.nav a { white-space: nowrap; }

.law-scene .law-badge { display: none; }
.law-scene {
  background-color: #f3ede5;
  background-image: url('/static/images/hero-scene.png');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.hero-calm { background: linear-gradient(90deg, #fff 0%, #fff 44%, #f3ede5 100%); }
.hero-layout { align-items: stretch; }
.hero-copy { align-self: center; }

.news-list-item h3 a,
.news-card h3,
.guide-row strong {
  overflow-wrap: anywhere;
}
.news-list-item h3 a,
.news-card h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-list-item h3 a { -webkit-line-clamp: 2; }
.news-card h3 { -webkit-line-clamp: 3; }
.news-list-item p, .news-card p { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 3; }

@media (max-width: 1180px) {
  .brand { min-width: 230px; max-width: 230px; }
  .brand-main { font-size: 27px; }
  .nav { gap: 12px; font-size: 13px; }
  .nav-cta { min-width: 142px; padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 980px) {
  .brand { min-width: 218px; max-width: 218px; }
  .brand-main { font-size: 25px; }
  .brand-sub { font-size: 9px; letter-spacing: .11em; }
}
@media (max-width: 900px) {
  .brand { min-width: 0; max-width: none; }
  .hero-layout { min-height: auto; }
  .law-scene { min-height: 330px; border-radius: 24px; margin-bottom: 24px; }
  .hero-calm { background: linear-gradient(180deg, #fff 0%, #fbf7ef 100%); }
}
@media (max-width: 640px) {
  .site-header, .header-inner { min-height: 66px; }
  .brand-main { font-size: 22px; }
  .brand-sub { display: none; }
  .law-scene { min-height: 245px; }
  .hero-copy .lead { font-size: 16px; }
}

/* === design3 exactness and screenshot fixes === */
.wrap { width: min(1240px, calc(100% - 40px)); }
.site-header { background: rgba(255,255,255,.94); }
.header-inner { min-height: 82px; }
.brand { flex: 0 0 245px; width: 245px; min-width: 245px; max-width: 245px; overflow: visible; }
.brand-main {
  display: block;
  width: max-content;
  max-width: none;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.045em;
}
.brand-sub { white-space: nowrap; font-size: 10px; letter-spacing: .20em; }
.nav { margin-left: auto; }

.hero-calm { background: linear-gradient(90deg, #fbfaf7 0%, #fbfaf7 46%, #f2eadf 100%); }
.hero-layout { min-height: 520px; grid-template-columns: minmax(0,.90fr) minmax(520px,1.1fr); gap: 54px; }
.hero-copy { padding: 76px 0 66px; }
h1 { font-size: clamp(54px, 5.2vw, 78px); line-height: .98; }
.hero-copy .lead { max-width: 590px; font-size: 18px; line-height: 1.7; }
.law-scene {
  align-self: center;
  min-height: 410px;
  border-radius: 32px;
  border: 0;
  box-shadow: 0 30px 80px rgba(80,65,44,.10);
  background: url('/static/images/hero-scene.png') center center / cover no-repeat;
}
.law-badge { display: none; }

.topic-grid-six { gap: 16px; }
.compact-topic { min-height: 152px; padding: 22px 14px 20px; border-radius: 18px; }
.compact-topic h3 { font-size: 16px; line-height: 1.24; }
.compact-topic p { font-size: 12px; line-height: 1.45; }
.topic-icon { width: 48px; height: 48px; border-radius: 16px; margin-bottom: 13px; }
.two-columns { gap: 50px; }
.news-list-item {
  grid-template-columns: 106px 1fr 24px;
  min-height: 118px;
  height: 118px;
  overflow: hidden;
}
.news-list-item h3 a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-meta { font-size: 11px; }
.guide-row { min-height: 112px; padding: 22px 24px; }
.guide-row strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.process-line::before { top: 34px; }
.footer { margin-top: 38px; }
.footer .brand { width: auto; min-width: 0; max-width: none; flex: 0 1 auto; }
.footer .brand-main { font-size: 26px; color: #fff; }

@media (max-width: 1180px) {
  .brand { flex-basis: 220px; width: 220px; min-width: 220px; }
  .brand-main { font-size: 27px; }
  .nav { gap: 13px; font-size: 13px; }
  .nav-cta { min-width: auto; padding-left: 16px; padding-right: 16px; }
  .hero-layout { grid-template-columns: minmax(0,1fr) minmax(430px, .95fr); gap: 32px; }
}
@media (max-width: 980px) {
  .wrap { width: min(100% - 32px, 1240px); }
  .brand { flex-basis: auto; width: auto; min-width: 0; max-width: calc(100% - 64px); }
  .brand-main { font-size: 27px; }
  .hero-layout { min-height: 0; grid-template-columns: 1fr; gap: 8px; }
  .hero-copy { padding: 48px 0 18px; }
  .law-scene { min-height: 360px; margin: 0 0 38px; }
  .news-list-item { height: auto; min-height: 116px; }
}
@media (max-width: 640px) {
  .wrap { width: min(100% - 24px, 1240px); }
  .header-inner { min-height: 66px; }
  .brand-main { font-size: 23px; letter-spacing: -0.035em; }
  .brand-sub { display: none; }
  h1 { font-size: 44px; }
  .hero-copy { padding-top: 36px; }
  .hero-copy .lead { font-size: 16px; line-height: 1.6; }
  .actions { align-items: stretch; }
  .actions .btn { width: 100%; }
  .law-scene { min-height: 260px; border-radius: 24px; }
  .news-list-item { grid-template-columns: 84px 1fr; min-height: 104px; }
  .thumb { width: 84px; height: 72px; }
}

/* === design3 final alignment after real browser screenshots === */
.wrap { width: min(1180px, calc(100% - 48px)); }
.site-header { background: rgba(255,255,255,.94); }
.header-inner {
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
}
.brand {
  flex: 0 0 278px;
  width: 278px;
  max-width: 278px;
  min-width: 278px;
  display: flex;
  flex-direction: column;
  overflow: visible;
  white-space: nowrap;
}
.brand-main,
.brand-main span {
  display: inline !important;
  white-space: nowrap !important;
  word-break: keep-all;
  overflow-wrap: normal;
}
.brand-main {
  width: max-content;
  max-width: none;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px;
  line-height: 1.02;
  letter-spacing: -0.035em;
  font-weight: 700;
}
.brand-main span { color: #2b6dad; }
.brand-sub {
  max-width: none;
  white-space: nowrap;
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: .16em;
}
.nav {
  flex: 1 1 auto;
  justify-content: flex-end;
  min-width: 0;
  gap: 24px;
  font-size: 14px;
}
.nav a { white-space: nowrap; }
.nav-cta { flex: 0 0 auto; min-width: 154px; min-height: 48px; }

.hero-calm {
  background:
    linear-gradient(90deg, #fff 0%, #fff 47%, rgba(244,239,232,.94) 100%),
    radial-gradient(circle at 86% 18%, rgba(216,194,162,.28), transparent 36%);
}
.hero-layout {
  min-height: 560px;
  grid-template-columns: minmax(0, .92fr) minmax(460px, 1fr);
  align-items: center;
  gap: 48px;
}
.hero-copy { padding: 72px 0 58px; }
.hero-copy .lead { max-width: 570px; font-size: 18px; line-height: 1.65; }
.hero-copy h1 { max-width: 620px; }
.law-scene {
  align-self: center;
  min-height: 392px;
  border-radius: 30px;
  border: 1px solid rgba(230,225,216,.85);
  box-shadow: 0 34px 90px rgba(31,42,55,.10);
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.06)),
    url('/static/images/hero-scene.png') center center / cover no-repeat,
    linear-gradient(135deg, #faf7f0, #e9ddcc);
}
.law-scene::before,
.law-badge,
.scales,
.book-stack,
.notebook,
.pen { display: none !important; }
.hero-features { max-width: 610px; gap: 20px; }
.hero-features span::before {
  content: "✦" !important;
  background: #fff7eb !important;
  border: 1px solid #ead8bd;
  color: var(--gold) !important;
  font-size: 16px;
  box-shadow: none;
}
.hero-features span:nth-child(2)::before { content: "§" !important; }
.hero-features span:nth-child(3)::before { content: "✓" !important; }

.topic-grid-six { gap: 18px; }
.compact-topic { min-height: 166px; padding: 24px 15px; }
.two-columns { gap: 52px; }
.news-list { gap: 16px; }
.news-list-item {
  grid-template-columns: 106px minmax(0,1fr) 24px;
  min-height: 132px;
  padding: 14px 18px 14px 14px;
}
.news-list-copy { min-width: 0; }
.news-list-item h3 {
  font-size: 18px;
  line-height: 1.28;
  margin-bottom: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.list-summary {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card h3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card p,
.summary {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.guide-row { min-height: 122px; }
.process-panel { margin-top: 6px; }
.footer .brand,
.footer .brand-footer {
  width: auto;
  max-width: none;
  min-width: 0;
  flex-basis: auto;
}
.footer .brand-main,
.footer .brand-main span { color: #fff; }
.footer .brand-main span { color: #6ba2da; }

@media (max-width: 1180px) {
  .brand { flex-basis: 238px; width: 238px; min-width: 238px; max-width: 238px; }
  .brand-main { font-size: 27px; }
  .nav { gap: 16px; font-size: 13px; }
}
@media (max-width: 980px) {
  .header-inner { min-height: 74px; }
  .brand { flex: 0 0 auto; width: auto; min-width: 0; max-width: none; }
  .brand-main { font-size: 25px; }
  .brand-sub { display: none; }
  .hero-layout { grid-template-columns: 1fr; gap: 26px; min-height: auto; }
  .hero-copy { padding: 48px 0 0; }
  .law-scene { min-height: 340px; width: 100%; }
  .two-columns { gap: 34px; }
}
@media (max-width: 640px) {
  .wrap { width: min(100% - 24px, 1180px); }
  .brand-main { font-size: 22px; }
  .hero-copy { padding-top: 34px; }
  .hero-copy .lead { font-size: 16px; }
  .law-scene { min-height: 255px; border-radius: 22px; }
  .news-list-item { grid-template-columns: 84px 1fr; min-height: 118px; }
  .thumb { width: 84px; height: 72px; }
  .list-summary { display: none; }
  .actions .btn { width: 100%; }
}

/* === polished fixes after real desktop screenshots === */
.wrap { width: min(1260px, calc(100% - 48px)); }
.site-header { background: rgba(255,255,255,.96); }
.header-inner { min-height: 78px; }
.brand { flex: 0 0 auto; overflow: visible; }
.brand-main {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline;
  gap: 0;
  white-space: nowrap !important;
  word-break: keep-all;
  overflow-wrap: normal;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.045em;
}
.brand-main span { white-space: nowrap !important; }
.brand-word-main { color: #18202b !important; }
.brand-word-accent { color: #2b6dad !important; }
.brand-sub { margin-top: 6px; font-size: 10px; line-height: 1; white-space: nowrap; }
.nav { margin-left: auto; }
.nav-cta::before, .btn[href="/ask"]::before, button[type="submit"]::before { content: ""; width: 17px; height: 17px; border: 2px solid currentColor; border-radius: 7px; box-shadow: inset 0 -5px 0 rgba(255,255,255,.12); }

.hero-calm { padding: 56px 0 54px; background: linear-gradient(90deg, #ffffff 0%, #ffffff 43%, #f4eee5 100%); }
.hero-layout { min-height: 0; grid-template-columns: minmax(0,.9fr) minmax(500px,1.05fr); align-items: center; gap: 58px; }
.hero-copy { padding: 0; }
.hero-copy h1 { max-width: 620px; font-size: clamp(50px, 4.9vw, 74px); line-height: .98; }
.hero-copy .lead { max-width: 590px; }
.law-scene {
  align-self: center;
  min-height: 395px;
  height: 395px;
  border-radius: 30px;
  border: 1px solid rgba(230,225,216,.86);
  box-shadow: 0 34px 80px rgba(40,36,30,.13);
  overflow: hidden;
  background: url('/static/images/hero-scene.png') center center / cover no-repeat;
}
.law-badge { top: 118px; right: 38px; font-size: 14px; line-height: 1.45; }
.hero-features { grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 20px; margin-top: 30px; }
.hero-features span { grid-template-columns: 36px 1fr; }
.hero-features span::before { width: 36px; height: 36px; border-radius: 12px; }

.compact-topic { min-height: 150px; padding: 22px 16px; }
.topic-icon, .guide-icon, .card-icon { font-family: Georgia, "Times New Roman", serif; font-size: 28px; color: #b8915a; }
.topic-icon { background: #f6eadb; }
.compact-topic h3 { color: var(--navy); }
.compact-topic p { line-height: 1.45; }
.news-list-item { grid-template-columns: 104px 1fr 24px; }
.news-list-item h3 a { color: var(--navy); }
.news-card h3 { line-height: 1.28; }

@media (max-width: 1180px) {
  .wrap { width: min(100% - 36px, 1180px); }
  .brand-main { font-size: 27px; }
  .nav { gap: 14px; font-size: 14px; }
  .nav-cta { min-width: auto; padding-inline: 16px; }
  .hero-layout { grid-template-columns: minmax(0,1fr) minmax(420px,.95fr); gap: 34px; }
}
@media (max-width: 1040px) {
  .nav-toggle { display: inline-flex; }
  .nav { display: none; position: absolute; left: 18px; right: 18px; top: 74px; flex-direction: column; align-items: stretch; gap: 0; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
  .nav.is-open { display: flex; }
  .nav a { padding: 12px 14px; }
  .nav-cta { margin-top: 8px; }
}
@media (max-width: 900px) {
  .hero-calm { padding: 38px 0; }
  .hero-layout { grid-template-columns: 1fr; }
  .hero-copy h1 { font-size: clamp(40px, 10vw, 58px); max-width: 760px; }
  .law-scene { min-height: 330px; height: 330px; }
  .two-columns { gap: 28px; }
  .topic-grid-six { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .wrap { width: min(100% - 24px, 1180px); }
  .header-inner { min-height: 66px; }
  .brand-main { font-size: 22px; letter-spacing: -0.035em; }
  .brand-sub { display: none; }
  .hero-calm { padding: 30px 0 34px; }
  .hero-copy h1 { font-size: 38px; }
  .hero-copy .lead { font-size: 16px; }
  .actions { align-items: stretch; }
  .actions .btn { width: 100%; }
  .hero-features { grid-template-columns: 1fr; gap: 12px; }
  .law-scene { min-height: 260px; height: 260px; border-radius: 22px; }
  .law-badge { top: 24px; right: 16px; left: 16px; max-width: none; }
  .topic-grid-six { grid-template-columns: 1fr; }
  .news-list-item { grid-template-columns: 82px 1fr; }
  .thumb { width: 82px; height: 66px; }
  .process-panel { padding: 30px 18px; }
  .ask-band { padding: 24px 18px; }
}

/* === mobile usability pass after phone screenshots === */
.hero-features b,
.band-features b { grid-column: 2; grid-row: 1; }
.hero-features small,
.band-features small { grid-column: 2; grid-row: 2; }
.hero-features span,
.band-features span { min-width: 0; }
.hero-features small,
.band-features small,
.compact-topic p,
.list-summary,
.guide-row small { overflow-wrap: anywhere; }

.thumb {
  background-size: cover !important;
  background-position: center !important;
}
.thumb::before,
.thumb::after { content: none !important; }

@media (max-width: 640px) {
  body { background: linear-gradient(180deg, #fff 0, #fbfaf7 100%); }
  .wrap { width: min(100% - 28px, 1180px); }

  .site-header { position: sticky; top: 0; }
  .header-inner { min-height: 64px; }
  .brand-main { font-size: 25px !important; letter-spacing: -0.04em; }
  .nav-toggle { width: 48px; min-height: 48px; border-radius: 16px; font-size: 22px; }
  .nav { top: 70px; }

  .hero-calm { padding: 28px 0 34px; background: linear-gradient(180deg, #fff 0%, #fbf7f1 100%); }
  .hero-layout { gap: 22px; }
  .hero-copy { padding: 0; }
  .eyebrow { font-size: 12px; letter-spacing: .16em; margin-bottom: 14px; }
  .hero-copy h1,
  h1 {
    font-size: clamp(42px, 14vw, 58px) !important;
    line-height: .98;
    letter-spacing: -0.055em;
  }
  .hero-copy .lead {
    font-size: 18px;
    line-height: 1.55;
    max-width: 100%;
  }
  .actions { gap: 12px; margin-top: 24px; }
  .actions .btn,
  .actions .btn.secondary {
    width: 100%;
    min-height: 56px;
    border-radius: 16px;
    font-size: 16px;
  }
  .nav-cta::before,
  .btn[href="/ask"]::before,
  button[type="submit"]::before {
    width: 16px;
    height: 16px;
    border-radius: 6px;
    flex: 0 0 16px;
  }

  .hero-features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 22px;
  }
  .hero-features span {
    display: grid;
    grid-template-columns: 48px 1fr;
    grid-template-rows: auto auto;
    column-gap: 12px;
    align-items: center;
    padding: 10px 0;
  }
  .hero-features span::before {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: #f6eadb !important;
  }
  .hero-features span:nth-child(1)::before { content: "✦"; color: #b8915a; font-size: 21px; }
  .hero-features span:nth-child(2)::before { content: "§"; color: #b8915a; font-size: 21px; }
  .hero-features span:nth-child(3)::before { content: "✓"; color: #b8915a; font-size: 21px; }
  .hero-features b { font-size: 16px; line-height: 1.2; }
  .hero-features small { font-size: 14px; line-height: 1.35; max-width: 220px; }

  .law-scene {
    height: auto;
    min-height: 250px;
    border-radius: 24px;
    margin: 8px 0 0;
    background-position: center center !important;
    box-shadow: 0 24px 60px rgba(40,36,30,.10);
  }
  .law-badge { display: none !important; }

  .section { padding: 34px 0; }
  .section-head,
  .section-head.slim {
    align-items: center;
    text-align: center;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
  }
  .section-head h2,
  .section-head.slim h2,
  h2 {
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: 1.08;
    letter-spacing: -0.045em;
  }
  .section-head a { font-size: 16px; }

  .topic-grid-six {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .compact-topic {
    display: grid;
    grid-template-columns: 58px 1fr;
    grid-template-rows: auto auto;
    column-gap: 16px;
    text-align: left;
    align-items: center;
    min-height: 0 !important;
    padding: 18px 20px;
    border-radius: 22px;
  }
  .compact-topic .topic-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 54px;
    height: 54px;
    margin: 0;
    border-radius: 18px;
    font-size: 24px;
  }
  .compact-topic h3 {
    grid-column: 2;
    margin: 0 0 2px;
    font-size: 18px;
    line-height: 1.2;
  }
  .compact-topic p {
    grid-column: 2;
    margin: 0;
    font-size: 13px;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .two-columns { gap: 32px; }
  .news-list { gap: 12px; }
  .news-list-item {
    grid-template-columns: 82px minmax(0,1fr);
    gap: 12px;
    min-height: 104px;
    padding: 12px;
    border-radius: 22px;
  }
  .thumb {
    width: 82px;
    height: 72px;
    border-radius: 16px;
  }
  .news-meta { font-size: 12px; gap: 7px; margin-bottom: 4px; }
  .news-list-item h3 {
    font-size: 18px;
    line-height: 1.22;
    -webkit-line-clamp: 3;
  }
  .list-summary { display: none !important; }
  .chevron { display: none !important; }

  .guide-list { gap: 12px; }
  .guide-row {
    grid-template-columns: minmax(0,1fr) 54px;
    gap: 12px;
    min-height: 0;
    padding: 20px;
    border-radius: 22px;
  }
  .guide-row strong {
    font-size: 23px;
    line-height: 1.08;
    -webkit-line-clamp: 2;
  }
  .guide-row small {
    font-size: 15px;
    line-height: 1.4;
    -webkit-line-clamp: 3;
  }
  .guide-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    font-size: 22px;
  }

  .mini-guide-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
    border-radius: 24px;
  }
  .mini-guide {
    min-height: 0;
    grid-template-columns: 42px 1fr;
    align-items: center;
    padding: 16px;
    border-radius: 18px;
  }
  .mini-guide span { font-size: 22px; }
  .mini-guide strong { font-size: 16px; }

  .process-panel {
    padding: 28px 18px 24px;
    border-radius: 24px;
    text-align: left;
  }
  .process-panel h2 { text-align: center; margin-bottom: 20px; }
  .process-line {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 20px;
  }
  .process-line div {
    display: grid;
    grid-template-columns: 48px 1fr;
    grid-template-rows: auto auto;
    justify-items: start;
    align-items: center;
    column-gap: 14px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,255,255,.62);
  }
  .process-line span {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 46px;
    height: 46px;
    border: 6px solid #fff8ed;
    font-size: 18px;
  }
  .process-line b { grid-column: 2; font-size: 15px; line-height: 1.2; }
  .process-line small { grid-column: 2; font-size: 13px; line-height: 1.32; max-width: none; }
  .process-panel .btn { width: 100%; min-height: 54px; border-radius: 16px; }

  .ask-band {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px;
    border-radius: 24px;
    text-align: left;
  }
  .ask-band h2 { font-size: 30px !important; }
  .band-features {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .band-features span {
    display: grid;
    grid-template-columns: 42px 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center;
  }
  .band-features span::before {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 38px;
    height: 38px;
  }
  .band-features small { font-size: 13px; line-height: 1.3; }
  .ask-band .btn { width: 100%; min-height: 54px; }

  .footer { margin-top: 34px; padding-top: 34px; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .footer .brand-main { font-size: 30px !important; }
  .footer p, .footer a { font-size: 15px; line-height: 1.55; }
  .footer-bottom { gap: 12px; padding-bottom: 24px; }
}

@media (max-width: 380px) {
  .wrap { width: min(100% - 20px, 1180px); }
  .brand-main { font-size: 23px !important; }
  .hero-copy h1, h1 { font-size: 40px !important; }
  .section-head h2, .section-head.slim h2, h2 { font-size: 30px !important; }
  .guide-row strong { font-size: 21px; }
}

/* === fix3: real mobile/desktop screenshot corrections === */
.hero-features span::before,
.band-features span::before {
  grid-row: 1 / span 2;
}
.hero-features b,
.hero-features small,
.band-features b,
.band-features small {
  grid-column: 2;
}
.hero-features small,
.band-features small {
  line-height: 1.35;
}

.thumb {
  background-image: url('/static/images/thumb-court.svg') !important;
  background-size: cover !important;
  background-position: center !important;
  color: transparent !important;
  font-size: 0 !important;
}
.thumb-grazhdanskoe-pravo,
.thumb-sudebnaya-praktika,
.thumb-administrativnoe-pravo,
.thumb-zakonodatelstvo,
.thumb-biznes-i-dogovory {
  background-image: url('/static/images/thumb-court.svg') !important;
}
.thumb-trudovoe-pravo,
.thumb-dolgi-i-pristavy,
.thumb-nalogi,
.thumb-tsifrovoe-pravo {
  background-image: url('/static/images/thumb-office.svg') !important;
}
.thumb-zhile-i-nedvizhimost,
.thumb-semeynoe-pravo,
.thumb-nasledstvo,
.thumb-zashchita-prav-potrebitelei {
  background-image: url('/static/images/thumb-living.svg') !important;
}

/* Keep desktop tidy after icon/text grid fix */
.ask-band .band-features span {
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
}
.ask-band .band-features small {
  max-width: 145px;
}

@media (max-width: 760px) {
  body { overflow-x: hidden; }
  .wrap { width: min(100% - 28px, 1180px); }
  .site-header { position: sticky; }
  .header-inner { min-height: 72px; }
  .brand-main { font-size: 27px; letter-spacing: -0.045em; }
  .nav-toggle { width: 58px; min-height: 58px; border-radius: 18px; font-size: 24px; }

  .hero-calm { padding: 36px 0 42px; }
  .hero-layout { gap: 28px; }
  .eyebrow { font-size: 13px; line-height: 1.4; letter-spacing: .14em; margin-bottom: 16px; }
  .hero-copy h1 { font-size: clamp(44px, 13.2vw, 58px); line-height: .98; letter-spacing: -0.055em; margin-bottom: 22px; }
  .hero-copy .lead { font-size: 20px; line-height: 1.55; max-width: none; }
  .actions { gap: 12px; margin-top: 24px; }
  .actions .btn { width: 100%; min-height: 56px; font-size: 17px; border-radius: 15px; }

  .hero-features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 22px;
    max-width: none;
  }
  .hero-features span {
    display: grid;
    grid-template-columns: 46px minmax(0,1fr);
    column-gap: 13px;
    align-items: center;
    min-height: 68px;
    padding: 10px 12px;
    border: 1px solid rgba(230,225,216,.85);
    border-radius: 17px;
    background: rgba(255,255,255,.72);
  }
  .hero-features span::before { width: 44px; height: 44px; border-radius: 14px; }
  .hero-features b { font-size: 16px; line-height: 1.15; }
  .hero-features small { font-size: 14px; line-height: 1.22; color: #667085; }

  .law-scene { min-height: 285px; height: 285px; margin-top: 6px; border-radius: 24px; background-position: center; }

  .section { padding: 34px 0; }
  .section-head.slim {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 10px;
    margin-bottom: 20px;
  }
  .section-head.slim h2 { font-size: 34px; line-height: 1.05; }
  .section-head.slim a { font-size: 17px; }

  .topic-grid-six { grid-template-columns: 1fr !important; gap: 14px; }
  .compact-topic {
    display: grid;
    grid-template-columns: 56px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 16px;
    align-items: center;
    text-align: left;
    min-height: 0;
    padding: 18px;
    border-radius: 22px;
  }
  .compact-topic .topic-icon {
    grid-row: 1 / span 2;
    margin: 0;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    font-size: 24px;
  }
  .compact-topic h3 { font-size: 18px; margin: 0 0 4px; line-height: 1.18; }
  .compact-topic p { font-size: 14px; line-height: 1.35; margin: 0; }

  .two-columns { grid-template-columns: 1fr; gap: 30px; }
  .news-list { gap: 12px; }
  .news-list-item {
    grid-template-columns: 86px minmax(0,1fr);
    gap: 14px;
    align-items: center;
    min-height: 116px;
    padding: 13px;
    border-radius: 22px;
  }
  .thumb { width: 86px; height: 70px; border-radius: 14px; }
  .news-meta { font-size: 12px; gap: 7px; margin-bottom: 4px; }
  .news-list-item h3 { font-size: 18px; line-height: 1.24; margin: 0; -webkit-line-clamp: 2; }
  .list-summary { font-size: 14px; line-height: 1.34; -webkit-line-clamp: 2; }
  .chevron { display: none; }

  .guide-list { gap: 14px; }
  .guide-row {
    grid-template-columns: 1fr 54px;
    min-height: 118px;
    padding: 20px;
    gap: 12px;
  }
  .guide-row strong { font-size: 25px; line-height: 1.05; }
  .guide-row small { font-size: 16px; line-height: 1.42; }
  .guide-icon { width: 52px; height: 52px; border-radius: 16px; font-size: 20px; }

  .mini-guide-grid { grid-template-columns: 1fr; gap: 12px; padding: 14px; border-radius: 24px; }
  .mini-guide {
    min-height: 0;
    grid-template-columns: 42px minmax(0,1fr);
    align-items: center;
    padding: 16px;
    border-radius: 18px;
  }
  .mini-guide span { font-size: 24px; }
  .mini-guide strong { font-size: 17px; }

  .process-panel { padding: 28px 18px; border-radius: 26px; }
  .process-panel h2 { font-size: 34px; line-height: 1.06; margin-bottom: 22px; }
  .process-line {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 22px;
  }
  .process-line::before { display: none; }
  .process-line div {
    display: grid;
    grid-template-columns: 44px minmax(0,1fr);
    grid-template-rows: auto auto;
    justify-items: stretch;
    text-align: left;
    column-gap: 14px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(230,225,216,.75);
  }
  .process-line span {
    grid-row: 1 / span 2;
    width: 42px;
    height: 42px;
    border: 0;
    font-size: 18px;
  }
  .process-line b { font-size: 16px; line-height: 1.2; }
  .process-line small { max-width: none; font-size: 14px; line-height: 1.25; }
  .process-panel .btn { width: 100%; min-height: 54px; }

  .ask-band {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 24px 20px;
    border-radius: 24px;
  }
  .ask-band h2 { font-size: 30px; line-height: 1.08; }
  .ask-band p { font-size: 16px; line-height: 1.45; }
  .band-features { grid-template-columns: 1fr; gap: 10px; }
  .band-features span {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr);
    column-gap: 10px;
    align-items: center;
  }
  .band-features span::before { width: 34px; height: 34px; }
  .band-features b { font-size: 14px; }
  .band-features small { font-size: 13px; max-width: none; line-height: 1.25; }
  .ask-band .btn { width: 100%; min-height: 54px; }

  .footer { margin-top: 38px; padding-top: 34px; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .footer .brand-main { font-size: 32px; }
  .footer-brand p { font-size: 18px; line-height: 1.55; max-width: none; }
  .footer a { font-size: 16px; margin: 9px 0; }
  .footer h4 { font-size: 18px; }
}

@media (max-width: 420px) {
  .wrap { width: min(100% - 24px, 1180px); }
  .brand-main { font-size: 24px; }
  .nav-toggle { width: 54px; min-height: 54px; }
  .hero-copy h1 { font-size: 40px; }
  .hero-copy .lead { font-size: 18px; }
  .section-head.slim h2 { font-size: 31px; }
  .compact-topic { padding: 16px; }
  .compact-topic p { font-size: 13px; }
  .news-list-item { grid-template-columns: 78px minmax(0,1fr); gap: 12px; }
  .thumb { width: 78px; height: 64px; }
  .news-list-item h3 { font-size: 17px; }
  .list-summary { font-size: 13px; }
  .guide-row strong { font-size: 22px; }
  .guide-row small { font-size: 15px; }
}

/* === richer guides and refined icons === */
.brand { gap: 0; }
.brand-main { white-space: nowrap; }
.topic-icon svg,
.guide-icon svg,
.guide-card-icon svg,
.card-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.topic-icon {
  color: var(--gold);
  background: linear-gradient(145deg, #fff7ec, #efe0c8);
  box-shadow: inset 0 0 0 1px rgba(184,145,90,.16);
}
.guide-icon,
.card-icon {
  color: var(--gold);
}
.guide-icon svg,
.card-icon svg { width: 34px; height: 34px; }
.compact-topic {
  padding: 24px 16px;
  min-height: 170px;
}
.compact-topic h3 a { color: var(--navy); }
.compact-topic p { line-height: 1.45; }

.guides-title { padding-bottom: 20px; }
.guide-index-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 32px;
  align-items: center;
}
.guide-index-note {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, #fff, #fbf4ea);
  border-radius: 24px;
  padding: 26px;
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: 12px;
}
.guide-index-note strong { font-size: 19px; color: var(--ink); }
.guide-index-note small { color: var(--muted); font-size: 14px; line-height: 1.55; }
.guide-card-rich {
  position: relative;
  display: grid;
  gap: 16px;
  min-height: 330px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background:
    radial-gradient(circle at 86% 8%, rgba(216,194,162,.22), transparent 28%),
    linear-gradient(145deg, #fff, #fffaf4);
  box-shadow: var(--shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.guide-card-rich:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: #d9c7ad;
}
.guide-card-rich.featured {
  grid-template-columns: 1.15fr .85fr;
  min-height: 290px;
  padding: 34px;
  background:
    radial-gradient(circle at 82% 20%, rgba(216,194,162,.35), transparent 30%),
    linear-gradient(135deg, #fff, #fbf2e6);
}
.guide-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.guide-card-icon {
  display: inline-grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border-radius: 20px;
  color: var(--gold);
  background: linear-gradient(145deg, #fff7ec, #ead8bc);
  box-shadow: inset 0 0 0 1px rgba(184,145,90,.18);
  flex: 0 0 auto;
}
.guide-card-icon svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.guide-card-rich h3 {
  margin: 0;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 27px;
  line-height: 1.15;
  letter-spacing: -0.03em;
}
.guide-card-rich.featured h3 { font-size: 34px; max-width: 720px; }
.guide-card-rich h3 a { color: var(--ink); }
.guide-card-rich p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.guide-card-rich ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
  color: #4b5563;
  font-size: 14px;
}
.guide-card-rich li {
  position: relative;
  padding-left: 22px;
}
.guide-card-rich li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .62em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
  opacity: .75;
}
.guide-card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgba(230,225,216,.72);
  font-size: 14px;
}
.guide-card-bottom span { color: var(--muted-2); font-weight: 700; }
.guide-card-bottom a { font-weight: 900; color: var(--navy); }
.guide-rich-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.guide-detail-hero {
  padding: 54px 0 30px;
  background:
    radial-gradient(circle at 82% 12%, rgba(216,194,162,.30), transparent 34%),
    linear-gradient(180deg, #fff, #fbf7f1);
  border-bottom: 1px solid var(--line);
}
.guide-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 28px;
  align-items: end;
}
.guide-detail-main h1 {
  max-width: 900px;
  font-size: clamp(40px, 5vw, 66px);
}
.guide-for {
  margin-top: 24px;
  padding: 20px 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--line);
  color: #475569;
  box-shadow: var(--shadow-soft);
}
.guide-for strong { color: var(--ink); }
.guide-side-card {
  display: grid;
  gap: 14px;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: var(--shadow-soft);
}
.guide-side-card strong { font-size: 20px; }
.guide-side-card nav { display: grid; gap: 8px; }
.guide-side-card nav a {
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fbf6ee;
  color: var(--navy);
  font-size: 14px;
  font-weight: 700;
}
.guide-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 26px;
  align-items: start;
}
.guide-article {
  display: grid;
  gap: 20px;
  max-width: 900px;
}
.guide-section,
.guide-result,
.guide-faq,
.guide-final-cta {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 24px;
  padding: 30px;
  box-shadow: var(--shadow-soft);
}
.guide-section h2,
.guide-result h2,
.guide-faq h2,
.guide-final-cta h2 {
  font-size: clamp(24px, 3vw, 34px);
  margin-bottom: 12px;
}
.guide-section p,
.guide-result p,
.guide-final-cta p {
  color: #475569;
  font-size: 17px;
  line-height: 1.75;
}
.guide-section ul {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.guide-section li {
  position: relative;
  padding: 12px 14px 12px 44px;
  border-radius: 15px;
  background: #fbf7f1;
  color: #344054;
}
.guide-section li::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 11px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #ead8bc;
  color: var(--navy);
  font-weight: 900;
  font-size: 13px;
}
.split-mini {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  background: linear-gradient(135deg, #fff, #fbf4ea);
}
.guide-result {
  background: linear-gradient(135deg, #071f3f, #0b315f);
  color: #fff;
}
.guide-result h2,
.guide-result p { color: #fff; }
.guide-result p { opacity: .86; }
.guide-faq {
  display: grid;
  gap: 12px;
}
.guide-faq details {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px 18px;
  background: #fffaf4;
}
.guide-faq summary {
  cursor: pointer;
  font-weight: 900;
  color: var(--navy);
}
.guide-faq details p { margin: 12px 0 0; color: var(--muted); }
.guide-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  background: linear-gradient(135deg, #fff, #f6efe5);
}
.guide-final-cta h2 { margin-bottom: 6px; }
.guide-final-cta p { margin: 0; }
.guide-sticky { position: sticky; top: 96px; }
.guide-sticky .panel ol { padding-left: 20px; color: var(--muted); }
.guide-sticky .panel li { margin-bottom: 8px; }

@media (max-width: 1100px) {
  .guide-rich-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-card-rich.featured { grid-template-columns: 1fr; }
  .guide-index-hero, .guide-detail-grid, .guide-content-grid { grid-template-columns: 1fr; }
  .guide-sticky { position: static; }
}
@media (max-width: 640px) {
  .guide-index-hero { gap: 18px; }
  .guide-index-note { padding: 20px; }
  .guide-rich-grid { grid-template-columns: 1fr; gap: 14px; }
  .guide-card-rich, .guide-card-rich.featured {
    min-height: 0;
    padding: 22px;
    border-radius: 22px;
  }
  .guide-card-rich h3, .guide-card-rich.featured h3 { font-size: 25px; }
  .guide-card-rich p { font-size: 15px; }
  .guide-card-bottom { flex-direction: column; align-items: flex-start; }
  .guide-card-icon { width: 56px; height: 56px; border-radius: 18px; }
  .guide-detail-hero { padding: 34px 0 22px; }
  .guide-detail-main h1 { font-size: 39px; line-height: 1.02; }
  .guide-side-card { padding: 20px; }
  .guide-section, .guide-result, .guide-faq, .guide-final-cta { padding: 22px; border-radius: 22px; }
  .guide-section p, .guide-result p, .guide-final-cta p { font-size: 16px; }
  .split-mini { grid-template-columns: 1fr; }
  .guide-final-cta { flex-direction: column; align-items: stretch; }
  .guide-final-cta .btn { width: 100%; }
}


/* === iconfix-20260605: аккуратные иконки в блоке "Еще полезные материалы" === */
.mini-guide span {
  display: inline-grid !important;
  place-items: center !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 16px !important;
  color: var(--gold) !important;
  background: linear-gradient(145deg, #fff7ec, #ead8bc) !important;
  box-shadow: inset 0 0 0 1px rgba(184,145,90,.18) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  overflow: hidden !important;
}
.mini-guide span svg {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 3 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.mini-guide strong {
  color: var(--ink) !important;
}
@media (max-width: 900px) {
  .mini-guide {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: start !important;
    gap: 14px !important;
  }
}
@media (max-width: 640px) {
  .mini-guide span {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border-radius: 15px !important;
  }
  .mini-guide span svg {
    width: 22px !important;
    height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
  }
  .mini-guide {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
  }
  .mini-guide strong {
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
}

/* === style-unified-20260605: services, news, documents, Q&A in one visual system === */
.rich-card-icon,
.qa-card-head .rich-card-icon {
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  min-width: 58px;
  border-radius: 19px;
  color: var(--gold);
  background: linear-gradient(145deg, #fff7ec, #ead8bc);
  box-shadow: inset 0 0 0 1px rgba(184,145,90,.18);
  overflow: hidden;
}
.rich-card-icon svg,
.qa-card-head .rich-card-icon svg {
  display: block;
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.rich-page-title {
  background:
    radial-gradient(circle at 82% 18%, rgba(216,194,162,.25), transparent 32%),
    linear-gradient(180deg, #fff, #fbf7f1);
  border-bottom: 1px solid var(--line);
}
.rich-title-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 32px;
  align-items: center;
}
.rich-title-note {
  display: grid;
  gap: 12px;
  padding: 26px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: linear-gradient(135deg, #fff, #fbf4ea);
  box-shadow: var(--shadow-soft);
}
.rich-title-note strong { color: var(--ink); font-size: 19px; }
.rich-title-note small { color: var(--muted); line-height: 1.55; font-size: 14px; }

.service-rich-grid,
.doc-rich-grid,
.qa-rich-grid,
.news-archive-grid {
  display: grid;
  gap: 18px;
}
.service-rich-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.doc-rich-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.qa-rich-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.news-archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.service-card-rich,
.doc-card-rich,
.qa-card-rich,
.news-archive-card,
.empty-rich-card,
.qa-empty-card {
  position: relative;
  border: 1px solid var(--line);
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 8%, rgba(216,194,162,.20), transparent 28%),
    linear-gradient(145deg, #fff, #fffaf4);
  box-shadow: var(--shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.service-card-rich:hover,
.doc-card-rich:hover,
.qa-card-rich:hover,
.news-archive-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: #d9c7ad;
}
.service-card-rich,
.doc-card-rich,
.qa-card-rich,
.empty-rich-card,
.qa-empty-card {
  padding: 26px;
}
.service-card-rich,
.doc-card-rich {
  display: grid;
  gap: 15px;
  min-height: 300px;
}
.service-card-rich h3,
.doc-card-rich h3,
.qa-card-rich h3,
.news-archive-card h3 {
  margin: 0;
  color: var(--ink);
  line-height: 1.18;
  letter-spacing: -0.025em;
}
.service-card-rich h3,
.doc-card-rich h3,
.qa-card-rich h3 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 25px;
}
.service-card-rich p,
.doc-card-rich p,
.qa-card-rich p,
.news-archive-card p,
.empty-rich-card p,
.qa-empty-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 15px;
}
.service-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}
.service-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fbf4ea;
  color: #75552d;
  font-size: 12px;
  font-weight: 800;
}
.card-text-link {
  display: inline-flex;
  align-items: center;
  color: var(--navy);
  font-weight: 900;
  margin-top: 4px;
}
.service-cta-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin-top: 22px;
  padding: 28px 32px;
  border-radius: 26px;
  border: 1px solid #dec9aa;
  background: linear-gradient(135deg, #fff, #fbf2e6);
  box-shadow: var(--shadow-soft);
}
.service-cta-panel > div {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  column-gap: 18px;
  align-items: center;
}
.service-cta-panel .rich-card-icon { grid-row: span 2; }
.service-cta-panel h2 { margin: 0 0 4px; }
.service-cta-panel p { margin: 0; color: var(--muted); }

.filter-panel {
  padding: 16px;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: linear-gradient(135deg, #fff, #fbf7f1);
  box-shadow: var(--shadow-soft);
}
.news-archive-card {
  overflow: hidden;
  display: grid;
  grid-template-rows: 150px 1fr;
  min-height: 390px;
}
.news-archive-card .card-link { z-index: 2; }
.news-archive-media {
  width: 100% !important;
  height: 150px !important;
  border-radius: 0 !important;
  background-size: cover !important;
  background-position: center !important;
}
.news-archive-body {
  display: grid;
  gap: 12px;
  padding: 22px;
}
.news-archive-card h3 {
  font-size: 21px;
  color: var(--navy);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3;
}
.news-archive-card p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 4;
}
.archive-arrow {
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #ecd9bd;
  color: var(--navy);
  font-weight: 900;
  z-index: 1;
}
.news-card .card-icon {
  color: var(--gold) !important;
  background: linear-gradient(145deg, #fff7ec, #ead8bc) !important;
  box-shadow: inset 0 0 0 1px rgba(184,145,90,.18) !important;
}
.news-card .card-icon svg {
  display: block;
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.list-item {
  border-radius: 24px;
  border-color: var(--line);
  background:
    radial-gradient(circle at 90% 10%, rgba(216,194,162,.14), transparent 28%),
    #fff;
  box-shadow: var(--shadow-soft);
}

.qa-card-rich { display: grid; gap: 16px; min-height: 250px; }
.qa-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.qa-card-head .rich-card-icon { width: 54px; height: 54px; min-width: 54px; border-radius: 18px; }
.qa-card-head .rich-card-icon svg { width: 28px; height: 28px; }
.qa-empty-card,
.empty-rich-card {
  grid-column: 1 / -1;
  display: grid;
  gap: 14px;
  justify-items: start;
  min-height: 250px;
  background:
    radial-gradient(circle at 80% 14%, rgba(216,194,162,.25), transparent 34%),
    linear-gradient(135deg, #fff, #fbf4ea);
}

@media (max-width: 1100px) {
  .rich-title-grid { grid-template-columns: 1fr; }
  .service-rich-grid, .doc-rich-grid, .news-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .qa-rich-grid { grid-template-columns: 1fr; }
  .service-cta-panel { grid-template-columns: 1fr; align-items: stretch; }
  .service-cta-panel .btn { justify-self: start; }
}
@media (max-width: 640px) {
  .rich-title-note { padding: 20px; border-radius: 22px; }
  .rich-card-icon { width: 50px; height: 50px; min-width: 50px; border-radius: 16px; }
  .rich-card-icon svg { width: 25px; height: 25px; }
  .service-rich-grid, .doc-rich-grid, .news-archive-grid { grid-template-columns: 1fr; gap: 14px; }
  .service-card-rich, .doc-card-rich, .qa-card-rich, .empty-rich-card, .qa-empty-card {
    padding: 20px;
    border-radius: 22px;
    min-height: 0;
  }
  .service-card-rich,
  .doc-card-rich {
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: start;
    gap: 12px 14px;
  }
  .service-card-rich .rich-card-icon,
  .doc-card-rich .rich-card-icon { grid-row: span 2; }
  .service-card-rich h3,
  .doc-card-rich h3,
  .qa-card-rich h3 { font-size: 23px; }
  .service-card-rich p,
  .doc-card-rich p { grid-column: 1 / -1; }
  .service-chips,
  .card-text-link { grid-column: 1 / -1; }
  .service-cta-panel { padding: 22px; border-radius: 22px; }
  .service-cta-panel > div { grid-template-columns: 50px minmax(0, 1fr); gap: 14px; }
  .service-cta-panel p { grid-column: 1 / -1; }
  .news-archive-card { grid-template-rows: 128px 1fr; min-height: 0; border-radius: 22px; }
  .news-archive-media { height: 128px !important; }
  .news-archive-body { padding: 18px; padding-bottom: 62px; }
  .news-archive-card h3 { font-size: 20px; -webkit-line-clamp: 2; }
  .news-archive-card p { font-size: 14px; -webkit-line-clamp: 3; }
  .archive-arrow { width: 38px; height: 38px; right: 16px; bottom: 16px; }
  .filter-panel { padding: 12px; border-radius: 18px; }
  .qa-card-head { align-items: flex-start; flex-direction: column; }
}

/* === news cards without generic thumbnails/icons ===
   RSS feeds usually give us title/summary/link, not a unique visual for every item.
   Therefore news are shown as clean text cards in the same style as services/guides. */
.news-list-item-clean {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 38px !important;
  gap: 16px !important;
  align-items: start !important;
  min-height: 0 !important;
  padding: 22px 22px 20px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 92% 12%, rgba(216,194,162,.16), transparent 30%),
    linear-gradient(145deg, #fff, #fffaf4) !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow-soft) !important;
}
.news-list-item-clean:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow) !important;
  border-color: #d9c7ad !important;
}
.news-list-item-clean .news-list-copy { min-width: 0; }
.news-list-item-clean h3 {
  margin: 8px 0 8px !important;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 22px !important;
  line-height: 1.17 !important;
  letter-spacing: -0.025em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
}
.news-list-item-clean .list-summary {
  margin: 0 !important;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
}
.news-list-item-clean .chevron,
.news-archive-card-clean .archive-arrow,
.news-card-clean .clean-card-arrow {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background: #ecd9bd;
  color: var(--navy) !important;
  font-weight: 900;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(184,145,90,.16);
}

.news-card-clean {
  display: grid;
  gap: 12px;
  min-height: 270px;
  padding: 25px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 8%, rgba(216,194,162,.18), transparent 28%),
    linear-gradient(145deg, #fff, #fffaf4);
}
.news-card-clean .card-icon { display: none !important; }
.news-card-clean h3 {
  margin: 0;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 24px;
  line-height: 1.16;
  letter-spacing: -0.025em;
  color: var(--navy);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3;
}
.news-card-clean p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 4;
}
.news-card-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.news-card-clean .clean-card-arrow {
  margin-top: auto;
  justify-self: start;
  position: relative;
  z-index: 1;
}

.news-archive-card-clean {
  display: grid !important;
  grid-template-rows: 1fr !important;
  min-height: 310px !important;
  padding: 0 !important;
  overflow: hidden;
}
.news-archive-card-clean::before {
  content: "";
  position: absolute;
  right: -42px;
  top: -42px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(236,217,189,.42), transparent 68%);
  pointer-events: none;
}
.news-archive-card-clean .news-archive-media { display: none !important; }
.news-archive-card-clean .news-archive-body {
  display: grid;
  gap: 13px;
  padding: 26px 26px 72px !important;
  position: relative;
  z-index: 1;
}
.news-archive-card-clean h3 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 25px;
  line-height: 1.16;
  letter-spacing: -0.025em;
  -webkit-line-clamp: 3;
}
.news-archive-card-clean p { -webkit-line-clamp: 5; }
.news-archive-card-clean .archive-arrow {
  position: absolute;
  left: 26px;
  right: auto;
  bottom: 24px;
  z-index: 1;
}

@media (max-width: 640px) {
  .news-list-item-clean {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 20px !important;
    border-radius: 22px !important;
  }
  .news-list-item-clean h3 { font-size: 21px !important; }
  .news-list-item-clean .chevron { display: none !important; }
  .news-card-clean { min-height: 0; padding: 21px; border-radius: 22px; }
  .news-card-clean h3 { font-size: 22px; -webkit-line-clamp: 2; }
  .news-card-clean p { font-size: 14px; -webkit-line-clamp: 3; }
  .news-archive-card-clean { min-height: 0 !important; border-radius: 22px !important; }
  .news-archive-card-clean .news-archive-body { padding: 22px 22px 70px !important; }
  .news-archive-card-clean h3 { font-size: 23px; -webkit-line-clamp: 3; }
  .news-archive-card-clean p { font-size: 14px; -webkit-line-clamp: 4; }
  .news-archive-card-clean .archive-arrow { left: 22px; bottom: 20px; }
}

/* === ticket admin fix: replies and long-text wrapping === */
.article-box,
.client-box,
.message,
.message-body,
.ticket-admin-box,
.list-item,
.news-card,
.unified-card,
.rich-guide-card {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.messages {
  display: grid;
  gap: 14px;
  max-width: 100%;
  overflow: hidden;
}

.message {
  max-width: min(88%, 760px);
  white-space: normal;
  overflow: hidden;
  line-height: 1.65;
}

.message.client {
  background: #f4eadc;
}

.message.lawyer {
  margin-left: auto;
  background: #eaf2f9;
  border: 1px solid #d7e6f3;
}

.message-body {
  white-space: normal;
}

.reply-composer {
  background: linear-gradient(180deg, #f8f2ea 0%, #fff 100%);
  border: 1px solid #e2d2b7;
  border-radius: 22px;
  padding: 22px;
  margin-top: 24px;
}

.reply-composer h3,
.settings-form h3 {
  margin-bottom: 8px;
}

.settings-form {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 22px;
  margin-top: 18px;
}

.reply-composer textarea,
.settings-form textarea {
  min-height: 180px;
}

.client-box a {
  overflow-wrap: anywhere;
}

@media (max-width: 700px) {
  .message,
  .message.lawyer {
    max-width: 100%;
    margin-left: 0;
  }
  .reply-composer,
  .settings-form {
    padding: 18px;
    border-radius: 20px;
  }
}

/* === ticket files / Moscow time patch === */
.field-hint {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
input[type="file"] {
  padding: 12px;
  border-style: dashed;
  background: #fffaf3;
}
.message-files {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px;
}
.file-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid #e0cfb2;
  background: rgba(255,255,255,.72);
  color: var(--navy);
  font-size: 13px;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.file-pill small {
  color: var(--muted);
  font-weight: 700;
}
.file-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f3e8d7;
  color: var(--gold);
  font-size: 13px;
}
.reply-form input[type="file"],
.reply-composer input[type="file"],
.article-box input[type="file"] {
  margin-top: 7px;
}
button[type="submit"]:disabled {
  opacity: .62;
  cursor: wait;
}
@media (max-width: 640px) {
  .file-pill {
    width: 100%;
    justify-content: flex-start;
    border-radius: 16px;
  }
  .message-files {
    display: grid;
  }
}

/* === Ticket admin deletion and attachment limit patch === */
.message-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.message-delete-form { margin: 0; }
.btn-delete-small,
.btn-danger {
  border: 1px solid #e1b7aa;
  background: #fff7f4;
  color: #9b4d3e;
  box-shadow: none;
}
.btn-delete-small {
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}
.btn-danger {
  min-height: 42px;
  border-radius: 12px;
  padding: 10px 16px;
}
.btn-delete-small:hover,
.btn-danger:hover {
  background: #f7e9e5;
}
.danger-zone {
  margin-top: 26px;
  padding: 22px;
  border: 1px solid #e1b7aa;
  border-radius: 18px;
  background: #fffaf8;
}
.danger-zone h3 { color: #7a382d; }
.message,
.message-body,
.file-pill,
.client-box {
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 640px) {
  .message-topline { align-items: flex-start; }
  .btn-delete-small { padding: 5px 9px; }
  .danger-zone { padding: 18px; }
}

/* askfix-20260609: free consultation notice + ticket creation result */
.free-consult-note {
  margin: 18px 0 0;
  padding: 16px 18px;
  border: 1px solid #dec9aa;
  border-radius: 18px;
  background: linear-gradient(90deg, #fff8ed, #ffffff);
  color: #223044;
  box-shadow: 0 10px 28px rgba(31, 42, 55, .05);
}
.free-consult-note b,
.free-note b { color: var(--navy); }
.free-note { border-color: #dec9aa; background: #fff8ed; color: #344054; }
.success-created {
  border: 1px solid #cfe1c5;
  background: #edf8e9;
  color: #31533a;
}
.ticket-copy-box { margin-top: 12px; }
.ticket-copy-box input { font-size: 14px; background: #fff; }
.ticket-copy-box .btn { white-space: nowrap; }
button[disabled], input[type="submit"][disabled] {
  opacity: .72;
  cursor: wait;
}
@media (max-width: 640px) {
  .free-consult-note { font-size: 15px; padding: 14px 15px; }
  .ticket-copy-box { grid-template-columns: 1fr; }
  .ticket-copy-box .btn { width: 100%; }
}
